header{margin:0 4%;padding:22px 0;display:flex;align-items:center;gap:24px;border-bottom:1px solid #b8dbd466}.brand{display:flex;align-items:center;gap:9px;font-size:24px;letter-spacing:-1px;font-weight:900;text-decoration:none}.brand b{display:grid;place-items:center;width:36px;height:36px;background:var(--mint);border-radius:12px;color:white;box-shadow:0 3px 0 #238f80}.brand small{font-size:10px;color:var(--muted);letter-spacing:0;font-weight:500;margin-left:9px}.round{display:grid;gap:5px;margin-left:auto;font-size:10px;color:var(--muted)}#turn-owner{color:var(--ink);font-weight:800;font-size:12px}nav{display:flex;gap:8px}nav .btn{font-size:10px;padding:9px 12px;min-height:36px}#players{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 4% 16px}.player{border-radius:16px;background:#ffffff99;border:1px solid #fff;padding:12px 15px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;position:relative}.player.active{background:#fffbed;outline:2px solid var(--player);box-shadow:0 5px 16px #558d8214}.player.out{opacity:.4}.avatar{width:29px;height:29px;border-radius:10px;background:var(--player);color:white;display:grid;place-items:center;font-size:12px;font-weight:900}.player b{font-size:11px}.player small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.player strong{font-size:15px}.player strong small{font-size:8px;font-weight:400;text-align:right}main{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;padding:0 4%;max-width:1800px;margin:auto}.board-shell{position:relative;border:1px solid white;border-radius:26px;background:#e0f1eb;overflow:hidden}.board-tools{position:absolute;top:15px;left:20px;right:18px;z-index:4;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.board-tools>span{font-size:8px;letter-spacing:1.3px;color:#6f9b96}.board-tools>div{display:flex;gap:5px;pointer-events:auto}.board-tools .btn{padding:7px 10px;font-size:10px;min-height:31px;background:#ffffffbd}#viewport{height:clamp(510px,63vh,740px);position:relative;background:radial-gradient(ellipse at 50% 35%,#fbfff1,#e2f1e9 58%,#b8dedb);touch-action:none}canvas{display:block;cursor:grab}canvas:active{cursor:grabbing}#loading{position:absolute;top:45%;width:100%;text-align:center;font-size:12px}#leaders,#labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#leaders{z-index:2}#labels{z-index:3}.tile-label{position:absolute;width:77px;min-height:28px;padding:3px 4px;border:1px solid white;border-left:3px solid var(--group);border-radius:6px;background:#fffcf0cc;color:var(--ink);font-size:8px;line-height:1.2;pointer-events:auto}.tile-label span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.tile-label b{display:block;font-size:9px}.tile-label.selected{background:#2b5e60;color:white;outline:2px solid #fff}.tile-label.special{width:53px;background:#fff0cb;font-weight:700}.tile-label.small{width:56px}.tile-label.small span{font-size:7px;margin-bottom:1px}.tile-label.owned{box-shadow:0 2px 0 1px var(--owner)}#wordmark{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);text-align:center;color:#50998e;opacity:.52;pointer-events:none}#wordmark b{display:block;font-size:32px;letter-spacing:-1.5px}#wordmark small{font-size:10px;letter-spacing:2px}#toast{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:#24565bea;border:1px solid #ffffff70;color:#fff;border-radius:14px;font-size:12px;padding:12px 18px;max-width:85%;text-align:center;z-index:5;pointer-events:none;opacity:0;transition:opacity .2s}#toast.show{opacity:1}.board-caption{display:flex;justify-content:space-between;padding:9px 18px 14px;font-size:9px;color:#7ca29b}#performance{font-size:8px}aside{display:flex;flex-direction:column;gap:12px}aside .card{padding:20px}.property-top{display:flex;align-items:center;justify-content:space-between}.property h1{font-size:21px;letter-spacing:-1px;line-height:1.4;margin:13px 0 5px}.property #address{font-size:10px;color:var(--muted);margin-bottom:17px}.property-price{display:flex;justify-content:space-between;align-items:center}.property-price small{font-size:9px;color:var(--muted);display:block;margin-bottom:5px}.property-price strong{font-size:25px}.property-price b{font-size:17px}#real-data{border-top:1px solid #deebe4;margin-top:18px;padding-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:10px}#real-data small{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}#real-data b{font-size:11px}#ownership{font-size:11px;padding:14px 0;color:var(--muted)}.property>.btn{width:100%;margin-top:7px;font-size:11px}.finance-actions{display:flex;gap:7px;margin-top:17px}.finance-actions .btn{font-size:10px;padding:9px;flex:1;min-height:34px}#loan-status{font-size:9px;line-height:1.6;color:var(--muted);margin:10px 0 0}.turn-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:18px 4%;padding:20px 26px;border:1px solid white;border-radius:21px;background:#fffaf0;box-shadow:0 8px 20px #538b8108}.turn-bar h2{font-size:18px;margin:6px 0;letter-spacing:-.5px}.turn-bar p{font-size:11px;margin:0;color:var(--muted)}.turn-controls{display:flex;gap:17px;align-items:center;flex:none}.turn-controls .btn{min-width:170px;font-size:14px}#dice-values{font-size:18px;color:#6a928a;font-weight:900;white-space:nowrap}.history{margin:20px 4%;font-size:11px;color:var(--muted)}.history summary{cursor:pointer}#history{max-height:180px;overflow:auto;line-height:1.9}footer{display:flex;justify-content:space-between;padding:5px 4% 24px;font-size:9px;color:#8aa7a0}footer a{text-decoration:none}.dialog-actions{display:flex;gap:10px;margin-top:22px}.dialog-actions .btn{flex:1}#choice-funds{background:#e7f2e9;border-radius:12px;padding:12px;font-size:11px}#ranking{padding-left:22px;line-height:2.4;font-size:14px}#settings-dialog label{display:block;font-size:12px;margin:15px 0}select{padding:7px;border:1px solid #c3ddd2;border-radius:8px;color:var(--ink);background:white;max-width:100%}.settings-buttons,#fx-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}#settings-dialog h3{font-size:14px;margin:24px 0 8px}#settings-dialog>.btn.secondary{margin:4px;font-size:10px;padding:9px}#fx-buttons .btn{font-size:10px;padding:9px}.market{background:linear-gradient(135deg,#e6f2fb,#f9f0ff)}.result{background:linear-gradient(135deg,#fff0c4,#fffcf2)}@media(max-width:1050px){.brand small{display:none}main{grid-template-columns:minmax(0,1fr) 230px;gap:13px}.board-tools>span{display:none}.board-tools{justify-content:flex-end}.player{padding:10px;gap:7px}.player strong{font-size:12px}.player b{font-size:10px}.player small{font-size:8px}aside .card{padding:17px}#viewport{height:570px}.property h1{font-size:19px}}
@media(max-width:700px){header{margin:0 4%;padding:15px 0;flex-wrap:wrap;gap:12px}.brand{font-size:22px}.round{font-size:8px}nav{width:100%;justify-content:space-between}nav .btn{flex:1}.brand small{display:none}#players{grid-template-columns:1fr 1fr;gap:9px;padding:15px 4%}.player{grid-template-columns:26px 1fr auto}.player.active{outline-width:2px}.avatar{width:25px;height:25px;font-size:10px}main{display:flex;flex-direction:column;padding:0 3%;gap:14px}.board-shell{border-radius:19px}#viewport{height:470px}.board-caption{font-size:8px;padding:8px 12px}#performance{display:none}#wordmark b{font-size:25px}#wordmark small{font-size:8px}aside{display:grid;grid-template-columns:1fr;gap:12px}.property h1{font-size:23px}#real-data{grid-template-columns:repeat(4,1fr)}#real-data b{font-size:10px}.property>.btn{width:calc(50% - 5px);margin-right:4px}.turn-bar{position:sticky;bottom:8px;z-index:6;margin:14px 3%;padding:15px;display:block;box-shadow:0 7px 25px #325e5630}.turn-bar h2{font-size:15px}.turn-bar p{font-size:10px}.turn-controls{justify-content:space-between;margin-top:12px}.turn-controls .btn{min-width:170px;padding:10px;font-size:13px}.history{margin:20px 5%}footer{font-size:8px;gap:15px}.board-tools{top:10px;right:12px}.tile-label.small b{font-size:8px}#toast{font-size:10px}dialog{padding:24px}}

@media(min-width:701px){main{align-items:start}aside{max-height:600px;overflow-y:auto}.turn-bar{padding:15px 22px;margin-top:12px;margin-bottom:12px}#viewport{height:min(570px,58vh)}}
@media(max-width:700px){main>.turn-bar{position:static;margin:0;padding:15px;box-shadow:0 5px 16px #325e5610}.player b{font-size:9px}.player{gap:5px}.player strong{font-size:11px}}
