/* VOLTERRA / SK–2 — self-contained instrument console styling. */
:root{color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#070e16}
body{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,.vl-part:focus-visible{outline:2px solid #54e9e7;outline-offset:3px}
.volterra-root{--bg:#090f18;--card:#111e2b;--edge:#233749;--ink:#e8f0f5;--dim:#728999;--aqua:#54e9e7;--gold:#f7c981;--red:#f4807e;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;min-height:100vh;background:radial-gradient(ellipse at 75% 0,#123240 0,#090f18 40%,#090f18 100%);color:var(--ink);font-size:14px;line-height:1.5}
.volterra-root *, .volterra-root *::before,.volterra-root *::after{box-sizing:border-box}
.volterra-root ::selection{background:#2a9199;color:#fff}
.vl-shell{margin:auto;max-width:1780px;min-height:100vh;display:flex;flex-direction:column}
.vl-topbar{height:86px;flex:0 0 86px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid #294050;background:#0a1420ed;position:relative;z-index:5}
.vl-brand{display:flex;align-items:center;gap:17px}
.vl-logo{width:47px;height:47px;border:1px solid #3b8388;border-radius:10px;background:radial-gradient(circle at 70% 15%,#1a4b50,#12313d 65%,#0d252f);color:#e9ffff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:23px;letter-spacing:-4px;box-shadow:inset 0 0 0 3px #0d2630,0 0 30px #187b8340}
.vl-logo span{font-size:19px;color:#54e9e7;margin-left:2px;font-weight:500}
.vl-brand-name{font-weight:900;font-size:16px;letter-spacing:3px}
.vl-brand-name span{color:#71c9c9;font-weight:500}
.vl-brand-sub{font-family:var(--mono);color:#668391;font-size:10px;letter-spacing:1.5px;margin-top:3px}
.vl-top-right{display:flex;align-items:center;gap:23px;font-family:var(--mono);font-size:10px;letter-spacing:1px}
.vl-tag{border:1px solid #355369;background:#152634;color:#a1bacb;border-radius:4px;padding:8px 11px}
.vl-top-divider{height:24px;width:1px;background:#365166}
.vl-live{color:#c2e3de;display:flex;align-items:center;gap:9px}
.vl-live i,.vl-led{width:7px;height:7px;display:inline-block;border-radius:50%;background:#50ead0;box-shadow:0 0 12px #50ead0}
.vl-play{background:#1b3b42;border:1px solid #37656c;color:#b0f4ee;border-radius:6px;padding:10px 14px;font-size:11px;letter-spacing:1px;display:flex;gap:8px;align-items:center}
.vl-play:hover{background:#24545a}
.vl-workspace{display:grid;grid-template-columns:306px minmax(0,1fr);flex:1}
.vl-sidebar{background:linear-gradient(160deg,#111f2b 0%,#0c1824 70%);border-right:1px solid #294055;min-width:0;display:flex;flex-direction:column}
.vl-sidebar-head{padding:29px 24px 20px;border-bottom:1px solid #263947}
.vl-kicker{font:10px var(--mono);letter-spacing:2px;color:#58e2dc;font-weight:700}
.vl-sidebar h2{margin:13px 0 8px;font-size:23px;line-height:1.2;font-weight:760;letter-spacing:-.7px}
.vl-sidebar p{font-size:12px;color:#96a9b9;line-height:1.7;margin:0}
.vl-panel-group{padding:24px 23px 15px;border-bottom:1px solid #243949}
.vl-panel-label{display:flex;justify-content:space-between;align-items:center;color:#93afbf;font:10px var(--mono);letter-spacing:1.2px;margin-bottom:22px;font-weight:700}
.vl-label-mark{color:#51bcbb;font-size:9px;letter-spacing:1px}
.vl-control{margin-bottom:21px}
.vl-control-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.vl-control-title label{color:#c4d4de;font-size:12px;white-space:nowrap}
.vl-control-title output{color:#63e8e4;font:12px var(--mono);white-space:nowrap}
.vl-control input[type=range]{width:100%;height:3px;display:block;margin:0;border:0;appearance:none;-webkit-appearance:none;outline:0;background:#355667;border-radius:3px;accent-color:#6fe7e4;cursor:pointer}
.vl-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#7df6ef;border:3px solid #21434e;box-shadow:0 0 0 1px #99eceb,0 0 10px #31c9c391}
.vl-control input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#7df6ef;border:2px solid #21434e;box-shadow:0 0 6px #31c9c391}
.vl-scale{margin-top:10px;display:flex;justify-content:space-between;font:10px var(--mono);color:#5f798b}
.vl-segment{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px;background:#0a1926;border:1px solid #2c4454;border-radius:7px;margin-bottom:23px}
.vl-segment button{font-size:11px;color:#7693a5;background:transparent;border:0;border-radius:4px;padding:9px 0}
.vl-segment button.is-active{color:#0a3031;background:#65dedb;font-weight:750;box-shadow:0 2px 10px #41c4bf35}
.vl-amp{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;color:#c4d4de;font-size:12px}
.vl-amp div{display:flex;align-items:center;gap:6px;font:11px var(--mono);color:#849db0}
.vl-amp input{width:62px;border-radius:4px;border:1px solid #416071;background:#101f2c;color:#71e9e4;text-align:right;padding:7px}
.vl-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vl-preset-grid button{background:#132533;border:1px solid #324a59;color:#c5d8e0;text-align:left;padding:10px;border-radius:6px;font-size:11px;line-height:1.2;transition:.15s background}
.vl-preset-grid button:hover{background:#244253;border-color:#54b9b9}
.vl-preset-grid span{color:#64a5af;display:block;margin-top:5px;font:10px var(--mono)}
.vl-sidebar-foot{display:flex;gap:8px;align-items:center;margin-top:auto;padding:20px 23px 26px;color:#7c9aa9;font:9px var(--mono);letter-spacing:.3px}
.vl-safe-led{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#57dec9;box-shadow:0 0 9px #3cbbac}
.vl-safe-led.vl-danger{background:#f58781;box-shadow:0 0 9px #f58781}
.vl-reset{margin-left:auto;background:none;border:0;color:#9bc2cf;font-size:10px;white-space:nowrap;padding:3px}
.vl-main{min-width:0;padding:31px 33px 0;overflow:hidden}
.vl-section-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}
.vl-section-intro h1{font-size:37px;font-weight:770;letter-spacing:-1.75px;line-height:1.12;margin:11px 0 7px}
.vl-section-intro p{font-size:12px;color:#8da5b5;margin:0;line-height:1.55}
.vl-period{color:var(--aqua)}
.vl-station{font:10px var(--mono);color:#6d8ca1;white-space:nowrap;letter-spacing:1px;border:1px solid #30475a;padding:9px 11px;border-radius:5px}
.vl-station span{color:#70e7e3;margin-left:8px}
.vl-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}
.vl-metric{background:linear-gradient(140deg,#152637,#111e2b);border:1px solid var(--edge);border-radius:8px;padding:18px 17px 15px;min-width:0;position:relative;overflow:hidden}
.vl-metric:after{content:"";position:absolute;width:55px;height:55px;border-radius:50%;background:#38c6c217;right:-26px;top:-30px;filter:blur(6px)}
.vl-metric-title{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.8px;color:#88a7b8;white-space:nowrap}
.vl-metric-title small{font:12px Georgia,serif;color:#77949d}
.vl-metric strong{font:600 27px var(--mono);letter-spacing:-1.5px;color:#e8f3f5;display:block;margin:14px 0 3px}
.vl-metric:first-child strong,.vl-metric:nth-child(2) strong{color:#62ede2}
.vl-metric-note{font:10px var(--mono);color:#6c8b9c;letter-spacing:-.2px;white-space:nowrap}
.vl-two-column{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:15px;margin-bottom:15px}
.vl-panel{border:1px solid #294255;border-radius:9px;background:linear-gradient(150deg,#132330,#101b27);min-width:0;overflow:hidden;position:relative}
.vl-card-header{height:75px;padding:17px 19px 11px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.vl-eyebrow{font:9px var(--mono);color:#48b7ba;letter-spacing:1.35px;font-weight:700}
.vl-card-header h2{font-size:16px;letter-spacing:-.35px;margin:4px 0 0;font-weight:720}
.vl-card-actions{display:flex;gap:5px;align-items:center;padding-top:5px}
.vl-card-actions>button{background:#132635;border:1px solid #365366;color:#97c6d3;border-radius:4px;width:25px;height:25px;font-family:var(--mono);font-size:15px}
.vl-card-actions>button:hover{background:#224759}
.vl-tabset{display:flex;border:1px solid #334e5c;border-radius:4px;padding:2px;margin-right:6px;background:#0c1b28}
.vl-tabset button{padding:6px 10px;font:9px var(--mono);background:none;border:0;color:#7a9dab;letter-spacing:.35px;border-radius:2px}
.vl-tabset button.active{color:#cbfcf5;background:#275360}
.vl-board-viewport{height:295px;position:relative;margin:0 15px;border:1px solid #2f4b56;border-radius:6px;overflow:hidden;background:#101c26;touch-action:none;cursor:grab}
.vl-board-viewport:active{cursor:grabbing}
.vl-board-render{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at center,#23424f 0,#10222e 78%)}
.vl-board-svg{width:100%;height:100%;display:block;object-fit:contain}
.vl-board-corner{position:absolute;bottom:10px;left:12px;display:flex;gap:16px;color:#779da6;letter-spacing:1px;font:8px var(--mono);pointer-events:none;opacity:.85}
.vl-board-corner span{color:#56bfc0}
.vl-part{cursor:pointer;pointer-events:bounding-box;transition:filter .12s ease}
.vl-part:hover,.vl-part.is-selected{filter:drop-shadow(0 0 6px #63eddd)}
.vl-silkscreen{font:14px var(--mono);fill:#b6d6d4;letter-spacing:1px}
.vl-numeric{font:12px var(--mono);fill:#93c4c5}
.vl-board-footer{display:flex;gap:12px;align-items:center;min-height:70px;margin:0 15px;padding:11px 2px}
.vl-inspect-icon{width:33px;height:33px;flex:0 0 33px;border:1px solid #2c5762;border-radius:7px;background:#11343f;color:#4edbd5;font-size:25px;line-height:31px;text-align:center}
.vl-board-footer strong{display:block;color:#c5dde3;font-size:11px}
.vl-board-footer p{color:#7694a3;font-size:10px;line-height:1.4;margin:2px 0 0}
.vl-board-coordinates{margin-left:auto;align-self:flex-start;padding-top:3px;font:10px var(--mono);color:#56d8d0}
.vl-chart-switch{font:9px var(--mono);color:#8eb0bd;display:flex;align-items:center;gap:8px;padding-top:12px;letter-spacing:.6px}
.vl-chart-area{height:317px;padding:4px 10px 0;position:relative}
.vl-chart-area canvas,.vl-scope-wrapper canvas,.vl-pole-plot canvas{width:100%;height:100%;display:block;cursor:crosshair}
.vl-crosshair{position:absolute;right:20px;top:0;font:9px var(--mono);color:#5e8a95;pointer-events:none;display:none}
.vl-bode-footer{height:48px;display:flex;align-items:center;justify-content:flex-start;gap:23px;padding:0 20px;border-top:1px solid #24394a;font:10px var(--mono);color:#91abbb;letter-spacing:.4px}
.vl-swatch{display:inline-block;width:17px;height:2px;margin-right:7px;vertical-align:middle;border-radius:2px}
.vl-aqua{background:var(--aqua);box-shadow:0 0 8px #48ebd7}
.vl-gold{background:var(--gold);box-shadow:0 0 7px #e2aa68}
.vl-white{background:#e8eaf0}
.vl-scope-wrapper{height:224px;padding:0 11px 0}
.vl-scope-footer{height:48px;padding:0 19px;display:flex;gap:16px;justify-content:space-between;align-items:center;color:#88a5b5;border-top:1px solid #24394a;font:9px var(--mono);letter-spacing:.15px}
.vl-scope-footer b{display:block;font-size:10px;color:#d8e7eb;font-weight:500;margin-top:4px}
.vl-scope-footer>span:last-child{align-self:center;color:#648c9b}
.vl-poles-content{height:272px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);padding:0 14px 12px;gap:8px}
.vl-pole-plot{min-width:0;background:linear-gradient(120deg,#10222e,#142635);border:1px solid #253f4f;border-radius:6px;overflow:hidden}
.vl-pole-results{padding:8px 8px 0 10px;display:flex;flex-direction:column;justify-content:space-around;min-width:0}
.vl-pole-results>div small{display:block;font:9px var(--mono);color:#7397a8;letter-spacing:.5px;margin-bottom:3px}
.vl-pole-results strong{font:19px var(--mono);color:#d6e9ee;white-space:nowrap}
.vl-pole-results p{margin:5px 0;color:#68cabb;line-height:1.5;font:10px var(--mono);max-width:180px}
.vl-pole-badge{margin-top:5px;font:10px var(--mono);background:#123b37;color:#5edec9;border:1px solid #28685c;border-radius:4px;padding:6px 9px}
.vl-pole-badge.vl-danger{background:#47242c;border-color:#a65352;color:#ffb3a6}
.vl-app-footer{padding:10px 2px 20px;display:flex;justify-content:space-between;color:#647b8f;letter-spacing:.8px;font:9px var(--mono)}
.vl-app-footer span{color:#3caab2;margin:0 5px}
@media(max-width:1260px){.vl-main{padding:25px 20px 0}.vl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.vl-two-column{grid-template-columns:1fr}.vl-board-viewport{height:380px}.vl-chart-area{height:320px}.vl-scope-wrapper{height:250px}.vl-poles-content{height:285px}.vl-control-title label{font-size:11px}}
@media(max-width:800px){.vl-topbar{padding:0 18px;height:72px;flex-basis:72px}.vl-tag,.vl-top-divider,.vl-live,.vl-brand-sub{display:none}.vl-brand-name{font-size:12px;letter-spacing:1px}.vl-logo{width:39px;height:39px;font-size:20px}.vl-workspace{display:block}.vl-sidebar{border-right:0;border-bottom:1px solid #304f60}.vl-sidebar-head{padding:20px}.vl-panel-group{padding:17px 20px}.vl-panel-group:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.vl-panel-group:first-of-type .vl-panel-label{grid-column:span 2}.vl-sidebar-foot{padding:13px 20px}.vl-main{padding:24px 14px 0}.vl-section-intro h1{font-size:31px}.vl-station{display:none}.vl-board-viewport{height:300px}}
@media(max-width:520px){.vl-metrics{gap:8px}.vl-metric{padding:12px 10px}.vl-metric strong{font-size:20px}.vl-metric-title{font-size:8px;letter-spacing:0}.vl-metric-note{font-size:8px;white-space:normal}.vl-sidebar-head h2{font-size:20px}.vl-card-header{padding:14px 12px}.vl-card-actions{gap:2px}.vl-tabset button{padding:6px 7px}.vl-board-viewport{height:240px;margin:0 8px}.vl-board-footer{margin:0 8px}.vl-chart-area{height:280px}.vl-scope-wrapper{height:225px}.vl-poles-content{grid-template-columns:1fr 1fr}.vl-pole-results strong{font-size:15px}.vl-scope-footer{font-size:8px;gap:7px;padding:0 9px}.vl-bode-footer{padding:0 10px;font-size:8px;gap:10px}.vl-app-footer{font-size:8px;gap:10px}}
