:root{--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-xs:8px;--radius-s:12px;--radius-m:18px;--radius-l:26px;--radius-pill:999px;--label-track:.14em;--fs-min:12px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-press:cubic-bezier(.2, .9, .3, 1.3);--dur-fast:.12s;--dur:.24s;--dur-slow:.44s;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--vh:1vh;--app-h:calc(var(--vh) * 100);--gutter:clamp(12px, 3vmin, 28px);--tap:44px;--edge-size:3px;--card-w:clamp(54px, 13vmin, 110px)}@supports (height:100dvh){:root{--app-h:100dvh}}:root,[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#efe4cf;--bg-deep:#e3d3b6;--bg-dots:#46321e12;--surface:#fbf6ec;--surface-2:#f4ead9;--surface-sunk:#e9dcc4;--edge:#d6c3a1;--border:#2f2a2429;--overlay:#2f261c6b;--ink:#2f2a24;--ink-soft:#6a5f53;--ink-faint:#71665a;--accent:#b4562f;--accent-text:var(--accent);--accent-edge:#8a3c22;--accent-ink:#fff8ee;--accent-soft:#c8643f24;--sage:#5f8a6e;--sage-soft:#5f8a6e29;--mustard:#e0a93a;--sky:#6f8fae;--danger:#b8432f;--danger-edge:#8b2e1e;--danger-ink:#fff8ee;--success:#4f8a5f;--rarity-common:#5f564b;--rarity-rare:#335c7e;--rarity-epic:#74488f;--rarity-legendary:#7a560c;--shadow-soft:0 10px 24px #50371e1f;--shadow-pop:0 18px 40px #50371e38;--elev-1:0 1px 2px #462d141a, 0 2px 6px #462d140f;--elev-2:0 2px 4px #462d141a, 0 8px 20px #462d141f;--elev-3:0 6px 12px #28190a24, 0 22px 48px #28190a38;--gold:#b88a2e;--gold-bright:#e6c36a;--gold-deep:#8a6418;--gold-line:#b88a2e73;--gold-soft:#e6c36a2e;--gold-ink:#2a1d07;--gold-text:#8a6418;--sage-text:#4d7a5d;--success-text:#3f7550;--gold-metal:linear-gradient(180deg, #f2d98f 0%, #d9ab48 48%, #b8862b 100%);--glass:#fbf6ecd6;--glass-strong:#fbf6eced;--glass-border:#ffffffa6;--ill-line:#2f2a24;--ill-wall:#f1e2c5;--ill-wallpaper:#c8643f14;--ill-frame:#8a5a3c;--ill-sky:#bcdbe2;--ill-orb:#f6c65b;--ill-town:#a9c1ab;--ill-lights:transparent;--ill-sill:#a26a45;--ill-lamp:#c8643f;--ill-glow:#f6c65b00;--ill-pot:#c8643f;--ill-leaf:#5f8a6e;--ill-table:#b07a52;--ill-table-edge:#8a5a3c;--ill-card:#fffaf0;--ill-card-back:#c8643f;--ill-card-back-inner:#e8956f;--ill-suit-red:#c0453a;--ill-suit-ink:#2f2a24;--ill-cup:#f7f2e7;--ill-cat:#3b342d;--ill-cat-eye:#f6c65b;--ill-felt:#7fa58a;--ill-slot:#ffffff38;--ill-water:#8fb7c9;--ill-fish:#e0a93a;--ill-fish-alt:#c8643f}[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1f2431;--bg-deep:#171b25;--bg-dots:#fff0d20a;--surface:#2c3242;--surface-2:#343b4d;--surface-sunk:#232837;--edge:#141822;--border:#f3ead81f;--overlay:#080a1099;--ink:#f3ead8;--ink-soft:#c2b8a6;--ink-faint:#a7a3b3;--accent:#e07a52;--accent-text:#ec8d68;--accent-edge:#a8502f;--accent-ink:#1f1a16;--accent-soft:#e07a5229;--sage:#86b597;--sage-soft:#86b59729;--mustard:#f0bd52;--sky:#8eaed0;--danger:#e0654f;--danger-edge:#9d3a28;--danger-ink:#1f1a16;--success:#86b597;--rarity-common:#b9b1a4;--rarity-rare:#7fb2de;--rarity-epic:#c39ae6;--rarity-legendary:#f0bd52;--shadow-soft:0 10px 24px #0000004d;--shadow-pop:0 18px 40px #00000073;--elev-1:0 1px 2px #0000004d, 0 2px 6px #0003;--elev-2:0 2px 4px #0000004d, 0 10px 24px #00000052;--elev-3:0 6px 14px #0006, 0 24px 56px #00000080;--gold:#e2bd64;--gold-bright:#f5d98e;--gold-deep:#a9832f;--gold-line:#e2bd6466;--gold-soft:#e2bd6424;--gold-ink:#241805;--gold-text:#e2bd64;--sage-text:#86b597;--success-text:#86b597;--gold-metal:linear-gradient(180deg, #f7e2a2 0%, #e2b85a 48%, #b98c34 100%);--glass:#202532cc;--glass-strong:#202532eb;--glass-border:#f3ead824;--ill-line:#10131b;--ill-wall:#2a3040;--ill-wallpaper:#f0bd520d;--ill-frame:#5a3f2e;--ill-sky:#26324d;--ill-orb:#f3e6c4;--ill-town:#18202f;--ill-lights:#f0bd52;--ill-sill:#6a4a35;--ill-lamp:#e07a52;--ill-glow:#f0bd5247;--ill-pot:#b8603e;--ill-leaf:#4f7a60;--ill-table:#5c4030;--ill-table-edge:#43301f;--ill-card:#f3ead8;--ill-card-back:#b8603e;--ill-card-back-inner:#d27f5d;--ill-suit-red:#c0453a;--ill-suit-ink:#2a2622;--ill-cup:#e8dfcd;--ill-cat:#10131b;--ill-cat-eye:#f0bd52;--ill-felt:#3f6650;--ill-slot:#ffffff1f;--ill-water:#3a5a72;--ill-fish:#f0bd52;--ill-fish-alt:#e07a52}.reduced-motion{--dur-fast:1ms;--dur:1ms;--dur-slow:1ms}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--bg);height:100%;margin:0;overflow:hidden}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background var(--dur-slow), color var(--dur-slow);font-size:clamp(14px,1.2vmin + 9px,17px);line-height:1.4}html:not([data-booted]),html:not([data-booted]) body,html:not([data-booted]) #app{background:#000}#app{height:var(--app-h);background:radial-gradient(var(--bg-dots) 1px, transparent 1.5px) 0 0 / 18px 18px, radial-gradient(120% 70% at 50% 0%, var(--surface-2), transparent 70%), linear-gradient(180deg, var(--bg), var(--bg-deep));position:fixed;inset:0;overflow:hidden}h1,h2,h3{font-family:var(--font-display);font-variation-settings:"SOFT" 100;letter-spacing:.01em;margin:0;font-weight:700;line-height:1.15}p{margin:0}a{color:var(--accent-text);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}.icon{flex:none;width:1.25em;height:1.25em}:focus,[tabindex="-1"]:focus-visible{outline:none}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--radius-s)}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{position:absolute;inset:0}.screen{padding:calc(var(--safe-t) + var(--gutter) * .6) calc(var(--safe-r) + var(--gutter)) calc(var(--safe-b) + var(--gutter) * .6) calc(var(--safe-l) + var(--gutter));transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.screen.enter-forward{opacity:0;transform-origin:50% 120%;transform:translate(6%,1.5%)rotate(1.4deg)scale(.985)}.screen.enter-back{opacity:0;transform-origin:50% 120%;transform:translate(-6%,1.5%)rotate(-1.4deg)scale(.985)}.screen.leave-forward{opacity:0;transform-origin:50% 120%;pointer-events:none;transform:translate(-4%)rotate(-.8deg)scale(.99)}.screen.leave-back{opacity:0;transform-origin:50% 120%;pointer-events:none;transform:translate(4%)rotate(.8deg)scale(.99)}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}@keyframes page-in-right{0%{opacity:0;transform:translate(28px)}}@keyframes page-in-left{0%{opacity:0;transform:translate(-28px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}.btn{--btn-bg:var(--surface);--btn-ink:var(--ink);--btn-edge:var(--edge);--btn-glint:#ffffff8c;border:1px solid var(--border);cursor:pointer;min-height:var(--tap);border-radius:var(--radius-s);background:var(--btn-bg);color:var(--btn-ink);letter-spacing:.01em;box-shadow:inset 0 1px 0 var(--btn-glint), 0 var(--edge-size) 0 var(--btn-edge), var(--elev-1);transition:transform var(--dur-fast) var(--ease-press), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast), filter var(--dur-fast);justify-content:center;align-items:center;gap:.5em;padding:.55em 1.3em;font-weight:800;display:inline-flex;position:relative;transform:translateY(0)}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(1.05);box-shadow:inset 0 1px 0 var(--btn-glint), 0 calc(var(--edge-size) + 1px) 0 var(--btn-edge), var(--elev-2);transform:translateY(-1px)}}.btn:active:not(:disabled){transform:translateY(var(--edge-size)) scale(.985);box-shadow:inset 0 1px 0 var(--btn-glint), 0 0 0 var(--btn-edge);transition-duration:60ms}.btn:disabled{opacity:.4;cursor:default}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn-primary{--btn-bg:var(--accent);--btn-ink:var(--accent-ink);--btn-edge:var(--accent-edge);--btn-glint:#ffffff47;border-color:#0000}.btn-gold{--btn-bg:var(--gold-metal);--btn-ink:var(--gold-ink);--btn-edge:var(--gold-deep);--btn-glint:#fffae6b3;text-shadow:0 1px #fff5d299;border-color:#78551459}.btn-secondary{--btn-bg:var(--surface-2)}.btn-danger{--btn-bg:var(--danger);--btn-ink:var(--danger-ink);--btn-edge:var(--danger-edge);--btn-glint:#ffffff40;border-color:#0000}.btn-ghost{--btn-bg:transparent;--btn-edge:transparent;--btn-glint:transparent;box-shadow:none}@media (hover:hover){.btn-ghost:hover:not(:disabled){--btn-bg:var(--accent-soft);box-shadow:none}}.btn-ghost:active:not(:disabled){box-shadow:none;transform:scale(.97)}.btn-icon{width:var(--tap);height:var(--tap);border-radius:var(--radius-s);padding:0}.btn-icon .icon{width:22px;height:22px}.btn-plain{--btn-bg:transparent;box-shadow:none;font-weight:inherit;border:0;padding:0}.btn-plain:active:not(:disabled){box-shadow:none}.btn-sm{min-height:34px;font-size:max(var(--fs-min), .88em)}.btn-icon.btn-sm{border-radius:var(--radius-xs);width:34px;height:34px}.btn-icon.btn-sm .icon{width:18px;height:18px}.btn-lg{border-radius:var(--radius-m);min-height:56px;padding:.6em 1.8em;font-size:1.1em}.pill{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);height:36px;box-shadow:inset 0 0 0 1px var(--gold-soft), var(--elev-1);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;padding:0 12px 0 8px;font-weight:800;display:inline-flex}.pill-credits .icon{color:var(--mustard)}.pill-level-num{background:var(--sage);width:24px;height:24px;color:var(--surface);font-size:max(var(--fs-min), .85em);border-radius:50%;place-items:center;display:grid}.nav-header{flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.nav-spacer{width:var(--tap)}.nav-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.nav-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.screen-title{overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(1.25rem,2.6vmin + .6rem,2rem);line-height:1.12;display:-webkit-box;overflow:hidden}@media (max-width:360px){.screen-title{font-size:1.12rem}}@media (max-width:520px){.nav-header:has(.nav-actions>:nth-child(4)){grid-template-columns:auto minmax(0,1fr);grid-template-areas:"back actions""titles titles";row-gap:2px}.nav-header:has(.nav-actions>:nth-child(4))>:first-child{grid-area:back}.nav-header:has(.nav-actions>:nth-child(4))>.nav-titles{grid-area:titles}.nav-header:has(.nav-actions>:nth-child(4))>.nav-actions{grid-area:actions}.nav-header:has(.nav-actions>:nth-child(4)) .screen-title{-webkit-line-clamp:1;font-size:1.2rem}}.screen-subtitle{color:var(--ink-soft);font-size:max(var(--fs-min), .86em);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-steps{font-size:max(var(--fs-min), .78em);color:var(--ink-faint);counter-reset:step;gap:4px;margin:0;padding:0;font-weight:800;list-style:none;display:flex}.nav-steps li{counter-increment:step;align-items:center;gap:4px;display:flex}.nav-steps li:before{content:counter(step);width:18px;height:18px;font-size:max(var(--fs-min), .85em);border:1.5px solid;border-radius:50%;place-items:center;display:grid}.nav-steps li+li:after{content:"";background:var(--border);order:-1;width:10px;height:1.5px}.nav-steps li.done{color:var(--sage-text)}.nav-steps li.current{color:var(--accent-text)}.nav-steps li.current:before{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}@media (max-width:420px){.nav-actions .pill-credits{display:none}}.frame{flex-direction:column;flex:1;gap:clamp(8px,2vmin,16px);width:100%;max-width:1280px;min-height:0;margin:0 auto;display:flex}.frame-body{flex-direction:column;flex:1;min-height:0;display:flex}.frame-footer{padding-bottom:var(--edge-size);flex:none;justify-content:center;gap:12px;display:flex}.frame-footer .btn{min-width:min(320px,100%)}.stack,.tabs{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.tabs-strip{border-radius:var(--radius-pill);background:var(--surface-sunk);scrollbar-width:none;flex:none;align-self:center;gap:2px;max-width:100%;padding:4px;display:flex;overflow-x:auto;box-shadow:inset 0 1px 2px #00000014}.tabs-strip::-webkit-scrollbar{display:none}.tab{color:var(--ink-soft);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;min-height:38px;transition:background var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease-press);background:0 0;border:0;flex:none;align-items:center;gap:.4em;padding:0 1.1em;font-weight:800;display:inline-flex;position:relative}.tab:hover{color:var(--ink)}.tab:active{transform:scale(.97)}.tab.active{background:var(--surface);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--gold-line), var(--elev-1)}@media (max-width:480px){.tab-icon{display:none}}.tabs-panel{min-height:0;animation:rise-in var(--dur) var(--ease);flex-direction:column;flex:1;display:flex}.pager{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.pager-viewport{touch-action:pan-y;min-height:0;padding:2px 2px calc(var(--edge-size) + 2px);flex:1;overflow:hidden}.pager-grid{align-content:center;height:100%;display:grid}.pager-grid.fill{align-content:stretch}.pager-grid.page-in-right{animation:page-in-right var(--dur) var(--ease)}.pager-grid.page-in-left{animation:page-in-left var(--dur) var(--ease)}.pager-nav{height:var(--tap);flex:none;justify-content:center;align-items:center;gap:10px;display:flex}.pager-dots{gap:0;display:flex}.pager-dot{cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:40px;padding:0;display:grid}.pager-dot:after{content:"";background:var(--ink-faint);opacity:.45;width:7px;height:7px;transition:transform var(--dur) var(--ease-spring), background var(--dur-fast), opacity var(--dur-fast);border-radius:1.5px;transform:rotate(45deg)}.pager-dot.active:after{background:var(--gold);opacity:1;box-shadow:0 0 0 2px var(--gold-soft);transform:rotate(45deg)scale(1.45)}.tile{text-align:left;border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--border);box-shadow:inset 0 1px 0 #ffffff59, 0 var(--edge-size) 0 var(--edge), var(--elev-1);color:var(--ink);min-width:0;min-height:0;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast);align-items:center;gap:14px;padding:14px;display:flex;position:relative;overflow:hidden}button.tile{cursor:pointer}@media (hover:hover){button.tile:hover{box-shadow:inset 0 1px 0 #ffffff59, 0 calc(var(--edge-size) + 2px) 0 var(--edge), var(--elev-2);transform:translateY(-2px)}.tile:has(>.tile-main:hover){box-shadow:inset 0 1px 0 #ffffff59, 0 calc(var(--edge-size) + 2px) 0 var(--edge), var(--elev-2);transform:translateY(-2px)}}button.tile:active{transform:translateY(calc(var(--edge-size) - 1px)) scale(.99);box-shadow:0 1px 0 var(--edge);transition-duration:60ms}.tile.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-line), 0 var(--edge-size) 0 var(--gold-deep), 0 0 0 3px var(--gold-soft), var(--elev-2)}.tile.locked>:not(.tile-lock):not(.tile-title):not(.tile-sub){filter:grayscale(.85);opacity:.55}.tile-check{background:var(--gold-metal);width:26px;height:26px;color:var(--gold-ink);box-shadow:var(--elev-1);animation:pop-in var(--dur) var(--ease-spring);z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.tile-check .icon{width:16px;height:16px}.tile-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tile-kicker{font-size:max(var(--fs-min), .7em);color:var(--gold-deep);letter-spacing:var(--label-track);text-transform:uppercase;font-weight:800}[data-theme=night] .tile-kicker{color:var(--gold-text)}.tile-title{font-family:var(--font-display);font-variation-settings:"SOFT" 100;font-size:1.05em;font-weight:700}.tile-sub{color:var(--ink-soft);font-size:max(var(--fs-min), .86em);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tile-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.tile>.badge{flex:none}.tile-lock{font-size:max(var(--fs-min), .8em);color:var(--ink-soft);align-items:center;gap:4px;font-weight:700;display:inline-flex}.tile-lock .icon{width:14px;height:14px}.badge{border-radius:var(--radius-pill);font-size:max(var(--fs-min), .72em);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-sunk);color:var(--ink-soft);white-space:nowrap;align-items:center;padding:2px 9px;font-weight:800;display:inline-flex}.badge-mature{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.badge-soft{border:1px dashed var(--border);background:0 0}.badge-accent{background:var(--accent);color:var(--accent-ink)}.badge-done{background:var(--sage-soft);color:var(--success-text)}.badge-common{color:var(--rarity-common)}.badge-rare{color:var(--rarity-rare)}.badge-epic{color:var(--rarity-epic)}.badge-legendary{color:var(--rarity-legendary)}.progress{border-radius:var(--radius-pill);background:var(--surface-sunk);width:100%;height:8px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001f}.progress-fill{background:var(--progress-fill,linear-gradient(90deg, var(--sage), color-mix(in srgb, var(--sage) 60%, var(--gold-bright))));border-radius:inherit;height:100%;transition:width var(--dur-slow) var(--ease);position:relative;overflow:hidden}.progress-fill:after{content:"";animation:glint 3.2s var(--ease) .6s infinite;background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}.progress-gold{--progress-fill:var(--gold-metal)}@keyframes glint{60%,to{transform:translate(100%)}}.difficulty{font-size:max(var(--fs-min), .82em);color:var(--ink-soft);align-items:center;gap:4px;font-weight:800;display:inline-flex}.difficulty .pip{background:var(--surface-sunk);border-radius:3px;width:10px;height:10px;transform:rotate(45deg)}.difficulty .pip.on{background:var(--mustard)}.difficulty-label{margin-left:4px}.stat-item{border-radius:var(--radius-s);background:var(--surface-2);flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px 6px;display:flex}.stat-value{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.15em;font-weight:700}.stat-label{font-size:max(var(--fs-min), .68em);text-transform:uppercase;letter-spacing:.06em;text-align:center;color:var(--ink-faint);font-weight:800;line-height:1.15}.settings-panel{width:100%;max-width:920px;min-height:0;padding-bottom:var(--edge-size);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-auto-rows:max-content;align-content:start;gap:10px;margin:0 auto;display:grid;overflow-y:auto}.settings-panel>.btn{justify-self:start}.control{border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--border);box-shadow:var(--elev-1);min-height:54px;transition:border-color var(--dur-fast);align-items:center;gap:12px;padding:10px 14px;display:flex}.control:hover{border-color:var(--gold-line)}.control-text{flex-direction:column;flex:1;display:flex}.control-text small{color:var(--ink-faint)}.control-label{font-weight:800}.control-slider{flex-wrap:wrap;row-gap:0;container-type:inline-size}.control-slider .control-label{flex:none;min-width:7.5em}.control-slider input{accent-color:var(--accent);flex:120px;min-width:120px;height:36px}@container (width<=250px){.control-slider .control-label{flex-basis:100%}}.control-value{text-align:right;width:3.2em;color:var(--accent-text);font-variant-numeric:tabular-nums;font-weight:800}.control-toggle{cursor:pointer}.control-toggle input{opacity:0;pointer-events:none;position:absolute}.switch{border-radius:var(--radius-pill);background:var(--surface-sunk);width:48px;height:28px;transition:background var(--dur-fast);flex:none;position:relative}.switch:after{content:"";background:var(--surface);width:22px;height:22px;box-shadow:var(--elev-1);transition:transform var(--dur-fast) var(--ease-spring);border-radius:50%;position:absolute;top:3px;left:3px}.control-toggle input:checked+.switch{background:var(--sage)}.control-toggle input:checked+.switch:after{transform:translate(20px)}.control-toggle input:focus-visible+.switch{outline:2px solid var(--gold);outline-offset:2px}.control-segmented{flex-wrap:wrap;justify-content:space-between}.segmented{background:var(--surface-sunk);border-radius:var(--radius-pill);padding:3px;display:flex;box-shadow:inset 0 1px 2px #00000014}.segmented button{border-radius:var(--radius-pill);cursor:pointer;min-height:36px;color:var(--ink-soft);transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease-press);background:0 0;border:0;padding:6px 14px;font-weight:800}.segmented button:active{transform:scale(.96)}.segmented button.active{background:var(--surface);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--gold-line), var(--elev-1)}.control-tracks{flex-direction:column;grid-column:1/-1;align-items:stretch}.track-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:6px;display:grid}.track{min-height:var(--tap);border:1.5px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:6px 10px;display:flex}.track span{flex-direction:column;min-width:0;display:flex}.track strong,.track small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.track small{color:var(--ink-faint)}.track.active{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.about{color:var(--ink-faint);font-size:max(var(--fs-min), .85em);grid-column:1/-1}.about a{margin-block:-12px;padding-block:12px;display:inline-block}.dialog-layer{z-index:50;position:absolute;inset:0}.dialog-backdrop{padding:calc(var(--safe-t) + var(--gutter)) calc(var(--safe-r) + var(--gutter)) calc(var(--safe-b) + var(--gutter)) calc(var(--safe-l) + var(--gutter));background:var(--overlay);-webkit-backdrop-filter:blur(3px)saturate(.9);backdrop-filter:blur(3px)saturate(.9);opacity:0;transition:opacity var(--dur) var(--ease);perspective:1200px;place-items:center;display:grid;position:absolute;inset:0}.dialog-backdrop.open{opacity:1}.dialog{border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--border);width:min(420px,100%);max-height:100%;box-shadow:inset 0 0 0 1px var(--surface), inset 0 0 0 2.5px var(--gold-line), 0 var(--edge-size) 0 var(--edge), var(--elev-3);transform-origin:50% 100%;transition:transform var(--dur-slow) var(--ease-spring);flex-direction:column;gap:14px;padding:20px;display:flex;overflow:hidden;transform:translateY(18px)rotateX(9deg)scale(.96)}.dialog-wide{width:min(560px,100%)}.dialog-backdrop.open .dialog{transform:none}.dialog-header{border-bottom:1px solid var(--gold-line);align-items:center;gap:10px;padding-bottom:10px;display:flex}.dialog-icon{background:var(--gold-soft);width:36px;height:36px;color:var(--gold-deep);box-shadow:inset 0 0 0 1px var(--gold-line);border-radius:50%;flex:none;place-items:center;display:grid}[data-theme=night] .dialog-icon{color:var(--gold-text)}.dialog-danger .dialog-icon{color:var(--danger);background:#b8432f24}.dialog-title{flex:1;font-size:1.3em}.dialog-close{margin:-6px -6px 0 0}.dialog-body{color:var(--ink-soft);overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.dialog-body[data-more-end=true]{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}.dialog-body[data-more-start=true]{-webkit-mask-image:linear-gradient(#0000,#000 28px);mask-image:linear-gradient(#0000,#000 28px)}.dialog-body[data-more-start=true][data-more-end=true]{-webkit-mask-image:linear-gradient(#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(#0000,#000 28px calc(100% - 28px),#0000)}.dialog-shield{position:absolute}@media (max-height:520px){.dialog-backdrop{padding:calc(var(--safe-t) + 8px) calc(var(--safe-r) + var(--gutter)) calc(var(--safe-b) + 8px) calc(var(--safe-l) + var(--gutter))}.dialog{gap:8px;padding:12px 16px}.dialog-header{padding-bottom:6px}.dialog-title{font-size:1.12em}.dialog-icon{width:30px;height:30px}.dialog-close{margin-block:-4px}}@media (max-height:520px) and (orientation:landscape){.dialog{width:min(560px,100%)}.dialog-wide{width:min(720px,100%)}}.dialog-actions{padding-bottom:var(--edge-size);flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.toast-region{z-index:60;top:calc(var(--safe-t) + 10px);width:min(440px, calc(100% - 2 * var(--gutter)));pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{pointer-events:none;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);box-shadow:inset 3px 0 0 var(--toast-accent,var(--sky)), var(--elev-3);text-align:left;animation:toast-in var(--dur-slow) var(--ease-spring);transition:opacity var(--dur), transform var(--dur) var(--ease);align-items:center;gap:10px;padding:10px 14px 10px 12px;font-weight:700;display:flex;position:relative}.toast-sticky{pointer-events:auto;cursor:pointer}.toast .icon{color:var(--toast-accent,var(--sky))}.toast-success{--toast-accent:var(--success)}.toast-warning{--toast-accent:var(--mustard)}.toast-error{--toast-accent:var(--danger)}@media (max-height:700px){.toast-region{gap:6px}.toast{padding:6px 12px 6px 8px;font-size:.92em}.toast-celebrate .toast-medal{width:28px;height:28px}}@media (orientation:landscape) and (max-height:600px){.toast-region{left:auto;right:calc(var(--safe-r,0px) + var(--gutter));width:min(320px,42vw);transform:none}}.toast-celebrate{--toast-accent:var(--gold);background:linear-gradient(var(--gold-soft), var(--gold-soft)), var(--glass-strong);border-color:var(--gold-line);box-shadow:inset 0 0 0 1px var(--gold-line), 0 0 0 3px var(--gold-soft), var(--elev-3);overflow:visible}.toast-celebrate .toast-medal{background:var(--gold-metal);width:34px;height:34px;color:var(--gold-ink);box-shadow:inset 0 1px 0 #fffae6cc, var(--elev-1);animation:medal-in .7s var(--ease-spring);border-radius:50%;flex:none;place-items:center;display:grid}.toast-celebrate .toast-medal .icon{color:inherit;width:18px;height:18px}.toast-celebrate .toast-text{flex-direction:column;line-height:1.25;display:flex}.toast-celebrate .toast-text small{font-size:max(var(--fs-min), .68em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--gold-deep)}[data-theme=night] .toast-celebrate .toast-text small{color:var(--gold-text)}.toast-burst{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:29px}.toast-burst span{color:var(--gold-text);opacity:0;animation:burst .9s var(--ease) forwards;animation-delay:calc(var(--i) * 25ms);font-size:13px;line-height:1;position:absolute;transform:translate(-50%,-50%)}.toast-burst span:nth-child(2n){color:var(--accent-text)}@keyframes burst{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:0}20%{opacity:1}to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) rotate(540deg) scale(1);opacity:0}}@keyframes medal-in{0%{transform:scale(.2)rotate(-40deg)}}.toast.leaving{opacity:0;transform:translateY(-8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.96)}}.card{width:var(--card-w);aspect-ratio:5/7;border-radius:calc(var(--card-w) * .09);box-shadow:0 0 0 1.5px var(--ill-line), 0 3px 0 #0000002e;flex:none;position:relative}.card-back.card-fallback{background:var(--card-base,#5b1a1f);padding:calc(var(--card-w) * .07)}.card.card-art{box-shadow:none;background:0 0;border-radius:0;container-type:size}.card-art-img{width:min(100cqw, calc(100cqh * var(--ar)));height:min(100cqh, calc(100cqw / var(--ar)));filter:var(--card-art-shadow,drop-shadow(0 1px 0 #00000047) drop-shadow(0 2px 3px #0003));backface-visibility:hidden;background-repeat:no-repeat;margin:auto;position:absolute;inset:0}.card-index{z-index:1;font-family:var(--font-body);font-weight:900;font-size:max(var(--fs-min), 28cqw);letter-spacing:-.04em;text-align:center;background:#fffcf5f5;border-radius:4px 0 6px;padding:1px 3px 2px 2px;font-style:normal;line-height:.95;display:none;position:absolute;top:0;left:0;box-shadow:0 1px 2px #00000040}.card-index i{font-size:.92em;font-style:normal;display:block}.card-index.is-red{color:#c0262d}.card-index.is-black{color:#1a1a1a}@container (width<=58px){.card-index{display:block}}.card-cover{background:repeating-linear-gradient(135deg, var(--surface-2) 0 6px, var(--surface-sunk) 6px 12px);place-items:center;display:grid}.card-cover-mark{font-weight:800;font-size:calc(var(--card-w) * .22);color:var(--ink-soft);background:var(--surface);border-radius:999px;padding:.1em .45em}.card-back-inner{border-radius:calc(var(--card-w) * .05);border:1.5px solid var(--card-accent);background-color:var(--card-base);place-items:center;width:100%;height:100%;display:grid}.pattern-diamond .card-back-inner{background-image:linear-gradient(45deg, transparent 44%, color-mix(in srgb, var(--card-accent) 50%, transparent) 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, color-mix(in srgb, var(--card-accent) 50%, transparent) 44% 56%, transparent 56%);background-size:18% 13%}.pattern-stripe .card-back-inner{background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--card-accent) 40%, transparent) 0 3px, transparent 3px 9px)}.pattern-dots .card-back-inner{background-image:radial-gradient(color-mix(in srgb, var(--card-accent) 65%, transparent) 20%, transparent 22%);background-size:20% 14%}.pattern-sunburst .card-back-inner{background-image:repeating-conic-gradient(from 0deg at 50% 50%, color-mix(in srgb, var(--card-accent) 45%, transparent) 0 6deg, transparent 6deg 18deg)}.card-back-mark{font-family:var(--font-display);font-weight:900;font-size:calc(var(--card-w) * .34);color:var(--card-accent);aspect-ratio:1;background:var(--card-base);border:1.5px solid var(--card-accent);border-radius:50%;place-items:center;width:50%;line-height:1;display:grid}.card-face.card-fallback{background:var(--card-paper,#fbf5ea);color:var(--card-ink,#1d1410);font-family:var(--font-display);font-weight:700}.card-corner{font-size:calc(var(--card-w) * .17);text-align:center;line-height:1;position:absolute}.card-corner.tl{top:6%;left:8%}.card-corner.br{bottom:6%;right:8%;transform:rotate(180deg)}.card-pip{font-size:calc(var(--card-w) * .44);place-items:center;display:grid;position:absolute;inset:0}.ill{display:block}.ill :is(path,rect,circle,ellipse){stroke:var(--ill-line);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;transition:fill var(--dur-slow)}.ill-wall{fill:var(--ill-wall);stroke:none!important}.ill-wallpaper path{stroke:var(--ill-wallpaper)!important;stroke-width:14px!important}.ill-frame{fill:var(--ill-frame)}.ill-sky{fill:var(--ill-sky)}.ill-orb{fill:var(--ill-orb)}.ill-town path{fill:var(--ill-town)}.ill-lights rect{fill:var(--ill-lights);stroke:none!important}.ill-line{fill:none}.ill-sill,.ill-table-edge{fill:var(--ill-sill)}.ill-lamp{fill:var(--ill-lamp)}.ill-glow{fill:var(--ill-glow);stroke:none!important}.ill-pot{fill:var(--ill-pot)}.ill-leaf{fill:var(--ill-leaf)}.ill-leaf[fill=none]{fill:none;stroke:var(--ill-leaf)!important}.ill-table{fill:var(--ill-table)}.ill-table-edge{fill:var(--ill-table-edge)}.ill-card{fill:var(--ill-card)}.ill-card-back{fill:var(--ill-card-back)}.ill-card-back-inner{fill:var(--ill-card-back-inner);stroke-width:1.2px!important}.ill-suit-red{fill:var(--ill-suit-red);stroke:none!important}.ill-suit-ink{fill:var(--ill-suit-ink);stroke:none!important}.ill-cup{fill:var(--ill-cup)}.ill-steam{opacity:.6;stroke:var(--ink-faint)!important}.ill-cat path{fill:var(--ill-cat)}.ill-cat .ill-cat-tail{fill:none;stroke:var(--ill-cat)!important;stroke-width:6px!important}.ill-cat .ill-cat-eye{fill:none;stroke:var(--ill-cat-eye)!important}.ill-felt{fill:var(--ill-felt)}.ill-slot,.ill-foundation rect{fill:var(--ill-slot);stroke-dasharray:4 3}.ill-web path{fill:none;stroke:#ffffff8c!important;stroke-width:1.4px!important}.ill-spider circle{fill:var(--ill-line)}.ill-spider path{fill:none}.ill-burst path{fill:var(--mustard)}.ill-water{fill:var(--ill-water)}.ill-fish path{fill:var(--ill-fish)}.ill-fish.alt path{fill:var(--ill-fish-alt)}.ill-fish-eye{fill:var(--ill-line);stroke:none!important}.ill-steam{animation:3.6s ease-in-out infinite steam}.ill-cat .ill-cat-tail{transform-box:fill-box;transform-origin:100% 0;animation:4s ease-in-out infinite tail}@keyframes steam{50%{opacity:.2;transform:translateY(-4px)}}@keyframes tail{50%{transform:rotate(12deg)}}.pager-gap{color:var(--ink-faint);align-self:center;padding:0 2px;font-weight:800}.tabs-strip[data-more-end=true]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}.tabs-strip[data-more-start=true]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px);mask-image:linear-gradient(90deg,#0000,#000 36px)}.tabs-strip[data-more-start=true][data-more-end=true]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#0000,#000 36px calc(100% - 36px),#0000)}.shop-item{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.shop-item p{margin:4px 0;font-size:.85rem}.env{z-index:0;pointer-events:none;background:var(--bg-deep);--art-h:100%;position:absolute;inset:0;overflow:hidden}.env-parallax{transform:translate3d(calc(var(--px,0) * -14px), calc(var(--py,0) * -8px), 0);transition:transform .9s var(--ease);position:absolute;inset:-2.5%}.env-scene{opacity:0;transition:opacity .7s var(--ease);position:absolute;inset:0}.env-scene.active.loaded{opacity:1}.env-fill{object-fit:cover;filter:blur(24px)saturate(1.05);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.15)}.env-art{width:100%;height:var(--art-h);object-fit:cover;object-position:50% 58%;position:absolute;inset:0 0 auto}.env-scrim{position:absolute;inset:0}.env-ambient{height:var(--art-h);display:none;position:absolute;inset:0 0 auto;overflow:hidden}.env[data-motion=rich] .env-ambient{display:block}.env-frame{position:absolute;inset:0}.fx-day,.fx-night{opacity:0;transition:opacity 1.4s var(--ease);position:absolute;inset:0}.env[data-env=day] .fx-day,.env[data-env=night] .fx-night{opacity:1}.env-stars{position:absolute;inset:0}.env-star{left:var(--x);top:var(--y);width:2px;height:2px;animation:twinkle var(--d) ease-in-out var(--delay) infinite;background:#fff6dc;border-radius:50%;position:absolute;box-shadow:0 0 4px #fff0c8e6}@keyframes twinkle{50%{opacity:.15;transform:scale(.6)}}@keyframes breathe{50%{opacity:.55}}.fx-sun{mix-blend-mode:soft-light;background:radial-gradient(42% 30% at 72% 6%,#ffecbe52,#0000 70%);animation:11s ease-in-out infinite breathe;position:absolute;inset:0}.fx-leaves{position:absolute;inset:0}.fx-leaf{left:var(--x);top:var(--y);opacity:0;width:7px;height:4px;animation:leaf-drift var(--d) ease-in-out var(--delay) infinite;background:#6d8a3c;border-radius:60% 40%;position:absolute;box-shadow:inset -1px -1px #283c1466}@keyframes leaf-drift{0%{opacity:0;transform:translate(0)rotate(0)}6%{opacity:.85}45%{transform:translate(calc(var(--dir) * 9vw), 14vh) rotate(calc(var(--dir) * 160deg))}58%{opacity:.7}70%,to{opacity:0;transform:translate(calc(var(--dir) * 16vw), 26vh) rotate(calc(var(--dir) * 300deg))}}.env-shimmer{mix-blend-mode:soft-light;opacity:.8;background:repeating-linear-gradient(#0000 0 9px,#ffffff29 9px 10px,#0000 10px 17px);animation:7s linear infinite shimmer;position:absolute;inset:73% 3% 2%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000);mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}.fx-night .env-shimmer{mix-blend-mode:screen;opacity:.5;background:repeating-linear-gradient(#0000 0 9px,#ffcd7838 9px 10px,#0000 10px 17px);animation-duration:10s;top:71%}@keyframes shimmer{to{background-position:0 34px}}.env-glow{mix-blend-mode:screen;background:radial-gradient(48% 8% at 50% 64%,#ffb95a3d,#0000 70%);animation:7s ease-in-out infinite breathe;position:absolute;inset:0}.fx-moon{aspect-ratio:1;mix-blend-mode:screen;background:radial-gradient(circle,#fff6dc61 0%,#c8d7ff1f 38%,#0000 70%);border-radius:50%;width:11%;animation:9s ease-in-out infinite breathe;position:absolute;top:13.2%;left:91.4%;transform:translate(-50%,-50%)}.fx-moonpath{mix-blend-mode:screen;opacity:.7;background:repeating-linear-gradient(#0000 0 7px,#d2e1ff47 7px 8px,#0000 8px 13px);width:7%;animation:9s linear infinite shimmer;position:absolute;top:72%;bottom:6%;left:86%;-webkit-mask-image:linear-gradient(#000,#0000),linear-gradient(90deg,#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#000,#0000),linear-gradient(90deg,#0000,#000 30% 70%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.fx-motes{position:absolute;inset:0}.fx-mote{left:var(--x);top:var(--y);opacity:0;width:3px;height:3px;animation:mote-drift var(--d) ease-in-out var(--delay) infinite;background:#ffd98a;border-radius:50%;position:absolute;box-shadow:0 0 6px #ffc86ee6}@keyframes mote-drift{0%{opacity:0;transform:translate(0)}15%{opacity:.7}50%{transform:translate(6vw,-2vh)}80%{opacity:.4}to{opacity:0;transform:translate(12vw,1vh)}}.env-splash :is(.fx-leaves,.fx-motes){display:none}.init{isolation:isolate;background:#000;padding:0}.intro-veil{z-index:5;pointer-events:none;opacity:1;transition:opacity .9s var(--ease);background:#000;position:absolute;inset:0}.init[data-stage=title] .intro-veil,.init[data-stage=ready] .intro-veil{opacity:0}.init[data-stage=leaving] .intro-veil{opacity:1;transition-duration:.42s;transition-timing-function:ease-in}.intro-presents{z-index:6;padding:calc(var(--safe-t) + var(--gutter)) calc(var(--safe-r) + var(--gutter)) calc(var(--safe-b) + var(--gutter)) calc(var(--safe-l) + var(--gutter));text-align:center;color:#f4e6c4;pointer-events:none;opacity:0;transition:opacity .65s var(--ease), transform 2.2s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0;transform:scale(.985)}.init[data-stage=presents] .intro-presents{opacity:1;transform:none}.intro-presents p{margin:0}.intro-kicker,.intro-presents-line{font-size:max(var(--fs-min), .8rem);letter-spacing:.34em;text-transform:uppercase;color:#f4e6c4c7;padding-left:.34em;font-weight:800}.intro-presents-line{letter-spacing:.42em;text-transform:lowercase;padding-left:.42em;font-style:italic;font-weight:700}.intro-wordmark{font-family:var(--font-display);letter-spacing:.04em;font-size:clamp(2rem,8.5vw,4.2rem);font-weight:800;line-height:1.05}.intro-wordmark-text{background:linear-gradient(100deg,#b98c34 0%,#f2d98f 30%,#fff6dc 45%,#f2d98f 60%,#b98c34 100%) 100% 0/260% 100%;color:#0000;-webkit-background-clip:text;background-clip:text}.init[data-stage=presents] .intro-wordmark-text{animation:wordmark-sheen 2.2s var(--ease) .3s both}@keyframes wordmark-sheen{to{background-position:0 0}}.intro-suits{letter-spacing:.6em;color:#e2bd64b3;padding-left:.6em;font-size:1rem}.init[data-plan=full] .init-presents{visibility:hidden}.init[data-stage=black] .logo-wrap,.init[data-stage=presents] .logo-wrap,.init[data-stage=black] .game-subtitle,.init[data-stage=presents] .game-subtitle{opacity:0;animation:none}.game-subtitle{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);text-shadow:0 1px 8px #00000040;animation:fade-in .9s var(--ease) .5s both;margin-top:clamp(4px,1.2vmin,10px);padding-left:.18em;font-size:clamp(1rem,3.2vmin + .4rem,1.6rem);font-weight:800;display:block}[data-theme=night] .game-subtitle{text-shadow:0 1px 10px #0009}.intro-skip{z-index:7;top:calc(var(--safe-t) + 12px);right:calc(var(--safe-r) + 12px);color:#f4e6c4e6;background:#ffffff0f;border:1px solid #f4e6c459;min-height:44px;position:absolute}.intro-skip:hover,.intro-skip:focus-visible{background:#ffffff24}.btn-enter{min-width:min(320px,100%);min-height:60px;animation:enter-in .6s var(--ease-spring) both, start-glow 2.6s ease-in-out .9s infinite;flex-direction:column;gap:2px;padding-block:10px}.btn-enter .start-main{letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;padding-left:.2em;font-size:1.12rem;font-weight:900}.init[data-plan=full] .btn-enter{animation-delay:.6s,1.5s}@media (orientation:landscape) and (max-height:540px){.btn-enter .start-main{letter-spacing:.12em;padding-left:.12em;font-size:1rem}}.btn-enter .start-sub{font-size:max(var(--fs-min), .72rem);letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-weight:800}@keyframes start-glow{50%{box-shadow:inset 0 1px #fffae6b3,0 0 0 6px #e6c36a38,0 6px 20px #00000040}}.init[data-stage=leaving] .btn-enter{animation:none}.init.paused,.init.paused *{animation-play-state:paused!important}.init.calm .intro-veil{transition-duration:.15s}.init.calm .intro-presents{transition:opacity .15s linear;transform:none}.init.calm .intro-wordmark-text,.init.calm .btn-enter,.init.calm .game-subtitle{animation:none}.init.calm .intro-wordmark-text{background-position:30% 0}.init.calm .logo-shine,.init.calm .init-dust,.low-effects .init .logo-shine,.low-effects .init .init-dust{display:none}.low-effects .init .btn-enter{animation:enter-in .6s var(--ease-spring) both}@media (prefers-reduced-motion:reduce){.intro-veil,.intro-presents{transition-duration:.15s}.intro-presents{transform:none}}.env-splash .env-scene{filter:blur(5px)saturate(.95)}.env-splash .env-scrim{background:radial-gradient(90% 70% at 50% 40%, transparent 0%, #3c28142e 75%, #3c281459 100%), color-mix(in srgb, var(--bg) 62%, transparent)}[data-theme=night] .env-splash .env-scrim{background:radial-gradient(90% 70% at 50% 42%,#0000 0%,#04060c73 70%,#04060cbf 100%),#0e111a73}.init-dust{pointer-events:none;position:absolute;inset:0;overflow:hidden}.init-dust span{left:var(--x);background:var(--gold-bright);width:3px;height:3px;box-shadow:0 0 6px var(--gold);opacity:0;animation:mote var(--d) linear var(--delay) infinite;border-radius:50%;position:absolute;bottom:-10px}@keyframes mote{10%{opacity:.8}80%{opacity:.5}to{opacity:0;transform:translate(24px,-90vh)}}.init-content{text-align:center;min-height:0;padding:calc(var(--safe-t) + var(--gutter) * 1.4) calc(var(--safe-r) + var(--gutter)) calc(var(--safe-b) + var(--gutter)) calc(var(--safe-l) + var(--gutter));flex-direction:column;flex:1;justify-content:space-between;align-items:center;gap:clamp(6px,2vmin,20px);display:flex;position:relative}.init-presents{font-size:clamp(var(--fs-min), 1vmin + .45rem, .85rem);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep);animation:fade-in 1.2s var(--ease) .2s both;padding-left:.32em;font-weight:800}[data-theme=night] .init-presents{color:var(--gold-text)}.init-title{flex-direction:column;align-items:center;margin-top:auto;display:flex}.game-title{white-space:normal;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex}.logo-wrap{animation:logo-in 1.1s var(--ease) .15s both;display:inline-block;position:relative}.init-logo{object-fit:contain;filter:drop-shadow(0 10px 18px #00000059);width:min(86vw,600px);height:auto;max-height:36vh;display:block}@keyframes logo-in{0%{opacity:0;filter:blur(6px);transform:translateY(14px)scale(.94)}}.logo-shine{-webkit-mask:var(--logo-mask) center / contain no-repeat;mask:var(--logo-mask) center / contain no-repeat;-webkit-mask:var(--logo-mask) center / contain no-repeat;mix-blend-mode:screen;animation:logo-shine 5s var(--ease) 1.4s infinite;pointer-events:none;background:linear-gradient(105deg,#0000 42%,#fff4d2bf 50%,#0000 58%) 150% 0/260% 100% no-repeat;position:absolute;inset:0}@keyframes logo-shine{0%{background-position:150% 0}35%,to{background-position:-50% 0}}.game-tagline{color:var(--ink);font-weight:700;font-size:max(var(--fs-min), .86em);letter-spacing:.02em;animation:fade-in 1s var(--ease) .7s both;margin-top:6px}[data-theme=night] .game-tagline{color:var(--ink);text-shadow:0 1px 6px #00000080}.init-stage{--card-w:clamp(54px, 13vmin, 104px);flex:1;place-items:center;width:100%;min-height:0;max-height:30vh;display:grid}.shuffle{width:var(--card-w);aspect-ratio:5/7;max-height:100%;position:relative}.shuffle-card{width:100%;animation:shuffle 2.2s var(--ease) infinite;animation-delay:calc(var(--i) * .1s);transform:translateY(calc(var(--i) * -1.5px));filter:drop-shadow(0 6px 8px #0000004d);position:absolute;inset:0}.init.ready .shuffle-card{transform-origin:50% 120%;animation:fan-out .8s var(--ease-spring) forwards;animation-delay:calc(var(--i) * 50ms)}@keyframes shuffle{0%,50%,to{transform:translate(0, calc(var(--i) * -1.5px)) rotate(0deg)}25%{transform:translate(-62%,-4%)rotate(-11deg)}75%{transform:translate(62%,-4%)rotate(11deg)}}@keyframes fan-out{to{transform:rotate(calc((var(--i) - 3) * 9deg)) translateY(-6%)}}.init-loader{flex-direction:column;align-items:center;gap:10px;width:min(340px,86%);min-height:92px;display:flex}.boot-bar{align-items:center;gap:10px;width:100%;display:flex}.boot-track{background:color-mix(in srgb, var(--ink) 14%, transparent);border-radius:2px;flex:1;height:3px;position:relative;overflow:hidden}.boot-fill{transform-origin:0;background:var(--gold-metal);box-shadow:0 0 10px var(--gold);transition:transform .42s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.boot-pct{text-align:right;width:3.2em;font-size:max(var(--fs-min), .78em);font-variant-numeric:tabular-nums;color:var(--gold-deep);font-weight:800}[data-theme=night] .boot-pct{color:var(--gold-text)}.boot-label{color:var(--ink-soft);font-weight:700;font-size:max(var(--fs-min), .86em);letter-spacing:.02em;min-height:1.4em}[data-theme=night] .boot-label{color:var(--ink)}.init.ready .boot-bar{display:none}@keyframes enter-in{0%{opacity:0;transform:translateY(10px)scale(.92)}}.init-version{color:var(--ink-faint);font-size:max(var(--fs-min), .72em);letter-spacing:.16em;text-transform:uppercase;font-weight:700}[data-theme=night] .init-version{color:var(--ink-soft)}@media (orientation:landscape) and (max-height:540px){.init-content{padding-top:calc(var(--safe-t) + var(--gutter));grid-template:"presents stage""title stage"minmax(0,1fr)"version loader"/minmax(0,1.2fr) minmax(0,1fr);place-items:center;display:grid}.init-presents{grid-area:presents}.init-title{grid-area:title;margin-top:0}.init-logo{width:auto;max-width:100%;height:clamp(90px,36vh,220px);max-height:none}.btn-enter{min-height:52px;padding-block:6px}.init-stage{grid-area:stage;align-self:stretch;height:auto;min-height:0;max-height:none}.init-loader{grid-area:loader;min-height:0}.init-version{grid-area:version}}.menu{isolation:isolate;padding:0}.env-menu{--art-h:100%}.env-menu .env-scrim{background:linear-gradient(180deg, #140e0859, transparent 18%), linear-gradient(0deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 70%, transparent) 30%, transparent 55%)}@media (orientation:portrait){.env-menu{--art-h:62%}.env-menu .env-art{-webkit-mask-image:linear-gradient(#000 72%,#0000);mask-image:linear-gradient(#000 72%,#0000)}}.menu-layout{z-index:1;height:100%;min-height:0;padding:calc(var(--safe-t) + var(--gutter) * .6) calc(var(--safe-r) + var(--gutter)) calc(var(--safe-b) + var(--gutter) * .5) calc(var(--safe-l) + var(--gutter));grid-template:"logo top""stage stage"minmax(0,1fr)"panel panel""foot foot"/auto minmax(0,1fr);gap:clamp(6px,1.4vmin,12px) 10px;width:100%;display:grid;position:relative}.menu-title{grid-area:logo;align-self:center;line-height:0;overflow:visible}.brand-logo{object-fit:contain;height:auto;display:block}.menu-logo{filter:drop-shadow(0 3px 6px #00000059);width:auto;height:clamp(40px,6.4vmin,58px);animation:rise-in .6s var(--ease) both}.menu-top{grid-area:top;place-self:center end;align-items:center;gap:6px;min-width:0;display:flex}.menu-status{align-items:center;gap:6px;min-width:0;display:flex}.status-pill{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);height:40px;box-shadow:inset 0 0 0 1px var(--gold-soft), var(--elev-1);color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;transition:transform var(--dur-fast) var(--ease-press);align-items:center;gap:6px;padding:0 10px 0 3px;font-weight:800;display:inline-flex}.status-pill:active{transform:scale(.96)}.status-caption{font-size:max(var(--fs-min), .82em)}.menu-status .pill-credits{height:40px}.ring{--size:32px;width:var(--size);height:var(--size);background:conic-gradient(var(--gold) calc(var(--p) * 360deg), var(--surface-sunk) 0);border-radius:50%;flex:none;place-items:center;display:grid}.ring-inner{width:calc(var(--size) - 6px);height:calc(var(--size) - 6px);background:var(--surface);font-size:max(var(--fs-min), .8em);color:var(--ink);border-radius:50%;place-items:center;font-weight:900;display:grid}.ring-inner .icon{width:15px;height:15px;color:var(--gold-deep)}[data-theme=night] .ring-inner .icon{color:var(--gold-text)}@media (max-width:400px){.status-level .status-caption{display:none}.status-level{padding-right:3px}}@media (max-width:340px){.menu-top,.menu-status{gap:3px}.menu-status .status-pill{gap:4px;padding-right:7px}.menu-status .status-level{padding-right:3px}.menu-status .ring{--size:28px}}.menu-stage{grid-area:stage;justify-content:flex-end;align-items:flex-start;min-height:0;display:flex;position:relative}.env-toggle{border-radius:var(--radius-pill);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--elev-2);gap:2px;padding:3px;display:flex}.env-toggle button{border-radius:var(--radius-pill);min-height:34px;color:var(--ink-soft);font-weight:800;font-size:max(var(--fs-min), .8em);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;transition:background var(--dur), color var(--dur), transform var(--dur-fast) var(--ease-press);background:0 0;border:0;align-items:center;gap:5px;padding:0 12px;display:inline-flex}.env-toggle button:active{transform:scale(.95)}.env-toggle button .icon{width:16px;height:16px}.env-toggle button[aria-checked=true]{background:var(--gold-metal);color:var(--gold-ink);box-shadow:inset 0 1px #fffae6b3}.menu-panel{border-radius:var(--radius-l);background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--glass-border);min-height:0;box-shadow:inset 0 0 0 1px var(--gold-soft), var(--elev-3);animation:panel-in .52s var(--ease) both;flex-direction:column;grid-area:panel;gap:clamp(8px,1.4vmin,12px);padding:clamp(10px,1.8vmin,16px);display:flex}@keyframes panel-in{0%{opacity:0;transform:translateY(18px)}}.menu-play{border-radius:var(--radius-m);justify-content:flex-start;gap:14px;min-height:clamp(58px,9vmin,76px);padding-left:12px;padding-right:96px;position:relative;overflow:visible}.menu-play>.icon{width:clamp(38px,6vmin,48px);height:clamp(38px,6vmin,48px);color:var(--gold-bright);background:#3c2808d9;border-radius:50%;padding:10px 9px 10px 11px;box-shadow:inset 0 0 0 2px #ffe6a059}.play-text{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.play-label{font-family:var(--font-display);font-variation-settings:"SOFT" 100;letter-spacing:.04em;font-size:clamp(1.25rem,2.4vmin + .6rem,1.7rem)}.play-hint{font-size:max(var(--fs-min), .72em);white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;opacity:.75;font-weight:800}@media (max-width:360px){.play-fan{display:none}}.play-fan{--card-w:34px;pointer-events:none;width:48px;height:0;position:absolute;top:50%;right:18px}.card.play-fan-card{transform-origin:50% 110%;transform:translateY(-50%) rotate(calc((var(--i) - 1) * 8deg)) translateX(calc((var(--i) - 1) * 6px));transition:transform var(--dur-slow) var(--ease-spring);box-shadow:var(--elev-2);position:absolute;top:0;left:0}@media (hover:hover){.menu-play:hover .play-fan-card{transform:translateY(-58%) rotate(calc((var(--i) - 1) * 16deg)) translateX(calc((var(--i) - 1) * 12px))}}.card.chip-card .card-back-mark{display:none}.menu-setup{display:contents}.play-progress{font-size:max(var(--fs-min), .7em);opacity:.8;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:800;overflow:hidden}.menu-story .play-text{gap:1px;min-width:0}.menu-story .play-label{white-space:nowrap}.menu-story{padding-right:clamp(70px,18vw,96px)}.menu-story .play-hint{text-overflow:ellipsis;letter-spacing:.06em;max-width:100%;overflow:hidden}.menu-quick{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid;container:menu-quick/inline-size}.quick-play{border-radius:var(--radius-s);border:1px solid var(--gold-line);background:color-mix(in srgb, var(--gold-soft) 70%, var(--surface));min-width:0;min-height:44px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--dur-fast), transform var(--dur-fast) var(--ease-press);align-items:center;gap:8px;padding:5px 10px 5px 6px;display:flex}.quick-play>.icon{background:var(--gold-metal);width:30px;height:30px;color:var(--gold-ink);border-radius:50%;flex:none;padding:7px 6px 7px 8px}.quick-play:active{transform:scale(.98)}.quick-play-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.quick-play-text small{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.06em;font-size:max(var(--fs-min), .66em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--gold-deep);font-weight:800;overflow:hidden}[data-theme=night] .quick-play-text small{color:var(--gold-text)}.quick-play-text span{font-weight:800;font-size:max(var(--fs-min), .88em);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.setup-chip{border-radius:var(--radius-s);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);min-width:0;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--dur-fast), transform var(--dur-fast) var(--ease-press);align-items:center;gap:8px;padding:5px 10px 5px 6px;display:flex}.setup-chip:hover{border-color:var(--gold-line)}.setup-chip:active{transform:scale(.98)}.setup-visual{--card-w:22px;flex:none;place-items:center;width:34px;height:34px;display:grid}.board-swatch.chip-board{border-width:3px;border-radius:6px;width:34px;height:26px;min-height:0}.setup-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.setup-text small{font-size:max(var(--fs-min), .66em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--ink-faint);font-weight:800}.setup-text span{font-weight:800;font-size:max(var(--fs-min), .88em);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@container menu-quick (width<=300px){.menu-setup .setup-text,.quick-play-text small{display:none}.quick-play-text span{white-space:normal;overflow-wrap:anywhere}.menu-setup .setup-chip{justify-content:center;padding:5px}}@container menu-quick (width<=420px){.setup-chip{gap:6px;padding-right:6px}.setup-text small{display:none}.setup-text span{white-space:normal;-webkit-line-clamp:2;line-clamp:2;font-size:max(var(--fs-min), .8em);-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;line-height:1.15;display:-webkit-box}}.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;container:menu-grid/inline-size}.menu-tile{border-radius:var(--radius-m);background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--border);min-width:0;min-height:clamp(60px,9vmin,80px);box-shadow:inset 0 1px 0 #ffffff59, 0 2px 0 var(--edge), var(--elev-1);color:var(--ink);animation:menu-tile-enter .26s var(--ease) backwards;animation-delay:calc(.12s + var(--i,0) * 45ms);transition:transform var(--dur-fast) var(--ease-press), box-shadow var(--dur) var(--ease), border-color var(--dur);overflow:hidden}@keyframes menu-tile-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (hover:hover){.menu-tile:hover{border-color:var(--gold-line);box-shadow:inset 0 1px 0 #ffffff59, 0 3px 0 var(--edge), var(--elev-2);transform:translateY(-2px)}.menu-tile:hover .menu-tile-icon{transform:rotate(-8deg)scale(1.06)}}.menu-tile:active{box-shadow:0 0 0 var(--edge);transition-duration:60ms;transform:translateY(2px)scale(.98)}.menu-tile-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;height:100%;padding:6px 4px;display:flex}.menu-tile-icon{background:var(--gold-soft);width:34px;height:34px;color:var(--gold-deep);box-shadow:inset 0 0 0 1px var(--gold-line);transition:transform var(--dur) var(--ease-spring);border-radius:50%;place-items:center;display:grid}[data-theme=night] .menu-tile-icon{color:var(--gold-text)}.menu-tile-icon .icon{width:19px;height:19px}.menu-tile-text{flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex}.menu-tile-label{font-size:clamp(var(--fs-min), 2.9vw, 13px);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:900;line-height:1.15;overflow:hidden}.menu-tile-label .label-short{display:none}@container menu-grid (width<=300px){.menu-tile-content{padding-inline:2px}.menu-tile-label{letter-spacing:0}}@container menu-grid (width<=500px){.menu-tile-label .label-full{display:none}.menu-tile-label .label-short{display:inline}}.menu-tile-hint{font-size:max(var(--fs-min), .8em);color:var(--ink-faint);display:none}.menu-footer{min-width:0;font-size:max(var(--fs-min), .78em);color:var(--ink-faint);grid-area:foot;justify-content:space-between;align-items:center;gap:10px;font-weight:700;display:flex}.menu-music{min-width:0;color:var(--ink-soft);align-items:center;gap:6px;display:flex}.menu-music>.icon{width:15px;height:15px;color:var(--gold-deep);flex:none}[data-theme=night] .menu-music>.icon{color:var(--gold-text)}.menu-music-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;min-height:24px;overflow:hidden}@media (max-width:380px){.menu-music-title{display:none}}.menu-footer-meta{flex:none;align-items:center;gap:10px;display:flex}.menu-footer-meta a{margin-block:-12px;padding-block:12px}@media (orientation:portrait) and (max-height:700px){.menu-tile-icon{width:28px;height:28px}.menu-tile-icon .icon{width:16px;height:16px}.menu-tile{min-height:56px}.menu-tile-content{gap:3px}}@media (orientation:landscape){.menu-layout{grid-template:"logo top""panel stage"minmax(0,1fr)"foot stage"/minmax(0,min(46%,460px)) minmax(0,1fr)}.menu-title{justify-self:start}.menu-stage{align-items:flex-end}.env-menu .env-scrim{background:linear-gradient(180deg, #140e0866, transparent 22%), linear-gradient(90deg, color-mix(in srgb, var(--bg) 55%, transparent) 0%, transparent 52%)}.menu-footer{border-radius:var(--radius-pill);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);justify-self:start;max-width:100%;padding:4px 6px 4px 12px}.menu-panel{align-self:start;max-height:100%}}@media (orientation:landscape) and (max-height:540px){.menu-layout{padding-top:calc(var(--safe-t) + 8px);padding-bottom:calc(var(--safe-b) + 6px);grid-template-columns:minmax(0,min(60%,460px)) minmax(0,1fr);gap:6px 10px}.menu-logo{height:38px}.menu-panel{gap:7px;padding:8px}.menu-play{min-height:52px}.menu-play>.icon{width:34px;height:34px;padding:8px 7px 8px 9px}.setup-chip{min-height:38px;padding-block:3px}.menu-tile{min-height:0}.menu-grid{flex:1;gap:6px;min-height:0}.menu-tile-content{gap:2px;padding:4px}.menu-tile-icon{width:26px;height:26px}.menu-tile-icon .icon{width:15px;height:15px}.status-pill,.menu-status .pill-credits{height:36px}.ring{--size:28px}}@media (orientation:landscape) and (min-width:1000px) and (min-height:600px){.menu-layout{padding-top:calc(var(--safe-t) + 24px);padding-bottom:calc(var(--safe-b) + 18px);grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:16px 28px}.menu-logo{height:108px}.menu-panel{gap:14px;padding:18px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-tile{min-height:54px;animation-name:menu-tile-enter-side}.menu-tile-content{text-align:left;flex-direction:row;justify-content:flex-start;gap:14px;padding:8px 14px}.menu-tile-label{font-size:max(var(--fs-min), .82em)}.menu-tile-hint{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.menu-grid .menu-tile-label .label-full{display:inline}.menu-grid .menu-tile-label .label-short{display:none}@media (hover:hover){.menu-tile:hover{transform:translate(4px)}}}@keyframes menu-tile-enter-side{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.game-card{min-width:0;min-height:0;container-type:size}.game-card-inner{border-radius:var(--radius-l);background:var(--surface);border:1.5px solid var(--border);height:100%;box-shadow:0 var(--edge-size) 0 var(--edge);flex-direction:column;display:flex;overflow:hidden}.game-card.last .game-card-inner{border-color:var(--accent)}.game-thumb{flex:40%;min-height:0;padding:12px 12px 0;display:grid;position:relative}.game-thumb .ill-thumb{width:100%;height:100%;min-height:0}.game-thumb-badge{position:absolute;top:20px;left:20px}.game-info{flex-direction:column;flex:none;gap:8px;min-width:0;padding:12px 16px 16px;display:flex}.game-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.game-name{font-size:1.45em;font-weight:800}.game-players{font-size:max(var(--fs-min), .8em);color:var(--ink-faint);font-weight:800}.game-desc{color:var(--ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.92em;display:-webkit-box;overflow:hidden}.game-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.game-play{width:100%}@container (aspect-ratio>=6/5){.game-card-inner{flex-direction:row}.game-thumb{flex:42%;padding:12px 0 12px 12px}.game-info{flex:58%;justify-content:center;padding:12px 14px 14px}}@container (height<=320px){.game-desc{-webkit-line-clamp:2}.game-info{gap:6px}.game-name{font-size:1.2em}.stat-item{padding:4px}}@container (height<=250px){.game-desc{display:none}}.deck-tile{text-align:center;flex-direction:column;justify-content:center;gap:8px}.deck-tile.rarity-legendary:not(.selected){border-color:color-mix(in srgb, var(--rarity-legendary) 55%, transparent)}.deck-tile.rarity-epic:not(.selected){border-color:color-mix(in srgb, var(--rarity-epic) 45%, transparent)}.deck-preview{--card-w:clamp(50px, 10vmin, 80px);height:calc(var(--card-w) * 1.4 + 6px);width:calc(var(--card-w) * 1.8);flex:none;justify-content:center;display:flex;position:relative}.deck-tile{container-type:size}.deck-tile .deck-preview{--card-w:clamp(30px, min(30cqh, 34cqw), 80px)}.deck-tile .deck-preview .card{transition:transform var(--dur-slow) var(--ease-spring)}@media (hover:hover){.deck-tile:hover .deck-preview .preview-back.solo{transform:perspective(500px)rotateY(-14deg)rotate(-3deg)translateY(-3px)}}.preview-back,.preview-face{position:absolute;top:0}.preview-back{left:0;transform:rotate(-8deg)}.preview-face{right:0;transform:rotate(8deg)}.preview-back.solo{left:auto;transform:none}.board-tile{flex-direction:column;align-items:stretch;gap:6px}.board-preview{border-radius:var(--radius-s);--card-w:clamp(24px, 5.5vmin, 38px);min-height:60px;box-shadow:inset 0 0 18px #00000059, 0 0 0 1.5px var(--ill-line);border:6px solid;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.board-preview.large{--card-w:56px;min-height:160px}.card.mini{box-shadow:0 0 0 1px var(--ill-line)}.card.mini.card-art,.gf-book .card.card-art{box-shadow:none}.card.mini .card-back-mark,.card.mini .card-corner{display:none}.item-detail{flex-direction:column;gap:12px;display:flex}.item-meta{font-size:max(var(--fs-min), .85em);align-items:center;gap:10px;font-weight:700;display:flex}.deck-fan{--card-w:clamp(64px, 18vmin, 96px);justify-content:center;padding:16px 0 8px;display:flex}.deck-fan .card{margin:0 calc(var(--card-w) * -.18);transform-origin:50% 120%}.deck-fan .card:first-child{rotate:-14deg}.deck-fan .card:nth-child(2){rotate:-5deg}.deck-fan .card:nth-child(3){rotate:5deg}.deck-fan .card:nth-child(4){rotate:14deg}@media (max-height:480px){.deck-fan{--card-w:52px;padding:4px 0}.board-preview.large{min-height:90px}}.gallery-cell{place-items:center;display:grid;container-type:size}.gallery-cell .card{--card-w:min(100cqw, 71cqh)}.portrait{aspect-ratio:1;width:clamp(48px,9vmin,68px);font-family:var(--font-display);color:#2f2a24;border:1.5px solid var(--ill-line);box-shadow:0 3px 0 var(--edge);border-radius:50%;flex:none;place-items:center;font-size:1.5em;font-weight:800;display:grid}.chapter-tile.done{border-color:var(--sage)}.achievement-icon{background:var(--surface-sunk);filter:grayscale();opacity:.55;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:1.4em;display:grid}.achievement-tile.earned .achievement-icon{filter:none;opacity:1;background:color-mix(in srgb, var(--mustard) 22%, transparent)}.summary-row{color:var(--ink-soft);white-space:nowrap;flex:none;align-items:center;gap:14px;font-weight:800;display:flex}.stats-panel{flex-direction:column;gap:12px;width:100%;max-width:900px;min-height:0;margin:0 auto;display:flex;overflow-y:auto}.stats-level{border-radius:var(--radius-m);background:var(--surface);border:1.5px solid var(--border);box-shadow:0 var(--edge-size) 0 var(--edge);align-items:center;gap:14px;padding:14px;display:flex}.stats-level .menu-level-num{width:48px;height:48px;font-size:1.4em}.stats-level>div{flex-direction:column;flex:1;gap:4px;display:flex}.stats-level small{color:var(--ink-faint);font-weight:700}.stats-thumb{height:clamp(80px,22vh,180px);display:grid}.stats-thumb .ill{width:100%;height:100%}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:10px;display:grid}.stat-grid .stat-item{background:var(--surface);border:1.5px solid var(--border);box-shadow:0 3px 0 var(--edge);padding:14px 8px}.stat-grid .stat-value{font-size:1.5em}@media (orientation:landscape) and (max-height:540px){.stats-thumb{display:none}.stats-level{padding:8px 12px}.stat-grid .stat-item{padding:8px}}.table{padding:0}.table-hud{padding:calc(var(--safe-t) + 6px) calc(var(--safe-r) + var(--gutter)) 6px calc(var(--safe-l) + var(--gutter));background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--gold-line);z-index:2;flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.table-hud .btn-back{width:40px;height:40px}.table-titles{flex-direction:column;min-width:0;display:flex}.table-hud .screen-title{font-size:clamp(1.02rem,1.4vmin + .75rem,1.35rem)}.table-hud .screen-subtitle{font-size:max(var(--fs-min), .74em)}.hud-stats{font-size:max(var(--fs-min), .8em);color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:2px 12px;font-weight:800;display:flex}.hud-stats:empty{display:none}@media (max-width:420px){.hud-stats{font-size:max(var(--fs-min), .72em);flex-direction:column;align-items:flex-end;gap:0;line-height:1.25}}.game-toolbar{padding:4px calc(var(--safe-r) + var(--gutter) * .5) calc(var(--safe-b) + 4px) calc(var(--safe-l) + var(--gutter) * .5);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--gold-line);z-index:3;flex:none;justify-content:space-between;align-items:center;gap:4px;display:flex;position:relative}.toolbar-group{align-items:center;gap:2px;display:flex}.toolbar-system{border-left:1px solid var(--border);padding-left:6px}.tool-btn{border-radius:var(--radius-s);min-width:50px;min-height:48px;color:var(--ink-soft);font-size:max(var(--fs-min), .66em);letter-spacing:.04em;cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease-press);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px;font-weight:800;display:inline-flex}.tool-btn .icon{width:22px;height:22px}@media (hover:hover){.tool-btn:hover:not(:disabled){background:var(--gold-soft);color:var(--ink)}}.tool-btn:active:not(:disabled){transition-duration:60ms;transform:scale(.92)}.tool-btn:disabled{opacity:.35;cursor:default}.tool-btn[aria-pressed=true],.tool-btn[aria-expanded=true]{color:var(--accent-text)}.tool-btn[data-action=music][aria-pressed=true]{color:var(--ink-soft)}.tool-btn.tool-accent{background:var(--gold-metal);color:var(--gold-ink);box-shadow:inset 0 1px #fffae6b3}.tool-label{overflow-wrap:anywhere;white-space:nowrap;max-width:100%}@media (max-width:440px){.game-toolbar{padding-inline:calc(var(--safe-l) + 2px) calc(var(--safe-r) + 2px);gap:0}.toolbar-group{gap:0;min-width:0}.toolbar-system{padding-left:2px}.tool-btn{width:44px;min-width:44px;font-size:var(--fs-min);flex:0 0 44px;padding-inline:2px}.tool-label{overflow-wrap:anywhere;white-space:normal;text-align:center;letter-spacing:0;max-width:100%;line-height:1.05}}.more-panel{right:calc(var(--safe-r) + var(--gutter) * .5);border-radius:var(--radius-m);background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-border);min-width:230px;box-shadow:inset 0 0 0 1px var(--gold-soft), var(--elev-3);transform-origin:100% 100%;animation:more-in var(--dur) var(--ease-spring);flex-direction:column;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px)}@keyframes more-in{0%{opacity:0;transform:translateY(6px)scale(.94)}}.more-group{flex-direction:column;display:flex}.more-group:not(:empty){border-block:1px solid var(--border);margin:2px 0;padding:2px 0}.more-item{border-radius:var(--radius-s);min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;font-weight:800;display:flex}.more-item .icon{width:20px;height:20px;color:var(--gold-deep)}[data-theme=night] .more-item .icon{color:var(--gold-text)}.more-item:hover,.more-item:focus-visible{background:var(--gold-soft)}.more-item[aria-pressed=true]{color:var(--accent-text)}.table-pause{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff8ee;font-family:var(--font-display);animation:fade-in var(--dur) var(--ease);background:#0c0a0873;place-content:center;justify-items:center;gap:14px;font-size:1.6em;font-weight:800;display:grid;position:absolute;inset:0}.table-pause .btn{font-family:var(--font-body);font-size:1rem}@media (orientation:landscape) and (max-height:540px){.table{grid-template:"hud hud""stage tools"minmax(0,1fr)/minmax(0,1fr) auto;display:grid}.table-hud{padding-top:calc(var(--safe-t) + 3px);grid-area:hud;padding-bottom:3px}.table-hud .btn-back{width:34px;height:34px}.table-hud .screen-subtitle{display:none}.table-stage{grid-area:stage}.game-toolbar{padding:4px calc(var(--safe-r) + 4px) calc(var(--safe-b) + 4px) 4px;border-top:0;border-left:1px solid var(--gold-line);flex-direction:column;grid-area:tools;justify-content:space-between}.toolbar-group{grid-template-columns:repeat(2,52px);gap:2px;display:grid}.toolbar-system{border-left:0;border-top:1px solid var(--border);padding:4px 0 0}.tool-btn{min-width:0;min-height:44px;font-size:var(--fs-min);letter-spacing:0;padding:3px 2px}.tool-label{white-space:normal;text-align:center;line-height:1.05}.tool-btn .icon{width:19px;height:19px}.more-panel{transform-origin:100% 100%;bottom:4px;right:calc(100% + 8px)}}.focus-mode .table-hud{display:none}.table-stage{background:var(--board-art,none) var(--board-focus-l,center) / cover no-repeat, var(--felt);border:clamp(6px, 1.4vmin, 14px) solid var(--rim);border-top:0;flex:1;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #0006}@media (orientation:portrait){.table-stage{background-position:var(--board-focus-p,center), 0 0}}.table-stage:before{content:"";pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 40%,#0000002e);position:absolute;inset:0}.table[data-board-art=image] .table-stage:before{background:rgba(0, 0, 0, var(--board-scrim,.12))}.table.high-contrast .table-stage:before{background:#0000006b}.table.high-contrast[data-board-tone=light] .table-stage:before{background:#ffffff73}.table-surface{z-index:1;min-height:0;padding:var(--gutter) calc(var(--safe-r) + var(--gutter)) calc(var(--safe-b) + var(--gutter)) calc(var(--safe-l) + var(--gutter));gap:var(--gutter);flex:1;grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.table-stock{width:var(--card-w);height:calc(var(--card-w) * 1.4);position:relative}.left-handed .table-stock{justify-self:end}.table-stock .card{position:absolute;top:0;left:0}.table-stock .card:nth-child(2){transform:translate(2px,-2px)}.table-stock .card:nth-child(3){transform:translate(4px,-4px)}.table-stock .card:nth-child(4){transform:translate(6px,-6px)}.table-fan{left:50%;bottom:calc(var(--safe-b) + var(--gutter));display:flex;position:absolute;transform:translate(-50%)}.table-fan .card{margin:0 calc(var(--card-w) * -.32);transform-origin:50% 140%;animation:table-card-deal-in var(--dur-slow) var(--ease) both}.table-fan .card:first-child{rotate:-16deg}.table-fan .card:nth-child(2){animation-delay:70ms;rotate:-8deg}.table-fan .card:nth-child(3){animation-delay:.14s}.table-fan .card:nth-child(4){animation-delay:.21s;rotate:8deg}.table-fan .card:nth-child(5){animation-delay:.28s;rotate:16deg}@keyframes table-card-deal-in{0%{opacity:0;transform:translateY(-40vh)rotate(-30deg)}}.table-placard{text-align:center;border-radius:var(--radius-l);background:var(--surface);border:1.5px solid var(--border);max-width:420px;box-shadow:0 var(--edge-size) 0 var(--edge);margin-bottom:calc(var(--card-w) * 1.2);flex-direction:column;place-self:center;gap:10px;padding:20px 22px;display:flex}.table-placard p{color:var(--ink-soft)}.placard-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}@media (orientation:landscape) and (max-height:540px){.table-placard{margin-bottom:0;padding:12px 16px}.table-fan{left:auto;right:calc(var(--safe-r) + var(--gutter) * 2);transform:none}.table-surface{grid-template-rows:1fr;grid-template-columns:auto 1fr}}.game-thumb-badge-end{background:var(--surface);left:auto;right:20px}.table-surface-game{padding:clamp(8px, 2vmin, 16px) calc(var(--safe-r) + clamp(8px, 2vmin, 16px)) calc(var(--safe-b) + clamp(8px, 2vmin, 16px)) calc(var(--safe-l) + clamp(8px, 2vmin, 16px));display:flex}.avatar{--size:clamp(40px, 7vmin, 56px);width:var(--size);height:var(--size);background:var(--avatar-color,var(--sage));border:2px solid var(--ill-line);color:#2f2a24;font-weight:800;font-size:calc(var(--size) * .34);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden;box-shadow:0 3px #00000040}.avatar img{object-fit:cover;width:100%;height:100%}.avatar .card{--card-w:calc(var(--size) * .9);box-shadow:none}.avatar[data-mood]{transition:box-shadow .2s}.avatar[data-mood=talk]:not([data-art=story]){animation:.5s 2 avatar-nod}.avatar[data-mood=think]:not([data-art=story]){animation:1.1s ease-in-out avatar-tilt}.avatar[data-mood=surprise]{animation:avatar-pop .32s var(--ease)}.avatar[data-mood=win]{box-shadow:0 3px 0 #00000040, 0 0 0 3px color-mix(in srgb, var(--gold-bright) 70%, transparent)}.avatar[data-mood=lose]{filter:saturate(.75)brightness(.92)}@keyframes avatar-nod{50%{translate:0 -2px}}@keyframes avatar-tilt{40%,70%{rotate:-6deg}}@keyframes avatar-pop{50%{scale:1.1}}.reduced-motion .avatar[data-mood]{animation:none}.avatar-sm{--size:30px;border-width:1.5px}.avatar-you{background:var(--surface-2);font-size:10px}.bubble{z-index:20;background:var(--surface);width:max-content;max-width:min(240px,70vw);color:var(--ink);border:1.5px solid var(--ill-line);box-shadow:0 3px 0 var(--edge);text-align:center;animation:bubble-in var(--dur) var(--ease-spring);pointer-events:none;border-radius:14px;padding:8px 12px;font-size:.9em;font-weight:800;line-height:1.25;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.bubble:after{content:"";background:inherit;border-right:1.5px solid var(--ill-line);border-bottom:1.5px solid var(--ill-line);width:12px;height:12px;position:absolute;top:100%;left:50%;transform:translate(-50%,-6px)rotate(45deg)}.bubble-ask{background:var(--accent);color:var(--accent-ink)}.bubble.leaving{opacity:0;transition:opacity .2s}.gf-opp .bubble,.war-side-cpu .bubble{top:calc(100% + 8px);bottom:auto}.gf-opp .bubble:after,.war-side-cpu .bubble:after{top:auto;bottom:100%;transform:translate(-50%,6px)rotate(225deg)}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%)scale(.85)}}.war{--card-w:clamp(64px, 17vmin, 120px);flex:1;grid-template:"cpu""field"minmax(0,1fr)"player""controls"/minmax(0,1fr);gap:clamp(6px,1.6vmin,14px);min-height:0;display:grid;position:relative}.war-side{justify-content:center;align-items:center;gap:14px;display:flex;position:relative}.war-side-cpu{grid-area:cpu}.war-side-player{grid-area:player}.war-who{color:var(--board-ink,#fff8ee);text-shadow:0 1px 2px #00000080;align-items:center;gap:8px;font-weight:800;display:flex;position:relative}.war-pile{--card-w:clamp(44px, 11vmin, 76px);position:relative}.war-pile:before,.war-pile:after{content:"";border-radius:calc(var(--card-w) * .09);z-index:-1;background:#00000040;position:absolute;inset:0;transform:translate(3px,3px)}.war-pile.empty .card{opacity:.15}.war-pile:has(.card-art):before{display:none}.war-pile:has(.card-art):after{display:none}.war-pile .card-art{--card-art-shadow:drop-shadow(2px 2px 0 #0000004d) drop-shadow(3px 3px 0 #0003) drop-shadow(0 6px 8px #0000004d)}.war-count{background:var(--surface);min-width:3ch;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;box-shadow:0 2px 0 var(--edge);border-radius:999px;padding:4px 10px;font-weight:800}.war-field{grid-area:field;grid-template-rows:1fr auto 1fr;place-items:center;min-height:0;display:grid}.war-slot{min-height:calc(var(--card-w) * 1.4);transition:opacity var(--dur);justify-content:center;align-items:center;display:flex;position:relative}.war-slot .war-card{transition:transform var(--dur) var(--ease)}.war-slot .war-facedown{margin-right:calc(var(--card-w) * -.7);transform:rotate(-6deg)}.war-slot .war-faceup{z-index:1}.war-slot .war-faceup.win{box-shadow:0 0 0 3px var(--mustard), 0 0 24px color-mix(in srgb, var(--mustard) 70%, transparent);transform:translateY(-4px)scale(1.04)}.war-slot .war-faceup.win.card-art{box-shadow:none;--card-art-shadow:drop-shadow(0 0 2px var(--gold-bright)) drop-shadow(0 0 12px var(--gold))}.war-reveal{animation:war-reveal .36s var(--ease-spring)}@keyframes war-reveal{0%{scale:1.22}55%{scale:.96}}.war-clash{animation:.45s ease-out war-clash}@keyframes war-clash{15%{translate:-7px 2px}35%{translate:6px -2px}55%{translate:-4px 1px}75%{translate:2px}}.war-banner.is-war{animation:pop .4s var(--ease-spring), war-ring .9s ease-out .1s;box-shadow:0 0 #e0654f99}@keyframes war-ring{to{box-shadow:0 0 0 22px #e0654f00}}.war-slot.settled{opacity:.45}.war-banner{min-height:1.6em;font-family:var(--font-display);color:var(--board-ink,#fff8ee);text-shadow:0 2px 3px #00000073;border-radius:999px;padding:4px 16px;font-size:clamp(1rem,2vmin + .6rem,1.6rem);font-weight:800}.war-banner:empty{visibility:hidden}.war-banner.is-war{background:var(--danger);animation:pop .4s var(--ease-spring)}.war-banner.is-win{background:color-mix(in srgb, var(--sage) 85%, black)}.war-banner.is-loss{background:#00000059}.war-controls{padding-bottom:var(--edge-size);flex-wrap:wrap;grid-area:controls;justify-content:center;gap:8px;display:flex}.war-controls .btn{min-width:0}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@media (orientation:landscape){.war{--card-w:clamp(56px, 24vh, 156px);grid-template:"cpu field player"minmax(0,1fr)"controls controls controls"/minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr)}.war-pile{--card-w:clamp(44px, 15vh, 108px)}.war-side{flex-direction:column}.war-field{grid-template-rows:1fr auto 1fr}}@media (orientation:landscape) and (max-height:540px){.war{--card-w:clamp(46px, 22vh, 84px)}.war-field{grid-template-rows:1fr;grid-template-columns:1fr auto 1fr;gap:8px}.war-pile{--card-w:clamp(36px, 12vh, 56px)}.war-controls .btn{min-height:38px;padding:.3em .9em}}.victory-burst{pointer-events:none;--card-w:40px;position:absolute;top:50%;left:50%}.burst-card{animation:burst 1.6s var(--ease) var(--delay) both;position:absolute;top:-28px;left:-20px}.gofish{--card-w:clamp(52px, 13vmin, 92px);flex:1;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:clamp(6px,1.4vmin,12px);min-width:0;min-height:0;display:grid;position:relative}.gf-opponents{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;display:grid}.gf-opp{border-radius:var(--radius-m);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--elev-2);color:var(--ink);min-width:0;transition:box-shadow var(--dur);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar meta""fan fan";align-items:center;gap:4px 8px;padding:8px;display:grid;position:relative}.gf-opp .avatar{--size:clamp(32px, 6vmin, 48px);box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--gold), var(--elev-1);grid-area:avatar}.gf-opp.is-turn,.gf-you.is-turn{box-shadow:0 0 0 2px var(--gold), 0 0 18px color-mix(in srgb, var(--gold) 45%, transparent), var(--elev-2)}.gf-asking{animation:gf-lean .5s var(--ease-spring)}@keyframes gf-lean{40%{translate:0 -4px;scale:1.03}}.gf-asked{animation:gf-asked 1.1s var(--ease)}@keyframes gf-asked{0%{box-shadow:0 0 0 2px var(--accent), 0 0 0 0 color-mix(in srgb, var(--accent) 70%, transparent)}70%{box-shadow:0 0 0 2px var(--accent), 0 0 0 14px color-mix(in srgb, var(--accent) 0%, transparent)}}.gf-booked{animation:gf-booked 1s var(--ease)}@keyframes gf-booked{35%{box-shadow:0 0 0 3px var(--gold-bright), 0 0 26px var(--gold)}}.gf-ripple{animation:gf-ripple .7s var(--ease)}@keyframes gf-ripple{30%{rotate:-3deg;scale:1.08}60%{rotate:2deg;scale:.97}}.gf-opp.is-empty .gf-fan{opacity:.3}.gf-opp-meta{flex-direction:column;grid-area:meta;min-width:0;line-height:1.15;display:flex}.gf-opp-name{white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.gf-opp-stats{font-size:max(var(--fs-min), .78em);opacity:.9;white-space:nowrap;gap:8px;font-weight:700;display:flex}.gf-fan{min-height:calc(var(--mini-w) * 1.4);--mini-w:clamp(18px, 4vmin, 28px);grid-area:fan;justify-content:center;display:flex}.gf-mini{--card-w:var(--mini-w);margin-left:calc(var(--mini-w) * -.55)}.gf-mini:first-child{margin-left:0}.gf-mini .card-back-mark{display:none}.gf-center{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:0;display:flex}.gf-pond{--card-w:clamp(44px, 10vmin, 70px);position:relative}.gf-pond.empty .card{opacity:.2}.gf-pond-count{background:var(--surface);min-width:28px;color:var(--ink);text-align:center;box-shadow:0 2px 0 var(--edge);border-radius:999px;padding:2px 8px;font-weight:800;position:absolute;bottom:-8px;right:-10px}.gf-status{border-radius:var(--radius-pill);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border);max-width:min(90%,420px);min-height:2.2em;box-shadow:var(--elev-1);color:var(--ink);text-align:center;padding:5px 14px;font-size:.9em;font-weight:700}.gf-status:empty{visibility:hidden}.gf-you{border-radius:var(--radius-m);background:color-mix(in srgb, var(--glass) 70%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--glass-border);transition:box-shadow var(--dur);flex-direction:column;gap:6px;padding:8px;display:flex;position:relative}.gf-you>.bubble{bottom:calc(100% + 8px)}.gf-books{--card-w:clamp(22px, 5vmin, 32px);flex-wrap:wrap;gap:4px;min-height:0;display:flex}.gf-book .card{box-shadow:0 0 0 1.5px var(--ill-line), 2px 2px 0 #fff9, 4px 4px 0 #0003}.gf-book .card-corner.br{display:none}.gf-hand{min-height:calc(var(--card-w) * 1.4 + 10px);justify-content:center;padding-top:10px;display:flex}.gf-card{cursor:pointer;border-radius:calc(var(--card-w) * .09);transition:transform var(--dur-fast) var(--ease);background:0 0;border:0;flex:none;padding:0}.gf-card+.gf-card{margin-left:calc(var(--overlap,0px) * -1)}.gf-card:not(:disabled):hover,.gf-card:focus-visible{z-index:2;transform:translateY(-10px)}.gf-card:disabled{cursor:default}.gf-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.gf-actions .btn-primary{min-width:140px}.gf-flying{z-index:30;--card-w:40px;pointer-events:none;position:absolute}@media (orientation:landscape) and (max-height:540px){.gofish{--card-w:clamp(40px, 15vh, 64px);grid-template:"opp center""you you"minmax(0,1fr)/minmax(0,1fr) auto}.gf-opponents{grid-area:opp}.gf-center{grid-area:center}.gf-you{flex-direction:row;grid-area:you;align-items:flex-end}.gf-you .gf-hand{flex:1}.gf-books{width:80px}.gf-actions{flex-direction:column-reverse}.gf-opp{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar meta fan";padding:6px}.gf-fan{--mini-w:clamp(14px, 4.5vh, 22px);min-height:0}.gf-status{font-size:max(var(--fs-min), .85em)}}.dialog-ask{width:min(400px,100%)}.ask-body{flex-direction:column;gap:10px;display:flex}.rank-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.rank-btn{border:1.5px solid var(--border);background:var(--surface-2);min-height:44px;color:var(--ink);font-family:var(--font-display);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:1.05em;font-weight:800;line-height:1;display:flex;position:relative}.rank-btn:disabled{opacity:.3;cursor:default}.rank-btn.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.rank-count{font-family:var(--font-body);font-size:max(var(--fs-min), .6em);margin-top:2px}.ask-label{color:var(--ink);font-weight:800}.opp-pick{flex-wrap:wrap;gap:6px;display:flex}.opp-btn{border:1.5px solid var(--border);background:var(--surface-2);color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;flex:110px;align-items:center;gap:8px;padding:6px 8px;display:flex}.opp-btn.active{border-color:var(--accent);background:var(--accent-soft)}.opp-btn-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.opp-btn-text small{color:var(--ink-faint)}.ask-hint{font-size:max(var(--fs-min), .75em);color:var(--ink-faint)}@media (pointer:coarse){.ask-hint{display:none}}.options-body{flex-direction:column;gap:10px;display:flex}.lineup{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.lineup-item{text-align:center;color:var(--ink);flex-direction:column;align-items:center;gap:4px;max-width:120px;display:flex}.lineup-item small{color:var(--ink-faint)}.dialog-options .segmented{flex-wrap:wrap}.rules{grid-template-columns:auto 1fr;gap:6px 14px;max-height:60vh;margin:0;display:grid;overflow-y:auto}.rules dt{color:var(--ink);font-weight:800}.rules dd{margin:0}@media (max-width:480px){.rules{grid-template-columns:1fr}.rules dd{margin-bottom:6px}}.result-body{flex-direction:column;gap:12px;display:flex}.result-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.standings{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.standings li{background:var(--surface-2);color:var(--ink);border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:flex}.standings li.winner{background:color-mix(in srgb, var(--mustard) 22%, var(--surface))}.standing-name{flex:1}.result-rewards{color:var(--ink);font-weight:800}.war-controls .btn-ghost,.gf-actions .btn-ghost{color:var(--board-ink,#fff8ee);border-color:color-mix(in srgb, var(--board-ink,#fff8ee) 45%, transparent)}@media (max-width:600px){.gf-opponents[data-count-players="3"] .gf-opp{text-align:center;grid-template-columns:minmax(0,1fr);grid-template-areas:"avatar""meta""fan";justify-items:center;padding:6px 4px}.gf-opponents[data-count-players="3"] .gf-opp-stats{flex-direction:column;gap:0}.gf-opponents[data-count-players="3"] .gf-opp-meta{align-items:center;max-width:100%}.gf-opponents[data-count-players="3"] .gf-opp-name{white-space:normal;font-size:max(var(--fs-min), .88em);overflow-wrap:anywhere;line-height:1.1}}@media (orientation:landscape) and (max-height:540px){.lineup-item small{display:none}.lineup .avatar{--size:32px}.dialog-options .dialog-body,.options-body{gap:6px}.dialog-options .control{min-height:44px;padding:4px 12px}}.gf-opponents:not([data-count-players="1"]) .gf-opp:first-child .bubble{animation-name:fade-in;left:0;transform:none}.gf-opponents:not([data-count-players="1"]) .gf-opp:last-child .bubble{animation-name:fade-in;left:auto;right:0;transform:none}.gf-opponents:not([data-count-players="1"]) .gf-opp:first-child .bubble:after{left:24px}.gf-opponents:not([data-count-players="1"]) .gf-opp:last-child .bubble:after{left:auto;right:12px}.solitaire{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.sol-board{touch-action:none;-webkit-user-select:none;user-select:none;--card-w:60px;flex:1;min-height:0;position:relative;overflow:hidden}.sol-slot,.sol-card{width:var(--card-w);position:absolute;top:0;left:0}.sol-slot{aspect-ratio:5/7;border-radius:calc(var(--card-w) * .09);border:2px dashed color-mix(in srgb, var(--board-ink,#fff8ee) 40%, transparent);color:color-mix(in srgb, var(--board-ink,#fff8ee) 60%, transparent);font-family:var(--font-display);font-weight:800;font-size:calc(var(--card-w) * .32);background:#0000001f;place-items:center;display:grid}.sol-slot-tableau{background:#0000000f;border-style:dotted}.sol-slot-cell{background:#00000052;border-style:solid;border-color:#fff8ee4d;box-shadow:inset 0 3px 8px #00000073}.sol-slot-cell:after{content:"FREE";font-family:var(--font-body);font-size:max(8px, calc(var(--card-w) * .15));letter-spacing:.12em;color:#fff8ee8c;font-weight:900}.sol-slot-foundation{border:2px solid color-mix(in srgb, var(--gold-bright) 75%, transparent);background:color-mix(in srgb, var(--gold) 16%, #0000001f);color:color-mix(in srgb, var(--gold-bright) 85%, transparent);box-shadow:inset 0 0 0 1px #00000026}.sol-slot-stock{cursor:pointer}.sol-slot-stock.recycle:before{content:"↻";font-size:calc(var(--card-w) * .5);color:#fff8eeb3}.sol-stock-count{bottom:calc(var(--card-w) * -.18);z-index:300;background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:max(var(--fs-min), calc(var(--card-w) * .16));white-space:nowrap;box-shadow:0 2px 0 var(--edge);border-radius:999px;padding:1px 7px;position:absolute;left:50%;transform:translate(-50%)}.sol-stock-count:empty{display:none}.sol-card{transition:transform .22s var(--ease);will-change:transform}.sol-card.pickable{cursor:grab}.sol-card.dragging{cursor:grabbing;pointer-events:none;filter:drop-shadow(0 10px 14px #00000059);transition:none}.sol-slot[data-drop],.sol-card[data-drop]{box-shadow:0 0 0 2px var(--ill-line), 0 0 0 4px var(--success)}.sol-card.card-art[data-drop]{box-shadow:none;--card-art-shadow:drop-shadow(0 0 2px var(--success)) drop-shadow(0 0 4px var(--success))}.sol-card.selected{box-shadow:0 0 0 2px var(--ill-line), 0 0 0 5px var(--mustard)}.sol-card.selected.card-art{box-shadow:none;--card-art-shadow:drop-shadow(0 0 1.5px var(--mustard)) drop-shadow(0 0 1.5px var(--mustard)) drop-shadow(0 0 2px var(--mustard))}.sol-card.card-art[data-hint]{box-shadow:none;--card-art-shadow:drop-shadow(0 0 2px var(--sky)) drop-shadow(0 0 6px var(--sky))}.sol-card[data-hint=source],.sol-card[data-hint=target],.sol-slot[data-hint=target]{box-shadow:0 0 0 2px var(--ill-line), 0 0 0 5px var(--sky), 0 0 18px var(--sky);animation:.9s ease-in-out 2 hint-pulse}@keyframes hint-pulse{50%{filter:brightness(1.12)}}.sol-card{--card-art-shadow:drop-shadow(0 1px 0 #00000047) drop-shadow(0 2px 3px #0003)}.sol-flip{animation:sol-flip .28s var(--ease)}@keyframes sol-flip{0%{filter:brightness(.75);scale:.04 1}60%{scale:1.06 1}}.sol-land{animation:sol-land .42s var(--ease)}@keyframes sol-land{0%{filter:drop-shadow(0 12px 14px #00000052);scale:1.07}55%{filter:drop-shadow(0 8px 10px #00000047);scale:1.04}80%{scale:.985}}.sol-shuffling{animation:.36s ease-in-out sol-riffle}@keyframes sol-riffle{25%{translate:-3px;rotate:-5deg}50%{translate:3px -2px;rotate:4deg}75%{rotate:-2deg}}.sol-slot.sol-complete{animation:sol-complete 1.1s var(--ease)}@keyframes sol-complete{0%{box-shadow:0 0 #e6c36af2}60%{box-shadow:0 0 0 14px #e6c36a00}}.sol-crown{animation:sol-crown .9s var(--ease-spring)}@keyframes sol-crown{40%{filter:drop-shadow(0 0 10px var(--gold-bright)) brightness(1.08);scale:1.12}}.victory-shower{z-index:1500;pointer-events:none;position:absolute;inset:0;overflow:hidden}.victory-shower span{left:var(--x);font-size:var(--size);color:var(--gold-bright);text-shadow:0 1px 2px #00000059;opacity:0;animation:shower var(--dur) cubic-bezier(.3, .2, .6, 1) var(--delay) forwards;line-height:1;position:absolute;top:-30px}.victory-shower span.is-red{color:#e2504a}@keyframes shower{8%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate3d(var(--drift), calc(100vh), 0) rotate(var(--spin))}}.sol-shake{animation:.3s sol-shake}@keyframes sol-shake{25%{translate:-6px}50%{translate:6px}75%{translate:-3px}}.sol-dance{animation:sol-dance 1.2s var(--ease-spring) calc(var(--i) * 30ms) 2 alternate}@keyframes sol-dance{to{translate:0 -18px;rotate:6deg}}.sol-board.paused .sol-card{visibility:hidden}.sol-pause{z-index:2000;color:var(--board-ink,#fff8ee);font-family:var(--font-display);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:1.6em;font-weight:800;display:flex;position:absolute;inset:0}.table[data-board-art=image] :is(.war-controls,.gf-actions) .btn-ghost{background:color-mix(in srgb, var(--board-base) 82%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.stats-dialog{grid-template-columns:repeat(3,minmax(0,1fr))}.reduced-motion .sol-card{transition:none}.table[data-board-tone=light] :is(.war-who,.war-banner,.gf-opp){text-shadow:none}.table[data-board-tone=light] .war-banner.is-loss{background:#fff9}.table[data-board-tone=dark] .card.card-art{box-shadow:none;--card-art-shadow:drop-shadow(0 0 1px #ffffff59) drop-shadow(0 2px 3px #00000059)}.table[data-board-tone=dark] .card{box-shadow:0 0 0 1.5px var(--ill-line), 0 0 0 2.5px #fff3, 0 3px 0 #0000002e}.board-swatch{border-radius:var(--radius-s);border:6px solid var(--rim);background:var(--board-art,none) center / cover no-repeat, var(--felt);min-height:60px;box-shadow:inset 0 0 18px #0000004d, 0 0 0 1.5px var(--ill-line);--card-w:clamp(24px, 5.5vmin, 38px);flex:1;justify-content:center;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}.board-swatch.large{--card-w:56px;min-height:170px}.board-swatch>.card{z-index:1;position:relative}.pick-board{border-width:4px;flex:none;width:64px;min-height:44px}.ambient{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient-p{left:var(--x);top:var(--y);animation-duration:var(--d);animation-delay:var(--delay);animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}.reduced-motion .ambient{display:none}.ambient-breeze .ambient-p{background:#ffffffbf;border-radius:60% 0;width:7px;height:7px;animation-name:amb-breeze}@keyframes amb-breeze{0%{transform:translate(-30vw, 0) rotate(0) scale(var(--s));opacity:0}20%,80%{opacity:.8}to{transform:translate(40vw, -6vh) rotate(540deg) scale(var(--s));opacity:0}}.ambient-dust .ambient-p{background:#ffe4aab3;border-radius:50%;width:3px;height:3px;animation-name:amb-float;animation-timing-function:ease-in-out}@keyframes amb-float{0%,to{transform:translate(0, 0) scale(var(--s));opacity:.1}50%{transform:translate(12px, -26px) scale(var(--s));opacity:.7}}.ambient-steam .ambient-p{filter:blur(6px);background:radial-gradient(closest-side,#ffffff73,#0000);border-radius:50%;width:60px;height:90px;animation-name:amb-steam;animation-timing-function:ease-out;top:auto;bottom:-20px}@keyframes amb-steam{0%{transform:translateY(0) scale(calc(var(--s) * .6));opacity:0}30%{opacity:.5}to{transform:translateY(-50vh) scale(calc(var(--s) * 1.6));opacity:0}}.ambient-river .ambient-p{background:linear-gradient(90deg,#0000,#dcf5ff8c,#0000);border-radius:2px;width:70px;height:2px;animation-name:amb-river}@keyframes amb-river{0%{transform:translateX(-20vw) scaleX(var(--s));opacity:0}50%{opacity:.8}to{transform:translateX(30vw) scaleX(var(--s));opacity:0}}.ambient-leaves .ambient-p{background:#c98a3a;border-radius:0 80%;width:14px;height:10px;animation-name:amb-fall;top:-24px}.ambient-leaves .ambient-p:nth-child(3n){background:#9b5a2a}.ambient-leaves .ambient-p:nth-child(3n+1){background:#7d8f3e}@keyframes amb-fall{0%{transform:translate(0, 0) rotate(0) scale(var(--s));opacity:0}10%{opacity:.85}to{transform:translate(60px, 110vh) rotate(720deg) scale(var(--s));opacity:.6}}.ambient-sparkle .ambient-p{background:#ffd76a;width:6px;height:6px;animation-name:amb-twinkle;animation-timing-function:ease-in-out;transform:rotate(45deg)}@keyframes amb-twinkle{0%,to{opacity:0;transform:rotate(45deg)scale(0)}50%{transform:rotate(45deg) scale(var(--s));opacity:.9}}.ambient-paint .ambient-p{background:radial-gradient(closest-side,#c8643f38,#0000);border-radius:50%;width:46px;height:46px;animation-name:amb-float;animation-timing-function:ease-in-out}.ambient-paint .ambient-p:nth-child(2n){background:radial-gradient(closest-side,#6f8fae38,#0000)}.ambient-rain .ambient-p{width:1.5px;height:26px;animation-name:amb-rain;animation-duration:calc(var(--d) / 8);background:linear-gradient(#0000,#c8dcf073);top:-30px}@keyframes amb-rain{0%{transform:translate(0)}to{transform:translate(-30px,110vh)}}.ambient-candle .ambient-p{background:radial-gradient(70% 55% at 50% 30%,#ffc46e29,#0000 70%);animation-name:amb-flicker;animation-duration:3.2s;animation-timing-function:steps(8,end);inset:0}@keyframes amb-flicker{0%,to{opacity:.9}20%{opacity:.65}45%{opacity:1}70%{opacity:.75}}.summary-row{flex-wrap:wrap}.summary-detail{color:var(--ink-faint);flex-basis:100%;font-weight:700}.collection-filter{box-shadow:none;background:0 0;border:0;flex:none;justify-content:flex-end;min-height:0;padding:0}.collection-filter .control-label{color:var(--ink-soft)}@media (orientation:landscape) and (max-height:540px){.summary-row{flex-wrap:nowrap}.summary-row .progress{flex:1;min-width:80px}.summary-detail{flex-basis:auto}.collection-filter .segmented button{padding:4px 12px}.deck-tile .tile-artist{display:none}.deck-tile .tile-main{gap:4px;padding:8px 10px}}.deck-tile{padding:0}.tile-main{width:100%;height:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 10px;display:flex}.tile-artist{font-size:max(var(--fs-min), .72em);color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:700;overflow:hidden}.tile-main>:not(.deck-preview){flex:none}@container (height<=200px){.tile-artist{display:none}}.fav-btn{z-index:2;background:var(--surface-2);width:34px;height:34px;color:var(--gold-deep);cursor:pointer;border:0;border-radius:50%;font-size:1.15em;line-height:1;position:absolute;top:6px;left:6px}[data-theme=night] .fav-btn{color:var(--mustard)}.fav-btn[aria-pressed=true]{background:color-mix(in srgb, var(--mustard) 22%, var(--surface))}.item-meta .fav-btn{position:static}.artist-credit{color:var(--ink-soft);align-items:center;gap:6px;font-weight:700;display:flex}.artist-credit .icon{width:16px;height:16px;color:var(--mustard)}.unlock-status{color:var(--ink-soft);align-items:center;gap:6px;font-weight:800;display:flex}.unlock-status.owned{color:var(--success-text)}.unlock-status .icon{width:16px;height:16px}.deck-preview-img{object-fit:contain;max-width:100%;max-height:200px;margin:0 auto;display:block}.variants{flex-direction:column;gap:6px;display:flex}.variant-row{background:var(--surface-2);color:var(--ink);border-radius:12px;align-items:center;gap:8px;padding:6px 10px;display:flex}.variant-text{flex-direction:column;flex:1;min-width:0;display:flex}.variant-text small{color:var(--ink-faint)}.empty-note{color:var(--ink-soft);text-align:center;margin:auto;font-weight:700}.gallery-head{flex:none;align-items:center;gap:10px;font-weight:800;display:flex}.gallery-select{border:1.5px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink);font:inherit;border-radius:12px;padding:0 10px;font-weight:700}.options-heading{color:var(--ink);margin-top:6px;font-size:1em}.credits{grid-template-columns:auto 1fr;gap:4px 14px;max-height:60vh;margin:0;display:grid;overflow-y:auto}.credits dt{color:var(--ink);font-weight:800}.credits dd{margin:0}.credits .artist-credit{font-weight:600}.edition-note{color:var(--ink-soft);font-weight:700}.age-confirm{color:var(--ink);align-items:flex-start;gap:10px;display:flex}.age-confirm input{width:22px;height:22px;accent-color:var(--accent);flex:none}.customizer{flex-direction:column;gap:8px;display:flex}.control-pick{flex-direction:column;align-items:stretch}.pick-strip{scrollbar-width:thin;gap:6px;padding:4px 2px 6px;display:flex;overflow-x:auto}.pick{border:1.5px solid var(--border);background:var(--surface-2);width:76px;color:var(--ink);cursor:pointer;--card-w:34px;border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:4px;padding:6px 4px;display:flex}.pick.active{border-color:var(--accent);background:var(--accent-soft)}.pick-name{font-size:max(var(--fs-min), .68em);text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-weight:800;line-height:1.1;display:-webkit-box;overflow:hidden}.pick .card .card-back-mark{font-size:10px}.deck-fan,.deck-preview-img{transform-origin:50% 80%;animation:8s ease-in-out infinite preview-turn}@keyframes preview-turn{0%,to{transform:perspective(800px)rotateY(-9deg)rotate(-1deg)}50%{transform:perspective(800px)rotateY(9deg)rotate(1deg)}}.board-tile{flex-direction:column;align-items:stretch;gap:0;padding:0;container:board-tile/inline-size}button.board-tile{gap:4px;padding:8px 8px 10px}button.board-tile .tile-title{line-height:1.15}.board-tile .tile-main{text-align:left;flex-direction:column;flex:1;align-items:stretch;gap:6px;min-height:0;padding:10px 10px 4px;display:flex}.board-tile .board-swatch{flex:1;min-height:70px}.board-tile-meta{font-size:max(var(--fs-min), .74em);color:var(--ink-faint);flex-wrap:wrap;gap:4px 10px;font-weight:700;display:flex}.board-ambience:before{content:"✦ ";color:var(--gold-text)}.board-tile-foot{justify-content:flex-end;align-items:center;min-height:44px;padding:0 10px 8px;display:flex}.board-select{min-width:96px}.board-selected{font-size:max(var(--fs-min), .82em);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);align-items:center;gap:6px;font-weight:900;display:inline-flex}[data-theme=night] .board-selected{color:var(--gold-text)}.board-selected .icon{width:16px;height:16px}@container board-tile (width<=220px){.board-tile .tile-main{gap:4px;padding:8px 8px 2px}.board-tile .tile-title{font-size:.92em}.board-tile-foot{justify-content:stretch;padding:0 8px 8px}.board-tile-foot>*{flex:1;justify-content:center;min-width:0}.board-tile .tile-lock{font-size:max(var(--fs-min), .78em)}}.board-ambience-toggle{flex:none}.board-ambience-toggle .control{min-height:0;padding:6px 12px}@media (orientation:landscape) and (max-height:540px){.board-ambience-toggle .control small{display:none}.board-tile .tile-main{padding:6px 8px 2px}.board-tile-foot{min-height:38px;padding-bottom:4px}}.story-root{flex-direction:column;flex:1;min-height:0;display:flex}.story-stack{gap:10px}.passport{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--gold-line);box-shadow:var(--elev-1);flex:none;justify-content:center;align-self:center;align-items:center;gap:6px;max-width:100%;padding:6px 12px;display:flex}.passport-label{font-size:max(var(--fs-min), .68em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--gold-deep);margin-right:4px;font-weight:900}[data-theme=night] .passport-label{color:var(--gold-text)}.stamp{border:1.5px dashed var(--gold-line);width:26px;height:26px;font-family:var(--font-display);font-weight:800;font-size:max(var(--fs-min), .8em);color:var(--gold-ink);border-radius:50%;place-items:center;display:grid}.stamp.earned{background:var(--gold-metal);box-shadow:inset 0 0 0 2px #fffae699, var(--elev-1);border:0;transform:rotate(-8deg)}.stamp.big{width:76px;height:76px;animation:stamp-down .7s var(--ease-spring);margin:4px auto 8px;font-size:2rem}@keyframes stamp-down{0%{opacity:0;transform:scale(2.4)rotate(-30deg)}60%{opacity:1;transform:scale(.92)rotate(-6deg)}}@media (max-width:380px){.passport-label{display:none}.stamp{width:22px;height:22px}}.chapter-card{text-align:left;flex-direction:column;align-items:stretch;gap:0;padding:0}.chapter-card.done{border-color:var(--gold-line)}.chapter-card.locked .chapter-art{filter:grayscale(.9)brightness(.8)}.chapter-art{background:linear-gradient(180deg, transparent 30%, color-mix(in srgb, var(--tint) 80%, transparent)), var(--backdrop,none) center / cover no-repeat, var(--tint);border-bottom:1px solid var(--border);flex:1;min-height:90px;display:block;position:relative;overflow:hidden}.chapter-art.large{border-radius:var(--radius-m);border:1px solid var(--border);height:100%;min-height:0}.story-art-decks{justify-content:center;align-items:center;display:flex;position:absolute;inset:8% 0 6%}.story-art-decks img{object-fit:contain;filter:drop-shadow(0 6px 10px #00000073);max-width:70%;height:100%;transform:rotate(calc((var(--i) - .5) * 8deg)) translateX(calc((var(--i) - .5) * 18%));transition:transform var(--dur-slow) var(--ease-spring)}.story-art-decks img:only-child{transform:none}@media (hover:hover){.chapter-card:not(.locked):hover .story-art-decks img{transform:rotate(calc((var(--i) - .5) * 14deg)) translateX(calc((var(--i) - .5) * 26%)) translateY(-4px)}}.chapter-art.placeholder{background:repeating-linear-gradient(45deg, #ffffff0d 0 10px, transparent 10px 20px), var(--tint)}.story-art-label{border-radius:var(--radius-pill);color:#fff8ee;font-size:max(var(--fs-min), .68em);letter-spacing:.04em;background:#0000008c;padding:2px 8px;font-weight:800;position:absolute;bottom:8px;left:8px}.chapter-card-body{flex-direction:column;gap:3px;padding:8px 12px 10px;display:flex}.chapter-card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.story-pips{gap:4px;display:inline-flex}.story-pips i{background:var(--surface-sunk);width:9px;height:9px;box-shadow:inset 0 0 0 1px var(--border);border-radius:2px;transform:rotate(45deg)}.story-pips i.on{background:var(--gold);box-shadow:0 0 0 1px var(--gold-deep)}.chapter-hero{flex:none;grid-template-columns:minmax(110px,34%) minmax(0,1fr);gap:12px;height:clamp(118px,22vh,190px);display:grid}.chapter-hero-text{min-width:0;color:var(--ink-soft);flex-direction:column;justify-content:center;gap:6px;font-size:.9em;display:flex}.chapter-hero-text p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chapter-progress{white-space:nowrap;font-weight:800;font-size:max(var(--fs-min), .85em);color:var(--ink);align-items:center;gap:8px;display:flex}.chapter-progress .progress{--progress-fill:var(--gold-metal)}.chapter-hero-actions{flex-wrap:wrap;gap:4px;display:flex}.chapter-hero-actions .btn{min-height:32px;padding-inline:.7em}.level-tile{align-items:center}.level-tile.finale{border-color:var(--gold-line);background:linear-gradient(135deg, var(--gold-soft), transparent 60%), var(--surface)}.level-num{background:var(--surface-sunk);width:38px;height:38px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:1.1em;font-weight:800;display:grid}.level-tile.done .level-num{background:var(--gold-metal);color:var(--gold-ink)}.level-num .icon{width:18px;height:18px}.level-objective{font-size:max(var(--fs-min), .84em);color:var(--ink-soft);font-weight:700}.dialog-story{width:min(460px,100%)}.story-dialogue{flex-direction:column;gap:10px;display:flex}.story-line{animation:rise-in var(--dur) var(--ease);align-items:flex-start;gap:10px;display:flex}.story-portrait{--size:46px;flex:none}.story-portrait.monogram{background:var(--who);color:#fff8ee;width:46px;height:46px;font-family:var(--font-display);box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--gold);border-radius:50%;place-items:center;font-size:1.3em;font-weight:800;display:grid}.story-bubble{border-radius:4px var(--radius-m) var(--radius-m) var(--radius-m);background:var(--surface-2);color:var(--ink);flex:1;padding:8px 12px;position:relative}.story-bubble strong{font-size:max(var(--fs-min), .72em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--gold-deep);display:block}[data-theme=night] .story-bubble strong{color:var(--gold-text)}.story-dialogue-nav{justify-content:flex-end;min-height:0;display:flex}.story-dialogue-nav:has(.story-next[hidden]){display:none}.story-brief{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.story-objective{color:var(--ink);align-items:center;gap:6px;font-weight:800;display:flex}.story-objective .icon{width:18px;height:18px;color:var(--gold-text)}.story-setup{font-size:max(var(--fs-min), .82em);color:var(--ink-faint)}.story-rewards small{font-size:max(var(--fs-min), .68em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--ink-faint);font-weight:900}.story-rewards ul{flex-wrap:wrap;gap:4px 6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.story-rewards li{border-radius:var(--radius-pill);background:var(--gold-soft);border:1px solid var(--gold-line);font-size:max(var(--fs-min), .82em);color:var(--ink);align-items:center;gap:5px;padding:3px 9px;font-weight:800;display:inline-flex}.story-rewards li .icon{width:14px;height:14px;color:var(--gold-deep)}.story-result,.chapter-complete{text-align:center;flex-direction:column;gap:8px;display:flex}.chapter-complete .story-rewards ul{justify-content:center}@media (orientation:landscape) and (max-height:540px){.chapter-hero{height:92px}.chapter-hero-text p{-webkit-line-clamp:2}.passport{padding:3px 10px}.stamp{width:20px;height:20px}}.menu-play:active{transform:scale(.985)}.menu-story:focus-visible,.quick-play:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--gold-soft)}.menu-tile:focus-visible,.setup-chip:focus-visible{outline-offset:2px;border-color:var(--gold-line)}@media (prefers-reduced-motion:reduce){.menu-play:active,.menu-tile:active,.setup-chip:active,.quick-play:active{transform:none}}.menu-veil{z-index:40;pointer-events:none;animation:veil-out var(--reveal,1.1s) ease-out forwards;background:#000;position:absolute;inset:0}@keyframes veil-out{to{opacity:0}}.menu.from-intro .menu-logo{animation-delay:.25s}.menu.from-intro .menu-panel{animation-delay:.38s}.menu.from-intro .menu-tile{animation-delay:calc(.52s + var(--i,0) * 45ms)}.reduced-motion .menu-veil{animation-duration:.15s}.sol-board:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.sol-board .kb-cursor{outline:3px solid var(--gold-bright);outline-offset:2px;border-radius:calc(var(--card-w) * .09)}.sol-card.selected{translate:0 calc(var(--card-w) * -.07)}.sol-slot[data-legal],.sol-card[data-legal]{outline:3px dashed var(--success);outline-offset:2px}.sol-slot[data-drop],.sol-card[data-drop]{outline:3px solid var(--success);outline-offset:2px}.sol-slot[data-legal]:before{content:"▾";left:50%;top:calc(var(--card-w) * -.3);font-family:var(--font-body);font-size:calc(var(--card-w) * .3);color:var(--board-ink,#fff8ee);text-shadow:0 1px 2px #0009;pointer-events:none;line-height:1;position:absolute;translate:-50%}.sol-card[data-hint],.sol-slot[data-hint]{outline:3px dotted var(--sky);outline-offset:2px}.sol-card.sol-refused:after{content:"✕";top:calc(var(--card-w) * -.12);right:calc(var(--card-w) * -.12);width:calc(var(--card-w) * .34);aspect-ratio:1;background:var(--danger);min-width:18px;color:var(--danger-ink);font:900 max(11px, calc(var(--card-w) * .2)) / 1 var(--font-body);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 1px 3px #0006}.sol-done{z-index:900;margin-left:calc(var(--card-w) * .72);margin-top:calc(var(--card-w) * -.1);width:calc(var(--card-w) * .36);aspect-ratio:1;background:var(--gold-bright,#f5d98e);color:#2a1d07;min-width:18px;font:900 max(11px, calc(var(--card-w) * .22)) / 1 var(--font-body);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0;box-shadow:0 1px 3px #00000073}.sol-done[hidden]{display:none}.war-auto{color:var(--board-ink,#fff8ee);font-weight:900;font-size:max(var(--fs-min), .8rem);letter-spacing:.04em;background:#00000059;border:1.5px solid;border-radius:999px;align-self:center;padding:2px 10px}.war-auto[hidden]{display:none}.gf-waiting{font-weight:800;font-size:max(var(--fs-min), .85rem);color:var(--board-ink,#fff8ee);text-shadow:0 1px 2px #00000080}.gf-waiting[data-state=you]{text-underline-offset:3px;text-decoration:underline}.table[data-board-tone=light] :is(.gf-waiting,.war-auto){color:var(--ink);text-shadow:none}.table[data-board-tone=light] .war-auto{background:#fff9}.sol-card .card-index{align-items:center;gap:1px;padding:1px 2px;font-size:clamp(12px,30cqw,22px);line-height:1;display:flex}.sol-card .card-index i{display:inline}.sol-inspect{text-align:center;color:#fff8ee;background:#10261ee6;border-radius:6px;flex:none;min-height:22px;margin:0;padding:2px 6px;font-size:14px;line-height:1.25}@media (max-height:450px){.sol-inspect{min-height:18px;font-size:12px}}@media (orientation:portrait) and (max-width:600px){.gf-card .card-index{gap:1px;font-size:18px;line-height:1;display:flex}.gf-card .card-index i{display:inline}}.studio-intro{z-index:100;background:#000;place-items:center;display:grid;position:absolute;inset:0}.studio-video{object-fit:contain;width:100%;height:100%}.studio-skip{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:1;color:#fff;background:#18231e;min-height:44px;position:absolute}.music-player{flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;display:flex}.settings-music{flex-direction:column;flex:1;display:flex;overflow-y:auto}.music-player>.control-slider{min-height:48px;padding-block:6px}.mp-tracks{flex:1;min-height:0}.mp-tracks .track{height:100%}.dialog-music{height:min(640px,100%)}.dialog-music .dialog-body{flex:1;display:flex;overflow:hidden}.mp-now{border-radius:var(--radius-s);background:var(--surface-sunk);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"disc title time""disc bar bar";align-items:center;gap:6px 10px;padding:10px 12px;display:grid}.mp-disc{width:42px;height:42px;color:var(--gold-ink);background:radial-gradient(circle, var(--surface) 0 5px, transparent 6px), repeating-radial-gradient(circle, #3a3129 0 2px, #2a231d 2px 4px);box-shadow:inset 0 0 0 3px var(--gold);border-radius:50%;grid-area:disc;place-items:center;display:grid}.mp-disc .icon{width:16px;height:16px;color:var(--gold-bright)}.mp-disc[data-spinning=true]{animation:6s linear infinite mp-spin}@keyframes mp-spin{to{transform:rotate(360deg)}}.reduced-motion .mp-disc[data-spinning=true]{animation:none}.mp-title{flex-direction:column;grid-area:title;min-width:0;display:flex}.mp-title strong,.mp-title small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mp-title small{color:var(--ink-soft);font-size:max(var(--fs-min), .82em)}.mp-time{font-variant-numeric:tabular-nums;font-size:max(var(--fs-min), .8em);color:var(--ink-soft);grid-area:time}.mp-progress{background:var(--border);border-radius:2px;grid-area:bar;height:4px;overflow:hidden}.mp-progress-fill{background:var(--gold);transform-origin:0;height:100%;transition:transform .5s linear;display:block;transform:scaleX(0)}.mp-transport{justify-content:center;align-items:center;gap:clamp(2px,1.5vw,10px);display:flex}.mp-transport .btn[aria-pressed=true]{color:var(--accent-text);background:var(--accent-soft)}.mp-transport [data-repeat=one]:after{content:""}.mp-play.btn{border-radius:50%;width:54px;height:54px}.mp-library{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex}.mp-main{flex-direction:column;gap:10px;min-width:0;display:flex}@media (orientation:landscape) and (max-height:540px){.music-player .mp-categories{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}}@media (orientation:landscape) and (min-width:600px){.music-player{flex-direction:row;align-items:stretch}.mp-main{flex:1;justify-content:center}.mp-library{flex:1.25}.dialog-music{width:min(920px,100%)}}.mp-categories{flex-wrap:wrap;gap:5px;display:flex}.chip{border-radius:var(--radius-pill);border:1.5px solid var(--border);background:var(--surface-2,var(--surface));min-height:30px;color:var(--ink-soft);font-weight:800;font-size:max(var(--fs-min), .8em);cursor:pointer;flex:none;padding:3px 10px}@media (pointer:coarse){.chip{min-height:36px}}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.dialog-music .music-player{width:min(520px,100%)}.menu-music-title{color:inherit;font:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;margin-block:-12px;padding:12px 0;overflow:hidden}.medal{--medal-bg:#f6ead2;--medal-line:#0000002e;color:#281a0ad1;flex:none;display:block}.medal-common{--medal-hi:#f1e7d6;--medal-lo:#c9b79b;--medal-rim:#8f7b5f;--medal-rim-hi:#d9c6a6}.medal-uncommon{--medal-hi:#e6f1e6;--medal-lo:#8fb79a;--medal-rim:#4f7d5d;--medal-rim-hi:#b7d6be}.medal-rare{--medal-hi:#e5effa;--medal-lo:#86a8cc;--medal-rim:#3d6690;--medal-rim-hi:#b2cbe6}.medal-epic{--medal-hi:#f1e6f8;--medal-lo:#ae8bc8;--medal-rim:#6b4392;--medal-rim-hi:#d3bce6}.medal-legendary{--medal-hi:#fff4cc;--medal-lo:#e2b54a;--medal-rim:#9a6c12;--medal-rim-hi:#f7dc8c}.medal.locked{--medal-hi:#e7e2da;--medal-lo:#b9b1a6;--medal-rim:#8d857a;--medal-rim-hi:#cfc8bd;color:#3c362e73;opacity:.8}.medal-glyph{filter:drop-shadow(0 1px #ffffff73)}.toast-medal-art{animation:medal-in .7s var(--ease-spring);flex:none;display:grid}.toast-achievement{padding-block:6px}.achievement-tile{text-align:left;cursor:pointer;border-left:4px solid var(--rarity,var(--border));align-items:center;gap:12px;width:100%;display:flex}.achievement-tile.rarity-common{--rarity:#a39580}.achievement-tile.rarity-uncommon{--rarity:#5f8a6e}.achievement-tile.rarity-rare{--rarity:#4f7fa6}.achievement-tile.rarity-epic{--rarity:#8a5aa8}.achievement-tile.rarity-legendary{--rarity:#c08b17}.achievement-tile:not(.earned) .tile-title{color:var(--ink-soft)}.achievement-tile.earned{background:linear-gradient(90deg, color-mix(in srgb, var(--rarity) 12%, transparent), transparent 70%), var(--surface)}.achievement-tile .tile-body{flex-direction:column;gap:2px;min-width:0;display:flex}.achievement-tile .tile-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.achievement-bar{align-items:center;gap:8px;display:flex}.achievement-bar .progress{flex:1;height:6px}.achievement-bar small,.achievement-date{font-size:max(var(--fs-min), .75em);color:var(--ink-faint);white-space:nowrap;font-weight:800}.achievement-date{color:var(--rarity)}.achievement-detail{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.achievement-meta{align-items:center;gap:10px;font-weight:800;display:flex}.achievement-progress{flex-direction:column;gap:4px;width:min(280px,100%);display:flex}.rarity-chip{font-size:max(var(--fs-min), .8em);color:var(--ink-soft);align-items:center;gap:5px;font-weight:800;display:inline-flex}.rarity-chip i{background:var(--rarity);border-radius:50%;width:10px;height:10px}.rarity-common{--rarity:#a39580}.rarity-uncommon{--rarity:#5f8a6e}.rarity-rare{--rarity:#4f7fa6}.rarity-epic{--rarity:#8a5aa8}.rarity-legendary{--rarity:#c08b17}.passport-wrap{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.passport-turn{border-radius:var(--radius-pill);background:var(--surface-sunk);align-self:center;gap:2px;padding:4px;display:none}.passport-turn button{font:inherit;color:var(--ink-soft);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;min-height:36px;padding:6px 14px;font-weight:800}.passport-turn button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--elev-1)}.passport-book{border-radius:var(--radius-m);min-height:0;box-shadow:var(--elev-2);background:#2f4a3a;flex:1;grid-template-columns:1fr 1fr;gap:0;padding:8px;display:grid}.passport-page{color:#2f2a24;--ink:#2f2a24;--ink-soft:#6a5f53;--ink-faint:#9a8e80;--surface:#fffaf0;--surface-sunk:#ede2cc;--edge:#d6c3a1;--border:#2f2a2429;background:repeating-linear-gradient(0deg,#0000 0 22px,#5f8a6e12 22px 23px),radial-gradient(circle at 70% 30%,#5f8a6e1f,#0000 60%),#f8f1e1;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:clamp(10px,2.2vmin,20px);display:flex;overflow:hidden}.passport-page:first-child{border-radius:12px 4px 4px 12px;box-shadow:inset -10px 0 14px -10px #00000040}.passport-page:last-child{border-radius:4px 12px 12px 4px;box-shadow:inset 10px 0 14px -10px #00000040}.passport-id{align-items:center;gap:14px;display:flex}.passport-seal{aspect-ratio:1;text-align:center;background:var(--gold-metal);width:clamp(60px,13vmin,84px);color:var(--gold-ink);box-shadow:inset 0 0 0 3px #fffae699, 0 0 0 3px var(--gold-line), var(--elev-1);border-radius:50%;flex:none;place-content:center;line-height:1;display:grid}.passport-seal strong{font-family:var(--font-display);font-size:clamp(1.4em,4.5vmin,2em)}.passport-seal small{font-size:max(var(--fs-min), .65em);letter-spacing:var(--label-track);text-transform:uppercase;font-weight:800}.passport-name{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.passport-name>small:first-child{letter-spacing:var(--label-track);text-transform:uppercase;font-size:max(var(--fs-min), .68em);color:#5f8a6e;font-weight:800}.passport-name strong{font-family:var(--font-display);font-size:1.35em}.passport-name small{color:#6a5f53}.passport-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.passport-stats .stat-item{background:#ffffff8c;min-width:0;padding:6px 8px}.passport-stats .stat-value{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:1.05em;display:block;overflow:hidden}.passport-heading{font-family:var(--font-display);justify-content:space-between;align-items:baseline;margin:0;font-size:1.05em;display:flex}.passport-heading span{font-family:var(--font-body);font-size:max(var(--fs-min), .85em);color:#6a5f53}.passport-page .passport{flex-wrap:wrap}.passport-achievements{flex-direction:column;gap:8px;min-height:0;display:flex}.passport-achievements .btn{align-self:flex-start}.rarity-row{flex-wrap:wrap;gap:4px 12px;display:flex}.passport-latest{flex-direction:column;gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.passport-latest li{align-items:center;gap:8px;min-width:0;display:flex}.passport-latest li span{flex-direction:column;min-width:0;display:flex}.passport-latest strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.passport-latest small{color:#6a5f53;font-size:max(var(--fs-min), .78em)}@media (max-aspect-ratio:4/5) and (max-width:700px),(max-width:560px){.passport-turn{display:flex}.passport-book{grid-template-columns:1fr}.passport-book[data-page="1"] [data-passport-page="2"],.passport-book[data-page="2"] [data-passport-page="1"]{display:none}.passport-page{animation:page-turn .38s var(--ease);box-shadow:none!important;border-radius:12px!important}}@media (max-height:460px){.passport-id{gap:10px}.passport-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.passport-stats .stat-value{font-size:max(var(--fs-min), .88em)}.passport-page{gap:6px}.passport-latest li:nth-child(n+2){display:none}}@keyframes page-turn{0%{transform-origin:0;opacity:.4;transform:perspective(900px)rotateY(-14deg)}}.deck-preview[data-preview=image]{border-radius:10px;place-items:center;display:grid;overflow:hidden}.deck-preview-img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.tile-extras{font-size:max(var(--fs-min), .72em);color:var(--accent-text);font-weight:800}.binder .pager-viewport{border-radius:var(--radius-m);background:linear-gradient(90deg,#0000001f 0 6px,#0000 6px),repeating-linear-gradient(90deg,#0000 0 22px,#ffffff08 22px 23px),#3b2f27;padding:10px;box-shadow:inset 0 2px 10px #00000059}.binder .pager-grid.page-in-right{animation:binder-turn-right .42s var(--ease);transform-origin:0}.binder .pager-grid.page-in-left{animation:binder-turn-left .42s var(--ease);transform-origin:100%}@keyframes binder-turn-right{0%{opacity:.2;transform:perspective(1200px)rotateY(-28deg)}}@keyframes binder-turn-left{0%{opacity:.2;transform:perspective(1200px)rotateY(28deg)}}.reduced-motion .binder .pager-grid{animation:none}.binder-pocket{cursor:pointer;perspective:700px;background:#ffffff12;border:0;border-radius:8px;min-width:0;min-height:0;padding:4px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff1f}.binder-card{transform-style:preserve-3d;transition:transform .46s var(--ease);display:grid;position:relative}.binder-pocket[data-flipped=true] .binder-card{transform:rotateY(180deg)}.binder-front,.binder-back{backface-visibility:hidden;grid-area:1/1}.binder-back{place-items:center;display:grid;transform:rotateY(180deg);container-type:size}.binder-back .card{--card-w:min(100cqw, 71cqh)}.reduced-motion .binder-card{transition:none}.binder-status{font-size:max(var(--fs-min), .8em);color:var(--ink-faint);align-items:center;gap:4px;display:inline-flex}.binder-status.owned{color:var(--sage-text)}.binder-status .icon{width:14px;height:14px}.binder-artist{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-weight:700;overflow:hidden}.gallery-head{flex-wrap:wrap;row-gap:4px}.story-art{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;height:auto;display:block}.story-art-missing{border:1.5px dashed var(--ink-faint);border-radius:var(--radius-xs);width:100%;max-width:160px;color:var(--ink-soft);text-align:center;background:repeating-linear-gradient(45deg,#0000 0 8px,#7f7f7f1f 8px 16px);place-items:center;padding:4px;display:inline-grid}.story-art-missing small{font-size:max(var(--fs-min), .7em);letter-spacing:var(--label-track);text-transform:uppercase;font-weight:800}.toast-medal-art{min-width:60px;min-height:60px}.achievement-medal{min-width:60px}.achievement-tile.earned .medal{filter:drop-shadow(0 0 5px #d8ae5b80)}.scene-portrait,.versus-portrait,.mini-portrait{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--who) 45%, transparent), transparent 70%), var(--surface-2);border:2px solid var(--gold-line);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--gold) 25%, transparent);flex:none;place-items:end center;display:grid;position:relative;overflow:hidden}.scene-portrait .portrait-art,.versus-portrait .portrait-art,.mini-portrait .portrait-art{object-fit:cover;object-position:50% 12%;width:100%;height:100%}.scene-portrait .portrait-art,.versus-portrait .portrait-art{object-fit:contain;object-position:center bottom}.portrait-monogram{font-family:var(--font-display);color:#fff8ee;text-shadow:0 1px 2px #0006;align-self:center;font-size:1.6em;font-weight:800}.no-art{background:var(--who);place-items:center}.scene-portrait .avatar,.versus-portrait .avatar{--size:100%;width:100%;height:100%}.mini-portrait{border-width:1.5px;border-radius:50%;width:28px;height:28px}.mini-portrait .portrait-monogram{font-size:max(var(--fs-min), .8em)}.mini-portrait .avatar{--size:28px}.world-map{border-radius:var(--radius-m);min-height:0;box-shadow:inset 0 0 0 1px #6e4c2459, inset 0 0 26px #5a3c1440, var(--elev-2);background:radial-gradient(at 50% 40%,#0000 55%,#50341447),repeating-linear-gradient(115deg,#785a320d 0 2px,#0000 2px 9px),linear-gradient(#efe0bd,#e2cc9c);flex:1;padding:10px;position:relative;container:world-map/size}.map-compass{opacity:.55;pointer-events:none;width:54px;height:auto;position:absolute;bottom:6px;right:8px}.map-trail{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:100%;margin:0;padding:0;list-style:none;display:grid}@container world-map (aspect-ratio>=4/3){.map-trail{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr))}}.map-stop{min-width:0;min-height:0;display:flex}.map-tile{border-radius:var(--radius-s);color:#3a2814;min-width:0;min-height:0;font:inherit;cursor:pointer;transition:transform var(--dur-fast) var(--ease-press), box-shadow var(--dur-fast), border-color var(--dur-fast);background:#fffaeb73;border:1.5px solid #6e4c2459;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;display:flex;position:relative}.map-tile:active{transform:scale(.97)}.map-tile:focus-visible{outline-offset:2px;outline:3px solid #3a2814}.map-tile-art{flex:1;place-items:center;width:100%;min-height:0;display:grid;position:relative}.map-tile-art>img,.map-place-fallback{object-fit:contain;filter:drop-shadow(0 3px 3px #3c230a4d);width:auto;max-width:100%;height:auto;max-height:100%}.map-place-fallback{aspect-ratio:1;background:var(--tint);border-radius:12px;width:70%}.map-badge{width:clamp(20px,22%,34px);position:absolute;top:0;right:0}.map-badge-art{filter:drop-shadow(0 1px 2px #00000059);width:100%;height:auto}.map-num{color:#f6e7bf;width:22px;height:22px;font-weight:900;font-size:max(var(--fs-min), .78em);background:#2f4a33;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;left:4px;box-shadow:0 0 0 1.5px #c9a248}.map-name{max-width:100%;font-family:var(--font-display);font-weight:800;font-size:clamp(var(--fs-min), 2.6vmin, 14px);text-align:center;-webkit-hyphens:manual;hyphens:manual;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;line-height:1.1;display:-webkit-box;overflow:hidden}.map-state{font-size:max(var(--fs-min), .66em);letter-spacing:.04em;text-transform:uppercase;color:#6b5233;font-weight:800}.map-pips{gap:3px;display:flex}.map-pips i{background:#6e4c244d;border-radius:1.5px;width:7px;height:7px;transform:rotate(45deg)}.map-pips i.on{background:#b5832a}.map-stop.available .map-tile{background:#fff8e1bf;border-color:#b5832a;box-shadow:0 0 0 2px #c9a24859}.map-stop.current .map-tile{box-shadow:0 0 0 2px #c9a248}.map-stop.current .map-tile:after{content:"";border-radius:inherit;pointer-events:none;animation:2.4s ease-in-out infinite map-glow;position:absolute;inset:-2px;box-shadow:0 0 18px #c9a248b3}@keyframes map-glow{50%{opacity:.25}}.map-stop.completed .map-tile{border-color:#2f4a3399}.map-stop.locked .map-tile-art>img{filter:grayscale(.85)brightness(.9);opacity:.75}.map-stop.locked .map-tile,.map-stop.undiscovered .map-tile{cursor:not-allowed;background:#fffaeb40}.map-stop.undiscovered .map-tile{border-style:dashed}.map-mystery{object-fit:contain;opacity:.7;width:52%;max-height:100%}.map-stop.undiscovered .map-name{opacity:.75;font-style:italic;font-weight:700}.chapter-hero-art{aspect-ratio:1;border-radius:var(--radius-m);background:radial-gradient(circle, color-mix(in srgb, var(--tint) 40%, transparent), transparent 70%);flex:none;place-items:center;width:clamp(72px,22vmin,120px);display:grid;position:relative}.chapter-hero-art>img{object-fit:contain;max-width:100%;max-height:100%}.chapter-hero-art .story-art-label{white-space:nowrap;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.challenge-card .tile-body{min-width:0}.challenge-meta{align-items:center;gap:8px;margin-top:2px;display:flex}.challenge-opponents{display:flex}.challenge-opponents>*+*{margin-left:-8px}.challenge-rewards{font-size:max(var(--fs-min), .78em);color:var(--ink-soft);gap:8px;font-weight:800;display:flex}.challenge-rewards>span{align-items:center;gap:2px;display:inline-flex}.challenge-rewards .icon{width:13px;height:13px;color:var(--gold-deep)}.challenge-state{border-radius:var(--radius-pill);font-size:max(var(--fs-min), .74em);letter-spacing:.06em;text-transform:uppercase;background:var(--gold-soft);color:var(--gold-deep);border:1px solid var(--gold-line);margin-left:auto;padding:3px 10px;font-weight:900}.challenge-state.replay{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success-text);border-color:color-mix(in srgb, var(--success) 40%, transparent)}.challenge-state.locked{color:var(--ink-faint);border-color:var(--border);background:0 0}[data-theme=night] .challenge-state:not(.replay):not(.locked){color:var(--gold-text)}.dialog-scene{width:min(560px,100%)}.scene{flex-direction:column;gap:8px;display:flex;container:scene/inline-size}.scene-stage{overscroll-behavior:contain;cursor:pointer;border-radius:var(--radius-m);-webkit-user-select:none;user-select:none;min-height:clamp(120px,26vh,190px);max-height:min(56vh,420px);display:flex;overflow-y:auto}.scene-stage:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.scene-beat{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.scene-beat.enter{animation:scene-in .22s var(--ease)}@keyframes scene-in{0%{opacity:0;transform:translateY(6px)}}.scene-portrait{aspect-ratio:1;border-radius:46% 46% 12px 12px;width:clamp(96px,26vmin,148px)}.scene-beat.enter .scene-portrait{animation:portrait-pop .26s var(--ease-spring)}@keyframes portrait-pop{0%{transform:scale(.94)}}.scene-main{flex-direction:column;flex:1;align-self:stretch;gap:4px;min-width:0;display:flex}.scene-box{border-radius:var(--radius-m);color:#f3ead5;background:linear-gradient(160deg,#1f3a2c,#15281f);border:2px solid #b8913f;flex-direction:column;flex:1;justify-content:flex-start;align-self:stretch;gap:6px;min-width:0;padding:10px 14px 12px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffe6a02e}.scene-nameplate{color:#3a2814;background:linear-gradient(#f3e3b5,#dcc387);border:1.5px solid #8a6424;border-radius:6px;flex-wrap:wrap;align-self:flex-start;align-items:baseline;column-gap:6px;max-width:100%;padding:2px 10px;display:flex;box-shadow:0 2px 4px #00000040}.scene-nameplate strong{font-family:var(--font-display);font-size:.95em}.scene-nameplate small{font-size:max(var(--fs-min), .72em);color:#5a4220;font-weight:700}.scene-text{overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;margin:0;font-size:clamp(15px,2.2vmin + 6px,17px);line-height:1.5}.scene-beat.is-narration .scene-box{color:#3a2814;text-align:center;background:linear-gradient(#f5ead0,#e8d6ab);border-color:#6e4c2480;padding:14px 16px}.scene-beat.is-narration .scene-text{font-style:italic}.scene-draft{font-size:max(var(--fs-min), .66em);letter-spacing:var(--label-track);text-transform:uppercase;opacity:.7;border:1px dashed;border-radius:4px;align-self:flex-end;padding:1px 6px;font-weight:900}.scene-found{border-radius:var(--radius-s);text-align:left;background:#ffffff59;border:1px solid #6e4c2459;align-items:center;gap:8px;margin-top:4px;padding:6px 8px;display:flex}.scene-beat.is-speech .scene-found{background:#ffffff14;border-color:#ffe6a04d}.scene-found img{object-fit:contain;width:44px;height:44px}.scene-found small{font-size:max(var(--fs-min), .7em);letter-spacing:var(--label-track);text-transform:uppercase;opacity:.8;font-weight:800;display:block}.scene-controls{justify-content:center;align-items:center;gap:12px;display:flex}.scene-nav{border:1.5px solid var(--gold-line);background:var(--surface-2);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}.scene-nav:disabled{opacity:.35;cursor:default}.scene-next{border-radius:var(--radius-pill);width:auto;font:inherit;background:var(--surface);border-color:var(--gold);align-items:center;gap:2px;padding:0 14px 0 18px;font-weight:800;display:inline-flex}.scene-count{text-align:center;min-width:4em;font-size:max(var(--fs-min), .8em);color:var(--ink-faint);font-variant-numeric:tabular-nums;font-weight:800}.dialog-versus{width:min(520px,100%)}.versus{flex-direction:column;gap:12px;display:flex}.versus-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);align-items:center;gap:8px;display:grid}.versus.solo .versus-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.versus-side{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.versus-you{animation:versus-left .32s var(--ease-spring)}.versus-them-group{animation:versus-right .32s var(--ease-spring);justify-content:center;gap:6px;display:flex}@keyframes versus-left{0%{opacity:0;transform:translate(-24px)}}@keyframes versus-right{0%{opacity:0;transform:translate(24px)}}.versus-you-mark{aspect-ratio:1;background:radial-gradient(circle,#c9a2484d,#0000 70%);border-radius:50%;place-items:center;width:clamp(72px,20vmin,110px);display:grid}.you-crest{width:80%;height:auto}.versus-portrait{aspect-ratio:1;border-radius:46% 46% 12px 12px;width:clamp(84px,24vmin,124px);max-width:100%}.versus-them-group.n2,.versus-them-group.n3{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:start;display:grid}.versus-them-group.n2 .versus-portrait{width:clamp(56px,17vmin,96px)}.versus-them-group.n3 .versus-portrait{width:clamp(48px,14vmin,80px)}.versus-name{max-width:100%;font-family:var(--font-display);text-align:center;overflow-wrap:anywhere;font-size:.92em;line-height:1.2}.versus-them-group.n2 .versus-name,.versus-them-group.n3 .versus-name{font-size:max(var(--fs-min), .8em);overflow-wrap:normal}.versus-vs{font-family:var(--font-display);color:var(--gold-text);text-shadow:0 2px #00000040;font-size:1.8em;font-weight:900}.versus-info{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.versus-game{font-size:max(var(--fs-min), .78em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--gold-deep);font-weight:900}[data-theme=night] .versus-game{color:var(--gold-text)}.versus-table{color:var(--ink-faint);align-items:center;gap:8px;display:flex}.versus-deck{--card-w:34px;display:inline-flex}.versus-solo .versus-deck{--card-w:clamp(54px, 16vmin, 80px)}.journal{border-radius:var(--radius-m);min-height:0;box-shadow:inset 0 0 0 1px #6e4c2459, var(--elev-2);color:#3a2814;background:linear-gradient(90deg,#5a3c141f,#0000 6% 94%,#5a3c141f),linear-gradient(#f4e8cb,#e9d7ab);flex:1;display:flex;position:relative}.journal .tile,.journal-objective{--ink:#3a2814;--ink-soft:#5b4426;--ink-faint:#7d6440}.journal-book-art{opacity:.5;pointer-events:none;width:64px;height:auto;position:absolute;top:6px;right:8px}.journal-page{flex:1;gap:8px;min-width:0;min-height:0;padding:10px}.journal-objective{padding:8px 10px;border-radius:var(--radius-s);background:#ffffff59;border:1px solid #6e4c2459;align-items:center;gap:8px;padding-right:70px;display:flex}.journal-objective p{margin:0}.journal-objective small{font-size:max(var(--fs-min), .7em);letter-spacing:var(--label-track);text-transform:uppercase;color:#8a6424;font-weight:900;display:block}.journal-objective-icon{flex:none;width:34px;height:auto}.journal .tile{color:#3a2814;background:#fffcf0b3;border-color:#6e4c244d}.journal-count,.journal-empty{font-size:max(var(--fs-min), .85em);color:#6b5233;margin:0;font-weight:700}.clue-tile{text-align:center;flex-direction:column;justify-content:flex-start;gap:4px;padding:8px}.clue-tile.key{box-shadow:inset 0 0 0 1.5px #b5832a99}.clue-art{flex:1;place-items:center;width:100%;min-height:0;display:grid}.clue-art img{object-fit:contain;max-width:100%;max-height:100%}.clue-blank{aspect-ratio:1;background:#6e4c2426;border-radius:50%;place-items:center;width:48px;display:grid}.clue-tile .tile-title{font-size:max(var(--fs-min), .86em)}.journal-chapter{text-align:left;font:inherit;color:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;overflow:hidden}.journal-summary{font-size:max(var(--fs-min), .86em);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:none;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.scene-tile{text-align:left;gap:10px;padding:8px 12px}.dialog-clue{width:min(560px,100%)}.clue-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:14px;display:grid}.clue-detail-art{place-items:center;max-height:46vh;display:grid}.clue-detail-art img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:46vh}.clue-detail-meta{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;display:flex}@media (max-width:480px){.clue-detail{grid-template-columns:1fr}.clue-detail-art,.clue-detail-art img{max-height:30vh}}.dialog-story-result .story-result{text-align:left;flex-direction:row;align-items:center;gap:14px;padding-block:12px;display:flex}.result-art{aspect-ratio:1;flex:none;place-items:center;width:clamp(72px,20vmin,110px);display:grid;position:relative}.result-fx{object-fit:contain;opacity:.85;width:124%;height:124%;animation:result-spin 1.2s var(--ease) both;position:absolute;inset:-12%}@keyframes result-spin{0%{opacity:0;transform:scale(.6)rotate(-20deg)}}.result-emblem{filter:drop-shadow(0 3px 4px #0000004d);width:78%;height:auto;position:relative}.result-loss .result-emblem{filter:grayscale(.4)drop-shadow(0 3px 4px #0000004d)}.result-text{flex-direction:column;gap:4px;min-width:0;display:flex}.result-title{font-family:var(--font-display);margin:0;font-size:1.15em;font-weight:800}.result-stamp{color:var(--success-text);align-items:center;gap:6px;margin:0;font-weight:800;display:flex}.story-rewards li .reward-art{object-fit:contain;width:22px;height:22px}@media (max-width:420px){.dialog-story-result .story-result{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:4px 12px;padding-block:6px;display:grid}.dialog-story-result .result-text{display:contents}.dialog-story-result .result-art{grid-row:1/span 2;width:64px}.dialog-story-result .result-text>:not(.tile-kicker):not(.result-title){grid-column:1/-1}.dialog-story-result .result-text>.tile-kicker{align-self:end}.dialog-story-result .result-text>.result-title{align-self:start}}@media (max-width:420px) and (max-height:620px){.dialog-story-result .story-result{grid-template-columns:48px minmax(0,1fr);padding-block:0}.dialog-story-result .result-art{width:48px}.dialog-story-result .story-rewards ul{font-size:max(var(--fs-min), .86em);gap:3px 4px}.dialog-story-result .story-rewards li{padding-block:1px}}.passport-stamps-wrap{flex-direction:column;align-items:center;gap:4px;display:flex}.stamp.has-art{box-shadow:none;background:0 0;border-color:#0000}.stamp.has-art img{object-fit:contain;width:100%;height:100%;transform:rotate(-8deg)}.stamp small{font-size:max(var(--fs-min), .7em);opacity:.6}.stamp.big.earned img{object-fit:contain;width:100%;height:100%}.passport-legacy{font-size:max(var(--fs-min), .72em);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;margin:0;display:flex}.passport-legacy small{color:var(--ink-faint);font-weight:800}.legacy-stamp{border-radius:var(--radius-pill);border:1px dashed var(--gold-line);color:var(--ink-soft);padding:1px 8px}@media (prefers-reduced-motion:reduce){.scene-beat.enter,.scene-beat.enter .scene-portrait,.versus-you,.versus-them-group,.result-fx,.map-stop.current .map-tile:after{animation:none}}.reduced-motion .map-stop.current .map-tile:after{animation:none}.chapter-hero{grid-template-columns:auto minmax(0,1fr);align-items:center}.passport .stamp.earned.has-art{width:32px;height:32px}.journal-page>.tabs,.journal-clues,.journal-clues>.pager{flex:1;min-height:0}@media (max-width:520px){.story-journal-btn .btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.story-journal-btn{min-width:44px;padding-inline:10px}}@media (orientation:landscape) and (max-height:520px){.scene-stage{min-height:0}.scene-portrait{width:clamp(64px,18vh,96px)}.dialog-scene .story-brief{flex-flow:wrap;align-items:center;gap:4px 12px}.dialog-scene .story-brief .story-rewards ul{flex-wrap:nowrap}.dialog-versus{width:min(680px,100%)}.versus{flex-direction:row;align-items:center}.versus-row{flex:1.4}.versus-info{flex:1}.versus-portrait,.versus-you-mark{width:clamp(60px,22vh,96px)}}.map-tile-art>img,.clue-art>img{object-fit:contain;width:100%;max-width:none;height:100%;max-height:none;position:absolute;inset:0}.map-tile-art>.map-mystery{width:84%;height:84%;inset:8%}.clue-art{position:relative}.story-hint{font-size:max(var(--fs-min), .82em);color:var(--ink-faint);margin:0}@media (orientation:landscape) and (max-height:520px){.result-art{width:60px}.dialog-story-result .story-rewards ul,.chapter-complete .story-rewards ul{font-size:max(var(--fs-min), .86em);gap:3px 4px}.chapter-complete{text-align:left;flex-direction:row;align-items:center}.chapter-complete .stamp.big{flex:none;width:44px;height:44px;margin:0}.chapter-complete>.story-rewards{display:none}.dialog-story-result .story-rewards li,.chapter-complete .story-rewards li{padding-block:1px}}.story-notes{flex-wrap:wrap;gap:4px;display:flex}.dialog-notes{width:min(520px,100%)}.info-cards{flex-direction:column;gap:10px;display:flex}.info-card{border-radius:var(--radius-s);background:var(--surface-2);border:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.info-card.note{border-style:dashed}.info-art{flex:none;width:56px}.info-art img{object-fit:contain;width:100%;height:auto}.info-text{flex-direction:column;gap:2px;min-width:0;display:flex}.info-text p{margin:0;line-height:1.45}.info-source{font-size:max(var(--fs-min), .78em);color:var(--ink-faint)}.dialog-continues{width:min(560px,100%)}.continues{align-items:center;gap:14px;display:flex}.continues-art{aspect-ratio:1;border-radius:var(--radius-m);width:clamp(110px,32vmin,180px);animation:continues-in .6s var(--ease) both;background:radial-gradient(circle,#b56ad859,#0000 70%);flex:none;place-items:center;display:grid;position:relative}.continues-place{object-fit:contain;filter:drop-shadow(0 0 12px #b56ad880);width:100%;height:100%}.continues-host{aspect-ratio:3/4;border-radius:46% 46% 10px 10px;width:38%;position:absolute;bottom:-6px;right:-6px}@keyframes continues-in{0%{opacity:0;transform:scale(.92)}}.continues-text{flex-direction:column;gap:4px;min-width:0;display:flex}.continues-text p{margin:0}.continues-title{font-family:var(--font-display);font-size:1.3em;font-weight:800}.continues-soon{font-size:max(var(--fs-min), .86em);color:var(--ink-faint)}@media (max-width:480px){.continues{text-align:center;flex-direction:column}}@media (prefers-reduced-motion:reduce){.continues-art{animation:none}}.map-stop.preview .map-tile{background:#fffaeb8c;border-style:dashed;border-color:#b56ad899}.map-stop.preview .map-tile-art>img:not(.map-badge-art){filter:saturate(.6)drop-shadow(0 0 8px #b56ad873)}.map-stop.preview .map-state{color:#7a3f99}.vfx-layer{z-index:70;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.vfx{object-fit:contain;opacity:0;will-change:transform, opacity;animation:vfx-pop 1.1s var(--ease) forwards;position:absolute}.vfx-spectral{animation-name:vfx-drift;animation-duration:1.5s}.vfx-unlock{animation-name:vfx-spin}@keyframes vfx-pop{0%{opacity:0;transform:scale(.5)}30%{opacity:.95}to{opacity:0;transform:scale(1.15)}}@keyframes vfx-spin{0%{opacity:0;transform:scale(.6)rotate(-40deg)}35%{opacity:.9}to{opacity:0;transform:scale(1.1)rotate(20deg)}}@keyframes vfx-drift{0%{opacity:0;transform:translateY(10px)scale(.9)}40%{opacity:.55}to{opacity:0;transform:translateY(-24px)scale(1.05)}}.result-portrait{aspect-ratio:3/4;border-radius:46% 46% 10px 10px;width:76%;position:relative}.low-effects .vfx-layer,.low-effects .result-fx,.reduced-motion .vfx-layer{display:none}.low-effects .map-stop.current .map-tile:after,.low-effects .scene-beat.enter,.low-effects .scene-beat.enter .scene-portrait,.low-effects .versus-you,.low-effects .versus-them-group,.low-effects .continues-art,.low-effects .stamp.big{animation:none}.low-effects .map-tile-art>img,.low-effects .continues-place{filter:none}.avatar[data-art=story] img{object-fit:cover;object-position:50% 15%}.dialog-suit-puzzle{width:min(480px,100%)}.suit-puzzle{text-align:center;justify-items:center;gap:14px;display:grid}.suit-prompt{color:var(--ink-soft);margin:0;font-style:italic}.suit-slots{grid-template-columns:repeat(4,minmax(0,64px));gap:10px;display:grid}.suit-slot{aspect-ratio:3/4;border-radius:var(--radius-s,8px);border:2px dashed color-mix(in srgb, var(--gold) 55%, transparent);background:var(--surface-sunk);place-items:center;font-size:1.9em;line-height:1;display:grid}.suit-slot.filled{border-style:solid;border-color:var(--gold);background:var(--surface);animation:suit-set .26s var(--ease) both}.suit-marks{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;display:grid}.suit-mark{border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface);min-height:64px;color:var(--ink);font:inherit;cursor:pointer;transition:transform var(--dur-fast) var(--ease-press), opacity var(--dur-fast);justify-items:center;gap:2px;padding:8px 4px;display:grid}.suit-mark:active{transform:scale(.95)}.suit-mark:disabled{opacity:.35;cursor:default}.suit-glyph{font-size:1.8em;line-height:1}.suit-name{font-size:max(var(--fs-min), .78em);color:var(--ink-soft);font-weight:700}.suit-hearts .suit-glyph,.suit-diamonds .suit-glyph,.suit-slot.suit-hearts,.suit-slot.suit-diamonds{color:#c0392b}.suit-mark:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@keyframes suit-set{0%{opacity:0;transform:scale(.7)}}.reduced-motion .suit-slot.filled{animation:none}.story-finished{border-radius:var(--radius-m);border:1px solid color-mix(in srgb, var(--gold) 50%, transparent);background:color-mix(in srgb, var(--gold) 12%, var(--surface));color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 12px;display:flex}.story-finished-text{align-items:center;gap:8px;margin:0;font-weight:800;display:inline-flex}.story-finished-text .icon{width:18px;height:18px;color:var(--gold-text)}.story-finished-actions{gap:8px;display:flex}.dialog-rematches{width:min(520px,100%)}.rematch-list{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.rematch{align-items:center;gap:12px;display:flex}.rematch-portrait{aspect-ratio:3/4;border-radius:46% 46% 10px 10px;flex:none;width:56px}.rematch-text{gap:2px;display:grid}.rematch-text small{color:var(--ink-soft)}@media (max-height:500px){.dialog-suit-puzzle{width:min(620px,100%)}.suit-puzzle{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px 14px}.suit-prompt{grid-column:1/-1;font-size:.92em}.suit-slots{grid-template-columns:repeat(4,minmax(0,44px));gap:6px}.suit-slot{font-size:1.4em}.suit-marks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.suit-mark{grid-auto-flow:column;align-items:center;gap:6px;min-height:44px;padding:4px 8px}.suit-glyph{font-size:1.3em}.suit-tools{grid-area:3/1}.suit-clues{grid-area:3/2}.suit-clues small{display:none}}@media (min-height:760px){.scene{--phone-portrait:88px}}@media (max-height:600px){.scene{--phone-portrait:60px}}@container scene (width<=420px){.scene-beat.is-speech{grid-template-columns:var(--phone-portrait,72px) minmax(0, 1fr);align-items:end;gap:6px 10px;display:grid}.scene-beat.is-speech .scene-portrait{width:var(--phone-portrait,72px);grid-row:1}.scene-beat.is-speech .scene-main{display:contents}.scene-beat.is-speech .scene-nameplate{grid-area:1/2;align-self:center}.scene-beat.is-speech .scene-box{grid-area:2/1/auto/-1}}@media (orientation:landscape) and (max-height:520px){.dialog-scene{width:min(760px,100%)}.dialog-scene .scene:has(>:not(.scene-stage):not(.scene-controls)){grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:6px 16px;display:grid}.dialog-scene .scene>.scene-stage,.dialog-scene .scene>.scene-controls{grid-column:1}.dialog-scene .scene>:not(.scene-stage):not(.scene-controls){grid-area:1/2/span 2;align-self:center}.scene-stage{max-height:calc(var(--app-h) - 170px)}.dialog-story-result,.dialog-rematches{width:min(720px,100%)}.rematch-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rematch-portrait{width:44px}}@media (max-height:700px){.chapter-complete>.story-rewards{display:none}.chapter-complete .stamp.big{width:56px;height:56px}}@media (max-width:420px){.dialog-story-result .story-rewards ul{gap:4px}}.journal-chapter .tile-meta{margin-top:auto}.journal-chapter{container:journal-card/size}@container journal-card (height<=170px){.journal-summary{-webkit-line-clamp:2;line-clamp:2}}@container journal-card (height<=138px){.journal-summary{-webkit-line-clamp:1;line-clamp:1}}@container journal-card (height<=112px){.journal-summary{display:none}}.dialog-summary .summary-detail{color:var(--ink);gap:8px;line-height:1.55;display:grid}.dialog-summary .summary-detail p{margin:0}@media (max-width:400px){.map-name{font-family:var(--font-body);letter-spacing:-.01em;font-weight:900}}.journal-read{font-weight:800;font-size:max(var(--fs-min), .8em);color:var(--accent-text);align-items:center;margin-left:auto;display:inline-flex}.journal-read .icon{width:14px;height:14px}.journal-chapter .tile-meta{width:100%}:root[data-story-place=th-1]{--pl-deep:#241a12;--pl-mid:#33261b;--pl-accent:#d9ae62;--pl-accent-day:#7a5520;--pl-paper:#d9b98a;--pl-box:#3a2a1c;--pl-box-2:#2a1d13;--pl-box-line:#c9a46a;--pl-narr:#f5ead0;--pl-narr-2:#e8d6ab;--pl-texture:repeating-linear-gradient(0deg, #ffecc806 0 1px, transparent 1px 4px)}:root[data-story-place=th-2]{--pl-deep:#12211b;--pl-mid:#1c2f26;--pl-accent:#a2cf9f;--pl-accent-day:#3c6943;--pl-paper:#a9c9a4;--pl-box:#1f3a2c;--pl-box-2:#15281f;--pl-box-line:#8fb88a;--pl-narr:#eef0dc;--pl-narr-2:#dce3c3;--pl-texture:repeating-linear-gradient(172deg, #a0d2aa0d 0 2px, transparent 2px 26px)}:root[data-story-place=th-3]{--pl-deep:#170e22;--pl-mid:#251839;--pl-accent:#e79cff;--pl-accent-day:#7f2d9c;--pl-paper:#d9c3ef;--pl-box:#221536;--pl-box-2:#170e26;--pl-box-line:#c46cf0;--pl-box-glow:0 0 0 1px #5fe3ff66, 0 0 10px #c46cf040;--pl-narr:#f3edf8;--pl-narr-2:#e3d8ef;--pl-texture:radial-gradient(circle, #5fe3ff0f 1px, transparent 1.5px) 0 0 / 18px 18px}:root[data-story-place=th-4]{--pl-deep:#0c1d17;--pl-mid:#13302a;--pl-accent:#e3c46a;--pl-accent-day:#6a5714;--pl-paper:#9fcdb5;--pl-box:#10372b;--pl-box-2:#0b261e;--pl-box-line:#d4af37;--pl-narr:#f5ead0;--pl-narr-2:#e8d6ab;--pl-texture:repeating-linear-gradient(45deg, #78d2aa08 0 1px, transparent 1px 6px)}:root[data-story-place=th-5]{--pl-deep:#1c1d14;--pl-mid:#2b2c1e;--pl-accent:#cbc47e;--pl-accent-day:#5a5520;--pl-paper:#c9c394;--pl-box:#2f3021;--pl-box-2:#202116;--pl-box-line:#a8a35e;--pl-narr:#efe2b8;--pl-narr-2:#e0cd96;--pl-texture:repeating-linear-gradient(0deg, #cdc6820d 0 1px, transparent 1px 28px)}:root[data-story-place=th-6]{--pl-deep:#121a2c;--pl-mid:#1c2741;--pl-accent:#dcc683;--pl-accent-day:#665620;--pl-paper:#b9c3dc;--pl-box:#1d2a48;--pl-box-2:#141d33;--pl-box-line:#c8b273;--pl-narr:#f5ead0;--pl-narr-2:#e8d6ab;--pl-texture:repeating-conic-gradient(#dcc68309 0 25%, transparent 0 50%) 0 0 / 36px 36px}:root[data-story-place=th-7]{--pl-deep:#271f2d;--pl-mid:#352b3c;--pl-accent:#e6c680;--pl-accent-day:#74561a;--pl-paper:#e8dccb;--pl-box:#3b3042;--pl-box-2:#2b2231;--pl-box-line:#d4b26a;--pl-narr:#f8f3ea;--pl-narr-2:#ece3d3;--pl-texture:radial-gradient(ellipse 70% 40% at 50% -6%, #fff4de17, transparent 70%)}:root[data-story-place=th-8]{--pl-deep:#1d1411;--pl-mid:#2c201a;--pl-accent:#eba961;--pl-accent-day:#83461a;--pl-paper:#d6b8a2;--pl-box:#33241d;--pl-box-2:#241914;--pl-box-line:#c98a4a;--pl-narr:#efe1cc;--pl-narr-2:#dfc9a9;--pl-texture:repeating-linear-gradient(0deg, #00000029 0 2px, transparent 2px 20px)}:root[data-story-place=th-9]{--pl-deep:#0d1725;--pl-mid:#162538;--pl-accent:#acd9ff;--pl-accent-day:#2c5a85;--pl-paper:#b9d3ea;--pl-box:#17304a;--pl-box-2:#0f2034;--pl-box-line:#8cc4f0;--pl-narr:#eef4fa;--pl-narr-2:#dbe7f2;--pl-texture:radial-gradient(ellipse 80% 50% at 50% 0%, #acd9ff14, transparent 70%)}:root[data-story-place][data-theme=night]{--bg:var(--pl-deep);--bg-deep:color-mix(in srgb, var(--pl-deep), #000 30%);--surface:var(--pl-mid);--surface-2:color-mix(in srgb, var(--pl-mid), #fff 5%);--surface-sunk:color-mix(in srgb, var(--pl-mid), #000 22%);--border:color-mix(in srgb, var(--pl-accent) 20%, transparent);--gold-line:color-mix(in srgb, var(--pl-accent) 50%, transparent);--gold-text:var(--pl-accent);--place-accent:var(--pl-accent)}:root[data-story-place][data-theme=day]{--bg:color-mix(in srgb, var(--pl-paper) 32%, #efe4cf);--bg-deep:color-mix(in srgb, var(--pl-paper) 32%, #e3d3b6);--surface:color-mix(in srgb, var(--pl-paper) 14%, #fbf6ec);--surface-2:color-mix(in srgb, var(--pl-paper) 16%, #f4ead9);--surface-sunk:color-mix(in srgb, var(--pl-paper) 24%, #e9dcc4);--ink-faint:#62574b;--gold-line:color-mix(in srgb, var(--pl-accent-day) 45%, transparent);--gold-deep:var(--pl-accent-day);--gold-text:var(--pl-accent-day);--place-accent:var(--pl-accent-day)}:root[data-story-place] .story-root>[data-story-view=chapter]{background:var(--pl-texture,none)}:root[data-story-place] .chapter-hero-art{background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--pl-accent) 18%, transparent), transparent 72%), var(--surface-sunk);width:clamp(84px,26vmin,132px);box-shadow:inset 0 0 0 1px var(--gold-line), var(--elev-1)}:root[data-story-place] .chapter-hero p{color:var(--ink)}:root[data-story-place] .challenge-card{box-shadow:inset 3px 0 0 var(--place-accent), inset 0 1px 0 #ffffff0f, 0 var(--edge-size) 0 var(--edge), var(--elev-1)}:root[data-story-place] .challenge-card.locked{box-shadow:inset 3px 0 0 var(--border), 0 var(--edge-size) 0 var(--edge), var(--elev-1)}:root[data-story-place] .challenge-card .tile-kicker{color:var(--place-accent)}:root[data-story-place] .dialog{border-color:var(--gold-line)}:root[data-story-place] .scene-box{background:linear-gradient(160deg, var(--pl-box), var(--pl-box-2));border-color:var(--pl-box-line);box-shadow:inset 0 0 0 1px #fff0d21f, var(--pl-box-glow,0 0 0 transparent)}:root[data-story-place] .scene-beat.is-narration .scene-box{background:linear-gradient(var(--pl-narr), var(--pl-narr-2));border-color:color-mix(in srgb, var(--pl-box-line) 55%, #6e4c24);box-shadow:inset 0 0 0 1px #ffffff59}:root[data-story-place] .scene-portrait,:root[data-story-place] .versus-portrait,:root[data-story-place] .result-portrait{border-color:var(--gold-line)}:root.low-effects[data-story-place] .story-root>[data-story-view=chapter]{background:0 0}:root.low-effects[data-story-place] .scene-box{--pl-box-glow:0 0 0 transparent}.journal-recap{align-items:center}.recap-lines{flex:1;gap:2px;min-width:0;display:grid}.journal-recap .recap-head{margin-bottom:1px}.recap-line{font-size:max(var(--fs-min), .86em);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.3;display:-webkit-box;overflow:hidden}.recap-label{color:#8a6424;margin-right:6px;font-weight:900}.recap-link{font:inherit;color:inherit;text-underline-offset:2px;cursor:pointer;vertical-align:middle;background:0 0;border:0;align-items:center;min-height:28px;padding:0;font-weight:800;text-decoration:underline;display:inline-flex}.recap-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.journal-recap>.btn{flex:none}@media (max-height:640px){.recap-line{-webkit-line-clamp:1;line-clamp:1}}@media (max-height:560px){.journal-recap [data-recap-question]{display:none}}.story-next{border-radius:var(--radius-m);border:1px solid color-mix(in srgb, var(--gold) 50%, transparent);background:color-mix(in srgb, var(--gold) 10%, var(--surface));color:var(--ink);align-items:center;gap:8px 12px;padding:8px 12px;display:flex}.story-next-text{flex:1;gap:1px;min-width:0;margin:0;display:grid}.story-next-text small{font-size:max(var(--fs-min), .72em);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--gold-text);font-weight:900}.story-next-text strong{font-size:.95em;line-height:1.25}.story-next-pays{font-size:max(var(--fs-min), .8em);color:var(--ink-soft)}.story-next>.btn{flex:none}@media (max-height:640px){.story-next-pays{display:none}}.clue-reading{margin:6px 0 0}.clue-related{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:8px;display:flex}.clue-related small{letter-spacing:var(--label-track);text-transform:uppercase;font-weight:900;font-size:max(var(--fs-min), .7em);color:var(--ink-faint)}.clue-related .recap-link{min-height:32px}.suit-clues{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;display:flex}.suit-clues small{text-align:center;width:100%;letter-spacing:var(--label-track);text-transform:uppercase;font-weight:900;font-size:max(var(--fs-min), .7em);color:var(--ink-faint)}.journal-recap [data-recap-clue]{align-items:center;gap:0 6px;min-width:0;display:flex}.journal-recap [data-recap-clue] .recap-label{flex:none;margin-right:0}.journal-recap [data-recap-clue] .recap-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:28px;display:block;overflow:hidden}.journal-recap{flex-wrap:wrap}.journal-recap .recap-lines{flex:190px}.journal-recap>.btn{margin-left:auto}
