:root{--bg:#050912;--panel:#0b1220;--panel2:#111827;--line:#1e2b43;--text:#eef6ff;--muted:#9aacc4;--soft:#c8d6e8;--cyan:#00e5ff;--blue:#2978ff;--violet:#7c2dff;--mag:#f20cff;--green:#20ff88;--amber:#ffd84d;--shadow:0 20px 60px rgba(0,0,0,.35)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 0%,rgba(75,45,180,.26),transparent 26%),radial-gradient(circle at 82% 10%,rgba(0,229,255,.12),transparent 30%),linear-gradient(135deg,#030711 0%,#08101e 52%,#07050d 100%);color:var(--text);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent);pointer-events:none}.console-shell{display:grid;grid-template-columns:278px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 18px;display:flex;flex-direction:column;gap:20px;border-right:1px solid rgba(95,142,255,.18);background:linear-gradient(180deg,rgba(6,13,25,.96),rgba(5,8,16,.91));backdrop-filter:blur(18px);z-index:3}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--text)}.brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:27px;color:#fff;background:conic-gradient(from 140deg,var(--cyan),var(--violet),var(--mag),var(--cyan));box-shadow:0 0 34px rgba(124,45,255,.5)}.brand-title{font-size:23px;font-weight:850;letter-spacing:.04em}.brand-title span{font-weight:600;color:var(--cyan)}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.side-nav{display:flex;flex-direction:column;gap:8px;margin-top:8px}.nav-item{width:100%;display:flex;gap:12px;align-items:center;padding:13px 15px;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--soft);font:inherit;font-weight:650;text-align:left;cursor:pointer}.nav-item:hover,.nav-item.active{border-color:rgba(0,229,255,.35);background:linear-gradient(90deg,rgba(0,229,255,.14),rgba(124,45,255,.28));color:#fff;box-shadow:inset 0 0 24px rgba(0,229,255,.08)}.status-card,.plan-card{margin-top:auto;border:1px solid rgba(126,171,255,.16);background:linear-gradient(180deg,rgba(17,31,53,.78),rgba(8,14,25,.92));border-radius:18px;padding:17px;box-shadow:var(--shadow)}.plan-card{margin-top:0}.mini-title,.panel-head,.module-number{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:900}.module-number{color:var(--cyan)}.status-card strong,.plan-card strong{display:block;margin:9px 0 6px}.status-card span,.plan-card span,.plan-card em{display:block;color:var(--muted);font-size:13px;font-style:normal}.meter{height:8px;border-radius:999px;background:#142136;margin-top:16px;overflow:hidden}.meter i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--cyan))}.main-console{position:relative;width:100%;max-width:1480px;margin:0 auto;padding:26px 28px 34px;min-width:0}.top-console{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.backlink{color:#a878ff;text-decoration:none;font-weight:800}.top-console h1{margin:10px 0 6px;font-size:32px;letter-spacing:-.04em}.top-console p{margin:0;color:var(--muted)}.top-actions,.button-row{display:flex;gap:10px;flex-wrap:wrap}.outline-btn,.primary-btn{border:1px solid rgba(126,171,255,.25);background:rgba(12,22,38,.8);color:var(--text);border-radius:12px;padding:11px 15px;text-decoration:none;font-weight:800;cursor:pointer}.primary-btn{background:linear-gradient(90deg,var(--violet),var(--cyan));border-color:transparent;color:#02111a}.outline-btn:hover{border-color:var(--cyan);box-shadow:0 0 24px rgba(0,229,255,.16)}.module-switcher{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 16px}.module-card{border:1px solid rgba(126,171,255,.17);background:linear-gradient(180deg,rgba(13,24,42,.82),rgba(7,12,22,.92));border-radius:16px;padding:15px;text-align:left;color:var(--soft);cursor:pointer;min-height:118px;box-shadow:var(--shadow)}.module-card span{color:var(--cyan);font-size:12px;letter-spacing:.18em;font-weight:900}.module-card strong{display:block;color:#fff;font-size:16px;margin:10px 0 7px}.module-card em{font-style:normal;color:var(--muted);font-size:12px;line-height:1.35}.module-card.active,.module-card:hover{border-color:rgba(0,229,255,.45);background:linear-gradient(135deg,rgba(0,229,255,.13),rgba(124,45,255,.22))}.tabs{display:flex;gap:6px;border-bottom:1px solid rgba(126,171,255,.16);margin-bottom:18px;overflow:auto}.tab{padding:12px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em;cursor:pointer}.tab.active{color:#fff;border-bottom-color:var(--violet)}.view{display:none}.view.active{display:block}.panel{border:1px solid rgba(126,171,255,.17);background:linear-gradient(180deg,rgba(13,24,42,.88),rgba(7,12,22,.92));border-radius:16px;padding:16px;box-shadow:var(--shadow);min-width:0}.panel h2{font-size:25px;margin:8px 0 10px;letter-spacing:-.035em}.panel p{color:var(--muted);line-height:1.55}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#d7e7ff}.intro-panel{margin-bottom:14px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.compact-stat span{color:var(--cyan);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.compact-stat strong{display:block;font-size:28px;margin:8px 0}.console-note{margin-top:14px;color:var(--muted);border:1px solid rgba(126,171,255,.14);border-radius:14px;padding:14px;background:rgba(255,255,255,.03)}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span-2{grid-column:1/3}.big-drop{display:grid;place-items:center;min-height:210px;border:1px dashed rgba(0,229,255,.45);border-radius:18px;background:rgba(0,229,255,.06);cursor:pointer;text-align:center}.big-drop span{font-size:42px;color:var(--cyan)}.big-drop strong{font-size:21px}.big-drop em{font-style:normal;color:var(--muted)}.form-grid{display:grid;gap:14px}label{color:var(--soft);font-weight:750}select,input,textarea{width:100%;margin-top:8px;background:#0b1322;border:1px solid rgba(126,171,255,.22);color:var(--text);border-radius:12px;padding:13px;font:inherit}textarea{resize:vertical}.check-row{display:flex;align-items:center;gap:12px;background:#0b1322;border:1px solid rgba(126,171,255,.18);padding:13px;border-radius:12px}.check-row input{width:auto;margin:0}.ref-counts,.report-grid,.platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.ref-counts div,.report-grid div,.platform-grid span,.console-output,.text-result{border:1px solid rgba(126,171,255,.16);background:rgba(255,255,255,.035);border-radius:14px;padding:16px}.ref-counts strong,.report-grid strong{display:block;font-size:24px;color:#fff}.ref-counts span,.report-grid span{color:var(--muted);font-size:13px}.calibration-panel{margin-top:18px}.calibration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.calibration-grid label{border:1px solid rgba(126,171,255,.16);background:rgba(255,255,255,.035);border-radius:14px;padding:15px;color:var(--soft)}.calibration-grid strong{float:right;color:#fff}.calibration-grid input{accent-color:var(--cyan);padding:0}.fine-print{font-size:14px;margin-bottom:0}.audio-graphics{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.56fr);gap:16px;margin-top:18px}.hero-panel{grid-column:1/2}.right-stack{display:flex;flex-direction:column;gap:16px;grid-column:2/3;grid-row:1/span 4}.spectrum-wrap{display:grid;grid-template-columns:1fr 220px;gap:14px;align-items:stretch}.spectrum-wrap canvas,.panel canvas{width:100%;display:block;border-radius:10px;background:#02060c;border:1px solid rgba(126,171,255,.12)}#spectrogramCanvas,#freqCanvas{height:360px}#waveCanvas{height:210px}#loudCanvas,#drCanvas{height:190px}#corrCanvas{height:190px;max-width:240px;margin:auto}#bigUniverseCanvas{height:540px}.seg{display:flex;border:1px solid rgba(126,171,255,.2);border-radius:10px;overflow:hidden}.seg button{border:0;background:transparent;color:var(--muted);padding:7px 14px;font-weight:700}.seg .active{background:rgba(124,45,255,.35);color:#fff}.donut-row{display:flex;align-items:center;gap:16px}.legend{flex:1}.legend p{display:flex;align-items:center;gap:9px;justify-content:space-between;color:var(--soft)}.legend i{width:12px;height:12px;border-radius:50%;display:inline-block}.c-human{background:var(--cyan)}.c-hybrid{background:var(--violet)}.c-synth{background:var(--mag)}.quality-list{display:grid;gap:13px}.quality-row{display:grid;grid-template-columns:145px 1fr 68px;gap:12px;align-items:center;color:var(--soft);font-size:14px}.bar{height:5px;border-radius:99px;background:#132239;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan))}.insights{padding-left:20px;color:var(--soft);line-height:1.55}.insights li::marker{color:var(--green)}.waveform-panel{grid-column:1/2}.small-panel{min-height:220px}.correlation-panel{max-width:320px}.arc{height:104px;border-radius:999px;border-top:11px solid var(--cyan);display:grid;place-items:center;text-align:center;color:var(--cyan);font-weight:900}.arc strong{font-size:28px;color:#e9f8ff}.arc span{display:block;color:var(--cyan);font-size:14px}.phase-bars{display:flex;align-items:end;gap:3px;height:36px;margin-top:12px}.phase-bars i{flex:1;background:linear-gradient(0deg,var(--green),var(--cyan));border-radius:3px 3px 0 0}.loud-panel{min-height:220px}.layers-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px;margin-top:18px}.layer-list{display:grid;gap:12px}.layer-list div,.provider{border:1px solid rgba(0,229,255,.22);border-radius:18px;padding:18px;background:rgba(255,255,255,.035)}.layer-list strong,.provider strong{display:block;font-size:19px;color:#fff;margin-bottom:6px}.layer-list span,.provider span{display:inline-block;margin:8px 8px 0 0;border:1px solid rgba(126,171,255,.2);border-radius:999px;padding:8px 12px;color:var(--soft);font-weight:800}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.provider.green{border-color:rgba(32,255,136,.3)}.provider.amber{border-color:rgba(255,216,77,.32)}.url-box{display:grid;grid-template-columns:1fr auto;gap:12px;margin:18px 0}.ok{color:var(--green)}.warn{color:var(--amber)}.console-output{color:var(--soft);margin-top:16px}.text-result span{font-size:34px;font-weight:900;color:var(--cyan);display:block;margin-top:8px}.image-console canvas{margin-top:16px;max-height:360px;object-fit:contain}.transport{margin-top:20px;display:grid;grid-template-columns:auto auto auto auto 1fr auto;gap:12px;align-items:center;border:1px solid rgba(126,171,255,.18);background:rgba(5,10,20,.82);backdrop-filter:blur(18px);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow)}.transport button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(126,171,255,.2);background:#0d1626;color:#fff}.transport .play{background:linear-gradient(135deg,var(--violet),var(--cyan));color:#050912}.transport canvas{height:48px;border:0;background:transparent}.zoom{display:flex;align-items:center;gap:8px;color:var(--muted)}.zoom button{border-radius:9px;width:auto;padding:0 10px}@media(max-width:1320px){.module-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}.audio-graphics,.layers-grid{grid-template-columns:1fr}.right-stack{grid-column:auto;grid-row:auto}.spectrum-wrap{grid-template-columns:1fr}.correlation-panel{max-width:none}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:940px){.console-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main-console{padding:20px 14px}.top-console{flex-direction:column}.module-grid,.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.module-switcher{grid-template-columns:1fr 1fr}.calibration-grid,.provider-grid{grid-template-columns:1fr 1fr}.ref-counts,.report-grid,.platform-grid{grid-template-columns:1fr 1fr}.transport{grid-template-columns:auto auto auto 1fr}.zoom{display:none}}@media(max-width:640px){.module-switcher,.calibration-grid,.provider-grid,.ref-counts,.report-grid,.platform-grid{grid-template-columns:1fr}.quality-row{grid-template-columns:1fr}.donut-row{flex-direction:column}.transport{display:none}.top-console h1{font-size:27px}}

/* V20.2 layout correction: correlation and stereo width share the same row. */
.spatial-row{grid-column:1/2;display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:stretch}
.spatial-row .panel{min-height:220px}
.correlation-panel{max-width:none}
.stereo-panel .arc{height:104px;margin-top:8px}
@media(max-width:900px){.spatial-row{grid-template-columns:1fr}}

.big-drop.drag-active{border-color:var(--cyan);background:rgba(0,229,255,.13);box-shadow:inset 0 0 40px rgba(0,229,255,.12),0 0 30px rgba(0,229,255,.12)}

/* V20.3 functional-state refinements */
.big-drop.drag-active{border-color:var(--cyan)!important;background:rgba(0,229,255,.15)!important;box-shadow:inset 0 0 44px rgba(0,229,255,.14),0 0 36px rgba(0,229,255,.16)!important}
.metric-line b{color:var(--cyan)}
.console-output .primary-btn{display:inline-block;margin-top:8px}
.text-result p{line-height:1.6}

/* V20.8 clean live graph sizing */
.spectrum-wrap canvas,
#waveCanvas,
#loudCanvas,
#drCanvas,
#corrCanvas,
#freqCanvas { background:#02060c; image-rendering:auto; }
.loud-panel canvas { width:100%; height:220px; display:block; }
#spectrogramCanvas { min-height:360px; }
#freqCanvas { min-height:360px; }
#waveCanvas { min-height:210px; }
#corrCanvas { height:260px; }

/* Smooth slider handling: keep calibration controls responsive during drag. */
body.calibration-dragging canvas {
  pointer-events: none;
}
input[type="range"] {
  cursor: pointer;
  touch-action: pan-x;
  will-change: auto;
}
input[type="range"]::-webkit-slider-thumb {
  cursor: grab;
}
input[type="range"]:active::-webkit-slider-thumb {
  cursor: grabbing;
}
