:root{--bg-main: #090d16;--bg-panel: rgba(15, 23, 42, .85);--bg-card: rgba(30, 41, 59, .7);--border-glow: rgba(56, 189, 248, .25);--border-active: #38bdf8;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-accent: #38bdf8;--cyan-neon: #00f0ff;--green-neon: #10b981;--amber-neon: #f59e0b;--rose-neon: #f43f5e;--purple-neon: #a855f7;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);overflow:hidden;height:100vh;width:100vw;display:flex;flex-direction:column}#hud{height:58px;background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-glow);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;z-index:20}.hud-group{display:flex;align-items:center;gap:1.25rem}.city-title-box{display:flex;align-items:center;gap:.5rem}.logo-badge{background:linear-gradient(135deg,#0284c7,#06b6d4);color:#fff;font-weight:800;font-size:.75rem;padding:.2rem .5rem;border-radius:4px;letter-spacing:.08em;box-shadow:0 0 10px #06b6d466}.city-name{font-weight:700;font-size:1.1rem;letter-spacing:-.02em;color:#fff}.hud-metric{display:flex;flex-direction:column;gap:.15rem}.hud-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.hud-value{font-family:var(--font-mono);font-size:.95rem;font-weight:700}.hud-value.funds{color:#34d399}.hud-value.pop{color:#38bdf8}.hud-value.date{color:#fbbf24}.rci-box{display:flex;align-items:flex-end;gap:4px;height:28px;padding:2px 6px;background:#00000059;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.rci-bar-wrapper{display:flex;flex-direction:column;align-items:center;gap:2px}.rci-bar{width:8px;height:14px;border-radius:2px;transition:height .3s ease}.rci-bar.res{background:#3b82f6}.rci-bar.com{background:#10b981}.rci-bar.ind{background:#f59e0b}.rci-text{font-size:.6rem;font-weight:800;font-family:var(--font-mono)}.speed-controls{display:flex;align-items:center;gap:4px;background:#00000059;padding:3px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.speed-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.85rem;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.speed-btn:hover{color:#fff;background:#ffffff1a}.speed-btn.active{background:var(--text-accent);color:#000;font-weight:700}.action-btn{background:var(--bg-card);border:1px solid var(--border-glow);color:var(--text-primary);padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .2s ease}.action-btn:hover{border-color:var(--border-active);box-shadow:0 0 10px #38bdf840;transform:translateY(-1px)}.action-btn.decree-btn{background:linear-gradient(135deg,#a855f74d,#ec48994d);border-color:#c084fc}#main-view{flex:1;position:relative;display:flex;overflow:hidden}#toolbar{position:absolute;top:1rem;left:1rem;width:190px;background:var(--bg-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-glow);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;z-index:15;box-shadow:0 10px 25px #00000080;max-height:calc(100vh - 85px);overflow-y:auto}.tool-category-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-top:.4rem;margin-bottom:.2rem;padding-left:.25rem}.tool-grid{display:flex;flex-direction:column;gap:4px}.tool-btn{background:#1e293b99;border:1px solid rgba(255,255,255,.08);color:var(--text-primary);border-radius:6px;padding:.45rem .6rem;font-size:.8rem;font-weight:500;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .15s ease}.tool-btn:hover{background:#38bdf826;border-color:var(--border-active)}.tool-btn.active{background:linear-gradient(90deg,#0ea5e94d,#06b6d433);border-color:var(--cyan-neon);box-shadow:0 0 10px #06b6d44d;font-weight:700}.tool-cost{font-family:var(--font-mono);font-size:.7rem;color:#34d399}#overlays-bar{position:absolute;top:1rem;right:1rem;background:var(--bg-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-glow);border-radius:8px;padding:.4rem;display:flex;align-items:center;gap:.4rem;z-index:15}.overlay-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:.35rem .6rem;border-radius:5px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.overlay-btn:hover{color:#fff;background:#ffffff14}.overlay-btn.active{background:var(--text-accent);color:#000;border-color:var(--text-accent)}#sentiment-banner{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:var(--bg-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-glow);border-radius:24px;padding:.45rem 1.25rem;display:flex;align-items:center;gap:1.5rem;z-index:15;box-shadow:0 8px 20px #0006}.sentiment-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary)}.sentiment-item strong{color:var(--text-primary);font-family:var(--font-mono)}#canvas-container{width:100%;height:100%;cursor:crosshair}#city-canvas{width:100%;height:100%;display:block}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal-window{background:#0f172a;border:1px solid var(--border-glow);border-radius:12px;box-shadow:0 20px 40px #000c,0 0 20px #38bdf833;width:90%;max-width:600px;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;background:#1e293b80}.modal-title{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer}.modal-body{padding:1.25rem;max-height:70vh;overflow-y:auto}.decree-window{max-width:680px}.decree-input-box{display:flex;gap:.5rem;margin-top:1rem}.decree-input{flex:1;background:#020617;border:1px solid #334155;color:#38bdf8;font-family:var(--font-mono);font-size:.9rem;padding:.7rem 1rem;border-radius:6px;outline:none;transition:border-color .2s ease}.decree-input:focus{border-color:#38bdf8;box-shadow:0 0 10px #38bdf84d}.decree-send-btn{background:linear-gradient(135deg,#0284c7,#06b6d4);color:#fff;border:none;padding:0 1.25rem;border-radius:6px;font-weight:700;cursor:pointer}.preset-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.preset-pill{background:#38bdf81a;border:1px solid rgba(56,189,248,.25);color:#38bdf8;font-size:.75rem;padding:.35rem .75rem;border-radius:20px;cursor:pointer;transition:all .15s ease}.preset-pill:hover{background:#38bdf840;border-color:#38bdf8}.advisor-card{display:flex;gap:1rem;padding:1rem;background:var(--bg-card);border-radius:8px;border:1px solid rgba(255,255,255,.08);margin-bottom:.75rem}.advisor-avatar{font-size:2.2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#0000004d;border-radius:50%;flex-shrink:0}.advisor-info{flex:1}.advisor-name-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.advisor-name{font-weight:700;font-size:.95rem}.advisor-title{font-size:.75rem;color:var(--text-secondary)}.advisor-advice{font-size:.85rem;line-height:1.4;color:#e2e8f0}.citizen-dossier{display:flex;flex-direction:column;gap:1rem}.dossier-hero{display:flex;align-items:center;gap:1rem;background:#0000004d;padding:1rem;border-radius:8px}.dossier-avatar{font-size:3rem}.thought-bubble{background:#1e293b;border-left:3px solid #38bdf8;padding:.8rem 1rem;border-radius:4px;font-style:italic;font-size:.9rem;color:#bae6fd}
