@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--paper:#faf8f2;--ink:#302b40;--muted:#8d8797;--purple:#7955d5;--line:#e9e5ec;--soft:#f3effb;--mint:#a0dcca;--coral:#f89b87}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none;transition:transform .16s,background .16s}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ab95ed;outline-offset:3px}[hidden]{display:none!important}.topbar{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffdf9}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font:700 30px 'Outfit',sans-serif;letter-spacing:-1.3px}.brand-icon{font-size:47px;color:var(--purple);line-height:1}.brand small{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:1.6px;margin-top:4px;color:#96909b}.purple{color:var(--purple)}nav{display:flex;align-items:center;gap:18px}nav button{font-size:13px;font-weight:600}nav span{font-size:19px;margin-right:6px}.share{background:var(--purple);color:white;border-radius:11px;padding:12px 18px}.plain{padding:10px}.outline{border:1px solid #ded9e6;border-radius:10px;background:white;padding:12px 17px;font-weight:600;font-size:12px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;margin:35px 0 28px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:var(--purple)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--purple);display:inline-block;margin-right:5px}h1{font:500 29px 'Outfit',sans-serif;letter-spacing:-1px;margin:10px 0 0}h1 span{color:#948c9d}h1 svg{height:30px;width:30px;stroke:#eda66c;stroke-width:2;vertical-align:middle;margin-left:13px}main{max-width:1380px;padding:0 5%;margin:auto}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:24px}.stage{border:1px solid var(--line);border-radius:22px;background:#f2edf9;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:595px}.stage-top{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;z-index:1}.wheel-title{display:flex;align-items:center;gap:9px}.tiny-wheel{color:var(--purple);font-size:21px}.wheel-title input{border:0;background:transparent;min-width:0;width:210px;font:500 16px 'Outfit',sans-serif;color:var(--ink)}.edit-mark{color:#a8a0b5}.icon-btn{font-size:23px;width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px}.wheel-zone{display:grid;place-items:center;position:relative;flex:1;padding:0 24px}.wheel-shell{position:relative;width:min(100%,390px);aspect-ratio:1;border:10px solid white;border-radius:50%;box-shadow:0 8px 0 #dfd7ed,0 16px 28px #66508119;background:white}canvas{display:block;width:100%;height:100%;border-radius:50%}.pointer{position:absolute;right:-20px;top:calc(50% - 17px);z-index:3;width:43px;height:34px;background:#413353;clip-path:polygon(0 50%,100% 0,100% 100%);filter:drop-shadow(0 2px 2px #0002)}.wheel-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:85px;height:85px;border-radius:50%;background:white;border:6px solid #ffffff77;box-shadow:0 3px 12px #35274b2e;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 12px 'Outfit',sans-serif;letter-spacing:1.5px}.wheel-center:active{transform:translate(-50%,-50%) scale(.98)}.wheel-center span{font:500 25px 'Outfit',sans-serif;line-height:1}.decoration{position:absolute;user-select:none}.d1{top:10%;left:12%;color:#bba6e7;font-size:36px;transform:rotate(12deg)}.d2{bottom:14%;right:10%;color:#dda187;font-size:40px;transform:rotate(15deg)}.d3{bottom:9%;left:15%;font-size:24px;color:#aeccbe}.spin-controls{text-align:center;padding:28px 0 11px}.spin-button{background:var(--purple);color:white;font-weight:700;border-radius:12px;padding:15px 30px;font-size:15px;box-shadow:0 4px 0 #6242b7;min-width:205px}.spin-button span{margin-left:27px;font-size:20px}.spin-controls p{font-size:10px;color:#9c93aa;margin:13px 0 6px}kbd{background:#fff8;border:1px solid #e2dbea;padding:2px 4px;border-radius:4px;font-size:9px}.stage-bottom{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;font-size:10px;color:#9589a7}.stage-bottom button{font-size:11px;color:#776689}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8bbca7;margin-right:5px}.editor{background:white;border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px;gap:20px}.tabs button{font-weight:600;font-size:13px;flex:1;padding:20px 0 16px;border-bottom:3px solid transparent;color:#a099aa}.tabs button[aria-selected=true]{border-color:var(--purple);color:var(--purple)}.tabs span{background:#f1edf7;color:#9a84c5;font-size:10px;border-radius:6px;padding:3px 6px;margin-left:4px}#entriesPanel,#resultsPanel{padding:0 22px;flex:1}.editor-heading{padding:22px 0 15px}.editor-heading h2{font:500 20px 'Outfit',sans-serif;margin:0 0 6px}.editor-heading p{font-size:10px;color:var(--muted);margin:0}.editor-tools{display:flex;gap:7px;margin:0 0 12px}.editor-tools button{font-size:10px;border:1px solid var(--line);padding:7px 10px;border-radius:7px;color:#81758e}.editor-tools button:last-child{margin-left:auto}.editor-tools button[aria-pressed=true]{background:var(--soft);color:var(--purple)}.names-wrapper{background:#fdfcfb;border:1px solid var(--line);border-radius:11px;display:flex;height:274px;overflow:hidden;padding:12px 0}.line-numbers{width:38px;flex-shrink:0;text-align:center;font-size:10px;color:#c7bdcf;line-height:29px;overflow:hidden;padding-top:1px}textarea{border:0;background:transparent;resize:none;width:100%;padding:0 10px 0 0;line-height:29px;font-size:13px;color:#5c536b;outline:none!important;white-space:pre;overflow:auto}.list-footer{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#aea5b7;margin:11px 0 21px}.list-footer button{font-size:9px;color:#a797b7}.toggle-row{display:flex;align-items:center;cursor:pointer;padding:16px 0 20px;border-top:1px solid var(--line);position:relative}.toggle-row strong{font-size:11px;font-weight:600;display:block}.toggle-row small{font-size:9px;display:block;color:#a39aa9;margin-top:5px}.toggle-row input{position:absolute;right:0;opacity:0;width:35px;height:23px}.switch-ui{margin-left:auto;width:32px;height:19px;border-radius:20px;background:#dfd9e7;position:relative;pointer-events:none}.switch-ui:after{content:'';position:absolute;width:13px;height:13px;top:3px;left:3px;border-radius:50%;background:white;transition:transform .2s}.toggle-row input:checked+.switch-ui{background:var(--purple)}.toggle-row input:checked+.switch-ui:after{transform:translateX(13px)}.toggle-row input:focus-visible+.switch-ui{outline:3px solid #ab95ed}.editor-bottom{display:flex;align-items:center;justify-content:center;background:#fcfbfd;border-top:1px solid var(--line);padding:5px 15px;gap:7px;color:#a99cb6;font-size:9px}.lock-icon{font-size:16px}.bottom-row{display:flex;justify-content:space-between;align-items:center;margin:23px 0 30px;gap:16px}.preset-list{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.preset-list>span{font-size:8px;letter-spacing:1.4px;color:#a69cac;margin-right:5px}.preset-list button{background:#fffdf9;border:1px solid #e8e3e3;border-radius:30px;padding:9px 13px;font-size:10px;color:#7d7386}.new-wheel{font-size:11px;color:var(--purple);white-space:nowrap}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 26px;font-size:9px;color:#a59ca9}.footer-brand b{color:#ba9ddb;font-size:17px;margin-left:8px}dialog{border:1px solid #e6dfef;border-radius:22px;padding:0;width:min(470px,calc(100% - 32px));color:var(--ink);box-shadow:0 25px 90px #2a164c33}dialog::backdrop{background:#30203d65;backdrop-filter:blur(5px)}.dialog-inner{padding:28px}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-header h2{font:500 25px 'Outfit',sans-serif;margin:7px 0}select,#shareLink{width:100%;border:1px solid var(--line);padding:12px;border-radius:9px;background:#fcfafc;color:var(--ink)}.field-label{display:block;font-weight:600;font-size:12px;margin:22px 0 10px}.field-label output{float:right;color:var(--purple)}input[type=range]{width:100%;accent-color:var(--purple)}input[type=checkbox]{accent-color:var(--purple)}.check-row{display:flex;gap:9px;align-items:center;font-size:12px;margin:24px 0}.setting-note{font-size:12px;color:#8b7e98;line-height:1.8;margin:10px 0 23px}.wide{width:100%;margin-top:12px}.winner-content{text-align:center;padding:30px}.winner-star{font-size:64px;color:#edb258}.winner-content h2{font:500 28px 'Outfit',sans-serif;margin:12px 0 0}.winner-name{font:700 42px 'Outfit',sans-serif;color:var(--purple);overflow-wrap:anywhere;margin:9px 0 12px}#winnerNote{color:var(--muted);font-size:12px}.text-button{color:#a18bba;font-size:12px;margin-top:20px}.empty-results{text-align:center;padding:48px 12px;color:var(--muted)}.empty-results>span{font-size:64px;color:#c6b2e8}.empty-results h3{font:500 20px 'Outfit',sans-serif}.empty-results p{font-size:12px;line-height:1.7}.results-list{list-style:none;margin:0;padding:0;max-height:350px;overflow:auto}.results-list li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.result-number{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:var(--soft);border-radius:50%;color:var(--purple);font-size:11px}.result-name{font-weight:600;font-size:13px;overflow-wrap:anywhere}.result-time{font-size:9px;color:var(--muted);margin-top:3px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:13px 22px;background:#362940;color:white;border-radius:12px;font-size:12px;z-index:30;opacity:0;transition:.2s;pointer-events:none;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}#weightedList{overflow:auto;width:100%;padding:0 10px}.weight-row{display:flex;gap:8px;align-items:center;margin:5px 0}.weight-row span{flex:1;font-size:12px;overflow-wrap:anywhere}.weight-row input{width:60px;border:1px solid var(--line);border-radius:6px;padding:5px;font-size:12px}.library-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:13px 0}.library-item button:first-child{text-align:left;flex:1;font-weight:600}.library-item small{display:block;font-weight:400;color:var(--muted);margin-top:4px}.file-label{display:block;text-align:center;cursor:pointer;margin-top:20px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}#confetti{position:fixed;inset:0;pointer-events:none;z-index:100;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:10px;height:15px;animation:fall var(--fall) ease-in forwards;left:var(--left);background:var(--color);animation-delay:var(--delay)}@keyframes fall{to{transform:translate(var(--drift),105vh) rotate(650deg)}}body.present .topbar,body.present .workspace-heading,body.present .editor,body.present .bottom-row,body.present footer{display:none}body.present main{padding:20px;max-width:1200px}body.present .workspace{display:block}body.present .stage{min-height:calc(100vh - 40px)}body.present .wheel-shell{width:min(55vh,550px)}
@media(min-width:1500px){.stage{min-height:640px}.wheel-shell{width:430px}}@media(max-width:1000px){main{padding:0 4%}.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.topbar{padding:0 4%}h1{font-size:24px}.wheel-shell{border-width:8px}.wheel-zone{padding:10px 25px}.d1,.d2{display:none}.stage{min-height:590px}.stage-top{padding:18px}.wheel-title input{width:160px}.preset-list>span{display:none}}@media(max-width:760px){.topbar{height:80px}.brand{font-size:26px}.brand-icon{font-size:38px}.brand small{font-size:6px}nav{gap:2px}nav .plain{font-size:0}nav .plain span{font-size:22px;margin:0}nav .share{font-size:11px;padding:10px}.workspace-heading{margin:25px 0 20px}h1{font-size:24px;max-width:290px}h1 span{display:block}h1 svg{display:none}.workspace-heading .outline{padding:10px;font-size:11px}.workspace{grid-template-columns:1fr}.stage{min-height:540px}.wheel-shell{width:min(100%,350px)}.editor{min-height:520px}.names-wrapper{height:240px}.bottom-row{align-items:flex-start;flex-wrap:wrap}.preset-list{gap:6px}.preset-list button{padding:8px 10px}footer{gap:20px;line-height:1.6}.footer-brand{text-align:right}.stage-top{padding:17px 20px}.wheel-title input{width:190px}.wheel-zone{padding:8px 30px;min-width:0}.stage-bottom{padding:14px 20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.confetti-piece{animation:none;display:none}}

.speed-control{width:230px;max-width:85%;margin:0 auto 18px;text-align:left}.speed-control label{display:flex;justify-content:space-between;font-size:11px;color:#776689;font-weight:600}.speed-control output{color:var(--purple);font-variant-numeric:tabular-nums}.speed-control input{display:block;margin:10px 0 4px;cursor:pointer}.speed-labels{display:flex;justify-content:space-between;font-size:9px;color:#9c93aa}.workspace-heading{margin-top:24px;margin-bottom:22px}.workspace-heading h1{margin:0}.spin-controls{padding-top:18px}.stage{min-height:650px}.names-wrapper{height:320px}.spin-controls #spinHint{min-height:14px}.toggle-row{padding-top:20px}.bottom-row{margin-bottom:26px}@media(max-width:760px){.stage{min-height:620px}.names-wrapper{height:240px}.workspace-heading h1{font-size:25px}.speed-control{width:220px}}
/* Picksy working surface */
:root{--paper:#fff;--ink:#302b40;--muted:#777;--line:#ddd}body{font-family:Arial,sans-serif;background:linear-gradient(115deg,#e0f3fa 0,#f1e7f8 75%,#fff 100%) 0 50px/100% 540px no-repeat #fff;font-size:14px}.topbar{height:52px;padding:0 18px;background:#fafafa;box-shadow:0 2px 7px #0003;border:0}.brand{font-family:Arial,sans-serif;font-size:25px;letter-spacing:-.6px;gap:8px}.brand-icon{font-size:34px}nav{gap:7px}nav button{font-size:14px;font-weight:400!important;padding:10px 14px!important;border-radius:3px!important}nav .share{background:transparent;color:var(--ink)}main{max-width:1600px;padding:14px 18px;margin:auto}.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:24px;min-height:calc(100dvh - 90px)}.stage{background:none;border:0;border-radius:0;min-height:0;overflow:visible}.stage-top{padding:0 6px;height:35px}.wheel-title input{font-family:Arial,sans-serif;font-size:16px;width:250px}.tiny-wheel,.edit-mark{display:none}.wheel-zone{padding:12px 30px;min-height:0}.wheel-shell{width:min(100%,calc(100dvh - 180px),780px);border:1px solid #847d91;box-shadow:0 2px 6px #0005;isolation:isolate}.wheel-center{width:20%;height:20%;border:0;box-shadow:none;pointer-events:none}.pointer{right:-22px;top:calc(50% - 20px);width:43px;height:40px;background:#695196;filter:none}.wheel-overlay{position:absolute;inset:0;border-radius:50%;width:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:15% 0;color:#fff;text-shadow:0 2px 8px #0006;font-weight:700;z-index:2;opacity:1!important;background:none}.wheel-overlay span{font-size:clamp(24px,3.1vw,46px)}.wheel-overlay small{font-size:clamp(16px,1.8vw,28px)}.wheel-overlay:active{transform:none}.spinning .wheel-overlay{visibility:hidden}.spin-controls{height:0;padding:0;overflow:hidden}.stage-bottom{padding:7px 12px;font-size:11px}.stage-bottom button{font-size:12px}.editor{border:1px solid #d8d3dc;border-radius:3px;box-shadow:0 2px 5px #0002;min-height:560px}.tabs{padding:0;gap:0}.tabs button{font-size:14px;font-weight:400;padding:12px 0 10px;border-bottom-width:2px}.tabs span{border-radius:20px;background:#888;color:#fff;font-size:11px;padding:1px 5px}.tabs button[aria-selected=true]{color:var(--ink)}#entriesPanel,#resultsPanel{padding:16px;display:flex;flex-direction:column;min-height:0}.editor-tools{flex-wrap:wrap;margin-bottom:14px;gap:6px}.editor-tools button{border:0;background:#eeeaf7;border-radius:2px;font-size:12px;padding:8px}.editor-tools button:last-child{margin-left:0}.names-wrapper{height:auto;min-height:270px;flex:1;border:1px solid #ccc;box-shadow:inset 0 1px 3px #0001;border-radius:2px;background:#fff;padding:8px}.line-numbers{display:none}textarea{font-family:Arial,sans-serif;font-size:15px;line-height:1.6;padding:0;color:#333}textarea:focus-visible{outline:0!important}.names-wrapper:focus-within{border-color:var(--purple);box-shadow:0 0 0 1px var(--purple)}.list-footer{margin:10px 0;font-size:11px}.list-footer button{font-size:11px}.toggle-row{padding:12px 0}.toggle-row strong{font-size:12px;font-weight:400}.editor-bottom{background:#fff;justify-content:space-between;font-size:10px;padding:8px 12px}.editor-bottom .lock-icon{display:none}.editor-bottom button{font-size:12px;color:var(--purple)}.editor-bottom p{margin:0}.bottom-row{margin:16px 0 6px}.preset-list>span{font-size:10px}.preset-list button{font-size:12px;border-radius:3px;background:#f7f5fa}.speed-control{width:100%;max-width:none;margin:0}.speed-control label,.speed-labels{font-size:12px}.speed-control input{margin:16px 0 8px}dialog{border-radius:5px}dialog::backdrop{backdrop-filter:none;background:#0006}.dialog-header h2{font-family:Arial,sans-serif;font-size:23px}.spin-button,.outline,.share{border-radius:4px;box-shadow:none}.winner-content{padding:0;text-align:left}.winner-content h2{margin:0;background:var(--purple);color:white;padding:18px 24px;font:400 23px Arial,sans-serif}.winner-name{font:400 48px Arial,sans-serif;color:var(--ink);padding:32px 24px;margin:0}.winner-actions{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}#winnerNote{padding:0 24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#showEditor{position:absolute;right:20px;z-index:5;background:white;padding:9px;border-radius:4px;color:var(--purple)}.editor-hidden .editor{display:none}.editor-hidden .workspace{grid-template-columns:1fr}.editor-hidden .wheel-shell{width:min(100%,calc(100dvh - 180px),900px)}body.present main{max-width:none;padding:12px}body.present .stage{min-height:calc(100dvh - 24px)}body.present .wheel-shell{width:min(85dvh,calc(100vw - 80px))}body.present #showEditor{display:none}.results-list{max-height:calc(100dvh - 240px)}
@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:12px}.topbar{padding:0 12px}nav{gap:0}nav button{padding:9px!important;font-size:12px}nav span{font-size:15px}.wheel-zone{padding:15px 24px}.wheel-title input{width:190px}.editor{min-height:500px}}
@media(max-width:650px){.topbar{height:auto;min-height:52px;flex-wrap:wrap;padding:8px 12px;gap:7px}.brand{font-size:23px}nav{margin-left:auto}nav .plain{font-size:12px}nav .plain span{font-size:14px}nav button{padding:7px!important}nav .share{font-size:12px}.workspace{grid-template-columns:1fr;gap:16px;min-height:0}main{padding:12px}.stage{min-height:0}.wheel-zone{padding:14px 22px}.wheel-shell{width:min(100%,570px)}.wheel-overlay span{font-size:29px}.wheel-overlay small{font-size:18px}.wheel-title input{width:230px}.editor{min-height:470px}.names-wrapper{height:280px;flex:auto}.stage-bottom{padding:10px}.preset-list{gap:5px}.preset-list button{font-size:11px}.editor-hidden .wheel-shell{width:min(100%,calc(100dvh - 200px))}.winner-name{font-size:38px}.results-list{max-height:320px}}
.wheel-overlay{padding:0}.wheel-overlay svg{width:100%;height:100%;overflow:visible;fill:#fff;filter:drop-shadow(0 3px 5px #0005);font-family:Arial,sans-serif;font-weight:700}.spin-top{font-size:70px}.spin-bottom{font-size:49px}.spin-controls{display:none}
/* Host controls and audience screen */
.topbar nav{flex-wrap:wrap;justify-content:flex-end}.topbar nav select{width:auto;padding:7px;border:1px solid var(--line);border-radius:4px;background:white;font-size:12px}.topbar{min-height:56px;height:auto;padding-top:6px;padding-bottom:6px}.workspace{min-height:calc(100dvh - 92px)}.wheel-shell{width:min(100%,calc(100dvh - 250px),760px)}.spin-controls{display:flex;height:auto;overflow:visible;padding:12px 10px 8px;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.spin-controls .spin-button{min-width:170px;font-size:19px;padding:14px 32px}.spin-controls .outline{font-size:13px;padding:14px}.keyboard-hint{font-size:11px;color:#736880}.spin-controls #displayStatus{flex-basis:100%;font-size:11px;color:#817689}.spin-controls #displayStatus.connected{color:#347d62}.stage-bottom{padding-top:6px}.tabs button>span{background:none;color:inherit;border-radius:0;font-size:14px;padding:0}.tabs b{display:inline-block;border-radius:12px;padding:1px 5px;background:#888;color:#fff;font-size:11px;font-weight:400}.wheel-center{pointer-events:none}.toggle-row>span:first-child{font-size:12px}.editor-bottom{gap:10px}.editor-bottom p{text-align:right}.names-wrapper textarea{white-space:pre}.editor-tools{gap:8px}.editor-tools button{padding:9px 11px}#showEditor{top:75px}#winnerDialog{overflow:visible}#winnerConfetti,#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:100}.burst-piece{position:absolute;left:-20px;top:78%;width:var(--size);height:calc(var(--size)*.6);background:var(--colour);color:var(--colour);animation:side-burst var(--time) cubic-bezier(.12,.6,.32,1) var(--delay) both;font-style:normal;will-change:transform,opacity}.burst-piece[data-side=right]{left:auto;right:-20px}.burst-piece.flower{width:auto;height:auto;background:none;font-size:var(--size);line-height:1}.burst-piece:not(:empty){background:none}.burst-piece.flower:nth-child(3n){color:#ee8ab4}.burst-piece:nth-child(3n){border-radius:50%}@keyframes side-burst{0%{transform:translate(0,0) rotate(0);opacity:0}8%{opacity:1}58%{transform:translate(var(--dx),var(--dy)) rotate(var(--turn));opacity:1}100%{transform:translate(calc(var(--dx)*1.2),25vh) rotate(calc(var(--turn)*2));opacity:0}}body.audience{background:radial-gradient(ellipse at 50% 30%,#f3edf9,#e3f1f5 70%,#edf5f5);overflow:hidden}body.audience main{padding:0;max-width:none}body.audience .workspace{display:block;min-height:100dvh}body.audience .stage{height:100dvh;min-height:0;justify-content:center}body.audience .wheel-zone{flex:none;padding:20px 34px}body.audience .wheel-shell{width:min(calc(100dvh - 60px),calc(100vw - 80px));margin:auto}#audienceFullscreen{position:fixed;top:14px;right:16px;z-index:30;opacity:0;background:#ffffffb3;color:#665080;transition:opacity .2s}body.audience:hover #audienceFullscreen,#audienceFullscreen:focus-visible{opacity:1}#audienceStatus{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);padding:8px 15px;border-radius:8px;background:#fffc;font-size:13px;color:#756981;z-index:20}#audienceWinner{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,88vw);padding:28px 36px;text-align:center;border-radius:20px;background:#fffffff5;box-shadow:0 18px 100px #3b255b44;border:2px solid #fff;z-index:50;animation:winner-pop .5s cubic-bezier(.2,.9,.2,1.2)}#audienceWinner>span{display:block;color:#7955d5;font-size:clamp(20px,3vw,36px);margin-bottom:12px}#audienceWinner strong{display:block;font-weight:700;font-family:Arial,sans-serif;font-size:clamp(32px,7vw,92px);overflow-wrap:anywhere;color:#30243f}@keyframes winner-pop{from{opacity:0;transform:translate(-50%,-50%) scale(.65)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:900px){.topbar nav button{padding:8px!important}.keyboard-hint{display:none}.spin-controls .spin-button{min-width:130px}.spin-controls .outline{padding:12px 9px}.wheel-shell{width:min(100%,calc(100dvh - 250px))}}
@media(max-width:650px){.topbar{gap:8px}.topbar nav{width:100%;justify-content:space-between;gap:2px}.topbar nav button{font-size:12px;padding:6px!important}.topbar nav select{max-width:120px;font-size:11px}.wheel-shell{width:min(100%,500px)}.spin-controls{padding-top:8px}.stage-top{height:30px}.editor{min-height:460px}.wheel-title input{max-width:calc(100vw - 90px)}.editor-hidden .wheel-shell{width:min(100%,calc(100dvh - 300px))}}
.reduce-motion .burst-piece{display:none;animation:none}.reduce-motion #audienceWinner{animation:none}
#displayBtn{text-decoration:none;color:var(--ink);display:inline-block}
/* Substantial wheel rim and stationary hub; only the disc rotates. */
.wheel-shell{border:7px solid #eeebf4;background:#eeebf4;box-shadow:0 2px 0 #fff inset,0 9px 0 #b8afc9,0 12px 0 #8f829f,0 22px 30px #49305c35;isolation:isolate}
.wheel-shell:after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:1;background:linear-gradient(145deg,#ffffff38 0%,transparent 38%,transparent 58%,#2e164421 100%);box-shadow:inset 0 0 0 2px #ffffff6b,inset 0 6px 14px #fff2,inset 0 -8px 18px #30204022}
.wheel-center{z-index:2;background:radial-gradient(circle at 35% 25%,#fff 10%,#faf8ff 47%,#e2d9f0 80%);border:5px solid #f9f6ff;box-shadow:0 5px 0 #d2c5e2,0 9px 14px #31204435,inset 0 2px 5px #fff}
.pointer{z-index:4;background:linear-gradient(135deg,#a88bd5,#674691 65%,#48325e);filter:drop-shadow(2px 4px 2px #33224440)}
.wheel-zone{padding-top:18px;padding-bottom:25px}
@media(max-width:650px){.wheel-shell{border-width:5px;box-shadow:0 6px 0 #b8afc9,0 9px 0 #8f829f,0 16px 22px #49305c30}.wheel-center{border-width:3px}}
