@font-face{font-family:Inter;src:url('./assets/inter-latin.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--bg:#101d25;--panel:rgba(18,30,37,.88);--panel-solid:#16252d;--panel-light:#213139;--ink:#eef0e5;--muted:#9ba9aa;--faint:#74878b;--line:rgba(205,222,211,.12);--accent:#c1ee9f;--accent-ink:#223927;--serif:Georgia,'Times New Roman',serif;color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a,input,select{font:inherit}button{border:0;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s;touch-action:manipulation}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit}button svg{flex:none}button{color:inherit}button>span{pointer-events:none}button svg{pointer-events:none}svg{vertical-align:middle}kbd{font:10px Inter,sans-serif;font-weight:500;letter-spacing:.04em;border:1px solid currentColor;border-radius:3px;padding:3px 5px;opacity:.6}h1,h2,h3,p{margin:0}h2,h3{font-weight:500}em{font-style:normal}small{font-size:.75rem}[hidden]{display:none!important}#app,#world,#interface{position:absolute;inset:0}#world canvas{display:block;width:100%;height:100%;touch-action:none}#world:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,22,29,.55),transparent 23%,transparent 64%,rgba(10,20,26,.65)),linear-gradient(90deg,rgba(11,23,30,.28),transparent 30%,transparent 85%,rgba(11,23,30,.08))}#interface{pointer-events:none}#interface button,#interface a,#interface input,#interface select{pointer-events:auto}#interface aside,#interface .turn-panel{pointer-events:auto}#interface .view-caption{pointer-events:none}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:26px 32px;height:92px;position:absolute;left:0;right:0;top:0;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}.brandmark{width:43px;height:43px;display:flex;align-items:center;justify-content:center;font-size:29px;font-weight:750;letter-spacing:-3px;border:1px solid rgba(209,228,206,.42);border-radius:11px;color:var(--accent);padding-right:4px;position:relative}.brandmark span{font-size:19px;position:absolute;bottom:2px;right:5px;letter-spacing:0;line-height:1}.brandtype{font-size:.85rem;letter-spacing:.18em;font-weight:650;line-height:1.35}.brandtype small{display:block;font-size:.64rem;color:var(--muted);letter-spacing:.28em;margin-top:3px}.session-tag{display:flex;align-items:center;gap:9px;font-size:.78rem;color:#b4c2bf;position:absolute;left:50%;transform:translateX(-50%);border:1px solid var(--line);background:rgba(20,35,42,.7);border-radius:30px;padding:10px 15px;white-space:nowrap}.live-dot{width:5px;height:5px;background:var(--accent);display:inline-block;border-radius:50%;flex-shrink:0}.session-tag>i{height:12px;width:1px;background:var(--line);margin:0 3px}.header-actions{display:flex;gap:7px;align-items:center}.text-button{display:inline-flex;gap:8px;align-items:center;background:transparent;font-size:.8rem;color:#c8d1cc;padding:9px 10px}.text-button:hover{color:var(--accent)}.nav-divider{height:20px;width:1px;background:var(--line);margin:0 8px}.icon-button{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border-radius:7px;color:#a5b6b8}.icon-button:hover{background:rgba(224,241,223,.09);color:var(--ink)}.framed{border:1px solid var(--line);background:var(--panel)}
.players-panel{position:absolute;top:125px;left:32px;width:227px}.section-label{display:flex;align-items:center;justify-content:space-between;color:#b8c5be;font-size:.65rem;letter-spacing:.16em;font-weight:600;margin-bottom:15px;min-height:18px}.round-label{font-size:.61rem;font-weight:400;color:var(--muted);letter-spacing:.08em}.player-card{background:rgba(21,36,43,.65);border:1px solid rgba(185,209,199,.075);width:100%;display:flex;align-items:center;gap:14px;text-align:left;border-radius:11px;padding:16px 15px;margin-bottom:8px;position:relative;min-height:99px;backdrop-filter:blur(12px)}.player-card:hover{background:rgba(35,54,59,.9);border-color:rgba(185,209,199,.25)}.player-card.current{background:linear-gradient(100deg,rgba(90,118,76,.25),rgba(24,42,43,.83));border-color:rgba(195,239,160,.52)}.player-token{color:var(--player-color);width:39px;height:45px;display:flex;align-items:center;justify-content:center;flex:none}.player-info{display:flex;flex:1;flex-direction:column;min-width:0}.player-name{font-size:.84rem;display:flex;align-items:center;gap:7px;margin-bottom:5px;color:#dce2d9}.player-name small{font-size:.53rem;letter-spacing:.09em;color:var(--faint);font-weight:500}.current .player-name small{color:var(--accent)}.player-info strong{font-size:1.38rem;font-weight:500;letter-spacing:-.035em;line-height:1.25;color:#eff1e7;font-variant-numeric:tabular-nums}.owned-dots{display:flex;gap:3px;flex-wrap:wrap;margin-top:7px;min-height:8px}.owned-dots>i{width:6px;height:6px;border-radius:1px}.owned-dots>span{font-size:.59rem;color:var(--faint)}.turn-marker{width:5px;height:5px;border-radius:50%;background:var(--accent);position:absolute;top:20px;right:16px}.jail-badge{font-size:.56rem;letter-spacing:.06em;color:#dfb28f;border:1px solid #dfb28f55;border-radius:3px;padding:3px;position:absolute;top:18px;right:11px}.eliminated{opacity:.38;filter:grayscale(1)}.portfolio-actions{padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:17px;display:flex;flex-direction:column;gap:2px}.portfolio-actions>button{display:flex;align-items:center;gap:10px;background:transparent;color:#bbc9c7;padding:11px 9px;font-size:.77rem;width:100%;text-align:left;border-radius:6px}.portfolio-actions>button:hover{background:var(--line);color:var(--ink)}.portfolio-actions>button>span:nth-child(2){flex:1}.property-count{font-size:.64rem;background:#293d40;padding:2px 5px;border-radius:3px;min-width:18px;text-align:center;color:#b6c7bb}.bank-reserve{display:flex;align-items:center;gap:7px;color:#90a09f;margin-top:20px;font-size:.58rem}.bank-reserve>span:nth-child(2){font-size:.56rem;letter-spacing:.07em;flex:1}.bank-reserve>b{font-size:.67rem;font-weight:400}.bank-reserve>svg:first-child{color:#879b91;margin-right:1px}.hotel-symbol{font-size:10px;border:1px solid #748889;border-radius:2px;width:11px;text-align:center}
.view-caption{position:absolute;top:117px;left:50%;transform:translateX(-50%);text-align:center}.caption-kicker{display:block;font-size:.58rem;letter-spacing:.25em;color:#98aaa9;font-weight:500}.caption-location{display:block;margin-top:9px;font-family:var(--serif);font-style:italic;font-size:1.04rem;color:#c4cbbd}.activity-panel{position:absolute;right:32px;top:135px;width:217px}.activity-panel .section-label{margin-bottom:11px}.tiny-button{display:flex;align-items:center;justify-content:center;background:transparent;color:inherit;padding:0;width:20px;height:20px;border-radius:3px}.tiny-button:hover{background:#ffffff14}.activity-entry{display:flex;gap:10px;margin-bottom:15px;opacity:.5}.activity-entry.latest{opacity:1}.activity-entry p{font-size:.73rem;line-height:1.6;color:#acbdbc;font-weight:400}.activity-dot{width:4px;height:4px;background:#819291;border-radius:50%;margin-top:7px;flex:none}.activity-dot.buy,.activity-dot.income{background:var(--accent)}.activity-dot.rent,.activity-dot.jail{background:#e1ac75}
.property-panel{position:absolute;right:32px;top:118px;width:244px;background:rgba(21,36,42,.95);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 45px #06101925;max-height:calc(100dvh - 315px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#56716a transparent;animation:slidein .25s ease}.property-band{display:flex;justify-content:space-between;align-items:center;background:var(--property-color);padding:12px 16px;color:#172c2a;font-size:.6rem;font-weight:650;letter-spacing:.1em}.property-body{padding:22px 20px 15px}.property-overline{font-size:.55rem;letter-spacing:.12em;color:#96aaa5}.property-body h2{font-family:var(--serif);font-size:1.56rem;line-height:1.17;margin-top:8px;color:#eef0e1}.property-price{font-size:1.75rem;letter-spacing:-.04em;margin-top:22px}.property-price>span{display:block;margin-top:3px;font-size:.64rem;letter-spacing:0;color:var(--faint)}.rent-summary{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);margin-top:4px;font-size:.7rem;color:#b2c2ba}.rent-summary>b{color:var(--accent);font-weight:500}.deed-preview{display:flex;flex-direction:column;gap:10px;margin:17px 0 22px;font-size:.64rem;color:#8faaa2}.deed-preview>div{display:flex;justify-content:space-between}.deed-preview b{font-weight:400;color:#c4cfbd}.deed-preview p,.property-description{font-size:.77rem;line-height:1.6;color:#9aafa8;margin-bottom:18px}.property-description{margin-top:20px}.property-panel .secondary{padding:11px 6px;font-size:.68rem}.property-panel .subtle-button{font-size:.68rem;padding:12px 0 0}
.game-footer{position:absolute;bottom:61px;left:32px;right:32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.view-tools{width:229px;flex:none}.tool-eyebrow{font-size:.58rem;letter-spacing:.16em;color:#94a6a4;display:block;margin-bottom:11px}.view-switch{display:flex;border:1px solid #c9e3ce24;border-radius:9px;background:#13272eae;backdrop-filter:blur(12px);padding:4px;gap:2px;width:max-content}.view-switch button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;border-radius:6px;padding:10px 12px;color:#9bb1ae;font-size:.74rem}.view-switch button:hover{color:#d9edda;background:#29443c77}.view-switch button.active{background:#c3ed9e;color:#284232;font-weight:550}.view-hint{font-size:.59rem;color:#7f9595;margin-top:11px;display:block}.view-hint>span{margin:0 6px}.turn-panel{border:1px solid rgba(184,207,192,.22);border-radius:13px;background:linear-gradient(110deg,rgba(32,47,49,.94),rgba(21,38,44,.94));backdrop-filter:blur(20px);display:flex;align-items:center;gap:23px;max-width:660px;min-width:475px;padding:23px 24px 24px;box-shadow:0 12px 45px #050e1766;flex:1;position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:calc(100vw - 650px)}.turn-details{flex:1;min-width:0}.turn-overline{font-size:.57rem;letter-spacing:.16em;color:#c7d9c5;display:flex;gap:7px;align-items:center;min-height:20px;margin-bottom:9px}.turn-overline>i{width:4px;height:4px;border-radius:50%}.turn-dice{display:flex;margin-left:auto;gap:5px}.turn-panel h2{font-family:var(--serif);font-size:1.5rem;letter-spacing:-.025em;line-height:1.13;color:#eaf0db;margin-bottom:8px}.turn-panel p{font-size:.69rem;line-height:1.5;color:#9eafa6;max-width:300px}.turn-action{display:flex;flex-direction:column;gap:7px;align-items:stretch}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;padding:14px 19px;font-size:.79rem;font-weight:600;white-space:nowrap;min-height:44px}.primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);box-shadow:inset 0 -2px 0 #294d2820}.primary:hover:not(:disabled){background:#d1f9b2;transform:translateY(-1px);box-shadow:0 3px 18px #b2d99812}.primary>kbd{margin-left:6px;font-size:8px;letter-spacing:0;opacity:.55;padding:4px}.primary:disabled{opacity:.65}.secondary{background:#263b3d77;border:1px solid #b9d2bb24;color:#b8cdbe;font-weight:450}.secondary:hover:not(:disabled){background:#344d47;border-color:#c1d7bc44}.subtle-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:transparent;color:var(--accent);font-size:.7rem;padding:5px 8px}.subtle-button:hover{color:#e0f8c7;text-decoration:underline}.inline-options{display:flex;margin-top:8px;margin-left:-8px}.wide{width:100%}.die{display:inline-grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;width:19px;height:19px;border:1px solid #c3d2bd4d;border-radius:4px;padding:3px;background:#d7e3c308}.die>i{border-radius:50%}.die>i.pip{background:#cadcb6}.die.large{width:44px;height:44px;gap:3px;padding:8px}.ai-button{background:#31463d;color:#afc5a5;border-color:#68846333;box-shadow:none}.thinking{display:flex;gap:3px}.thinking>i{width:3px;height:3px;border-radius:50%;background:#afc5a5;animation:thinking 1.3s infinite}.thinking>i:nth-child(2){animation-delay:.15s}.thinking>i:nth-child(3){animation-delay:.3s}.rolling-dice{animation:spin 1.4s linear infinite}.camera-tools{display:flex;flex-direction:column;gap:8px;padding-bottom:2px;margin-left:auto}.camera-tools .icon-button{width:36px;height:36px;backdrop-filter:blur(12px)}.bottom-status{position:absolute;bottom:23px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;font-size:.56rem;letter-spacing:.01em;color:#76908e}.bottom-status>span:first-child{display:flex;align-items:center;gap:8px}.bottom-status>span:last-child{font-size:.52rem;letter-spacing:.12em;color:#91a39b}.bottom-status .live-dot{width:3px;height:3px}.bottom-status i:not(.live-dot){font-style:normal;margin:0 6px}
.walk-guide{position:absolute;left:50%;top:118px;transform:translateX(-50%);text-align:center;white-space:nowrap}.walk-tag{display:inline-flex;gap:7px;align-items:center;color:var(--accent);font-size:.64rem;letter-spacing:.13em;background:#112c29cc;padding:9px 13px;border:1px solid #c5e1b936;border-radius:30px}.walk-guide p{font-size:.67rem;color:#cbd6c5;margin-top:12px}.walk-guide kbd{font-size:10px;margin:0 2px;opacity:.9;background:#152c2cc4;border-color:#bbcdb44d}.walk-guide p>span{margin:0 9px;color:#93a299}.walk-guide small{display:block;color:#97aca3;font-size:.6rem;margin-top:12px}.walk-mode #world:after{background:linear-gradient(180deg,#0e1c2955,transparent 30%,transparent 65%,#0e1c2966)}.walk-mode .players-panel{opacity:.84}.walk-mode .activity-panel{display:none}.walk-mode #crosshair{position:absolute;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 2px #0009)}#crosshair i{background:#f3f9eecc;position:absolute;border-radius:1px}#crosshair i:first-child{width:1px;height:13px;left:6px}#crosshair i:last-child{height:1px;width:13px;top:6px}.pointer-locked .walk-guide small{visibility:hidden}.mobile-joystick{position:absolute;left:30px;bottom:255px;width:105px;height:105px;pointer-events:auto;touch-action:none;display:none}.joystick-ring{width:100%;height:100%;background:#102e3155;border:1px solid #e1ecc551;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(5px)}.joystick-ring span{display:block;width:44px;height:44px;background:#cadca72e;border:1px solid #d8eabc66;border-radius:50%;pointer-events:none}.walk-mode .property-panel{opacity:.92}
#toast{position:absolute;bottom:216px;left:50%;transform:translate(-50%,10px);background:#172f30e8;color:#d9e8d2;border:1px solid #bad8b23b;border-radius:8px;padding:12px 18px;font-size:.77rem;max-width:min(90vw,550px);text-align:center;box-shadow:0 8px 35px #06111a44;opacity:0;transition:.2s;backdrop-filter:blur(15px);pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}
.game-dialog{color:var(--ink);background:#192a31;border:1px solid #8aaba644;border-radius:17px;width:510px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 45px);padding:0;box-shadow:0 35px 100px #030d1799;animation:modal-in .2s ease;overflow:auto;scrollbar-width:thin;scrollbar-color:#4f6f66 transparent;overscroll-behavior:contain}.game-dialog::backdrop{background:#05121bad;backdrop-filter:blur(8px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:29px 31px 22px;border-bottom:1px solid var(--line)}.dialog-eyebrow{font-size:.6rem;letter-spacing:.17em;color:#a9bfaa;display:block;margin-bottom:12px}.dialog-header h2{font-family:var(--serif);font-size:1.85rem;letter-spacing:-.03em;color:#e5ecda;line-height:1.1}.dialog-header .icon-button{margin-top:3px;background:#ffffff06}.dialog-body{padding:25px 31px 29px}.dialog-intro{font-size:.88rem;color:#abbeb5;line-height:1.65;margin-bottom:24px}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:11px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.dialog-footer .primary,.dialog-footer .secondary{font-size:.77rem;padding:12px 18px}.dialog-body p{font-size:.87rem;line-height:1.65;color:#a6bbb1}.dialog-body a{text-underline-offset:3px;color:#c7e6b5}.wide-dialog{width:780px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin:30px 0}.rules-grid article{position:relative;padding-top:6px}.rules-grid article>span{position:absolute;right:0;top:0;font-family:var(--serif);font-size:1.8rem;color:#788d7838}.rules-grid article>svg{color:#bad89f;margin-bottom:12px}.rules-grid h3{font-size:.97rem;color:#dce6d0;margin-bottom:9px}.rules-grid p{font-size:.79rem;line-height:1.8;color:#9eb4a9}.rules-details{border-top:1px solid var(--line);padding:17px 0;font-size:.85rem}.rules-details summary{cursor:pointer;color:#bfd0bc;padding:2px 0}.rules-details p{font-size:.79rem;line-height:1.8;margin-top:15px;color:#9fb4ab}.small-note,.dialog-body .small-note{font-size:.72rem;color:#8fa79c;line-height:1.7;margin:20px 0 0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row:first-child{padding-top:0}.setting-row>div{flex:1}.setting-row strong{display:block;font-size:.87rem;font-weight:500;color:#d5dfcd}.setting-row span{display:block;font-size:.7rem;color:#8ea79b;margin-top:5px;line-height:1.5}.switch{width:41px;height:24px;background:#394c4a;border:1px solid #5e797244;border-radius:16px;padding:3px;flex:none}.switch>i{display:block;width:16px;height:16px;border-radius:50%;background:#97aba0;transition:transform .18s}.switch.on{background:var(--accent)}.switch.on>i{background:#2f553a;transform:translateX(16px)}select,input[type=number]{background:#0f222a;border:1px solid #839f8c42;border-radius:6px;color:#c6d7c4;font-size:.78rem;padding:11px 12px;max-width:100%}.setting-row select{max-width:145px;font-size:.73rem;padding:9px}.field-label{display:block;margin:21px 0 10px;font-size:.77rem;color:#becdbb}.full-select{width:100%;padding:13px}.portfolio-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid var(--line)}.portfolio-summary span{display:block;font-size:.6rem;letter-spacing:.11em;color:#8ca599;margin-bottom:9px}.portfolio-summary strong{font-size:1.68rem;font-weight:450;letter-spacing:-.04em}.portfolio-summary small{font-size:.85rem;color:#829c8d;font-weight:400}.portfolio-row{display:flex;align-items:center;gap:12px;border:1px solid #bed7b715;border-radius:6px;padding:13px 13px 13px 0;margin-bottom:8px;background:#203a3c38;overflow:hidden}.portfolio-row.focused{border-color:#b8dba24d;background:#53765715}.deed-color{height:39px;width:5px;flex:none;border-radius:0 4px 4px 0}.deed-title{flex:1}.deed-title strong{font-size:.82rem;display:block;font-weight:500;line-height:1.35}.deed-title span{font-size:.65rem;color:#8da898;display:block;margin-top:6px}.deed-controls{display:flex;gap:5px;align-items:center}.deed-controls .icon-button{width:27px;height:27px;border-radius:4px}.building-count{font-size:.72rem;width:12px;text-align:center;color:#aac798}.mortgage-button{border:1px solid #b7d8ae22;background:#344b3d55;color:#b6cca9;font-size:.61rem;padding:8px;border-radius:5px;min-width:101px;margin-left:7px}.mortgage-button:hover:not(:disabled){background:#506847}.empty-state{text-align:center;padding:40px 20px 45px;color:#a6c491}.empty-state h3{font-family:var(--serif);font-size:1.55rem;margin:22px 0 10px;color:#dde6d2}.empty-state p{font-size:.82rem;color:#8fa99b;max-width:370px;margin:auto}.debt-alert{display:flex;gap:13px;background:#c6975f10;border:1px solid #d9ac6e35;padding:15px;border-radius:8px;margin-bottom:20px;color:#dcb479}.debt-alert strong{display:block;font-size:.89rem;font-weight:500}.debt-alert span{display:block;font-size:.73rem;line-height:1.6;color:#bead92;margin-top:6px}.debt-alert svg{flex:none;margin-top:2px}.danger.primary{background:#d69785;color:#442b26;border-color:#d69785}.danger.secondary{color:#d69785;border-color:#d6978544}
.drawn-card{border:1px solid #ccab723b;background:linear-gradient(135deg,#4b46352e,#33423944);border-radius:10px;padding:30px 24px 36px;text-align:center;margin-top:3px}.drawn-card.chest{border-color:#81b7a14f;background:linear-gradient(135deg,#41675233,#233b3844)}.card-art{font-family:var(--serif);font-size:5rem;line-height:1.1;color:#d6b377;display:block;margin-bottom:25px}.chest .card-art{color:#add1af;padding:18px 0}.card-eyebrow{font-size:.53rem;letter-spacing:.17em;color:#bdaf8f;display:block;margin-bottom:19px}.drawn-card p{font-family:var(--serif);font-size:1.65rem;color:#e4dfc7;line-height:1.35}.card-dialog .dialog-footer{justify-content:center;border:0;padding-top:0}.card-dialog .primary{min-width:170px}.auction-property{border-left:4px solid;padding:15px 20px;background:#263d3c77;border-radius:3px}.auction-property span{font-size:.57rem;letter-spacing:.13em;color:#8caf96}.auction-property h3{font-family:var(--serif);font-size:1.6rem;margin:8px 0}.auction-property p{font-size:.75rem}.auction-stats{display:flex;justify-content:space-between;margin:26px 0}.auction-stats span{display:block;font-size:.57rem;letter-spacing:.1em;color:#8ea899}.auction-stats strong{font-size:1.7rem;display:block;font-weight:450;margin:8px 0 4px}.auction-stats small{font-size:.7rem;color:#9fbaa6}.bid-input{display:flex;align-items:center;gap:8px}.bid-input>span{font-size:1.2rem;color:#98b38f}.bid-input>input{flex:1;min-width:0;font-size:1.1rem;padding:11px}.bid-input .secondary{font-size:.75rem;padding:12px}.trade-with{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.trade-with label{font-size:.85rem;color:#baceb4}.trade-columns{display:grid;grid-template-columns:1fr 34px 1fr;gap:15px}.trade-columns h3{font-size:.91rem;color:#d5e3c8;margin-bottom:15px}.trade-deeds{height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#466a58 transparent;border:1px solid var(--line);border-radius:5px;padding:9px}.trade-deed{display:flex;align-items:center;gap:8px;padding:9px 3px;cursor:pointer}.trade-deed input{accent-color:var(--accent);width:15px;height:15px;flex:none}.trade-deed>i{height:24px;width:4px;border-radius:2px;flex:none}.trade-deed>span{font-size:.72rem;color:#cadac0;line-height:1.35}.trade-deed small{display:block;font-size:.58rem;color:#91ab95;margin-top:3px}.trade-deed.disabled{opacity:.4;cursor:not-allowed}.trade-divider{display:flex;align-items:center;justify-content:center;color:#9cba97}.trade-columns input[type=number]{width:100%}.trade-columns .field-label{font-size:.65rem}.trade-review{display:grid;grid-template-columns:1fr 1fr;gap:20px}.trade-review h3{font-size:.85rem;color:#c8dabd;margin-bottom:10px}.trade-review p{font-size:.78rem}.winner-icon{text-align:center;color:#d7bb7c;margin:5px 0 20px}.results-list>div{display:flex;align-items:center;gap:15px;padding:17px 4px;border-bottom:1px solid var(--line)}.results-list .rank{font-family:var(--serif);font-size:1.6rem;color:#94ad95;width:20px}.results-list strong{font-size:.85rem;font-weight:500;flex:1}.results-list b{font-size:1.1rem;font-weight:450}.history-list>div{display:flex;gap:16px;border-bottom:1px solid var(--line);padding:13px 0}.history-list>div>span{font-size:.58rem;color:#73968a;min-width:45px;padding-top:4px}.history-list>div>p{font-size:.76rem;line-height:1.6;color:#c0d1be}
#loading{position:absolute;inset:0;background:#101d25;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s ease;gap:18px}#loading.finished{opacity:0;pointer-events:none}.loading-logo{font-size:58px;letter-spacing:-7px;font-weight:750;color:var(--accent);line-height:1.2}.loading-logo>span{color:#dce8ca}#loading h1{font-size:1.02rem;font-weight:600;letter-spacing:.22em;margin-top:8px}#loading h1 em{font-weight:350;color:#a9b7ae}#loading p{font-size:.8rem;color:#7f9790;max-width:350px;text-align:center;line-height:1.7}.loading-track{width:170px;height:2px;background:#55715633;margin-top:25px;overflow:hidden}.loading-track i{display:block;height:100%;width:45%;background:var(--accent);animation:load 1.4s ease-in-out infinite}
@keyframes load{from{transform:translateX(-110%)}to{transform:translateX(330%)}}@keyframes thinking{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slidein{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1650px){.topbar{padding:33px 42px;height:106px}.players-panel{left:42px;top:148px;width:250px}.player-card{padding:18px;min-height:106px}.player-name{font-size:.93rem}.player-info strong{font-size:1.52rem}.owned-dots>span{font-size:.65rem}.view-caption{top:141px}.activity-panel{right:42px;top:150px;width:245px}.activity-entry p{font-size:.8rem}.game-footer{left:42px;right:42px;bottom:65px}.turn-panel{max-width:720px;padding:26px 29px}.turn-panel h2{font-size:1.7rem}.turn-panel p{font-size:.8rem}.turn-action .primary{font-size:.87rem;padding:17px 21px}.property-panel{top:140px;right:42px;width:270px}.bottom-status{left:42px;right:42px}}
@media(max-width:1190px){.players-panel{left:22px;width:195px;top:117px}.player-card{padding:12px 10px;min-height:88px;gap:9px}.player-info strong{font-size:1.22rem}.player-name{font-size:.75rem}.owned-dots>span{font-size:.55rem}.player-token{width:33px}.topbar{padding:22px;height:86px}.activity-panel{right:22px;width:177px;top:122px}.activity-entry p{font-size:.64rem}.view-caption{top:110px}.game-footer{left:22px;right:22px;bottom:54px;gap:15px}.turn-panel{min-width:440px;padding:19px 20px;gap:18px;transform:translateX(-43%)}.turn-panel h2{font-size:1.35rem}.turn-panel p{font-size:.64rem}.turn-panel .primary{padding:13px 14px;font-size:.73rem}.turn-panel kbd{display:none}.view-switch button{padding:9px 10px;font-size:.69rem;gap:5px}.property-panel{right:22px;top:115px;width:215px;max-height:calc(100dvh - 295px)}.property-body{padding:18px 16px 14px}.property-body h2{font-size:1.4rem}.property-band{font-size:.55rem}.property-price{font-size:1.5rem;margin-top:17px}.deed-preview{gap:8px;margin:13px 0 16px}.bottom-status{left:22px;right:22px;bottom:18px}.brandtype{font-size:.77rem}.brandmark{width:39px;height:39px;font-size:26px}.brand{gap:10px}.nav-divider{margin:0 3px}.header-actions{gap:3px}.how-button{font-size:.72rem}.portfolio-actions>button{font-size:.7rem}.portfolio-actions{margin-top:13px;padding:9px 0}.bank-reserve{margin-top:14px;gap:5px}.session-tag{font-size:.68rem;padding:9px 12px}.tool-eyebrow{font-size:.54rem}}
@media(max-height:760px) and (min-width:781px){.players-panel{top:108px}.player-card{min-height:75px;padding:10px 12px;margin-bottom:6px}.owned-dots{margin-top:4px}.player-info strong{font-size:1.17rem}.player-name{font-size:.75rem;margin-bottom:3px}.portfolio-actions{margin-top:12px;padding:5px 0}.portfolio-actions>button{padding:9px}.bank-reserve{margin-top:12px}.game-footer{bottom:44px}.turn-panel{padding:17px 21px}.turn-panel h2{font-size:1.3rem}.property-panel{top:107px;max-height:calc(100dvh - 277px)}.view-caption{top:104px}.activity-panel{top:115px}}
@media(max-width:950px){.activity-panel{display:none}.turn-panel{min-width:390px;width:calc(100vw - 350px);transform:translateX(-37%)}.turn-panel .primary{padding:12px 11px}.turn-panel p{font-size:.62rem}.turn-panel h2{font-size:1.23rem}.turn-panel{gap:12px}.how-button span{display:none}.nav-divider{display:none}.session-tag{left:53%}.property-panel{width:212px}.view-tools{width:auto}.view-switch button{padding:10px 9px}.view-switch button span{display:none}.view-switch button{width:43px}.camera-tools{gap:6px}.brandtype{font-size:.69rem}.brandtype small{font-size:.55rem}.view-caption{left:55%}.walk-guide{top:112px;left:58%}.walk-guide p{font-size:.59rem}.walk-guide small{font-size:.56rem}.walk-guide p>span{margin:0 3px}}
@media(max-width:780px){.topbar{height:77px;padding:19px 19px;gap:10px}.brandmark{width:35px;height:35px;font-size:24px;border-radius:8px}.brandmark span{font-size:15px;bottom:3px;right:4px}.brandtype{font-size:.68rem;letter-spacing:.13em}.brandtype small{font-size:.48rem;letter-spacing:.22em}.header-actions .icon-button{width:31px;height:31px}.session-tag{display:none}.how-button{padding:7px 5px}.players-panel{top:86px;left:18px;right:18px;width:auto;pointer-events:none!important}.section-label{display:none}#players-list{display:flex;gap:6px}.player-card{flex:1;margin:0;padding:9px 7px;gap:5px;min-height:75px;border-radius:8px;max-width:none;backdrop-filter:blur(8px)}.player-token{width:24px;height:30px}.player-token svg{width:22px;height:22px}.player-name{font-size:.6rem;gap:3px;line-height:1.2;margin-bottom:5px}.player-name small{display:none}.player-info strong{font-size:1rem;letter-spacing:-.025em}.owned-dots{margin-top:5px;gap:2px;min-height:4px}.owned-dots>i{width:4px;height:4px}.owned-dots>span{display:none}.turn-marker{top:8px;right:8px;width:3px;height:3px}.jail-badge{font-size:.4rem;top:6px;right:5px;padding:2px}.portfolio-actions{border:0;flex-direction:row;gap:8px;width:max-content;margin-top:10px;padding:0}.portfolio-actions>button{background:#142930cf;border:1px solid #bcdacb22;padding:8px 10px;border-radius:6px;gap:7px;width:auto;font-size:.62rem;backdrop-filter:blur(10px)}.portfolio-actions>button>svg:first-child{width:14px;height:14px}.portfolio-actions>button>svg:last-child{display:none}.property-count{font-size:.57rem;min-width:15px}.bank-reserve{display:none}.view-caption{top:175px;left:auto;right:22px;transform:none;text-align:right}.caption-kicker{font-size:.46rem;letter-spacing:.14em}.caption-location{font-size:.8rem;margin-top:4px}.activity-panel{display:none!important}.game-footer{bottom:58px;left:18px;right:18px;display:block;height:125px}.turn-panel{position:absolute;left:0;right:0;bottom:0;transform:none;min-width:0;max-width:none;width:100%;padding:18px 19px;gap:15px;border-radius:12px}.turn-panel h2{font-size:1.34rem;margin-bottom:7px}.turn-panel p{font-size:.67rem;max-width:260px}.turn-overline{font-size:.52rem;margin-bottom:7px;letter-spacing:.11em}.turn-panel .primary{font-size:.74rem;padding:13px 17px;min-width:125px}.turn-panel .primary>svg{width:19px;height:19px}.turn-panel .secondary{font-size:.67rem;padding:9px 12px;min-height:32px}.turn-dice{margin-left:8px;gap:3px}.die{width:16px;height:16px;padding:3px;gap:1px;border-radius:3px}.view-tools{position:absolute;bottom:147px;left:0;width:auto}.tool-eyebrow{font-size:.49rem;margin-bottom:8px;letter-spacing:.12em}.view-switch button{width:auto;padding:10px 12px;font-size:.67rem}.view-switch button>span{display:inline}.view-switch button>svg{width:16px;height:16px}.view-hint{font-size:.54rem;margin-top:8px}.camera-tools{position:absolute;bottom:149px;right:0;flex-direction:row;gap:7px}.camera-tools .icon-button{height:33px;width:33px}.camera-tools button[data-action=fullscreen]{display:none}.bottom-status{bottom:25px;left:20px;right:20px;font-size:.5rem}.bottom-status>span:last-child{font-size:.45rem;letter-spacing:.06em}.property-panel{right:18px;top:213px;width:218px;max-height:calc(100dvh - 490px);min-height:140px;border-radius:9px}.property-body{padding:15px}.property-overline{font-size:.52rem}.property-body h2{font-size:1.35rem}.property-price{margin-top:12px;font-size:1.4rem}.property-price>span{font-size:.56rem}.rent-summary{font-size:.65rem;padding:11px 0}.deed-preview{font-size:.61rem}.property-band{padding:9px 12px}.property-panel .secondary{font-size:.63rem}.walk-mode .players-panel{opacity:.8}.walk-guide{top:172px;left:auto;right:18px;transform:none;text-align:right}.walk-guide .walk-tag{font-size:.51rem;padding:7px 10px}.walk-guide p,.walk-guide small{display:none}.walk-mode .view-caption{display:none}.walk-mode .property-panel{top:216px}.walk-mode .view-hint{visibility:hidden}.mobile-joystick{left:24px;bottom:282px;width:94px;height:94px}.game-dialog{border-radius:13px;max-height:calc(100dvh - 30px)}.dialog-header{padding:23px 23px 20px}.dialog-header h2{font-size:1.65rem}.dialog-body{padding:21px 23px 24px}.dialog-eyebrow{font-size:.56rem;margin-bottom:10px}.rules-grid{gap:23px;margin-top:23px}.dialog-body p{font-size:.81rem}.rules-grid p{font-size:.74rem}.rules-grid h3{font-size:.87rem}.rules-grid article>span{font-size:1.5rem}.portfolio-summary{gap:15px}.portfolio-summary strong{font-size:1.4rem}.portfolio-summary span{font-size:.52rem}.portfolio-row{flex-wrap:wrap;gap:9px;padding:11px 10px 11px 0}.deed-title{min-width:50%}.deed-controls{margin-left:17px;flex:1;justify-content:flex-end}.deed-title strong{font-size:.77rem}.deed-title span{font-size:.62rem}.deed-color{height:34px}.small-note,.dialog-body .small-note{font-size:.67rem}.trade-columns{grid-template-columns:1fr 1fr;gap:15px}.trade-divider{display:none}.trade-deeds{height:185px;padding:6px}.trade-deed{gap:5px}.trade-deed>span{font-size:.66rem}.trade-deed small{font-size:.52rem}.trade-with label{font-size:.78rem}.trade-with select{font-size:.72rem;max-width:65%}.trade-columns .field-label{font-size:.59rem}.dialog-footer{gap:8px}.dialog-footer .primary,.dialog-footer .secondary{font-size:.73rem;padding:11px 15px}.setting-row strong{font-size:.81rem}.setting-row span{font-size:.63rem}.setting-row select{font-size:.65rem;width:128px}.drawn-card p{font-size:1.5rem}.drawn-card .card-eyebrow{font-size:.49rem}#toast{bottom:242px;font-size:.68rem;padding:11px 15px}}
@media(max-width:430px){.topbar{padding:17px 16px}.brandtype{font-size:.61rem}.brandmark{width:32px;height:32px;font-size:22px}.brand{gap:8px}.header-actions{gap:0}.header-actions .icon-button{width:28px;height:29px}.header-actions svg{width:17px;height:17px}.players-panel{left:13px;right:13px}.player-card{padding:10px 6px;gap:3px;min-height:69px}.player-token{width:19px}.player-token svg{width:18px;height:18px}.player-name{font-size:.55rem}.player-info strong{font-size:.88rem}.view-caption{right:15px;top:166px}.caption-location{font-size:.69rem}.caption-kicker{font-size:.39rem}.portfolio-actions>button{font-size:.56rem;padding:7px 8px}.portfolio-actions{gap:5px;margin-top:9px}.portfolio-actions>button svg{width:13px}.game-footer{left:13px;right:13px}.turn-panel{padding:16px 15px;gap:11px}.turn-panel h2{font-size:1.21rem}.turn-panel p{font-size:.62rem}.turn-panel .primary{font-size:.67rem;min-width:113px;padding:12px 11px;gap:6px}.turn-panel .primary>svg{width:17px}.turn-overline{font-size:.48rem}.turn-dice{margin-left:5px}.view-switch button{padding:9px 10px;font-size:.61rem}.view-switch button svg{width:15px}.view-switch{padding:3px}.bottom-status{left:15px;right:15px}.bottom-status>span:last-child{font-size:.4rem}.property-panel{right:13px;top:205px;width:200px;max-height:calc(100dvh - 470px)}.dialog-header{padding:20px}.dialog-body{padding:20px}.dialog-header h2{font-size:1.5rem}.rules-grid{grid-template-columns:1fr;gap:20px}.rules-grid article{padding-left:42px}.rules-grid article>svg{position:absolute;left:0;top:5px;width:24px}.rules-grid article>span{display:none}.rules-grid p{font-size:.77rem}.debt-alert{padding:12px;gap:9px}.debt-alert span{font-size:.67rem}.portfolio-summary{gap:10px}.portfolio-summary strong{font-size:1.25rem}.portfolio-summary span{font-size:.48rem}.portfolio-summary small{font-size:.68rem}.trade-columns{gap:10px}.trade-deed>i{display:none}.trade-deed input{width:13px;height:13px}.trade-deed>span{font-size:.62rem}.trade-columns .field-label{font-size:.54rem}.dialog-footer .primary,.dialog-footer .secondary{font-size:.68rem;padding:11px 12px}.walk-guide{right:14px;top:168px}}
@media(pointer:coarse){.mobile-joystick{display:block}.walk-guide p,.walk-guide small{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Readable game text with compact secondary metadata. */
.text-button,.session-tag{font-size:.875rem}.section-label,.round-label,.caption-kicker,.tool-eyebrow{font-size:.75rem}.player-name{font-size:.875rem}.player-name small,.owned-dots>span{font-size:.75rem}.player-info strong{font-size:1.4rem}.portfolio-actions>button{font-size:.875rem}.property-count{font-size:.75rem}.activity-entry p{font-size:.875rem}.bottom-status,.bottom-status>span:last-child,.view-hint{font-size:.75rem}.turn-panel p{font-size:.875rem;line-height:1.5}.turn-overline{font-size:.75rem;letter-spacing:.08em}.turn-panel h2{font-size:1.5rem}.primary,.secondary,.turn-panel .primary{font-size:.875rem}.view-switch button{font-size:.875rem}.property-overline,.property-band{font-size:.75rem}.property-price>span,.rent-summary,.deed-preview{font-size:.875rem}.property-body .secondary,.property-body .subtle-button{font-size:.8rem}.property-description{font-size:.875rem}.dialog-body p,.rules-grid p{font-size:.875rem}.small-note,.dialog-body .small-note{font-size:.8rem}.dialog-eyebrow,.field-label,.portfolio-summary span,.deed-title span{font-size:.75rem}.deed-title strong{font-size:.875rem}.dialog-footer .primary,.dialog-footer .secondary{font-size:.875rem}.setting-row strong{font-size:.9rem}.setting-row span,.setting-row select{font-size:.8rem}.mortgage-button{font-size:.75rem}.trade-deed>span{font-size:.8rem}.trade-deed small,.trade-columns .field-label{font-size:.75rem}.trade-columns{grid-template-columns:1fr 24px 1fr;gap:12px}.card-eyebrow,.drawn-card .card-eyebrow{font-size:.75rem;letter-spacing:.09em}.walk-guide p,.walk-guide small{font-size:.75rem}.walk-tag{font-size:.75rem}.game-footer{bottom:66px}.turn-panel{width:calc(100vw - 635px);min-width:520px;padding:21px 23px;gap:18px}.activity-panel{width:210px}.player-name small{font-size:.6rem}.round-label{font-size:.65rem;letter-spacing:.03em}.player-card{min-height:102px}.view-hint{line-height:1.5}.bottom-status>span:last-child{font-size:.6rem}
@media(max-width:1190px) and (min-width:781px){.activity-panel{display:none}.turn-panel{min-width:470px;transform:translateX(-40%);padding:19px 21px;gap:15px}.turn-panel .primary{font-size:.8rem;padding:13px 14px}.turn-panel p{font-size:.8rem}.player-name{font-size:.8rem}.owned-dots>span{font-size:.68rem}.section-label{font-size:.68rem}.portfolio-actions>button{font-size:.8rem}.view-switch button{font-size:.8rem}.bottom-status{font-size:.66rem}.text-button,.session-tag{font-size:.78rem}}
@media(max-height:810px) and (min-width:781px){.player-card{min-height:83px;padding-top:11px;padding-bottom:11px}.owned-dots>span{font-size:.65rem}.player-name{font-size:.8rem}.player-info strong{font-size:1.2rem}.players-panel{top:112px}.portfolio-actions{margin-top:12px;padding:5px 0}.portfolio-actions>button{padding:10px 8px}.bank-reserve{display:none}.turn-panel p{font-size:.8rem}.game-footer{bottom:56px}.property-panel{max-height:calc(100dvh - 313px)}}
@media(max-width:950px) and (min-width:781px){.turn-panel{min-width:425px;transform:translateX(-34%);padding:18px 19px;gap:12px}.turn-panel .primary{font-size:.78rem;padding:12px 13px}.turn-panel h2{font-size:1.33rem}.turn-panel p{font-size:.78rem}.tool-eyebrow,.view-hint{font-size:.68rem}.view-tools{max-width:195px}.property-panel{max-height:calc(100dvh - 315px)}}
@media(max-width:780px){.turn-panel{width:100%;min-width:0;transform:none;padding:18px 19px;gap:14px}.player-card{min-height:77px;padding:10px 7px}.player-name{font-size:.75rem}.player-info strong{font-size:1rem}.portfolio-actions>button{font-size:.75rem;padding:8px 10px}.property-count{font-size:.7rem}.turn-panel h2{font-size:1.34rem}.turn-panel p{font-size:.8rem}.turn-overline{font-size:.66rem}.turn-panel .primary{font-size:.8rem;padding:13px 14px;min-width:120px}.turn-panel .secondary{font-size:.75rem}.game-footer{bottom:60px}.view-tools{bottom:175px}.tool-eyebrow,.view-hint{font-size:.68rem}.view-switch button{font-size:.8rem}.camera-tools{bottom:184px}.bottom-status{font-size:.62rem;bottom:21px}.bottom-status>span:last-child{display:none}.caption-kicker{font-size:.56rem}.caption-location{font-size:.8rem}.view-caption{top:219px;left:50%;right:auto;transform:translateX(-50%);text-align:center;width:230px}.property-panel{top:219px;max-height:calc(100dvh - 528px)}.property-band,.property-overline{font-size:.66rem}.property-price>span,.rent-summary,.deed-preview{font-size:.78rem}.property-body .secondary{font-size:.72rem}.property-body h2{font-size:1.38rem}.dialog-eyebrow{font-size:.68rem}.portfolio-summary span{font-size:.65rem}.trade-columns{grid-template-columns:1fr 1fr}.trade-deed>span{font-size:.75rem}.trade-deed small,.trade-columns .field-label{font-size:.65rem}.deed-title span{font-size:.72rem}.deed-title strong{font-size:.84rem}.mortgage-button{font-size:.7rem}.mobile-joystick{bottom:334px}.walk-guide{top:207px}.walk-guide .walk-tag{font-size:.68rem}#toast{bottom:280px;font-size:.8rem}.bottom-status{font-size:.68rem}.turn-dice{margin-left:6px}}
@media(max-width:430px){.player-name{font-size:.69rem}.player-info strong{font-size:.93rem}.player-card{padding:10px 5px;gap:3px}.portfolio-actions>button{font-size:.7rem;padding:8px}.portfolio-actions{gap:6px}.caption-location{font-size:.83rem}.turn-panel{padding:17px 15px;gap:10px}.turn-panel h2{font-size:1.25rem}.turn-panel p{font-size:.75rem}.turn-overline{font-size:.62rem}.turn-panel .primary{min-width:113px;padding:12px 11px;font-size:.75rem}.view-switch button{font-size:.75rem;padding:10px}.view-hint{font-size:.65rem}.dialog-footer .primary,.dialog-footer .secondary{font-size:.8rem;padding:11px 13px}.mortgage-button{font-size:.68rem}.trade-deed>span{font-size:.72rem}.property-panel{max-height:calc(100dvh - 520px)}.card-eyebrow,.drawn-card .card-eyebrow{font-size:.68rem}}
@media(max-height:700px) and (max-width:780px){.view-caption{display:none}.game-footer{bottom:43px}.turn-panel{padding:13px 15px}.turn-panel p{font-size:.72rem}.turn-panel h2{font-size:1.18rem}.turn-panel .primary{padding:12px}.view-tools{bottom:148px}.camera-tools{bottom:157px}.bottom-status{bottom:12px}.property-panel{top:203px;max-height:calc(100dvh - 469px)}.mobile-joystick{bottom:292px}}
