@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--bg:#0d151d;--panel:#15212c;--panel2:#1a2935;--line:#2b3b48;--text:#edf2f2;--muted:#8fa0aa;--gold:#d5b477;--green:#75c6a0;--red:#e28c83}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.14em}.brand small{display:block;color:var(--muted);font:9px 'DM Mono';margin-top:4px}.mark,.plus{width:36px;height:36px;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font:24px 'Playfair Display'}.top-meta,.eyebrow,.tag,footer,.buttons button{font-family:'DM Mono';letter-spacing:.08em}.top-meta{display:flex;gap:18px;font-size:10px;color:var(--muted)}.wrap{max-width:1160px;margin:auto;padding:38px 22px}.hero{display:grid;grid-template-columns:1fr;gap:22px;align-items:start;margin-bottom:26px}.eyebrow{font-size:10px;color:var(--gold);margin:0 0 11px}.hero h1{font-size:clamp(36px,5vw,58px);line-height:1.06;letter-spacing:-.04em;margin:0}.hero h1 em{font-family:'Playfair Display';color:var(--gold)}.muted,.note{color:var(--muted);font-size:13px}.city{height:178px;padding:18px;position:relative;overflow:hidden;background:linear-gradient(#263d4d,#152733);border:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.city span,.city small{font:9px 'DM Mono';color:#aab9bf;letter-spacing:.12em}.city b{font-size:21px;letter-spacing:.12em}.skyline{position:absolute;bottom:0;left:0;right:0;height:100px;display:flex;align-items:end;justify-content:space-around}.skyline i{width:13%;height:62%;background:linear-gradient(#52616a,#243540);border-top:2px solid #8b8069}.skyline i:nth-child(2){height:95%}.skyline i:nth-child(3){height:48%}.skyline i:nth-child(4){height:78%;width:18%}.skyline i:nth-child(5){height:55%}.skyline i:nth-child(6){height:86%}.panel{background:var(--panel);border:1px solid var(--line);padding:21px}.toolbar,.head{display:flex;align-items:center;justify-content:space-between;gap:14px}.toolbar{margin-bottom:16px}.toolbar b{font:11px 'DM Mono'}.buttons{display:flex;gap:7px;flex-wrap:wrap}.buttons button,.gold{border:1px solid var(--line);background:#1b2a35;color:var(--text);padding:10px 12px;font-size:10px;cursor:pointer}.buttons button.selected{border-color:var(--gold);color:var(--gold)}button.gold,.gold{background:var(--gold);color:#17212a;border-color:var(--gold);font-weight:700}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.metric{background:var(--panel);border:1px solid var(--line);padding:16px}.metric span{display:block;color:var(--muted);font:9px 'DM Mono'}.metric strong{display:block;font-size:22px;margin-top:8px}.metric small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.head{margin-bottom:19px}.head h2{font-size:20px;margin:0}.tag{font-size:9px;color:var(--green);border:1px solid #355849;padding:6px}.firm{display:flex;align-items:center;gap:12px;padding:13px;background:var(--panel2);margin-bottom:18px}.firm b,.firm small{display:block}.firm b{font-size:12px;letter-spacing:.08em}.firm small{font:9px 'DM Mono';color:var(--muted);margin-top:5px}.control{margin:19px 0}.control label{display:flex;justify-content:space-between;font-size:12px}.control label b{color:var(--gold);font:11px 'DM Mono'}.control input{width:100%;accent-color:var(--gold);margin:14px 0 5px}.control small{display:flex;justify-content:space-between;color:#748590;font:8px 'DM Mono'}.full{width:100%;padding:13px;margin-top:5px}.note{font-size:10px;line-height:1.6}.competitor{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.competitor small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.competitor b{font:11px 'DM Mono';color:var(--gold)}.report-head{margin:25px 0 12px}.report{display:grid;grid-template-columns:1fr 1fr;gap:7px}.report-row{padding:10px;background:var(--panel2);display:flex;justify-content:space-between;gap:8px;font-size:10px}.report-row span{color:var(--muted)}.report-row strong{font:10px 'DM Mono'}.history{margin-top:16px}.history-row{display:grid;grid-template-columns:90px 1fr 1fr 1fr;gap:10px;padding:10px;background:var(--panel2);margin-top:7px;font:10px 'DM Mono';color:var(--muted)}.history-row strong{color:var(--text);font-weight:500}.positive{color:var(--green)!important}.negative{color:var(--red)!important}footer{display:flex;justify-content:space-between;color:#657681;font-size:9px;padding:25px 2px}@media(max-width:760px){.wrap{padding:25px 14px}.topbar{padding:0 14px}.top-meta{font-size:8px;gap:8px}.hero{grid-template-columns:1fr;gap:16px}.city{height:145px}.toolbar{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr);gap:7px}.metric{padding:13px}.metric strong{font-size:19px}.columns{grid-template-columns:1fr}.panel{padding:16px}.history-row{grid-template-columns:65px 1fr 1fr}.history-row span:last-child{display:none}footer{flex-direction:column;gap:8px;font-size:8px}}
.statements{margin-top:16px}.statement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.statement-card{background:var(--panel2);border:1px solid var(--line);padding:14px;min-width:0}.statement-card h3{font-size:12px;margin:0 0 12px;color:var(--gold);letter-spacing:.03em}.statement-row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}.statement-row span{color:var(--muted)}.statement-row b{font:10px 'DM Mono';text-align:right}.statement-status{font:10px 'DM Mono';padding-top:10px}@media(max-width:900px){.statement-grid{grid-template-columns:1fr}}
.inventory-panel{border:1px solid var(--line);background:var(--panel2);padding:14px;margin:18px 0}.inventory-panel .head{margin-bottom:12px}.inventory-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.inventory-stat{background:var(--panel);border:1px solid var(--line);padding:10px;min-width:0}.inventory-stat span{display:block;font:8px 'DM Mono';color:var(--muted);margin-bottom:6px}.inventory-stat b{font:12px 'DM Mono';overflow-wrap:anywhere}.inventory-suppliers{grid-column:1/-1;margin-top:5px}.inventory-suppliers>small{font:9px 'DM Mono';color:var(--gold)}.inventory-supplier{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:9px}.inventory-supplier span{color:var(--muted)}.inventory-supplier b{font:9px 'DM Mono';text-align:right}@media(max-width:760px){.inventory-summary{grid-template-columns:1fr 1fr}.inventory-panel{padding:12px}.inventory-supplier{font-size:8px}}

.systems-panel{margin-top:16px}.contract-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.contract-row b,.contract-row small{display:block}.contract-row b{font:10px 'DM Mono';letter-spacing:.06em}.contract-row small{font-size:9px;color:var(--muted);margin-top:5px}.contract-toggle{background:var(--panel2);border:1px solid var(--line);color:var(--muted);padding:7px 9px;font:9px 'DM Mono';cursor:pointer}.contract-toggle.selected{color:var(--green);border-color:#355849}.contract-builder{margin-top:18px;padding:14px;background:var(--panel2);border:1px solid var(--line)}.contract-builder h3{font-size:12px;margin:0 0 12px;color:var(--gold)}.contract-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contract-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px}.contract-form input,.contract-form select{width:100%;min-width:0;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:10px;font:11px 'DM Mono'}.contract-builder button{margin-top:12px}@media(max-width:760px){.contract-form{grid-template-columns:1fr}.contract-builder{padding:11px}}

.sector-select{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:11px;font:11px 'DM Mono';margin-top:10px}

button:disabled{opacity:.45;cursor:not-allowed}

.mix-panel{background:var(--panel2);border:1px solid var(--line);padding:13px;margin:16px 0}.mix-panel .eyebrow{margin-bottom:12px}.mix-control{margin:12px 0}.mix-control label{display:flex;justify-content:space-between;font-size:10px}.mix-control label b{font:10px 'DM Mono';color:var(--gold)}.mix-control input{width:100%;accent-color:var(--gold);margin-top:8px}.mix-panel>small{color:var(--muted);font-size:9px}

.city-3d{height:430px;min-height:430px;padding:18px;display:block;position:relative;width:100%;}.city-3d b{display:block;position:relative;z-index:2;margin-top:4px;font-size:18px}.city-3d small{position:relative;z-index:2;display:block;margin-top:4px}.city-canvas{position:absolute;inset:0;z-index:1}.city-canvas canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.world-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.world-columns h3{font-size:12px;color:var(--gold);margin:0 0 10px}.world-columns .contract-row{padding:9px 0}.world-columns .contract-row small{font-size:8px}.world-columns .contract-row>b{font:9px 'DM Mono';color:var(--gold)}.world-columns .inventory-summary{grid-template-columns:1fr 1fr}.city-3d span,.city-3d small{pointer-events:none}@media(max-width:760px){.world-columns{grid-template-columns:1fr}.city-3d{height:340px;min-height:340px}.city-3d b{font-size:15px}}

.city-fallback{position:absolute;inset:70px 0 0;display:flex;align-items:end;justify-content:space-evenly;gap:5px;padding:0 6%;background:linear-gradient(180deg,rgba(35,62,77,.1),rgba(12,24,32,.45))}.city-fallback i{display:block;flex:1;max-width:70px;height:55%;background:linear-gradient(90deg,#304754,#66757a,#263c49);border-top:2px solid #c2a575;box-shadow:inset 0 0 0 1px rgba(230,215,180,.08)}.city-fallback i:nth-child(2){height:85%}.city-fallback i:nth-child(3){height:66%}.city-fallback i:nth-child(4){height:95%}.city-fallback i:nth-child(5){height:48%}.city-fallback i:nth-child(6){height:75%}.city-fallback i:nth-child(7){height:60%}.city-fallback i:nth-child(8){height:88%}.city-canvas canvas{position:absolute;inset:0;z-index:1}.city-3d>span,.city-3d>b,.city-3d>small{z-index:3}
