:root{
  --bg:#0e1116; --panel:#161b22; --panel2:#1c2230; --line:#2a3140;
  --text:#e6edf3; --muted:#8b949e; --accent:#3b82f6; --accent2:#f59e0b;
}
*{box-sizing:border-box}
/* --- page chrome: STANDALONE only (scoped so it can't touch a WP theme) --- */
html body.dyno-page{margin:0}
body.dyno-page{
  min-height:100%; background:var(--bg); color:var(--text);
  font:14px/1.4 system-ui,Segoe UI,Roboto,sans-serif;
  display:flex; flex-direction:column;
}
.dyno-page header{
  display:flex; align-items:center; gap:24px;
  padding:12px 20px; background:var(--panel); border-bottom:1px solid var(--line);
}
.dyno-page main{flex:1; display:flex; min-height:0}
/* --- WordPress embed layout (shortcode wrapper) --- */
.dyno-embed{color:var(--text); font:14px/1.4 system-ui,Segoe UI,Roboto,sans-serif}
.dyno-embed .search{max-width:520px; margin:0 0 10px}
.dyno-embed .dyno-main{
  display:flex; height:72vh; min-height:440px; background:var(--bg);
  border:1px solid var(--line); border-radius:10px; overflow:hidden;
}
@media(max-width:760px){ .dyno-embed .dyno-main{flex-direction:column; height:auto} }

h1{font-size:18px; margin:0; white-space:nowrap}
h2{font-size:12px; text-transform:uppercase; letter-spacing:.05em;
   color:var(--muted); margin:16px 12px 6px}
.search{flex:1; max-width:520px}
#q{
  width:100%; padding:9px 12px; border-radius:8px; border:1px solid var(--line);
  background:var(--panel2); color:var(--text); font-size:15px;
}
#sidebar{
  width:320px; flex:none; background:var(--panel);
  border-right:1px solid var(--line); overflow-y:auto;
}
.list{list-style:none; margin:0; padding:0}
.list li{
  padding:9px 12px; border-bottom:1px solid var(--line); cursor:pointer;
}
.list li:hover{background:var(--panel2)}
.list li.active{background:#243044}
.rego{font-weight:600}
.sub{color:var(--muted); font-size:12px}
.runrow{display:flex; justify-content:space-between; align-items:center; gap:8px}
.runrow.selected{background:#1f2d1f}
.pill{font-size:11px; color:var(--muted)}
.pk{color:var(--accent2); font-weight:600; white-space:nowrap}
.partial{color:#f59e0b; font-size:11px; font-weight:600; white-space:nowrap}
.brand{font-size:10px; color:var(--muted); border:1px solid var(--line); border-radius:8px; padding:0 6px; white-space:nowrap}
.nocurve{opacity:.5}
#viewer{flex:1; display:flex; flex-direction:column; min-width:0; padding:12px 16px}
.controls{
  display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center;
  padding:8px 10px; background:var(--panel); border:1px solid var(--line);
  border-radius:8px;
}
.controls label{display:flex; gap:6px; align-items:center; color:var(--muted); font-size:12px}
.controls select,.num{
  background:var(--panel2); color:var(--text); border:1px solid var(--line);
  border-radius:6px; padding:5px 7px;
}
.num{width:64px}
.controls .chk{color:var(--text)}
.rangewrap{display:flex; gap:4px; align-items:center; color:var(--muted); font-size:12px}
button{
  background:var(--accent); color:#fff; border:0; border-radius:6px;
  padding:6px 12px; cursor:pointer; font-size:13px;
}
button:hover{filter:brightness(1.1)}
button:disabled{opacity:.4; cursor:default; filter:none}
button.ghost{background:var(--panel2); color:var(--text); border:1px solid var(--line)}
button.ghost:hover{background:var(--line)}
#printArea{display:none}
@media print{
  body>*{display:none !important}
  #printArea{display:block !important}
  #printImg{width:100%; height:auto}
}
#chartWrap{position:relative; flex:1; min-height:280px; margin-top:12px;
  background:var(--panel); border:1px solid var(--line); border-radius:8px}
#chart{width:100%; height:100%; display:block}
.empty{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--muted); text-align:center; padding:20px;
}
.legend{display:flex; flex-wrap:wrap; gap:14px; padding:10px 2px 2px}
.legend .item{display:flex; align-items:center; gap:7px; font-size:13px}
.legend .swatch{width:14px; height:3px; border-radius:2px}
.legend .peaks{color:var(--muted); font-size:12px}
.note{color:var(--muted); font-size:11px; margin-top:4px}
.atmos{color:var(--muted); font-size:12px; margin-top:6px}
.atmos b{color:var(--text); font-weight:600}
@media (max-width:760px){
  #sidebar{width:200px}
  .dyno-page main{flex-direction:column}
}
