:root{--bg: #0b1120;--bg-grad: radial-gradient(900px 500px at 15% -5%, #182744 0%, transparent 60%), radial-gradient(900px 500px at 90% 0%, #10322a 0%, transparent 55%);--surface: #151d2e;--surface-2: #1b2438;--surface-3: #10182a;--line: #2b3750;--line-strong: #3d4d6b;--text: #e7edf8;--muted: #93a1bd;--accent: #22c55e;--accent-soft: #17351f;--accent-ink: #4ade80;--blue: #3b82f6;--danger: #ef4444;--warn: #f59e0b;--on-accent: #ffffff;--tag-bg: #2a3750;--tag-ink: #aab7d0;--ink-money: #4ade80;--ink-card: #fbbf24;--ink-trade: #60a5fa;--ink-build: #c4b5fd;--hint-bg: #2a2410;--hint-border: #4d3f16;--hint-ink: #e8c877;--field-bg: #0f1626;--board-face: #ffffff;--board-frame: #b9c8de;--board-gap: 3px;--board-pad: 10px;--board-radius: 18px;--tile-ink: #16202f;--tile-price-ink: #475569;--tile-radius: 7px;--tile-border: 1.5px solid var(--line-strong);--centre-bg: linear-gradient(150deg, #f8fbff, #eef4ff);--centre-ink: #16202f;--centre-muted: #64748b;--radius: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .32), 0 2px 8px rgba(0, 0, 0, .28);--shadow: 0 10px 30px rgba(0, 0, 0, .5);color-scheme:dark}:root[data-theme=light]{--bg: #eef3fb;--bg-grad: radial-gradient(900px 500px at 15% -5%, #dbeafe 0%, transparent 60%), radial-gradient(900px 500px at 90% 0%, #dcfce7 0%, transparent 55%);--surface: #ffffff;--surface-2: #f4f7fc;--surface-3: #eef2f9;--line: #d9e2f0;--line-strong: #b9c8de;--text: #16202f;--muted: #64748b;--accent: #16a34a;--accent-soft: #dcfce7;--accent-ink: #15803d;--blue: #2563eb;--danger: #dc2626;--warn: #d97706;--on-accent: #ffffff;--tag-bg: #e2e8f0;--tag-ink: #475569;--ink-money: #15803d;--ink-card: #b45309;--ink-trade: #1d4ed8;--ink-build: #7c3aed;--hint-bg: #fffbeb;--hint-border: #fde68a;--hint-ink: #92400e;--field-bg: #ffffff;--shadow-sm: 0 1px 2px rgba(16, 32, 60, .07), 0 2px 8px rgba(16, 32, 60, .06);--shadow: 0 6px 24px rgba(16, 32, 60, .12);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-grad),var(--bg);color:var(--text);font:15px/1.5 ui-sans-serif,-apple-system,Segoe UI,Roboto,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 12px;font-weight:750;letter-spacing:-.02em}h1{font-size:30px}h2{font-size:16px}h3{font-size:14px}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13px}.warn{color:var(--warn);font-weight:600}.app{min-height:100%}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--line-strong);background:var(--surface);color:var(--text);padding:11px 18px;border-radius:11px;font:inherit;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .14s,background .14s}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.btn.ghost{background:transparent;border-color:var(--line);box-shadow:none}.btn.ghost.danger{color:var(--danger);border-color:var(--danger);background:transparent}.btn.ghost.danger:hover:not(:disabled){background:var(--danger);color:var(--on-accent)}.btn.small{padding:6px 12px;font-size:13px;border-width:1px}.btn.full{width:100%}.btn.big{padding:14px 26px;font-size:17px;border-radius:13px}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.input{width:100%;background:var(--field-bg);border:2px solid var(--line);color:var(--text);padding:11px 13px;border-radius:11px;font:inherit;margin-bottom:12px}.input:focus{outline:none;border-color:var(--blue)}.input.code{text-transform:uppercase;letter-spacing:.24em;font-weight:800;text-align:center;font-size:20px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.check{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;cursor:pointer}.check input{margin-top:4px;width:17px;height:17px;accent-color:var(--accent)}.check em{display:block;font-style:normal;color:var(--muted);font-size:13px}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:5px;font-weight:600}.board-preferences{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}.board-view-toggle{flex:none;white-space:nowrap}.map-picker{display:flex;align-items:center;gap:8px;min-width:0}.map-picker>span{font-size:13px;color:var(--muted);font-weight:600}.map-picker .input{width:auto;min-width:0;max-width:180px;margin:0;padding:8px 10px;font-weight:700}.map-picker.compact .input{padding:6px 9px;font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow-sm)}.brand{font-weight:850;letter-spacing:-.03em;font-size:24px}.brand.small{font-size:19px}.brand .dot,h1 .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);margin-left:5px;vertical-align:middle}.chip{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:15px;line-height:1;color:#fff;font-weight:800;flex:none;box-shadow:inset 0 -2px #0000002e}.chip.sm{width:18px;height:18px;font-size:10px}.chip.xs{width:12px;height:12px;font-size:8px}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;padding:2px 7px;border-radius:999px;margin-left:7px;background:var(--tag-bg);color:var(--tag-ink)}.tag.you{background:var(--accent-soft);color:var(--accent-ink)}.tag.bot{background:#3b82f62e;color:var(--blue)}.tag.off{background:#ef44442e;color:var(--danger)}.code-chip{font-family:ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.24em;background:var(--surface);border:2px dashed var(--line-strong);padding:5px 14px;border-radius:10px;font-weight:800;font-size:18px;color:var(--blue)}.banner{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--warn);color:#fff;text-align:center;padding:9px;font-weight:700}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--danger);color:#fff;font-weight:600;padding:12px 20px;border-radius:12px;z-index:80;cursor:pointer;box-shadow:var(--shadow)}.theme-toggle{position:fixed;right:16px;top:12px;z-index:40;width:44px;height:44px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:20px;line-height:1;cursor:pointer;box-shadow:var(--shadow);display:grid;place-items:center;transition:transform .1s,box-shadow .14s}.theme-toggle:hover{transform:translateY(-2px) rotate(-8deg)}.theme-toggle:active{transform:translateY(0)}.home{max-width:1040px;margin:0 auto;padding:60px 20px 40px}.home-head{text-align:center;margin-bottom:34px}.home-head p{color:var(--muted);max-width:540px;margin:0 auto;font-size:17px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.home-foot{margin-top:30px;text-align:center;font-size:13px}.rooms-head{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.room-list{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto}.room-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:var(--surface-2);border:2px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--text);cursor:pointer;font:inherit;text-align:left;font-weight:600}.room-row:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.room-row:disabled{opacity:.45;cursor:not-allowed}.room-meta{color:var(--muted);font-size:13px;font-weight:500}.room-code{font-family:ui-monospace,monospace;letter-spacing:.14em;color:var(--blue);font-weight:800}.hint{background:var(--hint-bg);border:1px solid var(--hint-border);color:var(--hint-ink);border-radius:12px;padding:12px 14px;font-size:13px;margin-top:14px}.lobby{max-width:1040px;margin:0 auto;padding:44px 20px}.lobby-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-right:48px;flex-wrap:wrap}.lobby-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;align-items:start}.invite-link{grid-column:1 / -1;min-width:0}.invite-link .row{flex-wrap:wrap}.invite-link .input{flex:1 1 220px;min-width:0}.invitation-home{max-width:640px}.seat-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}.seat{display:flex;gap:12px;align-items:center;background:var(--surface-2);border:2px solid var(--line);border-radius:12px;padding:11px 13px}.seat-name{flex:1;font-weight:700}.settings.numbers{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin-top:16px}.game{height:100vh;height:100dvh;min-height:660px;display:flex;flex-direction:column}.game-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;flex:none;padding:12px 74px 12px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.game-head>.board-preferences{margin-right:auto}.game-main{flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr) 290px;gap:14px;padding:14px}.col{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.col.centre{overflow:visible;display:grid;gap:14px;grid-template-rows:minmax(0,1fr) auto}.col.centre>.actionbar{min-height:0;max-height:220px;overflow-y:auto;align-content:flex-start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-sm)}.board-view{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr)}.board-view.is-3d{grid-template-rows:auto minmax(0,1fr);gap:8px}.board-controls{display:flex;align-items:center;justify-content:center;gap:8px 14px;flex-wrap:wrap}.board-rotation-buttons{display:flex;gap:6px}.board-controls .btn{min-height:36px;min-width:36px}.board-tilt{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}.board-tilt input{width:90px;min-height:32px;accent-color:var(--accent)}.board-view-hint{flex-basis:100%;text-align:center;color:var(--muted);font-size:12px}.board-wrap{position:relative;min-width:0;min-height:0;container-type:size}.board-interaction{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:var(--radius)}.board-camera{--board-unit: calc((min(100cqw, 100cqh) - 2 * var(--board-ring, 0px) - 24px) / 100);position:relative;width:calc(min(100cqw,100cqh) - 2 * var(--board-ring, 0px) - 24px);aspect-ratio:1}.is-3d .board-interaction{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.is-3d .board-wrap.dragging .board-interaction,.is-3d .dragging .tile{cursor:grabbing}.is-3d .board-camera,.is-3d .board,.board-depth{transform-style:preserve-3d}.board-depth{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.board-base{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateZ(-14px);border-radius:var(--board-radius);background:var(--board-frame)}.board-side{position:absolute;background:var(--board-frame);filter:brightness(.65)}.board-side.north,.board-side.south{width:100%;height:14px;transform-origin:top;transform:rotateX(-90deg)}.board-side.north{top:0}.board-side.south{top:100%}.board-side.east,.board-side.west{width:14px;height:100%;transform-origin:left;transform:rotateY(90deg)}.board-side.east{left:100%}.board-side.west{left:0}.is-3d .tile{transform:translateZ(2px);box-shadow:0 2px 0 var(--board-frame)}.is-3d .tile.selected{transform:translateZ(5px);box-shadow:0 0 0 3px var(--blue)}.is-3d .token-layer{transform:translateZ(16px)}.is-3d .board-token{box-shadow:0 4px #0006,0 8px 8px #0000004d}.is-3d .board-token.active{box-shadow:0 0 0 3px var(--accent),0 4px #0006,0 8px 8px #0000004d}.is-3d .map-pride .board:before{transform:translateZ(-1px)}.is-3d .map-pride .board-depth{--board-frame: #a98cc8}.board{position:relative;width:100%;aspect-ratio:1 / 1;min-width:0;min-height:0;display:grid;grid-template-columns:1.5fr repeat(9,1fr) 1.5fr;grid-template-rows:1.5fr repeat(9,1fr) 1.5fr;gap:min(var(--board-gap, 3px),calc(var(--board-unit) * .5));padding:min(var(--board-pad, 10px),calc(var(--board-unit) * 1.6));background:var(--board-face);border:3px solid var(--board-frame);border-radius:var(--board-radius, 18px);box-shadow:var(--shadow)}.tile{position:relative;overflow:hidden;min-width:0;min-height:0;background:var(--tile-bg, var(--board-face));border:var(--tile-border, 1.5px solid var(--line-strong));border-radius:var(--tile-radius, 7px);padding:0;color:var(--tile-ink);font:inherit;text-align:center;display:flex;cursor:default}.tile.ownable{cursor:pointer}.tile.ownable:hover{border-color:var(--blue)}.tile.selected{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb59}.tile.mortgaged .tile-head{filter:grayscale(.85)}.tile.edge-bottom{flex-direction:column}.tile.edge-top{flex-direction:column-reverse}.tile.edge-left{flex-direction:row-reverse}.tile.edge-right{flex-direction:row}.tile.corner,.tile.special.edge-bottom,.tile.special.edge-top{flex-direction:column}.tile-head{flex:0 0 30%;position:relative;display:flex;align-items:center;justify-content:center}.tile.edge-left .tile-head,.tile.edge-right .tile-head{flex-basis:22%}.tile-body{flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:clamp(1px,calc(var(--board-unit) * .4),3px)}.tile-name{font-size:clamp(5px,calc(var(--board-unit) * 1.65),11.5px);line-height:1.1;font-weight:700;flex:1 1 0;min-height:0;width:100%;overflow:auto;scrollbar-width:none;display:flex;flex-direction:column;justify-content:safe center;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.tile-name>span{display:block;flex:none;width:100%}.tile-price,.tile-glyph,.tile-mortgage{flex:none}.tile-price{font-size:clamp(5px,calc(var(--board-unit) * 1.5),11px);color:var(--tile-price-ink);font-weight:700;white-space:nowrap}.tile-glyph{font-size:clamp(8px,calc(var(--board-unit) * 3.2),24px);line-height:1}.tile.special.edge-left .tile-glyph,.tile.special.edge-right .tile-glyph{font-size:clamp(7px,calc(var(--board-unit) * 2.4),16px)}.tile.corner .tile-name{font-size:clamp(6px,calc(var(--board-unit) * 2),15px);font-weight:850;letter-spacing:.02em;-webkit-line-clamp:2}.tile.corner .tile-glyph{font-size:clamp(12px,calc(var(--board-unit) * 5),40px)}.tile.corner .tile-body{gap:2px;padding-bottom:clamp(2px,calc(var(--board-unit) * 1.2),10px)}@container (max-width: 520px) or (max-height: 520px){.tile .tile-head{flex-basis:10%}.tile .tile-body{padding:1px;gap:0}.tile.ownable .tile-price,.tile .tile-glyph,.tile .tile-mortgage{display:none}}@container (max-width: 520px) or (max-height: 520px){.board-view:not(.is-3d) .board-interaction{display:block;place-items:start;overflow:auto;padding:12px}.board-view:not(.is-3d) .board-camera{width:440px;--board-unit: 4.4px;margin:var(--board-ring, 0px)}}.tile-buildings{color:#fff;font-size:clamp(5px,calc(var(--board-unit) * 1.5),11px);font-weight:800;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.45)}.tile-buildings .hotel{background:#b91c1c;padding:1px 4px;border-radius:4px;letter-spacing:.5px}.tile-mortgage{font-size:clamp(4px,calc(var(--board-unit) * 1.2),9px);font-weight:800;color:var(--danger)}.tile-owner-bar{position:absolute;z-index:2}.tile.edge-bottom .tile-owner-bar{bottom:0;left:0;right:0;height:6px}.tile.edge-top .tile-owner-bar{top:0;left:0;right:0;height:6px}.tile.edge-left .tile-owner-bar{left:0;top:0;bottom:0;width:6px}.tile.edge-right .tile-owner-bar{right:0;top:0;bottom:0;width:6px}.board-wrap.map-dummy .tile-name,.board-wrap.map-dummy .tile-price,.board-wrap.map-dummy .board-centre{font-family:ui-monospace,SF Mono,Menlo,monospace}.board-wrap.map-dummy .tile{text-transform:uppercase}.board-wrap.map-cyber .tile-name,.board-wrap.map-cyber .tile-price,.board-wrap.map-cyber .tile-glyph,.board-wrap.map-cyber .board-centre{font-family:ui-monospace,SF Mono,Cascadia Mono,Consolas,monospace}.board-wrap.map-cyber .tile{text-transform:uppercase;letter-spacing:.02em}.board-wrap.map-cyber .tile.ownable{background:#9bbc0f}.board-wrap.map-cyber .tile-head{filter:grayscale(1) sepia(1) hue-rotate(28deg) saturate(2.6) brightness(.8)}.board-wrap.map-cyber .tile-buildings{text-shadow:none;color:#0f380f}.board-wrap.map-cyber .tile-buildings .hotel{background:#0f380f;color:#9bbc0f;border-radius:0}.board-wrap.map-cyber .tile-mortgage{color:#0f380f}.board-wrap.map-cyber .board{box-shadow:0 0 0 7px #0f380f,0 0 0 10px #306230,0 0 0 12px #0f380f,var(--shadow)}.board-wrap.map-cyber .board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(180deg,rgba(15,56,15,.22) 0 1px,transparent 1px 4px),radial-gradient(120% 120% at 50% 40%,transparent 55%,rgba(15,56,15,.22) 100%)}.board-wrap.map-cyber .board-centre{border:2px solid #0f380f;border-radius:2px}.board-wrap.map-cyber .centre-turn,.board-wrap.map-cyber .centre-card{background:#9bbc0f;border:2px solid #0f380f;border-radius:0;box-shadow:none;color:#0f380f}.board-wrap.map-cyber .centre-card{border-top-width:5px}.board-wrap.map-cyber .centre-pot{color:#0f380f}.board-wrap.map-cyber .board-token{border-color:#0f380f;box-shadow:none}.board-wrap.map-cyber .board-token.active{box-shadow:0 0 0 3px #0f380f}.board-wrap.map-cyber .die{filter:none}.board-wrap.map-cyber .die rect{fill:#9bbc0f;stroke:#0f380f;stroke-width:5;rx:0}.board-wrap.map-cyber .die .pip{fill:#0f380f;r:10}.board-wrap.map-cyber .dice.empty{color:#0f380f}.board-wrap.map-poker .tile.ownable{background:#f8f2e2}.board-wrap.map-poker .tile.special{color:#f7f1e1}.board-wrap.map-poker .tile.special .tile-price{color:#e6d6ab}.board-wrap.map-poker .tile.corner{border-color:#d4af37}.board-wrap.map-poker .board{box-shadow:0 0 0 4px #8a5a2b,0 0 0 13px #5a3618,0 0 0 15px #c8a24a,0 0 0 17px #3a2210,var(--shadow)}.board-wrap.map-poker .board-centre{position:relative;border-radius:50%;box-shadow:inset 0 0 0 2px #d4af3773,inset 0 0 80px #0000006b}.board-wrap.map-poker .board-centre>*{position:relative;z-index:1}.board-wrap.map-poker .board-centre:before{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;border:1px solid rgba(212,175,55,.28);pointer-events:none}.board-wrap.map-poker .centre-turn,.board-wrap.map-poker .centre-card{background:#f8f2e2;border-color:#c8a24a;color:#1d1a14}.board-wrap.map-poker .centre-card{border-top-color:#a11d33}.board-wrap.map-poker .centre-card.fortune{border-top-color:#8a6d1f}.board-wrap.map-poker .centre-pot{color:#f0d68a}.board-wrap.map-poker .board-token{border-color:#f7f1e1}.board-wrap.map-poker .die{filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}.board-wrap.map-poker .die rect{fill:#f8f2e2;stroke:#c8a24a}.board-wrap.map-poker .die:first-child .pip{fill:#a11d33}.board-wrap.map-poker .die:last-child .pip{fill:#23272b}.board-wrap.map-poker .dice.empty{color:#cbb98a}.board-wrap.map-pride .board{border-width:5px;background-clip:padding-box;box-shadow:0 0 26px #a98cc847,var(--shadow)}.board-wrap.map-pride .board:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;z-index:-1;border-radius:calc(var(--board-radius, 20px) + 6px);background:linear-gradient(105deg,#e07a6f,#efa863,#efd06a,#77b58a,#6a9ad0,#a98cc8);opacity:.85}.board-wrap.map-pride .tile.corner{border-color:#ded0e6;background-image:linear-gradient(180deg,#e07a6f8c 0,#e07a6f8c 16.6%,#efa8638c 16.6%,#efa8638c 33.3%,#efd06a8c 33.3%,#efd06a8c 50%,#77b58a8c 50%,#77b58a8c 66.6%,#6a9ad08c 66.6%,#6a9ad08c 83.3%,#a98cc88c 83.3%,#a98cc88c);background-color:#fffdf9}.board-wrap.map-pride .tile.corner .tile-name,.board-wrap.map-pride .tile.corner .tile-glyph{text-shadow:0 1px 2px rgba(255,253,249,.85)}.board-wrap.map-pride .board-centre{border:2px solid transparent;background-image:radial-gradient(ellipse 84% 62% at 50% 138%,transparent 60%,rgba(169,140,200,.26) 60% 66%,rgba(106,154,208,.26) 66% 72%,rgba(119,181,138,.26) 72% 78%,rgba(239,208,106,.26) 78% 84%,rgba(239,168,99,.26) 84% 90%,rgba(224,122,111,.26) 90% 96%,transparent 96%),linear-gradient(160deg,#fffaf4,#fdf6fb),linear-gradient(115deg,#e07a6f,#efa863,#efd06a,#77b58a,#6a9ad0,#a98cc8);background-clip:padding-box,padding-box,border-box;background-origin:padding-box,padding-box,border-box}.board-wrap.map-pride .centre-turn,.board-wrap.map-pride .centre-card{background:#fffdf9;border-color:#e8dced;color:#2c2733}.board-wrap.map-pride .centre-card{border-top-color:#6a9ad0}.board-wrap.map-pride .centre-card.fortune{border-top-color:#efa863}.board-wrap.map-pride .centre-pot{color:#b1633a}.board-wrap.map-pride .die{filter:drop-shadow(0 3px 6px rgba(169,140,200,.35))}.board-wrap.map-pride .die rect{fill:#fffdf9;stroke:#e0d2e8}.board-wrap.map-pride .die:first-child .pip{fill:#e07a6f}.board-wrap.map-pride .die:last-child .pip{fill:#6a9ad0}.token-layer{--token-step: clamp(6px, calc(var(--board-unit) * 3.2), 22px);position:absolute;inset:min(var(--board-pad, 10px),calc(var(--board-unit) * 1.6));z-index:5;pointer-events:none}.board-token{position:absolute;width:clamp(10px,calc(var(--board-unit) * 3.8),27px);height:clamp(10px,calc(var(--board-unit) * 3.8),27px);transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;border:2px solid #fff;font-size:clamp(6px,calc(var(--board-unit) * 2.1),15px);line-height:1;box-shadow:0 2px 6px #00000073;transition:left .09s linear,top .09s linear;will-change:left,top}.board-token.active{border-color:#0f172a;box-shadow:0 0 0 3px var(--accent),0 2px 6px #00000073;z-index:6}.board-token.moving{animation:token-hop .18s ease-in-out infinite alternate}@keyframes token-hop{0%{margin-top:0}to{margin-top:-6px}}.board-centre{grid-column:2 / 11;grid-row:2 / 11;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:clamp(5px,calc(var(--board-unit) * 2),16px);background:var(--centre-bg);border-radius:14px;padding:clamp(6px,calc(var(--board-unit) * 2.6),20px);text-align:center;margin:3px;color:var(--centre-ink);min-width:0;min-height:0;overflow:auto}.board-centre>*{flex-shrink:0}.board-centre.has-card{gap:10px;padding:12px;justify-content:safe center}.board-centre.has-card .centre-card{margin-block:auto}.board-centre .brand{color:var(--centre-ink);font-size:clamp(16px,calc(var(--board-unit) * 4),30px)}.centre-turn{display:flex;align-items:center;gap:6px;font-weight:800;font-size:clamp(10px,calc(var(--board-unit) * 2.5),18px);max-width:100%;overflow-wrap:anywhere;background:#fff;border:2px solid #d9e2f0;border-radius:999px;padding:5px 10px;box-shadow:0 1px 2px #10203c14;color:var(--centre-ink)}.centre-pot{color:#b45309;font-weight:800}.centre-card{width:100%;max-width:340px;overflow-wrap:anywhere;background:#fff;border:2px solid #d9e2f0;border-top:5px solid var(--blue);border-radius:12px;padding:12px 16px;font-size:14px;box-shadow:0 1px 2px #10203c14;color:var(--centre-ink)}.centre-card.fortune{border-top-color:var(--warn)}.deck-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--centre-muted);margin-bottom:5px;font-weight:800}.dice{display:flex;gap:14px}.dice.empty{color:var(--centre-muted);font-size:28px}.die{width:54px;height:54px;filter:drop-shadow(0 3px 6px rgba(16,32,60,.22))}.board-centre .die{width:clamp(25px,calc(var(--board-unit) * 8),54px);height:auto}.die rect{fill:#fff;stroke:#cbd5e1;stroke-width:3}.die .pip{fill:#1e293b}.die.rolling{animation:die-tumble .3s linear infinite;transform-origin:50% 50%}.dice.rolling .die:nth-child(2){animation-delay:-.15s}@keyframes die-tumble{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-20deg) scale(1.08)}50%{transform:rotate(16deg) scale(1.12)}75%{transform:rotate(-9deg) scale(1.06)}to{transform:rotate(0) scale(1)}}.players{display:flex;flex-direction:column;gap:10px;padding:0;background:none;border:0;box-shadow:none}.player-card{background:var(--surface);border:2px solid var(--line);border-left:7px solid var(--pc, var(--line));border-radius:12px;padding:11px;box-shadow:var(--shadow-sm)}.player-card.active{border-color:var(--accent);border-left-color:var(--pc);background:var(--accent-soft)}.player-card.out{opacity:.5}.player-top{display:flex;align-items:center;gap:9px}.player-name{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:750;font-size:15px}.player-cash{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:850;font-size:16px}.player-meta{display:flex;gap:10px;font-size:12px;color:var(--muted);margin-top:6px;flex-wrap:wrap;font-weight:600}.deed-strip{display:flex;flex-wrap:wrap;gap:3px;margin-top:8px}.deed-dot{width:15px;height:9px;border-radius:3px;border:1px solid rgba(0,0,0,.15)}.deed-dot.mtg{opacity:.3}.deeds-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.deeds-head h2{margin:0}.deeds-tabs{margin:0;flex:none}.deeds-tabs button{padding:4px 10px;font-size:12px}.deeds-groups{display:flex;flex-direction:column;gap:12px}.deed-group{display:flex;flex-direction:column;gap:4px}.deed-group-head{display:flex;align-items:center;gap:7px;margin-bottom:2px}.deed-group-band{width:11px;height:11px;border-radius:3px;border:1px solid rgba(0,0,0,.15);flex:none}.deed-group-name{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750}.deed-item{display:flex;align-items:center;gap:9px;background:var(--surface-2);border:2px solid transparent;border-radius:10px;padding:6px 10px;font-size:13px}.deed-item.mine{border-color:var(--accent);background:var(--accent-soft)}.deed-item.mtg{opacity:.55}.deed-item-band{width:5px;align-self:stretch;border-radius:3px;flex:none}.deed-item-name{flex:1;min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:7px;font-weight:650}.deed-item-houses{font-size:11px;color:var(--accent);font-weight:750}.deed-item-flag{font-size:10px;font-weight:800;letter-spacing:.5px;color:var(--warn)}.deed-item-owner{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.deed-item-owner .accent{color:var(--accent-ink);font-weight:750}.actionbar{padding:12px 16px;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.actionbar.mine{border-color:var(--accent);background:var(--accent-soft)}.actionbar-status{display:flex;align-items:center;gap:12px;min-width:0;overflow-wrap:anywhere}.status-text{font-weight:800;font-size:17px}.timer{font-variant-numeric:tabular-nums;background:var(--surface);border:2px solid var(--line);padding:3px 11px;border-radius:999px;font-size:14px;color:var(--muted);font-weight:800}.timer.urgent{color:#fff;background:var(--danger);border-color:var(--danger)}.actionbar-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;align-items:center;min-width:0;max-width:100%}.actionbar-buttons .btn{max-width:100%;overflow-wrap:anywhere}.debt-note{color:var(--warn);font-size:13px;max-width:320px;font-weight:600}.log{flex:1;min-height:220px;display:flex;flex-direction:column}.tabs{display:flex;gap:6px;margin-bottom:10px}.tabs button{flex:1;background:var(--surface-2);border:2px solid var(--line);color:var(--muted);padding:7px;border-radius:9px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.tabs button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.log-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding-right:4px}.log-line,.chat-line{display:flex;gap:8px;align-items:baseline;font-size:13px;line-height:1.45}.log-line .chip,.chat-line .chip{flex:none;align-self:center}.log-line.money{color:var(--ink-money);font-weight:600}.log-line.card{color:var(--ink-card);font-weight:600}.log-line.system{color:var(--muted)}.log-line.trade{color:var(--ink-trade);font-weight:600}.log-line.build{color:var(--ink-build);font-weight:600}.chat-form{display:flex;gap:8px;margin-top:10px}.chat-form .input{margin:0;min-width:0}.log-line,.chat-line{overflow-wrap:anywhere}.detail{padding:0;overflow:hidden}.detail-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#fff;font-weight:800;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.detail-head .x{background:none;border:0;font-size:22px;cursor:pointer;color:inherit;line-height:1}.detail-body{padding:12px 14px}.detail-row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;border-bottom:1px solid var(--line);font-weight:600}.detail-row.current{color:var(--accent-ink);background:var(--accent-soft);border-radius:6px;padding:5px 7px}.rent-table{margin:10px 0}.trades{display:flex;flex-direction:column;gap:10px}.trade-offer{background:var(--surface-2);border:2px solid var(--line);border-radius:12px;padding:11px}.trade-offer-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.side-summary{font-size:13px;font-weight:600}.trade-note{font-size:13px;color:var(--muted);font-style:italic}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060c18a8;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:24px;width:min(700px,100%);max-height:88vh;overflow-y:auto;box-shadow:var(--shadow)}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal header h2{margin:0;font-size:22px}.modal.auction{width:min(440px,100%)}.modal.over{width:min(480px,100%);text-align:center}.modal.cards{width:min(660px,100%)}.modal.card-editor{width:min(460px,100%)}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em;background:var(--surface-2);border:1px solid var(--line);padding:1px 5px;border-radius:5px;color:var(--ink-trade)}.card-deck{margin-top:16px}.card-deck h3{margin-bottom:8px}.card-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.card-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:start;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 11px}.card-id{font-family:ui-monospace,monospace;font-size:12px;font-weight:800;color:var(--muted);padding-top:2px}.card-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.card-text{font-size:13px;font-weight:600}.card-effect{font-size:12px;color:var(--accent-ink);font-weight:700}.card-kind{align-self:start;font-size:10.5px;padding:2px 6px;white-space:nowrap;background:transparent;color:var(--muted);border-color:var(--line)}.card-row .btn.danger{align-self:start;padding:2px 9px;font-size:15px;line-height:1;background:transparent;color:var(--danger);border-color:var(--line)}.card-row .btn.danger:hover:not(:disabled){background:var(--danger);color:#fff}.street-row{display:grid;grid-template-columns:2ch 1fr auto;gap:10px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:6px 10px}.street-row .input{margin:0;padding:6px 9px}.street-name{font-weight:650;font-size:13px}.card-editor .field{margin-bottom:10px}.card-editor textarea.input{resize:vertical;font:inherit}.editor-params{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px}.editor-params .field:last-child,.editor-params .check:last-child{margin-bottom:0}.editor-preview{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0 0 8px}.seg{display:flex;gap:6px}.seg button{flex:1;background:var(--surface-2);border:2px solid var(--line);color:var(--muted);padding:8px;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}.seg button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.manage-list{display:flex;flex-direction:column;gap:8px}.manage-row{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:2px solid var(--line);border-radius:12px;padding:10px 12px}.manage-band{width:8px;align-self:stretch;border-radius:4px}.manage-info{flex:1;display:flex;flex-direction:column}.manage-actions{display:flex;gap:8px;flex-wrap:wrap}.trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:14px}.trade-tiles{display:flex;flex-direction:column;gap:6px;max-height:250px;overflow-y:auto}.trade-tile{display:flex;align-items:center;gap:9px;background:var(--surface-2);border:2px solid var(--line);border-radius:9px;padding:8px 10px;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.trade-tile.picked{border-color:var(--accent);background:var(--accent-soft)}.trade-tile:disabled{opacity:.42;cursor:not-allowed}.trade-tile .dot{width:13px;height:13px;border-radius:4px;flex:none}.auction-tile{border:3px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:5px;margin-bottom:14px;text-align:center;font-size:18px;font-weight:800}.auction-tile span{font-size:14px;font-weight:600;color:var(--muted)}.auction-state{font-size:17px;font-weight:700}.auction-controls{margin-top:14px;display:flex;flex-direction:column;gap:10px}.standings{list-style:none;margin:18px 0;padding:0;display:flex;flex-direction:column;gap:8px}.standings li{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:2px solid var(--line);border-radius:12px;padding:10px 12px}.rank{width:24px;color:var(--muted);font-weight:800}.standing-name{flex:1;text-align:left;font-weight:750}.standing-net{font-variant-numeric:tabular-nums;font-weight:700}.win-note{color:var(--accent);font-weight:800;font-size:17px}.modal.over.results{width:min(680px,100%);text-align:left}.modal.over.results h2,.modal.over.results .win-note{text-align:center}.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:20px 0 6px}.podium-col{display:flex;flex-direction:column;align-items:center;gap:4px;width:128px;text-align:center}.podium-medal{font-size:26px;line-height:1}.podium-name{font-weight:750;font-size:13px}.podium-net{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.podium-block{width:100%;margin-top:6px;border-radius:12px 12px 0 0;background:var(--surface-2);border:2px solid var(--line);border-bottom:none;display:grid;place-items:center;font-weight:850;font-size:22px;color:var(--muted)}.podium-col.p1 .podium-block{height:92px;background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.podium-col.p2 .podium-block{height:66px}.podium-col.p3 .podium-block{height:46px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}.stat-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.stat-card.wide{margin-top:12px}.stat-card h3{margin:0 0 8px}.stat-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.stat-rows li{display:flex;align-items:center;gap:8px;font-size:13px}.stat-name{flex:1;font-weight:600}.stat-val{font-variant-numeric:tabular-nums;font-weight:800}.nw-chart svg{width:100%;height:auto;display:block}.nw-grid{stroke:var(--line);stroke-width:1}.nw-axis{fill:var(--muted);font-size:10px}.nw-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.nw-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px}.nw-legend-item{display:flex;align-items:center;gap:5px;font-weight:650}.nw-swatch{width:14px;height:3px;border-radius:2px}@media (max-width: 1240px){.game-main{grid-template-columns:218px minmax(0,1fr) 258px}}@media (max-width: 1150px){.home-grid,.lobby-grid,.trade-grid,.trade-offer-body{grid-template-columns:1fr}.game{height:auto;min-height:100dvh}.game-main{grid-template-columns:minmax(0,1fr)}.col.centre{order:-1}.col{overflow:visible}.col.centre{display:flex}.board-view{flex:none;grid-template-rows:auto}.board-view.is-3d{grid-template-rows:auto auto}.board-wrap{width:min(100%,760px);aspect-ratio:1;justify-self:center}.col.centre>.actionbar{max-height:none}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.log{height:360px;flex:none}}@media (max-width: 560px){.game-main{padding:8px;gap:10px}.game-head{gap:8px;padding:10px 58px 10px 12px}.game-head .brand{font-size:16px}.game-head>.board-preferences{flex-basis:100%}.lobby-head .row{min-width:0}.lobby,.home{padding:30px 12px}.seat-name,.room-name,.standing-name,.stat-name{min-width:0;overflow-wrap:anywhere}.room-row{grid-template-columns:minmax(0,1fr) auto}.room-row .room-meta{grid-column:1}.room-row .room-code{grid-column:2;grid-row:1 / 3}.board-controls{gap:4px 10px}.board-centre.has-card{padding:6px;gap:5px}.centre-card{padding:8px;font-size:12px}.actionbar{padding:12px}.actionbar-buttons{margin-left:0;width:100%}.actionbar-buttons .btn{flex:1 1 130px;padding:10px 12px}.modal-backdrop{padding:10px}.modal{padding:16px;max-height:90dvh}.modal header,.manage-row{flex-wrap:wrap;gap:10px}.manage-info{min-width:0;overflow-wrap:anywhere}.manage-actions{flex-basis:100%}.stat-grid{grid-template-columns:1fr}.podium-col{width:96px}}@media (prefers-reduced-motion: reduce){.die.rolling,.dice.rolling .die,.board-token.moving{animation:none!important}.board-token{transition:none}}:root{--bg: #111b19;--bg-grad: radial-gradient(ellipse at 85% 4%, #243a302e, transparent 45%);--surface: #1b2824;--surface-2: #22312b;--surface-3: #14201c;--field-bg: #15221d;--line: #344239;--line-strong: #536050;--text: #f1f0e5;--muted: #a5afa2;--accent: #edae76;--accent-soft: #453725;--accent-ink: #f3c49a;--on-accent: #242d22;--blue: #a8c8c1;--tag-bg: #354237;--tag-ink: #c0cbb8;--radius: 16px;--shadow-sm: 0 2px 4px #0000000c;--shadow: 0 16px 40px #00000026}:root[data-theme=light]{--bg: #f4f2e9;--bg-grad: radial-gradient(ellipse at 85% 4%, #d6e0cd50, transparent 45%);--surface: #fdfcf5;--surface-2: #eaece1;--surface-3: #e4e8dd;--field-bg: #f7f7f0;--line: #d8ddcf;--line-strong: #b8c2ae;--text: #22362c;--muted: #647261;--accent: #eaa56a;--accent-soft: #f6e3cc;--accent-ink: #8b4c25;--on-accent: #283326;--blue: #3c776a;--tag-bg: #e0e6d7;--tag-ink: #56674b}html{scroll-behavior:smooth;scroll-padding-top:28px}body{font-family:Segoe UI,system-ui,sans-serif}.legal-footer{flex:none;padding:12px 70px 18px 20px;text-align:center;font-size:13px;color:var(--muted)}a{color:inherit}button,input,select{-webkit-tap-highlight-color:transparent}button,a,input,select{touch-action:manipulation}button{font:inherit}.btn{border-width:1px;border-radius:9px;box-shadow:none;font-size:14px;font-weight:650}a.btn{display:inline-flex;align-items:center;justify-content:center;gap:34px;text-decoration:none}.btn.primary{box-shadow:inset 0 1px #ffffff30}.btn.primary.full{display:flex;align-items:center;justify-content:space-between;padding:14px 18px}.input{border-width:1px;border-radius:8px;min-width:0}.input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 15%,transparent)}.card{border:1px solid var(--line);box-shadow:none;padding:28px}.eyebrow{display:block;font:600 10px/1.6 Segoe UI,sans-serif;letter-spacing:.15em;color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#aed1a1;box-shadow:0 0 0 4px #aed1a110;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.theme-toggle{width:34px;height:34px;top:23px;right:22px;font-size:16px;border-width:1px;box-shadow:none}.banner{z-index:100;font-size:13px;padding:7px;background:#b07936}.app:has(>.banner){padding-top:34px}.app:has(>.banner)>.theme-toggle{top:48px}.home-redesign{max-width:1320px;padding:0 52px}.home-nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;font-size:26px;font-weight:750;letter-spacing:-1.2px;text-decoration:none}.wordmark-period{color:var(--accent)}.brand-symbol{width:31px;height:31px;margin-right:10px;background:var(--accent);color:#253328;display:grid;place-items:center;border-radius:50%;font-size:25px;line-height:1;flex:none}.district-board .tile{flex-direction:column}.district-board .tile-head{position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;z-index:1}.district-board .tile-buildings{position:absolute;top:9px;right:0;font-size:7px;color:var(--tile-ink)}.district-board .tile-buildings .hotel{background:var(--centre-ink)}.district-board .tile-body{padding-bottom:22%}.district-board .route-step{display:inline-flex;align-items:center;justify-content:space-between;gap:4px;align-self:flex-start;flex-shrink:0;padding:1px 4px;border-radius:4px;font:750 clamp(9px,calc(var(--board-unit) * 1.6),12px)/1.1 "Segoe UI",sans-serif;background:#213b35;color:#fff8dc}.district-board .route-arrow{font-size:1.45em;line-height:1}.district-board .tile:after{content:"";position:absolute;width:9px;height:9px;background:#213b35;filter:drop-shadow(0 0 1px #fff8dc);clip-path:polygon(0 0,100% 50%,0 100%);pointer-events:none}.district-board .tile[data-direction=→]:after{right:1px;top:calc(50% - 4.5px)}.district-board .tile[data-direction=←]:after{left:1px;top:calc(50% - 4.5px);transform:rotate(180deg)}.district-board .tile[data-direction=↓]:after{bottom:1px;left:calc(50% - 4.5px);transform:rotate(90deg)}.district-board .tile[data-direction=↑]:after{top:1px;left:calc(50% - 4.5px);transform:rotate(-90deg)}.district-board .board-centre{padding:6px;gap:5px;flex-direction:row;flex-wrap:wrap;justify-content:center;overflow:auto}.district-board .board-centre .brand{font-size:clamp(12px,calc(var(--board-unit) * 2.7),22px)}.district-board .centre-card{max-width:65%;margin:0;padding:5px;font-size:clamp(8px,calc(var(--board-unit) * 1.8),13px)}.district-board .centre-turn{font-size:clamp(8px,calc(var(--board-unit) * 1.8),13px)}.home-nav-links{display:flex;gap:32px;font-size:12px;font-weight:550}.home-nav-links a{text-decoration:none;color:var(--muted)}.home-nav-links a:hover{color:var(--text)}.home-nav-links a:last-child{color:var(--text)}.connection-status{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px}.connection-status i{width:6px;height:6px;border-radius:50%;background:var(--warn)}.connection-status i.online{background:#a6c794}.home-hero{display:grid;grid-template-columns:.87fr 1.13fr;align-items:center;gap:22px;padding:56px 0 52px}.hero-copy{padding:12px 0 22px}.hero-copy>.eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.14em}.tiny-star{color:var(--accent);font-size:19px}.hero-copy h1{font-size:clamp(48px,5.3vw,76px);letter-spacing:-.065em;font-weight:620;line-height:1.06;margin:24px 0}.hero-copy h1>span{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400;color:#b9caa8;letter-spacing:-.06em}:root[data-theme=light] .hero-copy h1>span{color:#6a8059}.hero-copy>p{font-size:15px;line-height:1.85;max-width:350px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:25px;margin:27px 0 36px}.hero-actions .btn.big{font-size:13px;padding:14px 23px;border-radius:8px}.text-link{font-size:12px;text-decoration:none;display:flex;gap:16px;align-items:center}.text-link:hover{color:var(--accent)}.hero-facts{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:11px}.hero-facts>span+span{border-left:1px solid var(--line);padding-left:22px}.hero-facts strong{color:var(--text);font-weight:650}.hero-world{min-width:0;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:var(--surface)}.hero-world-caption{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-top:1px solid var(--line)}.hero-world-caption .eyebrow{font-size:8px;margin-bottom:3px}.hero-world-caption strong{display:block;font-size:15px;font-weight:550}.hero-world-caption>span{font-size:11px;color:var(--muted)}.hero-world-caption>span>span{font-size:22px;margin-left:9px;color:var(--accent)}.section-heading{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin-bottom:25px}.section-heading .eyebrow{font-size:9px;margin-bottom:9px}.section-heading h2{font-size:28px;font-weight:550;letter-spacing:-.04em;margin-bottom:0}.section-heading p{color:var(--muted);font-size:12px;line-height:1.75;margin:0}.worlds-section{padding:35px 0 45px;border-top:1px solid var(--line)}.world-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.world-card{padding:0;text-align:left;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .18s,transform .18s;min-width:0}.world-card:hover{transform:translateY(-4px);border-color:var(--world-accent)}.world-card.active{border-color:var(--world-accent);box-shadow:0 0 0 1px var(--world-accent)}.world-card-art{position:relative;aspect-ratio:1.65;background:radial-gradient(ellipse at 50% 75%,#ffffff09,transparent 65%),var(--world-sky);overflow:hidden}.world-card-art img{width:100%;height:100%;object-fit:contain;display:block;transform:scale(1.2)}.world-card-number{position:absolute;top:8px;left:10px;color:#f3edde87;font-size:9px;font-family:ui-monospace,monospace}.world-card-check{position:absolute;right:8px;bottom:8px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#14221b88;color:#f4f0e5}.world-card.active .world-card-check{background:var(--world-accent);color:#28352b}.world-card-copy{display:flex;flex-direction:column;padding:14px 13px;gap:4px}.world-card-copy strong{font-size:12px;font-weight:650}.world-card-copy>span{font-size:9px;color:var(--muted)}.world-description{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;margin:17px 0 0}.world-description>span{width:5px;height:5px;border-radius:50%;flex:none}.tables-section{padding:42px 0 52px;border-top:1px solid var(--line)}.home-redesign .home-grid{grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch}.form-title{display:flex;gap:14px;align-items:center;margin-bottom:26px}.form-title h3{font-size:20px;font-weight:550;margin:0 0 4px;letter-spacing:-.035em}.form-title p{margin:0;font-size:11px;color:var(--muted)}.form-icon{width:38px;height:38px;border:1px solid var(--line-strong);border-radius:10px;display:grid;place-items:center;color:var(--accent);font-size:23px;flex:none}.field-label{display:block;font-size:11px;font-weight:550;margin-bottom:8px}.field-label>span{float:right;color:var(--muted);font-weight:400}.home-redesign .input{font-size:12px;padding:13px;margin-bottom:18px}.private-check{font-size:12px;align-items:center;margin:1px 0 22px}.private-check input{margin-top:0}.private-check em{margin-top:3px;font-size:10px}.form-footnote{color:var(--muted);text-align:center;font-size:10px;margin:13px 0 0}.join-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.home-redesign .input.code{text-align:left;font-size:17px;height:46px}.join-code-row .btn{height:46px;font-size:12px;white-space:nowrap}.name-reminder{font-size:10px;color:var(--muted)}.rooms-head{border-top:1px solid var(--line);padding-top:22px;margin-top:21px;margin-bottom:14px}.rooms-head h3{display:flex;align-items:center;gap:10px;font-size:12px;margin:0}.rooms-head .btn{font-size:10px;border:0;padding-right:0}.count-badge{background:var(--surface-2);color:var(--muted);border-radius:4px;padding:1px 6px;font:10px ui-monospace,monospace}.empty-tables{display:flex;flex-direction:column;align-items:center;text-align:center;padding:21px 12px;border:1px dashed var(--line);border-radius:9px}.empty-tables>span{font-size:30px;color:var(--line-strong);margin-bottom:9px}.empty-tables strong{font-size:11px;font-weight:500}.empty-tables p{color:var(--muted);font-size:10px;margin:5px 0 0}.room-row{padding:12px;border-width:1px;font-size:12px}.room-meta{font-size:10px}.room-code{color:var(--accent-ink);font-size:11px}.how-section{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;padding:40px 0 55px;border-top:1px solid var(--line)}.how-section>div>.eyebrow{font-size:9px}.how-section h2{font:400 40px/1.18 Georgia,serif;letter-spacing:-.035em;margin-top:17px}.how-steps{list-style:none;margin:0;padding:0;display:grid;gap:23px}.how-steps li{display:flex;gap:20px}.how-steps li>span{font:12px ui-monospace,monospace;color:var(--accent);margin-top:3px}.how-steps h3{font-size:13px;font-weight:600;margin-bottom:6px}.how-steps p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.home-redesign .home-foot{display:flex;align-items:center;gap:24px;margin-top:0;padding:25px 0 32px;border-top:1px solid var(--line);text-align:left}.home-foot .wordmark{font-size:20px}.home-foot p{font-size:10px;color:var(--muted);margin:0}.home-foot>span{font-size:9px;color:var(--muted);margin-left:auto}.world-board{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface-3);position:relative}.world-stage{position:relative;min-width:0;min-height:280px;isolation:isolate;background:radial-gradient(ellipse at 50% 55%,#ffffff09,transparent 65%),var(--world-sky)}.world-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(#dce5d619 .7px,transparent .7px);background-size:20px 20px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse,#0009,transparent 75%);mask-image:radial-gradient(ellipse,#0009,transparent 75%)}.world-canvas,.world-labels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.world-canvas{touch-action:none;cursor:grab;outline-offset:-4px!important}.world-canvas.dragging{cursor:grabbing}.world-labels{pointer-events:none}.world-caption{position:absolute;top:18px;left:18px;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.13em;color:#dddccc;pointer-events:none}.world-caption .live-dot{background:var(--world-accent)}.world-dimension{border:1px solid #d4ddcf30;padding:2px 5px;border-radius:4px;font-size:8px;color:var(--world-accent)}.world-orbit{position:absolute;right:14px;bottom:14px;display:flex;gap:2px;align-items:center;padding:4px;background:#14221ee8;border:1px solid #b9cbb82b;border-radius:9px}.world-orbit button{width:30px;height:30px;border:0;border-radius:5px;color:#dddccd;background:transparent;cursor:pointer;font-size:18px}.world-orbit button:hover{background:#b9cbb825;color:#fff}.world-orbit>span{height:17px;width:1px;background:#b9cbb830;margin:0 4px}.world-preview{border:0;border-radius:0;display:block}.world-preview .world-stage{height:clamp(320px,33vw,440px)}.world-preview .world-orbit{bottom:12px;right:12px}.world-preview .world-orbit button{width:26px;height:26px}.world-toolbar{display:flex;gap:12px;align-items:center;padding:10px 14px;background:var(--surface);border-top:1px solid var(--line);min-width:0;flex-wrap:wrap}.world-toolbar>span{color:var(--muted);font-size:9px;margin-right:auto}.world-label-toggle{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.world-label-toggle input{accent-color:var(--accent)}.world-property-select{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:5px 7px;font-size:10px;font-family:inherit;max-width:170px}.world-turn{position:absolute;top:18px;right:18px;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.world-turn .dice{margin:0;gap:5px}.world-turn .die{width:30px;height:30px}.world-turn .dice.empty{font-size:23px;line-height:30px}.world-turn>span{color:#e5e9dc;font-size:10px;display:flex;align-items:center;gap:6px;padding:3px 7px;border-radius:4px;background:#14221dbd}.world-turn i{width:6px;height:6px;border-radius:50%}.world-turn small{color:#e5ce9d;font-size:10px}.world-inspect{position:absolute;left:14px;bottom:14px;padding:10px 13px;display:flex;flex-direction:column;max-width:calc(100% - 220px);background:#14221ef0;border:1px solid #b9cbb82b;border-radius:9px;color:#efeddf;pointer-events:none}.world-inspect .eyebrow{font-size:8px;color:var(--world-accent)}.world-inspect strong{font-size:12px;font-weight:550;overflow-wrap:anywhere}.world-inspect>span:not(.eyebrow){font-size:10px;color:#c4ccb8;margin-top:3px}.world-event{padding:11px 15px;border-top:1px solid var(--line);background:var(--surface);max-height:120px;overflow-y:auto}.world-event .eyebrow{color:var(--accent-ink);font-size:8px}.world-event p{font-size:12px;margin:5px 0 0}.world-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--world-sky);color:#f1f0e5;padding:20px}.world-error p{font-size:12px;margin:9px 0 16px;color:#c3cabb}.world-error img{width:100%;height:calc(100% - 25px);object-fit:contain}.world-error>span{font-size:9px;color:#c3cabb}.world-loading{display:grid;place-items:center;min-height:340px;color:var(--muted);background:var(--surface-3);border-radius:15px;font-size:13px}.view-switch{display:inline-flex;flex:none;background:var(--surface-3);border:1px solid var(--line);border-radius:7px;padding:3px;gap:2px}.view-switch button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px 10px;border-radius:4px;font-size:11px;white-space:nowrap}.view-switch button[aria-pressed=true]{background:var(--surface-2);color:var(--accent-ink);box-shadow:0 1px 3px #0002}.map-picker{gap:7px;font-size:11px}.map-picker select{font-size:11px;border-width:1px;min-height:33px}.map-picker.compact{max-width:205px}.lobby{max-width:1200px;padding:44px 30px}.lobby-head h1{font-size:31px;font-weight:550;letter-spacing:-.035em}.lobby-worlds{margin:0 0 26px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lobby-worlds .section-heading{margin-bottom:18px}.lobby-worlds .section-heading h2{font-size:21px}.lobby-worlds .section-heading p{font-size:11px}.lobby .card h2{font-size:16px;font-weight:600;margin-bottom:20px}.seat{border-width:1px;padding:14px}.settings .check{margin-bottom:16px;font-size:13px}.settings .check em{font-size:11px;line-height:1.7;margin-top:3px}.code-chip{color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--line);border-radius:6px;font-size:13px}.game-head{background:var(--surface-3);padding-top:14px;padding-bottom:14px}.game-head .brand{font-size:21px;letter-spacing:-.9px;font-weight:650}.game-head .brand .dot{background:var(--accent)}.game-head .btn.ghost.danger{border-color:transparent;opacity:.85}.game-main{grid-template-columns:230px minmax(0,1fr) 255px;gap:14px;padding:18px}.panel{box-shadow:none;border-radius:12px}.players{padding:8px;gap:8px}.player-card{border-radius:8px;border-width:1px}.player-card.active{background:color-mix(in srgb,var(--pc) 8%,var(--surface))}.player-cash{font-variant-numeric:tabular-nums}.actionbar{border-radius:12px;box-shadow:none;border-width:1px}.actionbar.mine{background:var(--surface);border-color:var(--accent)}.actionbar .status-text{font-size:13px;font-weight:550}.actionbar-buttons .btn.big{font-size:14px;padding:12px 20px;border-radius:8px}.tabs button{font-size:12px}.log-line{font-size:12px;line-height:1.8}.modal{border:1px solid var(--line-strong);border-radius:17px}.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#07100cd6}.tag{border-radius:4px;font-size:9px}@media (min-width: 1500px){.game-main{grid-template-columns:255px minmax(0,1fr) 285px;max-width:1900px;width:100%;margin:0 auto}}@media (max-width: 1250px){.home-redesign{padding:0 36px}.home-nav{margin-right:35px}.game-main{grid-template-columns:205px minmax(0,1fr) 225px;gap:12px;padding:12px}}@media (max-width: 1150px){.game-main{grid-template-columns:minmax(0,1fr)}.col.centre>.world-board{width:100%}.col.centre>.world-board .world-stage{height:clamp(360px,65vw,680px)}.lobby-grid{grid-template-columns:1fr 1.15fr}.world-toolbar>span{font-size:10px}.col.right>.detail{position:fixed;right:16px;bottom:16px;width:min(310px,calc(100vw - 32px));max-height:65dvh;overflow-y:auto;z-index:35;box-shadow:var(--shadow);border-color:var(--line-strong)}}@media (max-width: 900px){.home-redesign{padding:0 26px}.home-nav-links{gap:19px}.connection-status{display:none}.home-hero{grid-template-columns:1fr 1.1fr;gap:20px;padding-top:36px}.hero-copy h1{font-size:52px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.09em}.hero-copy>p{font-size:13px}.hero-actions{gap:16px}.hero-facts{gap:10px;font-size:10px}.hero-facts>span+span{padding-left:10px}.hero-world-caption{padding:15px}.hero-world-caption>span{font-size:0}.world-gallery{gap:9px}.world-card-copy{padding:11px 8px}.world-card-copy strong{font-size:11px}.world-card-copy>span{display:none}.section-heading h2{font-size:25px}.section-heading p{font-size:11px}.home-redesign .card{padding:22px}.lobby-grid{grid-template-columns:1fr}.home-foot>span{display:none}}@media (max-width: 680px){.home-redesign{padding:0 20px}.home-nav{height:73px;margin-right:28px}.wordmark{font-size:23px}.brand-symbol{width:27px;height:27px;font-size:23px}.home-nav-links{gap:0}.home-nav-links a{display:none}.home-nav-links a:last-child{display:block;font-size:11px}.theme-toggle{right:13px;top:20px;width:30px;height:30px}.home-hero{grid-template-columns:1fr;padding:30px 0 35px;gap:23px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(51px,10.5vw,68px);margin:20px 0}.hero-copy>p{max-width:390px;font-size:14px}.hero-actions{margin:23px 0}.hero-facts{gap:18px;font-size:10px}.hero-facts>span+span{padding-left:18px}.world-preview .world-stage{height:clamp(280px,80vw,420px)}.hero-world-caption>span{font-size:10px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-heading h2{font-size:25px}.section-heading p br{display:none}.world-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.world-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.world-card:last-child .world-card-art{aspect-ratio:1.9}.world-card-copy>span{display:block}.world-card-copy strong{font-size:12px}.world-card-copy{padding:12px}.world-description{align-items:flex-start;font-size:11px;line-height:1.7}.world-description>span{margin-top:7px}.worlds-section,.tables-section{padding:30px 0}.home-redesign .home-grid{grid-template-columns:1fr;gap:16px}.how-section{grid-template-columns:1fr;gap:25px;padding:32px 0}.how-section h2{font-size:34px}.home-redesign .home-foot{flex-wrap:wrap;gap:5px 22px}.home-foot p{font-size:9px}.lobby{padding:28px 16px}.lobby-head{padding-right:32px}.lobby-head .board-preferences{flex-wrap:wrap}.lobby .card{padding:20px}.lobby-worlds .world-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.lobby-worlds .world-card:last-child{display:block;grid-column:auto}.lobby-worlds .world-card-copy{padding:9px}.lobby-worlds .world-card-copy>span{display:none}.lobby-worlds .world-card:last-child .world-card-art{aspect-ratio:1.65}.world-caption{left:12px;top:12px;font-size:8px}.world-turn{top:37px;right:12px}.world-turn .die{width:24px;height:24px}.world-orbit button{width:27px;height:30px}.world-inspect{max-width:calc(100% - 194px);padding:8px}.world-inspect strong{font-size:10px}.world-inspect>span:last-child{font-size:9px}.world-toolbar{padding:9px 11px;gap:8px 12px}.world-toolbar>span{flex-basis:100%;font-size:9px}.world-property-select{margin-left:auto;max-width:200px}.game-head{gap:8px 10px}.game-main{padding:8px}.game-head .board-preferences{flex-wrap:wrap}.col.centre>.world-board .world-stage{height:clamp(340px,95vw,550px)}.world-event{max-height:130px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
