@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;550;600&family=Space+Grotesk:wght@400;500;600&display=swap";.landing{height:100dvh;overflow:auto;background:var(--bg);color:var(--text)}.landing-main{width:min(1320px,100%);min-height:100%;margin:0 auto;padding:var(--space-7);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:var(--space-7)}.landing-content{max-width:480px}.landing h1{font-family:var(--font-display);font-size:clamp(44px,5.4vw,80px);font-weight:500;letter-spacing:-.065em;line-height:1.05;margin:0}.landing h1>span{color:var(--text-3)}.landing-content>p{color:var(--text-2);font-size:var(--text-title);line-height:1.6;margin:var(--space-5) 0 var(--space-6)}.landing-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.landing-actions button{min-width:140px}.landing-board{border-radius:var(--radius-3);background:var(--bg);padding:var(--space-2);aspect-ratio:1080 / 660;min-width:0}.landing-board .board{width:100%;height:100%}@media(max-width:960px){.landing-main{grid-template-columns:1fr;padding:var(--space-6) 20px;gap:var(--space-6);align-content:start}.landing-content{max-width:none}}@media(max-height:520px)and (min-width:961px){.landing h1{font-size:44px}.landing-content>p{margin:var(--space-3) 0 var(--space-4)}}.landing-connection{position:fixed;left:var(--space-4);bottom:var(--space-4);max-width:calc(100% - 32px);padding:var(--space-3) var(--space-4);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-2);font-size:var(--text-ui);border-radius:var(--radius-1);z-index:5;box-shadow:var(--shadow)}.landing-connection button{border:0;background:none;color:var(--text);text-decoration:underline;font-size:inherit}.auth-dialog{background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-3);width:min(420px,calc(100vw - 32px));padding:0;max-height:calc(100dvh - 32px);box-shadow:var(--shadow)}.auth-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-card{position:relative;padding:var(--space-6)}.auth-close{position:absolute;top:var(--space-3);right:var(--space-3);width:var(--control-h);height:var(--control-h);border:0;border-radius:var(--radius-1);color:var(--text-2);background:transparent;font-size:25px!important;transition:background .12s}.auth-close:hover{color:var(--text);background:var(--surface-3)}.auth-card h2{font-family:var(--font-display);font-size:var(--text-h1);letter-spacing:-1px;font-weight:500;margin:0 0 var(--space-2)}.auth-card>p{font-size:var(--text-ui);line-height:1.5;color:var(--text-2);margin:0 0 var(--space-5)}.auth-card fieldset{padding:0;margin:0;border:0;min-width:0}.auth-card label{display:block;font-size:var(--text-ui);font-weight:500;margin-bottom:var(--space-4);color:var(--text-2)}.auth-card input{display:block;margin-top:var(--space-2)}.auth-card label small,.auth-error{display:block;color:var(--negative);font-size:var(--text-cap);line-height:1.6;margin-top:var(--space-2)}.auth-captcha{margin-bottom:var(--space-4)}.auth-captcha small{display:block;color:var(--negative);font-size:var(--text-cap);line-height:1.6;margin-top:var(--space-2)}.auth-error button{background:transparent;border:0;padding:0;color:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.auth-submit{width:100%;margin-top:var(--space-2)}.auth-card>.auth-switch{margin:var(--space-5) 0 0;text-align:center;font-size:var(--text-ui)}.auth-switch button{background:transparent;border:0;padding:0 0 0 5px;color:var(--text);font-size:inherit;text-decoration:underline;text-underline-offset:3px}.auth-dialog button:disabled,.auth-dialog input:disabled{opacity:.55;cursor:wait}.session-loading{height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--bg);color:var(--text-2);font-size:var(--text-ui);gap:var(--space-4)}.account-control{position:fixed;right:var(--space-4);top:var(--space-4);z-index:24;display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-ui)}.account-control>span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.account-control button{min-height:var(--control-h);border:1px solid var(--line-strong);color:var(--text);background:transparent;border-radius:var(--radius-1);padding:0 var(--space-4);font-size:var(--text-ui);font-weight:550;transition:background .12s,transform 80ms}.account-control button:hover:not(:disabled){background:var(--surface-3)}.account-control button:active:not(:disabled){transform:scale(.97)}.account-control p{position:absolute;top:48px;right:0;width:260px;margin:0;color:var(--negative);background:var(--surface-2);border:1px solid var(--line);padding:var(--space-3);border-radius:var(--radius-1);font-size:var(--text-ui)}@media(max-width:480px){.landing-content>p{font-size:var(--text-body)}.auth-card{padding:var(--space-5) 22px}.account-control{gap:var(--space-2)}.account-control>span,.account-control>.account-avatar{display:none}}.account-avatar{width:28px;height:28px;border-width:2px;font-size:13px}:root{color-scheme:dark;--font-ui: "DM Sans", system-ui, sans-serif;--font-display: "Space Grotesk", "DM Sans", system-ui, sans-serif;--text-cap: 12px;--text-ui: 14px;--text-body: 16px;--text-title: 18px;--text-h2: 22px;--text-h1: 32px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-1: 8px;--radius-2: 12px;--radius-3: 16px;--control-h: 40px;--hud-top: 64px;--corner-w: 252px;--corner-h: 88px;--bg: #161616;--surface: #202020;--surface-2: #2a2a2a;--surface-3: #353535;--line: #3a3a3a;--line-strong: #6e6e6e;--text: #f5f5f5;--text-2: #bdbdbd;--text-3: #a0a0a0;--action: #f5f5f5;--on-action: #111111;--positive: #5be28a;--negative: #ff7070;--caution: #ffd60a;--scrim: #000b;--shadow: 0 12px 48px #000b}@media(pointer:coarse){:root{--control-h: 44px}}@media(max-width:900px){:root{--corner-w: 172px;--corner-h: 76px}}:root{font-family:var(--font-ui);color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased}.room-game{min-height:100dvh;background:var(--bg)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--text);outline-offset:3px}::selection{background:var(--text);color:var(--bg)}.button-primary,.button-secondary,.button-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-1);font-size:var(--text-ui)!important;font-weight:550!important;line-height:1.3;transition:background .12s,border-color .12s,transform 80ms,filter .12s}.button-primary{background:var(--action);color:var(--on-action)}.button-primary:hover:not(:disabled){filter:brightness(1.08)}.button-secondary{background:transparent;color:var(--text);border-color:var(--line-strong)}.button-secondary:hover:not(:disabled){background:var(--surface-3)}.button-danger{background:var(--negative);color:#fff;border-color:transparent}.button-primary:active:not(:disabled),.button-secondary:active:not(:disabled),.button-danger:active:not(:disabled){transform:scale(.97)}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.45;cursor:not-allowed}.field-input,.auth-card input,.offer-form input,.offer-form select{width:100%;min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-1);background:var(--bg);color:var(--text);font-size:var(--text-body)}.field-input::placeholder,.auth-card input::placeholder{color:var(--text-3)}.field-input:focus-visible,.auth-card input:focus-visible{outline:2px solid var(--text);outline-offset:1px}.field-input[aria-invalid=true],.auth-card input[aria-invalid=true]{border-color:var(--negative)}.eyebrow{font-size:var(--text-cap);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.brand{font-family:var(--font-display);font-size:25px;font-weight:500;letter-spacing:-1.3px;color:var(--text)}.brand>span{color:var(--text-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.app,main,.workspace{width:100%;height:100dvh}.board-stage{width:100%;height:100%;display:grid;place-items:center;padding:12px}.board{display:block;width:100%;height:100%}.board-wordmark{font-family:var(--font-display);font-size:38px;font-weight:500;letter-spacing:-2px;fill:#e3e3e3;pointer-events:none}.field-label,.corner-label{text-transform:uppercase}.field-label{fill:#f5f5f5;font-weight:550;pointer-events:none}.field-price{fill:#9a9a9a;font-size:10px;font-weight:500;pointer-events:none}.field-rent{fill:#ff5252;font-size:10px;font-weight:700;pointer-events:none}.board-field{transform-box:view-box;transform-origin:0 0;transition:transform .22s ease,filter .22s ease}.board-field.is-lifted{cursor:pointer}.lift-shadow{fill:#000;opacity:.6;pointer-events:none;transform-box:view-box;transform-origin:0 0}.board-field.is-dimmed{filter:blur(1.4px) brightness(.55)}.field-tag rect{fill:#f2f2f2;stroke:#000;stroke-width:.8}.field-tag text{fill:#111;font-size:9px;font-weight:700;pointer-events:none}.field-tag.is-selected rect{fill:#3ddc84}.landing-glow{animation:landing-flash .9s ease-in-out infinite}@keyframes landing-flash{0%,to{opacity:.2}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.landing-glow{animation:none;opacity:.8}.board-field{transition:none}}.corner-mark{fill:#fff;font-size:26px;font-family:var(--font-display)}.corner-label{fill:#fff;font-size:10px;font-weight:600;letter-spacing:1px}.corner-pot{fill:#5be28a;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;pointer-events:none}.pawn-destination{fill:transparent;stroke:#ffffff24;stroke-width:1.5;cursor:crosshair;outline:none}.pawn-destination:hover,.pawn-destination:focus-visible{fill:#ffffff20;stroke:#fff;stroke-width:2}.board-pawn{cursor:pointer;outline:none;transform-box:view-box;transform-origin:0 0}.board-pawn.is-animating{transition:transform .28s ease-in-out}.board-pawn:focus-visible .pawn-hitbox{stroke:#fff;stroke-width:1;rx:4}.info-field{cursor:pointer;outline:none}.info-field:hover>rect:first-child{fill:#2d2d2d}.info-field:focus-visible>rect:first-child,.info-field.info-selected>rect:first-child{stroke:#fff;stroke-width:2.5}.info-field.sell-marked>rect:first-child{stroke:#ff5a5a;stroke-width:3.5;fill:#3e2222}.fx{transform-box:view-box;transform-origin:0 0}.fx rect{transform-box:fill-box;transform-origin:center}.fx-flash{opacity:0;animation:fx-flash .7s ease-out forwards}.fx-ring{opacity:0;animation:fx-ring-out 1s ease-out forwards}.fx-ring-late{animation-delay:.25s}.fx-build .fx-ring,.fx-hotel .fx-ring{animation-name:fx-ring-pop}.fx-sell .fx-flash{fill:#ff5a5a}.fx-sell .fx-ring{stroke:#ff5a5a;animation-name:fx-ring-in}@keyframes fx-flash{0%{opacity:.55}to{opacity:0}}@keyframes fx-ring-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes fx-ring-pop{0%{opacity:1;transform:scale(.9)}35%{opacity:1;transform:scale(1.18)}to{opacity:0;transform:scale(1.5)}}@keyframes fx-ring-in{0%{opacity:0;transform:scale(1.7)}25%{opacity:1}to{opacity:0;transform:scale(1)}}.close-panel{width:var(--control-h);height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius-1);background:transparent;color:var(--text);font-size:24px;line-height:1;transition:background .12s,transform 80ms}.close-panel:hover{background:var(--surface-3)}.close-panel:active{transform:scale(.95)}.pawn-color-dot{width:13px;height:13px;border-radius:50%;flex-shrink:0;box-shadow:inset -2px -2px 3px #0005}.info-panel{position:fixed;top:0;bottom:0;right:0;z-index:25;width:min(360px,calc(100vw - 24px));padding:var(--space-5);overflow-y:auto;background:var(--surface-2);border-left:1px solid var(--line);box-shadow:var(--shadow);animation:reveal-info .22s ease-out}@keyframes reveal-info{0%{transform:translate(100%)}to{transform:translate(0)}}.info-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.info-heading h2{font-size:var(--text-ui);font-weight:550;margin:0}.info-color{height:16px;border-radius:4px;margin-bottom:var(--space-5)}.info-resource{display:block;width:90px;height:110px;margin:-16px auto 0}.info-kicker{font-size:var(--text-cap);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 var(--space-2)}.info-name{font-family:var(--font-display);font-size:28px;font-weight:500;text-transform:uppercase;overflow-wrap:anywhere;margin:0 0 var(--space-5)}.info-facts{margin:0}.info-facts>div{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-ui)}.info-facts dt{color:var(--text-2)}.info-facts dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.owner-name{display:inline-flex;align-items:center;gap:var(--space-2)}.info-section-title{font-size:var(--text-cap);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:var(--space-6) 0 var(--space-2);color:var(--text-3)}.asset-list{list-style:none;margin:0;padding:0}.asset-list li{display:flex;justify-content:space-between;gap:var(--space-3);padding:10px 0;font-size:var(--text-ui);font-variant-numeric:tabular-nums}.asset-list li>span:last-child{color:var(--text-2)}.asset-list li.current-stage{color:var(--text);font-weight:600}.asset-list li.current-stage>span:last-child{color:var(--text)}.info-note{margin:var(--space-4) 0 0;color:var(--text-2);font-size:var(--text-ui);line-height:1.6}@media(max-width:600px){.board-stage{padding:4px}.info-panel{top:80px;width:min(360px,100vw);padding:var(--space-5) 20px}}.money-float{font-family:var(--font-display);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#000;stroke-width:5px;stroke-linejoin:round;pointer-events:none;opacity:0;animation:money-float 2.2s ease-out forwards}.money-float.is-above{font-size:20px;stroke-width:4px;animation-name:money-float-above}.money-float.is-gain{fill:#3ddc84}.money-float.is-loss{fill:#ff5a5a}@keyframes money-float{0%{opacity:0;transform:translateY(10px)}12%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(-26px)}}@keyframes money-float-above{0%{opacity:0;transform:translateY(6px)}12%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(-14px)}}@media(prefers-reduced-motion:reduce){.money-float,.money-float.is-above{animation-name:money-fade}@keyframes money-fade{0%,80%{opacity:1}to{opacity:0}}}.orbital-board .field-label{fill:#1a3146;font-weight:650}.orbital-board .field-price{fill:#354e64;font-weight:600}.orbital-board .field-rent{fill:#9d342d}.orbital-board .corner-label{fill:#1a3146}.orbital-board .corner-pot{fill:#0f5f31}.orbital-board .landing-glow rect{stroke:#17c964}.orbital-board .info-field:hover>rect:first-child{fill:#f1f8fb;stroke:#1d5f8f;stroke-width:2}.orbital-board .info-field:focus-visible>rect:first-child,.orbital-board .info-field.info-selected>rect:first-child{stroke:#102d47;stroke-width:3}.orbital-board .info-field.sell-marked>rect:first-child{stroke:#b3413c;fill:#efc5bd}.orbital-board .pawn-destination{stroke:#143c5955}.orbital-board .pawn-destination:hover,.orbital-board .pawn-destination:focus-visible{fill:#a0d9ff80;stroke:#164c75}.orbital-core{transition:opacity .3s}.orbital-core.is-playing{opacity:.24}@media(prefers-reduced-motion:reduce){.orbital-core{transition:none}}
