:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text,#e8ecf4);background-color:var(--bg,#08090c);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-family:DM Sans,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh;background-color:var(--bg,#08090c);-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none;min-height:100dvh;color:var(--text,#e8ecf4);overflow-x:hidden}h1,h2,h3{letter-spacing:-.02em;font-family:DM Sans,system-ui,sans-serif;font-weight:700}button{cursor:pointer;transition:transform var(--dur-snappy) var(--spring-snappy), color .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease, box-shadow .15s ease;-webkit-tap-highlight-color:transparent;border:none;border-radius:14px;padding:0;font-family:DM Sans,system-ui,sans-serif;font-size:1em;font-weight:600}button:focus-visible{outline-offset:2px;outline:2px solid #78a0ff99}html{scroll-behavior:smooth}.kc-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-5);font:inherit;font-size:var(--font-size-md);color:var(--on-accent);background:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 70%, white);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffff40, 0 4px 0 var(--press);cursor:pointer;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex}.kc-btn:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff40, 0 6px 0 var(--press);transform:translateY(-2px)}.kc-btn:active:not(:disabled){box-shadow:inset 0 1px 0 #ffffff40, 0 1px 0 var(--press);transform:translateY(1px)}.kc-btn:disabled{opacity:.45;cursor:not-allowed}.kc-btn:focus-visible,.kc-icon-btn:focus-visible{outline:2px solid var(--ink-accent);outline-offset:2px}.kc-btn--secondary,.kc-icon-btn{color:var(--ink-label);background:var(--bg-raised);border:1px solid var(--hairline);box-shadow:none;border-bottom-width:3px}.kc-btn--secondary:hover:not(:disabled),.kc-icon-btn:hover:not(:disabled){box-shadow:none;border-color:var(--hairline-strong);transform:translateY(-2px)}.kc-btn--secondary:active:not(:disabled),.kc-icon-btn:active:not(:disabled){box-shadow:none;border-bottom-width:1px;transform:translateY(1px)}.kc-icon-btn{min-width:44px;min-height:44px;font:inherit;font-size:var(--font-size-md);border-radius:var(--radius-sm);cursor:pointer;place-items:center;padding:0;transition:transform .12s;display:inline-grid}.kc-icon-btn:disabled{opacity:.45;cursor:not-allowed}.panel{padding:calc(var(--u) * 18);background:color-mix(in srgb, var(--bg-raised) 80%, transparent);border:1px solid var(--hairline);border-radius:var(--radius-lg)}.tinted-card{--mc:var(--accent);padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--mc) 8%, var(--bg-raised));border:1px solid color-mix(in srgb, var(--mc) 30%, transparent);border-bottom:3px solid color-mix(in srgb, var(--mc) 45%, var(--bg));border-radius:var(--radius-md)}.list-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-raised);border:1px solid var(--hairline);border-radius:var(--radius-md);display:flex}.eyebrow{font-size:var(--font-size-2xs);letter-spacing:.17em;text-transform:uppercase;color:var(--ink-label);font-weight:600}.badge-combo{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);letter-spacing:.14em;color:var(--text);background:color-mix(in srgb, var(--purple) 14%, transparent);border-radius:99px;font-weight:700;display:inline-block}.badge-score{font-size:var(--font-size-4xl);letter-spacing:-.02em;color:var(--ink-gold);font-weight:700;line-height:1.1}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;color:var(--ink-secondary);border:1px solid var(--hairline-strong);border-radius:99px;flex-shrink:0;font-weight:600;line-height:1.4;display:inline-flex}.badge--success{color:var(--ink-success);border-color:color-mix(in srgb, var(--success) 40%, transparent)}.badge--muted{color:var(--ink-label)}.badge--danger{color:color-mix(in srgb, var(--ink-danger) 85%, var(--text));border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.keycap-icon{width:30px;height:30px;font-size:var(--font-size-md);color:var(--text-on-bright);background:var(--mc,var(--accent));border-radius:var(--radius-sm);place-items:center;font-weight:700;display:grid}.keycap-icon>svg{width:1.15em;height:1.15em}.keycap-tile{aspect-ratio:1;font:inherit;font-size:var(--font-size-xl);color:var(--tile-text,var(--text-on-bright));text-shadow:1px 2px 1px var(--tile-shadow,transparent);background:linear-gradient(180deg, var(--face-top) 0%, var(--face-top) 45%, var(--face-bottom) 100%);border:1px solid var(--face-border);border-radius:var(--radius-sm);border-bottom-width:3px;place-items:center;padding:0;font-weight:700;transition:transform .12s;display:grid;position:relative}button.keycap-tile{cursor:pointer;min-width:44px}.keycap-tile:after{content:"";border-radius:var(--radius-xs) var(--radius-xs) 0 0;pointer-events:none;background:linear-gradient(#ffffff30,#0000);position:absolute;inset:2px 2px 55%}.keycap-tile__letter{z-index:1;position:relative}.keycap-tile__points{font-size:var(--font-size-2xs);font-weight:600;position:absolute;bottom:1px;right:3px}.keycap-tile--selected{background:linear-gradient(180deg, var(--sel-top) 0%, var(--sel-top) 45%, var(--sel-bottom) 100%);border-color:var(--sel-border);box-shadow:0 0 12px color-mix(in srgb, var(--sel-glow,var(--sel-border)) 35%, transparent);transform:translateY(-2px)}.keycap-tile--bonus{background:linear-gradient(180deg, var(--bonus-top) 0%, var(--bonus-top) 45%, var(--bonus-bottom) 100%);border-color:var(--bonus-border)}button.keycap-tile:focus-visible{outline:2px solid var(--ink-accent);outline-offset:2px}.brand-lockup{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.brand-lockup__icon{flex-shrink:0;width:28px;height:28px}.brand-lockup__wordmark{font-size:var(--font-size-xl);letter-spacing:-.055em;color:var(--text);font-weight:700;line-height:1}.brand-lockup__wordmark em{background:linear-gradient(110deg, var(--accent) 15%, var(--purple));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.brand-lockup__version{margin-top:var(--space-1);padding:1px var(--space-1);font-size:var(--font-size-2xs);color:var(--ink-accent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-xs);align-self:flex-start;font-weight:600}.brand-lockup--lg .brand-lockup__icon{width:40px;height:40px}.brand-lockup--lg .brand-lockup__wordmark{font-size:var(--font-size-3xl)}.app-backdrop{z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 50% 40%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%), linear-gradient(color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px) 0 0 / calc(var(--u) * 36) calc(var(--u) * 36), linear-gradient(90deg, color-mix(in srgb, var(--accent) 4%, transparent) 1px, transparent 1px) 0 0 / calc(var(--u) * 36) calc(var(--u) * 36);position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80% at 50% 45%,#000 30%,#0000 85%);mask-image:radial-gradient(70% 80% at 50% 45%,#000 30%,#0000 85%)}@media (prefers-reduced-motion:reduce){.kc-btn,.kc-icon-btn,.keycap-tile{transition:none}.kc-btn:hover:not(:disabled),.kc-btn:active:not(:disabled),.kc-btn--secondary:hover:not(:disabled),.kc-btn--secondary:active:not(:disabled),.kc-icon-btn:hover:not(:disabled),.kc-icon-btn:active:not(:disabled),.keycap-tile--selected{transform:none}}.screen-page{box-sizing:border-box;overscroll-behavior-y:contain;width:100%;height:100%;overflow:hidden auto}.screen-page__column{box-sizing:border-box;gap:var(--space-4);width:100%;min-width:0;padding:var(--space-4) var(--space-4) max(var(--space-8), env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.screen-page__column:has(>.screen-header){padding-top:0}.screen-page__body{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.screen-title{min-width:0;font-size:var(--font-size-sm);overflow-wrap:anywhere;margin:0;line-height:1.3}.screen-title__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.screen-header{align-items:center;gap:var(--space-3);min-width:0;padding:max(var(--space-3), env(safe-area-inset-top)) 0 var(--space-1);display:flex}.screen-header__back{flex-shrink:0}.screen-header__brand{display:none}.screen-header__title{min-width:0;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;line-height:1.3;overflow:hidden}.screen-header__actions{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}@media (min-width:900px){.app-shell>.screen-transition:has(>.screen-page){background-color:#0000}.screen-page__column{gap:calc(var(--u) * 20);max-width:calc(var(--u) * 880);padding:calc(var(--u) * 32) calc(var(--u) * 40) calc(var(--u) * 48)}.screen-page--full .screen-page__column{max-width:none}.screen-page__body{gap:calc(var(--u) * 20)}.screen-header{gap:calc(var(--u) * 16);padding:calc(var(--u) * 24) 0 calc(var(--u) * 8)}.screen-header__brand{flex-shrink:0;display:flex}.screen-header__back{width:max(40px, calc(var(--u) * 44));height:max(40px, calc(var(--u) * 44))}.screen-header__title{padding-left:calc(var(--u) * 16);border-left:1px solid var(--hairline-strong)}}:root{--app-header-key:44px;--app-header-h:calc(var(--app-header-key) + var(--space-2) + max(var(--space-2), env(safe-area-inset-top,0px)) + 1px)}.app-header{box-sizing:border-box;height:var(--app-header-h);padding:max(var(--space-2), env(safe-area-inset-top,0px)) max(var(--space-4), env(safe-area-inset-right,0px)) var(--space-2) max(var(--space-4), env(safe-area-inset-left,0px));background:var(--bg);border-bottom:1px solid var(--hairline);flex:none;position:relative}.app-header__frame{box-sizing:border-box;align-items:center;gap:var(--space-2);min-width:0;height:100%;display:flex}.app-header__brand{min-width:0;color:inherit;border-radius:var(--radius-sm);flex:none;text-decoration:none;display:flex}.app-header__brand:focus-visible,.app-header__link:focus-visible{outline:2px solid var(--ink-accent);outline-offset:4px}.app-header__nav{flex:auto;justify-content:flex-end;align-items:center;min-width:0;display:flex}.app-header__links{margin:0;padding:0;list-style:none;display:none}.app-header__keys{align-items:center;gap:var(--space-1);flex:none;display:flex}.app-header .kc-icon-btn{width:var(--app-header-key);min-width:0;height:var(--app-header-key);flex-shrink:0;min-height:0}.app-header .app-header__key{color:var(--ink-label);text-decoration:none}.app-header .app-header__key[aria-current=page]{color:var(--text);border-color:var(--hairline-strong)}.app-header .kc-icon-btn svg{width:20px;height:20px}.app-header .app-header__avatar .avatar{font-size:var(--font-size-lg)}.app-header .app-header__avatar .avatar--letter{color:var(--ink-accent);background:0 0}.app-header .app-header__avatar .avatar--creature>svg{border-radius:var(--radius-xs)}@media (max-width:379.98px){.app-header__brand .brand-lockup__version{display:none}}@media (max-width:339.98px){.app-header__brand .brand-lockup__wordmark{display:none}}@media (max-width:899.98px) and (max-height:640px){:root{--app-header-key:40px;--app-header-h:calc(var(--app-header-key) + var(--space-1) + max(var(--space-1), env(safe-area-inset-top,0px)) + 1px)}.app-header{padding-top:max(var(--space-1), env(safe-area-inset-top,0px));padding-bottom:var(--space-1)}}@media (min-width:900px){:root{--app-header-key:max(36px, calc(var(--u) * 42));--app-header-h:calc(var(--app-header-key) + calc(var(--u) * 40) + 1px)}.app-header{padding:calc(var(--u) * 20) 0;background:0 0}.app-header__frame{gap:calc(var(--u) * 8);max-width:calc(var(--u) * 1240);padding:0 calc(var(--u) * 40);margin:0 auto}.app-header__nav{justify-content:space-between;gap:calc(var(--u) * 24);margin-left:calc(var(--u) * 28)}.app-header__links{align-items:center;gap:calc(var(--u) * 28);min-width:0;display:flex}.app-header__link{padding:calc(var(--u) * 6) 0;font-size:max(var(--font-size-md), calc(var(--u) * 15));white-space:nowrap;color:var(--ink-label);border-radius:2px;font-weight:500;text-decoration:none;display:block}.app-header__link:hover{color:var(--text)}.app-header__link[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.app-header .app-header__phone-only{display:none}.app-header__keys{gap:calc(var(--u) * 8)}.app-header .kc-icon-btn{border-radius:calc(var(--u) * 11)}.app-header .kc-icon-btn svg{width:calc(var(--u) * 20);height:calc(var(--u) * 20)}.app-header__brand .brand-lockup{gap:calc(var(--u) * 9)}.app-header__brand .brand-lockup__icon{width:calc(var(--u) * 36);height:calc(var(--u) * 36)}.app-header__brand .brand-lockup__wordmark{font-size:calc(var(--u) * 24)}.app-header__brand .brand-lockup__version{font-size:max(var(--font-size-2xs), calc(var(--u) * 11))}.app-header .app-header__avatar{margin-left:calc(var(--u) * 8)}.app-header .app-header__avatar .avatar{font-size:max(var(--font-size-sm), calc(var(--u) * 18));width:100%!important;height:100%!important}}.leave-match-backdrop{z-index:1300;padding:var(--space-4);background:color-mix(in srgb, var(--bg) 80%, transparent);place-items:center;display:grid;position:fixed;inset:0}.leave-match{gap:var(--space-3);background:var(--bg-raised);flex-direction:column;width:min(100%,420px);max-height:100%;display:flex;overflow-y:auto;box-shadow:0 24px 48px #0006}.leave-match__title{font-size:var(--font-size-lg);color:var(--text);margin:0}.leave-match__text{font-size:var(--font-size-md);color:var(--text);margin:0;line-height:1.5}.leave-match__buttons{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.leave-match .leave-match__leave{color:var(--ink-danger);border-color:color-mix(in srgb, var(--ink-danger) 45%, transparent)}:where(.avatar){font-size:calc(var(--avatar-px) * .45px);box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}:where(.avatar--letter){color:var(--text);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 35%, var(--bg-raised)), color-mix(in srgb, var(--purple) 35%, var(--bg-raised)))}.avatar--creature{padding:0}.avatar--creature>svg{border-radius:50%;width:100%;height:100%;display:block}.lobby-page .screen-page__body{align-items:center}.lobby{box-sizing:border-box;gap:var(--space-4);flex-direction:column;width:100%;min-width:0;max-width:440px;display:flex}.lobby__head{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.lobby__head .keycap-icon{border:1px solid color-mix(in srgb, var(--mc) 70%, var(--bg));border-bottom-width:3px;flex-shrink:0}.lobby__title{min-width:0;font-size:var(--font-size-xl);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;flex:auto;margin:0;font-weight:700;line-height:1.2}.lobby .badge .online-dot{margin-left:0}.online-dot.online-dot--connecting{background:var(--gold);box-shadow:0 0 4px var(--gold-glow)}.online-dot.online-dot--idle{box-sizing:border-box;border:1px solid var(--ink-label);box-shadow:none;background:0 0}.lobby__alert{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);text-align:center;color:var(--ink-danger);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:var(--radius-sm);margin:0;font-weight:600;line-height:1.4}.lobby__create,.lobby__ready,.lobby__leave{width:100%}.lobby__divider{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--ink-label);margin:0;display:flex}.lobby__divider:before,.lobby__divider:after{content:"";border-top:1px solid var(--hairline-strong);flex:1}.lobby__field-row{gap:var(--space-2);min-width:0;display:flex}.lobby__input{box-sizing:border-box;min-width:0;min-height:44px;padding:0 var(--space-3);font:inherit;font-size:var(--font-size-base);color:var(--text);background:var(--bg);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);flex:1}.lobby__input::placeholder{color:var(--ink-label);opacity:1}.lobby__input:focus-visible{outline:2px solid var(--ink-accent);outline-offset:2px}.lobby__input--code{font-size:var(--font-size-lg);letter-spacing:.3em;text-align:center;text-transform:uppercase;font-weight:700}.lobby__field-row .kc-btn{flex-shrink:0}.lobby__code{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;display:flex}.lobby__code-row{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.lobby__code-tiles{gap:var(--space-2);--face-top:color-mix(in srgb, var(--accent) 16%, var(--bg-raised));--face-bottom:color-mix(in srgb, var(--accent) 8%, var(--bg-raised));--face-border:color-mix(in srgb, var(--accent) 45%, transparent);--tile-text:var(--text);--tile-shadow:transparent;display:flex}.lobby__code-tiles .keycap-tile{width:clamp(40px,11vw,56px);font-size:var(--font-size-2xl)}.lobby__hint{font-size:var(--font-size-sm);text-align:center;color:var(--ink-secondary);margin:0;line-height:1.4}.lobby__copy-status{font-size:var(--font-size-sm);color:var(--ink-success);margin:0;font-weight:600;line-height:1.4}.lobby__players{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lobby__player{box-sizing:border-box;min-height:52px}.lobby__player-name{min-width:0;font-size:var(--font-size-md);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.lobby__player--waiting{font-size:var(--font-size-md);color:var(--ink-label);border-style:dashed;justify-content:center}.lobby__invite{gap:var(--space-2);flex-direction:column;display:flex}.lobby__feedback{font-size:var(--font-size-sm);margin:0;font-weight:600}.lobby__feedback--success{color:var(--ink-success)}.lobby__feedback--error{color:var(--ink-danger)}.lobby__countdown{font-size:var(--font-size-5xl);font-variant-numeric:tabular-nums;color:var(--ink-gold);align-self:center;font-weight:700;line-height:1}.lobby .lobby__ready--on{color:var(--ink-success);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.lobby__rematch{gap:var(--space-2);flex-direction:column;display:flex}.lobby__rematch-alert{font-size:var(--font-size-sm);text-align:center;color:var(--ink-gold);margin:0;font-weight:700}@media (min-width:900px){.lobby{max-width:max(440px, calc(var(--u) * 520));gap:calc(var(--u) * 20)}}.overlay-toast{right:var(--space-4);bottom:max(var(--space-4), env(safe-area-inset-bottom));left:var(--space-4);z-index:1100;box-sizing:border-box;gap:var(--space-3);max-width:420px;padding:var(--space-4);background:var(--bg-raised);border-color:var(--hairline-strong);animation:overlay-toast-in var(--dur-snappy) var(--spring-snappy) both;flex-direction:column;margin:0 auto;display:flex;position:fixed;box-shadow:0 12px 32px #00000059}.overlay-toast__body{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.overlay-toast__icon{width:40px;height:40px;color:var(--ink-accent);background:var(--tint);border-radius:var(--radius-md);flex-shrink:0;place-items:center;display:grid}.overlay-toast__text{flex:1;min-width:0}.overlay-toast__label{margin:0 0 2px}.overlay-toast__message{font-size:var(--font-size-md);color:var(--ink-secondary);overflow-wrap:anywhere;margin:0;line-height:1.4}.overlay-toast__actions{gap:var(--space-2);display:flex}.overlay-toast__actions .kc-btn{flex:1;min-width:0}.overlay-toast--top{top:max(var(--space-1), env(safe-area-inset-top));animation-name:overlay-toast-in-top;bottom:auto}@media (max-width:899.98px){:is(.app-shell:has(.game-layout)~.overlay-toast--top,.game-layout .overlay-toast--top){top:calc(var(--app-header-h) + 56px)}}.overlay-toast--top.overlay-toast--exit{animation-name:overlay-toast-out-top}@keyframes overlay-toast-in-top{0%{opacity:0;transform:translateY(calc(-1 * var(--space-4)))}}@keyframes overlay-toast-out-top{to{opacity:0;transform:translateY(calc(-1 * var(--space-4)))}}.install-prompt{z-index:1000}.install-prompt__text{color:var(--text);align-self:center}.achievement-toast{z-index:1200;cursor:pointer}.achievement-toast:focus-visible{outline:2px solid var(--ink-accent);outline-offset:2px}.achievement-toast__icon,.achievement-toast .achievement-toast__label{color:var(--ink-gold)}.achievement-toast__name{font-size:var(--font-size-base);color:var(--text);overflow-wrap:anywhere;font-weight:700;line-height:1.25}.achievement-toast.overlay-toast--enter{animation:achievement-toast-in var(--dur-bouncy) var(--spring-bouncy) both}.achievement-toast__icon{animation:achievement-icon-flip var(--dur-wow) var(--spring-wow) .2s both}.achievement-toast__glow{background:radial-gradient(var(--purple-glow), transparent 70%);opacity:0;pointer-events:none;border-radius:50%;width:300px;max-width:100%;height:140px;margin-left:-150px;animation:1.2s .2s both achievement-glow;position:absolute;top:-40px;left:50%}.achievement-toast__shine{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.achievement-toast__shine:after{content:"";background:linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--text) 20%, transparent) 50%, transparent 65%);animation:.9s .65s both achievement-shine;position:absolute;inset:0;transform:translate(-100%)}@keyframes achievement-toast-in{0%{opacity:0;transform:translateY(-60px)}}@keyframes achievement-icon-flip{0%{transform:rotateY(180deg)scale(.4)}}@keyframes achievement-glow{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes achievement-shine{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.achievement-toast__icon{animation:none}.achievement-toast__glow,.achievement-toast__shine{display:none}}.overlay-toast--exit{animation:.3s ease-in forwards overlay-toast-out}@keyframes overlay-toast-in{0%{opacity:0;transform:translateY(var(--space-4))}}@keyframes overlay-toast-out{to{opacity:0;transform:translateY(var(--space-4))}}@media (min-width:900px){.overlay-toast{top:calc(var(--app-header-h) + max(var(--space-4), calc(var(--u) * 16)));right:max(var(--space-6), calc(var(--u) * 24));width:max(340px, calc(var(--u) * 380));max-width:calc(100vw - 2 * var(--space-6));margin:0;animation-name:overlay-toast-in-desk;bottom:auto;left:auto}.overlay-toast--exit{animation-name:overlay-toast-out-desk}@keyframes overlay-toast-in-desk{0%{opacity:0;transform:translateY(calc(-1 * var(--space-4)))}}@keyframes overlay-toast-out-desk{to{opacity:0;transform:translateY(calc(-1 * var(--space-4)))}}}@media (prefers-reduced-motion:reduce){.overlay-toast,.overlay-toast--exit{animation:none}}.top-bar{width:100%;padding:var(--space-1) 0;justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.score-display{min-width:64px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-lg);text-align:center;color:var(--ink-gold);background:var(--bg-raised);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);border-bottom:2px solid color-mix(in srgb, var(--gold) 45%, var(--bg));border-radius:var(--radius-sm);font-weight:700;line-height:1.2;position:relative}.score-display .score-value{color:var(--ink-gold);font-variant-numeric:tabular-nums;font-weight:700}.score-flash{font-size:var(--font-size-sm);color:var(--ink-gold);pointer-events:none;animation:score-flash-up .8s var(--ease-out) both;font-weight:700;position:absolute;top:-12px;right:-8px}@keyframes score-flash-up{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.8)}}.tray{gap:var(--space-2);width:100%;padding:var(--space-2) 0 var(--space-1);flex-direction:column;display:flex}.tray-word-row{justify-content:center;align-items:center;gap:var(--space-3);min-height:44px;display:flex}.current-word{min-width:80px;font-size:var(--font-size-xl);letter-spacing:.12em;text-align:center;text-transform:uppercase;color:var(--text);font-weight:700}.current-word--empty{letter-spacing:.06em;text-transform:none;color:var(--ink-label);font-weight:500}.current-word--reject{animation:.35s reject-shake;color:var(--ink-danger)!important}@keyframes reject-shake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}50%{transform:translate(-5px)}70%{transform:translate(5px)}85%{transform:translate(-2px)}}.multiplier-badge{padding:3px var(--space-2);font-size:var(--font-size-sm);color:var(--ink-gold);background:color-mix(in srgb, var(--gold) 10%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 20%, transparent);border-radius:99px;font-weight:700}.multiplier-badge--fever{color:var(--ink-accent);background:color-mix(in srgb, var(--purple) 14%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--purple) 30%, transparent);animation:.4s infinite alternate fever-glow}@keyframes fever-glow{0%{box-shadow:0 0 0 1px color-mix(in srgb, var(--purple) 20%, transparent), 0 0 8px color-mix(in srgb, var(--purple) 15%, transparent)}to{box-shadow:0 0 0 1px color-mix(in srgb, var(--purple) 35%, transparent), 0 0 20px color-mix(in srgb, var(--purple) 25%, transparent)}}.action-buttons{gap:var(--space-2);width:100%;display:flex}.btn-submit{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);font:inherit;font-size:var(--font-size-base);letter-spacing:.02em;color:var(--on-accent);background:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 70%, white);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffff40, 0 4px 0 var(--press);cursor:pointer;flex:2;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn-submit:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff40, 0 6px 0 var(--press);transform:translateY(-2px)}.btn-submit:active:not(:disabled){box-shadow:inset 0 1px 0 #ffffff40, 0 1px 0 var(--press);transform:translateY(1px)}.btn-submit:disabled{opacity:.45;cursor:not-allowed}.btn-submit--glow{box-shadow:inset 0 1px 0 #ffffff40, 0 4px 0 var(--press), 0 0 18px color-mix(in srgb, var(--accent) 35%, transparent)}.btn-clear{min-height:48px;padding:var(--space-3);font:inherit;font-size:var(--font-size-base);color:var(--ink-label);background:var(--bg-raised);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;border-bottom-width:3px;flex:1;font-weight:600;transition:transform .12s}.btn-clear:hover:not(:disabled){border-color:var(--hairline-strong);transform:translateY(-2px)}.btn-clear:active:not(:disabled){border-bottom-width:1px;transform:translateY(1px)}.btn-clear:disabled{opacity:.45;cursor:not-allowed}.btn-submit:focus-visible,.btn-clear:focus-visible,.powerup-btn:focus-visible{outline:2px solid var(--ink-accent);outline-offset:2px}.powerup-row{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.powerup-btn{min-height:48px;padding:var(--space-1);font:inherit;border-radius:var(--radius-md);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:transform .12s;display:flex;position:relative;overflow:hidden}.powerup-btn:disabled{cursor:not-allowed}.powerup-icon,.powerup-label{z-index:1;position:relative}.powerup-icon{color:var(--text);place-items:center;line-height:1;display:grid}.powerup-icon svg{width:18px;height:18px}.powerup-label{font-size:var(--font-size-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-label);font-weight:600}.powerup-btn--active{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, var(--bg-raised))}.powerup-btn--active .powerup-label,.powerup-btn--active .powerup-icon{color:var(--ink-accent)}.powerup-btn--cooldown .powerup-icon,.powerup-btn--cooldown .powerup-label{opacity:.5}.powerup-cooldown-fill{background:color-mix(in srgb, var(--accent) 16%, transparent);pointer-events:none;transition:height .5s linear;position:absolute;bottom:0;left:0;right:0}.powerup-active-bar{background:var(--accent);pointer-events:none;height:3px;transition:width .1s linear;position:absolute;bottom:0;left:0}.active-powerups{gap:var(--space-1);width:100%;display:flex}.active-powerup-indicator{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--ink-accent);background:var(--tint);border:1px solid var(--hairline);border-radius:var(--radius-sm);flex:1;font-weight:600;display:flex}.active-powerup-bar{background:var(--hairline);border-radius:var(--radius-xs);flex:1;height:3px;overflow:hidden}.active-powerup-bar-fill{background:var(--accent);border-radius:var(--radius-xs);height:100%;transition:width .1s linear}.word-tray{justify-content:center;align-items:center;gap:var(--space-2);letter-spacing:normal;display:flex}.word-tray__tiles{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.word-tray__tiles .keycap-tile{width:32px;min-width:0;font-size:var(--font-size-md)}.word-tray__clear{width:32px;min-width:32px;height:32px;min-height:32px;font-size:var(--font-size-sm);color:var(--ink-label);border:1px solid var(--hairline-strong);background:0 0;border-bottom-width:2px;border-radius:50%}.found-words{flex-direction:column;min-height:0;display:flex}.found-words .eyebrow{margin:0}.found-words__list{gap:calc(var(--u) * 6);min-height:0;margin:calc(var(--u) * 10) 0 0;scrollbar-width:thin;flex-direction:column;padding:0;list-style:none;display:flex;overflow-y:auto}.found-words__item{justify-content:space-between;gap:var(--space-2);padding-bottom:calc(var(--u) * 6);font-size:max(12px, calc(var(--u) * 14));letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--hairline);font-weight:600;display:flex}.found-words__word{overflow-wrap:anywhere;min-width:0}.found-words__points{font-size:max(12px, calc(var(--u) * 14));letter-spacing:0;color:var(--ink-gold);flex-shrink:0;font-weight:500}.game-container.game-layout{column-gap:var(--space-2);width:100%;max-width:500px;padding:var(--space-2) max(12px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));background:radial-gradient(ellipse 120% 50% at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), var(--bg);grid-template:"status score""bar score""hud hud""board board"minmax(0,1fr)"word word""power power""submit submit"/minmax(0,1fr) auto;align-items:center;margin:0 auto;display:grid}.game-side,.score-panel,.word-panel{display:contents}.score-panel__label,.word-panel__label,.game-layout .found-words{display:none}.score-panel .score-display{grid-area:score}.game-status{white-space:nowrap;text-overflow:ellipsis;grid-area:status;align-self:end;min-width:0;overflow:hidden}.score-panel:not(:has(.game-progress)) .game-status{grid-row:1/span 2;align-self:center}.game-status .blitz-timer-title{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.game-status .blitz-timer--low{color:color-mix(in srgb, var(--ink-danger) 85%, var(--text));animation:.5s infinite alternate timer-low-pulse}@keyframes timer-low-pulse{0%{color:var(--text)}to{color:color-mix(in srgb, var(--ink-danger) 85%, var(--text))}}.game-progress{background:var(--bg-raised);border:1px solid var(--hairline);border-radius:99px;grid-area:bar;align-self:start;height:6px;margin-top:3px;overflow:hidden}.game-progress__fill{background:var(--accent);height:100%;box-shadow:0 0 8px var(--accent);border-radius:99px;transition:width .3s linear;display:block}.game-layout .zen-goals,.game-layout .hunt-hud{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);grid-area:hud}.game-layout .zen-goal,.game-layout .hunt-progress{color:var(--ink-secondary)}.game-layout .zen-goal-count{color:var(--text)}.game-layout .hunt-round-badge,.game-layout .hunt-target-word--remaining{color:var(--ink-gold)}.game-layout .game-board{margin-top:var(--space-2);grid-area:board;justify-content:center;align-self:stretch;container-type:size}.game-layout .canvas-wrapper{background:linear-gradient(color-mix(in srgb, var(--bg-raised) 60%, var(--bg)), var(--bg-raised));border:1px solid var(--hairline);border-radius:var(--radius-lg);flex:none;align-self:center;width:auto;box-shadow:inset 0 2px 10px #0004}.game-layout .canvas-wrapper canvas{width:min(100cqw - 2px,70cqh - 8.4px);display:block}.game-layout .deadline-line{align-self:center;width:calc(min(100cqw - 2px,70cqh - 8.4px) + 2px)}.game-layout .game-board.deadline-container--flash{box-shadow:none;animation:none}.game-layout .deadline-container--flash .canvas-wrapper{animation:.3s infinite alternate perimeter-flash}.word-panel .tray-word-row{margin:var(--space-2) 0;grid-area:word;min-height:40px}.word-panel .active-powerups{margin-bottom:var(--space-2);grid-area:active}.game-side .powerup-row{margin-bottom:var(--space-2);grid-area:power}.word-panel .action-buttons{grid-area:submit}.game-layout .btn-submit{width:100%}@media (max-width:899.98px){.game-layout .game-combo{z-index:2;translate:0 calc(var(--space-2) / 2);background:color-mix(in srgb, var(--purple) 14%, var(--bg-raised));pointer-events:none;grid-area:board;place-self:start center;margin:0;box-shadow:0 2px 8px #0006}.game-layout .word-panel .active-powerups{display:none}.game-layout .word-tray__tiles{flex-wrap:nowrap;min-width:0}.game-layout .word-tray__tiles .keycap-tile{flex:0 32px}}@media (min-width:900px){.app-shell>.screen-transition:has(>.game-layout){background-color:#0000}.game-container.game-layout{--board-h:min(calc(var(--u) * 760), calc(100dvh - var(--app-header-h) - var(--u) * 60));grid-template-columns:auto calc(var(--u) * 340);place-content:center;column-gap:calc(var(--u) * 28);max-width:none;height:100%;padding:calc(var(--u) * 20) calc(var(--u) * 28);background:0 0;grid-template-rows:auto;grid-template-areas:"board side"}.game-layout .game-board{height:var(--board-h);aspect-ratio:378/552;align-self:start;margin:0}.game-side{gap:calc(var(--u) * 12);height:var(--board-h);flex-direction:column;grid-area:side;align-self:start;min-height:0;display:flex}.game-side>*{flex-shrink:0}.score-panel{align-items:center;row-gap:calc(var(--u) * 4);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label""score score""status combo""bar bar";display:grid}.score-panel__label,.word-panel__label{display:block}.score-panel__label{grid-area:label}.game-layout .score-display{font-size:calc(var(--u) * 40);letter-spacing:-.02em;text-align:left;background:0 0;border:0;justify-self:start;padding:0}.score-panel:not(:has(.game-progress)) .game-status{grid-row:auto}.game-status{margin-top:calc(var(--u) * 6)}.game-progress{height:calc(var(--u) * 6);margin-top:calc(var(--u) * 6);background:var(--hairline);border:0}.game-layout .zen-goals,.game-layout .hunt-hud{padding:calc(var(--u) * 18);margin:0}.game-layout .hunt-hud{flex:1 1 0;min-height:0;overflow-y:auto}.game-layout .zen-goals{align-items:stretch;gap:calc(var(--u) * 8);flex-direction:column}.game-layout .zen-goal{justify-content:space-between;gap:calc(var(--u) * 12);min-width:0}.game-layout .zen-goal>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-layout .zen-goal-count{flex-shrink:0}.game-layout .zen-milestone-badge{margin-left:0}.word-panel{gap:calc(var(--u) * 10);width:100%;padding:calc(var(--u) * 18);flex-direction:column;display:flex}.word-panel .tray-word-row,.word-panel .active-powerups{margin:0}.word-panel .tray-word-row{min-height:calc(var(--u) * 48);justify-content:flex-start}.word-panel .word-tray,.word-panel .word-tray__tiles{justify-content:flex-start}.word-panel .word-tray__tiles .keycap-tile{width:max(28px, calc(var(--u) * 42));font-size:calc(var(--u) * 20)}.powerup-active-bar{display:none}.game-layout .btn-submit{min-height:max(44px, calc(var(--u) * 54));font-size:max(var(--font-size-md), calc(var(--u) * 16))}.game-side .powerup-row{margin:0}.game-layout .powerup-btn{min-height:max(44px, calc(var(--u) * 52))}.game-layout .found-words{flex:1 1 0;display:flex}}.animated-overlay .game-over-card,.daily-already-played-overlay .daily-already-played-content{align-items:center;gap:var(--space-2);width:min(calc(var(--u) * 340), calc(100% - var(--space-5)));max-width:none;padding:calc(var(--u) * 20);text-align:center;background:color-mix(in srgb, var(--bg-raised) 92%, transparent);flex-direction:column;display:flex}.animated-overlay .game-over-card{max-height:calc(100% - var(--space-3));overflow-y:auto}.animated-overlay .game-over-card>*{flex-shrink:0}.animated-overlay{container-type:size}@container (height<=380px){.animated-overlay .game-over-card{gap:var(--space-1);padding:calc(var(--u) * 12)}.animated-overlay .game-over-card .final-score{font-size:var(--font-size-2xl)}.animated-overlay .game-over-card .postgame-stats{gap:var(--space-1) var(--space-2);margin-top:var(--space-1);padding-top:var(--space-2);grid-template-columns:repeat(3,1fr)}.animated-overlay .game-over-card .postgame-stat-label{letter-spacing:.08em}}@container (height<=300px){.animated-overlay .game-over-card{padding:var(--space-2);gap:2px}.animated-overlay .game-over-card .postgame-stats{padding-top:var(--space-1);gap:2px var(--space-1);margin-top:0}.animated-overlay .game-over-card .postgame-stat-label{letter-spacing:.04em}.animated-overlay .game-over-card .game-over-buttons .kc-btn{height:40px}}@container (width<=230px){.animated-overlay .game-over-card .postgame-stats{grid-template-columns:minmax(0,1fr);row-gap:0;width:100%}.animated-overlay .game-over-card .postgame-stat{justify-content:space-between;align-items:baseline;gap:var(--space-2);text-align:left;flex-direction:row;padding:0;display:flex}.animated-overlay .game-over-card .postgame-stat-label{margin:0;line-height:1.3}.animated-overlay .game-over-card .postgame-stat-value{font-size:var(--font-size-md);text-align:right;overflow-wrap:anywhere;line-height:1.3}}.game-over-card .game-over-heading,.daily-already-played-content h2.eyebrow{font-size:var(--font-size-xs);color:var(--ink-label);margin:0}.game-over-card .game-over-new-best{font-size:var(--font-size-md);color:var(--ink-gold);margin:0}.game-over-card .final-score,.daily-previous-score .final-score{font-size:var(--font-size-4xl);letter-spacing:-.02em;color:var(--ink-gold);font-weight:700;line-height:1.1}.game-over-card .game-over-high-score{color:var(--ink-secondary);margin:0}.game-over-card .postgame-stats{max-width:none;margin:var(--space-2) 0 0;gap:var(--space-2) var(--space-3);border:0;border-top:1px solid var(--hairline);padding:var(--space-3) 0 0;background:0 0;border-radius:0}.game-over-card .postgame-stat-label{letter-spacing:.17em;color:var(--ink-label);margin-bottom:2px}.game-over-card .postgame-stat-value{color:var(--text)}.game-over-card .postgame-stat-value--highlight{color:var(--ink-gold)}.game-over-card .game-over-buttons{gap:var(--space-2);max-width:none}.game-over-card .game-over-buttons .kc-btn{flex:1;width:auto;height:48px;padding:0}.daily-already-played-content .daily-previous-score{color:var(--text);margin:0}.daily-already-played-overlay .daily-already-played-content p{margin:0 0 var(--space-2);color:var(--ink-secondary)}.partners-column{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.partners-toggles{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.partner-toggle-btn{padding:0 var(--space-2);gap:2px;display:inline-flex}.partner-toggle-btn svg{width:16px;height:16px}.partner-number{font-size:var(--font-size-sm);font-weight:700}.partner-toggle-btn--active{color:var(--text);background:color-mix(in srgb, var(--accent) 12%, var(--bg-raised));border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.waiting-for-partners{font-size:var(--font-size-sm);color:var(--ink-label)}.opponent-view{align-items:start;gap:var(--space-3);padding:var(--space-3);background:var(--bg-raised);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info board";display:grid}.opponent-view__info{align-items:flex-start;gap:var(--space-1);flex-direction:column;grid-area:info;min-width:0;display:flex}.opponent-header{align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex}.opponent-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.opponent-dot--connected{background:var(--success)}.opponent-dot--disconnected{background:var(--danger)}.opponent-label{min-width:0;font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-weight:600;overflow:hidden}.opponent-stats{align-items:baseline;gap:var(--space-3);width:100%;display:flex}.opponent-stat{gap:var(--space-1);flex-direction:column;display:flex}.opponent-stat__label{font-size:var(--font-size-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-secondary);font-weight:600}.opponent-score{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;color:var(--ink-gold);font-weight:700;line-height:1.1}.opponent-moves{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;color:var(--text);font-weight:700;line-height:1.1}.opponent-combo{font-size:var(--font-size-2xs);letter-spacing:.12em;color:var(--text);font-weight:700}.opponent-deadline-bar{background:var(--hairline);border-radius:99px;width:100%;height:4px;overflow:hidden}.opponent-deadline-fill{height:100%;transition:width .3s}.opponent-deadline-fill--normal{background:var(--gold)}.opponent-deadline-fill--danger{background:var(--danger)}.opponent-board{aspect-ratio:7/10;grid-area:board;width:72px;position:relative}.opponent-canvas{border-radius:var(--radius-xs);width:100%;height:100%;display:block;position:absolute;inset:0}.bounty-board{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bounty-card{--mc:var(--accent);--card-ink:color-mix(in srgb, var(--ink-secondary) 60%, var(--text));min-width:0;min-height:64px;padding:var(--space-2) var(--space-1);text-align:center;background:color-mix(in srgb, var(--mc) 8%, var(--bg-raised));border:1px solid color-mix(in srgb, var(--mc) 30%, transparent);border-bottom:3px solid color-mix(in srgb, var(--mc) 45%, var(--bg));border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.bounty-card--letter{--mc:var(--danger)}.bounty-card--vowels,.bounty-card--consonants{--mc:var(--purple)}.bounty-card--starts_with,.bounty-card--ends_with{--mc:var(--success)}.bounty-card--empty{border:1px dashed var(--hairline-strong);background:0 0;justify-content:center}.bounty-card--empty .bounty-card-desc{color:var(--ink-label)}.bounty-card-points{font-size:var(--font-size-xs);letter-spacing:.04em;color:color-mix(in srgb, var(--ink-gold) 70%, var(--text));font-weight:700}.bounty-card-symbol{font-size:var(--font-size-xl);letter-spacing:-.02em;color:var(--text);font-weight:800;line-height:1.1}.bounty-card-label{max-width:100%;font-size:var(--font-size-2xs);letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;color:var(--card-ink);font-weight:700;overflow:hidden}.bounty-card--matching{border-color:color-mix(in srgb, var(--gold) 70%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), 0 0 14px color-mix(in srgb, var(--gold) 25%, transparent);transform:translateY(-2px)}.bounty-card--flip{animation:.5s ease-out bounty-flip}@keyframes bounty-flip{0%,to{transform:rotateY(0)}50%{transform:rotateY(90deg)}}.bounty-feedback-overlay,.bounty-card-badge,.bounty-alert-banner{padding:var(--space-1);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;text-align:center;border-radius:var(--radius-md);z-index:5;pointer-events:none;justify-content:center;align-items:center;font-weight:800;animation:.2s cubic-bezier(.16,1,.3,1) bounty-pop;display:flex;position:absolute;inset:0}.bounty-feedback-overlay--claimed,.bounty-card-badge--claimed,.bounty-alert-banner--claimed{background:color-mix(in srgb, var(--success) 90%, var(--bg));color:var(--text-on-bright);border:1px solid color-mix(in srgb, var(--success) 60%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--success) 50%, transparent)}.bounty-feedback-overlay--snatched,.bounty-card-badge--snatched,.bounty-alert-banner--snatched{background:color-mix(in srgb, var(--danger) 90%, var(--bg));color:var(--text-on-bright);border:1px solid color-mix(in srgb, var(--danger) 60%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--danger) 50%, transparent)}@keyframes bounty-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.bounty-board-footer{font-size:var(--font-size-2xs);text-align:center;color:var(--ink-secondary)}.bounty-remaining-pill{padding:1px var(--space-2);font-variant-numeric:tabular-nums;border:1px solid var(--hairline-strong);border-radius:99px;display:inline-block}.domination-turn-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.turn-indicator{padding:2px var(--space-3);font-size:var(--font-size-xs);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--ink-label);border:1px solid var(--hairline-strong);border-radius:99px;place-self:flex-start start;align-items:center;font-weight:700;display:inline-flex}.turn-indicator--active{color:var(--text);background:color-mix(in srgb, var(--color-domination) 14%, transparent);border-color:color-mix(in srgb, var(--color-domination) 60%, transparent)}.turn-timer{font-family:var(--font-mono,monospace);font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--ink-label);padding:2px var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hairline-strong) 40%, transparent);align-items:center;font-weight:700;display:inline-flex}.turn-timer--low{color:var(--ink-danger)}.domination-territory{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.territory-row{align-items:baseline;column-gap:var(--space-2);row-gap:var(--space-1);min-width:0;font-size:var(--font-size-sm);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name score tiles""bar bar bar";display:grid}.territory-row__name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text);grid-area:name;font-weight:600;overflow:hidden}.territory-row__score{font-variant-numeric:tabular-nums;color:var(--ink-gold);grid-area:score;font-weight:700}.territory-row__tiles{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-secondary);grid-area:tiles}.territory-row__bar{background:var(--hairline);border-radius:99px;grid-area:bar;height:4px;overflow:hidden}.territory-row__fill{background:var(--owner);border-radius:99px;height:100%;transition:width .3s;display:block}.territory-bar{gap:var(--space-1);margin-top:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.territory-bar__labels{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:700;display:flex}.territory-bar__badge{padding:2px var(--space-2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hairline-strong) 40%, transparent);color:var(--text);font-variant-numeric:tabular-nums;align-items:center;display:inline-flex}.territory-bar__badge--you{color:var(--text)}.territory-bar__track{width:100%;height:var(--space-2);background:var(--hairline);border-radius:99px;display:flex;overflow:hidden}.territory-bar__fill{height:100%;transition:width .3s}.territory-bar__fill:first-child{border-top-left-radius:99px;border-bottom-left-radius:99px}.territory-bar__fill:last-child{border-top-right-radius:99px;border-bottom-right-radius:99px}.domination-flip-overlay{pointer-events:none;z-index:10;position:absolute;inset:0}.domination-tile{box-sizing:border-box;justify-content:center;align-items:center;padding:2px;display:flex;position:absolute}.domination-tile__letter{border-radius:var(--radius-sm);background:var(--owner,var(--accent));width:100%;height:100%;color:var(--text);font-weight:800;font-size:var(--font-size-md);justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0006}@keyframes tile-flip{0%{transform:perspective(400px)rotateY(0)}50%{transform:perspective(400px)rotateY(90deg)scale(1.08)}to{transform:perspective(400px)rotateY(0)}}.tile-flip,.domination-tile--flipped{animation:.6s ease-in-out tile-flip}.sabotage-alert,.help-alert{z-index:30;max-width:calc(100% - var(--space-4));padding:var(--space-2) var(--space-4);font-size:var(--font-size-xl);letter-spacing:-.01em;text-align:center;background:var(--bg-raised);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);pointer-events:none;font-weight:700;line-height:1.3;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.sabotage-alert{color:var(--ink-danger)}.help-alert{color:var(--ink-success)}.freeze-overlay{z-index:20;background:color-mix(in srgb, var(--accent) 8%, transparent);border:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-lg);pointer-events:none;position:absolute;inset:0}.team-score-label{font-size:var(--font-size-2xs);letter-spacing:.03em;font-variant-numeric:tabular-nums;color:var(--ink-secondary);font-weight:600;line-height:1.3}.coop-help-hints{font-size:var(--font-size-2xs);text-align:center;color:var(--ink-secondary);font-weight:500}.coop-relay-hud{gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex}.relay-badge{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 12%, var(--bg-raised));border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);display:flex}.relay-badge__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-secondary);font-weight:600}.relay-badge__letter{font-size:var(--font-size-2xl);color:var(--accent);font-weight:700;line-height:1}.relay-badge__bonus{font-size:var(--font-size-xs);color:var(--ink-success);font-weight:700}.team-fever-meter{width:100%;height:var(--space-5);background:var(--hairline-strong);border-radius:99px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.team-fever-meter__fill{background:linear-gradient(90deg, var(--color-coop), var(--warning));border-radius:99px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.team-fever-meter__label{z-index:1;font-size:var(--font-size-2xs);letter-spacing:.04em;color:var(--text);text-shadow:0 1px 2px #000c;font-weight:700;position:relative}.team-fever-banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);letter-spacing:.05em;color:var(--text-on-bright);background:linear-gradient(90deg, var(--warning), var(--gold));box-shadow:0 0 12px var(--warning-glow);justify-content:center;align-items:center;font-weight:800;animation:1.2s ease-in-out infinite fever-pulse;display:flex}@keyframes fever-pulse{0%,to{box-shadow:0 0 8px var(--warning-glow);transform:scale(1)}50%{box-shadow:0 0 16px var(--warning-glow);transform:scale(1.02)}}.game-board.mp-waiting{place-items:center;display:grid}.mp-waiting__panel{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.mp-waiting__text{font-size:var(--font-size-md);color:var(--text);font-weight:600}.game-over-card .game-over-title{font-size:var(--font-size-2xl);letter-spacing:-.02em;color:var(--text);margin:0;font-weight:700;line-height:1.15}.game-over-card .game-over-title--win{color:var(--ink-success)}.game-over-card .game-over-title--lose{color:var(--ink-danger)}.game-over-card .game-over-team-score{font-variant-numeric:tabular-nums;color:var(--ink-secondary);font-weight:600}@media (max-width:899.98px){.game-container.game-layout.game-layout--mp{grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto;grid-template-areas:"status score""opps score""hud hud""hint hint""board board""word word""submit submit"}.game-layout--mp .score-panel .game-status{grid-area:status;align-self:end}.game-layout--mp .mode-panel{display:contents}.game-layout--mp .mode-panel__label,.game-layout--mp .partners-column__label{display:none}.game-layout--mp .partners-column.panel{background:0 0;border:0;border-radius:0;grid-area:opps;align-self:start;padding:0;position:relative}.game-layout--mp .partners-toggles{gap:var(--space-1);flex-wrap:nowrap}.game-layout--mp .partner-toggle-btn{min-width:36px}.game-layout--mp .partner-toggle-btn:only-child{min-width:44px}.game-layout--mp .partners-list{top:calc(100% + var(--space-1));z-index:40;width:min(240px, calc(100vw - var(--space-6)));border-radius:var(--radius-md);position:absolute;left:0;box-shadow:0 12px 32px #0006}.game-layout--mp .partners-list .opponent-view{border:1px solid var(--hairline-strong)}.game-layout--mp:has(.animated-overlay) .partners-list{display:none}.game-layout--mp .domination-turn-header,.game-layout--mp .turn-indicator{grid-area:opps;align-self:center}.game-layout--mp .bounty-board,.game-layout--mp .domination-territory{margin-top:var(--space-2);grid-area:hud}.game-layout--mp .bounty-card{min-height:56px;padding:var(--space-1)}.game-layout--mp .bounty-card-symbol{font-size:var(--font-size-lg)}.game-layout--mp .bounty-board-footer,.game-layout--mp .coop-help-hints{margin-top:var(--space-1);grid-area:hint}.game-layout--mp .domination-territory{flex-direction:row}.game-layout--mp .territory-row{font-size:var(--font-size-xs);flex:1 1 0}.game-layout--mp .score-display .team-score-label{font-size:var(--font-size-2xs)}}@media (min-width:900px){.game-container.game-layout.game-layout--mp{grid-template-columns:auto auto}.game-layout--mp .game-side:has(>.partners-column){grid-template-columns:calc(var(--u) * 340) calc(var(--u) * 240);align-content:start;gap:calc(var(--u) * 12);grid-template-rows:auto auto auto minmax(0,1fr);display:grid}.game-layout--mp .game-side>*{grid-column:1}.game-layout--mp .game-side>.partners-column{scrollbar-width:thin;grid-area:1/2/-1;align-self:start;max-height:100%;overflow-y:auto}.game-layout--mp .game-side .score-panel{width:calc(var(--u) * 340)}.game-layout--mp .partners-column{gap:calc(var(--u) * 12)}.game-layout--mp .partners-column .opponent-view{gap:calc(var(--u) * 12);padding:calc(var(--u) * 14);border:1px solid var(--hairline);grid-template-columns:minmax(0,1fr);grid-template-areas:"info""board"}.game-layout--mp .opponent-board{width:100%}.game-layout--mp .opponent-score{font-size:max(var(--font-size-lg), calc(var(--u) * 26))}.game-layout--mp .opponent-moves{font-size:max(var(--font-size-base), calc(var(--u) * 22))}.game-layout--mp .score-display .team-score-label{margin-top:calc(var(--u) * 4);font-size:max(var(--font-size-xs), calc(var(--u) * 13));letter-spacing:.02em}.game-layout--mp .mode-panel{gap:calc(var(--u) * 12);flex-direction:column;display:flex}.game-layout--mp .bounty-card{min-height:calc(var(--u) * 96)}.game-layout--mp .bounty-card-symbol{font-size:max(var(--font-size-xl), calc(var(--u) * 26))}.game-layout--mp .bounty-board-footer{text-align:left}.game-layout--mp .domination-panel .territory-row{font-size:max(var(--font-size-sm), calc(var(--u) * 14))}.game-layout--mp .word-panel .coop-help-hints{text-align:left}.game-layout--mp .word-panel .current-word{min-width:0;font-size:max(var(--font-size-xl), calc(var(--u) * 24));text-align:left}.game-layout--mp .btn-clear{min-height:max(44px, calc(var(--u) * 54));font-size:max(var(--font-size-md), calc(var(--u) * 16))}}@media (prefers-reduced-motion:reduce){.btn-submit,.btn-clear,.powerup-btn,.score-flash,.powerup-cooldown-fill,.game-progress__fill,.active-powerup-bar-fill,.powerup-active-bar{transition:none}.btn-submit:hover:not(:disabled),.btn-submit:active:not(:disabled),.btn-clear:hover:not(:disabled),.btn-clear:active:not(:disabled),.powerup-btn:hover:not(:disabled),.powerup-btn:active:not(:disabled),.powerup-btn.kc-btn--secondary:hover:not(:disabled),.powerup-btn.kc-btn--secondary:active:not(:disabled),.btn-submit.kc-btn:hover:not(:disabled),.btn-submit.kc-btn:active:not(:disabled),.animated-btn.btn-submit:active,.animated-btn.btn-clear:active,.animated-btn.powerup-btn:active{transform:none}.game-layout .deadline-container--flash .canvas-wrapper{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--danger) 40%, transparent)}.current-word--reject,.game-layout .deadline-container--flash .canvas-wrapper,.game-status .blitz-timer--low,.animated-overlay,.bounty-card--flip,.tile-flip,.domination-tile--flipped,.team-fever-banner{animation:none}.bounty-card,.bounty-card--matching,.opponent-deadline-fill,.territory-row__fill,.territory-bar__fill,.team-fever-meter__fill{transition:none}.bounty-card--matching{transform:none}}.continue-run .continue-run__body{margin:var(--space-2) 0 var(--space-4);color:var(--ink-secondary);font-size:var(--font-size-md)}.continue-run .continue-run__go{width:100%}.game-combo{margin-top:var(--space-2);font-size:calc(var(--font-size-xs) * (1 + var(--combo-step,0) * .04));animation:combo-pop var(--dur-wow) var(--spring-wow);grid-area:combo;justify-self:center;position:relative}.game-combo--fade{animation:combo-fade-out .5s var(--ease-out) both}.badge-combo__count{margin-left:.4em;font-weight:500;display:inline-block}.badge-combo__count:before{content:"×";margin-right:.1em}.game-layout .game-combo.game-combo--hot,.game-combo--hot{background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 45%, var(--bg-raised)), color-mix(in srgb, var(--danger) 45%, var(--bg-raised)), color-mix(in srgb, var(--purple) 45%, var(--bg-raised)));box-shadow:0 2px 8px #0006, 0 0 24px color-mix(in srgb, var(--danger) 50%, transparent)}.game-combo__shock{border:2px solid var(--danger);border-radius:inherit;pointer-events:none;animation:.7s cubic-bezier(.16,1,.3,1) both combo-shock;position:absolute;inset:0}.combo-edge-flare{z-index:25;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 60px color-mix(in srgb, var(--purple) 67%, transparent);opacity:0;animation:.9s both combo-edge;position:absolute;inset:0}@keyframes combo-pop{0%{transform:scale(.5)}to{transform:none}}@keyframes combo-shock{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes combo-edge{0%{opacity:0}25%{opacity:1}to{opacity:0}}@media (min-width:900px){.game-combo{margin-top:calc(var(--u) * 6);justify-self:end}}@media (prefers-reduced-motion:reduce){.game-combo,.game-combo--fade{animation:none}.game-combo__shock,.combo-edge-flare{display:none}}.milestone{z-index:30;pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.milestone__dim{background:var(--bg);opacity:0;animation:.25s both milestone-dim;position:absolute;inset:0}.milestone__center{justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex;position:absolute;inset:0}.milestone__title{font-size:var(--font-size-2xl);letter-spacing:-.02em;background:linear-gradient(135deg, var(--accent), var(--purple));color:#0000;opacity:0;animation:milestone-stamp var(--dur-wow) var(--spring-wow) 80ms both;-webkit-background-clip:text;background-clip:text;font-weight:900}.milestone__pips{gap:var(--space-2);opacity:0;animation:milestone-rise var(--dur-smooth) var(--spring-smooth) .35s both;display:flex}.milestone__pip{background:var(--surface);border:1px solid var(--text-dim);box-sizing:border-box;border-radius:4px;width:34px;height:7px}.milestone__pip--on{background:linear-gradient(90deg, var(--accent), var(--purple));border-color:#0000}.milestone__pip--just{transform-origin:0;animation:milestone-fill var(--dur-bouncy) var(--spring-bouncy) .65s both}@keyframes milestone-dim{to{opacity:.6}}@keyframes milestone-stamp{0%{opacity:0;filter:blur(6px);transform:scale(2.4)}30%{opacity:1;filter:none}to{opacity:1;transform:none}}@keyframes milestone-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes milestone-fill{0%{transform:scaleX(0)}to{transform:none}}@media (prefers-reduced-motion:reduce){.milestone__title,.milestone__pips{opacity:1;animation:none}.milestone__pip--just{animation:none}}.game-over-stage{display:contents}.animated-overlay:has(.game-over-stage){overflow:hidden}.game-over-stage .game-over-card{animation:go-card-in var(--dur-smooth) var(--spring-smooth) .15s both}.game-over-stage .game-over-heading,.game-over-stage .game-over-title{animation:go-stamp var(--dur-wow) var(--spring-wow) .35s both}.game-over-stage .game-over-card>.eyebrow:not(.game-over-heading),.game-over-stage .final-score,.game-over-stage .game-over-team-score{animation:go-rise var(--dur-smooth) var(--spring-smooth) .6s both}.game-over-stage .game-over-high-score{animation:go-rise var(--dur-smooth) var(--spring-smooth) 1.9s both}.game-over-stage .badge-score.game-over-new-best{animation:go-badge var(--dur-wow) var(--spring-wow) 1.95s both}.game-over-stage .postgame-stat{animation:go-rise var(--dur-snappy) var(--spring-snappy) both}.game-over-stage .postgame-stat:first-child{animation-delay:2.2s}.game-over-stage .postgame-stat:nth-child(2){animation-delay:2.31s}.game-over-stage .postgame-stat:nth-child(3){animation-delay:2.42s}.game-over-stage .postgame-stat:nth-child(4){animation-delay:2.53s}.game-over-stage .postgame-stat:nth-child(5){animation-delay:2.64s}.game-over-stage .game-over-buttons>*{animation:go-rise var(--dur-snappy) var(--spring-snappy) both}.game-over-stage .game-over-buttons>:first-child{animation-delay:2.1s}.game-over-stage .game-over-buttons>:nth-child(2){animation-delay:2.19s}.game-over-stage .game-over-buttons>:nth-child(3){animation-delay:2.28s}.game-over-stage:is([data-result=new-best],[data-result=solo]) .game-over-buttons>:first-child{animation-delay:2.75s}.game-over-stage:is([data-result=new-best],[data-result=solo]) .game-over-buttons>:nth-child(2){animation-delay:2.84s}.game-over-stage:is([data-result=new-best],[data-result=solo]) .game-over-buttons>:nth-child(3){animation-delay:2.93s}.game-over-stage:is([data-result=win],[data-result=draw]) .game-over-title{background:linear-gradient(135deg, var(--ink-gold), var(--purple));color:#0000;-webkit-background-clip:text;background-clip:text}.game-over-stage:where([data-result=lose]) .game-over-title{animation:go-settle var(--dur-smooth) var(--spring-smooth) .35s both}@media (prefers-reduced-motion:reduce){.game-over-stage:where([data-result=lose]) .game-over-title{animation:none}}.animated-overlay:has(.game-over-stage[data-result=lose]){-webkit-backdrop-filter:blur(24px)grayscale(.8)brightness(.6);animation:overlay-enter var(--dur-smooth) var(--spring-smooth) both, go-grey var(--dur-smooth) ease both}.game-over-stage[data-skipped],.game-over-stage[data-skipped] *{animation:none}@media (min-width:900px){.animated-overlay:has(.game-over-stage){inset:var(--app-header-h) 0 0 0;border-radius:0;width:auto;height:auto;position:fixed}.animated-overlay .game-over-card{width:min(360px, calc(100% - var(--space-5)))}.animated-overlay .game-over-card .postgame-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes go-card-in{0%{opacity:0;transform:translateY(70px)scale(.94)}to{opacity:1;transform:none}}@keyframes go-stamp{0%{opacity:0;filter:blur(6px);transform:scale(2.2)}30%{opacity:1;filter:none}to{opacity:1;transform:none}}@keyframes go-settle{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes go-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes go-badge{0%{opacity:0;transform:scale(.3)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes go-grey{0%{-webkit-backdrop-filter:blur(24px)}}.app-shell .panel,.app-shell .tinted-card{background:var(--bg-raised);border-color:var(--hairline-strong);border-radius:var(--radius-lg);box-shadow:0 6px 0 color-mix(in srgb, var(--text) 4%, var(--bg))}.app-shell .kc-btn,.app-shell .kc-btn:hover:not(:disabled),.app-shell .kc-btn:active:not(:disabled){border-radius:var(--radius-md);box-shadow:none;font-weight:700}.app-shell .screen-header__title{letter-spacing:-.035em}.app-shell .stats-seg{border-radius:var(--radius-md);box-shadow:none}.app-shell .panel.game-over-card,.app-shell .panel.onboard-card{border-radius:var(--radius-xl)}.app-shell .panel.onboard-card{box-shadow:0 6px 0 color-mix(in srgb, var(--text) 4%, var(--bg))}
