@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#07111b;--panel:#081826d6;--panel-strong:#0b2334eb;--panel-border:#a5dce42e;--text:#ebf3f4;--muted:#a6c2c6;--accent:#ff916d;--accent-strong:#ffc17a;--cool:#7be0dd;--shadow:0 24px 80px #0000004d;font-family:Space Grotesk,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:radial-gradient(circle at 100% 0,#f8bf6e29,#0000 28%),radial-gradient(circle at 0 30%,#6fe0dd1f,#0000 24%),linear-gradient(145deg,#03080f 0%,#081523 42%,#07111b 100%);margin:0}body{min-height:100svh}button,input,select{font:inherit}p,h1,h2{margin:0}#app{min-height:100svh;padding:24px}.shell{grid-template-columns:360px minmax(0,1fr);gap:22px;min-height:calc(100svh - 48px);display:grid}.control-panel,.viewport-panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px;animation:.7s both rise-in}.control-panel{flex-direction:column;gap:16px;padding:24px;display:flex}.panel-copy{flex-direction:column;gap:12px;display:flex}.eyebrow{color:var(--cool);letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;font-weight:700}h1{max-width:10ch;font-size:clamp(2rem,3vw,3.3rem);line-height:.98}h2{font-size:clamp(1.4rem,2vw,2rem);line-height:1.05}.lede{color:var(--muted);line-height:1.5}.card{background:#ffffff08;border:1px solid #a5dce41f;border-radius:20px;padding:16px}.field{gap:10px;margin-bottom:14px;display:grid}.field:last-child{margin-bottom:0}.field-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.field span,.stat-label,.muted{color:var(--muted)}.objective{color:var(--text);margin-top:10px;line-height:1.45}select,input[type=range]{width:100%}select{appearance:none;color:var(--text);background:#071623db;border:1px solid #a5dce424;border-radius:14px;padding:12px 14px}input[type=range]{appearance:none;background:linear-gradient(90deg,#7be0dd47,#ff916d99);border-radius:999px;outline:none;height:8px}input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg, var(--accent-strong), var(--accent));border:2px solid #081826f2;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 4px #ff916d2e}input[type=range]::-moz-range-thumb{background:linear-gradient(135deg, var(--accent-strong), var(--accent));border:2px solid #081826f2;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 4px #ff916d2e}.button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}button{color:var(--text);cursor:pointer;background:#a5dce41f;border:0;border-radius:16px;padding:13px 15px;transition:transform .14s,background .14s,box-shadow .14s}button:hover{background:#a5dce42e;transform:translateY(-1px)}button.primary{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#08121f;font-weight:700}button.primary:hover{box-shadow:0 10px 28px #ff916d47}.toggles{color:var(--muted);flex-wrap:wrap;gap:14px;display:flex}.toggles label{align-items:center;gap:8px;display:flex}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.stats-grid strong,.header-metrics strong,.field-row strong{font-variant-numeric:tabular-nums}.stat-label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:.78rem;display:block}.shortcuts{gap:10px;margin-top:auto;line-height:1.45;display:grid}.mono{font-family:IBM Plex Mono,monospace}.viewport-panel{flex-direction:column;gap:18px;padding:18px;animation-delay:90ms;display:flex}.viewport-header{justify-content:space-between;align-items:end;gap:16px;padding:4px 8px 0;display:flex}.header-metrics{gap:18px;display:flex}.canvas-shell{background:var(--panel-strong);border:1px solid #a5dce41f;border-radius:24px;flex:1;min-height:620px;overflow:hidden}#sim-canvas{width:100%;height:100%;display:block}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=1180px){.shell{grid-template-columns:1fr}.control-panel{order:2}.viewport-panel{order:1}.canvas-shell{min-height:56svh}}@media (width<=720px){#app{padding:14px}.control-panel,.viewport-panel{border-radius:22px}.button-row,.stats-grid{grid-template-columns:1fr}.viewport-header{flex-direction:column;align-items:start}.header-metrics{justify-content:space-between;width:100%}}
