/* The lab bench sits beside the original simulation, or in its mobile sheet. */
:root{--panel:rgba(12,23,36,.94);--stroke:rgba(133,180,203,.19);--stroke2:rgba(133,202,216,.38);--txt:#e7f1f7;--dim:#99abc0;--accent:#7cdad9;--accent2:#eac397}
#app>header{min-height:68px;background:linear-gradient(110deg,#0c1925,#0a1120);box-shadow:0 4px 28px #0004}
.brand{align-items:center;gap:10px;flex-shrink:0}
.brand-orbit{width:36px;height:36px;fill:none;stroke:var(--accent);stroke-width:1.1}
.brand-orbit circle{fill:var(--accent2);stroke:none}
.brand>div{display:flex;flex-direction:column;gap:1px}
.brand b{font-size:18px;letter-spacing:.25em;background:none;color:#eff8fc}
.brand span{font-size:10px;letter-spacing:.035em;color:#8da7bc}
nav{background:#040b1480;padding:4px;border:1px solid var(--stroke);border-radius:12px}
nav button{min-height:40px;padding:7px 12px;font-weight:550;letter-spacing:.015em}
nav button small{font:10px var(--mono);color:var(--accent);margin-right:5px;opacity:.8}
nav button.on{background:#17313e;border-color:#5b989e;box-shadow:inset 0 1px #c2ffff14;color:#f0ffff}
aside{width:306px;border-radius:16px;border-color:#344959}
.ptitle{background:linear-gradient(90deg,#142838,#102131);min-height:62px;padding:12px 16px}
.panel-eyebrow{display:block;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:5px}
.ptitle h2{font-size:13px;letter-spacing:.025em;text-transform:none;color:#e6f2f6;font-weight:600}
.pbody{padding:14px 15px 20px;gap:18px}
.grp>.lbl{color:#8da7bc;font-size:10px}
.note{color:#91a6bc;line-height:1.65}
.note b{color:#d0dfe9}
.slider .cap,.chk{color:#b6c8d8}
.btn,.seg button,.chips button{transition:background .16s,border-color .16s,color .16s}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.hi{background:#1c424d;border-color:#497984}
#hud{background:linear-gradient(145deg,#101f2eef,#0a1323eb);border-color:#344959;border-radius:12px}
#hud .k{color:#92a7bc}#hud h3{color:#b8ccda;letter-spacing:.09em}
#tip{color:#adbdcf;background:#0a1421ed}
#tools .tool{border-color:#344959;background:#112231}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.experiment-card{padding:16px;border:1px solid #436d73;border-radius:12px;background:radial-gradient(ellipse at 100% 0,#24545a80,transparent 70%),linear-gradient(145deg,#142a37,#10202f);box-shadow:inset 0 1px #bcffff12}
.bench-kicker{display:flex;justify-content:space-between;gap:8px;font:9px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#9bc9d0;margin-bottom:12px}
.bench-kicker>span:last-child{color:#e9c799;white-space:nowrap}
.bench-select{width:100%;min-height:44px;border:1px solid #426171;border-radius:7px;background:#0c1c2a;color:#d3e3ee;font:12px var(--sans);padding:8px 9px;cursor:pointer}
.bench-select option{background:#102131;color:#e7f1f7}
.experiment-card h3{font-size:23px;letter-spacing:-.045em;line-height:1.08;font-weight:600;margin:15px 0 9px;color:#f0f8fa}
.experiment-card>p{font-size:12px;line-height:1.6;color:#adc3d3}
.experiment-launch{display:flex;justify-content:space-between;align-items:center;min-height:44px;margin-top:16px;background:#bdeceb;border-color:#bdeceb;color:#10303a;font-size:12px;font-weight:700;box-shadow:0 3px 18px #7bdad911}
.experiment-launch:hover{background:#d8ffff;border-color:#efffff}
.experiment-launch>span{font-size:18px}
.watch-note{margin-top:16px;padding-left:10px;border-left:2px solid #d4b07e}
.watch-note>b{font:9px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#eac397}
.watch-note p{font-size:11.5px;line-height:1.6;margin-top:5px;color:#c4d4df}
.bench-readouts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid #9dbfd52b}
.bench-readouts span{display:block;font-size:9px;letter-spacing:.03em;color:#96afc3}
.bench-readouts strong{display:block;font:500 16px var(--mono);margin-top:5px;color:#bdeceb;overflow-wrap:anywhere}
.experiment-card .bench-status{font-size:11px;margin-top:10px;color:#e5cfab}
.bench-status:empty{display:none}
.scene-shelf{border:1px solid #344959;border-radius:11px;background:#0a1623}
.scene-shelf summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 13px;min-height:44px;cursor:pointer;list-style:none;font-size:12px;color:#d9e7f0}
.scene-shelf summary::-webkit-details-marker{display:none}
.scene-shelf summary small{margin-left:5px;font:10px var(--mono);color:var(--dim)}
.scene-shelf[open] summary{border-bottom:1px solid var(--stroke)}
.shelf-body{padding:13px;display:grid;gap:12px}
.shelf-body p{font-size:11px;line-height:1.5;color:#a0b4c8}
.shelf-body label{display:block;font-size:10px;color:#bdcedc;margin-bottom:6px}
.save-row{display:flex;gap:6px}
.save-row input{min-width:0;width:100%;min-height:44px;border:1px solid #3a5366;background:#101f30;border-radius:7px;padding:8px;color:#eff6fa;font:12px var(--sans);user-select:text;-webkit-user-select:text}
.save-row>.btn{width:auto;min-width:52px;min-height:44px}
#sceneList{list-style:none;display:grid;gap:8px}
.shelf-empty{font-size:11px;color:#91a8be;padding:4px 0}
.saved-scene{padding:10px;border:1px solid #324857;border-radius:8px;background:#132433}
.saved-scene b{display:block;font-size:12px;overflow-wrap:anywhere;color:#d8eaf4;font-weight:550}
.saved-scene small{display:block;font:9px var(--mono);color:#95afc1;margin:5px 0 9px}
.saved-scene .btn{min-height:44px;font-size:11px}
.saved-scene .remove-setup{width:auto;color:#c2abb2}
.shelf-body .shelf-scope{font-size:10px;color:#889fb4;border-top:1px solid var(--stroke);padding-top:10px}
summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(min-width:781px) and (max-width:1099px){.brand-orbit{width:27px;height:27px}.brand{gap:7px}.brand b{font-size:15px}#cm-back{left:146px!important}}
@media(max-width:780px),(max-width:900px) and (max-height:520px){
  #app>header{min-height:0;gap:6px}
  .brand{min-height:40px}.brand b{font-size:17px}.brand-orbit{width:31px;height:31px}
  nav{padding:3px;border-radius:10px;gap:2px}
  nav button{min-height:44px;font-size:11.5px;padding:6px 4px}
  nav button small{font-size:9px;margin-right:3px}
  aside{width:100%;border-radius:18px 18px 0 0}
  .ptitle{min-height:60px;padding:13px 16px 10px}
  .pbody{padding:14px 16px 22px;gap:16px}
  .experiment-card{padding:16px}
  .experiment-card h3{font-size:25px;max-width:24ch}
  .bench-select,.save-row input{font-size:16px}
  .experiment-card>p,.watch-note p{font-size:13px}
  .bench-readouts strong{font-size:19px}
  #tip{bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){nav button small{display:none}.brand-orbit{width:27px;height:27px}.brand b{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
