:root{color-scheme:dark;--bg:#0b131d;--panel:#14212e;--line:#2b4052;--muted:#a5b9c9;--text:#eff6fa;--accent:#5ce0bf;--amber:#ffc779;--red:#ff9b9b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}a{color:var(--accent)}header,footer{max-width:1260px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}header{border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:800;letter-spacing:.08em;color:var(--text)}.brand span{font-weight:400;color:var(--muted);font-size:.75rem}.badge,.state{border:1px solid var(--line);border-radius:30px;padding:4px 12px;font-size:.8rem}.badge{color:var(--accent)}main{max-width:1260px;margin:auto;padding:30px 28px 60px}.intro{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;margin:24px 0 48px}.intro p{color:var(--muted);max-width:650px}.intro aside{border-left:2px solid var(--accent);padding-left:24px;font-size:.9rem}.intro aside strong{color:var(--amber)}h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.08;letter-spacing:-.05em;margin:15px 0 24px}h1 em{font-style:normal;color:var(--accent)}h2{font-size:1.15rem;margin:0 0 16px}.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;color:var(--muted)}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;overflow:auto}.tabs button{white-space:nowrap}.tabs [aria-selected=true]{background:var(--accent);color:#071c18;border-color:var(--accent)}button,.button,.file-button{font:inherit;font-size:.88rem;display:inline-block;border:1px solid var(--line);background:#1c3041;color:var(--text);padding:10px 16px;border-radius:7px;cursor:pointer;text-decoration:none}button:hover,.button:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);color:#09241c;border-color:var(--accent);font-weight:700}.danger{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{margin:0}.temperature{font-size:clamp(4rem,9vw,7.5rem);font-weight:650;letter-spacing:-.06em;line-height:1.3;margin-top:26px}.temperature small{font-size:2rem;font-weight:400;color:var(--muted);margin-left:14px;letter-spacing:0}.target{color:var(--muted);margin:0 0 32px}.target strong{color:var(--text)}.target span{margin:0 12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metrics span{display:block;font-size:.76rem;color:var(--muted)}.metrics strong{font-size:1.35rem}.outputs{height:6px;background:#233849;border-radius:10px;margin:22px 0;overflow:hidden}.outputs div{height:100%;width:0;background:var(--amber);transition:width .3s}.controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.alarm{color:var(--red);font-weight:700}.muted,#stage-status{color:var(--muted);font-size:.85rem}#message{min-height:24px;color:var(--amber)}#message.error{color:var(--red)}label{display:block;color:var(--muted);font-size:.85rem;margin-bottom:16px}input,select{width:100%;background:#0d1a26;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;margin-top:6px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#sim-controls,#pairing{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}#program-summary{margin-top:24px}#program-summary p{padding:12px;border-left:2px solid var(--accent);background:#10202b;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.83rem}th,td{padding:12px 8px;border-bottom:1px solid var(--line)}td input{min-width:80px}th{color:var(--muted);font-weight:500}canvas{width:100%;display:block;margin-top:24px}.legend{display:flex;gap:18px;font-size:.8rem;color:var(--amber)}.legend span:nth-child(2){color:var(--accent)}.legend span:nth-child(3){color:#80aaff}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:60px 0;color:var(--muted)}.capabilities h2{font-size:1.7rem;color:var(--text)}.capabilities li{padding:6px}footer{border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}.skip{position:absolute;top:-80px}.skip:focus{top:8px;background:var(--panel);padding:10px;z-index:10}.file-button input{display:none}[hidden]{display:none!important}body[data-mode=device] .intro,body[data-mode=device] .capabilities,body[data-mode=device] #downloads{display:none}
@media(max-width:800px){.intro,.dashboard-grid,.capabilities{grid-template-columns:1fr;gap:24px}.intro{margin:15px 0 32px}.form-grid{grid-template-columns:1fr 1fr}main{padding:20px 16px}header,footer{padding:20px 16px;flex-wrap:wrap}.brand span{display:block}.panel{padding:20px}.metrics strong{font-size:1rem}.temperature{font-size:5.5rem}}
@media(max-width:450px){.form-grid{grid-template-columns:1fr}.target span{margin:0 5px}.metrics{gap:5px}.controls button{flex:1}.legend{gap:10px;font-size:.7rem}}
body[data-mode=device] #touch-link{display:none}
