:root{color-scheme:dark;--gold:#ffe073;--purple:#30184c;--ink:#120b20;--muted:#cbbadd;--trail:#8fffe0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0,#41215f,transparent 65%),#100a1c;color:#fff8ec;font:16px system-ui,sans-serif}button,input,a.btn{font:inherit}button,a.btn{cursor:pointer;border:1px solid #aa7bca;border-radius:10px;background:#352049;color:#fff4ce;padding:10px 14px;text-decoration:none;font-weight:700}button:hover,a.btn:hover{background:#54306e}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffe073;outline-offset:3px}a{color:var(--gold)}.site-nav{display:flex;gap:15px;justify-content:center;padding:12px;background:#160c26}.wrap{max-width:1080px;margin:auto;padding:18px}.masthead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:64px;height:64px;object-fit:contain}.eyebrow{color:#d4b9ec;font-size:10px;font-weight:800;letter-spacing:.2em}h1{font-size:clamp(26px,5vw,46px);line-height:1;margin:5px 0;letter-spacing:-.035em}h1 span{color:var(--gold)}.claim{max-width:280px;text-align:right;font-size:12px;line-height:1.5}.claim strong{display:block;color:var(--gold);font-size:15px}.stats{display:flex;align-items:center;gap:14px;background:#211231;border:1px solid #79508d;border-radius:12px;padding:10px 15px;margin-bottom:12px}.stats b{font-size:25px;color:var(--gold)}.stats .remaining{margin-left:auto;text-align:right}.progress{height:5px;background:#634579;border-radius:3px;overflow:hidden;margin:0 0 14px}.progress i{display:block;height:100%;background:var(--gold);width:0;transition:width .3s}.board-wrap{position:relative}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.tile{position:relative;aspect-ratio:1.06;display:flex;align-items:center;justify-content:center;border:2px solid #cf9cf0;border-radius:12px;background:linear-gradient(145deg,#5b3878,#2e1947);box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 #09030f;transition:opacity .4s,border-color .4s;color:#fff7d8;font-size:clamp(24px,5.8vw,63px);font-weight:800;line-height:1;padding:0}.tile small{position:absolute;top:5px;right:6px;font-size:clamp(9px,1.6vw,15px);color:#ffe79c;font-weight:700}.tile.spent{opacity:.35;border-color:#5c4869;background:#20152b;box-shadow:none}.tile.last{border-color:#ffdf6e;box-shadow:0 0 13px #ffd65080,inset 0 0 10px #ffd65020}.tile.selected{background:#715130;border-color:#ffe073}.tile.lit{background:color-mix(in srgb,var(--trail) 30%,#31203f);border-color:var(--trail);opacity:1;box-shadow:0 0 15px var(--trail)}#trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}#trail polyline{fill:none;stroke:var(--trail);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--trail))}#trail-face{position:absolute;z-index:3;pointer-events:none;transform:translate(-50%,-50%)}.avatar{display:inline-flex;width:36px;height:36px;flex-shrink:0;border:2px solid var(--gold);border-radius:50%;background:#4c2863;align-items:center;justify-content:center;overflow:hidden;font-size:16px;font-weight:800}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.big{width:62px;height:62px;box-shadow:0 0 15px #000}.legend{font-size:12px;color:var(--muted);margin:10px 0;display:flex;justify-content:space-between;gap:10px}.guess-form{display:flex;gap:9px;margin:16px 0}.guess-form input{flex:1;min-width:0;background:#1b1029;border:1px solid #9269ae;border-radius:10px;padding:13px;color:#fff;font-size:20px}.guess-form button{background:var(--gold);color:#241330}.ticker{background:#170c27;border:1px solid #714c89;border-radius:13px;overflow:hidden;padding:6px 0}.lane{position:relative;height:43px;overflow:hidden}.guess-chip{position:absolute;left:0;top:2px;display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;padding:2px 12px;white-space:nowrap;animation:scrollGuess var(--speed,8s) linear forwards}.guess-chip strong{font-size:20px;letter-spacing:.04em}.guess-chip .name{max-width:180px;text-overflow:ellipsis;overflow:hidden;color:#d8c3e7;font-size:13px}.tick{color:#91f6ba;font-weight:900}.cross{color:#ff9b9b;font-weight:900}.reason{font-size:12px}.footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.footer button,.footer a.btn{padding:7px 10px;font-size:12px}.feedback{font-size:13px;color:#ebdca5;min-height:20px;margin:10px 0;overflow-wrap:anywhere}.preview-tools{display:flex;flex-wrap:wrap;gap:8px;background:#38224b;padding:12px;border-radius:12px;margin-top:16px}.preview-tools p{width:100%;margin:0;font-size:13px}.preview-tools button{font-size:13px}.stream .wrap{max-width:1100px}.stream .masthead{margin-bottom:10px}.stream .tile{aspect-ratio:1.13}.stream .legend{margin:8px 0}.stream .stats{padding:7px 12px;margin-bottom:8px}.stream .progress{margin-bottom:10px}.stream .wrap{padding:14px}dialog{color:#fff7e6;background:#29163e;border:2px solid var(--gold);border-radius:22px;padding:26px;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}dialog::backdrop{background:#090313cc;backdrop-filter:blur(5px)}dialog h2{text-align:center;color:var(--gold);font-size:30px;margin:6px}dialog>p{text-align:center}.rankrow{display:grid;grid-template-columns:30px 40px 1fr auto;align-items:center;gap:10px;background:#211130db;border:1px solid #a978b64d;border-radius:10px;padding:8px 12px;margin:5px 0}.rankrow .name{overflow-wrap:anywhere}.rankrow small{color:#d9bddf;display:block}.rankrow .score{text-align:right;font-weight:800;color:var(--gold)}.modal-actions{display:flex;justify-content:center;gap:10px;margin-top:15px}.host{padding:20px;max-width:750px;margin:auto}.host section{padding:15px;margin:15px 0;border:1px solid #86639b;border-radius:12px}.host input,.host select{background:#1a1024;color:#fff;padding:9px;border:1px solid #92749f;max-width:100%;border-radius:8px}.host label{display:block;margin:12px 0}.host .words{display:flex;flex-wrap:wrap;gap:7px;max-height:300px;overflow:auto}.host .words span{padding:4px 8px;background:#382044;border-radius:5px}.host .words .found{color:#99e6b4}.host .controls{display:flex;flex-wrap:wrap;gap:8px}#rules{font-size:15px;line-height:1.7}.small-note{font-size:12px;color:var(--muted)}@keyframes scrollGuess{from{transform:translateX(var(--lane-width,800px))}to{transform:translateX(-100%)}}@media(max-width:600px){.wrap,.stream .wrap{padding:10px}.brand img{width:43px;height:43px}.claim{font-size:9px;max-width:145px}.claim strong{font-size:11px}.eyebrow{font-size:8px}.board{gap:4px}.tile{border-radius:7px;border-width:1px}.tile small{top:3px;right:3px}.stats{font-size:12px;padding:8px}.stats b{font-size:20px}.legend{font-size:10px}.guess-chip .name{max-width:110px}.guess-chip strong{font-size:16px}.guess-chip .reason{font-size:10px}.avatar.big{width:40px;height:40px}.rankrow{padding:7px;gap:6px;font-size:13px}.footer{flex-wrap:wrap}.claim a{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.guess-chip{animation:none;position:relative;transform:none}.tile,.progress i{transition:none}}
#winner.gg-celebration{position:fixed!important;inset:0!important;margin:auto!important;padding:22px clamp(20px,7vw,78px)!important}#winner .rankrow{padding:5px 9px;min-height:43px;grid-template-columns:22px 34px 1fr auto;gap:7px;text-align:left;margin:3px 0}#winner .avatar{width:32px;height:32px}#winner .name{font-size:14px;font-weight:700}#winner .name small{display:none}#winner .score{font-size:14px}#winner .score small{font-size:11px}#winner .gg-claim{padding:10px!important;margin-top:12px!important;font-size:13px!important}#winner .gg-claim strong{font-size:20px!important}#winner h2{font-size:30px!important}#winner p{font-size:12px!important;margin:8px 0!important}#winner .modal-actions{margin-top:10px}@media(max-width:500px){#winner.gg-celebration{padding:20px 16px!important}#winner .rankrow{grid-template-columns:18px 30px 1fr auto;gap:5px}#winner .avatar{width:28px;height:28px}#winner .name{font-size:12px}#winner h2{font-size:25px!important}}
.stream .tile{aspect-ratio:1.35}#winner .rankrow{padding:3px 9px;min-height:40px;margin:2px 0}#winner .gg-claim{line-height:1.35!important}#winner .gg-claim br{line-height:1.2}@media(max-width:600px){.claim{flex:0 0 145px}.claim strong{font-size:10px}.brand{gap:7px}.brand h1{font-size:25px}}
.stream .wrap{padding:10px}.stream[data-rows="4"] .tile{aspect-ratio:1.62}.stream .feedback{margin:6px 0}.site-nav{flex-wrap:wrap}

.avatar{position:relative}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

[hidden]{display:none!important}
