html,body{height:100%;margin:0;padding:0;overflow:hidden}#root{flex-direction:column;height:100%;display:flex}:root{--bg-color:#0b0f19;--panel-bg:#151c2cd9;--panel-border:#ffffff14;--panel-border-hover:#ffffff2e;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#64748b;--accent-primary:#38bdf8;--accent-secondary:#818cf8;--accent-gold:#fbbf24;--accent-alert:#f43f5e;--accent-success:#34d399;--terrain-flat-fill:#2d5a3f;--terrain-flat-stroke:#3b7553;--terrain-road-smooth-fill:#d1d5db;--terrain-road-smooth-stroke:#f3f4f6;--terrain-road-busy-fill:#6b7280;--terrain-road-busy-stroke:#9ca3af;--terrain-road-jammed-fill:#111827;--terrain-road-jammed-stroke:#374151;--terrain-mountain-fill:#714a38;--terrain-mountain-stroke:#925f48;--terrain-pond-fill:#38bdf8;--terrain-pond-stroke:#7dd3fc;--color-brand-0:#ff3b30;--color-brand-1:#007aff;--color-brand-2:#34c759;--color-brand-3:#af52de;--color-brand-4:#ff9500;--color-brand-5:#5ac8fa;--color-brand-6:#ff2d55;--color-brand-7:#fc0;--color-agent-patrol:#38bdf8;--color-agent-supply:#fbbf24;--font-heading:"Outfit", "Zen Kaku Gothic New", sans-serif;--font-body:"Zen Kaku Gothic New", sans-serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-body);background-image:radial-gradient(at 0 0,#38bdf814 0,#0000 50%),radial-gradient(at 100% 100%,#818cf814 0,#0000 50%);padding:.6rem .8rem;line-height:1.4}.app-container{box-sizing:border-box;flex-direction:column;gap:.6rem;width:100%;max-width:1920px;height:100%;margin:0 auto;padding:.6rem;display:flex;overflow:hidden}.app-header{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.header-brand{align-items:center;gap:.75rem;display:flex}.eyebrow{font-family:var(--font-mono);color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;display:block}.header-brand h1{font-family:var(--font-heading);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-main);border-radius:12px;padding:1rem}.btn{font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent-primary);color:#0f172a}.btn-secondary{border-color:var(--panel-border);color:var(--text-main);background:#ffffff0d}input[type=number],input[type=text],select{border:1px solid var(--panel-border);color:var(--text-main);font-family:var(--font-mono);background:#0f172a99;border-radius:6px;padding:.4rem .6rem;font-size:.85rem}input[type=number]:focus,select:focus{border-color:var(--accent-primary);outline:none}.main-stage{flex:1;gap:.6rem;min-height:0;display:flex;position:relative}.tool-btn{text-align:left;width:100%;margin-bottom:4px}.tool-btn.active{background:var(--accent-primary);color:#000;border-color:var(--accent-primary)}.panel-section{margin-bottom:1rem}.panel-section h4{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem}#root{height:100%}
