@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff)format("woff")}:root{--green:#58cc02;--green-lip:#58a700;--green-soft:#d7ffb8;--blue:#1cb0f6;--blue-lip:#1899d6;--blue-soft:#ddf4ff;--red:#ff4b4b;--red-lip:#ea2b2b;--red-soft:#ffdfe0;--yellow:#ffc800;--yellow-lip:#e5a400;--yellow-soft:#fff5d3;--orange:#ff9600;--purple:#ce82ff;--bg:#fff;--surface:#fff;--surface-2:#f7f7f7;--border:#e5e5e5;--text:#4b4b4b;--text-strong:#3c3c3c;--muted:#6b6b6b;--faint:#afafaf;--faint-text:#737373;--nav-icon:#e5e5e5;--xp-text:#d29b00;--tile:#fff8e7;--tile-lip:#e8d9b5;--tile-text:#3c3c3c;--ok-text:#58a700;--dup-text:#b07d00;--radius:16px;--font:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131f24;--surface:#131f24;--surface-2:#1f2f36;--border:#37464f;--text:#dce6ec;--text-strong:#f1f7fb;--muted:#8fa3ad;--faint:#52656d;--faint-text:#8fa3ad;--nav-icon:#37464f;--xp-text:#ffc800;--green-soft:#1f3a12;--blue-soft:#10334a;--red-soft:#3d1c1f;--yellow-soft:#3a3011;--tile:#f4ecd8;--tile-lip:#b9a77c;--ok-text:#79d634;--dup-text:#ffd84d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#131f24;--surface:#131f24;--surface-2:#1f2f36;--border:#37464f;--text:#dce6ec;--text-strong:#f1f7fb;--muted:#8fa3ad;--faint:#52656d;--faint-text:#8fa3ad;--nav-icon:#37464f;--xp-text:#ffc800;--green-soft:#1f3a12;--blue-soft:#10334a;--red-soft:#3d1c1f;--yellow-soft:#3a3011;--tile:#f4ecd8;--tile-lip:#b9a77c;--ok-text:#79d634;--dup-text:#ffd84d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-weight:700}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.screen{max-width:520px;min-height:100%;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));flex-direction:column;margin:0 auto;display:flex}.btn{--fill:var(--green);--lip:var(--green-lip);--ink:#fff;appearance:none;border-radius:var(--radius);background:var(--fill);color:var(--ink);box-shadow:0 4px 0 var(--lip);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:0;justify-content:center;align-items:center;gap:8px;min-height:50px;margin-bottom:4px;padding:12px 20px;font-size:15px;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .12s;display:inline-flex}.btn:hover{filter:brightness(1.05)}.btn:active{box-shadow:0 0 0 var(--lip);transform:translateY(4px)}.btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.btn.block{width:100%}.btn.big{min-height:58px;font-size:18px}.btn.blue{--fill:var(--blue);--lip:var(--blue-lip)}.btn.red{--fill:var(--red);--lip:var(--red-lip)}.btn.yellow{--fill:var(--yellow);--lip:var(--yellow-lip);--ink:#4b3a00}.btn.secondary{--fill:var(--surface);--lip:var(--border);--ink:var(--blue);border:2px solid var(--border)}.btn.secondary:hover{--fill:var(--surface-2);filter:none}.btn.ghost{--fill:transparent;--lip:transparent;--ink:var(--muted);box-shadow:none}.btn[disabled]{--fill:var(--border);--lip:var(--border);--ink:var(--faint);cursor:default;filter:none;transform:none}.icon-btn{appearance:none;color:var(--faint);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:12px;place-items:center;padding:8px;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--muted)}.icon-btn:focus-visible{outline:3px solid var(--blue)}.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);border-bottom-width:4px;padding:16px}.card.tappable{cursor:pointer;text-align:left;width:100%;transition:transform 80ms}.card.tappable:active{border-bottom-width:2px;margin-bottom:2px;transform:translateY(2px)}.field{flex-direction:column;gap:10px;display:flex}.field-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:13px;font-weight:800}.seg{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.seg button{appearance:none;border:2px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);cursor:pointer;touch-action:manipulation;border-bottom-width:4px;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:6px 4px;font-size:15px;font-weight:800;line-height:1.1;display:flex}.seg button small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:700}.seg button[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.seg button[aria-pressed=true] small{color:var(--blue)}.seg button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;animation:.16s ease-out fade;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--surface);width:100%;max-width:520px;max-height:92dvh;padding:20px 16px calc(16px + var(--safe-bottom));border-radius:24px 24px 0 0;flex-direction:column;gap:20px;animation:.22s cubic-bezier(.2,.9,.3,1.1) slideUp;display:flex;overflow:auto}.sheet-grip{background:var(--border);border-radius:3px;align-self:center;width:40px;height:5px;margin-top:-8px}@keyframes fade{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}}.progress{background:var(--border);border-radius:99px;flex:1;height:16px;position:relative;overflow:hidden}.progress>div{background:var(--green);border-radius:99px;height:100%;transition:width .25s linear,background .3s;position:relative}.progress>div:after{content:"";background:#ffffff4d;border-radius:99px;height:4px;position:absolute;top:4px;left:8px;right:8px}.progress.warn>div{background:var(--orange)}.progress.danger>div{background:var(--red)}.pill{white-space:nowrap;align-items:center;gap:6px;font-size:17px;font-weight:900;display:inline-flex}.chip{border:2px solid var(--border);text-transform:uppercase;letter-spacing:.03em;background:var(--surface);color:var(--text);border-radius:12px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:800;display:inline-flex}.chip .pts{color:var(--muted);font-size:12px}.chip.new{border-color:var(--green);animation:.3s cubic-bezier(.3,1.6,.5,1) bump}.chip.missed{color:var(--muted);border-style:dashed}.chip.long:not(.missed){border-color:var(--yellow);background:var(--yellow-soft)}button.chip{cursor:pointer}button.chip[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}@keyframes bump{0%{transform:scale(.7)}to{transform:scale(1)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}@keyframes rise{0%{opacity:0;transform:translate(-50%)scale(.8)}20%{opacity:1;transform:translate(-50%,-6px)scale(1.1)}to{opacity:0;transform:translate(-50%,-48px)scale(1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin-in{0%{transform:rotate(-90deg)scale(.92)}}@keyframes tileIn{0%{transform:scale(.4)}}.board-grid.spin{animation:.26s cubic-bezier(.2,.9,.3,1.1) spin-in}.board-grid.enter .tile{animation:.26s cubic-bezier(.3,1.5,.5,1) backwards tileIn;animation-delay:calc(var(--i) * 18ms)}.muted{color:var(--muted)}.center{text-align:center}.row{align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.spacer{flex:1}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.toast{left:50%;bottom:calc(24px + var(--safe-bottom));background:var(--text-strong);color:var(--bg);z-index:80;text-align:center;border-radius:14px;max-width:calc(100% - 32px);padding:12px 18px;font-weight:800;animation:.2s ease-out pop;position:fixed;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.board{-webkit-user-select:none;user-select:none;touch-action:none;width:100%;position:relative;container-type:inline-size}.board-grid{grid-template-columns:repeat(var(--n), 1fr);aspect-ratio:1;cursor:pointer;gap:0;display:grid;position:relative}.board:not(.mini){background:var(--surface-2);border:2px solid var(--border);border-radius:22px;padding:1.5%}.board.mini .board-grid{cursor:default;animation:none}.tile{background:var(--tile);color:var(--tile-text);box-shadow:0 calc(1.6cqw / var(--n) * 4) 0 var(--tile-lip);font-weight:900;font-size:calc(100cqw / var(--n) * .46);translate:0 calc(-.8cqw / var(--n) * 4);pointer-events:none;z-index:1;border-radius:22%;place-items:center;margin:5%;line-height:1;transition:background 90ms,color 90ms,transform 90ms,box-shadow 90ms;display:grid;position:relative}.tile .qu{letter-spacing:-.02em;font-size:.78em}.tile.sel{background:var(--blue);color:#fff;box-shadow:0 calc(1.6cqw / var(--n) * 2) 0 var(--blue-lip);translate:0}.tile.last{transform:scale(1.04)}.tile.hl{background:var(--blue);color:#fff;box-shadow:0 3px 0 var(--blue-lip)}.tile.hl-start{background:var(--green);box-shadow:0 3px 0 var(--green-lip)}.board.mini .board-line polyline{stroke-width:12px;stroke:#1cb0f659}.tile.hint{outline:4px solid var(--yellow);outline-offset:2px;animation:1s ease-in-out infinite hintPulse}.tile.flash-ok{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-lip);animation:.38s ease-out tileOk}.tile.flash-bad{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red-lip)}.tile.flash-dup{background:var(--yellow);color:#4b3a00;box-shadow:0 4px 0 var(--yellow-lip)}@keyframes tileOk{40%{transform:scale(1.06)}}@keyframes hintPulse{50%{outline-color:#0000}}.board-grid.shake{animation:.36s shake}.board-line{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.board-line polyline{fill:none;stroke:#1cb0f68c;stroke-width:18px;stroke-linecap:round;stroke-linejoin:round}.board.is-hidden .tile{filter:blur(14px)}.board-cover{position:absolute;inset:0}.board.mini .tile{box-shadow:0 3px 0 var(--tile-lip);translate:0 -2px}.board.mini .tile.hl{box-shadow:0 3px 0 var(--blue-lip)}.confetti{pointer-events:none;z-index:70;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:3px;animation:linear forwards confettiFall;position:absolute;top:-20px}@keyframes confettiFall{0%{transform:translate3d(0, 0, 0) rotate(var(--rot));opacity:1}to{transform:translate3d(var(--drift), 105vh, 0) rotate(calc(var(--rot) + 720deg));opacity:.9}}.play{height:100dvh;min-height:0;padding-bottom:calc(8px + var(--safe-bottom));gap:10px;overflow:hidden}.play-top{align-items:center;gap:10px;min-height:44px;display:flex}.play-top .timer{font-variant-numeric:tabular-nums;min-width:52px;color:var(--text);justify-content:flex-end}.play-top .timer.danger{color:var(--red);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.1)}}.small-btn{min-height:38px;padding:6px 14px;font-size:13px}.play-stats{grid-template-columns:1fr auto 1fr;align-items:end;padding:0 4px;font-size:15px;display:grid}.play-stats>:last-child{justify-self:end}.play-stats b{color:var(--text-strong);font-size:18px;font-weight:900}.score-pill{animation:.26s ease-out bump;display:inline-block}.word-bubble{border:2px solid var(--border);letter-spacing:.08em;text-transform:uppercase;height:58px;color:var(--text-strong);border-bottom-width:4px;border-radius:16px;justify-content:center;align-items:center;font-size:26px;font-weight:900;transition:background .12s,border-color .12s;display:flex;position:relative}.word-bubble.has-word{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.word-bubble .current{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 70px);overflow:hidden}.word-bubble .placeholder{letter-spacing:.02em;text-transform:none;color:var(--faint-text);font-size:15px;font-weight:800}.word-bubble .fb{letter-spacing:.04em;font-size:20px;animation:.22s cubic-bezier(.3,1.6,.5,1) bump}.word-bubble.fb-ok{background:var(--green-soft);border-color:var(--green);color:var(--ok-text)}.word-bubble.fb-bad{background:var(--red-soft);border-color:var(--red);color:var(--red)}.word-bubble.fb-dup,.word-bubble.fb-info{background:var(--yellow-soft);border-color:var(--yellow);color:var(--dup-text)}.word-bubble.fb-info .fb{text-transform:none;letter-spacing:.01em;font-size:16px}.submit-btn{background:var(--blue);color:#fff;width:40px;height:36px;box-shadow:0 3px 0 var(--blue-lip);cursor:pointer;border:0;border-radius:12px;place-items:center;display:grid;position:absolute;top:50%;right:8px;translate:0 -50%}.submit-btn:active{box-shadow:none;translate:0 calc(3px - 50%)}.play-board{width:min(100%,470px,100dvh - 330px);margin:0 auto;position:relative}.pause-overlay,.times-up{background:color-mix(in srgb, var(--bg) 70%, transparent);z-index:5;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.pause-overlay h2{color:var(--text-strong);font-size:26px;font-weight:900}.times-up{color:var(--red);font-size:40px;font-weight:900;animation:.3s cubic-bezier(.3,1.6,.5,1) pop}.play-actions{justify-content:center;gap:10px;display:flex}.round-btn{appearance:none;border:2px solid var(--border);background:var(--surface);white-space:nowrap;min-height:44px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;touch-action:manipulation;border-bottom-width:4px;border-radius:14px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.round-btn svg{width:20px;height:20px}.round-btn:active:not([disabled]){border-bottom-width:2px;translate:0 2px}.round-btn[disabled]{opacity:.45;cursor:default}.round-btn:focus-visible{outline:3px solid var(--blue)}.found-list{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;min-height:44px;padding:2px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}.red-text{--ink:var(--red)!important}.home{gap:16px}.home-top{justify-content:space-between;align-items:center;margin-bottom:auto;display:flex}.wordmark{color:var(--green);letter-spacing:-.02em;font-size:30px;font-weight:900}.streak{padding:0 6px;font-size:18px}.hero{justify-content:center;align-items:center;gap:8px;margin:4px 0 0;display:flex}.speech{border:2px solid var(--border);max-width:190px;color:var(--text-strong);background:var(--surface);border-radius:16px;padding:12px 14px;font-size:17px;position:relative}.speech:before{content:"";background:var(--surface);border-left:2px solid var(--border);border-bottom:2px solid var(--border);width:14px;height:14px;position:absolute;top:50%;left:-9px;transform:translateY(-50%)rotate(45deg)}.play-area{gap:14px}.customize{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:6px;font-size:14px;font-weight:800;display:flex}.customize svg{width:18px;height:18px}.customize .link{color:var(--blue);text-transform:uppercase;letter-spacing:.05em;font-size:13px}.customize:hover{background:var(--surface-2)}.daily{color:var(--text);font:inherit;align-items:center;gap:14px;display:flex}.daily h3,.challenge-card h3{color:var(--text-strong);font-size:18px;font-weight:900}.small{font-size:14px;font-weight:700}.badge{background:var(--blue);color:#fff;text-transform:uppercase;box-shadow:0 3px 0 var(--blue-lip);border-radius:12px;padding:6px 12px;font-size:13px;font-weight:900}.badge.done{background:var(--green);box-shadow:0 3px 0 var(--green-lip)}.challenge-card{border-color:var(--purple)}.stats-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:auto;display:grid}.stats-row>div{border:2px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:10px 4px;display:flex}.stats-row b{color:var(--text-strong);font-size:20px;font-weight:900}.stats-row b.word{text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:2px 6px 0;font-size:16px;overflow:hidden}.stats-row span{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.sheet-title{color:var(--text-strong);text-align:center;font-size:22px;font-weight:900}.hint-note{color:var(--muted);margin-top:-10px;font-size:14px;font-weight:700}.results{gap:14px}.results-head{justify-content:center;align-items:center;gap:12px;display:flex}.results-title{color:var(--text-strong);font-size:26px;font-weight:900;line-height:1.15}.stars{align-items:center;gap:2px;margin-top:6px;display:flex}.stars .rank{color:var(--muted);margin-left:8px;font-size:15px}.stat-tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat-tile{--c:var(--yellow);border:2px solid var(--c);background:var(--c);border-radius:16px;flex-direction:column;min-width:0;animation:.4s cubic-bezier(.3,1.6,.5,1) backwards pop;display:flex;overflow:hidden}.stat-tile:nth-child(2){animation-delay:.12s}.stat-tile:nth-child(3){animation-delay:.24s}.stat-tile.green{--c:var(--green)}.stat-tile.blue{--c:var(--blue)}.stat-tile>span{color:#fff;text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:4px 2px;font-size:12px;font-weight:900}.stat-tile.yellow>span{color:#6b5000}.stat-tile b{background:var(--surface);text-align:center;color:var(--c);white-space:nowrap;text-overflow:ellipsis;border-radius:13px;padding:10px 4px;font-size:24px;font-weight:900;overflow:hidden}.stat-tile.yellow b{color:#e5a400}.stat-tile b small{color:var(--muted);font-size:14px}.stat-tile b.word{text-transform:uppercase;padding-top:14px;padding-bottom:13px;font-size:17px}.results-sub{text-align:center;font-size:15px;font-weight:700}.caps{text-transform:uppercase;color:var(--text-strong)}.review{grid-template-columns:136px 1fr;align-items:center;gap:14px;display:grid}.review-board{width:136px}.review-side{flex-direction:column;gap:8px;min-width:0;display:flex}.tabs{border:2px solid var(--border);border-radius:14px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.tabs button{appearance:none;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 4px;font-size:13px;font-weight:900}.tabs button[aria-selected=true]{background:var(--blue-soft);color:var(--blue)}.tiny{font-size:13px;font-weight:700}.word-list{flex-wrap:wrap;align-content:flex-start;gap:6px;max-height:32vh;padding:2px;display:flex;overflow-y:auto}.results-actions{background:var(--bg);flex-direction:column;gap:10px;margin-top:auto;padding-top:8px;display:flex;position:sticky;bottom:0}.app-shell{flex-direction:column;max-width:560px;height:100dvh;margin:0 auto;display:flex}.top-bar{padding:calc(10px + var(--safe-top)) 16px 10px;border-bottom:2px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;gap:8px;display:flex}.logo-word{color:var(--green);letter-spacing:-.02em;font-size:24px;font-weight:900}.top-stats{gap:2px;display:flex}.top-stat{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:4px;padding:6px 8px;font-size:17px;font-weight:900;display:inline-flex}.top-stat:hover{background:var(--surface-2)}.top-stat:focus-visible{outline:3px solid var(--blue)}.tab-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.tab{flex-direction:column;gap:16px;min-height:100%;padding:16px;animation:.2s ease-out tabIn;display:flex}@keyframes tabIn{0%{opacity:0}}.bottom-nav{border-top:2px solid var(--border);background:var(--bg);padding:6px 8px calc(6px + var(--safe-bottom));grid-template-columns:repeat(4,1fr);display:grid}.nav-item{appearance:none;cursor:pointer;color:var(--muted);touch-action:manipulation;background:0 0;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:1px;padding:5px 0 4px;display:flex}.nav-item.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.nav-item:active .nav-icon{transform:scale(.9)}.nav-item:focus-visible{outline:3px solid var(--blue);outline-offset:1px}.nav-icon{place-items:center;transition:transform .1s;display:grid;position:relative}.nav-label{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.nav-dot{background:var(--red);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:0;right:-2px}.card-title{color:var(--text-strong);font-size:18px;font-weight:900}.section-title{color:var(--text-strong);margin:4px 0 10px;font-size:19px;font-weight:900}.error-text{color:var(--red)}.play-tab .hero{margin-top:4px}.play-btn{min-height:60px;font-size:20px}.tip{color:var(--muted);font:inherit;border-color:var(--yellow);align-items:center;gap:14px;display:flex}.tip-icon{background:var(--yellow-soft);width:40px;height:40px;color:var(--xp-text);border-radius:12px;place-items:center;display:grid}.daily-hero{justify-content:space-between;align-items:center;padding:4px 4px 0;display:flex}.streak-big{align-items:center;gap:10px;display:flex}.streak-big b{color:var(--orange);font-size:44px;font-weight:900;line-height:1;display:block}.streak-big span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:15px;font-weight:900}.week{grid-template-columns:repeat(7,1fr);gap:4px;padding:12px 10px;display:grid}.day{flex-direction:column;align-items:center;gap:6px;display:flex}.day-label{color:var(--muted);font-size:12px;font-weight:900}.day.today .day-label{color:var(--orange)}.day-dot{background:var(--surface-2);border:2px solid var(--border);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:15px;font-weight:900;display:grid}.day.done .day-dot{background:var(--orange);border-color:#e08600}.day.today:not(.done) .day-dot{border-color:var(--orange);border-style:dashed}.daily-card{flex-direction:column;gap:14px;display:flex}.daily-copy{color:var(--text);font-size:16px;font-weight:700;line-height:1.45}.mini-stats,.tile-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tile-grid{grid-template-columns:repeat(2,1fr)}.mini-stats>div,.mstat{border:2px solid var(--border);text-align:center;border-bottom-width:4px;border-radius:14px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:12px 6px;display:flex}.mini-stats b,.mstat b{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:24px;font-weight:900;overflow:hidden}.mini-stats span,.mstat span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:900}.mstat.wide{grid-column:span 2}.level-card{flex-direction:column;gap:12px;display:flex}.level-badge{background:var(--yellow);width:64px;height:64px;box-shadow:0 4px 0 var(--yellow-lip);color:#6b5000;border-radius:18px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.level-badge span{letter-spacing:.08em;font-size:11px;font-weight:900}.level-badge b{font-size:26px;font-weight:900;line-height:1}.progress.xp{flex:none;height:14px;margin-top:8px}.progress.xp>div{background:var(--yellow)}.xp-total{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.diff-bests{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.diff-best{border:2px solid var(--border);text-align:center;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.diff-best span{background:var(--surface-2);border-bottom:4px solid var(--c);color:var(--text);text-transform:uppercase;letter-spacing:.06em;padding:4px;font-size:12px;font-weight:900}.diff-best b{color:var(--text-strong);padding:10px 4px;font-size:22px;font-weight:900}.history{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-row{appearance:none;border:2px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;width:100%;color:var(--text);font:inherit;border-bottom-width:4px;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.history-row:active{border-bottom-width:2px;translate:0 2px}.hdot{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:13px;font-weight:900;display:grid}.hdot.easy{background:var(--green)}.hdot.medium{background:var(--blue)}.hdot.hard{background:var(--purple)}.hmain{flex-direction:column;flex:1;min-width:0;font-size:16px;display:flex}.hmain b{color:var(--text-strong);font-weight:900}.hsub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hreplay{color:var(--blue);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900}.empty{text-align:center;border:2px dashed var(--border);color:var(--muted);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.profile-head{flex-direction:column;align-items:center;gap:8px;display:flex}.avatar{border:2px solid var(--border);border-radius:50%;place-items:center;width:132px;height:132px;display:grid}.name-input{font:inherit;text-align:center;color:var(--text-strong);background:0 0;border:2px solid #0000;border-radius:12px;width:min(100%,280px);padding:4px 10px;font-size:24px;font-weight:900}.name-input::placeholder{color:var(--faint-text)}.name-input:hover{border-color:var(--border)}.name-input:focus{border-color:var(--blue);background:var(--blue-soft);outline:none}.swatches{gap:10px;margin-top:4px;display:flex}.swatch{border:3px solid var(--bg);width:34px;height:34px;box-shadow:0 0 0 2px var(--border);cursor:pointer;border-radius:50%}.swatch[aria-checked=true]{box-shadow:0 0 0 3px var(--blue)}.swatch:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.settings-list{flex-direction:column;padding:4px 14px;display:flex}.settings-list>*+*{border-top:2px solid var(--border)}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex;position:relative}.toggle-label{color:var(--text-strong);font-size:16px;font-weight:800;display:block}.toggle-sub{color:var(--muted);font-size:13px;display:block}.toggle-row input{opacity:0;width:1px;height:1px;position:absolute}.switch{background:var(--border);border-radius:99px;flex-shrink:0;width:52px;height:30px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px #00000026}.toggle-row input:checked+.switch{background:var(--green)}.toggle-row input:checked+.switch:after{transform:translate(22px)}.toggle-row input:focus-visible+.switch{outline:3px solid var(--blue);outline-offset:2px}.theme-row{cursor:default}.mini-seg{grid-auto-columns:auto;gap:6px}.mini-seg button{border-bottom-width:3px;min-height:36px;padding:4px 10px;font-size:13px}.list-row{appearance:none;font:inherit;color:var(--text-strong);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:56px;font-size:16px;font-weight:800;display:flex}.list-row svg{color:var(--muted)}.list-row.danger{color:var(--red)}.about{padding-bottom:8px;line-height:1.6}.howto-demo{grid-template-columns:140px 1fr;align-items:center;gap:16px;display:grid}.howto-word{flex-direction:column;gap:4px;display:flex}.howto-word .big-word{letter-spacing:.06em;color:var(--blue);font-size:28px;font-weight:900}.howto-word .ok{color:var(--ok-text);font-size:18px;font-weight:900}.howto-steps{flex-direction:column;gap:10px;margin:0;padding-left:22px;font-size:16px;font-weight:600;line-height:1.45;display:flex}.howto-steps b{color:var(--text-strong);font-weight:900}.xp-pill{background:var(--yellow-soft);color:var(--xp-text);border-radius:99px;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;font-size:14px;font-weight:900;animation:.4s .6s backwards bump;display:inline-flex}.xp-pill.up{background:var(--yellow);color:#4b3a00}.party-btn{--ink:var(--purple)}.party-names{flex-direction:column;gap:10px;display:flex}.party-name{border:2px solid var(--border);border-bottom-width:4px;border-radius:14px;align-items:center;gap:10px;padding:6px 8px 6px 10px;display:flex}.party-name:focus-within{border-color:var(--pc)}.pdot{background:var(--pc);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.party-name input{min-width:0;font:inherit;color:var(--text-strong);background:0 0;border:0;flex:1;padding:8px 0;font-size:17px;font-weight:800}.party-name input:focus{outline:none}.handoff{justify-content:space-between;gap:16px}.handoff-body{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.handoff-body h1{color:var(--pc);font-size:34px;font-weight:900}.handoff-body p{max-width:280px;font-size:17px}.handoff-step{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900;font-size:13px!important}.party-go{--fill:var(--pc);--lip:color-mix(in srgb, var(--pc) 75%, #000)}.turn-tag{color:var(--pc,var(--blue));font-weight:900}.party-results{gap:16px}.standings{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.standing{appearance:none;width:100%;font:inherit;color:var(--text);background:var(--surface);cursor:pointer;border:2px solid var(--border);border-left:8px solid var(--pc);text-align:left;border-bottom-width:4px;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;padding:10px 14px;display:grid}.rank-num{color:var(--muted);grid-row:span 2;font-size:22px;font-weight:900}.pname{color:var(--text-strong);font-size:18px;font-weight:900}.pscore{color:var(--pc);grid-area:1/3/span 2;font-size:28px;font-weight:900}.standing-words{max-height:none;margin-top:8px}.chip.shared{color:var(--faint-text);border-style:dashed;text-decoration:line-through}.cubby{overflow:visible}.cubby g,.cubby path,.cubby ellipse,.cubby rect{transform-box:view-box}.cubby .c-react,.cubby .c-mood,.cubby .c-breathe{transform-origin:110px 200px}.cubby .c-breathe{animation:3.2s ease-in-out infinite c-breathe}.cubby.bob .c-mood{animation:2.4s ease-in-out infinite bob}.cubby .c-blink{transform-origin:110px 90px;animation:4.6s infinite c-blink}.cubby .c-pupils{animation:7s ease-in-out infinite c-look}.cubby .c-tuft{transform-origin:108px 30px;animation:2.6s ease-in-out infinite c-sway}.cubby .c-arm-l{transform-origin:38px 114px;transform:rotate(-35deg)}.cubby .c-arm-r{transform-origin:182px 114px;transform:rotate(35deg)}.cubby .c-shadow{transform-origin:110px 206px}.cubby.bob .c-shadow{animation:2.4s ease-in-out infinite c-shadow}@keyframes c-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015,.975)}}@keyframes c-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes c-look{0%,30%,to{transform:translate(0)}38%,55%{transform:translate(-4px,1px)}62%,80%{transform:translate(4px,-1px)}}@keyframes c-sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}@keyframes c-shadow{0%,to{transform:scaleX(1)}50%{opacity:.7;transform:scaleX(.85)}}.cubby.mood-cheer .c-mood{animation:.7s cubic-bezier(.3,.7,.4,1) infinite c-jump}.cubby.mood-cheer .c-arm-l{animation:.35s ease-in-out infinite alternate c-wave-l}.cubby.mood-cheer .c-arm-r{animation:.35s ease-in-out infinite alternate c-wave-r}.cubby.mood-cheer .c-sparkles path{transform-origin:50%;transform-box:fill-box;animation:.9s ease-in-out infinite c-twinkle}.cubby.mood-cheer .c-sparkles path:nth-child(2){animation-delay:.45s}@keyframes c-jump{0%,to{transform:translateY(0)scale(1.04,.96)}45%{transform:translateY(-20px)scale(.97,1.04)}}@keyframes c-wave-l{0%{transform:rotate(30deg)}to{transform:rotate(65deg)}}@keyframes c-wave-r{0%{transform:rotate(-30deg)}to{transform:rotate(-65deg)}}@keyframes c-twinkle{0%,to{opacity:.4;transform:scale(.4)}50%{opacity:1;transform:scale(1.1)}}.cubby.mood-wow .c-arm-l{transform:rotate(30deg)}.cubby.mood-wow .c-arm-r{transform:rotate(-30deg)}.cubby.mood-nervous .c-mood{animation:.25s linear infinite c-jitter}.cubby.mood-nervous .c-arm-l{transform:rotate(-70deg)}.cubby.mood-nervous .c-arm-r{transform:rotate(70deg)}.cubby.mood-nervous .c-sweat{animation:1.2s ease-in infinite c-sweat}.cubby.mood-nervous .c-pupils{animation:.9s steps(2,end) infinite c-dart}@keyframes c-jitter{0%,to{transform:translate(0)}25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}@keyframes c-sweat{0%{opacity:0;transform:translateY(-4px)}20%{opacity:1}to{opacity:0;transform:translateY(26px)}}@keyframes c-dart{0%{transform:translate(-4px)}to{transform:translate(4px)}}.cubby.mood-sad .c-mood{transform:translateY(4px)scale(1.02,.97)}.cubby.mood-sad .c-tuft{animation:none;transform:rotate(40deg)}.cubby.mood-sad .c-arm-l{transform:rotate(-60deg)}.cubby.mood-sad .c-arm-r{transform:rotate(60deg)}.cubby.mood-sleep .c-breathe{animation-duration:4.5s}.cubby.mood-sleep .c-zzz text{animation:2.8s ease-in-out infinite c-zzz}.cubby.mood-sleep .c-zzz text:nth-child(2){animation-delay:1.4s}@keyframes c-zzz{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translate(10px,-14px)}}.cubby.mood-think .c-think circle{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite c-twinkle}.cubby.mood-think .c-think circle:nth-child(2){animation-delay:.4s}.cubby.mood-think .c-pupils{animation:none;transform:translate(4px,-4px)}.play-buddy{justify-content:center;align-items:flex-end;height:44px;margin:-10px 0 -4px;display:flex}.mascot-btn{appearance:none;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:24px;padding:0}.mascot-btn:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.float-pts{z-index:4;pointer-events:none;font-size:calc(100cqw / var(--n) * .32);color:#fff;background:var(--green);box-shadow:0 3px 0 var(--green-lip);border-radius:99px;padding:.1em .45em;font-weight:900;animation:.9s cubic-bezier(.2,.8,.3,1) forwards rise;position:absolute;transform:translate(-50%,-50%)}.float-pts.big{background:var(--yellow);color:#4b3a00;box-shadow:0 3px 0 var(--yellow-lip);font-size:calc(100cqw / var(--n) * .4)}.coach-finger{aspect-ratio:1;transform-origin:50%;z-index:6;pointer-events:none;opacity:0;filter:drop-shadow(0 4px 6px #00000040);width:18%;margin:-9% 0 0 -9%;position:absolute}.demo-line polyline{stroke:#1cb0f640;stroke-dasharray:14 18;animation:1s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-32px}}.coach-tip{z-index:6;white-space:nowrap;background:var(--blue);color:#fff;box-shadow:0 3px 0 var(--blue-lip);border-radius:12px;padding:8px 12px;font-size:14px;font-weight:800;animation:.3s ease-out bump;position:absolute;bottom:-14px;left:50%;transform:translate(-50%,100%)}.coach-tip:before{content:"";background:var(--blue);width:12px;height:12px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.install-card{border-color:var(--blue);align-items:center;gap:12px;display:flex}.install-actions{align-items:center;gap:2px;display:flex}.view-seg button{min-height:42px}.ranks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rank-row{border:2px solid var(--border);border-radius:14px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.rank-row.me{border-color:var(--blue);background:var(--blue-soft)}.rk{color:var(--muted);text-align:center;font-size:18px;font-weight:900}.top1 .rk{color:#fff;background:var(--yellow);box-shadow:0 3px 0 var(--yellow-lip);border-radius:10px}.top2 .rk{color:#fff;background:#b8c4cc;border-radius:10px;box-shadow:0 3px #97a5ad}.top3 .rk{color:#fff;background:#e8a66a;border-radius:10px;box-shadow:0 3px #c98547}.rn{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.rs{color:var(--text-strong);font-weight:900}.rank-gap{text-align:center;color:var(--faint-text)}.h2h{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.h2h-row{border:2px solid var(--border);border-bottom-width:4px;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.h2h-avatar{background:var(--purple);color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;font-weight:900;display:grid}.h2h-main{flex-direction:column;flex:1;min-width:0;display:flex}.h2h-main b{color:var(--text-strong);font-weight:900}.h2h-rec{color:var(--muted);font-variant-numeric:tabular-nums;font-size:20px;font-weight:900}.h2h-rec.up{color:var(--ok-text)}.h2h-rec.down{color:var(--red)}.you-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:2px solid var(--border);border-radius:8px;padding:2px 6px;font-size:11px;font-weight:900}.signin-head{align-items:center;gap:14px;display:flex}.perks{border:2px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;margin:0;padding:12px 14px;font-size:15px;font-weight:700;list-style:none;display:flex}.oauth{--ink:var(--text-strong);text-transform:none;letter-spacing:0;font-size:16px}.email-row{gap:8px;display:flex}.email-row input{min-width:0;font:inherit;color:var(--text-strong);background:var(--surface-2);border:2px solid var(--border);border-radius:14px;flex:1;min-height:50px;padding:0 12px;font-size:16px;font-weight:700}.email-row input:focus{border-color:var(--blue);outline:none}.note{background:var(--yellow-soft);color:var(--text);border-radius:12px;padding:10px 12px;font-size:14px}.signin-nudge{text-align:center;font:inherit;color:var(--text-strong);border-color:var(--blue);flex-direction:column;gap:2px;display:flex}.account-row{align-items:center;gap:12px;min-height:56px;display:flex}.account-row .grow{flex-direction:column;flex:1;min-width:0;display:flex}.room{gap:16px}.room-title{color:var(--text-strong);font-size:22px;font-weight:900}.room-menu{align-items:center;margin-top:12px}.room-menu .email-row{width:100%}.or{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.or:before,.or:after{content:"";background:var(--border);flex:1;height:2px}.code-input{text-align:center;letter-spacing:.3em;text-transform:uppercase;font-size:22px!important}.code-card{flex-direction:column;align-items:center;gap:8px;display:flex}.room-code{letter-spacing:.18em;color:var(--blue);font-size:44px;font-weight:900}.room-players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.room-players li{border:2px solid var(--border);border-left:6px solid var(--pc);border-radius:14px;align-items:center;gap:10px;padding:6px 12px;display:flex}.room-players b{color:var(--text-strong);flex:1}.countdown{text-align:center;color:var(--green);font-size:96px;font-weight:900;animation:1s ease-out infinite bump}.opponents{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:-4px;display:flex}.opp{border:2px solid var(--border);border-radius:99px;align-items:center;gap:6px;padding:3px 8px 3px 3px;font-size:13px;font-weight:800;display:inline-flex}.opp b{color:var(--pc);font-weight:900}.opp-dot{background:var(--pc);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.choice{font:inherit;color:var(--text);align-items:center;gap:14px;display:flex}.choice .grow{flex-direction:column;flex:1;display:flex}.choice b{color:var(--text-strong);font-size:18px;font-weight:900}.choice-icon{font-size:30px}.scoring-rules{border:2px solid var(--border);border-radius:14px;padding:10px 14px}.scoring-rules summary{cursor:pointer;color:var(--blue);font-weight:900}.scoring-rules ul{flex-direction:column;gap:8px;margin:10px 0 0;padding-left:18px;font-size:15px;font-weight:600;line-height:1.4;display:flex}.scoring-rules b{color:var(--text-strong);font-weight:900}.logo{align-items:center;gap:10px;display:inline-flex}.logo-word-tiles{gap:3px;display:inline-flex}.logo-tile{background:var(--green);color:#fff;width:30px;height:30px;box-shadow:0 3px 0 var(--green-lip);transform:rotate(var(--r));border-radius:8px;place-items:center;font-size:20px;font-weight:900;line-height:1;transition:transform .15s;display:grid}.logo:hover .logo-tile{transform:rotate(0)translateY(-1px)}.hero{position:relative}.hero-tiles{pointer-events:none;position:absolute;inset:-6px 0}.hero-tile{background:var(--tile);width:30px;height:30px;color:var(--tile-text);box-shadow:0 3px 0 var(--tile-lip);opacity:.9;transform:rotate(var(--r));border-radius:8px;place-items:center;font-size:18px;font-weight:900;animation:4s ease-in-out infinite floaty;display:grid;position:absolute}@keyframes floaty{0%,to{translate:0}50%{translate:0 -6px}}
