:root{--bg:#16202c;--panel:#121a26ed;--panel-solid:#1c2736;--line:#ffffff1a;--text:#eef2f7;--muted:#94a3b8;--accent:#f5b301;--accent-text:#1a1300;--danger:#e5484d;--ok:#30a46c;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:14px/1.4 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;overflow:hidden}[hidden]{display:none!important}#scene{position:fixed;top:0;bottom:0;left:0;right:0}#scene canvas{touch-action:none;display:block}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px #00000059}.muted{color:var(--muted)}.center{text-align:center}button{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:9px;padding:8px 14px;transition:background .15s,transform 50ms}button:hover:not(:disabled){background:#ffffff29}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-text);border-color:#0000;font-weight:600}button.primary:hover:not(:disabled){background:#ffc42e}button.danger{background:var(--danger);color:#fff;border-color:#0000}button.ok{background:var(--ok);color:#fff;border-color:#0000}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.wide{width:100%}button.small{padding:4px 9px;font-size:12px}button.chip{background:var(--panel);border-radius:999px;padding:6px 11px;position:relative}input{font:inherit;color:var(--text);border:1px solid var(--line);background:#0000004d;border-radius:9px;outline:none;width:100%;padding:8px 10px}input:focus{border-color:var(--accent)}label{color:var(--muted);margin-bottom:12px;font-size:12px;display:block}label input{margin-top:4px}.row{align-items:center;gap:8px;display:flex}.screen{background:radial-gradient(circle,#16202c33,#16202cbf);place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.lobby-card{flex-direction:column;width:min(380px,100%);padding:28px 24px;display:flex}.lobby-card h1{text-align:center;letter-spacing:1px;color:var(--accent);margin:0 0 20px;font-size:30px}.lobby-card #lobby-home,.lobby-card #lobby-room{flex-direction:column;gap:10px;display:flex}.divider{text-align:center;color:var(--muted);margin:6px 0;font-size:12px}input.code{text-transform:uppercase;letter-spacing:4px;text-align:center;flex:none;width:110px;font-weight:700}.room-code{letter-spacing:10px;text-align:center;color:var(--accent);margin-top:-6px;font-size:40px;font-weight:800}.invite-players{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-bottom:6px;display:flex}.invite-players span{color:var(--text);align-items:center;gap:6px;display:inline-flex}.lobby-players{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.lobby-players li{background:#ffffff0d;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.dot{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 2px #ffffff40}.tag{color:var(--muted);background:#ffffff1a;border-radius:6px;padding:1px 6px;font-size:11px}#players{flex-direction:column;gap:4px;width:230px;padding:6px;display:flex;position:fixed;top:12px;left:12px}.player{cursor:default;border:1px solid #0000;border-radius:8px;grid-template-columns:12px 1fr auto;align-items:center;gap:4px 8px;padding:7px 9px;display:grid}.player.clickable{cursor:pointer}.player.clickable:hover{background:#ffffff0f}.player.current{background:#f5b30124;border-color:#f5b30173}.player.bankrupt{opacity:.4;text-decoration:line-through}.player .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.player .money{font-variant-numeric:tabular-nums;font-weight:600}.player .money.neg{color:var(--danger)}.player .meta{color:var(--muted);flex-wrap:wrap;grid-column:2/4;gap:6px;font-size:11px;display:flex}#topbar{gap:6px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.badge{background:var(--danger);vertical-align:top;border-radius:50%;min-width:8px;height:8px;margin-left:4px;display:inline-block}#actionbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:12px 14px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}#actionbar .status{font-weight:600}#actionbar .buttons{flex-wrap:wrap;gap:8px;display:flex}#actionbar .dice-result{letter-spacing:2px;font-size:22px}#debt-banner{border-color:var(--danger);align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 14px;display:flex;position:fixed;bottom:92px;left:50%;transform:translate(-50%)}#sidebar{flex-direction:column;width:320px;display:flex;position:fixed;top:60px;bottom:12px;right:12px;overflow:hidden}.tabs{border-bottom:1px solid var(--line);display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:0;flex:1;padding:10px 4px;font-size:13px}.tabs button.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.tab{flex:1;padding:10px;display:none;overflow-y:auto}.tab.active{flex-direction:column;gap:8px;display:flex}#tab-chat{padding:0}#chat-list{flex-direction:column;flex:1;gap:6px;padding:10px;display:flex;overflow-y:auto}#chat-form{border-top:1px solid var(--line);padding:8px}.chat-msg b{margin-right:6px}.log-entry{border-left:3px solid var(--line);padding:4px 0 4px 8px;font-size:12.5px}.group-title{text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin-top:4px;font-size:11px}.prop{cursor:pointer;background:#ffffff0d;border-radius:8px;align-items:center;gap:8px;padding:7px 9px;display:flex}.prop:hover{background:#ffffff1a}.prop .swatch{border-radius:3px;flex:none;align-self:stretch;width:6px}.prop .pname{flex:1}.prop.mortgaged .pname{color:var(--muted);text-decoration:line-through}.houses{color:#6fd08c;font-size:12px}.empty{color:var(--muted);text-align:center;padding:20px 0}.trade{background:#ffffff0d;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.trade .cols{grid-template-columns:1fr auto 1fr;gap:8px;font-size:12.5px;display:grid}.trade .cols ul{margin:0;padding-left:16px}.modal-backdrop{z-index:20;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--panel-solid);width:min(440px,100%);max-height:calc(100vh - 32px);padding:0;overflow-y:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.modal-head h3{margin:0;font-size:17px}.modal-body{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.modal-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.deed{color:#1d1d1d;background:#f4f0e1;border-radius:10px;overflow:hidden}.deed-band{text-align:center;text-transform:uppercase;letter-spacing:.5px;padding:12px;font-weight:800}.deed-band small{opacity:.8;text-transform:none;font-size:11px;font-weight:500;display:block}.deed table{border-collapse:collapse;width:100%;font-size:13px}.deed td{padding:4px 14px}.deed td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.deed tr.hl td{background:#f5b30159}.deed .sep td{border-top:1px solid #00000026}.kv{justify-content:space-between;display:flex}.trade-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.trade-col h4{color:var(--muted);margin:0 0 6px;font-size:13px}.check{color:var(--text);cursor:pointer;align-items:center;gap:6px;margin:0;padding:4px 0;font-size:13px;display:flex}.check input{width:auto;margin:0}select{font:inherit;color:var(--text);border:1px solid var(--line);background:#0000004d;border-radius:9px;width:100%;padding:8px}.auction-lot{text-align:center;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:12px;font-weight:800}.auction-lot small{opacity:.8;text-transform:none;font-size:11px;font-weight:500;display:block}.auction-stats{text-align:center;grid-template-columns:1fr 1fr;gap:8px;display:grid}.auction-stats .muted{font-size:12px}.auction-bid{text-align:center;color:var(--accent);font-size:30px;font-weight:800;line-height:1.2}.auction-price{font-size:30px;font-weight:800;line-height:1.2}.auction-details summary{cursor:pointer;color:var(--muted);padding:4px 0;font-size:13px}.auction-details .deed{margin-top:8px}.auction-timer{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}.auction-timer div{background:var(--accent);height:100%;transition:width .25s linear}#card-popup{z-index:30;color:#1d1d1d;text-align:center;background:#f4f0e1;border-radius:14px;width:min(340px,100vw - 32px);animation:.35s ease-out card-in;position:fixed;top:42%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0009}#card-popup .head{text-transform:uppercase;color:#fff;padding:12px;font-weight:800}#card-popup .text{padding:26px 20px 30px;font-size:18px;font-weight:600}#card-popup{cursor:pointer}#card-popup.big{width:min(440px,100vw - 32px);box-shadow:0 0 0 100vmax #00000059,0 20px 60px #0009}#card-popup.big .head{padding:14px;font-size:18px}#card-popup .text.rent{padding:26px 20px 30px;font-size:19px;font-weight:500}#card-popup .rent-amount{margin-top:10px;font-size:52px;font-weight:800;line-height:1.1}#card-popup .rent-amount.minus{color:#c62828}#card-popup .rent-amount.plus{color:#2e7d32}@keyframes card-in{0%{opacity:0;transform:translate(-50%,-40%)rotateX(60deg)}}#toasts{z-index:40;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-solid);border:1px solid var(--line);border-radius:9px;max-width:calc(100vw - 32px);padding:9px 14px;animation:.2s ease-out toast-in;box-shadow:0 6px 20px #0006}.toast.error{border-color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.money-float{pointer-events:none;z-index:35;text-shadow:0 2px 6px #0009;font-weight:800;animation:1.6s ease-out forwards float-up;position:fixed}.money-float.plus{color:#6fd08c}.money-float.minus{color:#ff7b7f}@keyframes float-up{to{opacity:0;transform:translateY(-36px)}}.winner{text-align:center;color:var(--accent);font-size:22px;font-weight:800}@media (max-width:900px){#sidebar{z-index:10;width:auto;height:55vh;display:none;top:auto;bottom:12px;left:12px;right:12px}#sidebar.open{display:flex}#players{width:auto;max-width:48vw;right:auto}.player .meta{display:none}#topbar{flex-wrap:wrap;justify-content:flex-end;left:12px;right:12px;transform:none}#players{top:56px}}@media (min-width:901px){#sidebar-btn,#sidebar.closed{display:none}}
