:root{--color-paper:oklch(96% .025 92);--color-paper-2:oklch(92% .04 95);--color-paper-3:oklch(88% .035 92);--color-surface:oklch(99% .012 92);--color-ink:oklch(22% .035 284);--color-ink-soft:oklch(34% .035 284);--color-muted:oklch(45% .035 284);--color-rule:oklch(76% .025 92);--color-rule-strong:oklch(22% .035 284);--color-accent:oklch(89% .17 112);--color-accent-deep:oklch(69% .14 112);--color-accent-ink:oklch(24% .055 112);--color-cyan:oklch(86% .12 205);--color-cyan-soft:oklch(93% .05 205);--color-cyan-deep:oklch(58% .1 205);--color-cyan-ink:oklch(24% .055 220);--color-coral:oklch(67% .2 34);--color-coral-soft:oklch(93% .045 34);--color-coral-deep:oklch(48% .15 34);--color-coral-ink:oklch(20% .045 284);--color-mint:oklch(89% .17 112);--color-mint-soft:oklch(95% .08 112);--color-error:oklch(41% .17 25);--color-error-surface:oklch(92% .055 25);--color-success:oklch(43% .13 154);--color-success-surface:oklch(92% .06 154);--color-arena:oklch(24% .02 284);--color-arena-deep:oklch(20% .02 284);--color-arena-dot:oklch(30% .028 284);--color-arena-shadow:oklch(12% .015 284);--color-arena-ink:oklch(92% .02 92);--color-log:oklch(78% .12 45);--color-focus:oklch(42% .14 260);--color-shadow:oklch(20% .012 250/.14);--color-shadow-soft:oklch(20% .012 250/.08);--color-overlay:oklch(20% .012 250/.64);--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-label:"JetBrains Mono", monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--radius-sm:.65rem;--radius-input:.75rem;--radius-card:1.25rem;--radius-panel:1.75rem;--radius-pill:999px;--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-press:cubic-bezier(.2, .7, .3, 1);--shell:76rem;--page-gutter:clamp(1rem, 4vw, 3rem);--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-paper);min-width:20rem;color:var(--color-ink);font-family:var(--font-body);font-feature-settings:"ss01" on, "cv11" on;font-variant-numeric:tabular-nums;margin:0;line-height:1.55;overflow-x:clip}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.11em}img{max-width:100%;display:block}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;font-style:normal;line-height:1.02}h3{font-size:1.1rem}p{max-width:68ch}:focus{outline:none}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-cyan);color:var(--color-cyan-ink)}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.page{width:min(100%, var(--shell));padding:var(--space-xl) var(--page-gutter) var(--space-3xl);flex:1;margin-inline:auto}.site-header{width:min(calc(100% - var(--space-lg)), var(--shell));margin:var(--space-sm) auto 0;align-items:center;gap:var(--space-lg);min-height:4.25rem;padding:var(--space-xs) var(--space-sm);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-card);z-index:var(--z-sticky);grid-template-columns:auto 1fr auto;display:grid;position:relative}.logo{align-items:center;gap:var(--space-sm);min-height:2.75rem;color:inherit;letter-spacing:-.035em;white-space:nowrap;font-weight:700;text-decoration:none;display:inline-flex}.logo__bug{background:var(--color-accent);width:2rem;height:2rem;color:var(--color-accent-ink);animation:character-hum 4s var(--ease-in-out) infinite;border-radius:48% 52% 55% 45%;place-items:center;display:grid;position:relative}.logo__bug:before{content:"";border-radius:var(--radius-pill);background:var(--color-ink);width:1rem;height:1.15rem}.logo__bug i{background:var(--color-accent);width:.55rem;height:.18rem;position:absolute;inset-block-start:.52rem}.logo__bug i:first-child{transform:translate(-.7rem)rotate(18deg)}.logo__bug i:last-child{transform:translate(.7rem)rotate(-18deg)}.site-nav{justify-content:center;align-items:center;gap:var(--space-xs);display:flex}.site-nav a{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);font-size:.88rem;font-weight:600;text-decoration:none}.header-profile{align-items:center;gap:var(--space-xs);color:inherit;white-space:nowrap;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex}.header-sign-in{min-height:2.75rem}.mobile-nav{display:none;position:relative}.mobile-nav summary{cursor:pointer;min-height:2.75rem;padding-inline:var(--space-md);place-items:center;font-weight:700;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{min-width:13rem;padding:var(--space-xs);border-radius:var(--radius-card);background:var(--color-ink);color:var(--color-paper);box-shadow:0 var(--space-sm) var(--space-xl) var(--color-shadow);display:grid;position:absolute;inset-block-start:calc(100% + var(--space-xs));inset-inline-end:0}.mobile-nav nav a{min-height:2.75rem;padding-inline:var(--space-md);border-radius:var(--radius-input);white-space:nowrap;align-items:center;text-decoration:none;display:flex}.site-footer{gap:var(--space-xl);padding:var(--space-2xl) var(--page-gutter) var(--space-xl);background:var(--color-ink);color:var(--color-paper);display:grid}.site-footer>p{letter-spacing:-.045em;max-width:20ch;font-size:clamp(2rem,5vw,4.5rem);font-weight:700;line-height:1}.site-footer>div{width:min(100%, var(--shell));align-items:start;gap:var(--space-lg);color:var(--color-paper-2);flex-direction:column;margin-inline:auto;display:flex}.btn{--btn-face:var(--color-accent);--btn-ink:var(--color-accent-ink);--btn-edge:var(--color-accent-deep);--btn-cast:var(--color-shadow);justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);min-height:2.75rem;color:var(--btn-ink);background:var(--btn-face);cursor:pointer;isolation:isolate;white-space:nowrap;box-shadow:0 var(--space-2xs) 0 0 var(--btn-edge), 0 var(--space-xs) var(--space-sm) calc(var(--space-3xs) * -1) var(--btn-cast);transition:transform .14s var(--ease-press), box-shadow .14s var(--ease-press), background-color .16s var(--ease-out);border:0;padding:.75rem 1.25rem;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex;position:relative;transform:translateY(0)}.btn:active{box-shadow:0 1px 0 0 var(--btn-edge), 0 var(--space-3xs) var(--space-xs) var(--btn-cast);transition-duration:70ms;transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:0 var(--space-2xs) 0 0 var(--btn-edge);transform:none}.btn--cyan{--btn-face:var(--color-cyan);--btn-edge:var(--color-cyan-deep);--btn-ink:var(--color-cyan-ink)}.btn--coral{--btn-face:var(--color-coral);--btn-edge:var(--color-coral-deep);--btn-ink:var(--color-coral-ink)}.btn--ink{--btn-face:var(--color-ink);--btn-edge:var(--color-rule-strong);--btn-ink:var(--color-paper)}.btn--soft{box-shadow:0 var(--space-3xs) var(--space-xs) var(--color-shadow-soft)}.btn--outline{color:currentColor;box-shadow:none;background:0 0;border:2px solid}.button-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.panel{padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-paper);color:var(--color-ink)}.badge{width:fit-content;min-height:1.8rem;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;font-size:.68rem;font-weight:500;line-height:1;display:inline-flex}.badge--pear{background:var(--color-accent);color:var(--color-accent-ink)}.badge--cyan,.badge--patch{background:var(--color-cyan);color:var(--color-cyan-ink)}.badge--coral,.badge--bug{background:var(--color-coral);color:var(--color-coral-ink)}.badge--sideeffect{background:var(--color-mint);color:var(--color-ink)}.avatar{object-fit:cover;border:2px solid var(--color-ink);background:var(--color-paper-2);width:3rem;height:3rem;color:var(--color-ink);border-radius:42% 58% 50% 50%;flex:none}.avatar--small{width:2rem;height:2rem}.avatar--large{width:4.5rem;height:4.5rem}.avatar--neutral{background:var(--color-accent);place-items:center;font-weight:800;display:grid}.notice{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-cyan-deep);border-radius:var(--radius-card);background:var(--color-cyan-soft);color:var(--color-ink);display:flex}.notice--error{border-color:var(--color-error);background:var(--color-error-surface);color:var(--color-ink)}.notice--success{border-color:var(--color-success);background:var(--color-success-surface);color:var(--color-ink)}.notice__close{width:2.75rem;height:2.75rem;color:inherit;border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;flex:none;font-size:1.5rem}.field{gap:var(--space-xs);display:grid}.field__label{font-weight:700}.field__helper{min-height:1lh;color:var(--color-muted);font-size:.8rem}.field__helper--error{color:var(--color-error)}input{width:100%;min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule-strong);outline-offset:1px;border-radius:var(--radius-input);background:var(--color-paper);color:var(--color-ink);outline:2px solid #0000}input:focus-visible{outline-color:var(--color-focus)}input:disabled{opacity:.55;cursor:not-allowed}input[aria-invalid=true]{border-color:var(--color-error)}.empty-state{align-content:center;align-items:center;gap:var(--space-lg);min-height:18rem;padding:var(--space-lg);border:2px dashed var(--color-rule-strong);border-radius:var(--radius-panel);background:var(--color-paper-2);color:var(--color-ink);grid-template-columns:minmax(0,1fr);display:grid}.empty-state__mark{background:var(--color-accent);width:3.5rem;height:3.5rem;color:var(--color-accent-ink);border-radius:40% 60% 48% 52%;place-items:center;font-size:2rem;font-weight:800;display:grid}.empty-state h3{margin-block-end:var(--space-xs)}.empty-state>:last-child{width:fit-content}.page-intro{gap:var(--space-lg);max-width:58rem;padding-block:var(--space-xl) var(--space-2xl);display:grid}.page-intro p{color:var(--color-ink-soft);font-size:clamp(1.05rem,2vw,1.3rem)}.lobby-hero{gap:var(--space-xl);padding-block:var(--space-xl) var(--space-2xl);align-items:center;display:grid}.lobby-hero__copy{gap:var(--space-lg);display:grid}.lobby-hero__copy p{color:var(--color-ink-soft);font-size:1.15rem}.lobby-hero__copy small{max-width:55ch;color:var(--color-muted)}.incident-board{gap:var(--space-lg);min-width:0;padding:var(--space-lg);border-radius:var(--radius-panel);background:var(--color-cyan);color:var(--color-cyan-ink);box-shadow:0 var(--space-md) 0 var(--color-cyan-deep);display:grid;transform:rotate(1.2deg)}.incident-board__heading{font-family:var(--font-label);justify-content:space-between;font-size:.75rem;display:flex}.incident-board__cards{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-width:0;display:grid}.incident-board__cards>span{font-size:2rem;font-weight:800}.mode-strip{gap:var(--space-md);padding:var(--space-xl) 0;display:grid}.mode-strip article{gap:var(--space-sm);padding:var(--space-xl);border-radius:var(--radius-panel);background:var(--color-cyan-soft);color:var(--color-ink);display:grid}.mode-strip article:last-child{background:var(--color-coral-soft);color:var(--color-ink)}.welcome-block{gap:var(--space-xl);padding-block:var(--space-xl) var(--space-2xl);align-items:end;display:grid}.welcome-block>div:first-child{gap:var(--space-lg);display:grid}.welcome-block h1{max-width:12ch}.rating-stamp{width:fit-content;padding:var(--space-lg);background:var(--color-accent);color:var(--color-accent-ink);border-radius:48% 52% 44% 56%;justify-items:end;display:grid;transform:rotate(2deg)}.rating-stamp strong{font-size:3.1rem;line-height:.9}.rating-stamp span{font-weight:700}.rating-stamp small{font-size:.7rem}.lobby-actions{gap:var(--space-lg);display:grid}.lobby-action{align-content:start;gap:var(--space-lg);padding:var(--space-xl);border:0;display:grid}.lobby-action--friendly{background:var(--color-cyan-soft);color:var(--color-ink)}.lobby-action--ranked{background:var(--color-coral-soft);color:var(--color-ink)}.lobby-action .btn{width:fit-content}.join-row{align-items:start;gap:var(--space-sm);border-block-start:1px dashed var(--color-rule-strong);padding-block-start:var(--space-md);display:grid}.join-row .btn{margin-block-start:2rem}.saved-seat{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-lg);border:2px dashed var(--color-rule-strong);border-radius:var(--radius-card);margin-block-start:var(--space-xl);display:flex}.saved-seat div{display:grid}.status-panel{place-content:center;justify-items:start;gap:var(--space-lg);background:var(--color-paper-2);min-height:28rem;display:grid}.status-panel--cyan{background:var(--color-cyan-soft);color:var(--color-ink)}.status-panel--pear{background:var(--color-accent);color:var(--color-accent-ink)}.status-panel--coral{background:var(--color-coral-soft);color:var(--color-ink)}.loader{border:.4rem solid var(--color-rule);border-block-start-color:var(--color-ink);border-radius:var(--radius-pill);width:2.75rem;height:2.75rem;animation:1.1s linear infinite spin}.invite-code{align-items:center;gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);flex-wrap:wrap;display:flex}.invite-code>span{width:100%;font-family:var(--font-label);text-transform:uppercase;font-size:.72rem}.invite-code strong{font-family:var(--font-label);letter-spacing:.12em;font-size:clamp(2rem,8vw,4rem)}.rule-facts{gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-panel);background:var(--color-ink);color:var(--color-paper);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rule-facts div{display:grid}.rule-facts strong{color:var(--color-accent);font-size:clamp(2.2rem,6vw,4.5rem);line-height:1}.rule-facts span{color:var(--color-paper-2);font-size:.85rem}.workflow{padding-block:var(--space-3xl);display:grid;position:relative}.workflow:before{content:"";inset-block:var(--space-3xl);border-radius:var(--radius-pill);background:var(--color-rule);width:.2rem;position:absolute;inset-inline-start:1.65rem}.workflow-step{gap:var(--space-lg);padding:var(--space-lg) 0;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid;position:relative}.workflow-step>div{gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink);display:grid}.workflow-step--2>div{background:var(--color-cyan-soft);color:var(--color-ink)}.workflow-step--3>div{background:var(--color-coral-soft);color:var(--color-ink)}.workflow-step__number{background:var(--color-accent);width:3.5rem;height:3.5rem;color:var(--color-accent-ink);z-index:var(--z-raised);border-radius:45% 55% 50% 50%;place-items:center;font-size:1.5rem;font-weight:800;display:grid}.workflow-step--2 .workflow-step__number{background:var(--color-cyan);color:var(--color-cyan-ink)}.workflow-step--3 .workflow-step__number{background:var(--color-coral);color:var(--color-coral-ink)}.card-types{gap:var(--space-md);padding:var(--space-xl) 0 var(--space-3xl);display:grid}.card-types>div{gap:var(--space-sm);padding:var(--space-xl);border-radius:var(--radius-panel);background:var(--color-coral-soft);color:var(--color-ink);display:grid}.card-types>div:nth-child(2){background:var(--color-cyan-soft);color:var(--color-ink)}.card-types>div:nth-child(3){background:var(--color-mint-soft);color:var(--color-ink)}.rules-notes{gap:var(--space-xl);padding:var(--space-2xl) 0;border-block-start:2px dashed var(--color-rule-strong);display:grid}.rules-notes article{gap:var(--space-sm);display:grid}.filter-row{gap:var(--space-sm);flex-wrap:wrap;margin-block-end:var(--space-xl);display:flex}.catalog-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));margin-block-end:var(--space-xl);display:grid}.game-card{gap:var(--space-sm);width:100%;min-width:0;padding:var(--space-sm);border:1px solid var(--color-rule-strong);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink);text-align:start;box-shadow:0 var(--space-sm) var(--space-xl) calc(var(--space-sm) * -1) var(--color-shadow);transition:transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out);grid-template-rows:auto auto 1fr;display:grid}button.game-card{cursor:pointer}.game-card.is-selected{outline:4px solid var(--color-focus);outline-offset:3px;transform:translateY(calc(var(--space-xs) * -1))}.game-card.is-disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.game-card__topline{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.game-card__cost{background:var(--color-ink);width:2.25rem;height:2.25rem;color:var(--color-paper);font-family:var(--font-label);border-radius:48% 52% 55% 45%;place-items:center;font-weight:700;display:grid}.game-card__art{aspect-ratio:4/3;object-fit:contain;border-radius:var(--radius-input);background:var(--color-paper);width:100%;color:var(--color-ink)}.game-card__copy{align-content:start;gap:var(--space-xs);min-width:0;padding:var(--space-xs);display:grid}.game-card__heading{justify-content:space-between;align-items:start;gap:var(--space-xs);display:flex}.game-card__heading h3{font-size:1.18rem}.game-card__count{font-family:var(--font-label);flex:none;font-weight:700}.game-card__value{font-family:var(--font-label);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem}.game-card__rules{font-size:.87rem}.game-card__flavor{color:var(--color-muted);font-size:.78rem}.game-card__disabled-reason{padding:var(--space-xs);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-error);font-size:.73rem;display:block}.leaderboard-list{gap:var(--space-sm);padding:0;list-style:none;display:grid}.leaderboard-list li{align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink);grid-template-columns:auto auto minmax(0,1fr);display:grid}.leaderboard-list li:first-child{background:var(--color-accent);color:var(--color-accent-ink);transform:rotate(-.35deg)}.leaderboard-list li:nth-child(2){background:var(--color-cyan-soft);color:var(--color-ink)}.leaderboard-list li:nth-child(3){background:var(--color-coral-soft);color:var(--color-ink)}.leaderboard-rank{font-family:var(--font-label);font-weight:700}.leaderboard-identity{min-width:0}.leaderboard-identity a,.leaderboard-identity>strong{min-width:0;text-decoration:none;display:grid}.leaderboard-identity span{color:var(--color-muted);text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.leaderboard-list dl{gap:var(--space-sm);border-block-start:1px dashed var(--color-rule-strong);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));padding-block-start:var(--space-sm);display:grid}.leaderboard-list dl div{display:grid}.leaderboard-list dt{color:var(--color-muted);text-transform:uppercase;font-size:.68rem}.leaderboard-list dd{font-weight:700}.leaderboard-skeleton{gap:var(--space-sm);display:grid}.leaderboard-skeleton span{border-radius:var(--radius-card);background:var(--color-paper-2);opacity:.7;height:5.5rem}.settings-panel,.danger-panel{gap:var(--space-lg);padding:var(--space-xl);display:grid}.linked-profile{align-items:center;gap:var(--space-md);display:flex}.linked-profile>div{display:grid}.privacy-toggle{gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-cyan-soft);color:var(--color-ink);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.privacy-toggle input{width:1.3rem;min-height:1.3rem;accent-color:var(--color-focus);margin-block-start:var(--space-2xs)}.privacy-toggle span{gap:var(--space-xs);display:grid}.privacy-toggle small{color:var(--color-ink-soft)}.danger-panel{background:var(--color-coral-soft);color:var(--color-ink);border-color:var(--color-error);margin-block-start:var(--space-xl)}.delete-confirm{gap:var(--space-md);display:grid}.battle-page{width:min(100%,92rem)}.battle{gap:var(--space-lg);display:grid}.battle__status{gap:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-panel);background:var(--color-ink);color:var(--color-paper);align-items:end;display:grid}.battle__status>div:first-child{gap:var(--space-xs);display:grid}.battle__status h1{font-size:clamp(2rem,5vw,4rem)}.battle__status p{color:var(--color-paper-2)}.phase-rail span{min-height:2.5rem;padding-inline:var(--space-sm);border:1px solid var(--color-rule-strong);border-radius:var(--radius-pill);color:var(--color-paper-2);font-family:var(--font-label);white-space:nowrap;align-items:center;font-size:.68rem;display:flex}.battle__opponent,.battle__you{gap:var(--space-sm);display:grid}.player-summary{align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.player-summary__identity{min-width:0;display:grid}.player-summary__identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-summary__label{color:var(--color-muted);text-transform:uppercase;font-size:.7rem}.presence{width:fit-content;font-size:.7rem}.presence:before{content:"";width:.5rem;height:.5rem;border-radius:var(--radius-pill);background:var(--color-success);margin-inline-end:var(--space-2xs);display:inline-block}.presence--disconnected:before{background:var(--color-error)}.uptime{justify-items:end;display:grid}.uptime strong{font-size:2.4rem;line-height:.9}.uptime span{color:var(--color-muted);text-transform:uppercase;font-size:.65rem}.player-counts{gap:var(--space-xs);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.player-counts div{justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);font-size:.75rem;display:flex}.player-counts dd{font-weight:700}.effect-list{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.effect-list li{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-coral-soft);color:var(--color-ink);font-size:.72rem}.card-backs{min-height:5rem;justify-content:center;align-items:center;padding-inline-start:var(--space-lg);display:flex}.card-back{width:3.5rem;height:4.75rem;border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-coral);color:var(--color-coral-ink);font-family:var(--font-label);transform:rotate(calc((var(--i,0) - 2) * 2deg));place-items:center;margin-inline-start:calc(var(--space-lg) * -1);font-size:.65rem;display:grid}.card-backs__more{margin-inline-start:var(--space-xs);font-weight:700}.battle__table{align-items:center;gap:var(--space-xs);min-width:0;padding:var(--space-md);border:2px dashed var(--color-rule-strong);border-radius:var(--radius-panel);background:var(--color-paper-2);color:var(--color-ink);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.battle-zone{justify-items:center;gap:var(--space-xs);min-width:0;display:grid}.battle-zone>span{font-family:var(--font-label);text-transform:uppercase;font-size:.68rem}.battle-zone .game-card{animation:zone-enter var(--dur-long) var(--ease-out)}.zone-card{justify-items:center;width:100%;display:grid}.zone-card.is-leaving{animation:zone-exit var(--dur-short) var(--ease-in) forwards}.zone-empty{border:1px dashed var(--color-rule);border-radius:var(--radius-card);width:100%;min-height:9rem;color:var(--color-muted);text-align:center;place-items:center;display:grid}.battle__versus{font-weight:800}.hand{gap:var(--space-lg);min-width:0;padding-block:var(--space-lg);display:grid}.hand__heading{gap:var(--space-md);display:grid}.hand__heading>div:first-child{gap:var(--space-xs);display:grid}.hand__heading p{color:var(--color-muted)}.hand__actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.hand__cards{gap:var(--space-sm);min-width:0;padding:var(--space-xs) var(--space-xs) var(--space-lg);scroll-snap-type:x mandatory;grid-auto-columns:minmax(15rem,80%);grid-auto-flow:column;display:grid;overflow-x:auto}.hand__cards .game-card{scroll-snap-align:center}.battle__surrender{border-block-start:1px dashed var(--color-rule-strong);padding-block-start:var(--space-lg)}.surrender-confirm{align-items:center;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-coral-soft);color:var(--color-ink);flex-wrap:wrap;display:flex}.surrender-confirm p{width:100%}.match-result{place-content:center;justify-items:start;gap:var(--space-lg);background:var(--color-accent);min-height:32rem;color:var(--color-accent-ink);display:grid}.match-result--lost{background:var(--color-coral-soft);color:var(--color-ink)}.match-result__rating{max-width:50ch}.reveal{opacity:0;transform:translateY(var(--space-xs));animation:reveal var(--dur-long) var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 60ms)}@keyframes reveal{to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes character-hum{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.04)rotate(2deg)}}@keyframes zone-enter{0%{opacity:0;transform:translateY(var(--space-xs))}to{opacity:1;transform:none}}@keyframes zone-exit{to{opacity:0;transform:translateY(calc(var(--space-xs) * -1))}}@media (hover:hover) and (pointer:fine){.site-nav a:hover,.mobile-nav nav a:hover{background:var(--color-accent);color:var(--color-accent-ink)}.btn:hover{transform:translateY(-2px)}.btn--outline:hover{background:var(--color-ink);color:var(--color-paper);box-shadow:none;transform:none}.game-card:not(.is-disabled):hover{transform:translateY(calc(var(--space-2xs) * -1))}}@media (width>=40rem){.page{padding-block-start:var(--space-2xl)}.lobby-hero{gap:var(--space-2xl);grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr)}.mode-strip,.lobby-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-block,.join-row{grid-template-columns:minmax(0,1fr) auto}.rule-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.workflow-step{grid-template-columns:auto minmax(0,1fr)}.workflow-step:nth-child(2n){margin-inline-start:12%}.card-types{grid-template-columns:1.2fr .9fr}.card-types>div:last-child{grid-column:1/-1;justify-self:end;width:72%}.rules-notes{grid-template-columns:1.25fr .8fr}.rules-notes article:last-child{grid-column:2}.leaderboard-list li{padding:var(--space-lg);grid-template-columns:3rem auto minmax(0,1fr) minmax(16rem,auto)}.leaderboard-list dl{border:0;grid-column:auto;padding:0}.battle__status{grid-template-columns:minmax(0,1fr) auto}.phase-rail{grid-template-columns:repeat(3,auto)}.hand__heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.hand__cards{grid-auto-columns:minmax(15rem,19rem)}.site-footer>div{flex-direction:row;justify-content:space-between;align-items:end}.empty-state{padding:var(--space-xl);grid-template-columns:auto minmax(0,1fr)}.empty-state>:last-child{grid-column:2}}@media (width>=60rem){.site-header{position:sticky;inset-block-start:var(--space-sm)}.workflow{width:86%}.workflow-step>div{padding:var(--space-xl)}.card-types{grid-template-columns:1.1fr .9fr 1.15fr;align-items:start}.card-types>div:nth-child(2){margin-block-start:var(--space-2xl)}.card-types>div:last-child{width:auto;grid-column:auto;margin-block-start:var(--space-lg)}.rules-notes{grid-template-columns:1.2fr .8fr 1fr}.rules-notes article:last-child{grid-column:auto}.battle{grid-template-columns:minmax(15rem,.55fr) minmax(0,1.45fr);align-items:start}.battle>.notice,.battle__status,.hand,.battle__surrender{grid-column:1/-1}.battle__opponent{grid-column:1}.battle__table{grid-area:2/2/span 2}.battle__you{grid-column:1}.battle__table .game-card--compact{max-width:16rem}}@media (width<=58rem){.site-header{grid-template-columns:minmax(0,1fr) auto}.site-nav,.header-profile,.header-sign-in{display:none}.mobile-nav{display:block}}@media (pointer:coarse){.btn,.site-nav a,.mobile-nav summary,.mobile-nav nav a{min-height:3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.logo__bug{animation:none}.reveal{animation-name:reveal-reduced}.game-card,.btn,.incident-board{transform:none!important}.zone-card.is-leaving{animation:none}@keyframes reveal-reduced{to{opacity:1;transform:none}}}body{background-color:var(--color-paper);background-image:radial-gradient(var(--color-paper-3) 1.5px, transparent 1.5px);background-size:22px 22px}h1{font-size:clamp(2.15rem,4vw,3.25rem)}h2{font-size:clamp(1.25rem,2vw,1.55rem)}.page{width:min(100%,76rem);padding:var(--space-xl) var(--page-gutter) var(--space-2xl)}.site-header{width:100%;min-height:4rem;padding:var(--space-xs) var(--space-lg);border:0;border-block-end:2px solid var(--color-ink);background:var(--color-accent);color:var(--color-accent-ink);border-radius:0;margin:0;position:relative}.logo{font-family:var(--font-display)}.logo__bug{display:none}.logo b{color:inherit}.site-nav{justify-content:end}.site-nav a,.header-profile,.header-sign-in,.mobile-nav summary{min-height:2.65rem;padding:var(--space-xs) var(--space-md);border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-ink)}.header-profile{text-decoration:none}.site-footer{display:none}.mobile-nav nav{border:2px solid var(--color-ink);background:var(--color-accent);color:var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-ink)}.mobile-nav nav a{color:var(--color-ink)}.panel{padding:var(--space-lg);border:2px solid var(--color-ink);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink);box-shadow:0 7px 0 var(--color-ink)}.btn{min-height:2.75rem;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-ink);border-radius:var(--radius-sm);box-shadow:0 var(--space-2xs) 0 var(--color-ink);transition:transform var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);font-size:.88rem}.btn:active{transform:translateY(var(--space-2xs));box-shadow:0 0 0 var(--color-ink)}.btn--outline{background:var(--color-surface);color:var(--color-ink)}.btn--ink{background:var(--color-ink);color:var(--color-surface);border-color:var(--color-ink)}.badge{min-height:1.5rem;padding:var(--space-3xs) var(--space-xs);border:1.5px solid var(--color-ink);border-radius:var(--radius-pill);box-shadow:0 var(--space-3xs) 0 var(--color-ink);font-size:.58rem}.badge--success{background:var(--color-success-surface);color:var(--color-success)}.notice{border:2px solid var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-ink)}input{border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-paper-2);font-family:var(--font-label)}.lobby-title{gap:var(--space-xs);max-width:44rem;margin-block:var(--space-xs) var(--space-lg);display:grid}.lobby-title h1{font-size:clamp(2.3rem,5vw,3.4rem)}.lobby-title h1 span{padding-inline:var(--space-xs);border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-accent);box-shadow:0 var(--space-2xs) 0 var(--color-ink);place-items:center;display:inline-grid;transform:rotate(-1deg)}.lobby-title p{color:var(--color-ink-soft);font-size:1rem}.lobby-grid{gap:var(--space-lg);align-items:start;display:grid}.lobby-column{gap:var(--space-lg);display:grid}.profile-card{align-items:center;gap:var(--space-md);grid-template-columns:auto minmax(0,1fr) auto;min-height:6.25rem;display:grid}.profile-card>div{gap:var(--space-xs);display:grid}.profile-stats{gap:var(--space-xs);flex-wrap:wrap;display:flex}.sign-in-card{grid-template-columns:minmax(0,1fr) auto}.mode-card{align-content:start;gap:var(--space-md);display:grid;position:relative}.mode-card>.badge:first-child{position:absolute;inset-block-start:calc(var(--space-sm) * -1);inset-inline-end:var(--space-md);transform:rotate(2deg)}.mode-card--ranked>.btn{background:var(--color-coral);color:var(--color-coral-ink)}.mode-card--friendly>.btn{background:var(--color-cyan);color:var(--color-cyan-ink)}.mode-card small{color:var(--color-error);font-family:var(--font-label);text-transform:uppercase;font-size:.65rem}.join-row{gap:var(--space-xs);border-block-start:1.5px dashed var(--color-muted);grid-template-columns:minmax(0,1fr) auto;padding-block-start:var(--space-sm);display:grid}.join-row .btn{margin:0}.invite-code{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:2px dashed var(--color-ink);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink);display:flex}.invite-code strong{font-size:clamp(1.35rem,4vw,2rem)}.queue-chip{padding:var(--space-sm);border:2px dashed var(--color-ink);border-radius:var(--radius-sm);background:var(--color-success-surface);color:var(--color-success);font-family:var(--font-label);animation:bp-pulse 1.5s var(--ease-in-out) infinite;font-size:.7rem}.saved-seat{padding:var(--space-md);border:2px dashed var(--color-ink);border-radius:var(--radius-sm);margin:0}.lobby-leaderboard{border:2px solid var(--color-ink);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink);box-shadow:0 7px 0 var(--color-ink);overflow:hidden}.lobby-leaderboard>header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);border-block-end:2px solid var(--color-ink);background:var(--color-accent);color:var(--color-accent-ink);display:flex}.lobby-leaderboard>footer,.leaderboard-note{padding:var(--space-sm) var(--space-md);color:var(--color-muted);font-family:var(--font-label);font-size:.62rem}.leaderboard-list{gap:0}.leaderboard-list li,.leaderboard-list li:first-child,.leaderboard-list li:nth-child(2),.leaderboard-list li:nth-child(3){align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-block-end:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);border-radius:0;grid-template-columns:2rem auto minmax(0,1fr) auto auto auto;display:grid;transform:none}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-label);font-size:.75rem;overflow:hidden}.github-chip{border-radius:var(--radius-pill);background:var(--color-ink);width:1.55rem;height:1.55rem;color:var(--color-surface);font-family:var(--font-label);place-items:center;font-size:.48rem;text-decoration:none;display:grid}.leaderboard-record{color:var(--color-muted);font-family:var(--font-label);white-space:nowrap;font-size:.65rem}.leaderboard-rating{font-family:var(--font-display)}.page-intro{max-width:48rem;padding-block:var(--space-sm) var(--space-xl);gap:var(--space-md)}.page-intro p{font-size:1rem}.stack-group{gap:var(--space-md);margin-block-end:var(--space-xl);display:grid}.stack-group>.badge{transform:rotate(-1deg)}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(12.25rem,1fr));align-items:stretch;gap:1.125rem}.game-card{aspect-ratio:168/246;gap:var(--space-xs);border:2px solid var(--color-ink);background:var(--color-paper-2);min-width:0;color:var(--color-ink);box-shadow:0 3px 0 var(--color-ink);border-radius:.75rem;grid-template-rows:auto 40% minmax(0,1fr) auto;padding:.62rem;display:grid;position:relative}.game-card--bug{background:var(--color-coral-soft);color:var(--color-ink)}.game-card--patch{background:var(--color-cyan-soft);color:var(--color-ink)}.game-card--sideeffect{background:var(--color-mint-soft);color:var(--color-ink)}.game-card__topline{align-items:start}.game-card__topline h3{letter-spacing:-.02em;max-width:calc(100% - 2.8rem);font-size:.86rem;line-height:1.05}.game-card__cost{width:auto;height:auto;min-height:1.35rem;padding-inline:var(--space-xs);border:1.5px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);font-size:.56rem}.game-card__art-frame{border:2px dashed var(--color-ink);border-radius:var(--radius-sm);background:repeating-linear-gradient(45deg, var(--color-paper-2) 0 8px, var(--color-surface) 8px 16px);place-items:center;min-height:0;display:grid;position:relative}.game-card__art-frame .badge{position:absolute;inset-block-start:calc(var(--space-xs) * -1);inset-inline-end:calc(var(--space-xs) * -1);transform:rotate(-4deg)}.game-card__art{object-fit:contain;background:0 0;border-radius:0;width:min(74%,7rem);height:min(80%,5.2rem)}.game-card__copy{align-content:space-between;gap:var(--space-xs);min-height:0;padding:0;display:grid}.game-card__rules{color:var(--color-ink-soft);font-size:clamp(.6rem,1vw,.7rem);line-height:1.4}.game-card__flavor{color:var(--color-muted);font-family:var(--font-label);align-self:end;font-size:.54rem;line-height:1.3}.game-card__footer{justify-content:space-between;align-items:end;gap:var(--space-xs);display:flex}.game-card__value{padding:var(--space-3xs) var(--space-xs);border:1.5px solid var(--color-ink);border-radius:var(--radius-sm);font-size:.54rem}.game-card__id{color:var(--color-muted);font-family:var(--font-label);text-overflow:ellipsis;white-space:nowrap;font-size:.47rem;overflow:hidden}.game-card__count{z-index:var(--z-raised);padding:var(--space-xs);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-surface);font-family:var(--font-label);font-size:.65rem;position:absolute;inset-block-start:calc(var(--space-sm) * -1);inset-inline-start:calc(var(--space-xs) * -1);transform:rotate(-6deg)}.game-card__disabled-reason{inset-inline:var(--space-xs);z-index:var(--z-raised);background:var(--color-surface);position:absolute;inset-block-end:var(--space-xs)}.game-card--compact{max-width:none}.game-card--compact .game-card__copy{display:grid}.game-card--compact .game-card__flavor{display:none}.game-card--compact .game-card__art{aspect-ratio:auto}.settings-page{max-width:39rem}.settings-panel,.danger-panel{padding:var(--space-lg);gap:var(--space-md)}.privacy-panel,.danger-panel{margin-block-start:var(--space-xl)}.linked-profile{padding:0}.privacy-toggle{background:0 0;padding:0}.privacy-toggle input{width:1.65rem;height:1.65rem;min-height:1.65rem;accent-color:var(--color-accent)}.identity-preview{gap:var(--space-xs);padding:var(--space-sm);border:2px dashed var(--color-muted);border-radius:var(--radius-sm);background:var(--color-paper-2);display:grid}.identity-preview>span{color:var(--color-muted);font-family:var(--font-label);text-transform:uppercase;font-size:.58rem}.identity-preview>div{align-items:center;gap:var(--space-sm);display:flex}.danger-panel{background:var(--color-error-surface);border-color:var(--color-error);box-shadow:0 7px 0 var(--color-error)}.battle-shell,.battle-page{background:var(--color-arena);width:100%;min-height:100dvh;color:var(--color-arena-ink);padding:0}.battle{--phase-color:var(--color-muted);background-color:var(--color-arena);background-image:radial-gradient(var(--color-arena-dot) 1.5px, transparent 1.5px);width:100%;height:100dvh;min-height:38rem;color:var(--color-arena-ink);background-size:24px 24px;position:relative;overflow:hidden}.battle--phase-bugphase{--phase-color:var(--color-coral)}.battle--phase-patchresponse{--phase-color:var(--color-cyan)}.battle--phase-sideeffectphase{--phase-color:var(--color-accent)}.battle>.notice{width:min(100% - 2rem,32rem);z-index:var(--z-toast);position:absolute;inset-block-start:4.5rem;inset-inline-start:50%;transform:translate(-50%)}.battle__topbar{inset:var(--space-md) var(--space-lg) auto;z-index:var(--z-sticky);justify-content:flex-end;align-items:center;gap:var(--space-sm);display:flex;position:absolute}.battle__brand{padding:var(--space-xs) var(--space-sm);border:2px solid var(--color-arena-shadow);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 var(--space-2xs) 0 var(--color-arena-shadow);font-family:var(--font-display);white-space:nowrap;margin-inline-end:auto;font-size:.88rem;text-decoration:none}.battle__topbar .btn,.battle__topbar .badge{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-arena-shadow);box-shadow:0 var(--space-2xs) 0 var(--color-arena-shadow)}.battle__surrender-confirm{gap:var(--space-xs);display:flex}.battle__status{z-index:var(--z-sticky);color:var(--color-ink);background:0 0;padding:0;position:absolute;inset-block-start:4.6rem;inset-inline-end:var(--space-lg)}.phase-rail{gap:var(--space-sm);display:grid}.phase-rail span{border:2px solid var(--color-arena-shadow);background:var(--color-surface);min-width:6.9rem;min-height:2rem;color:var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-arena-shadow);justify-content:center;font-size:.62rem}.phase-rail span.is-current{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-arena-shadow)}.phase-rail span:first-child.is-current{background:var(--color-coral);color:var(--color-coral-ink)}.phase-rail span:nth-child(2).is-current{background:var(--color-cyan);color:var(--color-cyan-ink)}.battle__opponent,.battle__you{z-index:var(--z-raised);gap:var(--space-xs);display:grid;position:absolute;inset-inline-start:var(--space-lg)}.battle__opponent{inset-block-start:4.8rem}.battle__you{inset-block-end:var(--space-lg)}.player-summary{width:11rem;min-height:4.3rem;padding:var(--space-sm);border:2px solid var(--color-arena-shadow);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);box-shadow:0 var(--space-xs) 0 var(--color-arena-shadow);grid-template-columns:auto minmax(0,1fr);display:grid;transform:rotate(-1.2deg)}.battle__you .player-summary{transform:rotate(1.2deg)}.player-summary .avatar,.player-counts{display:none}.player-summary__identity{font-family:var(--font-label);font-size:.58rem}.player-summary__label{display:none}.uptime{order:-1;grid-row:1/span 2;align-self:center;justify-items:start}.uptime strong{font-family:var(--font-display);font-size:2.35rem}.uptime span{font-family:var(--font-label);font-size:.5rem}.presence{font-size:.55rem}.effect-list{max-width:12rem}.effect-list li{background:var(--color-coral);color:var(--color-coral-ink)}.battle__opponent .card-backs{min-height:7rem;position:fixed;inset-block-start:-2.6rem;inset-inline-start:50%;transform:translate(-50%)}.card-back{border-color:var(--color-arena-shadow);background:repeating-linear-gradient(45deg, var(--color-cyan) 0 10px, var(--color-surface) 10px 20px);width:4.2rem;height:6.1rem;color:var(--color-ink);box-shadow:0 3px 0 var(--color-arena-shadow);border-radius:.6rem;margin-inline-start:-2.2rem}.deck-pile{z-index:var(--z-base);width:5.25rem;height:7.6rem;position:absolute;inset-inline-start:var(--space-xl)}.deck-pile--opponent{inset-block-start:10.6rem}.deck-pile--you{inset-block-end:8.8rem}.deck-pile i{border:2px solid var(--color-arena-shadow);border-radius:var(--radius-sm);background:repeating-linear-gradient(45deg, var(--color-cyan) 0 10px, var(--color-surface) 10px 20px);position:absolute;inset:0}.deck-pile i:nth-child(2){transform:translate(4px,4px)}.deck-pile i:nth-child(3){transform:translate(8px,8px)}.deck-pile span{padding:var(--space-3xs) var(--space-xs);border:1.5px solid var(--color-arena-ink);border-radius:var(--radius-pill);color:var(--color-arena-ink);font-family:var(--font-label);text-transform:uppercase;white-space:nowrap;font-size:.52rem;position:absolute;inset-block-end:-1.9rem;inset-inline-start:50%;transform:translate(-50%)}.battle__table{width:27rem;height:17rem;color:var(--color-arena-ink);background:0 0;border:0;padding:0;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-53%)}.battle-zone{width:10.5rem;min-height:15.4rem;position:absolute;inset-block-start:50%;transform:translateY(-50%)}.battle-zone--bug{inset-inline-start:0;transform:translateY(-50%)rotate(-2deg)}.battle-zone--patch{inset-inline-end:0;transform:translateY(-50%)rotate(2deg)}.battle-zone>span{display:none}.battle-zone .game-card{width:10.5rem;height:15.4rem}.zone-empty{border-color:var(--color-arena-dot);min-height:15.4rem;color:var(--color-muted);font-family:var(--font-label);font-size:.62rem}.battle__versus{color:var(--color-arena-ink)}.hand{height:18.5rem;padding:0;position:absolute;inset:auto 0 0}.hand:has(.game-card.is-selected){z-index:var(--z-dropdown)}.hand__heading{inset:auto 0 var(--space-sm);z-index:var(--z-raised);pointer-events:none;justify-items:center;display:grid;position:absolute}.hand__heading p{color:var(--color-muted);font-family:var(--font-label);font-size:.58rem}.hand__actions{pointer-events:auto}.hand__cards{justify-content:center;align-items:start;gap:0;height:17rem;padding:0;display:flex;position:absolute;inset:auto 0 -7rem;overflow:visible}.hand__cards .game-card{scroll-snap-align:none;transform-origin:50% 115%;width:10.5rem;height:15.4rem;transition:transform var(--dur-short) var(--ease-out), filter var(--dur-short) var(--ease-out);flex:none;margin-inline-start:-3.2rem}.hand__cards .game-card:first-child{margin-inline-start:0;transform:translateY(1.4rem)rotate(-8deg)}.hand__cards .game-card:nth-child(2){transform:translateY(.45rem)rotate(-4deg)}.hand__cards .game-card:nth-child(3){transform:translateY(0)rotate(0)}.hand__cards .game-card:nth-child(4){transform:translateY(.45rem)rotate(4deg)}.hand__cards .game-card:nth-child(5){transform:translateY(1.4rem)rotate(8deg)}.hand__cards .game-card:nth-child(n+6){transform:translateY(2rem)rotate(11deg)}.hand__cards .game-card.is-disabled{opacity:1;filter:grayscale(.85)brightness(.88)}.hand__cards .game-card__disabled-reason{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden}.hand__cards .game-card.is-selected{z-index:var(--z-dropdown);filter:none;outline:0;transform:translateY(-8rem)rotate(0)scale(1.04)}.play-selected{margin-block-end:3rem}.battle__bottom-actions{inset:auto var(--space-lg) var(--space-md) auto;z-index:var(--z-sticky);position:absolute}.battle-pass{min-width:5.3rem;min-height:3.1rem;font-size:1rem}.match-result{z-index:var(--z-modal);width:min(100% - 2rem,30rem);min-height:22rem;padding:var(--space-xl);border:2px solid var(--color-arena-shadow);background:var(--color-surface);color:var(--color-ink);box-shadow:0 7px 0 var(--color-arena-shadow);position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.match-result:before{content:none}@keyframes bp-pulse{50%{opacity:.58}}.agent-challenge{gap:var(--space-sm);padding:var(--space-md);border:2px dashed var(--color-ink);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-pear) 16%, var(--color-surface));display:grid}.agent-challenge__heading{align-items:center;gap:var(--space-sm);display:flex}.agent-challenge__heading>span{background:var(--color-pear);border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-size:1.35rem;display:grid}.agent-challenge__heading div{display:grid}.agent-challenge__heading small,.agent-challenge__warning{color:var(--color-muted)}.agent-challenge code{max-width:100%;padding:var(--space-sm);border:1px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-surface);white-space:nowrap;font-size:.72rem;display:block;overflow:auto}.agent-challenge [role=alert]{color:var(--color-coral);font-weight:700}@media (width>=48rem){.lobby-grid{grid-template-columns:minmax(20rem,26.8rem) minmax(23rem,32.5rem);justify-content:start}}@media (width<=35rem){.site-header{padding-inline:var(--space-sm)}.page{padding:var(--space-lg) var(--space-md) var(--space-2xl)}.profile-card,.sign-in-card{grid-template-columns:auto minmax(0,1fr)}.profile-card>.badge:last-child,.sign-in-card>.btn{grid-column:1/-1;width:100%}.leaderboard-list li,.leaderboard-list li:first-child,.leaderboard-list li:nth-child(2),.leaderboard-list li:nth-child(3){grid-template-columns:auto auto minmax(0,1fr) auto}.leaderboard-record{display:none}.catalog-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.game-card__flavor,.catalog-grid .game-card__id{display:none}.battle{min-height:32rem}.battle__topbar{inset:var(--space-sm) var(--space-sm) auto}.battle__topbar>.badge{display:none}.battle__status{inset-block-start:4.2rem;inset-inline-end:var(--space-sm)}.phase-rail span{min-width:6.3rem;display:none}.phase-rail span.is-current{display:flex}.battle__opponent{transform-origin:0 0;inset-block-start:4.3rem;inset-inline-start:var(--space-sm);transform:scale(.64)}.battle__opponent .card-backs{display:none}.battle__you{transform-origin:0 100%;inset-block-end:6.75rem;inset-inline-start:var(--space-sm);transform:scale(.64)}.deck-pile{display:none}.battle__table{width:21rem;transform:translate(-50%,-58%)scale(.72)}.hand{height:15rem}.hand__cards{transform-origin:bottom;inset-block-end:-5.4rem;transform:scale(.72)}.hand__cards .game-card{margin-inline-start:-5.2rem}.hand__cards .game-card:first-child{margin-inline-start:0}.hand__cards .game-card.is-selected{transform:translateY(-15rem)rotate(0)scale(1.5)}.hand__heading{inset-block-end:4.7rem}.hand__heading p{display:none}.play-selected{margin-block-end:0}.battle__bottom-actions{transform-origin:100% 100%;inset-block-end:var(--space-xl);inset-inline-end:var(--space-sm);transform:scale(.82)}}@media (width<=22rem){.catalog-grid{grid-template-columns:minmax(0,12.25rem);justify-content:center}.catalog-grid .game-card__flavor{display:block}}.battle-page{padding:0}.battle__you{z-index:calc(var(--z-dropdown) + 2)}.game-card__topline{align-items:start;gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto;min-height:2.65rem;display:grid}.game-card__topline h3{max-width:none;padding-block-start:var(--space-3xs)}.game-card__stats{align-items:stretch;gap:var(--space-3xs);font-family:var(--font-label);line-height:1;display:flex}.game-card__primary-stat,.game-card__cost{align-content:center;place-items:center;gap:var(--space-3xs);min-width:2.25rem;min-height:2.25rem;padding:var(--space-3xs) var(--space-xs);border:1.5px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);display:grid}.game-card__primary-stat strong,.game-card__cost strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:.9rem}.game-card__primary-stat small,.game-card__cost small{letter-spacing:.08em;font-size:.42rem;font-weight:700}.game-card--bug .game-card__primary-stat{background:var(--color-coral);color:var(--color-coral-ink)}.game-card--patch .game-card__primary-stat{background:var(--color-cyan);color:var(--color-cyan-ink)}.game-card__cost{background:var(--color-paper-2)}.game-card__footer{justify-content:flex-end}.game-card__disabled-reason{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden}button.game-card.is-unplayable{opacity:1;cursor:zoom-in;filter:grayscale(.85)brightness(.88)}button.game-card.is-playable{cursor:pointer}button.game-card.is-pending{cursor:progress}button.game-card:active{box-shadow:0 1px 0 var(--color-ink)}button.game-card:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.battle__stage{z-index:var(--z-raised);justify-content:center;align-items:center;gap:var(--space-xs);pointer-events:none;width:min(38rem,72vw);min-height:21rem;display:flex;position:absolute;inset-block-start:46%;inset-inline-start:50%;transform:translate(-50%,-50%)}.battle__stage.is-empty{min-height:0}.stage-card{--stage-rotation:0deg;width:clamp(12rem,18vw,15rem);transform:rotate(var(--stage-rotation));filter:drop-shadow(0 var(--space-md) var(--space-lg) var(--color-arena-shadow));flex:none}.stage-card--bug{--stage-rotation:-3deg;z-index:2}.stage-card--patch{--stage-rotation:3deg;z-index:3}.stage-card+.stage-card{margin-inline-start:calc(var(--space-sm) * -1)}.stage-card--from-you{animation:stage-from-you .36s var(--ease-out) both}.stage-card--from-opponent{animation:stage-from-opponent .36s var(--ease-out) both}.stage-card.is-leaving{animation:stage-to-discard var(--dur-short) var(--ease-in) forwards}.stage-card .game-card{transform-origin:50%;width:100%}.battle__dismiss-selection{z-index:calc(var(--z-dropdown) - 2);background:0 0;position:absolute;inset:0}.hand{z-index:calc(var(--z-dropdown) - 1);pointer-events:none;height:19rem}.hand__heading{inset:auto 0 calc(100% + var(--space-sm));z-index:calc(var(--z-dropdown) + 2);padding-inline:var(--space-md)}.hand__heading p{max-width:min(48rem,100% - 12rem);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-arena-deep);color:var(--color-arena-ink);text-align:center}.hand__cards{pointer-events:none;align-items:end;height:17rem;inset-block-end:var(--space-2xl)}.hand__cards .game-card{z-index:var(--z-base);pointer-events:auto;transform:translateY(var(--fan-drop,0)) rotate(var(--fan-rotation,0deg));transform-origin:50% 112%;transition:transform var(--dur-short) var(--ease-out), filter var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out);margin-inline-start:-3rem}.hand__cards .game-card:first-child{margin-inline-start:0}.hand__cards .game-card.is-selected{z-index:calc(var(--z-dropdown) + 3);outline:3px solid var(--color-accent);outline-offset:4px;transform:translateY(calc(var(--fan-drop,0rem) - var(--space-md))) rotate(0deg);filter:none;cursor:pointer}.hand__cards .game-card.is-selected.is-unplayable{cursor:default}.battle__inspection{inset:auto auto clamp(var(--space-2xl), 8vh, var(--space-3xl)) 50%;z-index:calc(var(--z-modal) - 1);pointer-events:auto;width:clamp(12rem,20vw,14rem);animation:inspection-appear var(--dur-short) var(--ease-out) both;position:fixed;transform:translate(-50%)}.battle__inspection .game-card{aspect-ratio:10.5/15.4;outline:3px solid var(--color-accent);outline-offset:5px;width:100%;height:auto;box-shadow:0 var(--space-md) 0 var(--color-arena-shadow), 0 var(--space-xl) var(--space-2xl) var(--color-shadow);transform:rotate(-1deg)}.battle__inspection .game-card.is-unplayable{cursor:default;opacity:1;filter:none}.battle .game-card:focus-visible{outline-color:var(--color-accent)}.battle__bottom-actions{z-index:calc(var(--z-dropdown) + 5);align-items:end;gap:var(--space-sm);display:flex}.battle-pass{min-width:7rem}.battle-history-toggle{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-arena-shadow)}.battle-pass-group{justify-items:end;gap:var(--space-xs);display:grid}.battle-pass__guidance{max-width:17rem;padding:var(--space-xs) var(--space-sm);border:2px solid var(--phase-color);border-radius:var(--radius-sm);background:var(--color-arena-deep);color:var(--color-arena-ink);font-family:var(--font-label);text-align:end;font-size:.58rem;line-height:1.3}.battle-pass-group.is-recommended .battle-pass{animation:pass-ready 1.8s var(--ease-in-out) infinite}.uptime{position:relative}.uptime strong{display:inline-block}.uptime.is-changing strong{animation:uptime-pop .36s var(--ease-out)}.uptime__delta{padding:var(--space-2xs) var(--space-xs);border:1.5px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-error-surface);color:var(--color-error);box-shadow:0 var(--space-2xs) 0 var(--color-arena-shadow);font-family:var(--font-label);animation:uptime-delta .85s var(--ease-out) both;font-size:.66rem;font-style:normal;font-weight:700;position:absolute;inset-block-start:calc(var(--space-sm) * -1);inset-inline-end:calc(var(--space-sm) * -1)}.uptime__delta.is-positive{background:var(--color-success-surface);color:var(--color-success)}.uptime__projection{padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-label);white-space:nowrap;animation:projection-appear var(--dur-short) var(--ease-out) both;margin-block-start:var(--space-2xs);font-size:.5rem;font-style:normal;font-weight:700;line-height:1;position:absolute;inset-block-start:100%;inset-inline-start:0}.battle:before,.battle:after{content:"";pointer-events:none;position:absolute;inset:0}.battle:before{z-index:calc(var(--z-toast) - 1);background:var(--color-surface);opacity:0}.battle:after{inset:var(--space-xs);z-index:0;border:3px solid var(--phase-color,var(--color-muted));border-radius:var(--radius-card)}.battle--opponent-turn:after{border-style:dashed}.battle__turn-indicator{z-index:var(--z-sticky);min-height:var(--space-xl);align-items:center;column-gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:2px solid var(--color-arena-shadow);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);box-shadow:0 var(--space-2xs) 0 var(--color-arena-shadow);font-family:var(--font-label);white-space:nowrap;grid-template-columns:auto auto;display:grid;position:absolute;inset-block-start:calc(var(--space-3xl) - var(--space-lg));inset-inline-start:50%;transform:translate(-50%)}.battle__turn-indicator i{width:var(--space-sm);height:var(--space-sm);border:2px solid var(--color-ink);background:var(--color-muted);border-radius:50%;grid-row:1/span 2}.battle__turn-indicator strong{font-size:.75rem;line-height:1}.battle__turn-compact{display:none}.battle__turn-indicator span{color:var(--color-muted);font-size:.625rem;line-height:1.15}.battle__turn-indicator.is-yours{background:var(--phase-color);color:var(--color-accent-ink)}.battle__turn-indicator.is-yours i{background:var(--color-ink)}.battle__turn-indicator.is-yours span{color:var(--color-accent-ink)}.battle__turn-indicator.is-opponents i{animation:waiting-pulse 1.2s var(--ease-in-out) infinite}.battle__agent-offline{z-index:var(--z-sticky);justify-content:center;align-items:center;gap:var(--space-sm);width:min(29rem,100% - 2rem);padding:var(--space-xs) var(--space-md);border:2px dashed var(--color-coral);border-radius:var(--radius-pill);background:var(--color-arena-deep);color:var(--color-arena-ink);box-shadow:0 var(--space-2xs) 0 var(--color-arena-shadow);font-family:var(--font-label);display:flex;position:absolute;inset-block-start:calc(var(--space-3xl) + var(--space-md));inset-inline-start:50%;transform:translate(-50%)rotate(-.5deg)}.battle__agent-offline>span{color:var(--color-coral);font-size:1rem}.battle__agent-offline div{gap:var(--space-3xs);display:grid}.battle__agent-offline strong{font-size:.66rem}.battle__agent-offline div span{color:var(--color-muted);font-size:.56rem}.battle__history-scrim,.match-result__scrim{z-index:calc(var(--z-modal) - 2);background:color-mix(in srgb, var(--color-arena-deep) 76%, transparent);border:0;position:absolute;inset:0}.battle__history{inset:var(--space-sm) var(--space-sm) var(--space-sm) auto;z-index:var(--z-modal);width:min(26rem, calc(100% - var(--space-lg)));gap:var(--space-lg);padding:var(--space-lg);border:2px solid var(--color-arena-shadow);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-ink);box-shadow:calc(var(--space-xs) * -1) var(--space-xs) 0 var(--color-arena-shadow);animation:history-enter var(--dur-short) var(--ease-out) both;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute}.battle__history header{justify-content:space-between;align-items:start;gap:var(--space-md);display:flex}.battle__history header>div{gap:var(--space-2xs);display:grid}.battle__history header span,.battle__history li>span{color:var(--color-muted);font-family:var(--font-label);text-transform:uppercase;font-size:.58rem}.battle__history ol{align-content:start;gap:var(--space-sm);min-height:0;padding:0 var(--space-xs) var(--space-md) 0;margin:0;list-style:none;display:grid;overflow-y:auto}.battle__history li{gap:var(--space-2xs);padding:var(--space-sm);border-inline-start:var(--space-2xs) solid var(--color-rule-strong);background:var(--color-paper-2);display:grid}.battle__history li.is-bug{border-color:var(--color-coral)}.battle__history li.is-patch{border-color:var(--color-cyan)}.battle__history li.is-result{border-color:var(--color-accent)}.battle__history li p{font-size:.82rem}.match-result__scrim{z-index:calc(var(--z-modal) - 1)}.match-result__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.battle__stage:after{content:"";z-index:var(--z-dropdown);width:calc(var(--space-2xl) * 2);height:calc(var(--space-2xl) * 2);border:var(--space-2xs) dashed var(--color-accent);opacity:0;border-radius:50%;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)scale(.2)rotate(0)}.battle.is-impacting{animation:board-impact var(--dur-long) var(--ease-in-out)}.battle.is-impacting:before{animation:impact-flash var(--dur-long) var(--ease-out)}.battle.is-impacting .battle__stage:after{animation:impact-burst var(--dur-long) var(--ease-out)}.battle.is-impacting .stage-card--bug .game-card{animation:bug-impact var(--dur-long) var(--ease-out)}.battle.is-impacting .stage-card--patch .game-card{animation:patch-impact var(--dur-long) var(--ease-out)}@keyframes stage-from-you{0%{opacity:0;transform:translateY(42vh)scale(.72)rotate(9deg)}to{opacity:1;transform:translate3d(0, 0, 0) scale(1) rotate(var(--stage-rotation))}}@keyframes inspection-appear{0%{opacity:0;transform:translate(-50%, var(--space-xs)) scale(.97)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes stage-from-opponent{0%{opacity:0;transform:translateY(-42vh)scale(.72)rotate(-9deg)}to{opacity:1;transform:translate3d(0, 0, 0) scale(1) rotate(var(--stage-rotation))}}@keyframes stage-to-discard{to{opacity:0;transform:translate(45vw)scale(.55)rotate(14deg)}}@keyframes board-impact{14%{transform:translate3d(calc(var(--space-xs) * -1), var(--space-2xs), 0)}30%{transform:translate3d(var(--space-sm), calc(var(--space-2xs) * -1), 0)}47%{transform:translate3d(calc(var(--space-xs) * -1), var(--space-2xs), 0)}66%{transform:translate3d(var(--space-2xs), calc(var(--space-3xs) * -1), 0)}to{transform:none}}@keyframes impact-flash{0%,to{opacity:0}18%{opacity:.16}}@keyframes impact-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(0)}22%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%)scale(1.55)rotate(24deg)}}@keyframes bug-impact{0%,to{transform:none}24%{transform:translateX(var(--space-lg)) scale(1.04) rotate(-5deg)}52%{transform:translateX(calc(var(--space-sm) * -1)) scale(.98) rotate(-1deg)}}@keyframes patch-impact{0%,to{transform:none}24%{transform:translateX(calc(var(--space-lg) * -1)) scale(1.04) rotate(5deg)}52%{transform:translateX(var(--space-sm)) scale(.98) rotate(1deg)}}@keyframes uptime-pop{45%{transform:scale(1.13)}}@keyframes uptime-delta{0%{opacity:0;transform:translateY(var(--space-xs))}24%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(var(--space-sm) * -1))}}@keyframes projection-appear{0%{opacity:0;transform:translateY(var(--space-2xs))}to{opacity:1;transform:translateY(0)}}@keyframes waiting-pulse{50%{background:var(--phase-color);transform:scale(1.25)}}@keyframes pass-ready{50%{transform:translateY(calc(var(--space-3xs) * -1))}}@keyframes history-enter{0%{opacity:0;transform:translateX(var(--space-lg))}to{opacity:1;transform:translate(0)}}@media (hover:hover) and (pointer:fine){.hand__cards .game-card:hover:not(.is-selected),.hand__cards .game-card:focus-visible:not(.is-selected){z-index:var(--z-dropdown);transform:translateY(calc(var(--fan-drop,0rem) - var(--space-sm))) rotate(0deg);filter:none}}@media (width>=35.0625rem) and (width<=48rem){.battle__status{inset-block-start:4.6rem}.phase-rail{gap:var(--space-xs);display:flex}.phase-rail span{min-width:6.4rem}.battle__turn-indicator{inset-block-start:7.25rem}.battle__agent-offline{inset-block-start:10.75rem}}@media (width<=48rem){.battle{gap:var(--space-xs);min-height:32rem;padding:var(--space-sm);grid-template:"topbar topbar""opponent phase""turn turn""stage stage"minmax(12rem,1fr)"you actions""hand hand"13.5rem/minmax(0,1fr) auto;grid-auto-rows:0;grid-auto-columns:0;display:grid;overflow:clip}.battle:after{inset:var(--space-2xs);border-width:2px}.battle__topbar{gap:var(--space-xs);grid-area:topbar;position:relative;inset:auto}.battle__brand{max-width:9rem;min-height:2.75rem;padding:var(--space-xs) var(--space-sm);text-overflow:ellipsis;align-items:center;font-size:.78rem;display:inline-flex;overflow:hidden}.battle__topbar .btn{min-height:2.75rem;padding-inline:var(--space-sm);font-size:.78rem}.battle__topbar:has(.battle__surrender-confirm) .battle__brand{visibility:hidden}.battle__surrender-confirm{margin-inline-start:auto}.battle__status{grid-area:phase;place-self:start end;position:relative;inset:auto}.phase-rail span{min-width:6.75rem;max-width:7.2rem;min-height:3.5rem;padding-inline:var(--space-xs);text-overflow:ellipsis;font-size:.52rem;overflow:hidden}.battle__opponent{grid-area:opponent;align-self:start;position:relative;inset:auto;transform:none}.battle__opponent .card-backs,.deck-pile{display:none}.battle__opponent .player-summary,.battle__you .player-summary{width:9.5rem;min-height:3.5rem;padding:var(--space-xs);box-shadow:0 var(--space-2xs) 0 var(--color-arena-shadow);grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr);align-items:center}.battle__opponent .player-summary__identity,.battle__you .player-summary__identity{align-items:center;gap:var(--space-3xs) var(--space-2xs);grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.battle__opponent .player-summary__identity>strong,.battle__you .player-summary__identity>strong{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.battle__opponent .player-summary__identity .badge,.battle__you .player-summary__identity .badge{min-height:1.25rem;padding:var(--space-3xs) var(--space-2xs);font-size:.625rem}.battle__opponent .presence,.battle__you .presence{font-size:0}.battle__opponent .presence:before,.battle__you .presence:before{margin-inline-end:0}.battle__opponent .uptime,.battle__you .uptime{grid-row:auto}.battle__opponent .uptime strong,.battle__you .uptime strong{font-size:1.9rem}.battle__turn-indicator{min-height:2.5rem;padding:var(--space-2xs) var(--space-sm);grid-area:turn;place-self:center;position:relative;inset:auto;transform:none}.battle__turn-indicator strong{font-size:.625rem}.battle__turn-wide{display:none}.battle__turn-compact{display:block}.battle__turn-indicator span{display:none}.battle:has(.battle__agent-offline) .battle__turn-indicator{display:none}.battle__agent-offline{width:auto;min-height:2.5rem;padding:var(--space-3xs) var(--space-xs);grid-area:turn;justify-content:flex-start;place-self:center stretch;position:relative;inset:auto;transform:rotate(-.5deg)}.battle__agent-offline strong{font-size:.6rem}.battle__agent-offline div span{display:none}.battle__stage{gap:var(--space-xs);grid-area:stage;width:100%;height:100%;min-height:0;position:relative;inset:auto;transform:none}.stage-card{width:min(42vw,8.5rem);filter:drop-shadow(0 var(--space-sm) var(--space-md) var(--color-arena-shadow))}.stage-card+.stage-card{margin-inline-start:0}.stage-card--bug{--stage-rotation:-2deg}.stage-card--patch{--stage-rotation:2deg}.stage-card .game-card{gap:var(--space-2xs);padding:var(--space-xs);grid-template-rows:auto 36% minmax(0,1fr)}.stage-card .game-card__topline{gap:var(--space-2xs);min-height:2.1rem}.stage-card .game-card__topline h3{overflow-wrap:normal;padding-block-start:0;font-size:.72rem}.stage-card .game-card__primary-stat,.stage-card .game-card__cost{min-width:1.75rem;min-height:1.9rem;padding-inline:var(--space-2xs)}.stage-card .game-card__primary-stat strong,.stage-card .game-card__cost strong{font-size:.78rem}.stage-card .game-card__primary-stat small,.stage-card .game-card__cost small{font-size:.625rem}.stage-card .game-card__rules{font-size:.625rem;line-height:1.25}.stage-card .game-card__footer{display:none}.battle__you{grid-area:you;align-self:end;position:relative;inset:auto;transform:none}.hand{grid-area:hand;height:100%;min-height:0;position:relative;inset:auto;overflow:hidden}.hand__heading{inset-block-start:0}.hand__heading p{display:none}.hand__cards{justify-content:flex-start;align-items:end;gap:var(--space-xs);width:100%;height:100%;padding:0 var(--space-xs) var(--space-sm);scroll-padding-inline:var(--space-xs);scroll-snap-type:x proximity;scrollbar-color:var(--phase-color) var(--color-arena-deep);scrollbar-width:thin;position:relative;inset:auto;overflow:auto hidden;transform:none}.hand__cards .game-card,.hand__cards .game-card:first-child,.hand__cards .game-card.is-selected{aspect-ratio:10.5/15.4;scroll-snap-align:start;width:8.75rem;height:auto;margin-inline-start:0;transform:none!important}.battle__inspection{width:min(12rem, calc(100% - var(--space-2xl)));inset-block-end:var(--space-3xl)}.battle__bottom-actions{grid-area:actions;place-self:end;position:relative;inset:auto;transform:none}.battle-history-toggle{min-height:2.25rem;padding-inline:var(--space-sm);font-size:.7rem;position:absolute;inset-block-end:calc(100% + var(--space-sm));inset-inline-end:0}.battle-pass__guidance{width:min(13rem, calc(100vw - var(--space-xl)));position:absolute;inset-block-end:calc(100% + var(--space-3xl));inset-inline-end:0}.battle-pass{min-width:6.6rem;min-height:3rem;font-size:.88rem}.battle__history{inset:var(--space-xs);width:auto;padding:var(--space-md)}.match-result{width:calc(100% - var(--space-lg));min-height:0;max-height:calc(100dvh - var(--space-lg));padding:var(--space-lg);overflow-y:auto}.match-result__actions{width:100%;display:grid}}@media (width>=35.0625rem) and (width<=48rem){.battle__topbar>.badge{display:none}.phase-rail{display:grid}.phase-rail span{display:none}.phase-rail span.is-current{display:flex}.battle__opponent .player-summary,.battle__you .player-summary{width:11rem}.hand__cards .game-card,.hand__cards .game-card:first-child,.hand__cards .game-card.is-selected{width:9.25rem}}@media (width<=22rem){.battle__brand{max-width:8rem}.phase-rail span{min-width:6.25rem}.stage-card{width:min(42vw,8.25rem)}.hand__cards .game-card,.hand__cards .game-card:first-child,.hand__cards .game-card.is-selected{width:8.25rem}}@media (width<=35rem) and (height<=42rem){.battle{grid-template-rows:auto auto auto minmax(8rem,1fr) auto 10.5rem}.stage-card{width:min(38vw,7.25rem)}.hand__cards .game-card,.hand__cards .game-card:first-child,.hand__cards .game-card.is-selected{width:6.9rem}}@media (prefers-reduced-motion:reduce){.stage-card--from-you,.stage-card--from-opponent,.stage-card.is-leaving,.uptime.is-changing strong,.uptime__delta{animation-name:reveal-reduced!important;animation-duration:.15s!important}.battle.is-impacting,.battle__inspection,.battle.is-impacting:before,.battle.is-impacting .battle__stage:after,.battle.is-impacting .stage-card--bug .game-card,.battle.is-impacting .stage-card--patch .game-card,.battle__turn-indicator.is-opponents i,.battle-pass-group.is-recommended .battle-pass,.uptime__projection,.battle__history{animation:none!important}.hand__cards .game-card{transition-duration:.15s}}.battle-preview{background:var(--color-arena-deep);grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.battle-preview__toolbar{z-index:var(--z-tooltip);align-items:center;gap:var(--space-sm);min-height:3rem;padding:var(--space-xs) var(--space-md);border-block-end:2px solid var(--color-rule-strong);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-label);display:flex}.battle-preview__toolbar label{align-items:center;gap:var(--space-xs);display:flex}.battle-preview__toolbar label>span{color:var(--color-muted);text-transform:uppercase;font-size:.625rem}.battle-preview__toolbar select,.battle-preview__toolbar .btn{min-height:2rem;padding:var(--space-2xs) var(--space-xs);font-size:.72rem}.battle-preview__toolbar>span:last-child{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.battle-preview__arena{min-height:0}.battle-preview__arena .battle{height:100%;min-height:0}@media (width<=48rem){.battle-preview__toolbar{min-height:2.75rem;padding:var(--space-2xs) var(--space-xs)}.battle-preview__toolbar>strong,.battle-preview__toolbar label>span,.battle-preview__toolbar>span:last-child{display:none}.battle-preview__toolbar label{flex:1;min-width:0}.battle-preview__toolbar select{width:100%;min-width:0}}
