:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;background:#0c1420;color:#e7eef7}*{box-sizing:border-box}body{margin:0}main{max-width:1600px;margin:auto;padding:28px}a{color:#9cd4ff;text-decoration:none}a:hover{text-decoration:underline}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.back{display:inline-block;font-size:13px;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;color:#8eb6d4}h1{font-size:32px;font-weight:600;letter-spacing:-.035em;margin:8px 0}.secondary,button{border:1px solid #3b5168;border-radius:7px;background:#192b3e;color:#c9e6fa;padding:10px 14px;font:inherit;font-size:13px;cursor:pointer}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}aside{border-right:1px solid #2b3c4f;padding-right:20px}.search-label{display:block;font-size:13px;margin-bottom:8px}input[type=search],select{font:inherit;color:inherit;background:#142235;border:1px solid #3b5168;border-radius:6px;padding:9px;max-width:100%}input[type=search]{width:100%}nav{max-height:72vh;overflow:auto;scrollbar-width:thin}nav a{display:block;border-radius:6px;padding:10px 12px;color:#aabdd0;font-size:13px;line-height:1.3}nav a small{display:block;color:#6f8aa2;font-size:10px;margin-top:5px}nav a[aria-current=true]{background:#203b53;color:#e0f1fe}nav a:hover{background:#192e41;text-decoration:none}.toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px}.toolbar label{font-size:13px;color:#aebfd0;display:flex;gap:8px;align-items:center}.toolbar button{margin-left:auto}#stage{position:relative;background:#07182b;border:1px solid #2d4258;border-radius:10px;overflow:hidden;min-height:220px}canvas{display:block;width:100%;height:auto}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#0a1a2be8;margin:0;color:#bdd5e9;font-size:14px}#loading[hidden]{display:none}.toggles{display:flex;flex-wrap:wrap;gap:18px;padding:16px 0}.toggles label{font-size:12px;color:#bacbda}.toggles input{accent-color:#8fc8f0;margin-right:5px}.muted{font-size:12px;color:#8ea5b9;line-height:1.6}.notice{border-left:2px solid #6e9dbc;padding:8px 12px;color:#adbfce;font-size:13px;line-height:1.6;background:#132337}details{margin-top:16px;font-size:12px;line-height:1.7;color:#93a8bc}summary{cursor:pointer;color:#a9cce5}button:disabled{opacity:.45;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a5d8ff;outline-offset:3px}@media(max-width:800px){main{padding:18px}.workspace{grid-template-columns:minmax(0,1fr)}aside{border:0;padding:0}nav{max-height:180px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{gap:10px}h1{font-size:26px}header .secondary{white-space:nowrap}#stage{min-height:160px}}.city-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;font-size:12px;color:#aebfd0}.city-toolbar button{font-size:12px;padding:7px 10px}#city-status{font-size:11px;color:#87a6bd;margin-left:auto}#city-stage{position:absolute;inset:0;z-index:0}#city-stage canvas{width:100%;height:100%}#canvas{position:relative;z-index:1;pointer-events:none}#hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}.hotspot{position:absolute;pointer-events:auto;background:transparent;border:0;border-radius:1px;padding:0;cursor:pointer}.hotspot:hover{background:#a9d8ff06}.hotspot:focus-visible{outline:1px solid #acdafa;outline-offset:2px}.start-hotspot{inset:0;width:100%;height:100%}#loading{z-index:4}#stage:focus-visible{outline:1px solid #86bad9;outline-offset:3px}.exploring #canvas{opacity:0}.exploring #hotspots{display:none}.interaction-help{font-size:12px;color:#90abc1;margin:10px 0}#action-status{font-size:13px;color:#c2dfef;min-height:1.2em;margin:8px 0}.toolbar button{margin-left:0}.toolbar #download{margin-left:auto}#stage-surface{position:relative;width:100%}.preview,#stage{min-width:0}.pan-help{display:none}@media(max-width:800px){#stage{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}#stage-surface{min-width:760px}.pan-help{display:block;color:#7f9ab0}nav{max-height:52vh;grid-template-columns:minmax(0,1fr)}nav a{padding:12px}}
