:root{color-scheme:dark;--pink:#ed4164;--muted:#bcbcd0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#29182b,transparent 50%),#0b0b17;color:#f7f7fc;font:15px system-ui,sans-serif}header,main,footer{max-width:1440px;margin:auto}header{display:flex;align-items:center;gap:16px;padding:28px 24px}header img{width:68px;border-radius:15px}header div{flex:1}h1{font-size:clamp(21px,3vw,32px);margin:0}em{font-style:normal;color:var(--pink)}p{line-height:1.6}header p{margin:5px 0;color:var(--muted)}main{padding:0 24px;display:grid;grid-template-columns:370px 1fr;gap:24px}.panel{padding:24px;background:#151525;border:1px solid #303045;border-radius:24px}h2{font-size:19px;margin:0 0 18px}b{background:#502336;border-radius:20px;padding:4px 12px;color:#ff93aa}label{display:block;font-size:13px;color:#d4d4e3;margin:12px 0 7px}input,textarea{font:inherit;color:inherit;background:#0d0d1c;border:1px solid #424259;border-radius:10px;padding:11px;width:100%;margin:6px 0}textarea{resize:vertical}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{font:600 13px system-ui;color:#eeeef9;background:#252539;border:1px solid #48485f;border-radius:10px;padding:11px 14px;cursor:pointer}button:hover{filter:brightness(1.2)}button:disabled{opacity:.45;cursor:not-allowed}.primary,.spin{background:var(--pink);border-color:var(--pink);color:white}:focus-visible{outline:3px solid #f9c06e;outline-offset:3px}.hint{font-size:12px;color:var(--muted)}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}#entries{max-height:170px;overflow:auto;padding:0;list-style:none}#entries li{padding:8px 0;border-bottom:1px solid #303045;overflow-wrap:anywhere}small{color:var(--muted)}.stage{display:flex;align-items:center;flex-direction:column;gap:20px;align-self:start;position:sticky;top:16px;min-width:0}.stage-top{justify-content:space-between;width:100%;font-size:13px;color:var(--muted)}.wheel-wrap{position:relative;width:min(100%,540px);margin-top:15px}canvas{display:block;width:100%;height:auto}.hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:16%;border:5px solid #0b0b17;border-radius:50%}.pointer{position:absolute;z-index:1;top:-19px;left:50%;transform:translateX(-50%);font-size:45px;color:#ff7693;text-shadow:0 3px 0 #08080e}.spin{font-size:22px;padding:17px 45px;border-radius:40px;box-shadow:0 6px 35px #ed416433}#status{text-align:center;color:var(--muted);margin:0}details{width:100%;border-top:1px solid #303045;padding-top:16px}summary{cursor:pointer}#latest{width:100%}.winner{padding:16px;background:linear-gradient(110deg,#402136,#24233b);border:1px solid #754353;border-radius:14px;margin:9px 0;overflow-wrap:anywhere}.winner strong{display:block;font-size:22px}.history{grid-column:1/-1}.history h2{margin:0 auto 0 0}.history article{border-top:1px solid #303045;padding:18px 0}.history time{font-size:12px;color:var(--muted)}footer{text-align:center;padding:30px;color:var(--muted);font-size:12px}dialog{color:inherit;background:#191928;border:1px solid #56516b;border-radius:22px;padding:28px;max-width:620px;width:calc(100% - 32px);max-height:90vh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog .row{margin-top:20px}body.present .setup,body.present .history,body.present footer{display:none}body.present main{grid-template-columns:1fr;max-width:1100px}body.present .stage{position:static}body.present .wheel-wrap{width:min(60vh,600px)}body.present header{max-width:1100px}body.present header #present{display:none}body.present #exitPresent{display:block}#validation{font-size:13px;color:#ffca87}#rulesView{white-space:pre-wrap;color:var(--muted)}@media(max-width:800px){header{flex-wrap:wrap;padding:18px}header img{width:50px}header button{flex:1}main{grid-template-columns:1fr;padding:0 12px;gap:16px}.panel{padding:18px;border-radius:18px}.stage{position:static}.history{grid-column:auto}.wheel-wrap{max-width:440px}.stage-top{flex-wrap:wrap}body.present .wheel-wrap{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
