:root{color-scheme:dark;--bg:#08141e;--panel:#101f2b;--panel2:#142737;--stroke:#29404d;--muted:#91a6b2;--text:#e7f2f3;--accent:#38c8aa;--accent2:#86dfc5;--yellow:#eab96d;--rose:#f19a8c;--blue:#9faeff;--shadow:0 12px 40px #00000024}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 10% -10%,#123446 0,transparent 45%),linear-gradient(#0a1923,#08141e 50%);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.44;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:3px}p{margin:0}h1,h2,h3{margin:0;letter-spacing:-.02em}h2{font-size:17px;font-weight:700}em{font-style:normal;color:#78d8b7}.app-shell{max-width:1880px;margin:auto;padding:0 26px 30px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:84px;border-bottom:1px solid #314650;flex-wrap:wrap;padding:14px 0}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border:2px solid #45d5b8;border-radius:11px;display:grid;place-content:center;font-size:18px;font-weight:900;color:#72e4ca;position:relative;letter-spacing:-2px}.brand-mark span{position:absolute;right:-7px;top:-7px;color:var(--yellow);font-size:18px;background:#0b1925}.brand-title{font-size:22px;font-weight:900;letter-spacing:.06em;line-height:1.1}.brand-title span{color:#78dec2}.brand-subtitle{font-size:9px;font-weight:800;letter-spacing:.17em;color:#aec2ca;margin-top:4px}.brand-subtitle b{color:#f1c676}.top-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.build-tag{display:inline-flex;align-items:center;gap:6px;border:1px solid #2b4a53;border-radius:7px;padding:8px 10px;color:#9abcb8;white-space:nowrap;font-size:10px;letter-spacing:.1em;font-weight:800}.live-dot{width:7px;height:7px;background:#3ed6a8;border-radius:50%;box-shadow:0 0 0 3px #3ed6a826}.button{border:1px solid #365665;background:#1d3442;color:#e2f0ef;border-radius:7px;padding:9px 13px;line-height:1.15;min-height:37px;font-size:12px;font-weight:750;white-space:normal;transition:filter .15s,border-color .15s}.button:hover:not(:disabled){filter:brightness(1.14);border-color:#72baa8}.button-primary{background:linear-gradient(140deg,#42cfb0,#1db598);color:#032b2e;border-color:#42cda9;font-weight:900}.button-secondary{background:#1b3a3d;border-color:#457f78;color:#9cf5d7}.button-soft{background:#172b37;border-color:#344c5b}.button-full{width:100%;padding:12px;margin-top:15px}.intro{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;padding:25px 1px 22px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:900;color:#50d0ad;text-transform:uppercase}.intro h1{font-size:clamp(30px,3vw,47px);letter-spacing:-.048em;line-height:1.07;margin:7px 0 10px;font-weight:800}.intro p{color:#a7bcc6;max-width:700px;font-size:14px}.intro-side{display:flex;align-items:flex-end;flex-direction:column;min-width:210px}.intro-side>span{color:#9ebbbd;font-weight:650}.intro-side strong{font-size:33px;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.intro-side small{font-size:11px;color:var(--muted)}
.dashboard{display:grid;grid-template-columns:minmax(225px,270px) minmax(0,1fr) minmax(255px,315px);gap:15px;align-items:start}.left-rail,.city-column,.right-rail{display:flex;min-width:0;flex-direction:column;gap:15px}.panel{border:1px solid var(--stroke);border-radius:11px;background:linear-gradient(130deg,#11222e,#101c28 75%);box-shadow:var(--shadow);padding:16px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:15px}.small-caps{color:#74929e;font-size:9px;letter-spacing:.13em;font-weight:900;white-space:nowrap}.tiny-pill{border:1px solid #325857;background:#183a3b;color:#90d6bd;border-radius:5px;padding:4px 7px;font-weight:900;letter-spacing:.03em;font-size:10px;white-space:nowrap}.placeholder{color:var(--muted);padding:10px}.universe-list{display:flex;flex-direction:column;gap:8px}.universe-choice{width:100%;background:#152936;border:1px solid #304956;color:inherit;border-radius:8px;padding:11px 10px;text-align:left;display:flex;align-items:center;gap:10px;min-height:66px}.universe-choice.active{background:linear-gradient(90deg,#173e3e,#18303d);border-color:#49bcaa;box-shadow:inset 3px 0 #56dbb7}.universe-choice .uni-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--uni-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--uni-color) 16%,transparent)}.uni-copy{flex:1;min-width:0}.uni-copy strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uni-copy small{display:block;color:#8eacb6;font-size:11px;margin-top:2px}.uni-mini{color:#9fc2bb;font-size:11px;font-variant-numeric:tabular-nums}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:17px}.metric{padding:12px 10px;background:#192e39;border:1px solid #284452;border-radius:8px;min-width:0}.metric small,.metric span{display:block;color:#a3b6bd;font-size:11px}.metric strong{display:block;font-size:clamp(18px,1.7vw,25px);font-weight:850;margin:2px 0 0;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric span{font-size:10px;color:#6e919e}.indicator{margin-top:14px}.indicator-label{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#b4c6c9}.indicator-label b{font-size:12px;color:#d6e7e8}.track{height:7px;border-radius:50px;background:#263947;overflow:hidden;margin-top:7px}.track i{display:block;height:100%;width:0%;background:linear-gradient(90deg,#38ad9a,#72d5bb);border-radius:50px;transition:width .2s}.advisor-panel p{font-size:12px;color:#9fb4be;line-height:1.55}.switch-label{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:12px;font-weight:700;margin:14px 0}.switch-label input{accent-color:#3acdac;width:18px;height:18px}.micro{font-size:11px;color:#88a5b1;line-height:1.55}.muted{color:#496470}
.map-panel{padding:0;overflow:hidden}.map-header{padding:17px 18px 12px;display:flex;justify-content:space-between;gap:15px;align-items:center}.map-header h2{font-size:20px;margin-top:3px}.map-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.status-chip{display:inline-block;padding:6px 8px;border:1px solid #3a6961;border-radius:5px;font-size:10px;font-weight:900;letter-spacing:.05em;color:#89dfc4;background:#173b3c}.status-chip.orange{border-color:#78613c;color:#dcb881;background:#372d22}.map-scroll{background:#0c2632;overflow-x:auto}#cityMap{display:block;width:100%;min-width:540px;height:auto;cursor:crosshair;touch-action:manipulation}.map-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;background:#132632;border-top:1px solid #34515c;color:#a5bcc4;font-size:11px}.map-footer>div:first-child{display:flex;align-items:center;gap:8px}.status-dot{display:inline-block;width:7px;height:7px;background:#45cca9;border-radius:50%;flex-shrink:0}.parcel-info{color:#6eceb2}.build-panel{padding-bottom:12px}.build-tools{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;scrollbar-color:#45616d transparent}.tool-btn{flex:0 0 auto;min-width:87px;border:1px solid #2b4857;background:#152b37;padding:10px 8px;color:#a6bdc7;border-radius:8px;display:flex;align-items:center;flex-direction:column;gap:3px;font-size:11px}.tool-btn .tool-icon{font-size:21px;line-height:1.5}.tool-btn.selected{background:#1b4849;border-color:#5be0bb;color:#caf8e5}.tool-btn:hover{border-color:#71bba8}.tool-cost{font-size:9px;color:#7895a3}.build-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;color:#8fa6b1;font-size:11px;padding-top:6px}.timeline-panel{padding:16px 17px}.timeline-panel .panel-heading{margin-bottom:13px}.year-feature{font-size:26px;font-weight:850;color:#8aeacb;letter-spacing:-.045em}.timeline-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.field-inline{display:flex;gap:8px;align-items:center;font-size:12px;color:#aac2c8}.timeline-controls .field-inline{margin-right:auto}.timeline-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#819eaa;font-size:11px;margin-top:12px}.timeline-footer span:last-child{color:#6fd2b4}
.right-rail .panel{padding:16px}.form-label{display:block;font-size:11px;color:#aac3c8;margin-bottom:7px}.preset-row{display:flex;gap:7px}.preset-row select{flex:1;min-width:0}.policy-panel>.micro{margin-top:10px}.policy-sliders{display:flex;flex-direction:column;gap:13px;margin-top:19px}.policy-item{display:block}.policy-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:650}.policy-top output{color:#87dfc4;font-weight:850;font-variant-numeric:tabular-nums}.policy-item input[type=range]{width:100%;accent-color:#42cda9;margin:9px 0 2px;cursor:pointer}.policy-item small{display:block;color:#7794a2;font-size:10px;line-height:1.3}.policy-status{margin-top:8px!important}.event-title{font-weight:800;font-size:13px;margin-bottom:10px;color:#f0d59f}.drivers{display:flex;flex-direction:column;gap:8px}.drivers p{padding-left:10px;border-left:2px solid #496c73;font-size:11px;color:#b0c2c6;line-height:1.45}.event-panel .micro{margin-top:13px}.year-feature,.metric strong,.uni-mini,.comparison{font-variant-numeric:tabular-nums}
select,input[type=text],input[type=number]{border:1px solid #3a5260;background:#162b38;color:#e1efef;padding:9px 10px;border-radius:6px;min-height:39px;min-width:0}select option{background:#162b38}.experiment-panel{margin-top:16px;padding:20px 23px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-header h2{font-size:24px;margin:3px 0}.section-header p{color:#9eb4be;font-size:12px}.chart-wrap{border-radius:8px;background:#10232f;margin-top:16px;border:1px solid #2a4352}#compareChart{display:block;width:100%;height:auto}.comparison-scroll{overflow-x:auto;margin-top:14px}.comparison{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.comparison th{text-align:left;color:#809aa7;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:850;padding:10px;border-bottom:1px solid #2e4754}.comparison td{padding:11px 10px;border-bottom:1px solid #243c49;color:#cddfe0}.comparison tbody tr{cursor:pointer}.comparison tbody tr:hover{background:#1a323e}.comparison tbody tr.selected-row{background:#163739}.comparison-name{display:flex;align-items:center;gap:8px;font-weight:700}.small-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.experiment-footer{border-top:1px solid #2a424c;margin-top:16px;padding-top:17px;display:flex;justify-content:space-between;gap:15px;align-items:flex-end;flex-wrap:wrap}.experiment-footer strong{font-size:14px}.experiment-footer p{margin-top:4px;color:#91aab5;font-size:11px}.branch-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.branch-controls label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#98b4bd}.branch-controls input{max-width:150px}.branch-controls select{max-width:160px}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#6d8995;font-size:10px;padding:20px 0}.site-footer b{font-weight:500;color:#bdac85}
.toast{position:fixed;right:20px;bottom:18px;z-index:40;max-width:min(420px,calc(100vw - 40px));padding:14px 17px;border-radius:8px;background:#1d3b40;color:#d8f8ed;box-shadow:0 12px 50px #0008;border:1px solid #4c9a82;font-size:13px;display:none}.toast.error{background:#492a30;border-color:#ac5b66;color:#ffebed}.toast.show{display:block}dialog{background:#122734;border:1px solid #4a6f75;color:#edf6f5;border-radius:12px;width:min(96%,470px);box-shadow:0 25px 90px #000a}dialog::backdrop{background:#031018c9}.dialog-inner{padding:16px;display:flex;flex-direction:column;gap:14px}.dialog-inner h2{font-size:22px}.dialog-inner p{color:#9ab5bd;font-size:12px}.dialog-inner label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#a9c4c6}.dialog-buttons{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;padding-top:5px}.cloud-status{word-break:break-word;background:#1d3842;border-radius:6px;padding:7px;display:none}.cloud-status:not(:empty){display:block}
@media(max-width:1510px){.app-shell{padding:0 18px}.dashboard{grid-template-columns:minmax(205px,245px) minmax(0,1fr) minmax(250px,290px);gap:11px}.panel{padding:13px}.topbar{gap:10px}.top-actions{gap:6px}.brand-subtitle{letter-spacing:.1em}.metric strong{font-size:21px}}
@media(max-width:1170px){.dashboard{grid-template-columns:minmax(225px,260px) minmax(0,1fr)}.right-rail{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}.policy-sliders{display:grid;grid-template-columns:1fr 1fr}.map-panel{min-width:0}.intro{padding-top:19px}}
@media(max-width:760px){.app-shell{padding:0 10px}.topbar{align-items:flex-start}.top-actions{justify-content:flex-start}.brand-title{font-size:19px}.brand-mark{width:42px;height:42px}.build-tag{display:none}.intro{align-items:flex-start;flex-wrap:wrap}.intro h1{font-size:33px}.intro-side{min-width:0;align-items:flex-start}.intro-side strong{font-size:25px}.dashboard{display:flex;flex-direction:column}.left-rail,.city-column,.right-rail{width:100%}.left-rail{display:grid;grid-template-columns:1fr 1fr}.left-rail .advisor-panel{grid-column:1/-1}.universe-panel{min-width:0}.city-column{order:-1}.right-rail{display:flex}.policy-sliders{grid-template-columns:1fr 1fr}.experiment-panel{padding:14px}.section-header{flex-wrap:wrap}}
@media(max-width:520px){.left-rail{display:flex}.policy-sliders{display:flex}.top-actions .button{padding:8px;font-size:11px}.map-header{flex-wrap:wrap}.map-meta{justify-content:start}.map-footer{font-size:10px}.timeline-controls .field-inline{width:100%}.timeline-controls .button{flex:1}.metric strong{font-size:23px}.intro p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}
