/* Desktop circle fits below the toolbar with room at the viewport bottom. */
:root{--canvas:#f7f8fb}
main{max-width:1760px}
.site-header{padding-inline:max(24px,calc((100vw - 1712px)/2))}
.brand{font-weight:700}.site-header nav a,button{font-weight:600}
.workspace{grid-template-columns:minmax(0,1fr) 340px;gap:36px}
.wheel-panel{padding:0 6px}
.wheel-wrap{width:min(100%,820px,calc(100dvh - 190px));--ticker-size:clamp(38px,9%,72px)}
.wheel-rim{background:transparent;box-shadow:0 2px 0 #afb5bd,0 8px 18px #69717d20}
.wheel-rim::after{content:none}
.spin-hub{background:#17243b;color:#fff;border-width:2px;border-color:#69717D;box-shadow:inset 0 1px 2px #ffffff30,0 3px 10px #18243b30;font-weight:700;overflow:visible}
.spin-hub:hover:not(:disabled){background:#22334f;color:#fff;border-color:#69717D}
.spin-hub:disabled{color:#fff}.spin-hub img{border-radius:50%}
textarea,input,select{font-weight:400}
.pointer,.pointer-mount{position:absolute;left:calc(50% - var(--ticker-size)/2);top:calc(1.25% - var(--ticker-size)*25/44);width:var(--ticker-size);height:calc(var(--ticker-size)*32/44);z-index:3;pointer-events:none}
.pointer{transform-origin:50% 18.75%;filter:drop-shadow(0 1px 1px #17243b40);will-change:transform}
.pointer path{fill:#263247;stroke:#fff;stroke-width:1.5;stroke-linejoin:round}
.pointer .pivot{fill:#f5f7fa;stroke:#69717D;stroke-width:1}
.setup-panel{height:min(820px,calc(100dvh - 190px));box-shadow:none;border-radius:8px}
.tabs button{font-weight:600;border-bottom:0}
.tabs button[aria-selected=true]{background:#edf2fa;border-radius:5px;margin-block:5px;min-height:42px}
.tool-toolbar h1{font-weight:650}
dialog{border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #17243b30}
#winnerName{font-weight:650;margin-top:12px}
.help-grid article{padding-top:0}.help-intro h2{font-weight:650}
.audio-controls{display:flex;align-items:center;gap:12px}
.audio-controls button{min-width:64px;border:1px solid var(--control);background:#fff;font-size:13px}
.audio-controls label{width:120px;margin:0;font-size:11px;font-weight:500;line-height:1}
.audio-controls input{height:28px;min-height:28px;margin-top:0;padding:5px 0}
.audio-controls output{font-size:11px}.audio-notice{font-size:13px;color:#85411b;max-width:650px;margin:10px 0;line-height:1.5}
.presenting .audio-controls{position:fixed;left:16px;top:10px;z-index:10}
.presenting .setup-panel{display:none}
@media(min-width:901px) and (max-width:1400px){.toolbar-actions{gap:12px}}
@media(max-width:900px){
 .workspace{grid-template-columns:1fr;gap:20px}.wheel-wrap{width:min(100%,420px)}.setup-panel{height:auto}
 .tool-toolbar{flex-wrap:wrap;padding-block:12px;gap:10px}.tool-toolbar h1{font-size:21px}
 .toolbar-actions{width:100%;justify-content:space-between}.audio-controls{gap:10px}.audio-controls label{width:110px}
 .spin-hub{box-shadow:inset 0 1px 2px #ffffff30,0 2px 8px #18243b30}.wheel-rim{box-shadow:0 2px 0 #9DA4AF,0 8px 18px #69717d24}
 .presenting .audio-controls{left:12px;top:60px}.presenting .workspace{padding-top:80px}
}
@media(prefers-reduced-motion:reduce){.pointer{transform:none!important}}
#confettiLayer[popover]{margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:0;background:transparent;pointer-events:none}
#confettiLayer::backdrop{background:transparent;pointer-events:none}
#confettiLayer i{animation-duration:6s;animation-timing-function:cubic-bezier(.35,.05,.65,.95)}
