:root{--bg: #f6efe9;--surface: #fffaf6;--surface-2: #efe3d9;--text: #2a1a14;--muted: #5f4a40;--accent: #b93c09;--accent-text: #fff;--ok: #15803d;--warn: #b45309;--danger: #b91c1c;--border: #e3d3c6;--aquifer: #3b82f6;--biome: #16a34a;--colony: #6b7280;--special: #92400e;--land: #e8c9a8;--ocean-space: #cfe3f7;--shadow: 0 6px 24px rgba(42, 26, 20, .12);--radius: 14px;--tap: 44px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #140c0a;--surface: #1f1411;--surface-2: #2b1c17;--text: #f4e7df;--muted: #b39a8d;--accent: #f97316;--accent-text: #140c0a;--border: #3a2821;--land: #5a3a2a;--ocean-space: #1e3a5f;--shadow: 0 6px 24px rgba(0, 0, 0, .5);--warn: #f59e0b;--danger: #f87171;--ok: #4ade80;color-scheme:dark}}:root[data-theme=dark]{--bg: #140c0a;--surface: #1f1411;--surface-2: #2b1c17;--text: #f4e7df;--muted: #b39a8d;--accent: #f97316;--accent-text: #140c0a;--border: #3a2821;--land: #5a3a2a;--ocean-space: #1e3a5f;--shadow: 0 6px 24px rgba(0, 0, 0, .5);--warn: #f59e0b;--danger: #f87171;--ok: #4ade80;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit}.page{max-width:720px;margin:0 auto;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.row{display:flex;gap:8px;align-items:center}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}[hidden]{display:none!important}.stack{display:grid;gap:12px}.muted{color:var(--muted)}.small{font-size:13px}.card-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.btn{min-height:var(--tap);padding:0 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;font-weight:600}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.btn.danger{color:var(--danger)}.btn.block{width:100%}.btn.sm{min-height:34px;padding:0 10px;font-size:13px;border-radius:9px}input,select{min-height:var(--tap);border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 12px;font:inherit}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:26px}h2{font-size:19px}h3{font-size:16px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--surface-2);font-size:12px;font-weight:600;white-space:nowrap}.badge{background:var(--accent);color:var(--accent-text)}.list-item{display:flex;gap:10px;align-items:center;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.toast-host{position:fixed;left:0;right:0;top:calc(8px + env(safe-area-inset-top));display:grid;gap:8px;justify-items:center;z-index:50;pointer-events:none}.toast{pointer-events:auto;max-width:92vw;padding:10px 14px;border-radius:12px;background:var(--text);color:var(--bg);box-shadow:var(--shadow)}.toast.error{background:#b91c1c;color:#fff}.banner{padding:8px 12px;text-align:center;font-size:13px;background:#92400e;color:#fff}.ad-slot{border:1px dashed var(--border);border-radius:12px;min-height:90px;display:grid;place-items:center;color:var(--muted);font-size:12px}.game{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;grid-template-areas:"top" "hud" "stage" "ledger" "dock" "sheet";height:100dvh;overflow:hidden;--bg: #0f2327;--surface: #16343a;--surface-2: #1f454c;--text: #f2efe4;--muted: #b7c9c6;--border: #2b5560;--accent: #f0a73b;--accent-text: #1c1205;--shadow: 0 6px 24px rgba(0, 0, 0, .45);--warn: #f59e0b;--danger: #f87171;--ok: #4ade80;color-scheme:dark;color:var(--text);background:linear-gradient(160deg,#123036,#0f2327 55%,#0c1b1f)}.game input,.game select{background:var(--surface-2);color:var(--text);border-color:var(--border)}.topbar{grid-area:top;display:flex;gap:4px;align-items:center;padding:6px 8px;padding-top:calc(6px + env(safe-area-inset-top));background:#0c1b1f;border-bottom:1px solid var(--border)}.topbar .btn.sm{padding:0 8px;flex:none}.topbar .chip{flex:none}.topbar-title{font-weight:800;letter-spacing:.4px;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.param{display:grid;justify-items:center;min-width:40px;font-size:10px;color:var(--muted);flex:none}.param b{font-size:15px;color:var(--text)}.hud{grid-area:hud;display:flex;gap:10px;align-items:center;padding:4px 12px 0;overflow-x:auto}.cycle-badge{flex:none;width:52px;height:52px;display:grid;place-content:center;text-align:center;line-height:1;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--accent)}.cycle-badge small{font-size:8.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.cycle-badge b{font-size:20px;animation:pop .4s ease backwards}.dial{flex:none;display:grid;justify-items:center;gap:0;padding:0;border:0;background:none;color:var(--text);cursor:help}.dial-track{fill:none;stroke:#ffffff1f;stroke-width:6}.dial-fill{fill:none;stroke-width:6;stroke-linecap:round;transform:rotate(-90deg);transform-origin:28px 28px;stroke-dasharray:var(--dash);transition:stroke-dasharray .9s cubic-bezier(.3,1.2,.5,1)}.dial-o2 .dial-fill{stroke:#22d3ee}.dial-temp .dial-fill{stroke:#fb923c}.dial-lakes .dial-fill{stroke:#60a5fa}.dial-mark{fill:var(--surface);stroke:var(--muted);stroke-width:1.5}.dial-mark.hit{fill:var(--accent);stroke:var(--accent)}.dial-value{font-size:12px;font-weight:900;fill:var(--text);font-variant-numeric:tabular-nums}.dial.done .dial-value{fill:var(--ok)}.dial-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.ledger{grid-area:ledger;display:flex;align-items:stretch;gap:8px;min-height:0;overflow-x:auto;padding:4px 8px 6px}.players{flex:none;display:flex;gap:6px}.pchip{flex:0 0 auto;display:grid;gap:2px;padding:6px 10px 6px 14px;border-radius:12px;background:var(--surface);border:2px solid transparent;min-width:140px;text-align:left;cursor:pointer;position:relative;overflow:hidden;color:inherit;transition:border-color .2s ease,transform .2s ease;animation:slide-in .4s cubic-bezier(.2,.8,.3,1) backwards;animation-delay:var(--d, 0ms)}.pchip:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pc, var(--accent))}.pchip.active{border-color:var(--accent);animation:slide-in .4s cubic-bezier(.2,.8,.3,1) backwards,turn-glow 1.8s ease-in-out infinite}.pchip.passed{opacity:.72}.pname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you-tag{font-weight:600;color:var(--muted);font-size:12px}.pstate{color:var(--accent);margin-right:4px}.pchip.passed .pstate{color:var(--muted);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dock{flex:none;display:flex;align-items:stretch;gap:4px}.res{flex:1 0 48px;display:grid;justify-items:center;gap:2px;padding:4px 2px;border-radius:10px;background:var(--surface)}.res-prod{font-size:10px;font-weight:800;padding:0 6px;border-radius:6px;background:#f0a73b2e;color:#ffd27a}.res-amt{display:inline-flex;align-items:center;gap:3px;font-size:16px;font-variant-numeric:tabular-nums}.res-name{display:none}.bump{animation:bump .5s cubic-bezier(.3,1.8,.5,1);display:inline-block}.deck,.tableau-btn{flex:0 0 auto;display:grid;place-items:center;min-width:54px;border:0;border-radius:10px;color:#fff;cursor:pointer;transition:transform .15s ease}.deck{position:relative;background:linear-gradient(#0f766e,#134e4a);padding:4px 8px}.deck:hover,.tableau-btn:hover{transform:translateY(-2px)}.deck b{position:relative;font-size:20px;text-shadow:0 2px 0 rgba(0,0,0,.35)}.deck-cards{position:absolute;top:6px;bottom:6px;left:50%;width:34px;transform:translate(-50%)}.deck-cards i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;border:1.5px solid rgba(255,255,255,.5);transition:transform .2s ease}.deck-cards i:nth-child(1){transform:rotate(-9deg)}.deck-cards i:nth-child(3){transform:rotate(9deg)}.deck:hover .deck-cards i:nth-child(1){transform:rotate(-16deg) translate(-3px)}.deck:hover .deck-cards i:nth-child(3){transform:rotate(16deg) translate(3px)}.tableau-btn{background:var(--surface-2);line-height:1.1;padding:4px 8px}.tableau-btn small{font-size:10px;color:var(--muted);font-weight:700}.stage{grid-area:stage;position:relative;min-height:0;overflow:hidden;padding:0 8px}.stage>.board-wrap{position:absolute;top:0;right:8px;bottom:0;left:8px}.board-wrap{overflow:hidden;touch-action:none;position:relative;min-height:0}.board-wrap svg{width:100%;height:100%;display:block}.tile-pop{transform-box:fill-box;transform-origin:center;animation:pop .45s cubic-bezier(.3,1.8,.5,1) backwards}.sel-ring{animation:dash 1s linear infinite}.sheet-tabs{display:flex;gap:4px;margin-bottom:8px;overflow-x:auto}.sheet-tab{flex:none;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:800;font-size:12px;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;transition:background .15s ease}.sheet-tab:hover{background:var(--border)}.score-card{display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--surface-2)}.score-card.taken{box-shadow:inset 0 0 0 2px var(--accent)}.score-bars{display:grid;gap:4px}.score-bar{position:relative;height:22px;border-radius:6px;background:#ffffff0f;overflow:hidden}.score-fill{position:absolute;inset:0 auto 0 0;opacity:.55;transition:width .6s ease}.score-txt{position:relative;padding:0 8px;font-size:12px;line-height:22px}.station-card.inactive{opacity:.7}.meter{display:flex;gap:3px}.meter-step{flex:1;height:8px;border-radius:4px;background:#ffffff1a}.meter-step.on{background:#60a5fa}.meter-step.now{box-shadow:0 0 0 2px var(--accent)}.station-option{display:grid;gap:2px}.sheet{grid-area:sheet;background:var(--surface);border-top:1px solid var(--border);border-radius:18px 18px 0 0;box-shadow:var(--shadow);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));max-height:46dvh;overflow-y:auto}.sheet-handle{width:40px;height:5px;border-radius:3px;background:var(--border);margin:0 auto 8px}.option{display:block;width:100%;text-align:left;padding:10px 12px;min-height:var(--tap);border-radius:12px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer}.option.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cards{display:flex;gap:10px;overflow-x:auto;padding:10px 4px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.cards>*{scroll-snap-align:start}.cards.wrap-cards{flex-wrap:wrap;overflow:visible}.rcard{--w: clamp(168px, 47vw, 230px);--tc: #7a5c33;--tc-ink: #fff;--paper: #fbf3e4;--ink: #2a1a14;--cut: 11px;flex:0 0 var(--w);width:var(--w);aspect-ratio:63 / 88;position:relative;padding:0;margin:0;text-align:left;cursor:pointer;border:0;background:transparent;color:var(--ink);font:inherit;container-type:inline-size;filter:drop-shadow(0 3px 5px rgba(0,0,0,.22));transition:transform .15s ease,filter .15s ease}.rcard.t-automated{--tc: #0f766e}.rcard.t-active{--tc: #6d28d9}.rcard.t-event{--tc: #a84a06}.rcard.t-corporation{--tc: #2f3540}.rcard.t-headstart{--tc: #be123c}.rcard.t-standard_project,.rcard.t-standard_action{--tc: #7a5c33}.rc-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;overflow:hidden;background:var(--paper);grid-template-columns:clamp(15px,7cqw,22px) minmax(0,1fr) 0;grid-template-rows:auto auto minmax(0,30%) 1fr auto;clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%,0 var(--cut))}.rc-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 0 2px var(--tc)}.rc-frame.has-tags{grid-template-columns:clamp(15px,7cqw,22px) minmax(0,1fr) clamp(24px,14cqw,40px)}.rcard.t-corporation .rc-frame:after{box-shadow:inset 0 0 0 2px #d4a641,inset 0 0 0 4px var(--tc)}.rcard.compact{--w: 118px;--cut: 8px}.rcard.compact .rc-frame{grid-template-rows:auto auto minmax(0,1fr) auto auto}.rcard.selected{transform:translateY(-8px);filter:drop-shadow(0 10px 12px rgba(0,0,0,.32))}.rcard.selected .rc-frame:after{box-shadow:inset 0 0 0 3px var(--accent)}.rcard.disabled{filter:grayscale(.85) drop-shadow(0 3px 5px rgba(0,0,0,.22));opacity:.55;cursor:default}.rc-spine{grid-column:1;grid-row:1 / -1;background:var(--tc);color:var(--tc-ink);display:grid;place-items:center;padding:var(--cut) 0 6px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(8.5px,4cqw,12px);font-weight:800;text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.rcard.t-corporation .rc-spine{color:#f3d27a}.rc-head{grid-column:2 / -1;grid-row:1;position:relative;padding:5px 30px 4px 7px;min-height:28px;display:grid;align-content:center;background:linear-gradient(#fff8ec,#f3e7d2);border-bottom:1px solid rgba(0,0,0,.12)}.rc-name{font-size:clamp(12px,6cqw,20px);line-height:1.15;letter-spacing:.2px;color:var(--ink)}.rcard.compact .rc-name{font-size:10.5px}.rc-head{padding-right:7px}.rc-head:has(.rc-vp){padding-right:clamp(32px,18cqw,52px)}.rc-vp{position:absolute;top:0;right:10px;width:clamp(22px,13cqw,38px);height:clamp(26px,15cqw,44px);display:grid;place-items:start center;padding-top:clamp(3px,2cqw,7px);clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);background:#1f2937;color:#fcd34d;font-weight:900;font-size:clamp(11px,6.5cqw,19px);line-height:1}.rc-req{grid-column:2 / -1;grid-row:2;display:flex;align-items:center;gap:4px;min-width:0;padding:2px 6px;font-size:clamp(9px,4.4cqw,13px);font-weight:800;color:#5a3d14;background:#ecdfc3;border-bottom:1px solid rgba(0,0,0,.12)}.rc-req-ico{flex:none;width:11px;height:11px}.rc-req-txt{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-art{grid-column:2;grid-row:3;position:relative;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.15)}.rc-art-svg{width:100%;height:100%;display:block}.rc-text{grid-column:2;grid-row:4;min-height:0;overflow:hidden;padding:4px 6px 2px;display:grid;gap:3px;align-content:start;font-size:clamp(11px,6.4cqw,21px);line-height:1.32;color:var(--ink)}.rc-effect{background:#efe1c7;border-radius:5px;padding:2px 4px}.rc-desc{color:#4b3a30}.rc-warn{font-size:clamp(9px,4.4cqw,13px);font-weight:700;color:#b91c1c;padding:0 2px}.rc-foot{grid-column:2;grid-row:5;display:flex;align-items:center;gap:4px;padding:3px 5px 4px;min-height:26px}.rcard.compact .rc-foot{flex-wrap:wrap}.rc-cost{flex:none;width:clamp(28px,16cqw,46px);height:clamp(31px,17.6cqw,50px);display:grid;place-items:center;font-weight:900;font-size:clamp(13px,7.6cqw,22px);color:#fff;background:linear-gradient(#14968c,#0b5e58);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.rc-cost>span{display:grid;place-items:center;width:78%;height:80%;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#0f766e}.rc-res{flex:none;min-width:22px;height:22px;border-radius:6px;display:grid;place-items:center;padding:0 4px;background:#1f2937;color:#fff;font-weight:800;font-size:11px}.rc-rail{grid-column:3;grid-row:3 / -1;display:grid;align-content:start;justify-items:center;gap:3px;padding:4px 0;background:#efe6d4;border-left:1px solid rgba(0,0,0,.12)}.rc-tag{width:clamp(18px,11cqw,32px);height:clamp(18px,11cqw,32px);border-radius:5px;display:grid;place-items:center;font-size:clamp(11px,7cqw,20px);line-height:1;background:#fbf7ee;border:1px solid #a89a82;filter:grayscale(1) contrast(1.15)}.hand-fan{display:flex;gap:10px;overflow-x:auto;padding:22px 14px 18px}.hand-fan>.rcard{--w: clamp(180px, 52vw, 240px);flex:0 0 auto;transform:rotate(var(--rot, 0deg)) translateY(var(--lift, 0px));transform-origin:50% 120%}.cards.hand-play{gap:10px;padding:14px 14px 18px}.cards.hand-play>.rcard{--w: clamp(180px, 52vw, 240px);flex:0 0 auto}.hand-fan>.rcard:hover,.hand-fan>.rcard:focus-visible{--lift: -14px;z-index:2}.stepper{display:inline-flex;align-items:center;gap:6px}.stepper button{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);font-weight:800}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;align-items:end;z-index:40}.overlay .panel{color:var(--text);background:var(--surface);border-radius:18px 18px 0 0;max-height:85dvh;overflow-y:auto;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media(min-width:900px){.game{grid-template-columns:232px minmax(0,1fr) 150px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"top top top" "ledger stage hud" "dock dock dock"}.ledger{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:10px 0 10px 10px;gap:10px;overflow:visible}.game-ad{display:block}.game-ad .ad-slot{min-height:200px}.dock{flex-direction:column;gap:4px}.deck{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px}.deck:after{content:"Hand";font-size:12px;font-weight:800;color:#ffffffd9}.deck-cards{left:14px;transform:none;width:30px}.res{display:grid;grid-template-columns:auto 1fr auto;align-items:center;justify-items:start;gap:8px;padding:6px 10px}.res-amt{order:1;font-size:18px}.res-name{order:2;display:block;font-size:12px;color:var(--muted);font-weight:700}.res-prod{order:3}.deck,.tableau-btn{min-height:44px}.players{flex-direction:column;overflow-y:auto;min-height:0;gap:6px}.players .pchip{min-width:0}.hud{flex-direction:column;justify-content:flex-start;align-items:center;padding:14px 6px 12px;gap:14px;overflow:visible}.hud .dials{display:none}.hud .bars{display:flex;gap:10px;flex:1;min-height:0;width:100%;justify-content:center}.stage{padding:6px 8px 12px}.stage>.board-wrap{top:6px;right:8px;bottom:12px;left:8px}.top-hand{display:none}.sheet{position:fixed;z-index:30;left:50%;top:50%;translate:-50% -50%;width:min(760px,92vw);max-height:82dvh;overflow-y:auto;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow),0 0 0 1px #00000059;padding:12px 16px 16px;animation:pop .25s cubic-bezier(.3,1.4,.5,1) both}.sheet.sheet-idle,.sheet.sheet-peek,.sheet.sheet-pick{position:relative;z-index:2;grid-area:stage;justify-self:center;align-self:start;left:auto;top:auto;translate:none;width:min(760px,92%);max-height:none;margin-top:10px;padding:8px 14px;overflow:hidden;animation:none}.sheet.sheet-peek .sheet-body,.sheet.sheet-idle .ticker-line:nth-child(n+3),.sheet.sheet-peek .ticker-line:nth-child(n+3),.sheet.sheet-pick .ticker{display:none}.sheet.sheet-idle .ticker,.sheet.sheet-peek .ticker{margin-bottom:0}.sheet.sheet-pick{max-height:224px;overflow-y:auto}.game.peeking .stage{padding-top:112px}.game.peeking .stage>.board-wrap{top:112px}.game.picking .stage{padding-top:246px}.game.picking .stage>.board-wrap{top:246px}.sheet-handle,.sheet-tabs{display:none}.sheet-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sheet-peek-toggle{display:inline-flex}.top-tabs{display:flex;gap:4px;justify-content:center;min-width:0;overflow-x:auto}.dockbar{grid-area:dock;display:flex;align-items:center;gap:14px;padding:8px 16px;background:#0c1b1f;border-top:1px solid var(--border)}.dockbar .dock{flex-direction:row;flex:1;gap:6px}.dockbar .res{display:grid;grid-template-columns:auto 1fr auto}.dockbar .deck{min-width:110px}.fleet-badge{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:inherit;text-align:left;cursor:pointer;min-width:200px}.fleet-dot{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 -3px #0000004d;flex:none}.fleet-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}}@media(max-width:899px){.top-tabs,.sheet-head{display:none}.dockbar{grid-area:dock;display:flex;align-items:stretch;gap:8px;padding:4px 8px 6px;min-width:0;overflow-x:auto}.dockbar .dock{flex:none}.fleet-badge{display:none}}.works-row .works-cost{position:static}.hr-badge{flex:none;font-weight:900;font-size:13px;padding:2px 8px;border-radius:8px;background:var(--accent);color:var(--accent-text)}.board-controls{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;gap:6px}.board-controls .btn.sm{width:36px;height:36px;padding:0;font-size:17px;background:var(--surface);box-shadow:var(--shadow)}.game.board-expanded{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;grid-template-areas:"top" "stage"}.game.board-expanded .ledger,.game.board-expanded .sheet,.game.board-expanded .hud,.game.board-expanded .dockbar{display:none}.tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2)}.tab{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--text);font-weight:700;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.tab.on{background:var(--surface);box-shadow:var(--shadow)}.tab-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:12px;display:inline-flex;align-items:center;justify-content:center}.timer-box{padding:10px;border-radius:10px;background:var(--surface-2)}.timer-chip{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;font-variant-numeric:tabular-nums;font-weight:800}.timer-chip small{font-size:9px;font-weight:700;text-transform:uppercase;opacity:.8}.report-reason{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px}.shell,.landing{--bg: #a83d17;--surface: #8a3011;--surface-2: #73280e;--text: #fff;--muted: #ffe7da;--border: rgba(255, 231, 218, .22);--accent: #ffc53d;--accent-text: #2a1205;--go: #15803d;--shadow: 0 6px 18px rgba(40, 10, 2, .28);--side: #7a2a0f;--side-on: #a83d17;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .shell,:root:not([data-theme=light]) .landing{--bg: #24110c;--surface: #351a12;--surface-2: #47231a;--text: #fdf1ea;--muted: #d9b8a8;--border: rgba(253, 241, 234, .14);--side: #1a0b07;--side-on: #3d1d14;--shadow: 0 6px 18px rgba(0, 0, 0, .45)}}:root[data-theme=dark] .shell,:root[data-theme=dark] .landing{--bg: #24110c;--surface: #351a12;--surface-2: #47231a;--text: #fdf1ea;--muted: #d9b8a8;--border: rgba(253, 241, 234, .14);--side: #1a0b07;--side-on: #3d1d14;--shadow: 0 6px 18px rgba(0, 0, 0, .45)}.shell{min-height:100dvh;display:grid;grid-template-columns:1fr;background:var(--bg);color:var(--text);background-image:radial-gradient(circle at 85% -10%,rgba(255,197,61,.16),transparent 45%),radial-gradient(circle at 0% 110%,rgba(0,0,0,.18),transparent 50%)}.shell a{color:inherit}.shell input,.shell select{background:var(--surface-2);color:var(--text);border-color:var(--border)}.shell input::placeholder{color:var(--muted);opacity:.8}.shell input[type=checkbox]{accent-color:var(--accent)}.shell .muted{color:var(--muted)}.shell .btn{border-color:transparent;box-shadow:0 3px #00000047;transition:transform .12s ease,box-shadow .12s ease,filter .15s ease}.shell .btn:not(:disabled):hover{filter:brightness(1.08)}.shell .btn:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px #00000047}.btn.go{background:var(--go, #15803d);color:#fff;border-color:transparent}.shell .btn.primary,.landing .btn.primary{box-shadow:0 4px #b07d0c}.shell .btn.primary:not(:disabled):active{box-shadow:0 1px #b07d0c}.shell .chip{background:var(--surface-2)}.shell .chip.badge{background:var(--accent);color:var(--accent-text)}.shell .tabs{background:var(--surface)}.shell .tab.on{background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--accent)}.shell .overlay .panel{border:1px solid var(--border);border-bottom:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell-side{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--side);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 16px #00000040}.shell-logo{display:none}.shell-nav{--item: 64px;position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}.nav-item{position:relative;z-index:1;height:var(--item);display:grid;justify-items:center;align-content:center;gap:2px;min-width:0;overflow:hidden;text-decoration:none;color:var(--muted);font-weight:800;font-size:11px;letter-spacing:.2px;transition:color .2s ease}.nav-item.on{color:#fff}.nav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:379px){.nav-item{font-size:10px}}.nav-icon{display:grid;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.nav-icon svg{width:26px;height:26px}.nav-item:hover .nav-icon{transform:translateY(-2px) scale(1.06)}.nav-item.on .nav-icon{transform:scale(1.12)}.nav-pill{position:absolute;z-index:0;top:6px;left:0;height:calc(var(--item) - 12px);width:calc(100% / var(--n));transform:translate(calc(var(--i) * 100%));transition:transform .35s cubic-bezier(.3,1.3,.5,1),opacity .2s}.nav-pill:before{content:"";position:absolute;top:0;right:10px;bottom:0;left:10px;border-radius:14px;background:var(--side-on);box-shadow:inset 0 0 0 2px #ffc53d80}.nav-pill.off{opacity:0}.nav-badge{position:absolute;top:6px;left:calc(50% + 8px);min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-size:12px;display:grid;place-items:center;animation:pop .4s cubic-bezier(.3,1.6,.5,1)}.shell-body{min-width:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.shell-top{display:flex;align-items:center;gap:8px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));min-width:0;overflow:hidden}.shell-top-logo{text-decoration:none}.user-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 12px 4px 4px;border-radius:999px;background:var(--surface);text-decoration:none;font-weight:800;box-shadow:0 3px #00000040;transition:transform .15s ease;max-width:60vw;min-width:0}.user-chip:hover{transform:translateY(-1px)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(#ffd27a,#f59e0b);color:#2a1205;font-weight:900;flex:none}.user-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-karma{flex:none}.user-karma{font-size:12px;color:var(--muted);white-space:nowrap}.logo{display:inline-flex;align-items:center;gap:8px}.logo-mark{flex:none;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}.logo-ring{transform-box:fill-box;transform-origin:center;animation:ring-wobble 6s ease-in-out infinite}.logo-word{display:grid;line-height:.95;font-weight:900;letter-spacing:1px;color:#ffe7da;text-shadow:0 2px 0 rgba(0,0,0,.3)}.logo-word span:first-child{font-size:13px;color:var(--accent)}.logo-word span:last-child{font-size:17px}.shell .logo-mark{width:38px;height:38px}.menu-page{max-width:1100px}@media(min-width:900px){.shell{grid-template-columns:112px 1fr}.shell-side{position:sticky;top:0;height:100dvh;right:auto;bottom:auto;padding:0;box-shadow:4px 0 18px #0000002e;display:grid;grid-template-rows:auto 1fr}.shell-logo{display:grid;place-items:center;padding:16px 0 12px}.shell .shell-logo .logo-mark{width:60px;height:60px;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.shell-logo:hover .logo-mark{transform:rotate(-8deg) scale(1.06)}.shell-nav{--item: 96px;grid-template-columns:1fr;align-content:start}.nav-item{font-size:13px;gap:6px}.nav-icon svg{width:38px;height:38px}.nav-pill{top:0;left:0;width:100%;height:var(--item);transform:translateY(calc(var(--i) * 100%))}.nav-pill:before{top:4px;right:8px;bottom:4px;left:8px}.nav-badge{top:10px;left:calc(50% + 14px)}.shell-body{padding-bottom:0}.shell-top{padding:16px 28px 0}.shell-top-logo{visibility:hidden}.menu-page{padding:12px 28px 28px}}.screen-in{animation:screen-in .35s cubic-bezier(.2,.8,.3,1) backwards}.room-row,.mode-card,.lb-table tbody tr{animation:rise .4s cubic-bezier(.2,.8,.3,1) backwards;animation-delay:var(--d, 0ms)}.tab-panel{animation:fade .25s ease both}.play-page{display:grid;gap:14px}.big-tabs{position:relative}.big-tabs .tab{position:relative;z-index:1;min-height:52px;font-size:16px}.shell .big-tabs .tab.on{background:transparent;box-shadow:none}.tab-pill{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc((100% - 8px - (var(--n) - 1) * 4px) / var(--n));transform:translate(calc(var(--i) * (100% + 4px)));border-radius:9px;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--accent);transition:transform .35s cubic-bezier(.3,1.3,.5,1)}.mode-list{display:grid;gap:10px}.mode-card{border-radius:16px;background:var(--surface);border:2px solid transparent;box-shadow:var(--shadow);overflow:hidden;transition:border-color .2s ease,transform .2s ease,background .2s ease}.mode-card:hover{transform:translateY(-2px)}.mode-card.on{border-color:var(--accent);background:var(--surface-2)}.mode-card.locked{opacity:.75}.mode-hit{display:flex;gap:12px;align-items:center;width:100%;padding:12px;background:none;border:0;text-align:left;cursor:pointer;color:inherit}.mode-icon{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:32px;background:radial-gradient(circle at 35% 30%,#fff8f0,#f3d3bb);box-shadow:inset 0 -4px #00000026,0 3px #0003;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}.mode-card.on .mode-icon{transform:rotate(-6deg) scale(1.06)}.mode-text{display:grid;gap:4px;min-width:0}.mode-title{font-size:19px}.mode-meta{display:flex;gap:14px;flex-wrap:wrap;font-weight:800;font-size:14px}.mode-meta>span{display:inline-flex;align-items:center;gap:4px}.mode-blurb{color:var(--muted)}.level-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:4px;margin:0 12px 12px;padding:4px;border-radius:10px;background:#0000002e}.level-pick button{min-width:0;min-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;border-radius:7px;background:transparent;font-weight:700;cursor:pointer;color:var(--text);transition:background .2s ease}.level-pick button.on{background:var(--accent);color:var(--accent-text)}.start-btn{min-height:54px;font-size:20px;font-weight:900;border-radius:14px;letter-spacing:.3px}.play-side{align-content:start}.feature-card{display:grid;justify-items:center;text-align:center;gap:6px;padding:18px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.feature-art .game-art{width:112px;height:112px}.game-art polygon{transform-box:fill-box;transform-origin:center;animation:tile-in .5s cubic-bezier(.3,1.5,.5,1) both}.feature-card:hover .game-art{animation:bob 1.2s ease-in-out infinite}@media(max-width:759px){.play-side{order:-1}.play-side.empty,.feature-card{display:none}}@media(min-width:760px){.play-page{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);align-items:start}.feature-card{padding:14px;gap:4px}.feature-art .game-art{width:88px;height:88px}}@media(min-width:1100px){.mode-list{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:stretch}}@media(min-width:1240px){.play-main>.ad-slot{display:none}}.room-table{display:grid;gap:6px}.room-head{display:none}.room-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"map flags" "meta seats" "timer seats";gap:2px 10px;align-items:center;width:100%;padding:12px 14px;border:0;border-radius:12px;background:var(--surface);color:inherit;text-align:left;cursor:pointer;transition:background .15s ease,transform .15s ease}.room-row:hover{background:var(--surface-2);transform:translate(3px)}.room-map{grid-area:map;display:grid;min-width:0}.room-mode,.room-timer{font-size:13px;color:var(--muted)}.room-mode{grid-area:meta}.room-timer{grid-area:timer}.room-seats{grid-area:seats;display:inline-flex;gap:1px;justify-self:end}.room-flags{grid-area:flags;display:inline-flex;gap:4px;justify-self:end}.join-chip{background:var(--go, #15803d)!important;color:#fff}@media(min-width:700px){.room-head,.room-row{grid-template-columns:minmax(0,1.6fr) .8fr 1fr auto 96px;grid-template-areas:none}.room-head{display:grid;gap:10px;padding:8px 14px;font-weight:800;font-size:13px;color:var(--muted)}.room-row>*{grid-area:auto}.room-mode,.room-timer{font-size:14px;color:var(--text)}}.cta-row .btn{min-height:52px;font-size:17px}.lb-page{display:grid;gap:16px}.lb-boards{display:flex;gap:8px;overflow-x:auto;flex-wrap:wrap}.lb-board{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:12px;border:0;background:transparent;cursor:pointer;color:inherit;text-align:left;transition:background .2s ease}.lb-board:hover{background:var(--surface)}.lb-board.on{background:var(--surface);box-shadow:inset 0 0 0 2px var(--accent)}.lb-board-art .game-art{width:40px;height:40px}.lb-season{width:100%;margin:4px 0 0}.lb-table-wrap{min-width:0}.lb-search input{width:100%}.lb-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);font-variant-numeric:tabular-nums}.lb-table th{text-align:left;padding:12px;font-size:13px;background:var(--side, var(--surface-2))}.lb-table td{padding:12px;border-top:1px solid var(--border)}.lb-table th:nth-child(n+3),.lb-table td:nth-child(n+3){text-align:right}.lb-table tbody tr{transition:background .15s ease}.lb-table tbody tr:hover{background:var(--surface-2)}.lb-table tr.me{background:#ffc53d2e}.lb-rank{white-space:nowrap;font-weight:800}.lb-name{font-weight:700;overflow-wrap:anywhere}@media(max-width:520px){.lb-table th:nth-child(4),.lb-table td:nth-child(4){display:none}.lb-table th,.lb-table td{padding:10px 8px}}.lb-skeleton{display:grid;gap:6px}.lb-skeleton span{height:44px;border-radius:10px;background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@media(min-width:900px){.lb-page{grid-template-columns:260px minmax(0,1fr);align-items:start}.lb-header{grid-column:1 / -1}.lb-boards{flex-direction:column;flex-wrap:nowrap}.lb-board{width:100%}}.more-page{display:grid;gap:20px}.more-main{gap:18px}.more-group{border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.more-pad{display:grid;gap:8px;padding:14px}.more-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;border:0;background:transparent;color:inherit;font-weight:700;font-size:16px;text-decoration:none;text-align:left;cursor:pointer;transition:background .15s ease,padding .2s ease}.more-row+.more-row{border-top:1px solid var(--border)}.more-row:hover{background:var(--surface-2);padding-left:20px}.more-icon{width:26px;text-align:center;font-size:20px}.stat-card{display:grid;grid-template-columns:1fr 1fr;padding:18px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.stat-card>div{display:grid}.stat-card b{font-size:28px}@media(min-width:900px){.more-page{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.more-side{padding-top:46px}}.landing{min-height:100dvh;display:grid;align-content:center;justify-items:center;gap:8px;padding:24px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:var(--bg);color:var(--text);overflow:hidden;background-image:radial-gradient(circle at 20% 30%,rgba(255,197,61,.18),transparent 40%),radial-gradient(circle at 90% 100%,rgba(0,0,0,.25),transparent 55%)}.landing a{color:var(--muted)}.landing input{background:var(--surface-2);color:var(--text);border-color:var(--border)}.landing input::placeholder{color:var(--muted);opacity:.8}.landing .btn{border-color:transparent;box-shadow:0 3px #00000047;transition:transform .12s ease,box-shadow .12s ease}.landing .btn:not(:disabled):active{transform:translateY(2px)}.landing .muted{color:var(--muted)}.landing-art{width:min(92vw,420px)}.landing-panel{width:min(100%,440px);animation:screen-in .5s .2s cubic-bezier(.2,.8,.3,1) backwards}.landing-panel .logo .logo-mark{width:56px;height:56px}.landing-panel .logo-word span:first-child{font-size:16px}.landing-panel .logo-word span:last-child{font-size:22px}.landing-title{font-size:clamp(28px,6vw,44px);line-height:1.05;font-weight:900;text-shadow:0 3px 0 rgba(0,0,0,.25)}.landing-sub{margin:0;color:var(--muted);font-size:16px}.landing .btn.primary{min-height:54px;font-size:18px;font-weight:900}@media(min-width:900px){.landing{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding:48px}.landing-art{width:min(100%,560px);justify-self:end}.landing-panel{justify-self:start}}.hero-board{width:100%;height:auto;overflow:visible}.hb-float{animation:bob 6s ease-in-out 1.6s infinite}.hb-glow{animation:glow 5s ease-in-out infinite}.hb-tile{transform-box:fill-box;transform-origin:center;animation:tile-drop .6s cubic-bezier(.3,1.4,.5,1) both;animation-delay:var(--d)}.hb-place{transform-box:fill-box;transform-origin:center;animation:pop .45s cubic-bezier(.3,1.8,.5,1) both;animation-delay:calc(var(--d) + 1s)}@media(min-width:900px){.overlay{align-items:center;justify-items:center}.overlay .panel{width:min(860px,92vw);border-radius:18px}}.overlay{animation:fade .2s ease backwards}.overlay .panel{animation:sheet-up .3s cubic-bezier(.2,.9,.3,1) backwards}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes tile-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes tile-drop{0%{opacity:0;transform:translateY(-40px) scale(.6)}to{opacity:1;transform:none}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glow{0%,to{opacity:.7}50%{opacity:1}}@keyframes ring-wobble{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}@keyframes slide-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}@keyframes turn-glow{0%,to{box-shadow:0 0 #f9731600}50%{box-shadow:0 0 16px 2px #f973168c}}@keyframes twinkle{0%{opacity:.25}to{opacity:.8}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dash{to{stroke-dashoffset:-14}}@keyframes bump{0%{transform:scale(1.5);color:#ffd27a}to{transform:scale(1)}}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important}}.store-page{display:grid;gap:16px;max-width:720px}.membership{display:grid;gap:12px;padding:22px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow);border:2px solid var(--accent)}.membership-art{justify-self:center}.perks{list-style:none;margin:0;padding:0;display:grid;gap:10px}.perks li{display:grid;gap:2px}.mobile-ad{display:none}.ad-banner{min-height:50px;border-radius:0}@media(max-width:899px){.shell.with-ads .mobile-ad{display:block;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:29;background:var(--side)}.shell.with-ads .shell-body{padding-bottom:calc(122px + env(safe-area-inset-bottom))}.shell.with-ads .ad-slot:not(.ad-banner){display:none}}.builder-page,.builder-grid{display:grid;gap:16px}.brushes{display:flex;flex-wrap:wrap;gap:6px}.brush{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:10px;border:2px solid transparent;background:var(--surface);color:inherit;font-weight:700;font-size:13px;cursor:pointer}.brush.on{border-color:var(--accent);background:var(--surface-2)}.swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.5)}.builder-board{border-radius:16px;background:#3a1a12;padding:8px;box-shadow:var(--shadow)}.builder-board svg{width:100%;height:auto;display:block}.builder-settings{padding:14px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.builder-settings input[type=range]{width:100%;min-height:32px;accent-color:var(--accent)}.problems{margin:0;padding-left:18px;color:var(--accent)}.list-item.on{box-shadow:inset 0 0 0 2px var(--accent)}.builder-page{container-type:inline-size}@container (min-width: 860px){.builder-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}.game-ad{display:none}.shell-content{display:grid;grid-template-columns:minmax(0,1fr)}.ad-rail{display:none}.ad-rect{width:300px;min-height:250px}@media(min-width:900px){.shell-content{grid-template-columns:minmax(0,1fr) 316px}.shell-page{grid-column:1;min-width:0}.ad-rail.right{grid-column:2;display:grid;gap:12px;align-content:start;justify-items:center;padding:28px 8px}}.opening-steps{display:flex;gap:6px;flex-wrap:wrap}.opening-step{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:800;font-size:13px;cursor:pointer}.opening-step.on{box-shadow:inset 0 0 0 2px var(--accent)}.opening-step.done{color:var(--ok)}.opening-num{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:11px}.room-grid{display:grid;gap:16px}.seat{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--surface-2)}.seat.open{background:transparent;border:1px dashed var(--border)}.seat-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface)}.room-chat{min-height:260px}@media(min-width:900px){.room-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start}}.rc-fleet{font-size:10.5px;color:#5a3d14;font-style:italic}.rc-fleet b{font-style:normal;text-transform:uppercase;letter-spacing:.4px}.level-pick button .small{font-weight:600}@media(max-width:759px){.level-pick button .small{display:none}}.ri{width:1.15em;height:1.15em;vertical-align:-.22em;margin-left:2px}.buy-total{font-size:13px;padding:6px 10px;border-radius:8px;background:var(--surface-2)}.buy-total.over{background:#6b1d12;color:#ffd9d2}.ticker{display:grid;gap:2px;width:100%;margin-bottom:8px;padding:6px 8px;border:0;border-radius:10px;background:var(--surface-2);color:inherit;text-align:left;font-size:12px;line-height:1.3;cursor:pointer}.ticker-line{display:flex;gap:6px;align-items:baseline;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ticker-line.latest{color:var(--text);font-weight:700}.ticker-dot{flex:none;width:8px;height:8px;border-radius:50%;align-self:center}.help-btn{flex:none;width:22px;height:22px;min-height:0;padding:0;border-radius:50%;border:1.5px solid var(--border);background:var(--surface-2);color:var(--muted);font-weight:800;font-size:13px;line-height:1;cursor:pointer}.help-btn:hover{color:var(--text);border-color:var(--accent)}.help-body{margin:0;line-height:1.5}.option-desc{display:block;margin-top:2px;font-weight:400}.option-extras{gap:8px;margin:-2px 0 4px 12px}.view-panel{min-height:32px}.dock-help{order:99;display:flex;align-items:center;padding:0 2px}.help-index summary{list-style:none;cursor:pointer}.help-chip{cursor:pointer;border:0}.res{position:relative}.res-delta{position:absolute;left:50%;top:-2px;transform:translate(-50%);padding:1px 6px;border-radius:999px;font-size:12px;font-weight:900;color:#fff;background:var(--ok);box-shadow:0 2px #00000040;pointer-events:none;animation:float-up 1.6s ease-out forwards}.res-delta.minus{background:var(--danger)}.pdelta{display:inline-block;margin-left:4px;padding:0 5px;border-radius:999px;font-size:11px;font-weight:900;color:#fff;background:var(--ok);animation:float-up 1.6s ease-out forwards}.pdelta.minus{background:var(--danger)}@keyframes float-up{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}15%{opacity:1;transform:translate(-50%,-6px) scale(1.1)}70%{opacity:1;transform:translate(-50%,-18px) scale(1)}to{opacity:0;transform:translate(-50%,-30px) scale(1)}}.pdelta{animation-name:float-inline}@keyframes float-inline{0%{opacity:0;transform:translateY(4px)}15%{opacity:1;transform:translateY(-2px)}70%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.cycle-banner{position:fixed;left:50%;top:18%;transform:translate(-50%);z-index:40;padding:14px 26px;border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow),0 0 0 3px var(--accent);text-align:center;pointer-events:none;animation:banner-in 2.2s cubic-bezier(.2,.8,.3,1) forwards}.cycle-banner b{display:block;font-size:22px}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-12px) scale(.9)}12%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-8px)}}@media(prefers-reduced-motion:reduce){.res-delta,.pdelta,.cycle-banner{animation:none;display:none}}.game-rail{display:none}@media(min-width:1560px){.game.with-rails:not(.board-expanded){grid-template-columns:232px minmax(0,1fr) 150px 308px;grid-template-areas:"top top top rr" "ledger stage hud rr" "dock dock dock rr"}.game.with-rails .game-rail.right{display:grid;gap:12px;align-content:start;justify-items:center;padding:20px 8px;grid-area:rr}.game.with-rails .game-rail.left,.game.with-rails .game-ad{display:none}}.chat-dock{position:fixed;z-index:45;background:var(--surface);color:var(--text);box-shadow:var(--shadow),0 0 0 1px var(--border);padding:12px;display:grid;gap:8px}.chat-dock-head{gap:8px}@media(min-width:900px){.chat-dock{top:54px;right:12px;width:360px;max-height:min(60dvh,560px);border-radius:14px;overflow:auto}}@media(max-width:899px){.chat-dock{left:0;right:0;bottom:0;max-height:70dvh;border-radius:18px 18px 0 0;overflow:auto;padding-bottom:calc(12px + env(safe-area-inset-bottom))}}.move-popup{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:44;display:grid;gap:8px;justify-items:center;max-width:min(92vw,640px);padding:14px 18px;border:0;border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow),0 0 0 3px var(--accent);text-align:center;pointer-events:none;animation:pop .25s cubic-bezier(.3,1.5,.5,1) both}@keyframes fade-out{to{opacity:0}}.move-popup-head{display:inline-flex;align-items:center;gap:6px;font-size:15px}.move-popup-text{font-size:13px;color:var(--muted)}.move-popup-cards{display:flex;gap:8px;justify-content:center}.move-popup-cards .gcard{width:150px;pointer-events:none}.move-popup{animation-name:pop}@media(prefers-reduced-motion:reduce){.move-popup{animation:none}}@media(min-width:900px){.sheet .cards .rcard:not(.compact),.overlay .cards .rcard:not(.compact){--w: clamp(210px, 21vw, 290px)}.hand-fan>.rcard,.cards.hand-play>.rcard{--w: clamp(230px, 22vw, 300px)}.move-popup-cards .gcard{width:230px}}.stats{display:flex;gap:8px;align-items:stretch}.stat{display:grid;align-content:center;justify-items:center;gap:2px;min-width:64px;padding:4px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:inherit;cursor:pointer}.stat small{font-size:9.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.stat>b{font-size:18px;line-height:1}.stat.stat-live{box-shadow:inset 0 0 0 2px var(--accent)}.stat-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:260px}.stat-tag{display:inline-flex;align-items:center;gap:2px;font-size:13px}.stat-tag b{font-size:12px}@media(max-width:899px){.stats{display:none}}.board-halo{animation:glow 5s ease-in-out infinite}.sel-glow{animation:breathe 1.6s ease-in-out infinite}@keyframes drift{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{fill-opacity:1}50%{fill-opacity:.55}}@media(prefers-reduced-motion:reduce){.board-contours,.board-halo,.board-wrap:before,.sel-glow{animation:none}}.dials{display:flex;gap:10px;align-items:center}.bars{display:none}.bar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:6px;min-height:0;padding:0;border:0;background:none;color:var(--text);cursor:help;width:44px}.bar-value{font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}.bar.done .bar-value{color:var(--ok)}.bar-track{position:relative;width:14px;min-height:0;height:100%;border-radius:8px;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff1f}.bar-fill{position:absolute;left:0;right:0;bottom:0;border-radius:8px;transition:height .9s cubic-bezier(.3,1.2,.5,1)}.bar-o2 .bar-fill{background:linear-gradient(#67e8f9,#0891b2)}.bar-temp .bar-fill{background:linear-gradient(#fdba74,#ea580c)}.bar-lakes .bar-fill{background:linear-gradient(#93c5fd,#2563eb)}.bar-tick{position:absolute;left:100%;width:6px;height:1px;background:#ffffff59}.bar-tick i{position:absolute;left:8px;top:-6px;font-style:normal;font-size:8.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.bar-mark{position:absolute;left:-4px;width:22px;height:3px;margin-bottom:-1px;border-radius:2px;background:var(--muted)}.bar-mark.hit{background:var(--accent);box-shadow:0 0 6px var(--accent)}.bar-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.stage{background:radial-gradient(ellipse at 50% 40%,#16303a,#0a171c 60%,#050c10)}.stars circle{animation:twinkle 3.6s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:.9}}@media(prefers-reduced-motion:reduce){.stars circle{animation:none}}body:has(.game){overflow:hidden}@media(min-width:900px){.hud .bars{align-self:stretch}.bar{height:100%}.bar-track{height:auto;align-self:stretch}}.rc-reserves{display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 4px;border-radius:999px;background:#1f2937;color:#fde68a;font-weight:900;font-size:clamp(12px,6.5cqw,19px)}.rc-reserves .ri{width:1.2em;height:1.2em;margin:0}.rc-reserves.minus{color:#fecaca}.rc-line{display:block}.rc-line+.rc-line{border-top:1px dashed rgba(0,0,0,.12);padding-top:2px}.opening .cards{flex-wrap:wrap;overflow:visible;justify-content:center}.my-turn{display:grid;gap:6px;margin:0 10px 8px 0;padding:10px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--accent)}.my-turn-options{display:flex;flex-wrap:wrap;gap:6px}.action-prompt{margin-bottom:10px;padding:10px;border-radius:12px;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--accent)}.sheet-tab.live,.deck.live,.tableau-btn.live{box-shadow:0 0 0 2px var(--accent),0 0 12px #f0a73b8c;animation:glow 1.8s ease-in-out infinite}.bar-bonus{position:absolute;right:100%;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:1px;margin-right:4px;opacity:.75}.bar-bonus i{font-style:normal;font-size:8.5px;font-weight:900;color:var(--text)}.bar-mark.hit .bar-bonus{opacity:1;filter:drop-shadow(0 0 4px var(--accent))}@media(min-width:900px){.hud .bars{gap:22px;padding-left:14px}}.score-head{display:flex;align-items:center;gap:12px;margin:0 0 10px}.score-slots{display:inline-flex;gap:6px}.score-slot{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;font-weight:900;font-size:13px;color:var(--muted);box-shadow:inset 0 0 0 2px var(--border)}.score-slot.on{background:var(--accent);color:var(--accent-text);box-shadow:none}.score-prize{display:inline-flex;align-items:baseline;gap:6px;margin-left:auto}.score-prize small{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.score-prize b{font-size:15px}.score-row{gap:10px}.score-badge{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--border);font-weight:900}.score-card.can{box-shadow:inset 0 0 0 2px var(--accent)}.score-use{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 10px 0 14px}.score-cost{width:30px;height:33px;font-size:14px}.score-cost>span{width:78%;height:80%}.tile-preview{display:grid;gap:3px;margin-bottom:8px;padding:8px 10px;border-radius:10px;background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--accent);font-size:13px}.tile-line{display:flex;align-items:center;gap:6px}.tile-line .dot{width:9px;height:9px;border-radius:50%;flex:none}.tile-preview-hint{margin:0 0 8px}@media(min-width:900px){.sheet.sheet-pick{max-height:300px}.game.picking .stage{padding-top:322px}.game.picking .stage>.board-wrap{top:322px}}.game-over{min-height:70dvh;display:grid;place-content:center;justify-items:center;text-align:center;gap:10px;cursor:pointer;animation:fade .4s ease both}.game-over-kicker{font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.game-over-title{font-size:clamp(32px,7vw,56px);margin:0;animation:pop .5s cubic-bezier(.3,1.5,.5,1) both}.game-over-score{display:inline-flex;align-items:center;gap:8px;font-size:22px;font-weight:900;margin:0}.game-over .dot{width:14px;height:14px}input[type=range]{width:150px;accent-color:var(--accent)}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:46;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:24px clamp(16px,6vw,80px) 28px;background:#050c10b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#f2efe4;animation:fade .4s ease both}.game-over-head{text-align:center}.game-over-title{font-size:clamp(30px,6vw,56px);margin:4px 0 0;letter-spacing:1px;text-transform:uppercase;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}.game-over-title.show{animation:pop .5s cubic-bezier(.3,1.5,.5,1) both;color:#fde68a;text-shadow:0 0 24px rgba(253,230,138,.5)}.score-race{display:grid;gap:14px;align-content:center}.race-row{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr) 56px;grid-template-areas:"name track value" "parts parts parts";align-items:center;gap:4px 12px}.race-row.winner .race-name{color:#fde68a}.race-name{grid-area:name;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px}.race-track{grid-area:track;height:22px;border-radius:6px;background:#ffffff1f;overflow:hidden}.race-fill{display:block;height:100%;border-radius:6px;transition:width 1.2s cubic-bezier(.2,.8,.3,1);box-shadow:0 0 14px #fff3 inset}.race-value{grid-area:value;font-size:22px;font-variant-numeric:tabular-nums;text-align:right}.race-parts{grid-area:parts;display:flex;gap:6px;flex-wrap:wrap;padding-left:2px}.race-part{display:inline-flex;gap:4px;align-items:baseline;padding:1px 7px;border-radius:999px;background:#ffffff14;font-size:12px;font-weight:800;opacity:.35;transition:opacity .4s ease,background .4s ease}.race-part.on{opacity:1;background:#ffffff2e}.race-part small{font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;opacity:.8}@media(max-width:599px){.race-row{grid-template-columns:minmax(0,1fr) 48px;grid-template-areas:"name value" "track track" "parts parts"}}@media(prefers-reduced-motion:reduce){.race-fill{transition:none}}.opening-title{margin:4px 0 0;font-size:clamp(18px,2.4vw,26px);text-align:center;letter-spacing:.5px;text-transform:uppercase}.replaced-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:16px;background:#050c10c7}.replaced-card{max-width:420px;display:grid;gap:10px;padding:20px;border-radius:16px;background:#16343a;color:#f2efe4;box-shadow:0 10px 40px #00000080}.replaced-card h2{margin:0}@media(min-width:900px){.game{grid-template-columns:minmax(180px,232px) minmax(0,1fr) minmax(110px,150px)}.game>*{min-width:0}.dockbar{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.dockbar .dock,.dockbar .stats,.dockbar .fleet-badge{flex:none}.top-tabs{scrollbar-width:none}}@media(min-width:900px)and (max-width:1399px){.dockbar{gap:8px;padding:6px 10px}.dockbar .res-name{display:none}.dockbar .res{gap:4px;padding:4px 8px}.fleet-badge{min-width:0;max-width:170px}.fleet-name{max-width:120px}.stat{min-width:52px;padding:3px 7px}.stat-tags{max-width:160px}.topbar-title{max-width:140px}.sheet-tab{padding:0 9px;font-size:11px}}@media(min-width:900px)and (max-width:1099px){.hud .bar-tick i,.bar-bonus i{display:none}}.game>.ad-rail.game-rail{display:none}@media(min-width:1560px){.game.with-rails:not(.board-expanded)>.ad-rail.game-rail.right{display:grid}}@media(min-width:900px)and (max-height:820px){.sheet.sheet-pick{max-height:190px}.game.picking .stage{padding-top:210px}.game.picking .stage>.board-wrap{top:210px}}.log-list{display:grid;gap:4px;font-size:13px}.log-cycle{margin:10px 0 2px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:4px}.log-line{padding:4px 8px;border-left:3px solid var(--pc);background:var(--surface-2);border-radius:0 6px 6px 0}.sort-tabs{display:inline-flex;gap:4px;flex-wrap:wrap}.sheet-tab.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.action-row .btn{min-height:36px}.scoreboard{width:min(980px,100%);margin:0 auto;border-collapse:separate;border-spacing:0 6px;font-variant-numeric:tabular-nums;align-self:center}.scoreboard th,.scoreboard td{padding:10px 12px;text-align:center}.scoreboard thead th{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#b7c9c6}.scoreboard tbody th{text-align:left;white-space:nowrap}.scoreboard tbody th .dot{margin-right:8px}.scoreboard tbody tr{background:color-mix(in srgb,var(--pc) 28%,rgba(10,23,28,.9))}.scoreboard tbody tr.winner{box-shadow:inset 0 0 0 2px #fde68a}.scoreboard td b{font-size:20px}.game-return{position:fixed;right:16px;bottom:96px;z-index:46}@media(max-width:699px){.scoreboard thead th:not(:first-child):not(:last-child),.scoreboard td:not(:last-child){display:none}}.works-options{display:flex;flex-wrap:wrap;gap:6px}.info-prompt{display:grid;gap:10px;text-align:center}.info-prompt h3{margin:0;font-size:18px}.my-turn{gap:4px}.rc-frame.has-tags{grid-template-columns:clamp(15px,7cqw,22px) minmax(0,1fr) 0}.rc-rail{position:absolute;z-index:3;top:clamp(3px,1.5cqw,6px);right:clamp(3px,1.5cqw,6px);display:flex;gap:clamp(2px,1cqw,4px);padding:0;background:none;border:0;grid-column:auto;grid-row:auto}.rc-tag{width:clamp(24px,15cqw,44px);height:clamp(24px,15cqw,44px);border-radius:50%;font-size:clamp(13px,8.5cqw,24px);background:radial-gradient(circle at 35% 30%,#fffaf0,#e9dcc3);border:clamp(1.5px,.8cqw,3px) solid var(--tc);box-shadow:0 2px 4px #00000040;filter:none}.rc-frame.has-tags .rc-head{padding-right:calc(var(--ntags) * clamp(26px,16cqw,48px) + 8px)}.rc-head{position:static}.rc-head:has(.rc-vp){padding-right:7px}.rc-frame.has-tags .rc-head:has(.rc-vp){padding-right:calc(var(--ntags) * clamp(26px,16cqw,48px) + 8px)}.rc-vp{top:auto;bottom:clamp(4px,2cqw,8px);right:clamp(4px,2cqw,8px);z-index:3;width:clamp(26px,15cqw,44px);height:clamp(26px,15cqw,44px);padding:0;place-items:center;clip-path:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7a4a2a,#3b1f10);box-shadow:0 0 0 2px #d9a35f,0 2px 4px #0000004d;color:#fde68a}.move-popup-cards .gcard{width:clamp(220px,22vw,280px)}.rc-text{font-size:calc(clamp(11px,6.4cqw,21px) * var(--fit, 1));scrollbar-width:none}.rc-text.rc-scroll{overflow-y:auto}.rc-text::-webkit-scrollbar{display:none}.rcard.t-corporation .rc-frame{grid-template-rows:auto auto minmax(0,22%) 1fr auto}.plast{display:block;margin:-2px 0 2px 10px;padding:2px 8px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid var(--border)}.players .my-turn{margin:0 0 4px;padding:6px 8px}.prow{display:grid;gap:4px;padding:0 0 6px;border-radius:12px;background:var(--surface);border:2px solid transparent;position:relative;overflow:hidden}.prow:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pc, var(--accent))}.prow.active{border-color:var(--accent)}.prow.passed{opacity:.72}.prow .pchip{background:none;border:0;box-shadow:none;animation:none}.prow .pchip:before{display:none}.prow .plast{margin:-4px 10px 0 16px}.prow .my-turn{margin:2px 8px 0 14px;padding:6px 8px;box-shadow:none;background:var(--surface-2)}.rc-tag{width:clamp(28px,18cqw,52px);height:clamp(28px,18cqw,52px);font-size:clamp(15px,10cqw,28px);border:clamp(2px,1cqw,3px) solid rgba(255,255,255,.85);box-shadow:0 2px 5px #00000059,inset 0 -3px #0003;background:#64748b}.rc-frame.has-tags .rc-head,.rc-frame.has-tags .rc-head:has(.rc-vp){padding-right:calc(var(--ntags) * clamp(30px,19cqw,56px) + 8px)}.rc-tag[data-tag=building]{background:radial-gradient(circle at 35% 30%,#c08457,#7c4a24)}.rc-tag[data-tag=space]{background:radial-gradient(circle at 35% 30%,#4b5563,#111827)}.rc-tag[data-tag=science]{background:radial-gradient(circle at 35% 30%,#f8fafc,#cbd5e1)}.rc-tag[data-tag=power]{background:radial-gradient(circle at 35% 30%,#c084fc,#6d28d9)}.rc-tag[data-tag=earth]{background:radial-gradient(circle at 35% 30%,#60a5fa,#1d4ed8)}.rc-tag[data-tag=jovian]{background:radial-gradient(circle at 35% 30%,#fdba74,#c2410c)}.rc-tag[data-tag=plant]{background:radial-gradient(circle at 35% 30%,#86efac,#15803d)}.rc-tag[data-tag=microbe]{background:radial-gradient(circle at 35% 30%,#d9f99d,#65a30d)}.rc-tag[data-tag=animal]{background:radial-gradient(circle at 35% 30%,#5eead4,#0f766e)}.rc-tag[data-tag=city]{background:radial-gradient(circle at 35% 30%,#e5e7eb,#6b7280)}.rc-tag[data-tag=event]{background:radial-gradient(circle at 35% 30%,#fde68a,#ca8a04)}.rc-tag[data-tag=wild]{background:radial-gradient(circle at 35% 30%,#f9a8d4,#be185d)}.rc-tag.mini{width:22px;height:22px;font-size:12px;border-width:1.5px;display:inline-grid;place-items:center;border-radius:50%;border-style:solid}.overlay .panel:has(.ma-layout){max-width:980px;margin:0 auto;width:100%}@media(min-width:900px){.overlay:has(.ma-layout){align-items:center}.overlay .panel:has(.ma-layout){border-radius:18px}}.ma-layout{display:grid;gap:14px}@media(min-width:760px){.ma-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}}.ma-list{display:grid;gap:8px}.ma-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 8px 8px 10px;border-radius:12px;background:linear-gradient(90deg,#00000059,#00000026);border:2px solid transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease}.ma-row.on{border-color:#ffffffb3}.ma-row.can{background:linear-gradient(90deg,#f0a73b38,#00000026)}.ma-badge{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2d5a63,#0f262b);box-shadow:inset 0 0 0 2px #ffffff80;font-weight:900;font-size:17px}.ma-name{font-size:16px;letter-spacing:.3px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ma-use,.ma-locked{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 6px 0 14px;border-radius:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.ma-use{border:0;cursor:pointer;background:linear-gradient(135deg,#2f8f86,#1b5d58);color:#fff;box-shadow:0 3px #00000059}.ma-use:hover{filter:brightness(1.1)}.ma-locked{background:#ffffff0f;color:#ffffff59}.score-cost.locked{filter:grayscale(1) opacity(.5)}.ma-owner{padding:6px 12px;border-radius:999px;color:#fff;font-weight:800;font-size:13px;white-space:nowrap}.ma-detail{padding:14px 16px;border-radius:14px;background:#00000040;display:grid;gap:10px}.ma-detail h3{margin:0;font-size:20px;text-transform:uppercase;letter-spacing:.5px}.ma-detail p{margin:0;line-height:1.45}.ma-standings{display:grid;gap:6px}.ma-bar{position:relative;display:flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:8px;overflow:hidden;background:#ffffff0f}.ma-bar-fill{position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,var(--pc),color-mix(in srgb,var(--pc) 40%,transparent));transition:width .6s ease}.ma-bar-label,.ma-bar-value{position:relative;font-weight:800}.ma-bar-label{flex:1}.ma-bar-value{font-size:18px}html,body{overscroll-behavior-x:none}.planet-patch{transform-box:view-box;animation:patch-drift 18s ease-in-out infinite alternate}.planet-patch.cool{animation-duration:23s;animation-direction:alternate-reverse}@keyframes patch-drift{0%{opacity:.35;transform:translate(-12px,-6px)}50%{opacity:.9}to{opacity:.45;transform:translate(14px,10px)}}.meteor{opacity:0;animation:meteor 21s linear infinite}@keyframes meteor{0%{opacity:0;transform:translate(0)}1%{opacity:1}5%{opacity:0;transform:translate(150px,60px)}to{opacity:0;transform:translate(150px,60px)}}@media(prefers-reduced-motion:reduce){.planet-patch,.meteor{animation:none}.meteor{display:none}}@media(min-width:900px){.game.acting .sheet{display:none}}.pfleet{display:grid;gap:14px;align-items:start;margin-bottom:10px}@media(min-width:640px){.pfleet{grid-template-columns:240px minmax(0,1fr)}}.pfleet .rcard{--w: 240px}.pres{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.pres-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--surface-2)}.pres-item b{font-size:18px}.ptags{display:flex;flex-wrap:wrap;gap:8px}.ptag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--surface-2)}.ptag b{font-size:16px}.ptag small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.4px}.rc-tag.mini.big{width:30px;height:30px;font-size:16px}.card-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-content:center;justify-items:center;gap:10px;background:#050c10cc;cursor:zoom-out;animation:fade .2s ease both}.card-zoom .rcard{--w: min(380px, 86vw);pointer-events:none;animation:pop .25s cubic-bezier(.3,1.4,.5,1) both}.pfleet .rcard,.cards .rcard.compact{cursor:zoom-in}@media(min-width:900px){.dockbar .res-name,.dockbar .res .res-name{display:none!important}.dockbar .res{display:grid;grid-template-columns:auto auto;grid-template-areas:"amt prod";align-items:center;gap:6px;padding:6px 10px;min-width:0}.dockbar .res-amt{grid-area:amt;display:inline-flex;align-items:center;gap:6px;font-size:24px;font-weight:900}.dockbar .res-ico{width:34px;height:34px}.dockbar .res-prod{grid-area:prod;font-size:14px;font-weight:900;padding:2px 7px;border-radius:8px;background:#6b4a2e;color:#fde68a;box-shadow:inset 0 0 0 1.5px #3d2a18}.dockbar .deck{min-height:52px}}@media(min-width:900px)and (max-width:1439px){.dockbar .res-ico{width:28px;height:28px}.dockbar .res-amt{font-size:20px}.dockbar .res-prod{font-size:12px;padding:1px 5px}}.lobby-lines{display:grid;gap:4px;max-height:260px;overflow-y:auto;font-size:13.5px}.lobby-line{position:relative;padding:3px 26px 3px 6px;border-radius:6px}.lobby-line:hover{background:var(--surface-2)}.lobby-report{position:absolute;right:4px;top:2px;border:0;background:none;color:var(--muted);cursor:pointer;opacity:.5;font-size:13px}.lobby-line:hover .lobby-report,.lobby-report:focus-visible{opacity:1}.lobby-reasons{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.badge{display:grid;gap:4px;justify-items:center;align-content:start;text-align:center;padding:14px 10px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.badge-grid .badge{color:inherit;background:var(--surface)}.badge:not(.earned) .badge-icon{filter:grayscale(1);opacity:.4}.badge:not(.earned)>b{opacity:.8}.badge.earned{filter:none;opacity:1;box-shadow:var(--shadow),inset 0 0 0 2px var(--accent)}.badge-icon{font-size:34px}.badge-progress{position:relative;display:grid;place-items:center;width:100%;height:18px;margin-top:4px;border-radius:9px;background:var(--surface-2);overflow:hidden}.badge-progress span{position:absolute;inset:0 auto 0 0;background:var(--accent)}.badge-progress small{position:relative;font-size:11px;font-weight:800;line-height:1}.record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.record-card{display:grid;gap:6px;align-content:start;padding:14px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.record-list{margin:0;padding-left:20px;display:grid;gap:4px}.record-list li{display:flex;align-items:baseline;gap:4px}.record-list li.me{font-weight:800;color:var(--accent)}.record-row{display:flex;gap:10px;padding:8px 12px;border-radius:10px;background:var(--surface)}@media(max-width:759px){.play-side{order:2}}@media(max-width:420px){.nav-item{font-size:9.5px}}.avatar-disc{flex:none;display:inline-grid;place-items:center;width:var(--s);height:var(--s);border-radius:50%;font-size:calc(var(--s) * .56);line-height:1;color:#fff;font-weight:900;box-shadow:inset 0 -2px #00000040,0 0 0 2px #ffffff40}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.avatar-pick{display:grid;justify-items:center;gap:4px;padding:8px 4px;border-radius:12px;border:2px solid transparent;background:var(--surface-2);color:inherit;cursor:pointer}.avatar-pick.on{border-color:var(--accent)}.avatar-pick.locked .avatar-choose{opacity:.55;cursor:default}.avatar-choose{display:grid;justify-items:center;gap:4px;background:none;border:0;color:inherit;padding:0;cursor:pointer;font:inherit}.avatar-buy{padding:2px 10px;min-height:0;font-size:12px}.pack-row{gap:10px;padding:10px;border-radius:12px;background:var(--surface-2)}.pack-stack{display:flex}.pack-stack>*+*{margin-left:-12px}a.avatar-tag{text-decoration:none}.avatar-pick small{font-size:11px}.pack-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.pack-card{display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--surface-2)}.avatar-art{flex:none;display:inline-block;border-radius:50%;box-shadow:0 2px 6px #00000059}.avatar-pick{position:relative}.avatar-pick.soon{opacity:.75;cursor:default;filter:saturate(.8)}.avatar-tag{position:absolute;top:6px;right:6px;padding:1px 6px;border-radius:999px;font-size:9.5px;font-weight:800;background:#000000a6;color:#fde68a}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.feature-card-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:12px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.vote-col{display:grid;justify-items:center;align-content:start;gap:2px}.vote{width:36px;height:28px;border:0;border-radius:8px;background:var(--surface-2);color:var(--muted);cursor:pointer;font-size:13px}.vote.on.down{background:#7f1d1d;color:#fecaca}.vote:disabled{opacity:.5;cursor:default}.link-btn{border:0;background:none;padding:0;color:inherit;cursor:pointer;text-decoration:underline;font:inherit}.chip.status-coming_soon{background:var(--accent);color:var(--accent-text)}.chip.status-shipped{background:#166534;color:#dcfce7}.features-page textarea{width:100%;resize:vertical}.rules-page section{scroll-margin-top:16px;margin-bottom:18px}.rules-page h2{margin:18px 0 8px}.rules-page p,.rules-page li{line-height:1.55}.rules-head{gap:10px;align-items:center}.rules-head h1{margin:0}.rules-end{margin:28px 0 8px;padding-top:18px;border-top:1px solid var(--border);text-align:center}.rules-end p{font-weight:600;margin:0 0 12px}.rules-toc{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.rules-toc a{padding:4px 10px;border-radius:999px;background:var(--surface);text-decoration:none;font-size:13px}.rules-table{width:100%;border-collapse:collapse}.rules-table th,.rules-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.rules-table td:nth-child(2){white-space:nowrap;font-weight:800}.player-link{color:inherit;text-decoration:none}.player-link:hover,.player-link:focus-visible{text-decoration:underline;color:var(--accent)}.friend-row{gap:10px;align-items:center}.profile-hero{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;background:var(--surface-2)}.pp-locked summary{cursor:pointer;margin:8px 0;color:var(--muted)}.pp-locked .badge-grid{opacity:.75}.nav-short{display:none}@media(max-width:899px){.nav-long{display:none}.nav-short{display:inline}}.coach{position:fixed;z-index:60;left:12px;bottom:96px;width:min(340px,calc(100vw - 24px));max-height:min(60vh,520px);display:grid;grid-template-rows:auto 1fr;background:linear-gradient(180deg,#1d2b4a,#142038);color:#f1f5f9;border:2px solid #60a5fa;border-radius:16px;box-shadow:0 12px 32px #00000073;animation:coach-in .35s cubic-bezier(.3,1.4,.5,1)}.coach-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.12)}.coach-face{font-size:22px}.coach-body{overflow:auto;padding:8px 12px 12px;font-size:13.5px;line-height:1.4}.coach-body p{margin:0 0 6px}.coach-suggest{display:grid;gap:6px;margin-top:8px;padding:8px 10px;border-radius:12px;background:#60a5fa24;border:1px solid rgba(96,165,250,.4)}.coach-suggest ol{margin:0;padding-left:18px;font-weight:700}.coach-label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#93c5fd}.coach .btn{color:inherit}.coach-fab{position:fixed;z-index:60;left:12px;bottom:96px;display:flex;gap:6px;align-items:center;padding:8px 12px;border-radius:999px;border:2px solid #60a5fa;background:#1d2b4a;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 6px 18px #0006}@media(max-width:899px){.coach,.coach-fab{bottom:auto;top:56px}.coach{max-height:46vh;width:calc(100vw - 24px)}.coach-body{font-size:13px}.coach-suggest{margin-top:0}}@keyframes coach-in{0%{transform:translateY(12px) scale(.96);opacity:0}}.coach-target{outline:3px solid #fde047!important;outline-offset:3px;border-radius:10px;animation:coach-pulse 1s ease-in-out infinite;position:relative;z-index:5}g.coach-target,polygon.coach-target{outline:none!important;filter:drop-shadow(0 0 6px #fde047) drop-shadow(0 0 2px #fde047)}@keyframes coach-pulse{50%{outline-color:#fde04759}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#020617b3}.tour-spot{position:absolute;border-radius:14px;box-shadow:0 0 0 9999px #020617b3;border:2px solid #fde047;transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease;pointer-events:none}.tour-card{position:absolute;left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 32px));padding:16px;border-radius:16px;background:#1d2b4a;color:#f1f5f9;border:2px solid #60a5fa;box-shadow:0 16px 40px #00000080}.tour-card.bottom{bottom:24px}.tour-card.top{top:24px}.tour-card h3{margin:4px 0 6px}.tour-card p{margin:0 0 12px;line-height:1.45}.tour-card .btn{color:inherit}.admin-page{max-width:1100px}.admin-content{margin:0;padding:8px 12px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:8px;font-size:14px;display:grid;gap:4px;overflow-wrap:anywhere}.admin-reason{text-transform:capitalize}.admin-report input,.admin-detail input,.admin-detail select{width:100%}.warn-chip{background:#b91c1c!important;color:#fff!important}.linklike{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.admin-players{display:grid;gap:16px}@media(min-width:900px){.admin-players{grid-template-columns:280px 1fr;align-items:start}}.admin-results{max-height:60vh;overflow:auto}.admin-result{text-align:left;border:1px solid transparent;cursor:pointer;color:inherit;font:inherit}.admin-result.on{border-color:var(--accent)}.admin-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.admin-facts>div{display:grid;gap:2px;padding:10px;border-radius:12px;background:var(--surface-2)}.admin-list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}.admin-log{list-style:none;padding:0}.admin-log li{padding:8px 10px;border-radius:10px;background:var(--surface)}.prow,.prow .pchip{min-width:0}.prow .pchip{width:100%;grid-template-columns:minmax(0,1fr)}.prow .pchip>.row{min-width:0}.pname{min-width:0}.pmeta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:0}.pmeta>*{white-space:nowrap}.prow .plast{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tooltip{position:fixed;z-index:400;transform:translate(-50%,-100%);display:grid;gap:2px;max-width:240px;width:max-content;padding:7px 10px;border-radius:10px;background:#0b1220;color:#f1f5f9;font-size:12.5px;line-height:1.35;box-shadow:0 8px 20px #00000073;border:1px solid rgba(255,255,255,.14);pointer-events:none;animation:tip-in .12s ease-out}.tooltip.below{transform:translate(-50%)}.tooltip b{font-size:13px}.tooltip span{color:#cbd5e1}@keyframes tip-in{0%{opacity:0}}[data-tip]{cursor:help}.rc-tag svg{display:block}.target-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.target{display:grid;justify-items:start;gap:2px;padding:10px 12px 10px 16px;border-radius:12px;border:2px solid var(--border);background:var(--surface-2);color:inherit;font:inherit;text-align:left;cursor:pointer;position:relative;overflow:hidden}.target:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pc, #64748b)}.target-swatch{display:none}.target-name{font-size:15px}.target-effect{font-size:12.5px;color:var(--muted)}.target.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.target.unavailable{opacity:.5;cursor:not-allowed}.target.unavailable .target-effect{font-style:italic}.target.warn .target-effect{color:var(--warn)}.target.none:before{background:repeating-linear-gradient(45deg,#64748b 0 4px,transparent 4px 8px)}.list-item .chip{display:inline-block;padding:1px 8px;font-size:11px;vertical-align:2px}.list-item>.grow{min-width:0}.community-map .vote-col{display:grid;justify-items:center;gap:2px}.vote{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:inherit;width:28px;height:22px;padding:0;cursor:pointer;font-size:11px}.vote.on{background:var(--accent);color:var(--accent-text)}.vote:disabled{opacity:.4;cursor:default}.story-page{position:relative;min-height:100dvh;background:radial-gradient(ellipse at 50% 0%,#2a1208,#0b0606 55%,#050307);color:#f3e9dc;overflow-x:clip;padding:0 20px 80px}.story-stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.8;background-image:radial-gradient(1px 1px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 68% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 82% 42%,#fde68a,transparent),radial-gradient(1px 1px at 30% 64%,#fff,transparent),radial-gradient(1px 1px at 52% 84%,#bae6fd,transparent),radial-gradient(1.5px 1.5px at 6% 88%,#fff,transparent),radial-gradient(1px 1px at 92% 76%,#fff,transparent);animation:story-drift 90s linear infinite alternate}@keyframes story-drift{to{transform:translateY(-40px)}}.story-hero{position:relative;min-height:92dvh;display:grid;place-content:center;text-align:center;gap:10px}.story-back{position:absolute;top:16px;left:0;background:#ffffff14!important;color:#f3e9dc!important;border:1px solid rgba(255,255,255,.25)!important;box-shadow:none!important}.story-eyebrow{letter-spacing:.4em;text-transform:uppercase;font-size:12px;color:#f0a73b;margin:0}.story-hero h1{font-size:clamp(36px,8vw,76px);line-height:1.02;margin:0;text-shadow:0 0 40px rgba(240,120,60,.35)}.story-lede{font-size:clamp(17px,2.6vw,22px);color:#d6c3ad;font-style:italic;margin:0}.story-scroll{margin-top:30px;font-size:22px;opacity:.6;animation:story-bob 2s ease-in-out infinite}@keyframes story-bob{50%{transform:translateY(8px)}}.story-chapter{position:relative;max-width:680px;margin:0 auto 90px;opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease}.story-chapter.seen{opacity:1;transform:none}.story-chapter{scroll-margin-top:calc(clamp(130px,24vh,210px) + 24px)}.story-kicker{letter-spacing:.3em;text-transform:uppercase;font-size:11px;color:#f0a73b;margin:0 0 6px}.story-chapter h2{font-size:clamp(26px,5vw,40px);margin:0 0 18px}.story-chapter p{font-family:Georgia,Times New Roman,serif;font-size:clamp(17px,2.2vw,19.5px);line-height:1.75;color:#eadccb;margin:0 0 16px}.story-chapter p.story-first:first-letter{float:left;font-size:3.2em;line-height:.9;padding:4px 8px 0 0;color:#f0a73b}.story-end{text-align:center;display:grid;gap:14px}.story-end p{font-size:22px;font-style:italic}.story-narrator{position:fixed;z-index:5;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:6px;align-items:center}.story-listen{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 14px;border-radius:999px;border:1px solid rgba(253,230,138,.35);cursor:pointer;background:#140c0ac7;color:#f3e9dc;font:inherit;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000073;white-space:nowrap}.story-listen:hover{border-color:#fde68ab3}.story-listen-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f97316);color:#1c0a03;font-size:12px}.story-listen-stop{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#140c0ac7;color:#f3e9dc;cursor:pointer}.story-wave{display:inline-flex;gap:2px;align-items:center;height:16px}.story-wave i{width:3px;height:100%;border-radius:2px;background:#fbbf24;animation:story-wave 1s ease-in-out infinite}.story-wave i:nth-child(2){animation-delay:-.25s}.story-wave i:nth-child(3){animation-delay:-.5s}.story-wave i:nth-child(4){animation-delay:-.75s}@keyframes story-wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.story-chapter{opacity:1;transform:none;transition:none}.story-stars,.story-scroll,.story-wave i{animation:none}}.btn.create-btn{background:linear-gradient(135deg,#22c55e,#0ea5e9);color:#fff;border:0;font-weight:800;box-shadow:0 4px #0b6b48,0 8px 18px #0ea5e959;letter-spacing:.2px}.btn.create-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn.create-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #0b6b48}.bot-note{margin:0;padding:8px 10px;border-radius:10px;background:#94a3b824;border:1px dashed rgba(148,163,184,.5)}.versus{display:grid;gap:4px;margin:8px 0;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.versus-score{display:flex;align-items:baseline;gap:6px;font-size:22px}.versus-score small{font-size:12px;color:var(--muted)}.voyage{position:sticky;top:0;z-index:5;height:clamp(130px,24vh,210px);margin:0 -20px;overflow:hidden;border-bottom:1px solid rgba(253,186,116,.25);box-shadow:0 10px 30px #0009}.voyage svg{width:100%;height:100%;display:block}.voyage-ship{animation:voyage-bob 3s ease-in-out infinite}@keyframes voyage-bob{50%{translate:0 -4px}}.voyage-progress{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#f0a73b,#fb923c)}.voyage-pings{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ping{position:absolute;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;transform:translate(-50%) rotate(var(--r));background:#fffbeb;color:#1c1917;border:3px solid #1c1917;border-radius:999px;box-shadow:4px 4px #1c1917;font:900 13px/1 Comic Sans MS,Chalkboard SE,system-ui,sans-serif;text-transform:uppercase;animation:ping-pop .45s cubic-bezier(.2,1.8,.4,1) both;white-space:nowrap}.ping:after{content:"";position:absolute;left:18px;bottom:-10px;border:6px solid transparent;border-top-color:#1c1917}.ping .ping-tag{width:26px;height:26px;font-size:15px}@keyframes ping-pop{0%{transform:translate(-50%) rotate(var(--r)) scale(0)}70%{transform:translate(-50%) rotate(var(--r)) scale(1.18)}}.story-hero{min-height:70dvh}@media(prefers-reduced-motion:reduce){.voyage-ship,.ping{animation:none}}.story-chapter p+p{clear:left}.music-btn{min-width:36px;font-size:16px;line-height:1}.music-btn.on{color:var(--accent)}.shell-music{margin-right:8px;border-radius:999px}.shell-page{container:page / inline-size}.rooms-page{display:grid;gap:16px}.rooms-side .lobby-chat{margin:0}@container page (min-width: 760px){.rooms-page{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.rooms-side{position:sticky;top:16px}.rooms-side .lobby-lines{max-height:calc(100dvh - 260px);min-height:280px}}.rooms-cta .btn{min-height:48px;font-size:15px}@media(max-width:480px){.user-chip .user-karma{display:none}.shell-music{margin-right:4px}}.vy-label{fill:#a5b4fc;font:italic 13px Georgia,serif;opacity:.85}.vy-rubra{fill:#fdba74;font-size:15px}.twinkle{animation:twinkle 2.4s ease-in-out infinite}.twinkle:nth-child(3n){animation-delay:.8s}@keyframes twinkle{50%{opacity:.2}}.story-end .story-cta,.story-end .story-cta:visited{display:inline-flex;align-items:center;justify-content:center;min-width:150px;min-height:48px;padding:0 26px;border-radius:999px;font:800 16px/1 system-ui,sans-serif;text-decoration:none;letter-spacing:.3px;color:#f3e9dc!important;border:1.5px solid rgba(243,233,220,.45);background:#ffffff0f;transition:transform .15s ease,background .15s ease}.story-end .story-cta:hover{background:#ffffff1f;transform:translateY(-1px)}.story-end .story-cta.primary{color:#1c0a03!important;border:0;background:linear-gradient(135deg,#fbbf24,#f97316);box-shadow:0 6px 24px #f9731673}.story-end .story-cta.primary:hover{filter:brightness(1.06)}@media(prefers-reduced-motion:reduce){.twinkle{animation:none}}.auth{position:relative;min-height:100dvh;display:grid;align-items:center;justify-items:center;padding:24px 16px;overflow:hidden;color:#f3e9dc;background:radial-gradient(ellipse at 20% 10%,rgba(124,58,237,.28),transparent 55%),radial-gradient(ellipse at 85% 90%,rgba(234,88,12,.25),transparent 55%),linear-gradient(160deg,#07061a,#0d0815 55%,#170a0b)}.auth-sky{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(1px 1px at 8% 14%,#fff,transparent),radial-gradient(1.4px 1.4px at 22% 70%,#fde68a,transparent),radial-gradient(1px 1px at 38% 32%,#fff,transparent),radial-gradient(1px 1px at 55% 12%,#bae6fd,transparent),radial-gradient(1.6px 1.6px at 72% 52%,#fff,transparent),radial-gradient(1px 1px at 86% 22%,#fff,transparent),radial-gradient(1px 1px at 92% 78%,#fde68a,transparent),radial-gradient(1.2px 1.2px at 12% 90%,#fff,transparent),radial-gradient(1px 1px at 46% 88%,#fff,transparent),radial-gradient(1px 1px at 64% 70%,#bae6fd,transparent);background-size:520px 520px;opacity:.85;animation:auth-twinkle 6s ease-in-out infinite alternate}@keyframes auth-twinkle{to{opacity:.45}}.auth-scene{position:absolute;left:-12%;bottom:-18%;width:min(115vw,820px);aspect-ratio:1;pointer-events:none;opacity:.95;filter:drop-shadow(0 0 60px rgba(251,146,60,.25))}.auth-scene svg{width:100%;height:100%}.auth-card{position:relative;z-index:1;width:min(440px,100%);gap:14px;padding:28px 26px;border-radius:26px;background:#120c189e;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff14;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);animation:auth-in .6s cubic-bezier(.2,.9,.3,1) both}@keyframes auth-in{0%{transform:translateY(18px) scale(.98)}}.auth-eyebrow{margin:4px 0 -6px;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:#f0a73b}.auth-title{margin:0;font-size:clamp(30px,5vw,40px);line-height:1.05;letter-spacing:-.01em;text-shadow:0 0 30px rgba(251,146,60,.35)}.auth-sub{margin:0;color:#d6c3ad;line-height:1.5;font-size:15px}.auth-muted{color:#b8a690}.auth-providers{gap:10px}.auth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:0 18px;border-radius:14px;border:1px solid transparent;font:700 15.5px/1 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;transition:transform .12s ease,filter .12s ease,background .12s ease}.auth-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-btn:disabled{opacity:.55;cursor:default}.auth-btn.google{background:#fff;color:#1f1f1f;border-color:#dadce0}.auth-btn.apple{background:#000;color:#fff;border-color:#333}.auth-btn.email{background:#ffffff0f;color:#f3e9dc;border-color:#f3e9dc59}.auth-btn.primary{background:linear-gradient(135deg,#fbbf24,#f97316);color:#1c0a03;box-shadow:0 8px 26px #f9731666}.auth-btn.ghost{background:#ffffff0d;color:#f3e9dc;border-color:#f3e9dc40}.auth-input{width:100%;min-height:50px;padding:0 16px;border-radius:14px;border:1px solid rgba(243,233,220,.25);background:#00000059;color:#fff;font-size:16px}.auth-input:focus{outline:2px solid #f97316;outline-offset:1px}.auth-or{display:flex;align-items:center;gap:12px;color:#8f7f6c;font-size:12px;text-transform:uppercase;letter-spacing:.2em}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:#f3e9dc2e}.auth-story{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;text-decoration:none;color:#f3e9dc;background:linear-gradient(90deg,#7c3aed40,#ea580c33);border:1px solid rgba(255,255,255,.1)}.auth-story span:nth-child(2){flex:1}.auth-story:hover{filter:brightness(1.12)}.auth-links{gap:16px;margin:0;justify-content:center}.auth-links a{color:#b8a690}.auth-preview{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffff0d;border:1px dashed rgba(243,233,220,.25)}.auth-preview span{display:grid}.auth-preview.ok{border-style:solid;border-color:#4ade8080}@media(min-width:900px){.auth{justify-items:end;padding-right:max(6vw,40px)}.auth-scene{left:-6%;bottom:auto;top:50%;transform:translateY(-50%);width:min(70vw,900px)}}@media(prefers-reduced-motion:reduce){.auth-sky,.auth-card{animation:none}}.ready-chip{background:#94a3b82e!important;color:var(--muted)!important}.ready-chip.on{background:#22c55e38!important;color:#4ade80!important}.kick-btn{min-width:30px;padding:0 8px}.ready-toggle{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:2px dashed var(--border);background:var(--surface-2);cursor:pointer}.ready-toggle input{width:22px;height:22px;min-height:0;accent-color:#22c55e}.ready-toggle span{display:grid;gap:2px}.ready-toggle.on{border-style:solid;border-color:#22c55e}.rc-tag[data-tag=wild]{background:conic-gradient(from 0deg,#f97316,#facc15,#22c55e,#0ea5e9,#8b5cf6,#ec4899,#f97316)!important}.shell-story{margin-right:8px;border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;gap:2px}@media(max-width:480px){.shell-story-label{display:none}.shell-story{margin-right:4px}}.btn.danger{color:#fff;background:#b91c1c;border-color:#7f1d1d}.btn.danger:hover:not(:disabled){background:#991b1b}.auth-card .logo .logo-mark{width:56px;height:56px}.auth-card .logo-word span:first-child{font-size:16px}.auth-card .logo-word span:last-child{font-size:22px}.float-music{position:fixed;z-index:40;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0;font-size:18px;background:#140c0ab8!important;color:#f3e9dc!important;border:1px solid rgba(255,255,255,.25)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 20px #00000059}.soon-chip{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;vertical-align:middle;background:#fde68a;color:#713f12}.pass-warn{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:#fef3c7;color:#78350f;border:1px solid #f59e0b;font-size:13px;line-height:1.4}.draft-kept-wrap{display:grid;gap:4px;margin-bottom:4px}.draft-kept{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.draft-kept>div{flex:0 0 96px}.draft-kept .just-picked{outline:3px solid #22c55e;border-radius:10px}.draft-wait p{margin:0 0 8px}.settings-fields{border:0;margin:0;padding:0;min-width:0;display:contents}.settings-fields:disabled .map-tile:not(.on),.settings-fields:disabled .map-tile.build{display:none}.settings-fields:disabled .map-tile.on{cursor:default}.map-picker{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.map-tile{flex:0 0 auto;display:grid;justify-items:center;gap:4px;width:112px;padding:8px 6px;border-radius:14px;border:2px solid var(--border);background:var(--surface, #fff);color:inherit;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;scroll-snap-align:start;text-align:center;transition:border-color .15s,transform .15s}.map-tile small{font-size:10.5px;font-weight:500;opacity:.7}.map-tile:hover:not(:disabled){transform:translateY(-1px);border-color:#f59e0b}.map-tile.on{border-color:#f97316;box-shadow:0 0 0 3px #f9731640}.map-tile:disabled{opacity:.55;cursor:not-allowed}.map-tile.build{border-style:dashed;align-content:center;min-height:128px}.map-build-plus{font-size:30px;line-height:1;color:#f97316}.map-preview{display:block}.collapse-head{all:unset;display:flex;align-items:center;gap:8px;cursor:pointer}.collapse-head:focus-visible{outline:2px solid #f97316;outline-offset:4px;border-radius:6px}.collapse-caret{font-size:18px}.room-start{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:6;display:grid;justify-items:center;gap:6px;margin-top:16px;padding:10px;border-radius:18px;background:#140c0a8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fde7c8}.start-big{width:min(100%,520px);min-height:58px;border:0!important;border-radius:16px;font-size:20px;font-weight:800;letter-spacing:.02em;color:#fff!important;background:linear-gradient(135deg,#f97316,#dc2626)!important;box-shadow:0 10px 28px #dc262673}.start-big:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.start-big:disabled{background:#78716c!important;box-shadow:none;opacity:.8}.game-pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:16px;background:#08040c9e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade .2s both}.game-pop{width:min(440px,100%);display:grid;gap:12px;padding:24px 22px 20px;border-radius:24px;color:#f3e9dc;text-align:center;background:radial-gradient(120% 90% at 50% 0%,#3b1a0e,#160b10 70%);border:1px solid rgba(253,186,116,.35);box-shadow:0 30px 80px #0009;animation:sheet-up .35s cubic-bezier(.2,.9,.3,1) both}.game-pop-eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#f0a73b}.game-pop h2{margin:0;font-size:24px;line-height:1.15}.game-pop-body{display:flex;gap:14px;align-items:center;justify-content:center;text-align:left}.game-pop-body ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px;color:#e7d6c3}.game-pop-actions{display:flex;gap:10px}.game-pop-actions .btn{flex:1;min-height:50px;border-radius:14px;font-weight:700}.game-pop-later{background:#ffffff14!important;color:#f3e9dc!important;border:1px solid rgba(255,255,255,.25)!important}.game-pop-join{border:0!important;color:#fff!important;background:linear-gradient(135deg,#f97316,#dc2626)!important;box-shadow:0 8px 24px #dc262666}.count-chip{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800;background:#f97316;color:#fff;vertical-align:middle}.go-ghost{background:#ffffff1a!important;color:#fdf4e7!important;border:1px solid rgba(255,255,255,.45)!important}.go-ghost:hover{background:#ffffff2e!important}.go-primary{border:0!important;color:#fff!important;background:linear-gradient(135deg,#f97316,#dc2626)!important;box-shadow:0 8px 22px #dc262666}.panel-inline{margin-top:10px;padding:10px;border-radius:12px;background:#0000000a;border:1px solid var(--border)}.embedded-profile{display:grid;gap:10px}.vp-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.vp-table th{text-align:left;font-weight:600;padding:5px 0}.vp-table th small{font-weight:400;opacity:.7}.vp-table td{text-align:right;font-weight:700;padding:5px 0}.vp-table tr+tr{border-top:1px solid var(--border)}.vp-total th,.vp-total td{font-size:16px;font-weight:800}.vp-list{display:flex;flex-wrap:wrap;gap:6px}.vp-cards{display:grid;gap:4px}.vp-card-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.vp-card-row:hover{border-color:#f59e0b}.vp-card-row b.neg{color:var(--danger, #b91c1c)}.results-page{max-width:760px;margin:0 auto}.results-hero{text-align:center;padding:26px 16px 18px;border-radius:22px;color:#f3e9dc;background:radial-gradient(120% 100% at 50% 0%,#4a1d0c,#170b10 75%);border:1px solid rgba(253,186,116,.3)}.results-hero h1{margin:6px 0 0;font-size:clamp(28px,6vw,44px);color:#fde68a;text-shadow:0 0 24px rgba(253,230,138,.35)}.results-hero p{margin:8px auto 0;max-width:46ch;color:#e7d6c3}.results-kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#f0a73b}.results-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.results-row{border-radius:14px;border:1px solid var(--border);border-left:5px solid var(--pc);background:var(--surface, rgba(255, 255, 255, .6));overflow:hidden}.results-row.first{box-shadow:0 0 0 2px #fbbf24}.results-head{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;font-size:16px}.results-head:focus-visible{outline:2px solid #f97316;outline-offset:-2px}.results-place{width:26px;text-align:center;font-weight:800}.results-detail{padding:0 14px 14px}.results-actions{display:flex;gap:10px;flex-wrap:wrap}.results-actions .btn{flex:1;min-height:48px}.replay-caption{margin:8px 0 4px;font-weight:600}.log-toggle{gap:6px;margin:0 0 6px}.log-card{all:unset;cursor:pointer;font-weight:700;color:#c2410c;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.log-card:focus-visible{outline:2px solid #f97316;border-radius:3px}.pclock{font-variant-numeric:tabular-nums}.pclock.low{color:var(--danger, #b91c1c);font-weight:700}.prow{position:relative}.prow.producing>.pchip{box-shadow:0 0 0 3px #fbbf24,0 0 24px #fbbf248c;transform:scale(1.03);transition:transform .3s,box-shadow .3s}.prod-pop{position:absolute;z-index:4;left:50%;top:6px;display:flex;gap:6px;padding:5px 10px;border-radius:999px;white-space:nowrap;pointer-events:none;background:#1c1208;color:#fde68a;font-weight:800;font-size:13px;box-shadow:0 6px 18px #0006;animation:prod-drop 1.5s cubic-bezier(.3,.9,.4,1) both}.prod-gain{display:inline-flex;align-items:center;gap:2px}.prod-gain .ri{width:15px;height:15px}.prod-gain.minus{color:#fca5a5}@keyframes prod-drop{0%{opacity:0;transform:translate(-50%,-4px) scale(.8)}18%{opacity:1;transform:translate(-50%) scale(1.08)}60%{opacity:1;transform:translate(-50%,2px) scale(1)}to{opacity:0;transform:translate(-50%,34px) scale(.6)}}@media(prefers-reduced-motion:reduce){.prod-pop{animation:none}}.big-tabs .tab{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:520px){.big-tabs .tab{font-size:13px;padding-left:4px;padding-right:4px;gap:2px}.big-tabs .tab>span[aria-hidden=true]:first-child{display:none}.big-tabs .soon-chip{font-size:0;width:8px;height:8px;padding:0;margin-left:4px}.big-tabs .count-chip{min-width:16px;height:16px;font-size:10px;margin-left:3px;padding:0 4px}}.es-strip{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;padding:2px 0 4px;border-bottom:1px dashed rgba(0,0,0,.15);margin-bottom:2px}.es-chip{position:relative;display:inline-flex;align-items:center;gap:2px;padding:1px 3px;border-radius:6px;font-size:1.05em;line-height:1}.es-chip .ri,.es-ico{width:1.35em;height:1.35em;flex:0 0 auto}.es-n{font-weight:900;font-variant-numeric:tabular-nums;color:#14532d}.es-n.neg{color:#b91c1c}.es-chip.prod{padding:2px 9px 2px 4px;background:linear-gradient(180deg,#24335a,#172240);border:1.5px solid #fbbf24;box-shadow:inset 0 1px #ffffff26}.es-chip.prod .es-n{color:#fde68a}.es-chip.prod .es-n.neg{color:#fca5a5}.es-cycle{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#fbbf24;color:#172240;font-size:9px;font-weight:900}.es-chip.any{outline:1.5px dashed #dc2626;outline-offset:1px}.es-v{display:grid;place-items:center;width:1.35em;height:1.35em;border-radius:50%;background:#f59e0b;color:#1c0a03;font-weight:900;font-size:.8em}.es-tag{display:inline-grid;place-items:center;width:1.35em;height:1.35em;font-size:.85em}.es-emoji{font-size:1em}.es-arrow{font-size:.75em;opacity:.7}.rc-strip-compact{grid-column:2;grid-row:4;padding:3px 5px 0;font-size:10px;min-height:0}.rc-strip-compact .es-strip{border-bottom:0;padding:0}.es-chip.prod .ri{background:#f8fafc;border-radius:5px;padding:1px;box-sizing:border-box}.es-chip .es-ico{width:1.6em;height:1.6em}
