:root{color-scheme:dark;--bg: #07111f;--bg-accent: #10243d;--panel: rgba(8, 18, 34, .86);--panel-strong: rgba(10, 24, 42, .96);--panel-soft: rgba(16, 36, 61, .74);--border: rgba(148, 163, 184, .18);--border-strong: rgba(125, 211, 252, .35);--text: #e6eef8;--muted: #92a8c4;--accent: #7dd3fc;--accent-strong: #38bdf8;--accent-warm: #f59e0b;--danger: #f87171;--success: #34d399;--shadow: 0 30px 80px rgba(2, 8, 23, .45);--radius: 22px}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(56,189,248,.18),transparent 28rem),radial-gradient(circle at top right,rgba(245,158,11,.12),transparent 22rem),linear-gradient(180deg,#08111f,#07111f 40%,#040913);color:var(--text);font-family:Avenir Next,Segoe UI,sans-serif}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(125,211,252,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.03) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 80%);mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 80%)}#root{min-height:100vh}a{color:inherit}.app-shell{min-height:100vh;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.app-header,.hero-panel,.config-panel,.controls,.simulation-stage{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.app-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:linear-gradient(135deg,#07111feb,#10243db8)}.app-brand h1,.hero-copy h2,.panel-heading h2,.simulation-stats-hud h2{margin:0;letter-spacing:-.03em;font-family:Iowan Old Style,Palatino Linotype,serif}.app-brand h1{font-size:clamp(2rem,4vw,3.1rem)}.app-subtitle,.panel-copy,.field-hint,.shortcut-hints{color:var(--muted)}.app-subtitle{margin:.4rem 0 0;max-width:46rem}.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--accent)}.app-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;align-items:center}.app-version-badge{padding:.55rem .9rem;border-radius:999px;border:1px solid var(--border-strong);background:#081222a6;font-size:.82rem;color:var(--muted)}.page-content{display:flex;flex-direction:column;gap:1rem}.hero-panel{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,.9fr);gap:1rem;padding:1.35rem 1.5rem;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(140deg,#060f1cf2,#0d1e34d1)}.hero-copy p:last-child{margin-bottom:0;max-width:42rem}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.hero-metric-card{display:flex;flex-direction:column;gap:.45rem;padding:1rem;border-radius:18px;border:1px solid rgba(125,211,252,.12);background:linear-gradient(180deg,#12263fcc,#07111fe6)}.metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.metric-detail{font-size:.85rem;color:var(--muted)}.config-and-canvas-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(20rem,24rem);gap:1rem;align-items:start}.simulation-area,.sidebar-column{display:flex;flex-direction:column;gap:1rem;min-width:0}.seed-banner,.warning-banner,.spectator-banner{margin:0;padding:.85rem 1rem;border-radius:16px;border:1px solid var(--border);background:#081222b3}.warning-banner{border-color:#f8717159;color:#fecaca}.controls,.config-panel,.simulation-stage{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.controls,.config-panel{padding:1.1rem}.control-cluster{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.65rem;padding:.95rem;border-radius:18px;background:#10243d61;border:1px solid rgba(148,163,184,.08)}.control-heading,.panel-heading h2{margin:0}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.speed-presets{display:flex;flex-wrap:wrap;gap:.55rem}.simulation-stage{padding:1rem;overflow:hidden}.simulation-stats-hud{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem;padding:1rem;border-radius:18px;background:linear-gradient(180deg,#10243d8c,#0812228c);border:1px solid rgba(148,163,184,.1)}.hud-heading-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.hud-toggle-group{display:flex;gap:.55rem}.hud-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.55rem 1rem}.hud-runtime-row{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:1rem;align-items:start}.stats-graph{position:relative;background:#08122259;border-radius:8px;margin-top:.5rem}.stats-graph svg{display:block}.stats-graph-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.75rem}.stats-graph-legend{display:flex;gap:.75rem;padding:4px 4px 6px;justify-content:center}.stats-graph-legend-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--muted)}.stats-graph-swatch{width:.5rem;height:.5rem;border-radius:1px}.hud-playback-controls,.hud-runtime-copy{display:flex;flex-direction:column;gap:.55rem}.hud-save-as-field{display:flex;flex-direction:column;gap:.35rem;max-width:24rem}.hud-action-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-start}.hud-metric-grid p,.hud-runtime-copy p,.legend-item,.saved-simulation-copy span,.saved-simulation-copy strong{margin:0}.legend-group{display:flex;flex-direction:column;gap:.55rem}.legend-items{display:flex;flex-wrap:wrap;gap:.5rem}.legend-item{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border-radius:999px;background:#0812228c;font-size:.82rem}.legend-swatch{width:.7rem;height:.7rem;border-radius:.2rem}.legend-swatch.is-round{border-radius:999px}.canvas-frame{position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(125,211,252,.14);background:radial-gradient(circle at top,rgba(56,189,248,.08),transparent 45%),#040913f5;min-height:34rem}.simulation-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:2rem;text-align:center;background:linear-gradient(180deg,#040913b3,#040913d1),radial-gradient(circle at top,rgba(56,189,248,.14),transparent 50%)}.simulation-empty-state h3,.simulation-empty-state p{margin:0}.simulation-empty-state h3{max-width:28rem}.simulation-empty-state>p:not(.eyebrow){max-width:32rem;color:var(--muted)}.simulation-empty-state-actions{display:flex;justify-content:center}canvas{display:block;width:100%;min-height:34rem;background:transparent;touch-action:none}.organism-hud-overlay{position:absolute;top:1rem;right:1rem;width:min(22rem,calc(100% - 2rem));max-height:calc(100% - 2rem);overflow:auto;padding:1rem;border-radius:18px;border:1px solid rgba(125,211,252,.22);background:#050d18e0;box-shadow:var(--shadow)}.organism-hud-header,.modal-header-row,.saved-simulation-actions{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.organism-hud-deceased-badge{font-size:.7rem;padding:.15rem .4rem;border-radius:4px;background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.4);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.organism-hud-stats,.organism-hud-brain{display:flex;flex-direction:column;gap:.65rem;margin-top:.8rem}.brain-graph-controls,.brain-graph-legend-items{display:flex;flex-wrap:wrap;gap:.5rem}.brain-graph{width:100%;min-height:14rem;border-radius:16px;background:#081222b8}.brain-graph-synapse-edge{transition:opacity .12s linear,stroke-width .12s linear}.brain-graph-synapse-signal{pointer-events:none;stroke-linecap:round;stroke-dasharray:7 9;filter:drop-shadow(0 0 5px rgba(248,250,252,.28))}.brain-graph-signal-pulse{pointer-events:none;filter:drop-shadow(0 0 8px rgba(248,250,252,.55))}.hazard-indicator{color:#fca5a5;font-size:.9rem}.no-hazard-indicator{color:#86efac;font-size:.9rem}.brain-graph-legend{display:grid;gap:.75rem}.brain-graph-legend-item{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .5rem;border-radius:999px;background:#10243d70;font-size:.8rem}.brain-graph-legend-swatch{width:.7rem;height:.7rem;border-radius:999px}.saved-simulation-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem}.saved-simulation-item{display:flex;flex-direction:column;gap:.75rem;padding:.9rem;border-radius:18px;background:#10243d57;border:1px solid rgba(148,163,184,.08)}.saved-simulation-item.is-selected{border-color:var(--border-strong);background:#132c488c}.saved-simulation-copy{display:flex;flex-direction:column;gap:.3rem}.saved-simulation-actions{justify-content:flex-start;flex-wrap:wrap}.saved-simulation-copy .metadata-secondary{font-size:.85em;opacity:.65}.replay-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}.seed-mismatch-banner{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-radius:16px;border:1px solid rgba(245,158,11,.25);background:#45270652}.save-status-badge{display:inline-flex;align-self:flex-start;padding:.35rem .6rem;border-radius:999px;font-size:.85rem}.save-status-badge.is-saved{background:#34d39929;color:#bbf7d0}.save-status-badge.is-unsaved{background:#f59e0b29;color:#fde68a}.toast-viewport{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.6rem;z-index:100}.toast-item{display:flex;align-items:center;gap:.75rem;min-width:16rem;max-width:24rem;padding:.85rem 1rem;border-radius:16px;border:1px solid var(--border);background:#050d18eb}.toast-dismiss{margin-left:auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:1rem;background:#020817c7}.modal-panel{width:min(40rem,100%);padding:1.2rem;border-radius:20px;border:1px solid var(--border);background:var(--panel-strong);box-shadow:var(--shadow)}label{display:flex;flex-direction:column;gap:.35rem;color:var(--muted);font-size:.9rem}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}input,select,button{border-radius:14px;border:1px solid rgba(148,163,184,.16);font:inherit}input,select{width:100%;padding:.72rem .82rem;color:var(--text);background:#081222bf}button{padding:.72rem .95rem;color:var(--text);background:linear-gradient(180deg,#132c48e0,#0b192bf5);cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}button:hover{transform:translateY(-1px);border-color:var(--border-strong)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.control-with-hint{position:relative}.control-disable-hint,.error-text{font-size:.78rem;color:#fca5a5}.shortcut-list{display:grid;gap:.65rem}.shortcut-list div{display:grid;grid-template-columns:5rem 1fr;gap:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.config-panel details>summary{cursor:pointer;list-style:none;padding:.25rem 0;margin:.5rem 0;font-weight:600;color:var(--color-text)}.config-panel details>summary h3{display:inline;margin:0;font-size:inherit;font-weight:inherit}.config-panel details>summary::-webkit-details-marker{display:none}.config-panel details>summary:before{content:"▶";display:inline-block;margin-right:.5rem;font-size:.75rem;transition:transform .2s ease}.config-panel details[open]>summary:before{transform:rotate(90deg)}.config-panel details>summary:focus{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}@media (max-width: 1180px){.hero-panel,.config-and-canvas-row,.hud-runtime-row{grid-template-columns:1fr}}@media (max-width: 768px){.app-shell{padding:.85rem}.app-header,.hero-panel,.config-panel,.controls,.simulation-stage{border-radius:18px}.app-header,.hud-heading-row,.panel-heading{flex-direction:column}.hero-metrics,.field-row{grid-template-columns:1fr}.canvas-frame,canvas{min-height:22rem}.organism-hud-overlay{position:static;width:100%;max-height:none;margin-top:.75rem}}@media (max-width: 520px){button,input,select{min-height:44px}.toast-viewport{left:.75rem;right:.75rem}.toast-item{min-width:0;max-width:none}}
