@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0b0e12;--bg-raised: #12171d;--bg-overlay: rgba(9, 11, 15, .78);--line: #232b34;--line-strong: #33404d;--ink: #eef2f6;--ink-mute: #98a4b1;--ink-faint: #7f90a0;--ember: #ff6a2b;--ember-bright: #ffb037;--ember-soft: rgba(255, 106, 43, .14);--tide: #35c4ff;--tide-soft: rgba(53, 196, 255, .14);--emote-seat0: #ffb037;--emote-seat1: #7fdcff;--emote-seat2: #7dff9a;--emote-seat3: #cf8dff;--win: #6ee7a0;--lose: #ff7d8a;--font: "Sora Variable", ui-sans-serif, system-ui, sans-serif;--fs-xs: .75rem;--fs-s: .875rem;--fs-m: 1rem;--fs-l: 1.25rem;--fs-xl: 1.75rem;--fs-hero: clamp(1.9rem, 8vw, 3.1rem);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 72px;--radius: 16px;--radius-s: 10px;--radius-m: 12px;--radius-pill: 999px;--shadow-raised: 0 10px 32px rgba(0, 0, 0, .5);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .14s;--t-med: .28s;--t-enter: .26s;--t-flight: .46s;--t-ceremony: .62s;--tap: 44px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-m);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-y:none}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer;padding:0}input{font:inherit}a{color:inherit}::selection{background:var(--ember-soft)}.btn{white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);border-radius:var(--radius-pill);font-weight:600;font-size:var(--fs-m);letter-spacing:.01em;transition:transform var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),opacity var(--t-fast) var(--ease-out);user-select:none;-webkit-tap-highlight-color:transparent}.btn>svg,.quiet-link>svg{flex-shrink:0}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn:focus-visible{outline:2px solid var(--ember-bright);outline-offset:3px}.btn-primary{background:var(--ember);color:#17130f}@media(hover:hover)and (pointer:fine){.btn-primary:hover{background:var(--ember-bright)}}.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}@media(hover:hover)and (pointer:fine){.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--ink-faint)}}.field-label{display:block;font-size:var(--fs-s);color:var(--ink-mute);margin-bottom:var(--sp-2);font-weight:600}.field{width:100%;min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--radius-s);border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--ink)}.field:focus{outline:2px solid var(--ember);outline-offset:1px;border-color:transparent}.field-error{margin-top:var(--sp-2);font-size:var(--fs-s);color:var(--lose)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-reduced-motion:reduce){::details-content{transition-duration:.01ms!important}}.code-tag:focus-visible,select.code-tag:focus-visible,.faq-item>summary:focus-visible,.faq-item>p a:focus-visible,.privacy p a:focus-visible,.emote-chip:focus-visible,.chip-quiet:focus-visible,.preset-card:focus-visible,.quiet-link:focus-visible,.icon-btn:focus-visible,.dock-item:focus-visible,.dock-fab:focus-visible,.hero-step-in:focus-visible{outline:2px solid var(--ember-bright);outline-offset:3px}.landing{min-height:100dvh;display:flex;flex-direction:column}.hero{min-height:100dvh;display:flex;flex-direction:column;align-items:center;text-align:center;padding:max(var(--sp-6),env(safe-area-inset-top)) var(--sp-5) var(--sp-5);gap:var(--sp-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.b2d-ember-elim{animation:ember-gutter 1.2s ease-out forwards}@keyframes ember-gutter{0%{opacity:1}30%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.b2d-ember-elim{animation:none;opacity:0}}.b2d-ember-fading{opacity:0;transition:opacity 1s ease .55s}.dare-board{width:min(72vw,320px);aspect-ratio:1}.dare-tier{font-weight:600}.daily-title-beaten{position:relative;display:inline-block}.daily-title-beaten .daily-title-text{position:relative;display:inline-block;opacity:.7}.daily-title-beaten .daily-title-text:after{content:"";position:absolute;left:-5%;right:-5%;top:50%;height:4px;border-radius:2px;background:var(--ink-mute);transform:rotate(-9deg)}.daily-beaten-badge{position:absolute;top:12%;right:-3em;transform:translateY(-50%) rotate(6deg);z-index:1;background:var(--ember);color:#14181e;font-size:var(--fs-xs);font-weight:700;letter-spacing:.01em;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.daily-done{color:var(--win);font-weight:600}.daily-streak{font-weight:600}.daily-rotates{font-size:var(--fs-xs)}.centered-card.faq-page{--card-col: 600px;align-items:center;text-align:left;gap:var(--sp-4)}.about-title{font-size:var(--fs-l);font-weight:700;color:var(--ink)}.about-body{color:var(--ink-mute)}.faq{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.faq-item{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--sp-5);interpolate-size:allow-keywords}.faq-item>summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-block:var(--sp-4);min-height:var(--tap)}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{content:"+";color:var(--ember);font-size:var(--fs-l);line-height:1;transition:transform var(--t-fast) var(--ease-out)}.faq-item[open]>summary:after{transform:rotate(45deg)}.faq-item::details-content{block-size:0;overflow-y:clip;opacity:0;transition:block-size var(--t-fast) var(--ease-out),opacity var(--t-fast) var(--ease-out),content-visibility var(--t-fast) allow-discrete}.faq-item[open]::details-content{block-size:auto;opacity:1}.faq-item>p{margin-top:0;padding-bottom:var(--sp-4);color:var(--ink-mute);font-size:var(--fs-m)}.brand{font-size:var(--fs-s);font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--ember)}.brand-mini{font-size:var(--fs-xs);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--ember)}.hero-title{font-size:var(--fs-hero);font-weight:700;line-height:1.08;letter-spacing:-.02em}.hero-line{display:block}.hero-sub{color:var(--ink-mute);font-size:var(--fs-m);max-width:34ch;line-height:1.55}.hero-frame{width:100%;max-width:560px;position:relative;flex:1 0 auto;display:flex;justify-content:center}@media(min-width:768px){.hero-frame{flex:0 0 auto}}.hero-board{width:min(44dvh,420px,94vw);height:min(44dvh,420px);border-radius:var(--radius);overflow:hidden;position:relative;container-type:size}.hero-board:after{content:"";position:absolute;inset:0;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line);pointer-events:none}.hero-ctas{display:flex;flex-direction:column;gap:var(--sp-3);width:100%;max-width:340px}.hero-ctas-row{display:flex;gap:var(--sp-3)}.hero-ctas-row>*{flex:1}.btn-big{min-height:54px;font-size:var(--fs-l)}.btn-wide{width:100%}.btn-small{min-height:var(--tap);padding:0 var(--sp-4);font-size:var(--fs-s)}.btn-danger{background:var(--lose);color:#1c0f12}.footer-note{font-size:var(--fs-xs);color:var(--ink-mute)}.centered-card{--card-col: 430px;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-5);text-align:center}.card-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.01em}.muted{color:var(--ink-mute);max-width:36ch}.overlay{position:fixed;inset:0;background:#090b0fe0;display:flex;align-items:flex-end;justify-content:center;z-index:80}.overlay-reveal{animation:overlay-reveal var(--t-enter) var(--ease-out)}@keyframes overlay-reveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.overlay-reveal{animation:none}}.sheet{max-height:calc(100dvh - var(--sp-3));overflow-y:auto;overscroll-behavior:contain;width:100%;max-width:430px;background:var(--bg-raised);border:1px solid var(--line);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;padding:var(--sp-6) var(--sp-5) max(var(--sp-6),env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--sp-4);text-align:center;align-items:center}@media(min-width:640px){.overlay{align-items:center}.sheet{border-radius:var(--radius);border-bottom:1px solid var(--line)}}.overlay:not(.overlay-reveal) .sheet{transition:opacity var(--t-enter) var(--ease-out),transform var(--t-enter) var(--ease-out)}@starting-style{.overlay:not(.overlay-reveal) .sheet{opacity:0;transform:translateY(12px)}}@media(min-width:640px){@starting-style{.overlay:not(.overlay-reveal) .sheet{opacity:0;transform:scale(.98)}}}.nick-form{width:100%;display:flex;flex-direction:column;gap:var(--sp-3);text-align:left}.rules-list{margin:0;padding-left:1.2em;text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:var(--sp-3);line-height:1.5}.rules-surge{color:var(--ember-bright);font-size:var(--fs-s);text-align:left}.code-display{display:flex;gap:var(--sp-2);justify-content:center;margin:var(--sp-2) 0 var(--sp-3)}.code-char{display:grid;place-items:center;width:44px;height:54px;border-radius:var(--radius-s);background:var(--bg-raised);border:1px solid var(--line-strong);font-size:var(--fs-xl);font-weight:700;color:var(--ember-bright);animation:code-pop var(--t-flight) var(--ease-spring) backwards}@keyframes code-pop{0%{transform:translateY(10px) scale(.9);opacity:0}}.lobby-roster{margin:var(--sp-3) 0 0;color:var(--ink);font-size:var(--fs-s);font-weight:600;text-align:center}.waiting-pulse{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--ink-mute);font-size:var(--fs-s)}.game-screen{height:100dvh;display:flex;flex-direction:column;overflow:hidden}@media(display-mode:standalone){.game-screen{height:100vh}.centered-card,.hero{min-height:100vh}}.hud{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);z-index:10}.hud-top{justify-content:space-between;padding-top:max(var(--sp-3),env(safe-area-inset-top))}.hud-bottom{flex-wrap:wrap;justify-content:space-between;padding-bottom:max(var(--sp-3),env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg-raised)}@media(max-width:767px){.hud-bottom{width:min(100vw,480px);margin-inline:auto;background:color-mix(in srgb,var(--bg-raised) 96%,transparent);border-radius:var(--radius) var(--radius) 0 0;padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + env(safe-area-inset-bottom))}.hud-bottom .btn,.hud-bottom .icon-btn{min-height:48px}}.hud-actions{display:flex;gap:var(--sp-2)}.skill-inline{display:flex;align-items:center;gap:var(--sp-4);position:relative}.skill-urgent{border-color:var(--ember-bright);animation:surge-call 1.1s ease-in-out infinite}.skill-callout{position:absolute;width:max-content;max-width:200px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--ember-bright);border-radius:var(--radius-s);background:var(--bg-raised);color:var(--ember-bright);font-size:var(--fs-xs);font-weight:600;text-align:center;z-index:5}.skill-inline .skill-callout{bottom:calc(100% + 14px);right:0}.icon-btn.nudge-pulse{border-color:var(--ember-bright);color:var(--ember-bright);animation:surge-call 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.icon-btn.nudge-pulse{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ember-bright) 30%,transparent)}}.status-line{width:100%;order:3;text-align:center;font-size:var(--fs-s);color:var(--ink-mute);min-height:1.4em}.board-wrap{flex:1;position:relative;min-height:0;container-type:size;display:flex;background:radial-gradient(ellipse 70% 45% at 50% 78%,rgba(255,106,43,.07),transparent),radial-gradient(ellipse 60% 40% at 50% 12%,rgba(53,196,255,.05),transparent)}.board-wrap canvas,.hero-board canvas{display:block;transform:translateZ(0)}.board-loading{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(255,106,43,.06),transparent 60%),var(--bg)}.conn-banner{position:absolute;top:var(--sp-3);left:50%;transform:translate(-50%);background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-s);color:var(--ink-mute)}.notice-toast{position:absolute;bottom:var(--sp-4);left:50%;transform:translate(-50%);background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-s);color:var(--ink);animation:toast-in var(--t-enter) var(--ease-out);max-width:min(90vw,360px);text-align:center}@keyframes toast-in{0%{transform:translate(-50%,8px);opacity:0}}.notice-toast-leaving{animation:toast-out var(--t-fast) var(--ease-out) forwards}@keyframes toast-out{to{transform:translate(-50%,6px);opacity:0}}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);height:var(--tap);padding:0 var(--sp-3);border-radius:var(--radius-pill);background:var(--bg-raised);border:1px solid var(--line);font-size:var(--fs-s);font-weight:600;transition:border-color var(--t-med) var(--ease-out),box-shadow var(--t-med) var(--ease-out)}.chip-seat0.chip-active{border-color:var(--ember);box-shadow:0 0 0 1px var(--ember),0 0 18px -6px var(--ember)}.chip-seat1.chip-active{border-color:var(--tide);box-shadow:0 0 0 1px var(--tide),0 0 18px -6px var(--tide)}.chip-dot{width:10px;height:10px;border-radius:50%;flex:none}.chip-seat0 .chip-dot{background:var(--ember)}.chip-seat1 .chip-dot{background:var(--tide)}.chip-name{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:768px){.chip-name{max-width:24ch}}.chip-quiet{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;min-width:32px;margin-right:calc(var(--sp-2) * -1);padding:0 var(--sp-2);border:0;background:none;color:var(--ink-mute);cursor:pointer;border-radius:var(--radius-pill)}.chip-quiet[aria-pressed=true]{opacity:.65}@media(hover:hover){.chip-quiet:hover{color:var(--ink)}}.chip-turn{font-size:var(--fs-s);line-height:1;color:var(--ember-bright);display:inline-flex}.chip-seat1 .chip-turn{color:var(--tide)}.chip-you{font-size:var(--fs-xs);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em}.chip-offline{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:var(--lose);animation:blink 1.4s ease-in-out infinite}@keyframes blink{50%{opacity:.25}}.result-headline{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.02em;line-height:1.05}.result-headline.is-win{color:var(--win)}.result-headline.is-lose{color:var(--ink)}.result-detail{color:var(--ink-mute)}.result-actions{display:flex;flex-direction:column;gap:var(--sp-3);width:100%}.rematch-nudge{color:var(--ember-bright);font-size:var(--fs-s);animation:blink 2s ease-in-out infinite}.quiet-link{color:var(--ink-mute);font-size:var(--fs-s);text-decoration:none;padding:var(--sp-2);min-height:44px;display:inline-flex;align-items:center;justify-content:center}@media(hover:hover)and (pointer:fine){.quiet-link:hover{color:var(--ink)}}.timer-ring{flex:none}.board2d-wrap{display:flex;align-items:center;justify-content:center;padding:var(--sp-3);min-height:0}.hero-board .board2d-wrap{height:100%;padding:var(--sp-2)}:root{--board-cap: 560px}@media(min-width:1000px)and (min-height:1200px){:root{--board-cap: 640px}}.board2d{width:100%;height:100%;max-width:max(308px,min(94vw,62dvh,var(--board-cap)));aspect-ratio:1;touch-action:manipulation;filter:drop-shadow(0 18px 44px rgba(0,0,0,.5))}.b2d-tile{fill:#171d25;stroke:#242d38;stroke-width:1;transition:fill var(--t-med) var(--ease-out),stroke var(--t-med) var(--ease-out);-webkit-tap-highlight-color:transparent}.b2d-burn-a{fill:#ff6a2b33;stroke:#ff6a2b80}.b2d-burn-b{fill:#35c4ff2b;stroke:#35c4ff70}@keyframes b2d-ignite-a{0%{fill:#ffb037f2;stroke:#fff3d6}to{fill:#ff6a2b33;stroke:#ff6a2b80}}@keyframes b2d-ignite-b{0%{fill:#7fdcfff2;stroke:#e8f9ff}to{fill:#35c4ff2b;stroke:#35c4ff70}}.b2d-ignite.b2d-burn-a{animation:b2d-ignite-a var(--t-ceremony) var(--ease-out) backwards}.b2d-ignite.b2d-burn-b{animation:b2d-ignite-b var(--t-ceremony) var(--ease-out) backwards}.b2d-legal{fill:#1f2833;stroke:#ffd9a8a6;stroke-width:1.6;cursor:pointer;animation:b2d-breathe 1.9s ease-in-out infinite}@keyframes b2d-breathe{0%,to{stroke-opacity:.4}50%{stroke-opacity:1}}.b2d-sel{fill:#ffd9a829;stroke:var(--path-glow);stroke-width:2.6;animation:none;cursor:pointer}.b2d-sel-surge{fill:#ffb03738;stroke:var(--ember-bright)}.b2d-path-dot{fill:var(--path-glow);opacity:.75;animation:b2d-dot-in var(--t-enter) var(--ease-spring) backwards}@keyframes b2d-dot-in{0%{opacity:0;transform:scale(.2);transform-origin:center;transform-box:fill-box}}.b2d-ember-walk{transition:transform var(--t-flight) var(--ease-out);will-change:transform}.b2d-ember-halo{opacity:.4;animation:b2d-halo 2.6s ease-in-out infinite}@keyframes b2d-halo{0%,to{opacity:.32}50%{opacity:.5}}.b2d-ember{stroke:#ffffff8c;stroke-width:1}.b2d-ember-dance{animation:b2d-flame-dance 2.8s ease-in-out infinite alternate}@keyframes b2d-flame-dance{0%{transform:rotate(-7deg) scale(.98)}to{transform:rotate(7deg) scale(1.03)}}@media(prefers-reduced-motion:reduce){.b2d-ember-dance{animation:none}}.dare-board .b2d-ember-dance{animation-name:b2d-flame-dance-bold}@keyframes b2d-flame-dance-bold{0%{transform:rotate(-12deg) scale(.96)}to{transform:rotate(12deg) scale(1.08)}}.dare-board .b2d-ember-halo{animation-name:b2d-halo-bold}@keyframes b2d-halo-bold{0%,to{opacity:.3;transform:scale(.92)}50%{opacity:.75;transform:scale(1.14)}}@media(prefers-reduced-motion:reduce){.dare-board .b2d-ember-dance{animation:none}.dare-board .b2d-ember-halo{animation-name:b2d-halo}}.code-tag{height:var(--tap);white-space:nowrap;font-size:var(--fs-s);font-weight:700;letter-spacing:.08em;color:var(--ink-mute);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--sp-2) var(--sp-3);min-height:var(--tap);display:inline-flex;align-items:center}.code-tag:active{transform:scale(.96)}.code-tag.invite-chip{min-width:104px;justify-content:center}.reload-banner{position:fixed;left:50%;bottom:max(var(--sp-5),env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--fs-s);z-index:90;box-shadow:var(--shadow-raised)}.copy-manual{width:100%;margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-s);color:var(--ink);font-size:var(--fs-s);font-family:inherit;text-align:center}.card-preview{width:100%;margin:var(--sp-4) 0}.card-preview canvas{width:100%;height:auto;display:block;border-radius:var(--radius-s);border:1px solid var(--line)}.result-ladder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);width:100%;margin-top:var(--sp-3)}.challenge-preview{color:var(--ink-mute);font-size:var(--fs-xs);max-width:100%;overflow-wrap:anywhere}.challenge-preview b{color:var(--ink);font-weight:700}.replay-cta-row{width:100%;display:flex;justify-content:center;padding-block:var(--sp-2)}.rematch-slot{min-height:1.4em;margin:var(--sp-1) 0 0}.result-footer{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:0}button.quiet-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--fs-s)}.invite-qr{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);margin-top:var(--sp-3)}.invite-qr svg{width:min(228px,52vw);height:auto;display:block;padding:var(--sp-3);background:#fff;border-radius:var(--radius-s)}.qr-hint{font-size:var(--fs-xs)}.field-code{text-align:center;font-size:var(--fs-xl);letter-spacing:.4em;text-transform:uppercase;font-weight:600}.b2d-last{fill:none;stroke:#ffd9a88c;stroke-width:1.6;stroke-dasharray:5 4;animation:b2d-last-in var(--t-flight) var(--ease-out) backwards}@keyframes b2d-last-in{0%{opacity:0}to{opacity:1}}.b2d-tile:focus{outline:none}.b2d-tile:focus-visible{stroke:var(--path-glow);stroke-width:2.4}.hud-cluster{display:flex;align-items:center;gap:var(--sp-2)}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);margin-bottom:var(--sp-3)}.preset-card{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--ink);text-align:left;cursor:pointer;font:inherit;transition:border-color var(--t-fast) var(--ease-out)}.preset-card.preset-active{border-color:var(--ember);background:var(--ember-soft)}.preset-name{font-weight:600;font-size:var(--fs-s)}.preset-pitch{font-size:var(--fs-xs);color:var(--ink-mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}.preset-line{font-size:var(--fs-s);margin-bottom:var(--sp-2)}.preset-toggle{margin-bottom:var(--sp-3)}.b2d-void{fill:#05070a;stroke:#11161c}.b2d-scorched{fill:#221a16;stroke:#3a2d24}.draft-clock{font-variant-numeric:tabular-nums;min-width:3ch;font-size:var(--fs-xl);font-weight:600;color:var(--ember-bright);margin:var(--sp-2) 0}.draft-rival{font-size:var(--fs-s);margin-top:var(--sp-2)}.b2d-ability-target{fill:#24303c;stroke:#7fdcffbf;stroke-width:1.8;cursor:pointer;animation:b2d-breathe 1.4s ease-in-out infinite}.chip-seat2.chip-active{border-color:#2fd45f99}.chip-seat3.chip-active{border-color:#9a3ff099}.chip-seat2 .chip-dot{background:var(--seat2-deep)}.chip-seat3 .chip-dot{background:var(--seat3-deep)}.b2d-burn-c{fill:#2fd45f2e;stroke:#2fd45f73}.b2d-burn-d{fill:#9a3ff033;stroke:#9a3ff07a}.hud-rivals{display:flex;gap:var(--sp-2);flex-wrap:wrap}.board3d-wrap{width:100%;height:100%;flex:1;min-height:0;border-radius:var(--radius);overflow:hidden}.board3d-loading{background:var(--bg-raised)}.board3d-wrap canvas{display:block;width:100%!important;height:100%!important}.emote-row{display:flex;flex-wrap:nowrap;gap:var(--sp-1);justify-content:safe center;overflow-x:auto;scrollbar-width:none;max-width:100%;margin-top:var(--sp-2)}.emote-row::-webkit-scrollbar{display:none}.emote-chip{position:relative;display:inline-flex;align-items:center;flex:none;min-height:32px;padding:0 7px;font-size:var(--fs-xs);font-family:inherit;color:var(--ink-mute);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.emote-chip:after{content:"";position:absolute;inset:-6px -2px}.emote-chip:active{transform:scale(.94)}@media(hover:hover)and (pointer:fine){.emote-chip:hover{color:var(--ink);border-color:var(--line-strong)}}.emote-word{position:absolute;top:8%;left:50%;transform:translate(-50%);font-weight:700;font-size:var(--fs-xl);pointer-events:none;animation:emote-pop 2.3s var(--ease-out) forwards;text-shadow:0 2px 18px rgba(0,0,0,.6);z-index:20}.emote-seat0{color:var(--emote-seat0)}.emote-seat1{color:var(--emote-seat1)}.emote-seat2{color:var(--emote-seat2)}.emote-seat3{color:var(--emote-seat3)}@keyframes emote-pop{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.85)}12%{opacity:1;transform:translate(-50%) translateY(0) scale(1.08)}20%{transform:translate(-50%) translateY(0) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-10px)}}@media(prefers-reduced-motion:reduce){.emote-word{animation:none;opacity:1}}.privacy{--card-col: 560px;align-items:center;text-align:left;gap:var(--sp-3)}.privacy h2{font-size:var(--fs-l);margin-top:var(--sp-3)}.doc-date{color:var(--ink-faint);font-size:var(--fs-xs);letter-spacing:.04em}.privacy p{color:var(--ink-mute);font-size:var(--fs-m);line-height:1.6}.privacy p a,.faq-item>p a{color:var(--ember-bright)}@media(hover:hover)and (pointer:fine){.privacy p a:hover,.faq-item>p a:hover{text-shadow:0 0 12px rgba(255,106,43,.45)}}.firecraft-page p{color:var(--ink-mute);line-height:1.6}.firecraft-page strong{color:var(--ink)}.firecraft-kicker{color:var(--ember);font-size:var(--fs-xs);font-weight:700;letter-spacing:.28em;text-transform:uppercase;margin-bottom:calc(-1 * var(--sp-2))}.firecraft-rules{display:flex;flex-direction:column;gap:var(--sp-3);text-align:left;align-self:stretch}.firecraft-rules .card-title{font-size:var(--fs-l)}.firecraft-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.firecraft-board{width:min(320px,82vw)}.firecraft-figure figcaption{font-size:var(--fs-s);text-align:center}.firecraft-list{margin:0;padding-left:1.2em;color:var(--ink-mute);line-height:1.6;display:flex;flex-direction:column;gap:var(--sp-2)}.signin{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4)}.signin-done{font-size:var(--fs-xs);margin-top:var(--sp-3)}.consent-banner{position:fixed;left:50%;bottom:max(var(--sp-4),env(safe-area-inset-bottom));transform:translate(-50%);width:min(92vw,440px);padding:var(--sp-4);background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius);font-size:var(--fs-s);z-index:90;box-shadow:var(--shadow-raised)}.consent-banner a{color:var(--ember-bright)}.consent-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-3)}.ad-slot{width:min(92vw,336px);min-height:280px;margin:var(--sp-5) auto 0;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:var(--radius-s)}.ad-slot-label{color:var(--ink-mute);font-size:var(--fs-xs);letter-spacing:.08em}@media(max-width:767px){.ad-slot-landing{margin-bottom:calc(96px + env(safe-area-inset-bottom))}.centered-card>.ad-slot-waiting{width:min(300px,calc(100vw - 80px));margin-block:var(--sp-4) var(--sp-4);margin-left:68px;margin-right:var(--sp-3)}}@media(min-width:768px){.ad-slot-waiting{width:100%}}.site-footer{display:flex;justify-content:center;gap:var(--sp-5);padding:var(--sp-5) 0 var(--sp-3)}.site-footer a{display:inline-flex;align-items:center;min-height:var(--tap);padding:var(--sp-2);color:var(--ink-faint);font-size:var(--fs-xs);letter-spacing:.06em;text-decoration:none;transition:color .14s var(--ease-out),text-shadow .14s var(--ease-out)}@media(hover:hover)and (pointer:fine){.site-footer a:hover{color:var(--ink-mute)}}.site-footer a:active{color:var(--ember-bright);text-shadow:0 0 14px rgba(255,106,43,.55)}.site-footer a:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}.ad-rail{display:none}@media(min-width:1280px){.ad-rail{display:flex;position:fixed;top:50%;transform:translateY(-50%);width:300px;min-height:600px;margin:0;z-index:4}.ad-rail-left{left:var(--sp-5)}.ad-rail-right{right:var(--sp-5)}}.consent-toggle{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);font-size:var(--fs-s);color:var(--ink-mute);cursor:pointer;margin:var(--sp-2) 0}.consent-toggle input{appearance:none;width:22px;height:22px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--bg);cursor:pointer;display:grid;place-content:center}.consent-toggle input:checked{border-color:var(--ember);background:var(--ember-soft)}.consent-toggle input:checked:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--ember-bright)}.consent-toggle input:focus-visible{outline:2px solid var(--ember-bright);outline-offset:3px}.profile-chip{margin-top:var(--sp-3);font-size:var(--fs-s);color:var(--ink-mute)}.hero-3d{font-size:var(--fs-s);color:var(--ember-bright);margin-top:var(--sp-2)}.dock{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(100vw,480px);display:flex;align-items:flex-end;justify-content:space-around;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg-raised) 96%,transparent);border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;z-index:40}.dock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:60px;min-height:48px;padding:var(--sp-1);background:none;border:none;border-radius:var(--radius-s);color:var(--ink-mute);font-family:inherit;font-size:var(--fs-xs);text-decoration:none;cursor:pointer;transition:color var(--t-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.dock-item:hover{color:var(--ink)}}.dock-item:focus-visible{color:var(--ink)}.dock-item[aria-pressed=true]{color:var(--ember-bright)}.dock-item-ghost{visibility:hidden}.dock-fab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:68px;height:68px;margin-top:-26px;border:none;border-radius:50%;background:var(--ember);color:#1c0b04;font-family:inherit;font-weight:700;cursor:pointer;box-shadow:0 6px 24px #ff6a2b73,0 2px 6px #00000080;transition:transform var(--t-fast) var(--ease-spring)}.dock-fab:active{transform:scale(.94)}.dock-fab-label{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);padding:0;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-mute);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}@media(hover:hover)and (pointer:fine){.icon-btn:hover{color:var(--ink);border-color:var(--line-strong)}}.icon-btn:focus-visible{color:var(--ink);border-color:var(--line-strong)}.icon-btn:active{transform:scale(.97)}.icon-btn[aria-pressed=true]{color:var(--ember-bright);border-color:#ff6a2b80}@media(prefers-reduced-motion:reduce){.dock-fab{transition:none}}.hud-top .hud-rivals{min-width:0;flex:1}.hud-top .chip{min-width:0}.hud-cluster{flex:none}@media(max-width:430px){.hud-top .chip-name{max-width:9ch}}.centered-card>:where(:not(.overlay)){width:100%;max-width:var(--card-col)}main:has(.game-screen)~.consent-banner{bottom:auto;top:max(var(--sp-4),env(safe-area-inset-top))}@media(max-width:767px){main:has(.dock)~.consent-banner{bottom:calc(96px + env(safe-area-inset-bottom))}}@media(min-width:768px){main:has(.dock)~.consent-banner{left:auto;right:var(--sp-4);transform:none;width:min(92vw,380px)}}@media(max-width:430px){.board2d-wrap{padding:var(--sp-1)}.board2d{max-width:min(99vw,62dvh)}.hud-rivals .chip{padding:0 var(--sp-2)}.hud-rivals:has(.chip:nth-child(3)) .chip{height:36px;font-size:var(--fs-xs)}.hud-rivals:has(.chip:nth-child(3)) .chip-name{max-width:7ch}}@media(max-height:700px){.invite-qr svg{width:168px}.code-char{width:44px;height:56px}}.hud-bottom{flex-wrap:wrap}.status-line-first{order:-1;width:100%;text-align:center}.btn-muted{color:var(--ink-mute)}.btn-danger.btn-muted{color:#1c0f12}@media(max-width:430px){.hud-top .hud-rivals{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hud-top .hud-rivals::-webkit-scrollbar{display:none}.hud-top .hud-rivals{mask-image:linear-gradient(to right,black 92%,transparent)}.hud-top .hud-rivals .chip{flex:none}}@media(max-height:760px){.preset-card{padding:var(--sp-2) var(--sp-3)}}.result-ladder:has(>:last-child:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}@media(min-width:640px){.hero{padding-bottom:148px}}@media(min-width:640px)and (max-height:860px){.hero-board .board2d-wrap{max-width:288px;margin-inline:auto}.hero-sub{margin-bottom:var(--sp-3)}.hero-title{font-size:min(var(--fs-hero),2.6rem)}.signin,.profile-chip{margin-top:var(--sp-2)}}.replay-scrub{width:min(100%,420px);height:44px;accent-color:var(--ember);cursor:pointer}.chip-winner{border-color:#ffb03799;color:var(--ember-bright)}.muted-note{color:var(--ink-mute);font-size:var(--fs-s);max-width:40ch;text-align:center}.dock-brand{display:none}@media(min-width:768px){.dock{top:0;bottom:auto;left:0;transform:none;width:100%;max-width:none;align-items:center;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-2) max(var(--sp-5),calc((100vw - 1080px)/2));border-top:none;border-bottom:1px solid var(--line);border-radius:0}.dock-brand{display:inline-flex;align-items:center;gap:var(--sp-2);margin-right:auto;text-decoration:none;min-height:var(--tap)}.dock-item{flex-direction:row;gap:var(--sp-2);min-height:var(--tap);min-width:0;padding:0 var(--sp-3);font-size:var(--fs-s)}.dock-item-ghost{display:none}.dock-fab{flex-direction:row;gap:var(--sp-2);width:auto;height:var(--tap);margin-top:0;padding:0 var(--sp-5);border-radius:var(--radius-pill);order:99;box-shadow:0 2px 12px #ff6a2b59}.dock-fab svg{width:18px;height:18px}.dock-fab-label{font-size:var(--fs-s);text-transform:none;letter-spacing:0}.hero{padding-top:88px}.hero .brand{display:none}}.board2d-wrap{width:100%;max-width:min(calc(100cqh + 24px),calc(var(--board-cap) + 24px));margin-inline:auto;margin-block:auto}.board2d{width:100%;display:block}.profile-block{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.recent-list{list-style:none;margin:0;padding:0;width:min(100%,340px)}.recent-row{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:0 var(--sp-3);border-radius:var(--radius-s);color:var(--ink-mute);font-size:var(--fs-s);text-decoration:none}@media(hover:hover)and (pointer:fine){.recent-row:hover{background:var(--bg-raised);color:var(--ink)}}.recent-row:focus-visible{background:var(--bg-raised);color:var(--ink)}.recent-result{font-weight:700;min-width:2.5ch}.recent-win{color:var(--ember-bright)}.recent-rivals{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14ch}.sheet-close{position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:1}.forge-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);width:100%}.sheet{position:relative}.chip-active{box-shadow:0 0 0 1px #ffb03759,0 0 14px #ff6a2b47}.chip-is-bot .chip-name{color:var(--ink-mute)}.chip-is-bot .chip-dot{opacity:.55}@media(max-width:430px){.hud-rivals:has(.chip:nth-child(3)) .chip:not(.chip-active) .chip-name{display:none}.hud-rivals:has(.chip:nth-child(3)) .chip{padding:0 var(--sp-2)}}@media(max-width:430px){.hud-top .hud-rivals:has(.chip:nth-child(3)) .chip:not(.chip-active){padding:0 var(--sp-1)}.hud-rivals:has(.chip:nth-child(3)){gap:var(--sp-1)}}.mode-builder{display:flex;flex-direction:column;gap:var(--sp-2);width:100%}.mode-row{display:flex;gap:var(--sp-1);justify-content:center;flex-wrap:wrap}.seg{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);min-height:var(--tap);min-width:52px;padding:0 var(--sp-3);font-family:inherit;font-size:var(--fs-s);font-weight:600;color:var(--ink-mute);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:color var(--t-fast),border-color var(--t-fast)}@media(hover:hover)and (pointer:fine){.seg:hover{color:var(--ink)}}.seg:focus-visible{outline:2px solid var(--ember-bright);outline-offset:3px}.seg-active{color:var(--ember-bright);border-color:#ff6a2b8c;background:var(--ember-soft)}.seg-map{flex-direction:column;gap:2px;min-width:68px;padding:var(--sp-2) var(--sp-2);font-size:var(--fs-xs);border-radius:var(--radius-s)}.map-thumb{color:var(--ink-mute)}.seg-active .map-thumb{color:var(--ember-bright)}.seg-static{cursor:default;border-color:transparent;background:transparent}.mode-pitch{text-align:center;min-height:1.4em;font-size:var(--fs-s)}.seg-daily{color:var(--ember-bright);border-color:#ffb03766}.top-list{list-style:none;margin:var(--sp-3) 0 0;padding:0;width:min(100%,380px)}.skeleton-row{height:var(--tap);border-radius:var(--radius-s);background:linear-gradient(100deg,var(--bg-raised) 35%,var(--line) 50%,var(--bg-raised) 65%);background-size:300% 100%;animation:skeleton-shimmer calc(var(--t-ceremony) * 3) var(--ease-out) infinite}.skeleton-row+.skeleton-row{margin-top:var(--sp-1)}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton-row{animation:none;background:var(--bg-raised)}}.board-stale{opacity:.5}.top-row{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:0 var(--sp-3);border-bottom:1px solid var(--line);font-size:var(--fs-s)}.top-row:first-child .top-rating,.top-row:first-child .top-name{color:var(--ember-bright)}.top-rank{min-width:2ch;color:var(--ink-faint);font-variant-numeric:tabular-nums}.top-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-rating{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}.live-badge.live-on{color:var(--lose);border-color:#ff7d8a80;animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.live-badge.live-on{animation:none}}.account-tag{color:var(--ink-mute);font-size:var(--fs-xs);margin-left:2px;font-variant-numeric:tabular-nums}.daily-group-head{appearance:none;width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.daily-group-head[aria-expanded=true]{border-bottom-color:transparent}.daily-groups .daily-group:first-child .daily-group-head .top-name{color:var(--ember-bright)}.daily-group-you{box-shadow:inset 0 0 0 1px #ffb03773;border-radius:10px}.daily-group-names{list-style:none;margin:0;padding:0 var(--sp-3) var(--sp-2);display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-mute)}.daily-group-more{color:var(--ink-faint)}.result-nav{display:flex;gap:var(--sp-2);justify-content:center;margin-top:var(--sp-2)}.sheet-home{position:absolute;top:var(--sp-3);left:var(--sp-3);z-index:1;width:var(--tap);max-width:var(--tap)}.rating-delta{display:flex;flex-direction:column;align-items:center;gap:2px;margin:var(--sp-1) 0 0;font-size:var(--fs-s)}.delta-up{color:var(--win);font-weight:700;font-size:var(--fs-l)}.delta-down{color:var(--lose);font-weight:700;font-size:var(--fs-l)}.delta-total{color:var(--ink-mute)}.delta-claim{color:var(--ember-bright);font-size:var(--fs-xs);margin-top:var(--sp-1)}.chip-you-ring{border-color:#ffb037a6;box-shadow:inset 0 0 0 1px #ffb03759}.player-rail{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}.player-rail>div{min-width:0;flex:none;display:flex}@media(max-width:430px){.player-rail .chip:not(.chip-active) .chip-name{max-width:6ch}.player-rail:has(>:nth-child(3)) .chip:not(.chip-active) .chip-name{display:none}.player-rail:has(>:nth-child(3)) .chip:not(.chip-active){padding:0 var(--sp-1)}.game-screen .hud-cluster .invite-chip{display:none}}.player-rail::-webkit-scrollbar{display:none}.game-home{position:fixed;top:max(var(--sp-3),env(safe-area-inset-top));left:var(--sp-3);z-index:40;width:var(--tap);max-width:var(--tap)}.emote-pop-wrap{position:relative}.emote-pop{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:var(--radius-s);box-shadow:var(--shadow-raised);z-index:20;transition:opacity var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}@starting-style{.emote-pop{opacity:0;transform:translate(-50%) translateY(6px)}}@media(min-width:768px){.emote-pop{position:absolute;bottom:calc(100% + var(--sp-2));left:auto;right:0;transform:none;transform-origin:bottom right}@starting-style{.emote-pop{opacity:0;transform:translateY(6px) scale(.98)}}}.emote-pop .emote-chip{justify-content:flex-start;gap:var(--sp-2);min-height:var(--tap);width:148px;border:none;background:none}.emote-pop .emote-chip:after{inset:0}@media(hover:hover)and (pointer:fine){.emote-pop .emote-chip:hover{background:var(--ember-soft);color:var(--ink)}}.emote-pop .emote-chip:focus-visible{background:var(--ember-soft);color:var(--ink)}.emote-bubble{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 9px;background:#12171d;border:1.5px solid currentColor;border-radius:var(--radius-pill);font-size:var(--fs-s);font-weight:700;white-space:nowrap;animation:emote-bubble-pop 2.3s var(--ease-out) both}.b2d-emote{transform-box:fill-box;transform-origin:50% 100%;animation:emote-bubble-pop 2.3s var(--ease-out) both}@keyframes emote-bubble-pop{0%{opacity:0;transform:translateY(6px) scale(.85)}10%,78%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.96)}}@keyframes emote-bubble-fade{0%,82%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.emote-bubble,.b2d-emote{animation:emote-bubble-fade 2.3s linear both}}.result-actions,.result-ladder{width:100%}.result-actions .btn,.result-ladder>:only-child{grid-column:1 / -1;width:100%;justify-self:stretch}.dock-spacer{height:calc(116px + env(safe-area-inset-bottom))}.player-rail .chip{width:138px;justify-content:flex-start;position:relative;padding-right:30px}.replay-screen .player-rail .chip{padding-right:var(--sp-2)}.replay-screen .chip-timer{display:none}.player-rail .chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;max-width:none}.chip-timer{position:absolute;right:var(--sp-1);top:50%;transform:translateY(-50%);display:inline-flex}@media(max-width:430px){.player-rail .chip{width:112px}.player-rail:has(>:nth-child(3)) .chip{width:64px}.player-rail:has(>:nth-child(3)) .chip-active{width:118px}.player-rail:has(>:nth-child(3)) .chip:not(.chip-active){width:44px;justify-content:center;padding-right:var(--sp-1)}}.hud-actions{justify-content:flex-end;width:100%}.mode-row-players,.mode-row-maps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.mode-row-twists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.mode-row-players .seg,.mode-row-maps .seg,.mode-row-twists .seg{min-width:0;width:100%}.mode-pitch{line-height:1.4;height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preset-pitch{line-height:1.35;height:2.7em}.perf-lite .dock{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg-raised)}.perf-lite .board2d [filter]{filter:none}.perf-lite .code-char,.perf-lite .live-badge.live-on,.perf-lite .rematch-nudge{animation:none!important}.perf-lite .chip,.perf-lite .seg,.perf-lite .btn{transition:none}.dock-brand,.brand,.brand-mini{display:inline-flex;align-items:center;gap:var(--sp-2);justify-content:center}.dock-brand svg,.brand svg,.brand-mini svg{display:block;flex:none}@media(max-width:767px){.dock-brand{display:none}}.auth-corner{position:fixed;top:max(var(--sp-3),env(safe-area-inset-top));right:var(--sp-3);z-index:40}@media(min-width:768px){.auth-corner{top:76px;right:var(--sp-3);z-index:60}}.transport{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:min(100%,420px)}.transport-toggle,.hud-bottom .btn.transport-toggle{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center}.replay-controls{flex-direction:column;align-items:center;gap:var(--sp-2)}.replay-scrub{appearance:none;-webkit-appearance:none;height:44px;background:transparent}.replay-scrub::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--line-strong)}.replay-scrub::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--ember);border:2px solid var(--bg);cursor:pointer}.replay-scrub::-moz-range-track{height:6px;border-radius:3px;background:var(--line-strong)}.replay-scrub::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--ember);border:2px solid var(--bg);cursor:pointer}.sheet>.btn,.sheet .nick-form .btn,.centered-card>.btn{width:100%;max-width:var(--card-col, 430px)}.auth-linked{border-color:#ff6a2b73}.game-screen{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:639px){.hero{padding-bottom:calc(112px + env(safe-area-inset-bottom))}}.hero-board .board2d-wrap{display:flex;align-items:center;justify-content:center}.hero-board svg.board2d{max-height:100%}.home-inline{margin-right:auto}.sheet,.centered-card{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4)}.sheet>*,.centered-card>*{margin-block:0}.centered-card.privacy{gap:var(--sp-3)}.privacy>h2{margin-top:var(--sp-3)}.top-list{margin-top:0}.search-pulse{display:flex;justify-content:center}.tf-live .tf-scorch{opacity:0;transform-box:fill-box;transform-origin:center;animation:tf-scorch 2.8s ease-out infinite}.tf-live .tf-ember{--scorch: #ff6a2b;fill:var(--scorch)}.tf-live .tf-tide{--scorch: #35c4ff;fill:var(--scorch)}@keyframes tf-scorch{0%{opacity:0;transform:scale(.3);fill:#fff3d6}4%{opacity:1;transform:scale(1.3);fill:#fff3d6}12%{transform:scale(1);fill:var(--scorch)}74%{opacity:1;fill:var(--scorch)}88%{opacity:0;transform:scale(.85)}to{opacity:0}}.tf-live .tf-drift{transform-box:fill-box;transform-origin:center;animation-name:tf-waver;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes tf-waver{0%,to{transform:translate(0)}30%{transform:translate(calc(var(--amp) * -.4),calc(var(--amp) * -1))}62%{transform:translate(calc(var(--amp) * .5),calc(var(--amp) * -.55))}}.tf-live{overflow:visible}.tf-live .tf-hot{--scorch: #fff3d6;fill:var(--scorch)}.tf-live .tf-riser{opacity:0;transform-box:fill-box;transform-origin:center;animation-name:tf-rise;animation-timing-function:cubic-bezier(.3,.4,.6,1);animation-iteration-count:infinite}@keyframes tf-rise{0%{opacity:0;transform:translate(0) scale(.7)}12%{opacity:.85}70%{opacity:.5;transform:translate(1.2px,calc(var(--rise) * -.72)) scale(.9)}to{opacity:0;transform:translate(-.8px,calc(var(--rise) * -1)) scale(.5)}}.tf-live .tf-sparkbit{opacity:0;transform-box:fill-box;transform-origin:center;animation-name:tf-sparkbit;animation-timing-function:ease-out;animation-iteration-count:infinite}@keyframes tf-sparkbit{0%{opacity:0;transform:translateY(2px) scale(.6)}18%{opacity:.9}60%{opacity:.45;transform:translate(-1.6px,-6px) scale(.8) rotate(18deg)}to{opacity:0;transform:translate(1.4px,-11px) scale(.4) rotate(-12deg)}}@media(prefers-reduced-motion:reduce){.tf-live .tf-scorch,.tf-live .tf-drift{animation:none;opacity:1}.tf-live .tf-riser,.tf-live .tf-sparkbit{animation:none;opacity:0}}@keyframes search-breathe{50%{opacity:.45;transform:scale(.92)}}.arena-row .seg-map{min-height:64px}.arena-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.tier-badge{font-size:var(--fs-xs);color:var(--ink-faint);border:1px solid var(--line);border-radius:var(--radius-pill);padding:1px 8px;white-space:nowrap}.tier-blaze{color:var(--ember);border-color:#ff6a2b66}.tier-inferno{color:var(--ember-bright);border-color:#ffb03780}.tier-torch{color:#fff3d6;border-color:var(--ember-bright);background:var(--ember-soft)}.tier-torris{color:#0b0e12;border-color:var(--ember-bright);background:var(--ember-bright);font-weight:700}.skill-rail{display:none}@media(min-width:768px){.skill-rail{display:flex;flex-direction:column;gap:var(--sp-4);position:absolute;left:min(calc(50% + min(100cqh + 24px,var(--board-cap) + 24px) / 2 + var(--sp-2)),calc(100% - 84px - var(--sp-2)));top:50%;transform:translateY(-50%);z-index:5}.skill-inline{display:none}.skill-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:84px;min-height:84px;padding:var(--sp-2) var(--sp-1);border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg-raised);color:var(--ink);font:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:border-color var(--t-med) var(--ease-out),box-shadow var(--t-med) var(--ease-out),transform var(--t-fast) var(--ease-out)}.skill-tile:active:not(:disabled){transform:scale(.97)}.skill-tile:disabled{opacity:.45;cursor:default}.skill-tile kbd{font:inherit;font-size:var(--fs-xs);color:var(--ink-mute);border:1px solid var(--line);border-radius:4px;padding:0 5px;line-height:1.5}.skill-armed{border-color:var(--ember-bright);background:var(--ember-soft);box-shadow:0 0 14px #ffb03747}.skill-urgent{border-color:var(--ember-bright);animation:surge-call 1.1s ease-in-out infinite}.skill-callout{position:absolute;right:calc(100% + var(--sp-2));top:0;width:max-content;max-width:200px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--ember-bright);border-radius:var(--radius-s);background:var(--bg-raised);color:var(--ember-bright);font-size:var(--fs-xs);font-weight:600;text-align:center}}@media(pointer:coarse)and (hover:none){.skill-tile kbd{display:none}}@keyframes surge-call{0%,to{box-shadow:0 0 #ffb03700}50%{box-shadow:0 0 0 7px #ffb03742}}@media(prefers-reduced-motion:reduce){.skill-urgent{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--ember-bright) 30%,transparent)}}.hero-board,.dock-daily{position:relative}.dock-dot{position:absolute;top:2px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--ember)}.hero-anchor{position:relative;width:fit-content}.hero-blaze{position:absolute;top:0;right:0;transform:translate(36%,-36%);z-index:5}.hero-plate{position:relative;width:fit-content;cursor:pointer}.hero-plate:focus-visible{outline:2px solid var(--ember);outline-offset:4px;border-radius:var(--radius-m)}.hero-step-in{position:absolute;left:50%;bottom:var(--sp-3);transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:var(--tap);padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg-raised) 84%,transparent);backdrop-filter:blur(6px);color:inherit;font:inherit;font-size:var(--fs-s);cursor:pointer;z-index:6;transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.hero-step-in:hover{border-color:var(--ember);background:var(--bg-raised)}}.hero-step-in:focus-visible{border-color:var(--ember);background:var(--bg-raised)}.rematch-waiting:disabled{opacity:1;background:var(--bg-raised);color:var(--ink);border-color:var(--line-strong, var(--line))}.rematch-waiting:disabled svg{animation:rematch-wait-spin 2.4s linear infinite}@keyframes rematch-wait-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rematch-waiting:disabled svg{animation:none}}.hero-step-in:active{transform:translate(-50%) scale(.97)}.hero-burnout{animation:hero-burnout var(--t-flight) ease-out forwards}@keyframes hero-burnout{to{opacity:.15;filter:saturate(.2) brightness(.7)}}.hero-blaze .icon-btn{border-radius:50%;background:var(--bg);box-shadow:0 0 0 6px var(--bg)}.hero-cta-row{display:none}@media(min-width:768px){.hero-board,.dock-daily{position:relative}.dock-dot{position:absolute;top:2px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--ember)}.hero-cta-row{display:grid;grid-template-columns:3fr 1fr;gap:var(--sp-2);width:100%;max-width:min(48dvh,430px)}.hero-ignite,.hero-answer{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:52px;padding:0 var(--sp-2);font-size:var(--fs-m)}.hero-answer{padding:0 var(--sp-1)}.dock-item-answer{display:none}.dock{top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--line);padding-bottom:0}.dock-fab,.dock-spacer{display:none}.auth-corner{top:10px}.landing{padding-top:72px}}.dock-desktop{display:none}.ladder-corner{position:fixed;top:max(var(--sp-3),env(safe-area-inset-top));left:var(--sp-3);z-index:30}.dock-toggle-word{display:inline-block;min-width:5ch;text-align:center}@media(min-width:768px){.dock-desktop{display:inline-flex}.dock-auth{margin-left:var(--sp-2)}.auth-corner,.ladder-corner{display:none}.landing{padding-top:56px;justify-content:flex-start}.landing .hero-title{margin-top:var(--sp-6)}}@media(min-width:768px){.hero{padding-top:var(--sp-4);padding-bottom:var(--sp-6);justify-content:center;gap:var(--sp-4)}.landing .hero-title{margin-top:0}.landing{padding-top:48px}}@media(min-width:768px){.hero-board .board2d-wrap{max-width:min(48dvh,430px)}.hero-board{flex:0 0 auto;width:min(48dvh,430px);max-width:none;height:auto;aspect-ratio:1}}.sheet.forge-sheet{max-height:min(92vh,900px);max-height:min(92dvh,900px);overflow-y:hidden;text-align:left}.forge-sheet .card-title{width:100%;text-align:center}.forge-scroll{overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--sp-4);width:100%;margin:0 -6px;padding:0 6px}.forge-preview{position:sticky;top:0;z-index:2;background:var(--bg-raised);padding-bottom:var(--sp-1);display:flex;flex-direction:column;gap:var(--sp-2);align-items:center}.forge-stage{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-m);padding:14px;width:100%;display:flex;justify-content:center}.forge-stage .board2d-wrap{width:min(56vw,208px);transition:width .28s var(--ease-out)}@media(max-height:480px){.forge-stage .board2d-wrap{width:min(56vw,208px,40dvh)}}.forge-scroll.forging .forge-stage .board2d-wrap{width:min(28vw,108px)}.forge-scroll.forging>.forge-block:has(.forge-heat){display:none}@media(prefers-reduced-motion:reduce){.forge-stage .board2d-wrap{transition:none}}.forge-stage svg.board2d{width:100%;height:auto;display:block}.forge-readout{margin:0;font-size:var(--fs-xs);color:var(--ink-mute);font-variant-numeric:tabular-nums;text-align:center}.forge-readout b{color:var(--ink)}.forge-block{display:flex;flex-direction:column;gap:var(--sp-2);width:100%}.forge-label{font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.forge-heat{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.forge-chip{border:1px solid var(--line);background:var(--bg);color:var(--ink-mute);font:inherit;font-size:var(--fs-xs);font-weight:600;min-height:var(--tap);padding:7px 0;border-radius:var(--radius-pill);cursor:pointer;text-align:center;width:100%;transition:border-color var(--t-fast),color var(--t-fast)}.forge-chip.on{border-color:var(--ember);color:var(--ember-bright);background:var(--ember-soft)}.forge-chip:focus-visible{outline:2px solid var(--ember-bright);outline-offset:2px}.forge-actions{display:flex;gap:var(--sp-2);align-items:stretch}.forge-actions .forge-disclose{flex:1}.forge-roll{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius-m);padding:0;width:46px;flex:0 0 auto;display:flex;justify-content:center;align-items:center;color:var(--ink);cursor:pointer;transition:border-color .14s var(--ease-out)}@media(hover:hover)and (pointer:fine){.forge-roll:hover{border-color:var(--line-strong)}}.forge-yours{width:auto;align-self:flex-start;padding:7px 14px}.forge-disclose{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius-m);padding:11px 14px;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);font:inherit;font-size:var(--fs-s);font-weight:600;color:var(--ink);cursor:pointer;width:100%}.forge-disclose:focus-visible{outline:2px solid var(--ember-bright);outline-offset:2px}.forge-body{display:flex;flex-direction:column;gap:var(--sp-4);width:100%}.forge-seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-pill);padding:var(--sp-1);gap:var(--sp-1)}.forge-seg button{flex:1;border:none;background:transparent;color:var(--ink-mute);font:inherit;font-size:var(--fs-xs);font-weight:600;min-height:var(--tap);padding:8px 2px;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.forge-seg button.on{background:var(--ember-soft);color:var(--ember-bright)}.forge-seg button:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.forge-maps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2)}.forge-maps .forge-chip{padding:8px 0}.forge-tgl{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;text-align:left}.forge-tgl-txt b{display:block;font-size:var(--fs-s)}.forge-tgl-txt span{font-size:var(--fs-xs);color:var(--ink-mute)}.forge-switch{width:42px;height:24px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg);position:relative;cursor:pointer;flex-shrink:0;padding:0}.forge-switch:before{content:"";position:absolute;inset:-10px -6px}.forge-switch:after{content:"";position:absolute;top:2.5px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--ink-faint);transition:left var(--t-fast),background var(--t-fast)}.forge-switch.on{border-color:var(--ember);background:var(--ember-soft)}.forge-switch.on:after{left:20px;background:var(--ember)}.forge-switch:focus-visible{outline:2px solid var(--ember-bright);outline-offset:2px}.forge-cta{display:flex;gap:var(--sp-2);width:100%}.forge-cta .btn-primary{flex:1}.sheet:not(.forge-sheet) .forge-scroll{overflow-y:visible;margin:0;padding:0;text-align:left}@media(min-width:768px)and (min-height:1000px){.board-wrap{flex:0 1 auto;height:min(62dvh,calc(var(--board-cap) + var(--sp-7)));margin-top:auto}.hud-bottom{width:min(94vw,calc(var(--board-cap) + 2 * var(--sp-6)));margin:var(--sp-2) auto auto;border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2) var(--sp-4)}}@media(min-width:640px)and (max-height:560px){.hero{gap:var(--sp-2)}.hero-board{width:min(36dvh,94vw,430px);height:auto;aspect-ratio:1}.hero-title{font-size:min(var(--fs-hero),2.1rem)}}
