:root{--blue:#0f75bd;--deep:#04131f;--mid:#082c46;--white:#f8fbff;--silver:#d7dce1;--silver2:#8c99a4;--line:rgba(215,220,225,.22);--green:#6be0b1;--amber:#ffc566;--red:#ff737d;color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:var(--deep)}body{margin:0;min-height:100vh;color:var(--white);background:radial-gradient(circle at 8% -15%,rgba(15,117,189,.58),transparent 34rem),linear-gradient(145deg,#04111c,#072942 58%,#041725)}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}button:focus-visible,input:focus-visible{outline:3px solid #68c8ff;outline-offset:2px}
.app-shell{width:min(1180px,100%);margin:auto;min-height:100vh;padding:12px clamp(12px,2.6vw,32px) 18px}.topbar{display:flex;align-items:center;gap:12px;height:62px;border-bottom:1px solid var(--line)}.brand-logo{width:78px;height:50px;object-fit:contain;border-radius:8px}.brand-copy{display:flex;flex-direction:column;letter-spacing:.12em}.brand-copy strong{font-size:1.08rem}.brand-copy span{font-size:.7rem;color:var(--silver);margin-top:2px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.language-switch,.segmented{display:flex;align-items:center;border:1px solid var(--line);background:rgba(0,0,0,.22);border-radius:10px;padding:3px}.language-switch button,.segmented button{min-width:40px;height:34px;border:0;border-radius:7px;background:transparent;color:var(--silver2);font-weight:900}.language-switch button.active,.segmented button.active{color:#fff;background:linear-gradient(135deg,var(--blue),#075784)}.small-button{height:40px;padding:0 13px;border:0;border-radius:9px;color:#fff;background:var(--blue);font-weight:850}
.category-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0 7px}.category-tab{height:43px;border:1px solid var(--line);border-radius:11px;color:var(--silver);background:rgba(2,20,33,.76);font-weight:900;letter-spacing:.04em}.category-tab.active{color:#fff;border-color:#67c8ff;background:linear-gradient(140deg,var(--blue),#075582);box-shadow:0 8px 24px rgba(0,0,0,.24)}.tool-tabs{margin:0 0 10px}.tool-group{display:none;gap:8px}.tool-group.active{display:grid}.tool-group[data-category-tools="audio"]{grid-template-columns:repeat(3,1fr)}.tool-group[data-category-tools="lighting"]{grid-template-columns:repeat(2,1fr)}.tool-tab{height:47px;border:1px solid var(--line);border-radius:11px;color:var(--silver);background:rgba(6,32,50,.82);display:flex;align-items:center;justify-content:center;gap:7px;font-weight:850}.tool-tab b{font-size:.88rem;line-height:1.05}.tool-tab span{font-size:.66rem;color:var(--silver2)}.tool-tab.active{color:#fff;border-color:#67c8ff;background:rgba(15,117,189,.3);box-shadow:inset 0 -3px 0 #67c8ff}
.tool-panel{display:none;border:1px solid var(--line);border-radius:16px;padding:clamp(15px,2.5vw,26px);background:linear-gradient(155deg,rgba(8,44,69,.97),rgba(3,23,38,.97));box-shadow:0 20px 52px rgba(0,0,0,.22)}.tool-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.eyebrow{color:#6dcbff;font-size:.69rem;font-weight:900;letter-spacing:.16em}h1{margin:2px 0 0;font-size:clamp(1.45rem,3vw,2.15rem);letter-spacing:-.035em}h2{font-size:1rem;margin:15px 0 10px}.instruction{color:var(--silver);font-size:.9rem;line-height:1.4;margin:11px 0}.status-pill{border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:var(--silver);font-size:.76rem;white-space:nowrap}.status-pill.live{color:var(--green);border-color:rgba(107,224,177,.5);background:rgba(107,224,177,.08)}
.outline-button,.primary-button,.choice-button,.preset-row button,.frequency-stepper>button{min-height:42px;border-radius:9px;font-weight:850}.outline-button{border:1px solid var(--silver2);color:#fff;background:rgba(255,255,255,.04);padding:8px 14px}.primary-button{border:0;color:#fff;background:linear-gradient(135deg,#168bd8,#096197);padding:9px 16px;box-shadow:0 8px 20px rgba(0,72,119,.24)}.primary-button:disabled{opacity:.4;cursor:not-allowed}.primary-button.large{width:100%;min-height:48px}
.dmx-workspace{display:grid;grid-template-columns:1.7fr .7fr;gap:10px}.dmx-readout,.dmx-total{display:flex;align-items:center;gap:12px;padding:11px 15px;border:1px solid var(--line);background:rgba(0,0,0,.16);border-radius:12px}.dmx-readout label,.dmx-total span{font-weight:800}.dmx-readout input{min-width:0;width:150px;border:0;border-bottom:2px solid #67c8ff;background:transparent;color:#fff;font-size:1.8rem;font-weight:900;text-align:center}.dmx-readout>span,.dmx-total span{color:var(--silver)}.dmx-total{justify-content:space-between}.dmx-total strong{font-size:1.5rem}.dip-bank{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;width:100%;overflow:visible}.dip{min-width:0;border:1px solid var(--line);border-radius:10px;padding:6px 3px 7px;background:rgba(1,12,20,.55);color:#fff;text-align:center}.dip-value{display:block;color:var(--silver);font-size:.73rem;font-weight:850}.dip-track{width:min(34px,75%);height:66px;margin:5px auto;padding:3px;border-radius:6px;background:#020c13;border:1px solid #40505c;display:flex;align-items:flex-end}.dip-knob{width:100%;height:27px;border-radius:3px;background:linear-gradient(#fff,#9aa4ad);box-shadow:0 3px 7px rgba(0,0,0,.5)}.dip.on{border-color:#65c8ff;background:rgba(15,117,189,.2)}.dip.on .dip-track{align-items:flex-start;background:rgba(15,117,189,.52)}.dip-state{display:block;color:var(--silver2);font-size:.65rem;font-weight:900}.dip.on .dip-state{color:#70d0ff}
.analysis-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.segmented.resolution{justify-self:start}.segmented>span{padding:0 8px;color:var(--silver);font-size:.8rem}.analyzer-controls{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:14px;align-items:center;margin:12px 0}.range-control{display:block}.range-control>span{display:flex;justify-content:space-between;color:var(--silver);margin-bottom:7px;font-size:.86rem}.range-control input{width:100%;accent-color:#55bfff}.check-control{display:flex;align-items:center;gap:7px;color:var(--silver);font-size:.85rem}.check-control input{width:19px;height:19px;accent-color:var(--blue)}.peak-console{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.peak-console>div{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(0,0,0,.18)}.peak-console span{color:var(--silver);font-size:.75rem;font-weight:800}.peak-console strong{font-size:1.35rem}.peak-console small{color:var(--silver);font-weight:850}.peak-hold{border-color:rgba(255,197,102,.4)!important}.peak-hold i{position:absolute;bottom:0;left:0;height:3px;width:0;background:var(--amber)}.analyzer-graph{position:relative;height:250px;border:1px solid var(--line);border-radius:12px;background:repeating-linear-gradient(to top,transparent 0 48px,rgba(215,220,225,.1) 49px),rgba(0,0,0,.25);overflow:hidden}.rta{height:100%;display:grid;grid-template-columns:repeat(var(--band-count,31),minmax(0,1fr));gap:2px;align-items:end;padding:8px 8px 30px}.rta-band{height:100%;display:flex;align-items:flex-end;position:relative}.rta-bar{width:100%;height:2%;min-height:2px;border-radius:3px 3px 0 0;background:linear-gradient(to top,#0876bd 0 63%,#62d0ff 63% 84%,#ffcb66 84% 95%,#ff737c 95%)}.rta-label{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);color:#d1d8de;font-size:.6rem;font-weight:750;white-space:nowrap}.rta-label.muted{display:none}#fftCanvas{width:100%;height:calc(100% - 25px);display:block}.fft-axis{position:absolute;bottom:5px;left:8px;right:8px;display:flex;justify-content:space-between;color:#d1d8de;font-size:.65rem;font-weight:750}
.signal-type{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.choice-button{border:1px solid var(--line);background:rgba(0,0,0,.16);color:var(--silver)}.choice-button.active{border-color:#5bc3ff;color:#fff;background:rgba(15,117,189,.26)}.tone-controls{padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.15)}.tone-controls>label{font-weight:850}.frequency-stepper{display:grid;grid-template-columns:58px 1fr 58px;gap:8px;align-items:center}.frequency-stepper>button{border:1px solid #5cc4ff;color:#fff;background:rgba(15,117,189,.3);font-size:2rem}.frequency-input{display:flex;align-items:baseline;justify-content:center;gap:8px}.frequency-input input{width:min(250px,75%);border:0;border-bottom:2px solid #5bc4ff;color:#fff;background:transparent;font-size:clamp(2rem,6vw,3.7rem);font-weight:900;text-align:center}.frequency-input span{color:var(--silver)}.step-caption{text-align:center;color:var(--silver);font-size:.78rem;margin:5px 0 10px}.preset-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.preset-row button{border:1px solid var(--line);color:#fff;background:rgba(255,255,255,.04)}.signal-bottom{display:grid;grid-template-columns:1fr 1.4fr .7fr;align-items:center;gap:12px;margin-top:13px}.volume-control{margin:0}.warning{color:#ffe1aa;background:rgba(255,197,102,.08);border:1px solid rgba(255,197,102,.28);border-radius:10px;padding:10px;font-size:.79rem;line-height:1.35}
.pulse-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:13px}.pulse-setup,.pulse-measurement{min-width:0}.pulse-instructions{padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(0,0,0,.17)}.pulse-instructions strong{color:#70cdff}.pulse-instructions ol{margin:7px 0 0;padding-left:20px;color:var(--silver);font-size:.8rem;line-height:1.45}.pulse-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:12px 0}.pulse-controls-grid>div>label{display:block;margin-bottom:7px;color:var(--silver);font-size:.86rem;font-weight:850}.pulse-mode{width:100%}.pulse-mode button{flex:1}.pulse-controls-grid .range-control:last-child{grid-column:1/-1}.pulse-start{margin-top:11px}.pulse-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pulse-meters>div{min-width:0;padding:12px 9px;border:1px solid var(--line);border-radius:11px;background:rgba(0,0,0,.2);text-align:center}.pulse-meters span,.pulse-meters small{display:block;color:var(--silver);font-size:.68rem}.pulse-meters strong{display:block;margin:5px 0 2px;font-size:clamp(1rem,2.4vw,1.45rem);white-space:nowrap}.pulse-reference-bar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin:10px 0;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:rgba(0,0,0,.16)}.pulse-reference-bar>div{display:flex;flex-direction:column}.pulse-reference-bar span{color:var(--silver);font-size:.7rem}.pulse-reference-bar strong{font-size:1.05rem}.pulse-reference-bar .text-button{padding:5px 3px}.pulse-comparison{padding:13px;border:1px solid rgba(107,224,177,.4);border-radius:12px;background:rgba(107,224,177,.08)}.pulse-comparison>span{display:block;color:var(--silver);font-size:.72rem;font-weight:850}.pulse-comparison>strong{display:block;margin:4px 0 10px;color:var(--green);font-size:1.35rem}.pulse-comparison.reversed{border-color:rgba(255,115,125,.55);background:rgba(255,115,125,.09)}.pulse-comparison.reversed>strong{color:var(--red)}.pulse-comparison.uncertain,.pulse-comparison.empty{border-color:rgba(255,197,102,.35);background:rgba(255,197,102,.06)}.pulse-comparison.uncertain>strong,.pulse-comparison.empty>strong{color:var(--amber)}.pulse-delta{display:grid;grid-template-columns:1fr 1.4fr;gap:7px}.pulse-delta>div{padding:8px;border-radius:8px;background:rgba(0,0,0,.18)}.pulse-delta span{display:block;color:var(--silver);font-size:.68rem}.pulse-delta b{display:block;margin-top:3px;font-size:.92rem}.pulse-comparison p{margin:9px 0 0;padding:8px;border-left:3px solid #65c9ff;background:rgba(0,0,0,.16);font-size:.82rem;font-weight:850}
.wb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.camera-stage{position:relative;height:315px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#020a0f}.camera-stage video{width:100%;height:100%;display:block;object-fit:cover}.sample-target{position:absolute;left:50%;top:50%;width:102px;height:102px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:9px;box-shadow:0 0 0 999px rgba(0,0,0,.18),0 0 22px rgba(82,193,255,.5)}.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:var(--silver);padding:18px;background:linear-gradient(145deg,#071a29,#031019)}.camera-placeholder strong{color:#fff}.camera-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px}.camera-lock{color:var(--amber);font-size:.72rem}.camera-lock.locked{color:var(--green)}.wb-workflow{min-width:0}.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:10px}.stepper span{color:var(--silver2);border-bottom:3px solid #314653;padding:7px 2px;text-align:center;font-size:.75rem;font-weight:850}.stepper span.active{color:#fff;border-color:#59c4ff}.measurement-card{margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.16)}.measurement-title,.reference-strip{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.measurement-title span,.reference-strip span{color:var(--silver)}.measurement-title strong,.reference-strip strong{font-size:1.3rem}.measurement-card label{display:block;font-weight:850;margin-bottom:6px}.measurement-card p{color:var(--silver);font-size:.8rem;line-height:1.35}.kelvin-input{display:flex;align-items:center;gap:7px}.kelvin-input input{width:min(210px,84%);background:rgba(255,255,255,.05);color:#fff;border:1px solid var(--silver2);border-radius:8px;padding:8px;font-size:1.35rem;font-weight:900}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.comparison-grid>div{background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:9px;padding:9px}.comparison-grid span{display:block;color:var(--silver);font-size:.72rem;margin-bottom:4px}.comparison-grid strong{font-size:1rem}.rgb-guidance{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rgb-card{border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center;background:rgba(0,0,0,.22)}.rgb-card span{display:block;font-weight:900;margin-bottom:5px}.rgb-card strong{display:block;font-size:1.2rem}.rgb-card small{display:block;margin-top:3px;color:var(--silver)}.rgb-card.red{border-top:4px solid #ff6670}.rgb-card.green{border-top:4px solid #65dc96}.rgb-card.blue{border-top:4px solid #55baff}.match-verdict{margin-top:10px;padding:10px;border-left:4px solid #5bc4ff;background:rgba(82,190,255,.08);font-size:.82rem;line-height:1.4}.text-button{border:0;color:#78ceff;background:transparent;padding:10px 0 0;font-weight:850}
footer{display:flex;justify-content:space-between;margin-top:10px;color:var(--silver2);font-size:.69rem;font-weight:850;letter-spacing:.1em}.update-banner{position:fixed;z-index:40;left:50%;bottom:16px;width:min(520px,calc(100% - 24px));transform:translateX(-50%);background:#f4f7fa;color:#061b2c;border-radius:11px;box-shadow:0 18px 55px rgba(0,0,0,.42);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:850}.update-banner button{border:0;border-radius:8px;background:var(--blue);color:#fff;padding:8px 12px;font-weight:900}.toast{position:fixed;z-index:50;left:50%;bottom:20px;transform:translateX(-50%);background:#f5f7f9;color:#071827;border-radius:9px;padding:11px 15px;box-shadow:0 15px 45px rgba(0,0,0,.35);font-weight:850;text-align:center}.rotate-overlay{display:none}
@media(max-width:900px) and (orientation:landscape){.app-shell{padding:5px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left))}.topbar{height:45px}.brand-logo{width:58px;height:40px}.brand-copy strong{font-size:.86rem}.brand-copy span{display:none}.small-button{height:34px;padding:0 9px}.language-switch button{height:29px;min-width:34px}.tool-tabs{margin:5px 0;gap:5px}.tool-tab{height:39px;border-radius:8px;gap:3px}.tool-tab b{font-size:.66rem}.tool-tab span{font-size:.55rem}.tool-panel{padding:10px;border-radius:11px}.panel-heading{margin-bottom:7px}h1{font-size:1.15rem}.eyebrow{font-size:.56rem}.status-pill{padding:4px 7px;font-size:.63rem}.instruction{font-size:.72rem;margin:6px 0}.dmx-workspace{grid-template-columns:1.5fr .6fr}.dmx-readout,.dmx-total{padding:6px 10px}.dmx-readout input{font-size:1.25rem;width:100px}.dip-bank{gap:4px}.dip{padding:3px 2px 4px;border-radius:7px}.dip-value{font-size:.62rem}.dip-track{height:54px;margin:3px auto}.dip-knob{height:22px}.analysis-toolbar{gap:6px}.segmented button{height:27px;min-width:34px;font-size:.7rem}.segmented>span{font-size:.65rem}.primary-button,.outline-button{min-height:32px;padding:5px 9px;font-size:.7rem}.analyzer-controls{margin:6px 0;grid-template-columns:1fr auto}.range-control>span,.check-control{font-size:.69rem}.peak-console{margin-bottom:5px}.peak-console>div{padding:5px 8px}.peak-console span{font-size:.62rem}.peak-console strong{font-size:1rem}.peak-console small{font-size:.63rem}.analyzer-graph{height:185px}.rta{padding:5px 5px 24px}.rta-label{font-size:.5rem}.signal-type{margin-bottom:6px}.choice-button{min-height:31px;font-size:.7rem}.tone-controls{padding:7px}.frequency-stepper{grid-template-columns:42px 1fr 42px}.frequency-stepper>button{min-height:38px;font-size:1.5rem}.frequency-input input{font-size:2rem}.step-caption{font-size:.61rem;margin:2px 0 5px}.preset-row button{min-height:30px;font-size:.68rem}.signal-bottom{margin-top:7px}.warning{padding:6px;font-size:.62rem}.camera-stage{height:215px}.camera-actions{margin-top:5px}.stepper{margin-bottom:5px}.stepper span{padding:4px 1px;font-size:.62rem}.measurement-card{margin-top:5px;padding:7px}.measurement-card p{font-size:.65rem;margin:6px 0}.comparison-grid{margin:5px 0}.rgb-card{padding:5px}.rgb-card strong{font-size:.9rem}.match-verdict{padding:6px;font-size:.66rem}.pulse-layout{gap:8px}.pulse-instructions{padding:6px 8px}.pulse-instructions ol{margin-top:3px;font-size:.61rem;line-height:1.25}.pulse-controls-grid{gap:6px;margin:6px 0}.pulse-controls-grid>div>label,.pulse-controls-grid .range-control>span{font-size:.64rem;margin-bottom:3px}.pulse-mode button{height:25px}.pulse-start{margin-top:5px}.pulse-meters>div{padding:7px 4px}.pulse-meters span,.pulse-meters small{font-size:.56rem}.pulse-meters strong{font-size:.9rem;margin:2px 0}.pulse-reference-bar{margin:6px 0;padding:5px 7px}.pulse-reference-bar span{font-size:.57rem}.pulse-reference-bar strong{font-size:.82rem}.pulse-comparison{padding:7px}.pulse-comparison>strong{font-size:1rem;margin:2px 0 5px}.pulse-delta>div{padding:5px}.pulse-delta span{font-size:.55rem}.pulse-delta b{font-size:.72rem}.pulse-comparison p{margin-top:5px;padding:5px;font-size:.65rem}footer{margin-top:4px}}
@media(max-width:900px) and (orientation:portrait){.app-shell{display:none}.rotate-overlay{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:30px;color:#fff;background:radial-gradient(circle at 50% 20%,rgba(15,117,189,.7),transparent 52%),#04131f}.phone-symbol{display:grid;place-items:center;width:92px;height:145px;border:4px solid var(--silver);border-radius:16px;font-size:3rem;transform:rotate(90deg);margin-bottom:24px}.rotate-overlay strong{font-size:1.7rem}.rotate-overlay span{color:var(--silver);font-size:1rem}}
@media(min-width:901px){.rotate-overlay{display:none!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.product-separated{display:none!important}.product-family-tabs{grid-template-columns:1fr!important}
.signal-type{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px) and (orientation:landscape){.category-tabs{margin:5px 0 4px;gap:5px}.category-tab{height:31px;border-radius:8px;font-size:.7rem}.tool-tabs{margin:0 0 5px}.tool-group{gap:5px}.tool-tab{height:35px}}

/* Vintage technical console */
:root{--accent:#168bd8;--accent-bright:#74d0ff;--accent-dark:#073f66;--metal-light:#87929a;--metal:#46535c;--metal-dark:#152029;--panel-black:#10171c;--cream:#e8dfbd;--lamp:#91ddff}
body[data-category="lighting"]{--accent:#c3299d;--accent-bright:#ff80dc;--accent-dark:#62114e;--lamp:#ff70d6}
body{background:radial-gradient(circle at 8% -15%,color-mix(in srgb,var(--accent) 50%,transparent),transparent 34rem),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.025) 1px 3px),linear-gradient(145deg,#111a20,#27333a 55%,#10171c)}
.app-shell{position:relative}.topbar{padding:0 10px;border:1px solid #6d777d;border-radius:8px;background:linear-gradient(180deg,#59656c,#263139 45%,#111a20 48%,#354149);box-shadow:inset 0 1px #aeb6ba,inset 0 -2px 4px #080d10,0 5px 18px rgba(0,0,0,.42)}
.category-tab,.tool-tab,.small-button,.outline-button,.primary-button,.choice-button,.preset-row button,.frequency-stepper>button{border:1px solid #778087;background:linear-gradient(180deg,#657179 0,#3b474f 47%,#1d272d 52%,#344047 100%);box-shadow:inset 0 1px rgba(255,255,255,.38),inset 0 -2px 3px rgba(0,0,0,.65),0 2px 3px rgba(0,0,0,.45);text-shadow:0 1px 1px #000}.category-tab.active,.tool-tab.active,.language-switch button.active,.segmented button.active,.choice-button.active{color:#fff;border-color:var(--accent-bright);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 76%,#71808a),var(--accent-dark));box-shadow:inset 0 1px color-mix(in srgb,var(--accent-bright) 65%,#fff),inset 0 -3px 4px rgba(0,0,0,.55),0 0 12px color-mix(in srgb,var(--accent) 42%,transparent)}
.tool-panel{position:relative;border:2px solid #748087;border-radius:10px;background:repeating-linear-gradient(92deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.025) 1px 4px),linear-gradient(145deg,#4d5960,#263239 40%,#151e23 100%);box-shadow:inset 0 0 0 2px #11191e,inset 0 1px 0 #aeb7bc,0 18px 42px rgba(0,0,0,.45)}
.tool-panel:before,.tool-panel:after{content:"";position:absolute;top:7px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#90989c,#242b2e 48%,#070a0b 52%,#687278);box-shadow:0 1px 2px #000}.tool-panel:before{left:8px}.tool-panel:after{right:8px}.eyebrow{color:var(--accent-bright)}.status-pill{border-color:#8b9499;background:#172027;box-shadow:inset 0 2px 4px #05090b}.status-pill.live{color:var(--lamp);border-color:var(--accent-bright);box-shadow:inset 0 2px 4px #05090b,0 0 9px color-mix(in srgb,var(--lamp) 45%,transparent)}
.segmented,.language-switch{border-color:#6d777d;background:#11181d;box-shadow:inset 0 2px 5px #05090b}.range-control input{height:16px;border:1px solid #090d10;border-radius:3px;appearance:none;background:repeating-linear-gradient(90deg,#111 0 5px,#495158 5px 7px);box-shadow:inset 0 2px 4px #000}.range-control input::-webkit-slider-thumb{appearance:none;width:30px;height:28px;border:1px solid #9aa1a5;border-radius:4px;background:repeating-linear-gradient(90deg,#a8afb2 0 2px,#60686c 2px 4px);box-shadow:0 2px 5px #000}.tone-controls,.measurement-card,.pulse-instructions,.pulse-reference-bar,.pulse-comparison,.peak-console>div,.dmx-readout,.dmx-total{border-color:#788187;background:linear-gradient(145deg,rgba(19,27,32,.88),rgba(48,58,64,.8));box-shadow:inset 0 1px rgba(255,255,255,.13),inset 0 -2px 4px #090d10}
.dip-bank{padding:9px;border:2px solid #6f171f;border-radius:7px;background:linear-gradient(#d72d3c,#7d101a);box-shadow:inset 0 2px #ff7881,inset 0 -4px 7px #3b0509,0 4px 9px #090d10}.dip{border-color:#651017;background:#bd2230}.dip.on{border-color:#ff9fa5;background:#e13745}.dip-track{border-color:#870e18;background:#981522}.dip.on .dip-track{background:#cf2633}.dip-knob{background:linear-gradient(90deg,#c5c8c7,#fff 47%,#9a9e9d);box-shadow:0 3px 5px #53080e}.dip-value,.dip-state{color:#fff}
.tool-group[data-category-tools="audio"]{grid-template-columns:repeat(4,1fr)}

/* Analog sound level meter */
.power-toggle{display:flex;align-items:center;gap:9px;min-height:43px;padding:7px 13px;border:1px solid #7e898f;border-radius:7px;color:#fff;background:linear-gradient(#4f5a61,#1b242a);font-weight:900;box-shadow:inset 0 1px #aab2b6,0 3px 5px #0a0e10}.pilot-lamp{width:17px;height:17px;border:2px solid #879198;border-radius:50%;background:#271d13;box-shadow:inset 0 2px 4px #000}.power-toggle.active .pilot-lamp{background:var(--lamp);box-shadow:0 0 12px var(--lamp),inset 0 0 4px #fff}.spl-console{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.75fr);gap:15px}.spl-meter-wrap,.spl-controls{min-width:0}.spl-meter-face{overflow:hidden;border:5px solid #252b2e;border-radius:16px;background:linear-gradient(145deg,#f2e8c5,#bdb28c);box-shadow:inset 0 0 18px rgba(62,45,19,.55),0 0 0 2px #8d969a,0 5px 11px #080b0d}.spl-meter-face svg{display:block;width:100%;height:min(43vh,330px)}.meter-arc{fill:none;stroke:#28261f;stroke-width:4}.meter-ticks line{stroke:#28261f;stroke-width:5}.meter-labels text{font-size:22px;font-weight:900;fill:#28261f;text-anchor:middle}.meter-db{font-size:31px;font-weight:900;fill:#4f4838;text-anchor:middle}.meter-brand{font-size:18px;font-weight:900;letter-spacing:4px;fill:#655b46;text-anchor:middle}.meter-needle{stroke:#b0212d;stroke-width:5;filter:drop-shadow(2px 2px 1px rgba(0,0,0,.45));transition:transform .09s linear}.needle-hub{fill:url(#none);stroke:#2b2b28;stroke-width:12}.lcd-bank{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.lcd-bank>div{padding:8px 12px;border:4px solid #20272b;border-radius:5px;background:linear-gradient(#b7c6a4,#859679);color:#172416;box-shadow:inset 0 2px 7px rgba(0,0,0,.55),0 0 0 1px #929b9f;cursor:pointer}.lcd-bank span,.lcd-bank small{display:block;font-size:.72rem;font-weight:900}.lcd-bank strong{font-family:"Courier New",monospace;font-size:clamp(1.8rem,5vw,3.4rem);line-height:1}.lcd-bank small{text-align:right}.spl-controls{display:grid;gap:11px}.range-control-block,.vintage-switch-row,.spl-calibration{padding:11px;border:1px solid #7c858a;border-radius:7px;background:linear-gradient(145deg,#38444b,#171f24);box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -3px 5px #080c0e}.range-control-block{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;gap:9px}.range-control-block>span,.vintage-switch-row>div>span,.spl-calibration>div>span{color:#dfe3e5;font-size:.75rem;font-weight:900;letter-spacing:.08em}.range-control-block>strong{font-size:1.15rem}.range-control-block>small{grid-column:2;text-align:center;color:#aeb8bd;font-size:.68rem}.rotary-knob{--dial-angle:43deg;position:relative;width:72px;height:72px;border:4px solid #090d0f;border-radius:50%;background:repeating-conic-gradient(#596267 0 4deg,#20272a 4deg 9deg);box-shadow:inset 0 0 0 7px #252c30,0 4px 7px #050708}.rotary-knob i{position:absolute;left:50%;top:7px;width:4px;height:25px;border-radius:3px;background:#f4f5f4;transform-origin:2px 29px;transform:rotate(var(--dial-angle));box-shadow:0 0 2px #000}.vintage-switch-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vintage-switch-row>div{min-width:0}.toggle-track{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:7px;padding:4px;border:1px solid #070a0c;border-radius:5px;background:#10161a;box-shadow:inset 0 3px 5px #000}.toggle-track button{min-height:35px;border:1px solid #646d72;border-radius:3px;color:#aab3b7;background:linear-gradient(#626b70,#252c30);font-weight:900}.toggle-track button.active{color:#fff;border-color:var(--accent-bright);background:linear-gradient(var(--accent),var(--accent-dark));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 50%,transparent)}.spl-calibration{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spl-calibration>div{display:flex;flex-direction:column}.spl-calibration>div strong{color:#ffc46b}.spl-calibration>div strong.calibrated{color:#8ff0bf}.spl-calibration label>span{display:block;color:#dce2e5;font-size:.75rem;font-weight:850}.spl-calibration label>div{display:flex;align-items:center;gap:6px}.spl-calibration input{min-width:0;width:100%;height:38px;border:3px solid #222b2e;border-radius:4px;background:#a8b993;color:#192318;font-family:"Courier New",monospace;font-size:1.25rem;font-weight:900;text-align:center}.spl-calibration button{grid-column:1/-1}.spl-calibration p{grid-column:1/-1;margin:0;color:#c1c9cd;font-size:.75rem;line-height:1.35}
@media(max-width:900px) and (orientation:landscape){.tool-group[data-category-tools="audio"]{grid-template-columns:repeat(4,1fr)}.spl-console{grid-template-columns:1.35fr 1fr;gap:8px}.spl-meter-face{border-width:3px}.spl-meter-face svg{height:190px}.lcd-bank{margin-top:6px;gap:5px}.lcd-bank>div{padding:4px 7px}.lcd-bank strong{font-size:1.65rem}.spl-controls{gap:5px}.range-control-block,.vintage-switch-row,.spl-calibration{padding:6px}.range-control-block{grid-template-columns:1fr 52px 1fr}.rotary-knob{width:50px;height:50px}.rotary-knob i{top:4px;height:18px;transform-origin:2px 21px}.range-control-block>small,.spl-calibration p{display:none}.toggle-track{margin-top:3px}.toggle-track button{min-height:27px;font-size:.62rem}.spl-calibration{grid-template-columns:1fr 1fr}.spl-calibration input{height:30px;font-size:.9rem}.power-toggle{min-height:32px;padding:5px 8px;font-size:.68rem}.pilot-lamp{width:13px;height:13px}}
.needle-hub{fill:#3b3630}
.spl-reset{display:block;margin:4px 0 0 auto;padding:5px 2px;color:var(--accent-bright)}

/* Deep vintage revision */
body{background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--accent) 30%,transparent),transparent 32rem),radial-gradient(circle at 88% 92%,rgba(116,72,34,.2),transparent 30rem),repeating-linear-gradient(96deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.035) 1px 4px),#111619}
.topbar{border:3px ridge #72787a;border-radius:3px;background:radial-gradient(circle at 15% 28%,rgba(147,88,38,.14) 0 2px,transparent 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,rgba(0,0,0,.035) 1px 5px),linear-gradient(#737b7e,#343a3d 46%,#181c1e 51%,#50575a);box-shadow:inset 0 0 0 2px #202426,inset 0 2px 1px #aeb4b6,0 6px 14px #050708}
.brand-copy strong,.tool-panel h1,.category-tab,.tool-tab{font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:.065em}.brand-logo{filter:contrast(1.08) saturate(.82)}
.category-tabs{padding:5px;border:3px ridge #777e81;background:repeating-linear-gradient(92deg,#4d5558 0 2px,#3c4346 2px 5px);box-shadow:inset 0 2px 5px #15191b,0 3px 7px #090b0c}.category-tab,.tool-tab{position:relative;border:2px outset #747a7d;border-radius:2px;background:linear-gradient(#42484b,#161a1c 48%,#090c0d 52%,#292e30);color:#d7dadb;box-shadow:inset 0 0 0 1px #111,0 2px 3px #050607}.category-tab:after,.tool-tab:after{content:"";width:7px;height:7px;margin-left:9px;border:1px solid #5b6265;border-radius:50%;background:#251a10;box-shadow:inset 0 2px 3px #000}.category-tab.active:after,.tool-tab.active:after{background:var(--lamp);box-shadow:0 0 8px var(--lamp),inset 0 0 2px #fff}.category-tab.active,.tool-tab.active{border-style:inset;background:linear-gradient(#30383c,#111719);box-shadow:inset 0 3px 7px #000,0 0 9px color-mix(in srgb,var(--accent) 48%,transparent)}
.tool-tabs{padding:4px;border:2px ridge #656c6f;background:#151a1c}.tool-panel{border:5px ridge #777e80;border-radius:3px;background:radial-gradient(circle at 8% 18%,rgba(114,68,31,.16) 0 2px,transparent 5px),radial-gradient(circle at 88% 76%,rgba(91,54,26,.13) 0 2px,transparent 6px),repeating-linear-gradient(93deg,rgba(255,255,255,.026) 0 1px,rgba(0,0,0,.038) 1px 4px),linear-gradient(135deg,#6f7779,#3a4144 32%,#242a2c 72%,#535b5e);box-shadow:inset 0 0 0 3px #1b2022,inset 0 2px 1px #aab0b2,inset 0 -5px 10px #111517,0 16px 35px #050708}
.tool-panel:before,.tool-panel:after{top:8px;width:15px;height:15px;border:2px solid #222729;background:linear-gradient(32deg,transparent 42%,#171a1b 44% 56%,transparent 58%),radial-gradient(circle at 35% 30%,#afb3b2,#555c5e 45%,#1a1e20 75%);box-shadow:inset 0 0 2px #000,0 2px 3px #090b0c}.tool-panel:before{left:9px}.tool-panel:after{right:9px}
.primary-button,.outline-button,.choice-button,.preset-row button,.frequency-stepper>button,.small-button{border:3px outset #6d7375;border-radius:3px;background:linear-gradient(#4a5052,#15191b 48%,#090b0c 53%,#303537);box-shadow:inset 0 0 0 1px #080a0b,0 3px 4px #070809;color:#eee}.primary-button:active,.outline-button:active,.choice-button:active,.preset-row button:active,.frequency-stepper>button:active,.small-button:active{border-style:inset;transform:translateY(1px);box-shadow:inset 0 3px 6px #000}.primary-button:before,.outline-button:before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border:1px solid #596064;border-radius:50%;background:#2b1d12;box-shadow:inset 0 2px 3px #000}.primary-button:not(:disabled):active:before,.outline-button:active:before{background:var(--lamp);box-shadow:0 0 7px var(--lamp)}
.segmented,.toggle-track{border:3px inset #555c5e;border-radius:2px;background:#090c0d}.segmented button,.toggle-track button{border-radius:1px}.range-control input{height:20px;border:3px inset #5c6264;border-radius:2px;background:repeating-linear-gradient(90deg,#07090a 0 6px,#34393b 6px 8px)}.range-control input::-webkit-slider-thumb{width:36px;height:33px;border:3px outset #8a9091;border-radius:3px;background:repeating-linear-gradient(90deg,#252a2c 0 3px,#a1a5a5 3px 5px,#4c5254 5px 8px)}
.language-lever{display:flex;align-items:center;gap:6px;padding:5px 8px;border:3px ridge #72787a;background:linear-gradient(#4a5053,#1a1e20);box-shadow:inset 0 2px 4px #080a0b;color:#d9ddde;font-size:.76rem;font-weight:900}.lever-switch{position:relative;width:58px;height:29px;padding:0;border:3px inset #656b6d;border-radius:2px;background:#090b0c;box-shadow:inset 0 3px 5px #000}.lever-switch i{position:absolute;top:2px;left:3px;width:24px;height:19px;border:2px outset #a0a5a5;border-radius:2px;background:repeating-linear-gradient(90deg,#c4c7c6 0 2px,#555b5d 2px 4px);box-shadow:2px 2px 4px #000;transition:left .16s ease}.lever-switch.english i{left:26px}.lever-switch:before,.lever-switch:after{content:"";position:absolute;top:9px;width:5px;height:5px;border-radius:50%;background:#342315}.lever-switch:before{left:-10px}.lever-switch:after{right:-10px}.lever-switch:not(.english):before,.lever-switch.english:after{background:var(--lamp);box-shadow:0 0 7px var(--lamp)}
.power-toggle{position:relative;border:4px ridge #737a7c;border-radius:2px;background:linear-gradient(#3f4547,#15191b);box-shadow:inset 0 0 0 2px #090b0c,0 3px 5px #050607}.power-toggle:after{content:"";width:13px;height:25px;margin-left:7px;border:2px outset #9ba0a1;border-radius:6px;background:linear-gradient(90deg,#3b4042,#c2c5c4 48%,#515759);transform:rotate(-14deg);transform-origin:bottom center;box-shadow:2px 2px 3px #000}.power-toggle.active:after{transform:rotate(14deg)}
.spl-panel{background:radial-gradient(circle at 17% 20%,rgba(112,62,27,.14) 0 2px,transparent 5px),repeating-linear-gradient(91deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.04) 1px 5px),linear-gradient(145deg,#555c5e,#23282a 35%,#101314 80%,#3a4042)}.spl-console{padding:12px;border:4px ridge #656b6d;background:linear-gradient(135deg,#272c2e,#0d1011);box-shadow:inset 0 0 0 2px #050607,inset 0 4px 13px #000}.spl-meter-face{border:10px ridge #555c5e;border-radius:4px;background:radial-gradient(circle at 72% 18%,rgba(133,88,32,.16),transparent 35%),repeating-linear-gradient(0deg,rgba(63,48,20,.025) 0 1px,transparent 1px 4px),linear-gradient(#f3eaca,#c8bb8e);box-shadow:inset 0 0 24px rgba(55,39,16,.62),0 5px 12px #020303}.meter-arc{stroke-width:5}.meter-ticks line{stroke-width:6}.meter-brand{font-family:"Arial Narrow",sans-serif;letter-spacing:5px}.meter-needle{stroke:#8d111a;stroke-width:4}.needle-hub{stroke:#181817;stroke-width:14;fill:radial-gradient(#777,#222)}
.lcd-bank>div{border:7px ridge #454b4d;border-radius:2px;background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),#92a483;box-shadow:inset 0 3px 9px #283322,0 4px 7px #050607}.lcd-bank strong{letter-spacing:.08em;text-shadow:0 1px rgba(255,255,255,.25)}
.range-control-block{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px 8px;border:4px ridge #62696b;border-radius:2px;background:repeating-linear-gradient(92deg,rgba(255,255,255,.025) 0 1px,rgba(0,0,0,.035) 1px 4px),linear-gradient(#525a5d,#1a1f21);box-shadow:inset 0 0 0 2px #111516,inset 0 3px 5px #777}.range-control-block>span{margin-bottom:7px;font-size:.86rem;text-shadow:0 2px 2px #000}.range-wheel-housing{padding:10px;border:5px ridge #555b5d;border-radius:18px 18px 8px 8px;background:#101314;box-shadow:inset 0 5px 10px #000,0 4px 7px #050607}.rotary-knob{--dial-angle:43deg;width:148px;height:148px;border:7px outset #25292b;border-radius:50%;background:repeating-conic-gradient(from -4deg,#171a1b 0 5deg,#3f4445 5deg 9deg),radial-gradient(circle,#25292a 0 58%,#090b0c 60%);box-shadow:inset 0 0 0 9px #111415,inset 0 0 19px #000,0 5px 9px #020303}.rotary-knob:before{content:"60  70  80  90  100  110  120";position:absolute;inset:19px;color:#92999a;font-family:"Arial Narrow",sans-serif;font-size:.61rem;font-weight:900;letter-spacing:.08em;line-height:1.5;opacity:.76}.rotary-knob i{left:50%;top:9px;width:5px;height:40px;background:#d6d7d4;transform-origin:2px 62px;box-shadow:0 1px 2px #000}.range-window{position:absolute;left:50%;bottom:24px;display:flex;align-items:baseline;justify-content:center;gap:3px;width:76px;height:39px;transform:translateX(-50%);border:5px ridge #4c5355;border-radius:2px;background:linear-gradient(rgba(221,235,218,.18),rgba(59,75,56,.2)),#7f9276;color:#101b10;box-shadow:inset 0 3px 7px #263025,0 2px 4px #000;font-family:"Courier New",monospace;z-index:2}.range-window b{font-size:1.35rem;line-height:29px}.range-window small{font-size:.62rem;font-weight:900}.range-control-block>small{margin-top:6px;color:#c6ccce;font-size:.74rem}.vintage-switch-row,.spl-calibration{border:4px ridge #62696b;border-radius:2px;background:repeating-linear-gradient(92deg,rgba(255,255,255,.02) 0 1px,rgba(0,0,0,.035) 1px 4px),linear-gradient(#42494b,#171b1d);box-shadow:inset 0 0 0 2px #101415}.toggle-track button{border:3px outset #656b6d;background:linear-gradient(#505658,#171b1d);font-family:"Arial Narrow",sans-serif}.toggle-track button.active{border-style:inset;background:linear-gradient(#242a2c,#0b0e0f);color:var(--lamp);text-shadow:0 0 6px var(--lamp)}
.spl-calibration input{border:6px ridge #4b5254;border-radius:2px;background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),#8fa080}.spl-reset{border:0;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px) and (orientation:landscape){.language-lever{padding:2px 5px;font-size:.62rem}.lever-switch{width:48px;height:24px}.lever-switch i{width:19px;height:15px}.lever-switch.english i{left:21px}.spl-console{padding:6px}.spl-meter-face{border-width:6px}.range-control-block{padding:5px}.range-control-block>span{margin-bottom:3px;font-size:.65rem}.range-wheel-housing{padding:5px;border-width:3px}.rotary-knob{width:94px;height:94px;border-width:4px}.rotary-knob:before{inset:10px;font-size:.42rem}.rotary-knob i{top:5px;height:25px;transform-origin:2px 39px}.range-window{bottom:13px;width:51px;height:27px;border-width:3px}.range-window b{font-size:.9rem;line-height:19px}.range-window small{font-size:.46rem}.range-control-block>small{display:block;margin-top:2px;font-size:.52rem}.power-toggle:after{height:19px}.tool-panel:before,.tool-panel:after{width:11px;height:11px}}
.needle-hub{fill:#393731}

/* v2.5: logarithmic analyzer layout and exact-frequency training */
.audio-device-control{display:grid;gap:3px;min-width:220px;color:var(--silver);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.audio-device-control select{min-height:36px;padding:5px 30px 5px 9px;border:3px inset #646b6d;border-radius:2px;background:#111719;color:#fff;font:800 .85rem system-ui,sans-serif}
.audio-device-status{display:flex;align-items:center;gap:9px;margin:7px 0 10px;padding:8px 10px;border:2px inset #596063;background:#090d0f;color:var(--silver);font-size:.82rem;font-weight:750}
.audio-device-status .pilot-lamp{flex:0 0 auto}
.audio-device-status.live .pilot-lamp{background:#78df98;box-shadow:0 0 10px #59e98a}
@media(max-width:900px){.audio-device-control{min-width:180px}.analysis-toolbar{flex-wrap:wrap}.audio-device-status{font-size:.72rem}}
.tool-group[data-category-tools="audio"]{grid-template-columns:repeat(5,1fr)}
.rta{position:absolute;inset:8px 8px 30px;height:auto;display:block;padding:0}
.rta-band{position:absolute;bottom:0;height:100%;display:flex;align-items:flex-end;padding:0 1px}
.fft-axis{display:block;height:14px}
.fft-axis span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.fft-axis span.edge:first-child{transform:none}
.fft-axis span.edge:last-child{transform:translateX(-100%)}
.training-console{display:grid;gap:14px;max-width:920px;margin:0 auto}
.training-display{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:18px;border:5px ridge #697174;background:linear-gradient(#1e2528,#080b0c);box-shadow:inset 0 5px 12px #000}
.training-display span{margin-right:auto;color:var(--silver);font-weight:850}
.training-display strong{min-width:130px;color:#b9d8ac;font-family:"Courier New",monospace;font-size:clamp(2.2rem,7vw,4.5rem);text-align:right;text-shadow:0 0 8px rgba(152,218,141,.35)}
.training-display small{color:#b9d8ac;font-weight:900}
.training-answers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.training-answers button{min-height:58px;font-size:1.08rem}
.training-answers button.correct{border-color:#70e29c;color:#b8ffd1;box-shadow:inset 0 2px 5px #000,0 0 12px rgba(80,220,135,.5)}
.training-answers button.incorrect{border-color:#ff6f79;color:#ffc2c6}
.training-actions{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;gap:10px;align-items:end}
.training-feedback{min-height:25px;margin:0;color:#fff;font-weight:850;text-align:center}
@media(max-width:900px) and (orientation:landscape){.tool-group[data-category-tools="audio"]{grid-template-columns:repeat(5,1fr)}.rta{inset:5px 5px 24px}.training-console{gap:7px}.training-display{padding:7px}.training-display strong{font-size:2rem}.training-answers{gap:5px}.training-answers button{min-height:34px;font-size:.72rem}.training-actions{grid-template-columns:1fr auto auto;gap:5px}.training-feedback{font-size:.7rem;min-height:16px}}
.small-button{display:inline-flex;align-items:center;text-decoration:none}

/* v2.7.5: actualización confiable y controles mecánicos vintage */
.text-button,.update-banner button,.training-answers button{min-height:38px;padding:7px 12px;border:3px outset #747b7d;border-radius:3px;color:#f0f2f2;background:linear-gradient(#50575a,#171b1d 48%,#090c0d 53%,#303638);box-shadow:inset 0 0 0 1px #080a0b,0 3px 5px #050607;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.055em;text-shadow:0 1px 2px #000}
.text-button:active,.update-banner button:active,.training-answers button:active{border-style:inset;transform:translateY(1px);box-shadow:inset 0 3px 7px #000}
.update-banner{border:5px ridge #777e80;border-radius:3px;background:repeating-linear-gradient(92deg,rgba(255,255,255,.035) 0 1px,rgba(0,0,0,.045) 1px 4px),linear-gradient(#697174,#30373a);color:#fff;box-shadow:inset 0 0 0 2px #171c1e,inset 0 2px #aab0b2,0 18px 55px #000}
.update-banner button{color:#fff;background:linear-gradient(#198dd2,#07537e 49%,#032f49 52%,#0b6c9f)}
.update-banner button[aria-busy="true"]{color:#ffe2a5;border-color:#c68c39;cursor:wait}
.language-lever{gap:9px;padding:5px 10px;min-height:48px}
.language-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:22px;color:#8f989c;text-shadow:0 2px 2px #000;transition:color .16s ease}
.language-option:before{content:"";width:8px;height:8px;border:2px solid #596164;border-radius:50%;background:#24190f;box-shadow:inset 0 2px 3px #000}
.language-lever:not(.english) .language-option.es,.language-lever.english .language-option.en{color:#fff}
.language-lever:not(.english) .language-option.es:before,.language-lever.english .language-option.en:before{background:var(--lamp);box-shadow:0 0 10px var(--lamp),inset 0 0 2px #fff}
.lever-switch{width:48px;height:38px;overflow:visible;border:5px ridge #737a7c;border-radius:50%;background:radial-gradient(circle,#202628 0 31%,#080b0c 34% 58%,#5f676a 61% 70%,#121719 73%);box-shadow:inset 0 3px 7px #000,0 3px 5px #050607}
.lever-switch:before,.lever-switch:after{display:none}
.lever-switch i{left:50%;top:auto;bottom:14px;width:10px;height:31px;border:2px outset #aab0b1;border-radius:6px 6px 3px 3px;background:linear-gradient(90deg,#444a4c,#d7d9d8 45%,#5a6062);box-shadow:2px 3px 4px #000;transform:translateX(-50%) rotate(-28deg);transform-origin:50% 100%;transition:transform .18s ease}
.lever-switch.english i{left:50%;transform:translateX(-50%) rotate(28deg)}
@media(max-width:900px) and (orientation:landscape){.language-lever{min-height:39px;gap:6px}.lever-switch{width:40px;height:31px}.lever-switch i{left:50%;bottom:11px;width:8px;height:25px}.lever-switch.english i{left:50%}.language-option{font-size:.58rem}.language-option:before{width:6px;height:6px}}

/* v2.8.0: sweep generator */
.signal-type{grid-template-columns:repeat(4,1fr)}
.sweep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sweep-grid label{display:grid;gap:6px;color:var(--silver);font-weight:850}
.frequency-field{display:flex;align-items:center;gap:6px;padding:6px 9px;border:4px ridge #4f575a;background:#0d1214;box-shadow:inset 0 3px 6px #000}
.frequency-field input,.frequency-field select{min-width:0;width:100%;border:0;background:transparent;color:#fff;font:900 1.15rem "Courier New",monospace}
.frequency-field select{font-size:1rem}
.frequency-field b{color:var(--silver);font-size:.75rem}
.sweep-controls .step-caption{margin:10px 0 0}
@media(max-width:900px) and (orientation:landscape){.signal-type{gap:5px}.sweep-grid{gap:5px}.sweep-controls{padding:7px}.sweep-grid label{gap:2px;font-size:.64rem}.frequency-field{padding:3px 5px;border-width:3px}.frequency-field input,.frequency-field select{font-size:.72rem}.sweep-controls .step-caption{margin-top:4px}}

/* v2.9.0: impulse I/O and dual VU metering */
.pulse-io-panel{display:grid;grid-template-columns:minmax(210px,1fr) 1.2fr;gap:9px;align-items:end;margin:10px 0;padding:9px;border:4px ridge #62696b;background:linear-gradient(#424a4d,#161b1d);box-shadow:inset 0 0 0 2px #0b0f10,inset 0 3px 6px #737a7c}
.pulse-input-mode button{flex:1;min-width:0;font-size:.72rem}
.pulse-channel-setup{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pulse-channel-setup label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:var(--silver);font-size:.72rem;font-weight:900}
.pulse-channel-setup select{min-height:34px;border:3px inset #62696b;background:#0c1113;color:#fff;font-weight:900;text-align:center}
.pulse-vu-console{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;padding:9px;border:5px ridge #555d60;background:linear-gradient(#252b2d,#090c0d);box-shadow:inset 0 4px 10px #000}
.pulse-vu{min-width:0;padding:7px;border:3px inset #41484b;background:#0a0e10}
.pulse-vu>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#e4e8e9;font-size:.7rem;font-weight:900}
.pulse-vu b{color:#b7cfae;font-family:"Courier New",monospace;white-space:nowrap}
.vu-track{position:relative;height:18px;margin:6px 0 4px;border:3px inset #4e5558;background:repeating-linear-gradient(90deg,#121719 0 8px,#050708 8px 10px);overflow:hidden}
.vu-track i{position:absolute;left:0;top:0;bottom:0;width:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 8px,rgba(0,0,0,.2) 8px 10px),linear-gradient(90deg,#249154 0 65%,#d5a52d 65% 88%,#b7373f 88%);box-shadow:0 0 8px rgba(102,233,157,.55);z-index:2}
.vu-track em{position:absolute;left:80%;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 4px #fff;z-index:3}
.pulse-vu small{font-size:.65rem;font-weight:900;text-transform:uppercase}.pulse-vu small.good{color:#7ee3a5}.pulse-vu small.warn{color:#ffc566}.pulse-vu small.bad{color:#ff737d}
.pulse-level-balance{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding:6px 8px;border:2px inset #596164;color:var(--silver);font-size:.7rem;font-weight:900;text-transform:uppercase}.pulse-level-balance.good strong{color:#7ee3a5}.pulse-level-balance.warn strong{color:#ffc566}.pulse-level-balance.bad strong{color:#ff737d}
@media(max-width:900px) and (orientation:landscape){.pulse-io-panel{grid-template-columns:1fr 1fr;margin:5px 0;padding:5px;gap:5px}.pulse-io-panel .audio-device-control{min-width:0;font-size:.56rem}.pulse-io-panel .audio-device-control select{min-height:27px;font-size:.62rem}.pulse-input-mode button{height:27px;font-size:.58rem}.pulse-channel-setup{gap:4px}.pulse-channel-setup label{font-size:.56rem}.pulse-channel-setup select{min-height:26px;font-size:.62rem}.pulse-vu-console{margin:5px 0;padding:5px;gap:4px;border-width:3px}.pulse-vu{padding:4px}.pulse-vu>div:first-child,.pulse-level-balance{font-size:.54rem}.vu-track{height:13px;margin:3px 0;border-width:2px}.pulse-vu small{font-size:.52rem}.pulse-level-balance{padding:3px 5px}}

/* v2.9.1: moving tab levers and independent impulse trims */
.tool-group[data-category-tools="audio"]{grid-template-columns:repeat(5,minmax(0,1fr))}.tool-tabs .tool-tab{justify-content:flex-start;padding:0 31px 0 46px;overflow:hidden}
.tool-tabs .tool-tab:before{content:"";position:absolute;left:14px;top:8px;width:10px;height:31px;border:3px outset #aab0b1;border-radius:7px 7px 3px 3px;background:linear-gradient(90deg,#444a4c,#e0e2e1 45%,#555b5d);box-shadow:2px 3px 4px #000;transform:rotate(-17deg);transform-origin:50% 88%;transition:transform .18s ease}
.tool-tabs .tool-tab.active:before{transform:rotate(17deg)}
.tool-tabs .tool-tab:after{position:absolute;right:12px;margin:0}
.pulse-trim-bank{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pulse-trim-bank>div{display:grid;grid-template-columns:1fr 34px 64px 34px;align-items:center;gap:5px;padding:5px;border:3px ridge #555d60;background:linear-gradient(#343a3d,#111517);color:var(--silver);font-size:.68rem;font-weight:900;text-transform:uppercase}
.pulse-trim-bank button{height:30px;border:3px outset #747b7d;border-radius:2px;background:linear-gradient(#50575a,#121719);color:#fff;font-size:1rem;font-weight:900}.pulse-trim-bank button:active{border-style:inset}
.pulse-trim-bank output{padding:5px;border:3px inset #4e575a;background:#839279;color:#111b10;font:900 .78rem "Courier New",monospace;text-align:center;white-space:nowrap}
@media(max-width:900px) and (orientation:landscape){.tool-tabs .tool-tab{padding:0 21px 0 31px}.tool-tabs .tool-tab:before{left:8px;top:7px;width:7px;height:24px;border-width:2px}.tool-tabs .tool-tab:after{right:6px}.pulse-trim-bank{gap:4px}.pulse-trim-bank>div{grid-template-columns:1fr 26px 51px 26px;gap:3px;padding:3px;font-size:.52rem}.pulse-trim-bank button{height:24px;border-width:2px;font-size:.75rem}.pulse-trim-bank output{padding:3px;border-width:2px;font-size:.58rem}}

/* v2.10.1: SPL hardware face and saved impulse readings */
.spl-panel{background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.055) 0 1px,transparent 2px),radial-gradient(circle at 72% 62%,rgba(0,0,0,.14) 0 1px,transparent 2px),repeating-linear-gradient(92deg,rgba(255,255,255,.035) 0 1px,rgba(0,0,0,.055) 1px 4px),linear-gradient(145deg,#666d6f,#303638 38%,#121617 82%,#454b4d);background-size:9px 11px,13px 15px,auto,auto}
.spl-meter-face{position:relative;background:radial-gradient(circle at 72% 18%,rgba(154,104,36,.18),transparent 32%),repeating-linear-gradient(0deg,rgba(63,48,20,.035) 0 1px,transparent 1px 4px),linear-gradient(#f6edc9,#cfbd81)}
.spl-meter-face svg{height:min(52vh,390px)}
.meter-labels text{font-size:19px;font-family:"Arial Narrow",Arial,sans-serif;font-weight:950;fill:#211e17}.meter-ticks line{stroke:#211e17;stroke-width:5}.meter-db{font-size:24px;letter-spacing:3px}.meter-brand{font-size:17px;letter-spacing:3px}.meter-needle{stroke:#d83420;stroke-width:5}.needle-hub{fill:#242321;stroke:#0f0f0e;stroke-width:12}
.meter-ticks .meter-positive{stroke:#c62e1f}.meter-labels .meter-positive{fill:#c62e1f}.meter-positive-arc{fill:none;stroke:#c62e1f;stroke-width:7}
.brand-copy strong{text-transform:none}
.spl-readouts{position:absolute;left:5%;right:5%;bottom:7%;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10px;color:#302817;pointer-events:none}.spl-readouts>div{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:7px}.spl-readouts>div:last-child{text-align:right}.spl-readouts span{font-size:clamp(.72rem,1.5vw,1.08rem);font-weight:950}.spl-readouts strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:clamp(1.6rem,4.5vw,3.35rem);line-height:.9;font-weight:950;text-align:center}.spl-readouts small{font-size:clamp(.68rem,1.2vw,.95rem);font-weight:950}
.pulse-save-row{display:flex;justify-content:flex-end;margin-top:8px}.pulse-save-row button{min-width:180px}.pulse-history{margin-top:9px;padding:9px;border:4px ridge #596164;background:repeating-linear-gradient(92deg,rgba(255,255,255,.02) 0 1px,rgba(0,0,0,.04) 1px 4px),linear-gradient(#303638,#101415)}.pulse-history>div{display:flex;align-items:center;justify-content:space-between;color:#e4e8e9;font-size:.72rem;font-weight:900;text-transform:uppercase}.pulse-history ol{display:grid;gap:4px;margin:7px 0 0;padding:0;list-style:none}.pulse-history li{display:grid;grid-template-columns:auto auto 1fr;gap:8px;padding:6px 8px;border:2px inset #4d5558;background:#0a0e10;font-size:.7rem}.pulse-history li span{color:var(--silver)}.pulse-history li strong{text-align:right;color:#b7cfae;font-family:"Courier New",monospace}.pulse-history li.empty{display:block;color:var(--silver);text-align:center}.pulse-history .text-button:disabled{opacity:.35}
@media(max-width:900px) and (orientation:landscape){.spl-meter-face svg{height:210px}.spl-readouts{bottom:5%}.spl-readouts strong{font-size:1.55rem}.spl-readouts span,.spl-readouts small{font-size:.55rem}.pulse-save-row{margin-top:4px}.pulse-save-row button{min-height:28px;min-width:145px;font-size:.58rem}.pulse-history{margin-top:4px;padding:5px;border-width:3px}.pulse-history>div,.pulse-history li{font-size:.52rem}.pulse-history ol{margin-top:4px}.pulse-history li{padding:3px 5px}}
