:root{
  --bg:#1a1a18;--surface:#242422;--surface2:#2e2e2b;--border:#3a3a36;
  --cream:#F1EFE8;--cream-dim:#b4b2a9;--cream-muted:#6b6b66;
  --terra:#D85A30;--teal-bright:#1D9E75;--amber:#c97d1a;--red:#c0392b;
}
.logo{font-family:'IBM Plex Mono',monospace;font-size:0.65rem;letter-spacing:0.14em;color:var(--cream-dim);text-transform:uppercase;}
.logo span{color:var(--terra);}
.site-link{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;color:var(--cream-muted);text-decoration:none;}
.site-link:hover{color:var(--cream);}
.hbadge{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;color:var(--terra);text-transform:uppercase;margin-bottom:0.75rem;}
.hbadge::before{content:'';display:inline-block;width:18px;height:1.5px;background:var(--terra);vertical-align:middle;margin-right:8px;}
.tab-bar{display:flex;border-top:1px solid var(--border);}
.tab-btn{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--cream-muted);cursor:pointer;transition:all 0.15s;}
.tab-btn:hover{color:var(--cream);}
.tab-btn.active{color:var(--terra);border-bottom-color:var(--terra);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.slabel{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.18em;color:var(--cream-muted);text-transform:uppercase;margin-bottom:1.25rem;}
.sim-layout{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;margin-bottom:2rem;}
.sc-label{font-family:'IBM Plex Mono',monospace;font-size:0.58rem;letter-spacing:0.14em;color:var(--cream-muted);text-transform:uppercase;margin-bottom:0.75rem;}
.sc-btn{width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid transparent;padding:0.7rem 0.85rem;margin-bottom:6px;cursor:pointer;transition:all 0.15s;display:block;}
.sc-btn:hover{border-left-color:var(--cream-muted);background:var(--surface2);}
.sc-btn.active{border-left-color:var(--terra);background:var(--surface2);}
.sc-name{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;font-weight:500;letter-spacing:0.06em;color:var(--cream);display:block;margin-bottom:2px;}
.sc-desc{font-size:0.75rem;color:var(--cream-muted);display:block;line-height:1.4;font-style:italic;}
.sc-btn.active .sc-desc{color:var(--cream-dim);}
#lorenzCanvas{width:100%;display:block;background:#111110;}
.state-badge{position:absolute;top:10px;right:10px;font-family:'IBM Plex Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;padding:3px 10px;border:1px solid currentColor;}
.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);margin-bottom:1.25rem;}
.metric{background:var(--surface);padding:0.6rem 0.85rem;}
.metric-label{font-family:'IBM Plex Mono',monospace;font-size:0.55rem;letter-spacing:0.1em;color:var(--cream-muted);text-transform:uppercase;margin-bottom:3px;}
.metric-val{font-family:'IBM Plex Mono',monospace;font-size:1.1rem;font-weight:500;color:var(--cream);}
.cl{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;color:var(--cream-dim);text-transform:uppercase;margin-bottom:5px;display:flex;justify-content:space-between;}
.cv{color:var(--terra);}
input[type=range]{width:100%;appearance:none;height:2px;background:var(--border);outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:var(--terra);cursor:pointer;}
input[type=range]::-moz-range-thumb{width:13px;height:13px;background:var(--terra);border:none;cursor:pointer;}
.state-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:1.25rem;}
.sbox{background:var(--surface2);border:1px solid var(--border);border-left:3px solid transparent;padding:0.65rem 0.85rem;transition:all 0.35s;}
.sbox.ss{border-left-color:var(--teal-bright);background:rgba(15,110,86,0.12);}
.sbox.st{border-left-color:var(--amber);background:rgba(201,125,26,0.12);}
.sbox.sc{border-left-color:var(--red);background:rgba(192,57,43,0.15);}
.sbl{font-family:'IBM Plex Mono',monospace;font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;color:var(--cream-muted);}
.sbox.ss .sbl{color:var(--teal-bright);}
.sbox.st .sbl{color:var(--amber);}
.sbox.sc .sbl{color:var(--red);}
.sbt{font-size:0.77rem;color:var(--cream-dim);line-height:1.5;}
button{font-family:'IBM Plex Mono',monospace;font-size:0.65rem;letter-spacing:0.07em;padding:6px 14px;background:transparent;border:1px solid var(--border);color:var(--cream-dim);cursor:pointer;transition:all 0.15s;text-transform:lowercase;}
button:hover{background:var(--terra);border-color:var(--terra);color:var(--cream);}
button.primary{border-color:var(--terra);color:var(--terra);}
button.primary:hover{background:var(--terra);color:var(--cream);}
.pt{width:100%;border-collapse:collapse;font-size:0.82rem;margin-top:0.4rem;}
.pt td{padding:5px 0;border-bottom:1px solid var(--border);vertical-align:top;color:var(--cream-dim);}
.pt td:first-child{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--terra);width:32px;padding-right:10px;}
.ssec{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border);}
.ssec:last-child{border-bottom:none;}
.ssec h3{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--cream);margin-bottom:0.7rem;}
.ssec h3 em{font-style:italic;color:var(--cream-dim);}
.ssec p{font-size:0.88rem;color:var(--cream-dim);line-height:1.85;margin-bottom:0.7rem;}
.ssec p strong{color:var(--cream);font-weight:400;}
.eq{background:var(--surface);border-left:3px solid var(--terra);padding:0.9rem 1.1rem;margin:0.9rem 0;font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--cream-dim);line-height:2.1;}
.eq span{color:var(--terra);}
.hbox{background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--amber);padding:0.9rem 1.1rem;margin-top:0.9rem;}
.hbox p{font-size:0.83rem;color:var(--cream-dim);font-style:italic;margin:0;}
.hlabel{font-family:'IBM Plex Mono',monospace;font-size:0.56rem;letter-spacing:0.12em;color:var(--amber);text-transform:uppercase;margin-bottom:5px;}
.about-box{background:var(--surface);border-top:1px solid var(--border);padding:2.5rem 4rem;}
.about-box h2{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--cream);margin-bottom:0.7rem;}
.about-box h2 em{font-style:italic;color:var(--cream-dim);}
.about-box p{font-size:0.88rem;color:var(--cream-dim);max-width:600px;line-height:1.8;}
.about-box a{color:var(--terra);text-decoration:none;}
.about-box a:hover{text-decoration:underline;}
@media(max-width:750px){
  header,main,footer,.about-box{padding-left:1.25rem;padding-right:1.25rem;}
  .sim-layout,.ctrls,.state-row,.metrics,.cnote{grid-template-columns:1fr;}
  .header-top{flex-direction:column;gap:0.5rem;}
}

.lorenz-sim{--shell-bg:var(--bg);--shell-surface:var(--surface);--shell-border:var(--border);--shell-text:var(--cream);--shell-muted:var(--cream-dim);--shell-soft:var(--cream-muted);--shell-accent:var(--terra);--shell-body-font:'Source Serif 4',Georgia,serif;--shell-display-font:'Playfair Display',Georgia,serif;--shell-mono-font:'IBM Plex Mono',monospace;}
.sim-shell__nav .site-link{white-space:nowrap;}
