:root{
  color-scheme:dark;--bg:#080f19;--panel:#0b1420;--line:#203143;--line-soft:#192736;
  --text:#ebf4f7;--muted:#8a9cad;--soft:#526b7d;--cyan:#7ce8e5;--cyan-dark:#16383f;
  --amber:#e6a66c;--radius:12px;font-family:Inter,"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none;-webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text)}
body{overflow:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.4;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.app{display:grid;grid-template-columns:318px minmax(0,1fr) 284px;grid-template-rows:70px minmax(0,1fr);grid-template-areas:"head head head" "controls stage monitor";height:100dvh;min-height:580px;overflow:hidden}
.topbar{grid-area:head;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 23px 0 22px;background:#0b1420;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px;min-width:230px}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #2a4653;border-radius:11px;color:#d9e9ec;background:linear-gradient(145deg,#173344,#0a1824)}
.brand-mark svg{width:29px;height:29px}
.brand-copy{display:flex;flex-direction:column;gap:3px}
.brand-copy strong{font-size:17px;letter-spacing:.08em;font-weight:800;line-height:1}
.brand-copy strong span{font-weight:400;color:var(--cyan)}
.brand-copy small{font-size:9px;font-weight:650;letter-spacing:.16em;color:#768c9d}
.header-center{font-size:10px;letter-spacing:.15em;color:#8496a5;display:flex;align-items:center;justify-content:center;gap:11px;white-space:nowrap}
.header-sep{color:#425568}.version{color:#5c7488;margin-left:12px}.status-led,.live-indicator i,.pulse-indicator{width:7px;height:7px;display:inline-block;flex:none;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px #75ece86b}
.header-actions{display:flex;align-items:center;gap:14px}
.fps-badge{font-size:11px;letter-spacing:.1em;color:#b0dcd8;border:1px solid #244450;border-radius:6px;padding:7px 9px;white-space:nowrap}
.icon-button{width:34px;height:34px;border:1px solid #294050;background:#12212f;color:#9eb4c1;border-radius:8px;display:grid;place-items:center}
.icon-button svg{width:19px;height:19px}.icon-button:hover{border-color:#5f9b9e;color:#fff}
.sidebar{background:var(--panel);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2a3f50 transparent}
.controls-panel{grid-area:controls;border-right:1px solid var(--line);padding:26px 23px 20px}
.telemetry-panel{grid-area:monitor;border-left:1px solid var(--line);padding:26px 20px 18px;display:flex;flex-direction:column}
.panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.eyebrow{font-size:9px;letter-spacing:.19em;font-weight:780;color:var(--cyan);text-transform:uppercase}
h1,h2,p{margin:0}
h2{font-size:19px;font-weight:740;letter-spacing:-.04em;margin-top:6px;line-height:1.4}
.counter{font-size:10px;letter-spacing:.15em;color:#758a9c;border:1px solid var(--line);padding:5px 7px;border-radius:4px;white-space:nowrap}
.muted{color:var(--muted)}
.panel-lead{font-size:12px;line-height:1.7;margin:10px 0 19px;word-break:keep-all}
.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.model-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;min-height:111px;padding:13px 12px;border-radius:9px;border:1px solid #203141;background:linear-gradient(125deg,#111e2d,#0b1725);color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.model-card:hover{border-color:#417481;background:#122635;transform:translateY(-1px)}
.model-card.active{border-color:#68b9bb;background:linear-gradient(130deg,#153a42,#101d2a);box-shadow:inset 0 0 0 1px #316e7633}
.model-index{position:absolute;top:11px;right:11px;color:#587080;font-size:10px;letter-spacing:.08em}
.model-card.active .model-index{color:#89ced1}
.model-symbol{display:grid;place-items:center;width:25px;height:25px;border:1px solid #345262;border-radius:5px;font-size:11px;font-weight:800;color:#8ebdca;margin-bottom:3px}
.model-card.active .model-symbol{color:#dcffff;border-color:#5ca9ac;background:#224b55}
.model-card strong{font-size:13px;font-weight:750;letter-spacing:-.02em;line-height:1.3}
.model-card small{font-size:9px;letter-spacing:.085em;color:#8296a5}
.section-divider{height:1px;background:var(--line);margin:26px 0 23px}
.tiny-pill{font-size:9px;color:#b5c0ce;border:1px solid #304356;border-radius:4px;padding:5px 8px;letter-spacing:.11em}
.tiny-pill.running{border-color:#4ea1a3;color:var(--cyan);background:#15383a}
.sequence-preview{display:flex;align-items:center;gap:11px;padding:13px 12px;margin:16px 0 12px;border:1px solid #284155;border-radius:9px;background:#111e2c}
.sequence-icon{display:flex;align-items:end;justify-content:center;gap:3px;width:35px;height:32px;border-right:1px solid #395064;padding-right:11px}
.sequence-icon span{display:block;width:4px;background:#7cd9d8;border-radius:2px;height:18px}
.sequence-icon span:nth-child(2){height:28px;opacity:.85}.sequence-icon span:nth-child(3){height:12px;opacity:.65}
.sequence-preview div:last-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.sequence-preview small{font-size:9px;color:#8da1af;letter-spacing:.15em}
.sequence-preview strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sequence-preview strong span{font-size:10px;color:#91aab7;font-weight:550}
.action-grid{display:grid;grid-template-columns:1fr;gap:8px}
.primary-button,.secondary-button{height:42px;width:100%;border-radius:8px;font-weight:770;font-size:13px;transition:filter .15s,transform .15s}
.primary-button:hover,.secondary-button:hover{filter:brightness(1.13);transform:translateY(-1px)}
.primary-button{background:var(--cyan);border:1px solid var(--cyan);color:#071921}
.button-glyph{font-size:19px;line-height:1;margin-right:9px}
.secondary-button{background:#162b38;color:#dceced;border:1px solid #3c6170}
.button-dot{display:inline-block;width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;margin-right:8px}
.secondary-button.playing .button-dot{background:#ffce89;border-color:#ffce89;box-shadow:0 0 9px #ffce89}
.switch-line{display:flex;justify-content:space-between;align-items:center;margin:19px 0 20px;gap:12px;cursor:pointer}
.switch-line>span:first-child{display:flex;flex-direction:column;gap:5px}
.switch-line strong{font-size:12px;font-weight:700}.switch-line small{font-size:11px;color:var(--muted)}
.toggle{position:relative;flex:none;width:37px;height:22px}
.toggle input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;z-index:2}
.track{position:absolute;inset:0;background:#273b49;border:1px solid #526676;border-radius:99px;transition:background .2s}
.track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#9aaaba;transition:transform .2s}
.toggle input:checked+.track{background:#2d8384;border-color:#74c8c9}
.toggle input:checked+.track:after{transform:translateX(15px);background:#e6ffff}
.toggle input:focus-visible+.track{outline:2px solid var(--cyan);outline-offset:3px}
.range-block{margin-top:20px}
.range-label,.range-ends{display:flex;align-items:center;justify-content:space-between;gap:12px}
.range-label{margin-bottom:12px;font-size:12px;color:#d4e3e9}
.range-label output{font-size:11px;color:var(--cyan);font-weight:750;font-variant-numeric:tabular-nums}
input[type=range]{width:100%;height:4px;appearance:none;-webkit-appearance:none;background:#315060;border-radius:100px;margin:0;cursor:pointer}
input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;background:#c9f7f3;border:3px solid #2d6e78;border-radius:50%;box-shadow:0 0 0 3px #213a46}
input[type=range]::-moz-range-thumb{width:10px;height:10px;background:#c9f7f3;border:3px solid #2d6e78;border-radius:50%}
.range-ends{margin-top:11px;color:#6b8496;font-size:10px}
.field-label{display:block;font-size:12px;margin:18px 0 10px}
select{height:40px;width:100%;border:1px solid #355064;border-radius:7px;background:#122333;color:#dceaf0;padding:0 12px;font-size:12px;outline:none}
.panel-bottom{display:flex;gap:8px;margin-top:22px}
.text-button{flex:1;height:34px;border:1px solid #2c4251;border-radius:7px;color:#a9bccb;background:#111e2d;font-size:11px}
.text-button:hover{color:white;border-color:#698797}.text-button.danger{color:#dfa98b}
.stage{grid-area:stage;position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 55% 34%,#19354b 0%,#0d1e2d 42%,#070e19 100%)}
.stage:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;box-shadow:inset 0 0 115px #050a16b8}
.stage canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}
.stage-top{z-index:2;position:absolute;top:0;left:0;right:0;padding:28px 31px;display:flex;justify-content:space-between;gap:20px;pointer-events:none}
.stage-caption h1{font-size:clamp(24px,2.35vw,39px);font-weight:780;letter-spacing:-.05em;line-height:1.16;max-width:460px;margin:11px 0 8px;text-shadow:0 2px 20px #06111bbd}
.stage-caption h1 em{font-weight:360;font-style:normal;color:#b4d2d9}
.stage-caption p{font-size:11px;color:#a1b8c5;letter-spacing:.015em}
.scene-tag{display:flex;align-items:center;gap:9px;color:#b5d5d8;border:1px solid #4264758a;background:#102534aa;border-radius:5px;font-size:9px;font-weight:750;letter-spacing:.13em;padding:10px 12px;white-space:nowrap;height:max-content}
.pulse-indicator{animation:blink 2s infinite}@keyframes blink{50%{opacity:.3}}
.stage-crosshair{pointer-events:none;position:absolute;left:50%;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);opacity:.36}
.stage-crosshair i{position:absolute;background:#bddbe2}.stage-crosshair i:first-child{width:1px;height:26px;left:12px}.stage-crosshair i:last-child{height:1px;width:26px;top:12px}
.stage-bottom{z-index:2;position:absolute;bottom:26px;left:31px;right:31px;display:flex;align-items:end;justify-content:space-between;gap:20px;pointer-events:none}
.view-toggle{display:flex;align-items:center;border:1px solid #3c6073;background:#0b1825b8;border-radius:8px;padding:4px;gap:4px;pointer-events:auto}
.view-button{background:transparent;color:#9bb6c6;border:0;border-radius:5px;padding:10px;font-size:9px;letter-spacing:.06em;font-weight:760}
.view-button.active{background:#39727d;color:#ecffff}
.view-button:hover:not(.active){background:#1c3a49}
.stage-hint{font-size:10px;letter-spacing:.01em;color:#b0bfca;text-align:right;text-shadow:0 1px 12px #050e1b}.stage-hint span{color:#6f9aa5;margin:0 3px}
.stage-watermark{position:absolute;pointer-events:none;right:31px;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:right center;color:#577286b0;letter-spacing:.35em;font-size:9px;font-weight:750}
.stage-watermark span{color:var(--cyan)}
.webgl-error{position:absolute;z-index:5;top:47%;left:50%;transform:translate(-50%,-50%);width:min(400px,85%);padding:22px;background:#172c39;color:#f3f8fb;border:1px solid #648f9b;border-radius:10px;text-align:center;line-height:1.8;font-size:14px}
.webgl-error[hidden]{display:none}
.live-indicator{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.08em;color:var(--cyan)}
.live-indicator i{width:6px;height:6px}
.telemetry-hero{margin:21px 0 15px;padding:23px 17px 17px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;border:1px solid #274555;background:linear-gradient(140deg,#153541,#101c2b 70%);border-radius:10px}
.telemetry-hero strong{font-size:47px;line-height:1.15;font-weight:690;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.telemetry-hero .muted{font-size:11px}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.metric{display:flex;flex-direction:column;gap:7px;min-height:111px;padding:12px 11px;border:1px solid #22384b;border-radius:8px;background:#111f2e}
.metric small{font-size:9px;color:#8ab0bb;letter-spacing:.09em;white-space:nowrap}
.metric strong{font-size:23px;font-weight:680;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.metric span{font-size:10px;color:#7e96a5}
.subtle-button{border:1px solid #263e50;border-radius:4px;color:#829eac;background:transparent;padding:6px 7px;font-size:9px;letter-spacing:.1em}
.subtle-button:hover{color:#fff;border-color:#698f9b}
.event-log{padding:0;margin:14px 0 0;list-style:none;flex:1;min-height:180px}
.event-log li{display:flex;gap:9px;align-items:baseline;border-bottom:1px solid #1b2d3d;padding:10px 0;font-size:11px;line-height:1.6;color:#b9ccd5;word-break:keep-all}
.event-log time{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;flex:none;color:#6f92a3;font-size:10px}
.info-note{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:13px;border:1px solid #36515c;border-radius:8px;background:#182a33}
.info-icon{width:17px;height:17px;flex:none;display:grid;place-items:center;border:1px solid #93b2c1;border-radius:50%;color:#d0edf3;font-size:11px;font-weight:800}
.info-note p{font-size:10px;line-height:1.7;color:#a5bfca;word-break:keep-all}
.sidebar-credit{margin-top:20px;color:#6e8a9b;font-size:9px;letter-spacing:.13em;font-weight:650}
.sidebar-credit span{color:var(--cyan)}
@media(max-width:1350px){.app{grid-template-columns:280px minmax(0,1fr) 258px}.controls-panel{padding:23px 16px}.telemetry-panel{padding:23px 15px}.stage-top{padding:23px}.stage-bottom{left:23px;right:23px}.scene-tag{display:none}.header-center{font-size:9px}}
@media(max-width:1050px){body{overflow:auto}.app{height:auto;min-height:100dvh;overflow:visible;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:65px minmax(480px,65vh) auto;grid-template-areas:"head head" "stage stage" "controls monitor"}.header-center{display:none}.sidebar{overflow:visible}.controls-panel{border-top:1px solid var(--line)}.telemetry-panel{border-top:1px solid var(--line)}.stage-top{padding:26px 30px}.stage-bottom{left:30px;right:30px}.panel-bottom{margin-bottom:20px}}
@media(max-width:620px){.app{display:flex;flex-direction:column;min-height:100dvh}.topbar{height:62px;min-height:62px;padding:0 15px}.brand{min-width:0}.brand-mark{width:37px;height:37px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:8px}.fps-badge{font-size:10px}.stage{flex:none;height:60vh;min-height:380px;max-height:630px}.stage-top{padding:19px 18px}.stage-caption h1{font-size:28px;margin:8px 0 6px}.stage-caption p{max-width:260px;font-size:10px;line-height:1.5}.stage-bottom{left:15px;right:15px;bottom:16px;display:block}.view-toggle{width:max-content}.view-button{font-size:9px;padding:9px 8px}.stage-hint{margin-top:9px;text-align:left;font-size:9px}.stage-watermark{display:none}.controls-panel,.telemetry-panel{border-left:0;border-right:0;padding:24px 19px;min-width:0}.model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.model-card{padding:10px 9px;min-height:106px}.model-card small{font-size:8px}.metric{min-height:95px}.event-log{min-height:0}}
@media(max-width:365px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-copy small{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}


/* v1.1 — Abstract structure effects and accessible theme controls */
.theme-button{display:flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 10px;border:1px solid #31505f;background:#132633;color:#c3e7e9;border-radius:8px;font-size:10px;font-weight:800;letter-spacing:.09em;white-space:nowrap}
.theme-button svg{width:17px;height:17px;flex:none}
.theme-button:hover{border-color:#70b8ba;color:#f0ffff}
.mode-section{margin-top:0}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}
.mode-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;gap:4px;min-width:0;min-height:61px;padding:10px 11px;border-radius:8px;border:1px solid #2a4351;background:#112231;color:#e4f1f4;transition:border-color .16s,background .16s}
.mode-card strong{font-size:12px;font-weight:750}
.mode-card small{font-size:8px;letter-spacing:.045em;color:#89a5b5}
.mode-card:hover{border-color:#58949c;background:#1a3543}
.mode-card.active{border-color:#7de4e1;background:#17424b;box-shadow:inset 0 0 0 1px #4e8e9436}
.mode-card.active small{color:#b4e3e8}
.structure-controls{margin-top:15px;border:1px solid #315361;border-radius:9px;background:#10252f;padding:12px}
.structure-controls[hidden]{display:none!important}
.target-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:11px}
.target-heading span{font-size:12px;font-weight:730}
.target-heading small{font-size:10px;color:#8dabba}
.target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.target-chip{min-width:0;padding:9px 3px;border:1px solid #355465;border-radius:6px;background:#172f3b;color:#a4bdc8;font-size:10px;white-space:nowrap;font-weight:700}
.target-chip:hover{border-color:#8abec1}
.target-chip.active{color:#051b23;background:#85dedc;border-color:#85dedc}
.restore-button{display:block;width:100%;margin-top:10px;padding:9px 8px;border:1px solid #375662;background:#193340;color:#bbd8e1;border-radius:7px;font-size:11px;font-weight:650}
.restore-button:hover{border-color:#6cb8bf;color:white}
.mode-disclaimer{font-size:10px;color:#8199a6;line-height:1.7;margin-top:12px;word-break:keep-all}

/* The theme uses real palette overrides, not CSS color inversion. */
html[data-theme="light"]{
  color-scheme:light;
  --bg:#eaf0f4;--panel:#fafcfd;--line:#d1dee6;--line-soft:#dae5ea;
  --text:#142c39;--muted:#546c7c;--soft:#557182;--cyan:#006f77;--cyan-dark:#d7f2f3;--amber:#88532b;
}
html[data-theme="light"] body{background:var(--bg);color:var(--text)}
html[data-theme="light"] .topbar{background:#fff;border-color:#d5e3e8}
html[data-theme="light"] .brand-mark{border-color:#aecbd0;background:linear-gradient(145deg,#d9eef0,#f9fdff);color:#1b5966}
html[data-theme="light"] .brand-copy strong span{color:#167a85}
html[data-theme="light"] .brand-copy small,
html[data-theme="light"] .header-center,
html[data-theme="light"] .version{color:#557486}
html[data-theme="light"] .header-sep{color:#a9bec9}
html[data-theme="light"] .status-led,
html[data-theme="light"] .live-indicator i{background:#007e83;box-shadow:0 0 9px #60a9a7a0}
html[data-theme="light"] .fps-badge{color:#165c64;border-color:#bdd5dd;background:#ecf8f8}
html[data-theme="light"] .icon-button,
html[data-theme="light"] .theme-button{background:#e9f3f5;border-color:#bfd2da;color:#315d70}
html[data-theme="light"] .icon-button:hover,
html[data-theme="light"] .theme-button:hover{background:#d8f0f0;border-color:#588995;color:#063a43}
html[data-theme="light"] .sidebar{background:#f9fbfd}
html[data-theme="light"] .eyebrow{color:#097985}
html[data-theme="light"] .counter,
html[data-theme="light"] .tiny-pill{color:#446777;border-color:#cbdce5}
html[data-theme="light"] .tiny-pill.running{background:#d4eeed;color:#145d61;border-color:#7caeb0}
html[data-theme="light"] .model-card{background:linear-gradient(125deg,#fff,#ecf3f8);border-color:#cddde5;color:#193745}
html[data-theme="light"] .model-card:hover{border-color:#87bbc4;background:#eaf6f8}
html[data-theme="light"] .model-card.active{background:linear-gradient(125deg,#d2eeed,#e5f8f7);border-color:#278692;box-shadow:inset 0 0 0 1px #88cbd050}
html[data-theme="light"] .model-symbol{border-color:#a3c1c9;color:#247385}
html[data-theme="light"] .model-card.active .model-symbol{background:#9cdad8;color:#114c59;border-color:#3b8c90}
html[data-theme="light"] .model-index,
html[data-theme="light"] .model-card small{color:#567487}
html[data-theme="light"] .section-divider{background:#dbe6ec}
html[data-theme="light"] .mode-card{background:#fff;border-color:#c9dce4;color:#234556}
html[data-theme="light"] .mode-card small{color:#5e7a89}
html[data-theme="light"] .mode-card:hover{background:#eef8fa;border-color:#65aab4}
html[data-theme="light"] .mode-card.active{background:#d7f0ef;border-color:#1d8191;box-shadow:inset 0 0 0 1px #70b8be5a}
html[data-theme="light"] .mode-card.active small{color:#296c78}
html[data-theme="light"] .structure-controls{background:#f0f7f8;border-color:#bdd8de}
html[data-theme="light"] .target-heading small{color:#5b7785}
html[data-theme="light"] .target-chip{background:#fff;color:#376071;border-color:#bfdae0}
html[data-theme="light"] .target-chip.active{background:#146d77;color:#fff;border-color:#146d77}
html[data-theme="light"] .restore-button{background:#e1eef1;color:#235766;border-color:#b4d0d9}
html[data-theme="light"] .restore-button:hover{background:#d0e8ec;color:#174a59}
html[data-theme="light"] .mode-disclaimer{color:#557284}
html[data-theme="light"] .sequence-preview{background:#e9f3f6;border-color:#c9dde5}
html[data-theme="light"] .sequence-preview small{color:#4f7382}
html[data-theme="light"] .sequence-preview strong{color:#173c49}
html[data-theme="light"] .sequence-preview strong span{color:#547c8b}
html[data-theme="light"] .sequence-icon{border-color:#c4d7dc}
html[data-theme="light"] .sequence-icon span{background:#178c94}
html[data-theme="light"] .primary-button{color:#fff;background:#0e7a83;border-color:#0e7a83}
html[data-theme="light"] .secondary-button{background:#e5f2f4;color:#215664;border-color:#a0c8d0}
html[data-theme="light"] .switch-line small{color:#5c7786}
html[data-theme="light"] .track{background:#cddde5;border-color:#95afbc}
html[data-theme="light"] .track:after{background:#fff}
html[data-theme="light"] .toggle input:checked+.track{background:#1c8990;border-color:#217983}
html[data-theme="light"] .range-label{color:#365362}
html[data-theme="light"] .range-label output{color:#0d7b82}
html[data-theme="light"] input[type=range]{background:#bed0d8}
html[data-theme="light"] input[type=range]::-webkit-slider-thumb{background:#fff;border-color:#247f89;box-shadow:0 0 0 3px #d9eff1}
html[data-theme="light"] .range-ends{color:#608091}
html[data-theme="light"] select{background:#fff;border-color:#bed5dc;color:#183d4b}
html[data-theme="light"] .text-button{background:#f0f6f8;color:#426679;border-color:#d1e1e9}
html[data-theme="light"] .text-button:hover{background:#dfeef2;color:#104d5e}
html[data-theme="light"] .text-button.danger{color:#9d512d}
html[data-theme="light"] .stage{background:radial-gradient(ellipse at 52% 34%,#d0edf4,#8db7ca)}
html[data-theme="light"] .stage:before{box-shadow:inset 0 0 110px #7da5b455}
html[data-theme="light"] .stage-caption h1{color:#173b4a;text-shadow:0 2px 24px #dceef5a8}
html[data-theme="light"] .stage-caption h1 em{color:#37677b}
html[data-theme="light"] .stage-caption p{color:#3a6577;text-shadow:0 1px 9px #e4f4f4}
html[data-theme="light"] .scene-tag{background:#e5f5f5dd;border-color:#a9d2d6;color:#2c6470}
html[data-theme="light"] .pulse-indicator{background:#117c89}
html[data-theme="light"] .stage-crosshair i{background:#366e84}
html[data-theme="light"] .view-toggle{background:#eaf7f7e8;border-color:#b0cdd6}
html[data-theme="light"] .view-button{color:#497182}
html[data-theme="light"] .view-button.active{background:#257b8d;color:#fff}
html[data-theme="light"] .view-button:hover:not(.active){background:#cee5eb}
html[data-theme="light"] .stage-hint{color:#346072;text-shadow:0 1px 8px #eaf5f7}
html[data-theme="light"] .stage-watermark{color:#59849488}
html[data-theme="light"] .stage-watermark span{color:#0d7183}
html[data-theme="light"] .telemetry-hero{background:linear-gradient(140deg,#dcf0f3,#f4f9fc);border-color:#b6d6df}
html[data-theme="light"] .telemetry-hero strong{color:#163c4c}
html[data-theme="light"] .metric{background:#fff;border-color:#ccdde6}
html[data-theme="light"] .metric small{color:#477587}
html[data-theme="light"] .metric span{color:#5c7b8b}
html[data-theme="light"] .subtle-button{background:#f1f8fa;border-color:#cbdde5;color:#477080}
html[data-theme="light"] .event-log li{border-color:#e0ebef;color:#345565}
html[data-theme="light"] .event-log time{color:#678997}
html[data-theme="light"] .info-note{background:#eaf3f5;border-color:#cadfe4}
html[data-theme="light"] .info-icon{border-color:#567b88;color:#356678}
html[data-theme="light"] .info-note p{color:#456879}
html[data-theme="light"] .sidebar-credit{color:#638394}
@media(max-width:620px){
  .topbar{gap:5px}
  .theme-button{font-size:0;padding:0;width:34px}
  .theme-button svg{width:19px;height:19px}
  .theme-button span{display:none}
  .header-actions{gap:6px}
  .view-button{padding:9px 6px}
  .view-toggle{max-width:100%}
  .stage-hint{font-size:9px}
}
