:root{color-scheme:dark;--bg:#11171e;--panel:#222b35;--line:#36424f;--text:#edf2f8;--muted:#a7b3c1;--blue:#65b4ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Segoe UI',sans-serif}button,input,select{font:inherit}button{color:inherit;border:1px solid var(--line);background:#28333f;border-radius:5px;padding:11px 16px;cursor:pointer;transition:background .15s}button:hover{background:#37495d}button.active{background:#294966;border-color:var(--blue);box-shadow:inset 0 -2px var(--blue)}button:focus-visible,input:focus-visible,.stage:focus-visible{outline:2px solid var(--blue);outline-offset:3px}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#29323c,#1b222b);gap:20px}.brand{font-size:26px;font-weight:700;color:inherit;text-decoration:none;white-space:nowrap}.brand span{color:#b9c5d3;font-weight:400}nav,.header-actions{display:flex;gap:8px;align-items:center}.model-name{color:var(--muted);margin-right:12px}main{display:grid;grid-template-columns:88px minmax(0,1fr) 326px;min-height:540px;height:calc(100dvh - 210px)}.tools{display:flex;flex-direction:column;gap:14px;align-items:center;padding:22px 8px;border-right:1px solid var(--line);background:#1a222b}.tools button{width:70px;padding:8px 2px;font-size:11px;border-color:transparent;background:transparent}.tools button.active{background:#2c4054;border-color:#40566a}.tools b{display:block;font-size:30px;font-weight:400;margin-bottom:5px}.stage{position:relative;overflow:hidden;border-right:1px solid var(--line);background:#10161c;touch-action:none}a-scene{width:100%;height:100%}.stage-heading{position:absolute;top:25px;left:28px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#98adbf}h1{font-size:25px;margin:7px 0 12px;font-weight:500}.badge{font-size:11px;background:#26394b;border:1px solid #40576c;padding:5px 9px;border-radius:3px;color:#bedbfa}#status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#202b37ed;padding:18px;border:1px solid var(--line);max-width:80%;text-align:center}#status:empty{display:none}.stage-help{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#9aabbc;font-size:11px;white-space:nowrap;pointer-events:none}.axis{position:absolute;bottom:40px;left:30px;width:70px;height:60px;font-family:monospace;font-size:13px}.axis span{position:absolute}.axis-y{color:#75cc98;left:20px;top:0}.axis-z{color:#70aefa;left:0;bottom:0}.axis-x{color:#f27b79;right:0;bottom:0}#point-label{position:absolute;background:#17222eea;border:1px solid #8bc6ff;border-radius:4px;padding:6px 10px;pointer-events:none}.inspector{padding:16px;background:#182029;overflow:auto}.inspector section{padding:17px 6px;border-bottom:1px solid var(--line)}.inspector section:first-child{padding-top:0}.inspector section:last-child{border:0}h2{font-size:15px;font-weight:500;margin:0 0 16px}.section-title{display:flex;justify-content:space-between;align-items:center}.live-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;margin-bottom:16px}.selection-preview{background:radial-gradient(ellipse at center,#304252,#1c2732);border:1px solid #3b4b5b;min-height:130px;text-align:center;padding:16px 8px}.selection-preview span{font-size:36px;color:#79bfff}.selection-preview p{margin:8px 0}.selection-preview small{font:10px Consolas,monospace;color:var(--muted)}dl{margin:16px 0 0}.readings div{display:flex;justify-content:space-between;gap:8px;margin:10px 0}.readings dt{color:var(--muted)}.readings dd{margin:0;font:13px Consolas,monospace}.gradient{height:16px;border:1px solid #718293;border-radius:3px;background:linear-gradient(90deg,#183ce5,#00bcfa,#48dda0,#e8e13e,#ff9b24,#cf222b)}.legend{display:flex;justify-content:space-between;margin:9px 0 18px;color:var(--muted);font:12px Consolas,monospace}.field{display:flex;justify-content:space-between;align-items:center;gap:10px}.field select{background:#111b25;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:6px}.field input{width:78px;background:#111b25;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:7px}.muted{font-size:11px;color:var(--muted);line-height:1.6}.wide{width:100%;margin-top:5px}.metadata{display:grid;grid-template-columns:105px 1fr;gap:11px;font-size:12px}.metadata dt{color:var(--muted)}.metadata dd{margin:0;overflow-wrap:anywhere}footer{min-height:134px;border-top:1px solid var(--line);background:linear-gradient(110deg,#242e39,#1b242d);display:grid;grid-template-columns:1.2fr 1fr;padding:22px 26px;gap:35px}.button-group{display:flex;gap:10px}.timeline{border-left:1px solid var(--line);padding-left:28px}.timeline h2{display:flex;justify-content:space-between}.timeline h2 span{font-size:12px;color:var(--muted)}.timeline>div{display:flex;align-items:center;gap:20px}.timeline input{flex:1;min-width:40px;accent-color:var(--blue)}output{font:13px Consolas,monospace;white-space:nowrap}dialog{max-width:500px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:28px;line-height:1.7}dialog::backdrop{background:#0009}@media(max-width:1100px){header{height:auto;min-height:76px;flex-wrap:wrap;padding:14px 18px}.brand{font-size:22px}.model-name{display:none}main{grid-template-columns:75px minmax(0,1fr) 280px;height:650px}.tools button{width:60px}.button-group button{padding:10px;font-size:12px}}@media(max-width:760px){header{gap:12px}nav{order:3;width:100%}nav button{flex:1;font-size:12px}.header-actions button{padding:8px;font-size:11px}main{grid-template-columns:60px minmax(0,1fr);height:auto;min-height:0}.tools{padding:14px 3px;gap:8px}.tools button{width:52px;font-size:10px}.stage{height:520px}.stage-heading{left:18px;top:18px}.stage-help{font-size:9px}.inspector{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px}.inspector section{padding:10px 0}.inspector section:last-child{grid-column:1/-1}footer{grid-template-columns:1fr;padding:20px;gap:24px}.timeline{border:0;padding:0}.button-group{flex-wrap:wrap}.metadata{grid-template-columns:130px 1fr}}@media(prefers-reduced-motion:reduce){button{transition:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
