:root{color:#172033;font-synthesis:none;background:#dce4ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#0ea5e929,#0000 34rem),linear-gradient(160deg,#eef4f8 0%,#dbe4ec 100%);min-width:320px;min-height:100vh;margin:0;padding:clamp(10px,2.5vw,28px)}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}.app-shell{background:#fffffff5;border:1px solid #94a3b899;border-radius:22px;width:min(100%,1140px);margin:0 auto;padding:clamp(14px,2.4vw,24px);box-shadow:0 24px 70px #0f172a24}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.app-header h1{color:#0f172a;letter-spacing:-.04em;margin:0;font-size:clamp(1.6rem,4vw,2.35rem)}.eyebrow{color:#0369a1;letter-spacing:.11em;text-transform:uppercase;margin:0 0 2px;font-size:.76rem;font-weight:800}.state-pill{color:#334155;background:#e2e8f0;border-radius:999px;flex:none;padding:7px 11px;font-size:.82rem;font-weight:800}.state-pill.active{color:#065f46;background:#d1fae5}.state-pill.danger{color:#991b1b;background:#fee2e2}.canvas-frame{background:#eef3f7;border:1px solid #cbd5e1;border-radius:14px;justify-content:center;padding:clamp(6px,1.5vw,12px);display:flex;overflow:hidden}.canvas-frame canvas{cursor:crosshair;touch-action:manipulation;background:#fff;border-radius:8px;width:100%;max-width:800px;height:auto;display:block;box-shadow:inset 0 1px 3px #0f172a1a}.controls{gap:14px;margin-top:14px;display:grid}.button-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.control-button{color:#fff;cursor:pointer;background:#475569;border:0;border-radius:9px;min-height:42px;padding:9px 13px;font-weight:800;transition:transform .15s,filter .15s,box-shadow .15s}.control-button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 6px 14px #0f172a29}.control-button:active:not(:disabled){transform:translateY(0)}.control-button:disabled{opacity:.45;cursor:not-allowed}.control-button.start{background:#047857}.control-button.stop,.control-button.trap{background:#b91c1c}.control-button.selected{background:#2563eb}.control-button.uturn{background:#a21caf}.control-button.oil{background:#0369a1}.control-button.fire{background:#c2410c}.control-button.reset{background:#334155}.simulation-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:12px;display:grid}.simulation-layout>.canvas-frame{min-width:0}.drive-controls{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.drive-controls label{background:#f8fafc;border:1px solid #dbe3ec;border-radius:11px;gap:8px;padding:12px 14px;font-size:.9rem;display:grid}.drive-controls label span{justify-content:space-between;gap:12px;display:flex}.drive-controls input{accent-color:#0284c7;width:100%}.status-panel{background:#f8fafc;border:1px solid #dbe3ec;border-radius:12px;margin-top:14px;padding:14px}.status-panel.danger{background:#fff1f2;border-color:#fecaca}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metrics span{gap:2px;display:grid}.metrics small{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.73rem;font-weight:700}.metrics strong{font-size:.9rem}.decision,.warning{margin:11px 0 0;font-size:.9rem}.decision{color:#334155;border-top:1px solid #e2e8f0;padding-top:10px}.warning{color:#991b1b;font-weight:700}.telemetry-panel{color:#cbd5e1;background:#0f172a;border-radius:12px;margin-top:14px;padding:15px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.telemetry-panel>strong{color:#f8fafc;text-transform:uppercase;letter-spacing:.04em;font-family:inherit}.telemetry-panel>p{margin:6px 0 12px;line-height:1.5}.telemetry-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;display:grid}.leg-card{background:#1e293b;border:1px solid #334155;border-radius:7px;padding:10px}.leg-card.invalid{border-color:#f87171}.help-text{color:#526176;margin:14px 2px 0;font-size:.82rem;line-height:1.55}@media (width<=620px){body{padding:8px}.app-shell{border-radius:15px}.drive-controls{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.control-button{flex:calc(33.333% - 8px)}}@media (prefers-reduced-motion:reduce){.control-button{transition:none}}.header-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.lives-hearts{align-items:center;gap:5px;display:flex}.life-heart{stroke-width:1.8px;stroke-linejoin:round;width:27px;height:29px;display:block}.life-heart.full{fill:#ef4444;stroke:#b91c1c}.life-heart.empty{fill:none;stroke:#94a3b8}.timone{background:#f8fafc;border:1px solid #dbe3ec;border-radius:11px;min-width:0;padding:12px 14px}.timone-heading{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.9rem;display:flex}.timone-heading output{color:#0369a1;font-variant-numeric:tabular-nums;font-weight:700}.timone-dial{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:50%;width:170px;max-width:100%;margin:4px auto}.timone-dial:active{cursor:grabbing}.timone-dial:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}.timone-dial svg{pointer-events:none;width:100%;display:block}.timone-buttons{justify-content:center;gap:8px;display:flex}.timone-buttons button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-width:44px;min-height:44px;padding:8px 12px;font-weight:700}.timone-buttons button:hover:not(:disabled){background:#e0f2fe;border-color:#0284c7}.timone-buttons button:disabled,.timone[data-disabled=true] .timone-dial{opacity:.45;cursor:not-allowed}.timone-help{color:#526176;text-align:center;margin:9px 0 0;font-size:.75rem;line-height:1.5}.drive-controls{align-items:start}@media (width<=900px){.simulation-layout{grid-template-columns:minmax(0,1fr)}.drive-controls .timone-dial{width:140px}}.drive-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drive-buttons .uturn{grid-column:1/-1}footer{color:#747a75;letter-spacing:.11em;text-transform:uppercase;border-top:1px solid #aeb1a9;justify-content:space-between;margin-top:38px;padding-top:17px;font:400 10px DM Mono,monospace;display:flex}.projects-footer a{color:#747a75;text-decoration:none;transition:color .2s}.projects-footer a:hover{color:#d14b37}
