:root { --bg:#0f1419; --card:#1a222c; --txt:#e8edf2; --acc:#4da3ff; }
* { box-sizing:border-box; }
body { background:var(--bg); color:var(--txt); font-family:system-ui,sans-serif;
       margin:0; padding:1rem; max-width:720px; margin-inline:auto; }
header h1 { margin:.2rem 0; } .sub { color:#9fb0c3; margin-top:0; }
.card { background:var(--card); border-radius:12px; padding:1rem; margin:1rem 0; }
.card h2 { margin-top:0; font-size:1.05rem; }
label { display:block; margin:.5rem 0; font-size:.95rem; }
input[type=number] { width:10rem; margin-left:.5rem; background:#0f1419; color:var(--txt);
  border:1px solid #334155; border-radius:6px; padding:.3rem .5rem; }
input[type=range] { vertical-align:middle; }
button#run { background:var(--acc); color:#04121f; border:0; border-radius:10px;
  font-size:1.1rem; padding:.7rem 1.6rem; cursor:pointer; font-weight:700; }
button#run:hover { filter:brightness(1.1); }
button#sensRun { background:#2a3644; color:var(--txt); border:1px solid #4da3ff;
  border-radius:10px; padding:.5rem 1.2rem; cursor:pointer; margin:.5rem 0; }
table.heat { border-collapse:collapse; margin-top:.5rem; font-size:.85rem; }
table.heat th, table.heat td { border:1px solid #334155; padding:.35rem .5rem; text-align:center; }
table.heat th { background:#0f1419; }
.results p { line-height:1.5; } .note { color:#9fb0c3; font-size:.85rem; }
footer { color:#6b7d93; font-size:.8rem; margin-top:2rem; }
footer a { color:var(--acc); }
