*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0e19;--panel: rgba(18, 25, 42, .66);--panel-solid: #131a2c;--line: rgba(226, 194, 117, .14);--line-strong: rgba(226, 194, 117, .35);--ink: #eae6da;--muted: #8d95aa;--gold: #e2c275;--gold-deep: #b98f3e;--mint: #7fd6a4;--red: #e4572e;--font-display: "Fraunces", Georgia, serif;--font-ui: "Archivo", system-ui, sans-serif;--font-mono: "Spline Sans Mono", ui-monospace, monospace;--tower: #f5b82e;--tower-ink: #201503;--luxor: #e4572e;--luxor-ink: #fff4ef;--american: #4f7cff;--american-ink: #eef2ff;--worldwide: #b07d4f;--worldwide-ink: #fff7ee;--festival: #3fa34d;--festival-ink: #f0fff2;--continental: #2ec4b6;--continental-ink: #04211e;--imperial: #d6479a;--imperial-ink: #fff0f8}.c-tower{--cc: var(--tower);--cc-ink: var(--tower-ink)}.c-luxor{--cc: var(--luxor);--cc-ink: var(--luxor-ink)}.c-american{--cc: var(--american);--cc-ink: var(--american-ink)}.c-worldwide{--cc: var(--worldwide);--cc-ink: var(--worldwide-ink)}.c-festival{--cc: var(--festival);--cc-ink: var(--festival-ink)}.c-continental{--cc: var(--continental);--cc-ink: var(--continental-ink)}.c-imperial{--cc: var(--imperial);--cc-ink: var(--imperial-ink)}html,body{height:100%}body{background:radial-gradient(1100px 600px at 75% -10%,rgba(226,194,117,.07),transparent 60%),radial-gradient(900px 700px at -10% 110%,rgba(79,124,255,.06),transparent 55%),var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden;touch-action:manipulation}#app{height:100dvh;display:flex;flex-direction:column}#app.scroll-screen{overflow-y:auto;overflow-x:hidden}#app.locked-screen{overflow:hidden;user-select:none}.ic{width:1.05em;height:1.05em;vertical-align:-.18em;display:inline-block}::selection{background:#e2c2754d}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:#e2c27533;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.topbar{display:flex;align-items:center;gap:14px;padding:10px 18px;flex:0 0 auto}.brand{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.34em;user-select:none}.brand .brand-a{color:var(--gold);font-weight:900}.room-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:999px;padding:4px 14px;cursor:pointer;transition:border-color .2s,color .2s}.room-tag:hover{border-color:var(--line-strong);color:var(--ink)}.room-tag b{color:var(--gold);letter-spacing:.22em}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.conn-pill{font-size:10.5px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--line)}.conn-pill:before{content:"●";margin-right:6px;font-size:7px;vertical-align:1.5px;color:var(--muted)}.conn-pill[data-state=open]:before{color:var(--mint)}.conn-pill[data-state=closed]:before,.conn-pill[data-state=connecting]:before{color:var(--gold)}.icon-btn{display:inline-grid;place-items:center;background:none;border:1px solid var(--line);color:var(--ink);border-radius:10px;width:34px;height:30px;cursor:pointer;font-size:15px;transition:border-color .2s,transform .15s}.icon-btn:hover{border-color:var(--line-strong);transform:translateY(-1px)}.icon-btn.danger-btn{color:var(--muted)}.icon-btn.danger-btn:hover{color:#f2977d;border-color:#e4572e80;background:#e4572e1a}.btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-ui);font-weight:600;font-size:13.5px;color:var(--ink);background:#e2c27514;border:1px solid var(--line-strong);border-radius:11px;padding:9px 18px;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s,filter .2s}.btn:hover:not(:disabled){transform:translateY(-1px);background:#e2c27526}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.4;cursor:default}.btn.gold{background:linear-gradient(160deg,#f4d99a,var(--gold) 45%,var(--gold-deep));color:#241a05;border-color:transparent;box-shadow:0 4px 18px #e2c27540}.btn.gold:hover:not(:disabled){filter:brightness(1.07);box-shadow:0 6px 22px #e2c27559}.btn.big{font-size:15.5px;padding:12px 28px}.btn.ghost{background:transparent;border-color:var(--line);color:var(--muted)}.btn.ghost:hover:not(:disabled){color:var(--ink)}.btn.danger{background:#e4572e1f;border-color:#e4572e80;color:#f2977d}.btn.danger:hover:not(:disabled){background:#e4572e38}.input{font-family:var(--font-ui);font-size:14px;color:var(--ink);background:#0a0e19b3;border:1px solid var(--line);border-radius:11px;padding:10px 14px;outline:none;min-width:0;transition:border-color .2s}.input:focus{border-color:var(--line-strong)}.input::placeholder{color:#5a6178}.code-input{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.3em;width:100px;text-align:center}.select{appearance:none;cursor:pointer}.keycap{display:inline-flex;align-items:center;justify-content:center;color:currentColor;opacity:.9}.keycap-space svg{width:40px;height:13px;display:block}.home{flex:1;display:flex;flex-direction:column;align-items:center;padding:4vh 24px 40px;gap:42px}.hero{text-align:center;animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.hero-kicker{font-size:12px;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);opacity:.85;margin-bottom:14px}.hero-title{font-family:var(--font-display);font-size:clamp(62px,12vw,142px);font-weight:900;line-height:.95;letter-spacing:.06em;background:linear-gradient(175deg,#f7e3b2 20%,var(--gold) 55%,#8a691f 95%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 80px rgba(226,194,117,.18)}.hero-sub{margin-top:18px;color:var(--muted);font-size:16px}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;width:min(1060px,100%);animation:rise .7s .12s cubic-bezier(.2,.7,.2,1) both}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;backdrop-filter:blur(14px);transition:border-color .25s,transform .25s}.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.card h2{font-family:var(--font-display);font-weight:600;font-size:21px;margin-bottom:6px}.card p{color:var(--muted);font-size:13.5px;margin-bottom:16px;min-height:38px}.field-row{display:flex;gap:8px;flex-wrap:wrap}.field-row .input{flex:1 1 110px;min-width:110px}.home-foot{color:var(--muted);font-size:12.5px;opacity:.8;text-align:center}.home-foot a{color:var(--gold);text-decoration:none}.home-foot a:hover{text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.lobby{flex:1;display:grid;place-items:center;padding:24px}.lobby-card{width:min(560px,100%);text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:36px 32px;backdrop-filter:blur(14px);animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.lobby-code-label{font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--muted)}.lobby-code{font-family:var(--font-mono);font-size:56px;font-weight:600;letter-spacing:.35em;color:var(--gold);margin:6px 0 4px;padding-left:.35em;cursor:pointer;user-select:all;text-shadow:0 0 40px rgba(226,194,117,.3);transition:transform .15s}.lobby-code:hover{transform:scale(1.03)}.lobby-hint{color:var(--muted);font-size:12.5px;margin-bottom:24px}.seats{display:flex;flex-direction:column;gap:8px;margin-bottom:26px}.seat{display:flex;align-items:center;gap:10px;background:#0a0e1980;border:1px solid var(--line);border-radius:12px;padding:11px 14px;text-align:left}.seat.away{opacity:.55}.seat.add{justify-content:center;color:var(--muted);cursor:pointer;font-size:13.5px;border-style:dashed;background:none;font-family:var(--font-ui);transition:color .2s,border-color .2s}.seat.add:hover{color:var(--gold);border-color:var(--line-strong)}.seat-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex-shrink:0}.seat-dot.on{background:var(--mint);box-shadow:0 0 8px #7fd6a499}.seat-dot.bot{background:var(--american)}.seat-dot.off{background:#555}.seat-name{font-weight:600}.seat-name i,.pname i{color:var(--muted);font-style:normal;font-weight:400;font-size:11.5px}.ai-chip,.host-chip,.away-chip{font-size:10px;letter-spacing:.1em;text-transform:uppercase;border-radius:6px;padding:2px 7px;font-weight:700;display:inline-flex;align-items:center;gap:4px}.ai-chip{background:#4f7cff29;color:#9ab3ff;font-size:13px;padding:2px 6px}.host-chip{background:#e2c27526;color:var(--gold)}.away-chip{background:#ffffff14;color:var(--muted)}.seat-x{margin-left:auto;background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:4px 6px;border-radius:6px}.seat-x:hover{color:var(--red);background:#e4572e1a}.lobby-actions{display:flex;gap:12px;justify-content:center;align-items:center}.waiting-pulse{color:var(--muted);font-size:14px;animation:fade-pulse 1.8s ease-in-out infinite}@keyframes fade-pulse{0%,to{opacity:.5}50%{opacity:1}}.game-shell{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:14px;padding:0 16px 12px}.stage{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:0}.side{display:flex;flex-direction:column;gap:10px;min-height:0}.turn-banner{flex:0 0 auto;text-align:center;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:.02em;color:var(--muted);min-height:26px;transition:color .3s}.turn-banner.is-you{color:var(--gold);text-shadow:0 0 30px rgba(226,194,117,.35)}.banner-wait{animation:fade-pulse 2s ease-in-out infinite}.end-flag{font-family:var(--font-ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;background:#e4572e2e;color:#f2977d;border-radius:6px;padding:3px 8px;vertical-align:3px;margin-left:8px}.board-holder{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.board-scene{perspective:1700px;max-width:100%;max-height:100%;isolation:isolate}.board-frame{width:min(72vw,1080px,calc((100dvh - 248px)*1.5));max-width:100%;transform:rotateX(8deg);background:linear-gradient(160deg,rgba(226,194,117,.08),transparent 40%),linear-gradient(#151c30,#101627);border:1px solid var(--line);border-radius:18px;padding:clamp(8px,1.2vw,16px);box-shadow:0 30px 60px -18px #000000a6,inset 0 1px #ffffff0d}.board{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2px,.4vw,5px)}.cell{position:relative;grid-column:calc(var(--c) + 1);grid-row:calc(var(--r) + 1);aspect-ratio:10 / 9;border-radius:14%;background:linear-gradient(180deg,#050810e6,#0a0f1cb3);box-shadow:inset 0 2px 6px #0000008c,inset 0 -1px #ffffff08;display:grid;place-items:center;transition:box-shadow .25s,background .25s}.cell-label{font-family:var(--font-mono);font-size:clamp(7px,.8vw,11px);color:#8d95aa66;user-select:none;transition:color .2s}.cell.hint{box-shadow:inset 0 0 0 1.5px #e2c2758c,inset 0 2px 10px #e2c2751f;cursor:pointer;animation:hint-glow 1.6s ease-in-out infinite}.cell.hint .cell-label{color:var(--gold)}@keyframes hint-glow{0%,to{box-shadow:inset 0 0 0 1.5px #e2c27559,inset 0 2px 10px #e2c27514}50%{box-shadow:inset 0 0 0 1.5px #e2c275cc,inset 0 2px 14px #e2c27538}}.cell.tile{transform:translateY(-1px);background:linear-gradient(165deg,#2a3147,#191f31 60%,#12172a);border:1px solid rgba(255,255,255,.09);box-shadow:0 14px 16px -8px #000000bf,inset 0 1px #ffffff1a}.cell.tile .cell-label{color:#cfd4e4;font-weight:600;font-size:clamp(8px,.9vw,12.5px);text-shadow:0 1px 2px rgba(0,0,0,.6)}.cell.tile[class*=c-]{background:linear-gradient(165deg,color-mix(in oklab,var(--cc),white 22%),var(--cc) 52%,color-mix(in oklab,var(--cc),black 28%));border-color:color-mix(in oklab,var(--cc),white 30%)}.cell.tile[class*=c-] .cell-label{color:var(--cc-ink);text-shadow:none;opacity:.85}.cell.tile.safe{border:2px solid color-mix(in oklab,var(--cc),white 55%);box-shadow:0 14px 16px -8px #000000bf,0 0 12px -2px color-mix(in srgb,var(--cc) 65%,transparent),inset 0 0 0 1.5px #0a0e198c,inset 0 1px #ffffff1a}.cell.just-placed{animation:drop-in .55s cubic-bezier(.2,.9,.25,1.2) both}@keyframes drop-in{0%{transform:translateY(-22px) scale(1.28);opacity:0}60%{opacity:1}to{transform:translateY(-1px) scale(1)}}.cell.flip{animation:absorb .6s cubic-bezier(.3,.7,.3,1) both}@keyframes absorb{0%{filter:brightness(2.1) saturate(.4);transform:translateY(-5px) scale(1.06)}to{filter:none;transform:translateY(-1px) scale(1)}}.cell.placed-ring:after{content:"";position:absolute;inset:-3px;border-radius:18%;border:2px solid var(--gold);animation:ring-pulse 1.8s ease-out infinite;pointer-events:none}@keyframes ring-pulse{0%{opacity:.9;transform:scale(.96)}70%{opacity:0;transform:scale(1.25)}to{opacity:0}}.action-dock{flex:0 0 auto;display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:10px 14px;backdrop-filter:blur(14px);min-height:78px}.dock-cash{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:none;border:1px solid transparent;border-radius:12px;padding:6px 10px;cursor:pointer;text-align:left;transition:border-color .2s,background .2s;position:relative}.dock-cash:hover{border-color:var(--line);background:#e2c2750d}.dock-cash-num{font-family:var(--font-mono);font-size:20px;color:var(--gold);font-weight:600;line-height:1}.dock-cash-icon{position:absolute;top:6px;right:8px;color:var(--muted);font-size:13px}.dock-cash:hover .dock-cash-icon{color:var(--gold)}.dock-chips{display:flex;gap:4px;flex-wrap:wrap;max-width:190px}.share-chip{font-family:var(--font-mono);font-size:10.5px;font-weight:500;background:color-mix(in srgb,var(--cc) 24%,transparent);color:color-mix(in oklab,var(--cc),white 40%);border:1px solid color-mix(in srgb,var(--cc) 45%,transparent);border-radius:6px;padding:1px 5px}.share-chip b{font-weight:700}.no-shares{color:var(--muted);font-size:11px}.rack{display:flex;gap:8px}.rtile{position:relative;width:clamp(44px,4.6vw,56px);aspect-ratio:10 / 11;border-radius:10px;cursor:default;border:1px solid rgba(255,255,255,.1);background:linear-gradient(168deg,#2c3450,#1a2136 55%,#131a2c);box-shadow:0 6px 14px -4px #0009,inset 0 1px #ffffff1a;display:grid;place-items:center;transition:transform .16s,box-shadow .2s,border-color .2s}.rtile-face{font-family:var(--font-mono);font-size:clamp(12px,1.2vw,15px);font-weight:600;color:#dfe3f0;text-shadow:0 1px 2px rgba(0,0,0,.7)}.rtile.can{cursor:pointer}.rtile.can:hover{transform:translateY(-5px);border-color:var(--line-strong);box-shadow:0 12px 20px -6px #000000b3}.rtile.sel{transform:translateY(-7px);border-color:var(--gold);box-shadow:0 12px 24px -6px #000c,0 0 18px #e2c27559}.rtile.dead{opacity:.45;filter:saturate(.2)}.rtile.dead:after{content:"";position:absolute;inset:22%;background:linear-gradient(45deg,transparent 44%,var(--red) 44%,var(--red) 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--red) 44%,var(--red) 56%,transparent 56%)}.rtile.dead .rtile-face{opacity:.35}.rtile.blocked{opacity:.6}.rtile.mini{width:40px;box-shadow:0 3px 8px -3px #00000080}.rtile.mini .rtile-face{font-size:11.5px}.dock-controls{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex:1 1 300px;min-width:0}.dock-note{color:var(--ink);font-size:13.5px}.dim-note{color:var(--muted);animation:fade-pulse 2s ease-in-out infinite}.next-prompt{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-ui);font-weight:700;font-size:14px;color:#241a05;background:linear-gradient(160deg,#f4d99a,var(--gold) 45%,var(--gold-deep));border:none;border-radius:12px;padding:11px 20px;cursor:pointer;box-shadow:0 4px 22px #e2c27559;animation:prompt-pulse 1.6s ease-in-out infinite}.next-prompt:disabled{animation:none;opacity:.7;cursor:default}.next-prompt .np-hint{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.75}.next-prompt .keycap-space{margin-left:2px}@keyframes prompt-pulse{0%,to{box-shadow:0 4px 18px #e2c2754d}50%{box-shadow:0 4px 30px #e2c2758c;transform:translateY(-1px)}}.stepper{display:inline-flex;align-items:center;gap:7px}.stepper b{font-family:var(--font-mono);min-width:16px;text-align:center}.step,.dstep{width:24px;height:24px;border-radius:7px;border:1px solid var(--line-strong);background:#e2c27514;color:var(--ink);font-size:14px;cursor:pointer;line-height:1;transition:background .15s}.step:hover:not(:disabled),.dstep:hover:not(:disabled){background:#e2c27533}.step:disabled,.dstep:disabled{opacity:.25;cursor:default}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;backdrop-filter:blur(14px);min-height:0}.panel-title{font-family:var(--font-display);font-size:14.5px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;color:var(--ink);display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bag-count{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);font-weight:400;white-space:nowrap}.market-strip{display:none}.mchip{display:inline-flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--cc) 45%,transparent);background:color-mix(in srgb,var(--cc) 12%,transparent);border-radius:8px;padding:3px 6px;font-family:var(--font-mono);font-size:11px;line-height:1.2}.mchip b{color:color-mix(in oklab,var(--cc),white 30%);font-size:12px}.mchip .mchip-size{color:var(--ink);font-weight:600}.mchip em{font-style:normal;color:var(--muted);font-size:9.5px}.mchip.dormant{opacity:.4}.mchip .ic{width:.9em;height:.9em;color:color-mix(in oklab,var(--cc),white 30%)}.market{width:100%;border-collapse:collapse;font-size:12.5px}.market th{text-align:left;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 4px 4px}.market td{padding:3.5px 4px;border-top:1px solid rgba(255,255,255,.04);white-space:nowrap}.market td:nth-child(n+2){font-family:var(--font-mono);font-size:11.5px}.market tr.dormant td{color:var(--muted);opacity:.5}.market tr.active td:first-child{font-weight:600}.dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--cc, var(--muted));margin-right:7px;vertical-align:-1px;box-shadow:0 0 6px color-mix(in srgb,var(--cc, transparent) 50%,transparent)}.lock{margin-left:5px;color:color-mix(in oklab,var(--cc),white 25%)}.lock .ic{width:.9em;height:.9em}.player-list{display:flex;flex-direction:column;gap:5px}.player{display:flex;flex-direction:column;gap:3px;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:6px 10px;transition:border-color .3s,box-shadow .3s,background .3s;font-size:13px}.player-row{display:flex;align-items:center;gap:8px;min-width:0}.player.turn{border-color:var(--line-strong);background:#e2c2750d;box-shadow:0 0 18px #e2c2751f}.pdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pdot.on{background:var(--mint)}.pdot.off{background:#555}.pdot.bot{background:var(--american)}.pname{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player.turn .pname{color:var(--gold)}.pmeta{margin-left:auto;display:flex;align-items:center;gap:9px;flex-shrink:0}.pcash{font-family:var(--font-mono);font-size:12px;color:var(--gold)}.hidden-cash{color:var(--muted);display:inline-flex}.hidden-cash .ic{width:1.2em;height:1.2em}.ptiles{color:#3d4763;font-size:8px;letter-spacing:2px}.botify-btn{display:inline-flex;align-items:center;gap:4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;background:#4f7cff1f;color:#9ab3ff;border:1px solid rgba(79,124,255,.35);border-radius:7px;padding:2px 7px;cursor:pointer}.botify-btn:hover{background:#4f7cff40}.lastmove-panel{flex:1;display:flex;flex-direction:column}.log{overflow-y:auto;flex:1;font-size:12.5px;color:#b9c0d2;display:flex;flex-direction:column;gap:5px;padding-right:4px}.log-line b{color:var(--ink);font-weight:600}.log-line .cash{color:var(--mint);font-family:var(--font-mono);font-size:11.5px}.log-line.big{padding:5px 8px;background:#e2c2750d;border-left:2px solid var(--line-strong);border-radius:6px}.dim-line{color:var(--muted)}.lc{color:color-mix(in oklab,var(--cc),white 30%);font-weight:700}.log-merger{font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(160deg,#f4d99a,var(--gold-deep));color:#241a05;border-radius:5px;padding:2px 6px;margin-right:4px}.queue-note{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);color:var(--gold);font-size:11.5px;letter-spacing:.06em;display:flex;align-items:center;gap:6px;animation:fade-pulse 1.6s ease-in-out infinite}.overlay.portfolio-overlay{display:flex;align-items:flex-end;justify-content:center;padding:0}.portfolio{width:min(760px,100%);background:linear-gradient(170deg,#1a2138,var(--panel-solid) 55%);border:1px solid var(--line-strong);border-radius:22px 22px 0 0;padding:24px 28px 16px;box-shadow:0 -30px 90px -20px #000c;animation:sheet-up .3s cubic-bezier(.2,.9,.3,1.1) both;max-height:86dvh;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}.pf-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.pf-label{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.pf-cash{font-family:var(--font-mono);font-size:30px;color:var(--gold);font-weight:600}.pf-worth{font-size:13px;color:var(--muted);font-weight:400;margin-left:8px}.stock-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-bottom:18px}.stock-card{position:relative;overflow:hidden;border-radius:12px;padding:0 0 10px;background:linear-gradient(170deg,color-mix(in srgb,var(--cc) 20%,#10162a),#0d1322 70%);border:1px solid color-mix(in srgb,var(--cc) 50%,transparent);box-shadow:0 10px 24px -10px #000000b3;text-align:center}.stock-card:after{content:"";position:absolute;inset:5px;border-radius:8px;border:1px solid color-mix(in srgb,var(--cc) 25%,transparent);pointer-events:none}.sc-band{display:flex;align-items:center;justify-content:center;gap:6px;background:color-mix(in srgb,var(--cc) 85%,black);color:var(--cc-ink);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 4px;margin-bottom:8px}.sc-letter{font-family:var(--font-display);font-size:40px;font-weight:900;line-height:1;color:color-mix(in oklab,var(--cc),white 22%)}.sc-count{font-family:var(--font-mono);font-size:13px;color:var(--ink);margin-top:2px}.sc-count b{font-size:16px}.sc-value{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);margin-top:4px}.pf-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pf-tiles .rack{flex-wrap:wrap}.pf-standing{display:flex;flex-direction:column;gap:4px}.pf-player{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.pf-player.turn{border-color:var(--line-strong);color:var(--gold)}.pf-player>span:nth-child(2){font-family:var(--font-mono);font-size:12px;color:var(--muted)}.pf-player.turn>span:nth-child(2){color:var(--gold)}.pf-player{flex-wrap:wrap}.pf-player .pholds{padding-left:0;margin-top:3px}.pf-foot{margin-top:16px;text-align:center;color:var(--muted);font-size:11.5px}.pf-foot b{color:var(--ink)}dialog.overlay{position:fixed;inset:0;z-index:60;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:none;padding:20px;background:#04070ed1;color:inherit;display:grid;place-items:center;animation:overlay-in .25s ease both;overflow:hidden}dialog.overlay:not([open]){display:none}dialog.overlay::backdrop{background:transparent}dialog.overlay:focus-visible{outline:none}.overlay.no-enter,.overlay.no-enter .modal,.overlay.no-enter .portfolio{animation:none}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{width:min(540px,100%);background:linear-gradient(170deg,#1a2138,var(--panel-solid) 55%);border:1px solid var(--line-strong);border-radius:22px;padding:28px 30px;box-shadow:0 40px 90px -20px #000c;animation:modal-in .35s cubic-bezier(.2,.9,.3,1.15) both;max-height:92dvh;overflow-y:auto}.modal.wide{width:min(700px,100%)}@keyframes modal-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}.modal-title{font-family:var(--font-display);font-size:25px;font-weight:700;margin-bottom:6px}.modal-sub{color:var(--muted);font-size:14px;margin-bottom:20px}.modal-sub b{color:var(--ink)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:22px;flex-wrap:wrap}.overlay[data-kind=found]{background:#04070e8c}.overlay.buy-overlay{background:#04070e94;align-items:center}.buy-sheet{width:min(880px,100%);padding:22px 24px 20px}.buy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.buy-head .modal-title{margin-bottom:2px}.buy-hint{color:var(--muted);font-size:13px}.buy-hint b{color:var(--ink)}.buy-cash{text-align:right;flex-shrink:0}.buy-cash-num{display:block;font-family:var(--font-mono);font-size:26px;font-weight:600;color:var(--gold);line-height:1.1}.buy-cash-num.spending{color:var(--mint)}.buy-cash-was{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);text-decoration:line-through;opacity:.7}.buy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.buy-card{position:relative;overflow:hidden;cursor:pointer;border-radius:14px;background:linear-gradient(172deg,color-mix(in srgb,var(--cc) 16%,#10162a),#0d1322 78%);border:1.5px solid color-mix(in srgb,var(--cc) 38%,transparent);transition:transform .15s,box-shadow .2s,border-color .2s,background .2s}.buy-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--cc) 70%,transparent);box-shadow:0 12px 26px -10px color-mix(in srgb,var(--cc) 55%,transparent)}.buy-card.picked{border-color:color-mix(in oklab,var(--cc),white 30%);background:linear-gradient(172deg,color-mix(in srgb,var(--cc) 30%,#10162a),#0d1322 82%);box-shadow:0 0 0 1px color-mix(in srgb,var(--cc) 45%,transparent),0 14px 30px -12px color-mix(in srgb,var(--cc) 60%,transparent)}.buy-card.focused{outline:2px solid var(--gold);outline-offset:2px}.buy-card.out,.buy-card.dear,.buy-card.capped{opacity:.45}.buy-card.out:hover,.buy-card.dear:hover,.buy-card.capped:hover{transform:none;box-shadow:none}.bc-band{display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--cc) 82%,black);color:var(--cc-ink);padding:6px 9px;font-weight:800;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}.bc-band .key-badge{border-color:color-mix(in srgb,var(--cc-ink) 35%,transparent);background:color-mix(in srgb,var(--cc-ink) 12%,transparent);color:var(--cc-ink)}.bc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-lock{margin-left:auto;display:inline-flex}.bc-lock .ic{width:.95em;height:.95em}.bc-body{padding:11px 12px 6px}.bc-price{font-family:var(--font-mono);font-size:21px;font-weight:600;color:color-mix(in oklab,var(--cc),white 30%);line-height:1}.bc-per{display:block;font-family:var(--font-ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px}.bc-stats{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}.bc-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px;white-space:nowrap}.bc-stats dt{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.bc-stats dd{font-family:var(--font-mono);font-size:12.5px;color:#c8cee0}.bc-stats .has dd{color:color-mix(in oklab,var(--cc),white 35%);font-weight:600}.bc-foot{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;border-top:1px solid rgba(255,255,255,.06);margin-top:8px}.bc-qty{font-family:var(--font-mono);font-size:16px;min-width:18px;text-align:center;color:var(--muted)}.bc-qty.on{color:var(--gold);font-weight:700}.bc-flag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.buy-actions{margin-top:18px}.skip-btn{margin-right:auto}.buy-sheet.nudge{animation:nudge .4s ease}@keyframes nudge{0%,to{transform:translate(0)}20%{transform:translate(-7px)}45%{transform:translate(6px)}70%{transform:translate(-3px)}}.mini-chrome,.pf-market{display:none}.chain-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.chain-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:15px 8px 12px;border-radius:14px;cursor:pointer;background:color-mix(in srgb,var(--cc) 14%,#10162a);border:1.5px solid color-mix(in srgb,var(--cc) 45%,transparent);color:var(--ink);transition:transform .15s,box-shadow .2s,background .2s}.chain-card:hover{transform:translateY(-3px);background:color-mix(in srgb,var(--cc) 26%,#10162a);box-shadow:0 12px 26px -8px color-mix(in srgb,var(--cc) 55%,transparent)}.cc-letter{font-family:var(--font-display);font-size:32px;font-weight:900;color:color-mix(in oklab,var(--cc),white 25%);line-height:1}.cc-name{font-weight:700;font-size:13px;margin-top:5px}.cc-tier{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.dispose-grid{display:flex;flex-direction:column;gap:9px}.dg-row{display:grid;grid-template-columns:64px auto 1fr;align-items:center;gap:16px;background:#0a0e1980;border:1px solid var(--line);border-radius:12px;padding:9px 15px;font-weight:600}.dg-note{color:var(--muted);font-family:var(--font-mono);font-size:12.5px;text-align:right}.dg-keep{font-family:var(--font-mono)}.overlay.merger-overlay{background:#04070e3d;justify-items:end;align-items:center;padding:18px max(18px,env(safe-area-inset-right)) 18px 18px}.merger-sheet{width:min(440px,100%);max-height:100%;overflow-y:auto;background:linear-gradient(170deg,#1a2138,var(--panel-solid) 58%);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 40px 90px -20px #000000d9;padding:18px 18px 16px;animation:mg-in .32s cubic-bezier(.2,.9,.3,1) both}.overlay.no-enter .merger-sheet{animation:none}@keyframes mg-in{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}.mg-kicker{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.mg-title{display:flex;flex-wrap:wrap;align-items:center;gap:7px 8px;margin:8px 0 4px;font-family:var(--font-display);font-weight:400;font-size:17px;letter-spacing:.04em}.mg-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 7px;border-radius:6px;background:var(--cc);color:var(--cc-ink);text-transform:uppercase}.mg-tag .crest{width:1em;height:1em}.mg-tag small{font-family:var(--font-mono);font-weight:800;font-size:13px;opacity:.7;margin-left:2px}.mg-plus,.mg-into{font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.mg-said,.mg-quote{font-family:var(--font-serif);font-style:italic;color:#ead9ad;font-size:13px}.mg-said{margin:6px 0 0}.mg-chain{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.mg-chain.next{opacity:.5}.mg-chain-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.mg-price{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--muted);margin-left:4px}.mg-state{font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.mg-chain.live .mg-state{color:var(--gold)}.mg-note{color:var(--muted);font-size:13.5px;margin:0 0 10px}.mg-wait{color:var(--gold);font-size:13px;animation:fade-pulse 2s ease-in-out infinite}.mg-bonuses{display:grid;gap:3px;margin-bottom:10px}.mg-bonus{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13px}.mg-bonus em{font-style:normal;color:var(--muted);margin-left:4px}.mg-bonus b{font-family:var(--font-mono);font-weight:800;color:#9fe8bd}.mg-bonus.me b{color:var(--gold)}.mg-order{list-style:none;margin:0;padding:0;display:grid;gap:4px}.mg-row{display:grid;grid-template-columns:auto minmax(0,max-content) 1fr;align-items:center;gap:4px 9px;padding:6px 9px;border-radius:9px;font-size:13px;background:#0a0e1980;border:1px solid transparent}.mg-who{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-did{justify-self:end;text-align:right;color:var(--ink)}.mg-quote{grid-column:2 / -1;font-size:12.5px}.mg-row.now{border-color:var(--line-strong);background:#e2c27512}.mg-row.now .mg-did{color:var(--gold)}.mg-row.now:not(.me) .mg-did{animation:fade-pulse 2s ease-in-out infinite}.mg-row.wait .mg-did{color:var(--muted)}.mg-row.none{opacity:.5}.mg-row.none .mg-did{color:var(--muted)}.mg-who small{font-weight:500;font-size:11.5px;color:var(--muted);margin-left:3px}.mg-chain.mg-settling{border-top:0;margin-top:12px;padding:12px 12px 8px;border-radius:12px;background:linear-gradient(170deg,color-mix(in srgb,var(--cc) 14%,#10162a),#0a0e1999 70%);border:1px solid color-mix(in srgb,var(--cc) 40%,transparent)}.mg-settling .fin-holders{margin-top:4px}.mg-settling .fin-holder{grid-template-columns:auto minmax(60px,120px) 1fr 28px;padding:4px 8px;font-size:13px}.mg-mine{margin-top:10px;padding:12px;border-radius:12px;border:1px solid var(--line-strong);background:#e2c2750d}.mg-mine-head{color:var(--muted);font-size:13px;margin:0 0 10px}.mg-mine-head b{color:var(--ink)}.mg-mine .dispose-grid{gap:6px}.mg-mine .dg-row{grid-template-columns:52px auto 1fr;gap:12px;padding:7px 12px}.mg-mine .modal-actions{margin-top:12px;gap:8px}.mg-mine .modal-actions .btn{padding:8px 12px;font-size:13px}.merger-sheet .chain-cards{margin-top:4px}.mg-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:14px}.peek-pill{position:fixed;left:50%;bottom:calc(118px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:12px;padding:7px 8px 7px 16px;border-radius:999px;background:#0a0c14f0;border:1px solid var(--line-strong);box-shadow:0 18px 40px #0000008c,0 0 22px #e2c27526;animation:fin-in .3s ease-out both}.peek-label{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.peek-pill .btn{padding:8px 14px;font-size:13px}.link-btn{background:none;border:0;padding:0;cursor:pointer;color:var(--gold);font:inherit;font-size:12.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#e2c27573}.link-btn:hover{text-decoration-color:var(--gold)}.mg-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.mg-top .link-btn{white-space:nowrap;flex-shrink:0}.mg-mine.nudge{animation:mine-nudge .9s ease-out}@keyframes mine-nudge{0%{box-shadow:0 0 #e2c275b3}to{box-shadow:0 0 0 10px #e2c27500}}.mg-mine #d-confirm:disabled{opacity:.45}.overlay.finale-overlay{background:#04070ee0}.finale{width:min(760px,100%);max-height:94dvh;overflow-y:auto;background:linear-gradient(170deg,#1a2138,var(--panel-solid) 58%);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 40px 90px -20px #000000d9;padding:22px 26px 16px;animation:modal-in .35s cubic-bezier(.2,.9,.3,1.15) both}.overlay.no-enter .finale{animation:none}.fin-kicker{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.fin-title{font-family:var(--font-display);font-weight:400;font-size:26px;letter-spacing:.03em;color:#f3dfa8;margin:6px 0 14px}.fin-lede{color:var(--muted);font-size:15px;margin:16px 0 4px}.fin-lede b{color:var(--ink)}.fin-settled{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}.fin-settled.wide{margin:4px 0 8px}.fin-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px 4px 7px;border-radius:6px;background:color-mix(in srgb,var(--cc) 22%,#10162a);border:1px solid color-mix(in srgb,var(--cc) 45%,transparent);font-size:12.5px;font-weight:700}.fin-chip .crest{width:1em;height:1em;color:var(--cc)}.fin-chip small{font-weight:600;color:var(--muted);margin-left:2px}.fin-chain{margin-top:14px;padding:16px 16px 12px;border-radius:12px;background:linear-gradient(170deg,color-mix(in srgb,var(--cc) 14%,#10162a),#0a0e1999 70%);border:1px solid color-mix(in srgb,var(--cc) 40%,transparent);animation:fin-in .5s ease-out both}@keyframes fin-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fin-chain-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.fin-chain-head .mg-tag{font-family:var(--font-display);font-size:18px;letter-spacing:.05em}.fin-facts{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--muted);letter-spacing:.04em}.fin-facts b{color:var(--ink)}.fin-none{color:var(--muted);font-size:14px;margin:4px 0 8px;font-style:italic;font-family:var(--font-serif)}.fin-holders{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.fin-holder{display:grid;grid-template-columns:auto minmax(70px,150px) 1fr 34px;align-items:center;gap:10px;padding:6px 10px;border-radius:9px;border:1px solid transparent;font-size:14px;transition:background .5s,border-color .5s,box-shadow .5s}.fin-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-bar{height:8px;border-radius:4px;background:#ffffff0f;overflow:hidden}.fin-bar i{display:block;height:100%;width:calc(var(--w) * 1%);border-radius:4px;background:linear-gradient(90deg,color-mix(in oklab,var(--cc),black 15%),var(--cc));transform-origin:left;animation:fin-grow .9s cubic-bezier(.2,.8,.3,1) both}@keyframes fin-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fin-shares{font-family:var(--font-mono);font-weight:800;font-size:17px;text-align:right}.fin-holder.maj{background:#e2c2751a;border-color:#e2c27599;box-shadow:0 0 22px #e2c27529}.fin-holder.min{background:#c8d2e612;border-color:#c8d2e659}.fin-awards{display:grid;gap:4px}.fin-award{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;padding:2px 4px;animation:fin-in .45s ease-out both}.fin-award em{font-style:normal;color:var(--muted);margin-left:6px}.fin-award b{font-family:var(--font-mono);font-weight:800;font-size:18px;color:#9fe8bd}.fin-award.me b{color:var(--gold)}.fin-lanes{display:grid;gap:8px}.fin-lane{display:grid;grid-template-columns:minmax(96px,170px) 1fr auto;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;background:#0a0e198c;border:1px solid transparent;transition:opacity .6s,border-color .6s,box-shadow .6s}.fin-lane.out{opacity:.55}.fin-lane.win{border-color:#e2c275b3;box-shadow:0 0 26px #e2c2752e;background:#e2c27512}.fin-who{display:inline-flex;align-items:center;gap:8px;font-weight:600;min-width:0}.fin-who>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-crown{color:var(--gold);display:inline-flex}.fin-crown .ic{width:18px;height:18px}.fin-bills{position:relative;height:34px;--step: 13px}.bill{position:absolute;top:2px;left:calc(var(--i) * var(--step));width:54px;height:29px;border-radius:3px;display:grid;place-items:center;background:radial-gradient(circle at 78% 50%,rgba(46,90,60,.28) 0 5px,transparent 5.5px),linear-gradient(160deg,#e3eed8,#b9cfab 60%,#a3bd95);border:1px solid #5d7a55;box-shadow:inset 0 0 0 2px #ffffff59,inset 0 0 0 3px #3d5e3a73,0 3px 6px -2px #0009;color:#213d25;font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.02em}.bill.new{animation:bill-in .38s cubic-bezier(.2,.9,.3,1) both}@keyframes bill-in{0%{opacity:0;transform:translate(20px,-12px) rotate(7deg)}to{opacity:1;transform:none}}.fin-amount{display:grid;justify-items:end;min-width:96px}.fin-amount b{font-family:var(--font-mono);font-weight:800;font-size:19px;letter-spacing:.02em}.fin-amount small{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.fin-lane.win .fin-amount b{color:var(--gold)}.fin-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.fin-foot .btn{padding:7px 12px;font-size:12px}.fin-foot-btns{display:inline-flex;gap:8px;margin-left:auto}.mg-waiting{color:var(--muted);font-size:13px;animation:fade-pulse 2s ease-in-out infinite}.gameover{text-align:center}.go-crown{color:var(--gold);animation:crown-drop .8s cubic-bezier(.2,.9,.3,1.3) both}.go-crown .ic{width:44px;height:44px;filter:drop-shadow(0 0 18px rgba(226,194,117,.5))}@keyframes crown-drop{0%{opacity:0;transform:translateY(-30px) scale(.5)}to{opacity:1;transform:none}}.go-scroll{overflow-x:auto}.go-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}.go-table th{font-size:10px;color:var(--muted);padding:4px 6px}.go-table td{padding:6px;border-top:1px solid rgba(255,255,255,.06);font-family:var(--font-mono);font-size:12.5px}.go-table td:first-child{font-family:var(--font-ui);font-weight:600;text-align:left;white-space:nowrap}.go-table tr.win td{color:var(--gold);background:#e2c2750d}.toast-holder{position:fixed;inset:auto auto 24px 50%;transform:translate(-50%);z-index:100;pointer-events:none;margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:visible;width:max-content;max-width:92vw}.toast{padding:11px 20px;border-radius:12px;font-size:13.5px;font-weight:600;backdrop-filter:blur(12px);animation:toast-in .3s cubic-bezier(.2,.9,.3,1.2) both;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.toast.error{background:#5a1608d9;border:1px solid rgba(228,87,46,.5);color:#ffb59f}.toast.info{background:#2d2610d9;border:1px solid var(--line-strong);color:var(--gold)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.game-loading{flex:1;display:grid;place-items:center}.key-badge{display:inline-grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border:1px solid rgba(226,194,117,.35);border-radius:4px;font-family:var(--font-mono);font-size:9.5px;font-weight:600;color:var(--gold);background:#e2c27512;line-height:1}.rtile .key-badge{position:absolute;top:3px;left:4px;opacity:.75}.buy-card.focused .key-badge{background:var(--gold);color:#241a05}@media(pointer:coarse){.key-badge,.kbd-hint{display:none}}.rtile.fresh:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgba(226,194,117,.45) 50%,transparent 70%);background-size:240% 100%;animation:shimmer 1.5s ease-out .25s 2;pointer-events:none}.rtile.fresh{border-color:var(--line-strong)}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}:root{--font-display: "Limelight", "Fraunces", Georgia, serif;--font-mono: "Big Shoulders Display", "Archivo", system-ui, sans-serif;--font-serif: "Fraunces", Georgia, serif;--brass-hi: #f6e2ad;--brass: #d8b262;--brass-lo: #9b7128;--paper: #f4ebd7;--paper-lo: #e4d4b3;--ink-dark: #2a2116;--ink-soft: #76664f;--tower-windows: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 40' preserveAspectRatio='none'%3E%3Crect x='0' y='0' width='30' height='1' fill='%23fff' opacity='.12'/%3E%3Crect x='4.2' y='3' width='5.5' height='5.6' rx='.7' fill='%23ffe39a' opacity='0.9'/%3E%3Crect x='12.25' y='3' width='5.5' height='5.6' rx='.7' fill='%23070b18' opacity='0.36'/%3E%3Crect x='20.3' y='3' width='5.5' height='5.6' rx='.7' fill='%23ffe39a' opacity='0.9'/%3E%3Crect x='4.2' y='13' width='5.5' height='5.6' rx='.7' fill='%23070b18' opacity='0.36'/%3E%3Crect x='12.25' y='13' width='5.5' height='5.6' rx='.7' fill='%23070b18' opacity='0.36'/%3E%3Crect x='20.3' y='13' width='5.5' height='5.6' rx='.7' fill='%23ffe39a' opacity='0.9'/%3E%3Crect x='4.2' y='23' width='5.5' height='5.6' rx='.7' fill='%23ffe39a' opacity='0.9'/%3E%3Crect x='12.25' y='23' width='5.5' height='5.6' rx='.7' fill='%23070b18' opacity='0.36'/%3E%3Crect x='20.3' y='23' width='5.5' height='5.6' rx='.7' fill='%23ffe39a' opacity='0.9'/%3E%3Crect x='4.2' y='33' width='5.5' height='5.6' rx='.7' fill='%23ffe39a' opacity='0.9'/%3E%3Crect x='12.25' y='33' width='5.5' height='5.6' rx='.7' fill='%23070b18' opacity='0.36'/%3E%3Crect x='20.3' y='33' width='5.5' height='5.6' rx='.7' fill='%23070b18' opacity='0.36'/%3E%3C/svg%3E");--deco-diamond: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0 10 5 5 10 0 5z' fill='%23e2c275'/%3E%3C/svg%3E")}body{background:url(/skyline.svg) center bottom / auto min(30vh,260px) repeat-x,radial-gradient(1.2px 1.2px at 37px 53px,rgba(255,255,255,.5),transparent 1.6px) 0 0 / 211px 163px,radial-gradient(1px 1px at 121px 17px,rgba(255,255,255,.35),transparent 1.4px) 0 0 / 331px 257px,radial-gradient(1px 1px at 61px 131px,rgba(255,236,190,.4),transparent 1.4px) 0 0 / 173px 197px,radial-gradient(1200px 620px at 72% -12%,rgba(226,194,117,.11),transparent 60%),radial-gradient(900px 700px at -10% 110%,rgba(79,124,255,.08),transparent 55%),linear-gradient(180deg,#0b1020,#080b16)}.brand{font-weight:400;letter-spacing:.2em;font-size:21px}.brand .brand-a{font-weight:400}.modal-title{font-weight:400;letter-spacing:.03em;color:#f3dfa8}.panel-title{font-weight:400;letter-spacing:.06em;color:#f0dca8;padding-left:14px;background:var(--deco-diamond) left 55% / 7px 7px no-repeat}.btn{font-family:var(--font-mono);font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;border-radius:8px}.btn.gold{background:linear-gradient(180deg,#f8e4ad,#e2c275 46%,#b98f3e);color:#2a1d05;box-shadow:inset 0 1px #ffffffb3,inset 0 -2px #0000002e,0 4px 18px #e2c27547}.btn.big{font-size:17px;padding:12px 30px}.next-prompt{font-family:var(--font-mono);font-weight:800;letter-spacing:.07em;text-transform:uppercase;font-size:15.5px}.dock-cash-num,.pcash,.pf-cash,.buy-cash-num{font-weight:800;letter-spacing:.02em}.dock-cash-num{font-size:24px}.pf-cash{font-size:34px}.buy-cash-num{font-size:30px}.market td:nth-child(n+2){font-size:14px;font-weight:700}.lobby-code{font-weight:800;letter-spacing:.3em}.cell-label{font-weight:700;letter-spacing:.03em}.board-frame{position:relative;background:radial-gradient(ellipse at 50% -10%,rgba(226,194,117,.09),transparent 55%),linear-gradient(180deg,#10172b,#0a0f1e);border:1.5px solid rgba(226,194,117,.6);border-radius:8px;outline:1px solid rgba(226,194,117,.26);outline-offset:5px;box-shadow:0 40px 80px -24px #000000d9,inset 0 1px #ffffff0d}.board-frame:before{content:"";position:absolute;inset:-9px;pointer-events:none;--k: linear-gradient(#e2c275, #e2c275);background:var(--k) left top / 20px 2px no-repeat,var(--k) left top / 2px 20px no-repeat,var(--k) right top / 20px 2px no-repeat,var(--k) right top / 2px 20px no-repeat,var(--k) left bottom / 20px 2px no-repeat,var(--k) left bottom / 2px 20px no-repeat,var(--k) right bottom / 20px 2px no-repeat,var(--k) right bottom / 2px 20px no-repeat}.board .cell{border-radius:4px;background:linear-gradient(180deg,#0a0f1e,#0d1325);box-shadow:inset 0 0 0 1px #ffffff08,inset 0 2px 6px #00000080}.board .cell-label{color:#8d95aa61;font-size:clamp(8.5px,2.4vmin,12px)}.board .cell.hint{animation:none;box-shadow:none}.board .cell.mine{outline:1.5px solid rgba(226,194,117,.42);outline-offset:-3px;background:linear-gradient(180deg,#e2c27514,#e2c27508)}.board .cell.mine .cell-label{color:#ecd596e6}.board .cell.mine.playable{outline:1.5px dashed rgba(236,207,133,.95);background:linear-gradient(180deg,#e2c27533,#e2c27514);cursor:pointer}.board .cell.mine.playable:hover,.board .cell.peek{background:#e2c27542}.board .cell.peek{outline:2px solid rgba(243,220,158,.9);outline-offset:-3px}.board .cell.mine.selected{outline:2px solid #f3dc9e;background:#e2c27557;box-shadow:0 0 16px #e2c27559}.board .cell.mine.selected .cell-label{color:#fff3d0}.board .cell.mine.dead-lot{outline:1.5px dotted rgba(228,87,46,.55);background:none}.board .cell.mine.dead-lot .cell-label{color:#f2977dbf;text-decoration:line-through}.board .cell.mine.blocked-lot{outline:1.5px dashed rgba(226,194,117,.3);background:none}.board .cell.mine.blocked-lot .cell-label{color:#ecd59673}.board .cell.occupied,.board .cell.tile{background:transparent;box-shadow:none;transform:none;border:0;animation:none}.board .cell.occupied .cell-label{visibility:hidden}.board .cell.placed-ring:after{display:none}.board .regions{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.region .side{fill:color-mix(in oklab,var(--cc),black 58%)}.region .face{fill:var(--cc)}.region .shade{fill:url(#rg-shade)}.region .rim{fill:none;stroke:#fff3;stroke-width:1}.region.safe .rim{stroke:#eccf85;stroke-width:2.4}.region.orphan{--cc: #3b4258;--cc-ink: #dde2ee}.region .name{fill:var(--cc-ink);font-family:"Limelight",var(--font-display)}.region .size{fill:var(--cc-ink);opacity:.66;font-family:"Big Shoulders Display",var(--font-mono);font-weight:800}.region .lot{fill:var(--cc-ink);opacity:.75;text-anchor:middle;font-family:"Big Shoulders Display",var(--font-mono);font-weight:800}.region .crest-mark{color:var(--cc-ink);opacity:.88}.region.new .label{animation:label-in .9s ease-out both}@keyframes label-in{0%{opacity:0}to{opacity:1}}.regions .placed{fill:none;stroke:#f3dc9e;stroke-width:2;animation:placed-breathe 2.8s ease-in-out infinite}@keyframes placed-breathe{0%,to{stroke-opacity:.9}50%{stroke-opacity:.35}}.regions .fx-set{fill:#fff;animation:fx-set .6s ease-out forwards}.regions .fx-fade{fill:var(--cc);animation:fx-fade .8s ease-in forwards}.regions .fx-fade.orphan{fill:#3b4258}@keyframes fx-set{0%{opacity:.3}to{opacity:0}}@keyframes fx-fade{0%{opacity:.95}to{opacity:0}}.rtile{width:clamp(46px,4.6vw,58px);aspect-ratio:5 / 6;border-radius:9px 9px 12px 12px;border:1px solid #6f4f19;background:radial-gradient(circle at 50% 16%,#120d05 0 3px,rgba(0,0,0,.3) 3.5px,transparent 4.5px),linear-gradient(165deg,var(--brass-hi),var(--brass) 38%,#b88a3a 70%,var(--brass-lo));box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 3px #00000040,0 7px 12px -5px #000000bf;transform-origin:50% 10%}.rtile-face{margin-top:24%;color:#3b2a0a;font-weight:800;font-size:clamp(15px,1.35vw,19px);text-shadow:0 1px 0 rgba(255,255,255,.5)}.rtile.can:hover{transform:translateY(-6px) rotate(-3deg);border-color:#fff0c2;box-shadow:inset 0 1px #ffffffbf,0 12px 20px -8px #000c,0 0 16px #ffdc8c59}.rtile.sel{transform:translateY(-9px) rotate(-5deg);border-color:#fff0c2;box-shadow:inset 0 1px #ffffffbf,0 0 0 2px #ffe7a8e6,0 14px 24px -8px #000c,0 0 24px #ffd27880}.rtile.dead{background:radial-gradient(circle at 50% 16%,#0d0f14 0 3px,rgba(0,0,0,.3) 3.5px,transparent 4.5px),linear-gradient(165deg,#b3b9c6,#858c9c 50%,#5e6474);border-color:#4a4f5c;filter:none;opacity:.55}.rtile.dead .rtile-face{color:#23262e;opacity:.7}.rtile.blocked{opacity:.62;filter:saturate(.55)}.rtile-note{position:absolute;left:0;right:0;bottom:5px;text-align:center;font-family:var(--font-mono);font-weight:800;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#3b2a0a;opacity:.85}.rtile.dead .rtile-note{color:#7a1d10}.rtile .key-badge{top:4px;left:5px;color:#3b2a0a;border-color:#3b2a0a66;background:#ffffff47;opacity:.9}.rtile.mini{width:42px}.rtile.mini .rtile-face{font-size:13px}.action-dock{background:linear-gradient(180deg,#221a10f0,#140f09f5);border:1px solid rgba(226,194,117,.22);border-top:2px solid rgba(226,194,117,.5)}.turn-banner>span:first-child{display:inline-block;font-family:var(--font-display);font-weight:400;letter-spacing:.04em;padding:4px 22px 5px;border:1.5px solid transparent;border-radius:6px}.turn-banner.is-you>span:first-child{position:relative;padding:4px 22px 5px;color:#ffe7a8;background:linear-gradient(180deg,#211709,#120c04);border:1.5px solid #e2c275;border-radius:6px;box-shadow:0 0 24px #e2c27559,inset 0 0 12px #0009;text-shadow:0 0 10px rgba(255,210,120,.6)}.panel{background:linear-gradient(180deg,#131a2ce6,#0c111eeb);border:1px solid rgba(226,194,117,.2);border-radius:10px}.mcrest{display:inline-flex;width:15px;height:15px;margin-right:7px;vertical-align:-2px;color:color-mix(in oklab,var(--cc),white 18%)}.mcrest .crest{width:100%;height:100%}.market tr.dormant .mcrest{opacity:.6}.mchip-crest{display:inline-flex}.mchip-crest .crest{width:13px;height:13px}.avatar{width:24px;height:24px;flex-shrink:0;border-radius:50%;display:inline-grid;place-items:center;font-family:var(--font-display);font-size:12px;line-height:1;color:#f5e2b0;background:radial-gradient(circle at 35% 30%,#2f2716,#120e07);box-shadow:0 0 0 1.5px #e2c275,0 0 0 3px #00000080}.avatar.bot{color:#cfe0ff;background:radial-gradient(circle at 35% 30%,#1d2a4f,#0b1122);box-shadow:0 0 0 1.5px #6f8fff,0 0 0 3px #00000080}.avatar.away{opacity:.45;filter:grayscale(1)}.player.turn .avatar{box-shadow:0 0 0 1.5px #ffe7a8,0 0 12px #e2c27599}.lvl-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-radius:6px;padding:1px 7px 1px 5px;border:1px solid}.lvl-chip .ic{width:12px;height:12px}.lvl-chip.easy{color:#9ab3ff;border-color:#6f8fff73;background:#4f7cff1f}.lvl-chip.medium{color:#f3d58a;border-color:#e2c27580;background:#e2c2751f}.lvl-chip.hard{color:#ffa084;border-color:#e4572e8c;background:#e4572e24}button.lvl-chip{cursor:pointer;font-family:var(--font-mono)}button.lvl-chip:hover{filter:brightness(1.3)}.player .lvl-chip{font-size:10px;padding:0 5px}.player .lvl-chip .ic{display:none}.ptiles{display:inline-flex;gap:2px;letter-spacing:0}.ptiles i{width:5px;height:7px;border-radius:1.5px;background:linear-gradient(180deg,var(--brass-hi),var(--brass-lo));opacity:.7}.log-line.said-line{padding:1px 0 1px 10px;border-left:2px solid rgba(226,194,117,.4)}.said{font-family:var(--font-serif);font-style:italic;color:#ead9ad;font-size:13.5px}.said-who{font-size:12px;color:var(--muted)}.buy-card,.stock-card,.chain-card{background:repeating-linear-gradient(45deg,rgba(118,102,79,.05) 0 1px,transparent 1px 5px),radial-gradient(ellipse at 50% 55%,var(--paper) 55%,var(--paper-lo));color:var(--ink-dark);border:2px solid color-mix(in oklab,var(--cc),black 12%);box-shadow:0 10px 22px -12px #000000e6}.buy-card{border-radius:10px}.buy-card:after,.stock-card:after{content:"";position:absolute;inset:5px;pointer-events:none;border:1px solid color-mix(in srgb,var(--cc) 50%,transparent);border-radius:6px}.buy-card:hover{border-color:color-mix(in oklab,var(--cc),black 25%);box-shadow:0 14px 26px -12px #000000e6,0 0 0 1px color-mix(in srgb,var(--cc) 40%,transparent)}.buy-card.picked{border-color:color-mix(in oklab,var(--cc),black 20%);background:repeating-linear-gradient(45deg,rgba(118,102,79,.05) 0 1px,transparent 1px 5px),radial-gradient(ellipse at 50% 55%,#fff6df 55%,#eadbbb);transform:translateY(-3px);box-shadow:0 0 0 3px #e2c275,0 14px 28px -10px #000000e6,0 0 26px #e2c27566}.buy-card.out,.buy-card.dear,.buy-card.capped{opacity:.42;filter:grayscale(.6)}.bc-mark{position:absolute;right:-8%;bottom:16%;width:60%;opacity:.1;color:color-mix(in oklab,var(--cc),black 30%);pointer-events:none}.bc-mark .crest{width:100%;height:auto;display:block}.bc-band{background:linear-gradient(180deg,color-mix(in oklab,var(--cc),white 10%),color-mix(in oklab,var(--cc),black 10%));font-family:var(--font-display);font-weight:400;letter-spacing:.035em;font-size:11.5px;gap:5px;padding:6px 7px}.bc-crest{display:inline-flex;flex-shrink:0}.bc-crest .crest{width:1.25em;height:1.25em}.bc-body{position:relative}.bc-price{color:color-mix(in oklab,var(--cc),black 42%);font-family:var(--font-mono);font-weight:900;font-size:28px}.bc-per,.bc-stats dt{color:var(--ink-soft)}.bc-stats dd{color:var(--ink-dark);font-weight:800;font-size:15px}.bc-stats .has dd{color:color-mix(in oklab,var(--cc),black 38%)}.bc-foot{border-top:1px dashed rgba(42,33,22,.28);position:relative}.buy-card .step{background:var(--ink-dark);color:var(--paper);border-color:var(--ink-dark)}.buy-card .step:hover:not(:disabled){background:#43372a}.buy-card .step:disabled{opacity:.25}.bc-qty{color:var(--ink-soft);font-weight:900;font-size:21px}.bc-qty.on{color:var(--ink-dark)}.bc-flag{color:var(--ink-soft)}.stock-card{border-radius:10px}.sc-band{font-family:var(--font-display);font-weight:400;letter-spacing:.08em}.buy-card,.stock-card{container-type:inline-size}.bc-band{--band-em: 9.75;--band-fixed: 46px;font-size:clamp(8.5px,calc((100cqi - var(--band-fixed)) / var(--band-em)),11.5px)}.sc-band{font-size:clamp(8.5px,calc((100cqi - 18px) / 9.1),11px)}@container (max-width: 150px){.bc-crest{display:none}.bc-band{--band-em: 8.5;--band-fixed: 41px}}@media(pointer:coarse){.bc-band{--band-fixed: 24px}}.sc-letter{color:color-mix(in oklab,var(--cc),black 25%);display:flex;justify-content:center}.sc-letter .crest{width:42px;height:42px}.sc-count{color:var(--ink-dark);font-family:var(--font-mono);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase}.sc-count b{font-size:22px;font-weight:900}.sc-value{color:var(--ink-soft);font-weight:700}.chain-card{border-radius:12px;padding:16px 8px 12px}.chain-card:hover{background:radial-gradient(ellipse at 50% 55%,#fff6df 55%,#eadbbb);transform:translateY(-4px) rotate(-1deg);box-shadow:0 18px 32px -14px #000000e6,0 0 0 3px color-mix(in srgb,var(--cc) 55%,transparent)}.cc-letter{color:color-mix(in oklab,var(--cc),black 25%);display:flex}.cc-letter .crest{width:40px;height:40px}.cc-name{font-family:var(--font-display);font-weight:400;letter-spacing:.05em;font-size:14.5px}.cc-tier{color:var(--ink-soft)}.hero-title{font-weight:400;letter-spacing:.08em;font-size:clamp(60px,10.5vw,128px);filter:drop-shadow(0 0 26px rgba(226,194,117,.32))}.hero-city{display:flex;align-items:flex-end;justify-content:center;gap:clamp(6px,1.2vw,12px);height:170px;margin:14px auto 0;padding-top:30px;border-bottom:2px solid rgba(226,194,117,.45);width:min(520px,92vw)}.hb{position:relative;width:clamp(28px,5vw,50px);height:calc(var(--h) * 1px);border-radius:3px 3px 0 0;background-image:var(--tower-windows),linear-gradient(180deg,color-mix(in oklab,var(--cc),white 18%),var(--cc) 45%,color-mix(in oklab,var(--cc),black 30%));background-size:100% 36px,100% 100%;box-shadow:inset 0 1px #ffffff4d,0 0 26px -6px color-mix(in srgb,var(--cc) 70%,transparent);animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.hb:nth-child(2){animation-delay:.05s}.hb:nth-child(3){animation-delay:.1s}.hb:nth-child(4){animation-delay:.15s}.hb:nth-child(5){animation-delay:.2s}.hb:nth-child(6){animation-delay:.25s}.hb:nth-child(7){animation-delay:.3s}.hb-sign{position:absolute;left:50%;top:-26px;transform:translate(-50%);width:22px;height:22px;color:color-mix(in oklab,var(--cc),white 45%);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cc) 80%,transparent))}.hb-sign .crest{width:100%;height:100%}.hero-sub{margin-top:16px}.medal{width:20px;height:24px;flex-shrink:0;display:inline-block;vertical-align:middle}.medal text{font-family:var(--font-mono);font-weight:800;font-size:8.5px;fill:#241a05}.medal.m1{--m-hi: #f6d77e;--m-lo: #b0802a;--rib-a: #8e2f2f;--rib-b: #b04040}.medal.m2{--m-hi: #e4e9f1;--m-lo: #8e98aa;--rib-a: #2e4a8e;--rib-b: #4063b0}.medal.m3{--m-hi: #e8a86e;--m-lo: #8f5426;--rib-a: #2f7a4e;--rib-b: #3f9a63}.lb-badge-slot{display:flex;justify-content:center;margin-top:18px;min-height:58px}.lb-badge{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;padding:10px 16px 10px 18px;border-radius:14px;cursor:pointer;color:var(--ink);background:linear-gradient(180deg,#1a2138e0,#0e1322eb);border:1px solid var(--line-strong);box-shadow:0 16px 34px -18px #000c;transition:border-color .2s,transform .2s;animation:fin-in .4s ease-out both}.lb-badge:hover{border-color:var(--gold);transform:translateY(-1px)}.lb-badge-title{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:grid;text-align:left}.lb-badge-title em{font-style:normal;color:var(--ink);opacity:.78;letter-spacing:.12em}.lb-badge-top{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}.lb-pod{display:inline-flex;align-items:center;gap:6px}.lb-pod b{font-weight:700;font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-pod small{color:var(--muted);font-family:var(--font-mono);font-size:12px}.lb-pod-empty{color:var(--muted);font-size:13.5px;font-family:var(--font-serif);font-style:italic}.lb-badge-more{font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(226,194,117,.4)}.overlay.lb-overlay{background:#04070eb8;align-items:flex-start;padding-top:min(9vh,72px)}.lb{width:min(760px,100%);max-height:calc(100dvh - min(9vh,72px) - 20px)}.lb-empty{color:var(--muted);font-family:var(--font-serif);font-style:italic;text-align:center;padding:26px 0}.lb-about{color:var(--muted);font-size:13.5px;margin:0 0 12px}.lb-body{min-height:250px;transition:opacity .15s}.lb-body.loading{opacity:.45}.lb-body.loading:empty:before{content:"Opening the books…";display:block;text-align:center;padding:70px 0;color:var(--muted);font-family:var(--font-serif);font-style:italic}.lb-head{display:flex;align-items:center;justify-content:space-between}.lb-head .modal-title{margin:0}.lb-tabs{display:inline-flex;max-width:100%;margin:14px 0 10px;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden}.lb-tab{font-family:var(--font-mono);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:7px 16px;background:transparent;color:var(--muted);border:0;cursor:pointer;white-space:nowrap}.lb-tab:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.lb-tab+.lb-tab{border-left:1px solid var(--line)}.lb-tab:hover{color:var(--ink)}.lb-tab.on{background:#e2c27529;color:var(--gold)}.lb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.lb-stats>div{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:#0a0e198c;border:1px solid var(--line)}.lb-stats b{font-family:var(--font-mono);font-weight:800;font-size:22px;color:var(--ink)}.lb-stats span{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-table{width:100%;border-collapse:collapse;font-size:14px}.lb-table th{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:right;padding:4px 8px}.lb-table th:nth-child(2){text-align:left}.lb-table td{padding:7px 8px;border-top:1px solid rgba(255,255,255,.06);text-align:right;font-family:var(--font-mono);font-weight:700}.lb-table td.lb-name{text-align:left;font-family:var(--font-ui);font-weight:600;max-width:260px}.lb-who{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-by{display:block;margin-top:1px;color:var(--muted);font-size:11.5px;font-weight:500}.lb-by span{white-space:nowrap}.lb-table td.lb-pts{color:var(--gold)}.lb-table td.lb-rank{text-align:center;width:36px;color:var(--muted)}.lb-table tr.you td{background:#e2c27514;color:var(--gold)}.lb-table tr.lb-gap td{text-align:center;color:var(--muted);border-top:0;padding:2px}.lb-you{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(226,194,117,.45);border-radius:5px;padding:0 5px;margin-left:6px}.lb-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:12.5px}.lb-me{display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:var(--ink)}.lb-me input{accent-color:#e2c275;width:15px;height:15px}.lb-note{color:var(--muted);font-size:12px;margin:10px 0 0}.lb-not-yet{color:var(--ink)}.lb-hint{color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}@media(max-width:1000px){.lb-badge{gap:10px;padding:8px 12px}.lb-pod b{max-width:84px;font-size:13px}.lb-stats b{font-size:18px}.lb-stats span{white-space:normal;line-height:1.25}.lb-table{font-size:13px}.lb-table .lb-games{display:none}.lb-tab{padding:6px 10px;font-size:11.5px;letter-spacing:.08em}}.lineup{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:6px}.rival{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:8px;padding:6px 8px 6px 10px;border-radius:10px;background:#0a0e1980;border:1px solid var(--line)}.rv-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-level{display:inline-flex;border:1px solid var(--line-strong);border-radius:7px;overflow:hidden}.rv-lvl{font-family:var(--font-mono);font-weight:800;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 7px;background:transparent;color:var(--muted);border:0;cursor:pointer;transition:background .15s,color .15s}.rv-lvl+.rv-lvl{border-left:1px solid var(--line)}.rv-lvl:hover{color:var(--ink)}.rv-lvl.easy.on{background:#4f7cff33;color:#b7c9ff}.rv-lvl.medium.on{background:#e2c27533;color:#f6dc98}.rv-lvl.hard.on{background:#e4572e38;color:#ffb39c}.rv-remove{width:28px;height:28px;display:inline-grid;place-items:center;padding:0;border-radius:7px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.rv-remove:hover{color:var(--ink);border-color:var(--line-strong)}.rv-remove .ic{width:14px;height:14px}.lineup-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.rv-add{font-family:var(--font-mono);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border-radius:7px;border:1px dashed var(--line-strong);background:transparent;color:var(--gold);cursor:pointer}.rv-add:disabled{opacity:.35;cursor:default}.lineup-legend{color:var(--muted);font-size:12px}.table-rules{margin:14px 0 4px;padding:12px 14px;border-radius:12px;display:grid;gap:8px;background:#0a0e1980;border:1px solid var(--line)}.tr-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tr-title{font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.tr-name{font-weight:700;color:var(--gold);font-size:14px}.tr-row{display:flex;align-items:center;justify-content:space-between;gap:6px 10px;flex-wrap:wrap}.tr-label{font-size:13px;color:var(--ink)}.tr-seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:7px;overflow:hidden}.tr-opt{font-family:var(--font-mono);font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;background:transparent;color:var(--muted);border:0;cursor:pointer;white-space:nowrap}.tr-opt+.tr-opt{border-left:1px solid var(--line)}.tr-opt:hover:not(:disabled){color:var(--ink)}.tr-opt.on{background:#e2c27529;color:var(--gold)}.tr-opt:disabled{cursor:default}.tr-opt:disabled:not(.on){opacity:.55}.tr-note{margin:0;color:var(--muted);font-size:12px}.lobby .table-rules{margin:16px 0 18px;text-align:left}.table-rules.compact{margin:0 0 12px;padding:0;background:none;border:0;gap:0}.tr-toggle{display:inline-flex;align-items:center;gap:7px;padding:0;background:none;border:0;color:var(--muted);font-size:12.5px;cursor:pointer;justify-self:start}.tr-toggle b{color:var(--ink);font-weight:700}.tr-toggle:hover b{color:var(--gold)}.tr-caret{font-size:10px}.table-rules.compact .tr-body{display:grid;gap:8px;margin-top:8px;padding:10px 12px;border-radius:10px;background:#0a0e1980;border:1px solid var(--line)}.pholds{display:flex;flex-wrap:wrap;gap:3px 9px;padding-left:32px}.ph{display:inline-flex;align-items:center;gap:3px;color:color-mix(in oklab,var(--cc),white 18%);font-family:var(--font-mono);font-size:11px}.ph .crest{width:13px;height:13px}.ph b{color:var(--ink);font-weight:700}.ph-none{color:var(--muted);font-size:11px;font-style:italic}.pcash.theirs{color:var(--ink)}.level-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.lvl{text-align:left;padding:8px 12px;border-radius:9px;cursor:pointer;background:#0a0e1999;border:1px solid var(--line);color:var(--muted);font-family:var(--font-ui);font-size:11.5px;transition:border-color .2s,background .2s}.lvl b{display:block;font-family:var(--font-mono);font-weight:800;font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.lvl.on{border-color:#e2c275;background:#e2c2751f;box-shadow:inset 0 0 0 1px #e2c275}.lvl.on b{color:#e2c275}.lvl[data-level=hard].on{border-color:#e4572e;background:#e4572e1f;box-shadow:inset 0 0 0 1px #e4572e}.lvl[data-level=hard].on b{color:#ffa084}.seat-adds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.seat.add.medium:hover{color:#f3d58a;border-color:#e2c27580}.seat.add.hard:hover{color:#ffa084;border-color:#e4572e8c}.stamp{position:fixed;inset:18% auto auto 50%;margin:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 30px;border:0;border-radius:4px;background:#0a0805eb;color:color-mix(in oklab,var(--cc),white 48%);box-shadow:0 0 0 1px color-mix(in oklab,var(--cc),white 5%),0 0 0 4px #0a0805eb,0 0 0 5px #e2c27573,0 24px 60px #0000008c;pointer-events:none;overflow:visible;width:max-content;max-width:90vw;transform:translate(-50%);animation:notice 2.1s ease-in-out both}.stamp.no-chain{--cc: #e2c275;--cc-ink: #241a05}.stamp b{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,3vw,34px);letter-spacing:.08em;text-transform:uppercase;line-height:1.05}.stamp-sub{font-family:var(--font-mono);font-weight:700;font-size:clamp(12px,1.3vw,15px);letter-spacing:.18em;text-transform:uppercase;color:#e9dcc0}.stamp-crest{display:inline-flex}.stamp-crest .crest{width:22px;height:22px}@keyframes notice{0%{opacity:0;transform:translate(-50%,6px)}16%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}[data-gain]{animation:gain 1.6s ease-out}@keyframes gain{0%{color:#9fe8bd;text-shadow:0 0 14px rgba(127,214,164,.7)}to{text-shadow:none}}@media(max-width:1000px){.locked-screen .topbar{display:none}.game-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:"chrome" "banner" "board" "lastmove" "dock";gap:6px;padding:6px 6px 8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.stage,.side{display:contents}#market-panel,#players-panel{display:none}.mini-chrome{grid-area:chrome;display:flex;align-items:center;gap:6px;min-height:32px}.mini-btn{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-radius:9px;background:#12192ab3;border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);font-size:12px;cursor:pointer}.mini-btn b{font-weight:600}.mini-code b{color:var(--gold);letter-spacing:.18em}.mini-code:before{content:"●";font-size:7px;color:var(--gold);margin-right:2px}.mini-code[data-conn=open]:before{color:var(--mint)}.mini-code[data-conn=closed]:before{color:var(--red)}.mini-cash{margin-left:auto}.mini-cash b{color:var(--gold)}.mini-exit{color:var(--muted)}.mini-rotate{color:var(--gold);border-color:var(--line-strong);padding:0 8px}.mini-rotate .ic{width:1.35em;height:1.35em}.mini-rotate span{display:none}.turn-banner{grid-area:banner;font-size:14.5px;min-height:19px}.turn-banner>span:first-child{padding:2px 14px 3px}.toast-holder{bottom:auto;top:46px}.pf-player .botify-btn{margin-left:6px}.board-holder{grid-area:board;min-height:0}.board-scene{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.board-frame{transform:none;padding:5px;border-radius:12px}.board-frame{outline:none}.board-frame:before{display:none}.board{gap:2px}.cell{aspect-ratio:1;border-radius:12%}.cell-label{font-size:9px}.cell.tile .cell-label{font-size:10px}.lastmove-panel{grid-area:lastmove;padding:7px 10px;flex:none;max-height:92px}.lastmove-panel .panel-title{font-size:11.5px;margin-bottom:3px}.log{font-size:11.5px;gap:2px;max-height:60px}.queue-note{display:none}.action-dock{grid-area:dock;min-height:0;padding:8px 10px;gap:8px;flex-wrap:wrap;align-items:center}.dock-cash,.action-dock.dock-idle .rack{display:none}.stock-cards>.dock-note{grid-column:1 / -1}.pf-label .bag-count{text-transform:none;letter-spacing:0;margin-left:8px}.rack{gap:5px;flex:1;justify-content:center}.rtile{width:clamp(40px,9.4vw,52px);border-radius:8px}.dock-controls{margin-left:0;width:100%;justify-content:center}.kbd-hint{display:none}.next-prompt{width:100%;justify-content:center;padding:12px;font-size:14px}.next-prompt .keycap-space,.next-prompt .np-hint{display:none}.overlay.buy-overlay{align-items:flex-end;padding:0}.buy-sheet{width:100%;border-radius:20px 20px 0 0;padding:14px 12px 12px;max-height:88dvh}.buy-head{margin-bottom:10px;gap:10px}.buy-head .modal-title{font-size:19px}.buy-cash-num{font-size:20px}.buy-cards{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:7px}.bc-body{padding:9px 10px 4px}.bc-price{font-size:18px}.buy-actions{margin-top:12px;gap:8px}.buy-actions .btn{flex:1;justify-content:center;padding:11px 12px}.skip-btn{margin-right:0}.pf-market{display:block;margin-bottom:16px}.pf-market .market{font-size:12px}.pf-row{grid-template-columns:1fr;gap:12px}.portfolio{padding:16px 14px 10px}.stock-cards{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:7px}.sc-letter{font-size:30px}.modal{padding:18px 16px}.modal-title{font-size:21px}.hero-sub br{display:none}.field-row{flex-wrap:wrap}.lobby-code{font-size:42px}}@media(max-width:1000px){.finale{padding:14px 14px 10px;max-height:96dvh}.fin-title{font-size:20px;margin:4px 0 10px}.fin-chain{padding:12px 12px 8px;margin-top:10px}.fin-holder{grid-template-columns:auto minmax(60px,110px) 1fr 28px;padding:4px 8px;font-size:13px}.fin-lane{grid-template-columns:minmax(70px,110px) 1fr auto;gap:8px;padding:6px 8px}.fin-bills{--step: 7px;height:28px}.bill{width:42px;height:24px;font-size:9px}.fin-amount{min-width:74px}.fin-amount b{font-size:15px}.fin-foot .kbd-hint{display:none}}@media(max-width:1000px){.peek-pill{bottom:calc(12px + env(safe-area-inset-bottom))}}@media(max-width:1000px)and (orientation:landscape){.peek-pill{left:auto;right:max(10px,env(safe-area-inset-right));transform:none}.peek-label{display:none}}@media(max-height:520px){.finale{padding:10px 14px 8px}.fin-title{font-size:18px;margin:2px 0 6px}.fin-settled{margin:4px 0 0;gap:4px}.fin-chip{padding:2px 7px 2px 5px;font-size:11px}.fin-chain{margin-top:8px;padding:8px 12px 6px}.fin-chain-head{margin-bottom:6px}.fin-chain-head .mg-tag{font-size:15px}.fin-holders{gap:2px;margin-bottom:4px}.fin-holder{padding:2px 8px;font-size:12.5px}.fin-award{font-size:13.5px;padding:0 4px}.fin-award b{font-size:15px}.fin-lanes{gap:4px}.fin-lane{padding:3px 8px}.fin-foot{margin-top:8px}}@media(max-width:1000px){.mg-said,.mg-mine-help{display:none}.mg-title{font-size:15px;margin:6px 0 2px}.mg-tag{padding:3px 8px 3px 6px}.mg-chain{margin-top:9px;padding-top:8px}.mg-chain-head{margin-bottom:6px}.mg-bonuses{margin-bottom:7px}.mg-row{padding:4px 8px;font-size:12.5px}.mg-row .avatar{width:20px;height:20px;font-size:10.5px}.mg-mine{padding:9px 10px;margin-top:8px}.mg-mine-head{margin-bottom:7px;font-size:12.5px}.mg-mine .dg-row{padding:5px 10px}.mg-mine .modal-actions{margin-top:8px}.mg-mine .modal-actions .btn{padding:7px 10px;font-size:12px}.mg-foot{margin-top:10px;padding-top:9px}}@media(max-width:1000px)and (orientation:portrait){.overlay.merger-overlay{justify-items:stretch;align-items:end;padding:0}.merger-sheet{width:100%;max-height:78dvh;border-radius:18px 18px 0 0;padding:12px 12px calc(10px + env(safe-area-inset-bottom))}}@media(max-width:1000px)and (orientation:landscape){.overlay.merger-overlay{padding:6px max(6px,env(safe-area-inset-right)) 6px 6px}.merger-sheet{width:min(640px,76vw);padding:10px 12px;border-radius:12px}.mg-chain.live:has(.mg-mine){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:12px;align-items:start}.mg-chain.live:has(.mg-mine)>:not(.mg-mine){grid-column:1}.mg-chain.live:has(.mg-mine)>.mg-mine{grid-column:2;grid-row:1 / span 4;margin-top:0}}@media(max-width:1000px)and (orientation:portrait){.board{grid-template-columns:repeat(9,1fr)}.cell{grid-column:calc(var(--r) + 1);grid-row:calc(var(--c) + 1)}}@media(max-width:1000px)and (orientation:landscape){.game-shell{grid-template-columns:minmax(0,1fr) clamp(200px,32vw,300px);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"board chrome" "board banner" "board lastmove" "board dock";gap:6px 8px;padding:4px 6px 6px;padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.mini-chrome{min-height:30px;flex-wrap:wrap}.mini-btn{height:28px;padding:0 8px;font-size:11px}.turn-banner{font-size:13px;min-height:17px;text-align:left}.board-frame{padding:4px}.board{gap:2px}.cell{aspect-ratio:10 / 9}.lastmove-panel{max-height:none;min-height:0;flex:none}.log{max-height:30dvh}.action-dock{padding:7px 8px;gap:6px}.rack{flex-wrap:wrap;justify-content:center;gap:4px}.rtile{width:clamp(32px,4.2vw,40px)}.rtile-face{font-size:11px}.next-prompt{padding:10px;font-size:13px}.overlay.buy-overlay{align-items:center;padding:10px}.buy-sheet{border-radius:18px;max-height:96dvh;padding:12px}.buy-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.bc-stats{grid-template-columns:1fr 1fr}.portfolio{max-height:96dvh}}.rotate-callout{position:fixed;inset:auto auto 96px 50%;transform:translate(-50%);margin:0;z-index:90;display:flex;align-items:center;gap:12px;max-width:min(92vw,360px);padding:12px 16px;border-radius:14px;background:linear-gradient(160deg,#f4d99a,var(--gold) 45%,var(--gold-deep));color:#241a05;border:none;text-align:left;font-family:var(--font-ui);font-size:13px;line-height:1.3;box-shadow:0 14px 40px #00000080,0 0 30px #e2c27559;animation:toast-in .35s cubic-bezier(.2,.9,.3,1.2) both;cursor:pointer}.rotate-callout .ic{width:30px;height:30px;flex-shrink:0}.rotate-callout.out{transition:opacity .3s,transform .3s;opacity:0;transform:translate(-50%) translateY(10px)}
