:root {
  --bg: #090e18;
  --bg-soft: #0d1422;
  --panel: rgba(18, 27, 44, .88);
  --panel-solid: #121b2c;
  --panel-2: #172238;
  --line: #26344d;
  --line-soft: rgba(130, 151, 185, .16);
  --text: #f5f7fb;
  --muted: #91a0b7;
  --muted-2: #65748b;
  --accent: #72e6c4;
  --accent-strong: #38cfa7;
  --accent-soft: rgba(78, 222, 184, .12);
  --blue: #74a7ff;
  --warning: #f6c86a;
  --danger: #ff7d8a;
  --success: #71dfad;
  --shadow: 0 22px 60px rgba(0,0,0,.34);
  --radius: 18px;
  --radius-sm: 11px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: var(--font);
  background:
    radial-gradient(circle at 80% -10%, rgba(66, 129, 196, .16), transparent 34rem),
    radial-gradient(circle at 0% 20%, rgba(44, 202, 165, .09), transparent 30rem),
    var(--bg);
  font-size: 15px;
  line-height: 1.5;
}
button, input, select { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
[hidden] { display: none !important; }

::selection { background: rgba(114, 230, 196, .28); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(129, 148, 181, .13);
  background: rgba(9, 14, 24, .82);
  backdrop-filter: blur(18px);
}
.topbar-inner {
  max-width: 1420px;
  height: 72px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  gap: 26px;
}
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.brand-mark {
  width: 38px; height: 38px; display: grid; place-items: center;
  color: var(--accent); background: var(--accent-soft); border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(114, 230, 196, .13);
}
.brand-mark svg { width: 29px; height: 29px; }
.brand-mark.large { width: 52px; height: 52px; border-radius: 15px; }
.brand strong { display: block; font-size: 16px; letter-spacing: -.02em; }
.brand small { display: block; color: var(--muted); font-size: 11px; line-height: 1.2; margin-top: 1px; }
.brand-centered { justify-content: center; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 9px; }
.main-nav > a:not(.button) { color: var(--muted); padding: 9px 12px; border-radius: 9px; font-weight: 600; }
.main-nav > a:not(.button):hover, .main-nav > a.active { color: var(--text); background: rgba(255,255,255,.045); }

.page-shell { max-width: 1420px; width: 100%; margin: 0 auto; padding: 38px 28px 72px; }
.footer {
  max-width: 1420px; margin: 0 auto; padding: 24px 28px 34px;
  display: flex; justify-content: space-between; gap: 16px;
  color: var(--muted-2); border-top: 1px solid var(--line-soft); font-size: 12px;
}

h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 10px; font-size: clamp(30px, 4vw, 46px); line-height: 1.07; letter-spacing: -.045em; }
h2 { margin-bottom: 7px; font-size: 22px; line-height: 1.2; letter-spacing: -.025em; }
h3 { margin-bottom: 4px; font-size: 17px; letter-spacing: -.015em; }
p { color: var(--muted); }
.eyebrow { display: block; margin-bottom: 8px; color: var(--accent); text-transform: uppercase; letter-spacing: .13em; font-size: 11px; font-weight: 800; }

.button {
  border: 0; border-radius: 11px; padding: 10px 15px; min-height: 42px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  cursor: pointer; font-weight: 750; transition: .18s ease; white-space: nowrap;
}
.button:hover { transform: translateY(-1px); }
.button:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.button-primary { color: #071712; background: linear-gradient(135deg, #87eed0, #49d7af); box-shadow: 0 9px 24px rgba(44, 205, 164, .16); }
.button-primary:hover { box-shadow: 0 12px 30px rgba(44, 205, 164, .25); }
.button-secondary { color: var(--text); border: 1px solid var(--line); background: rgba(255,255,255,.035); }
.button-secondary:hover { border-color: #425574; background: rgba(255,255,255,.06); }
.button-ghost { color: var(--muted); background: transparent; border: 1px solid transparent; }
.button-ghost:hover { color: var(--text); background: rgba(255,255,255,.04); }
.button-danger { color: #210509; background: var(--danger); }
.button-large { min-height: 50px; padding-inline: 20px; border-radius: 13px; }
.button-small { min-height: 35px; padding: 7px 11px; border-radius: 9px; font-size: 13px; }
.full-width { width: 100%; }
.icon-button {
  width: 38px; height: 38px; flex: 0 0 38px; padding: 0; border: 0; border-radius: 10px;
  display: inline-grid; place-items: center; background: transparent; color: var(--muted); cursor: pointer;
}
.icon-button:hover { color: var(--text); background: rgba(255,255,255,.055); }
.icon-button svg { width: 21px; height: 21px; }

.panel {
  background: linear-gradient(150deg, rgba(22, 33, 54, .92), rgba(15, 23, 39, .92));
  border: 1px solid var(--line-soft); border-radius: var(--radius); box-shadow: 0 14px 40px rgba(0,0,0,.15);
}
.hero-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 32px; }
.hero-row > div { max-width: 760px; }
.hero-row p { margin: 0; font-size: 16px; max-width: 700px; }
.hero-row.compact { margin-bottom: 25px; }
.breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 22px; color: var(--muted-2); font-size: 13px; }
.breadcrumb a:hover { color: var(--text); }
.breadcrumb strong { max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }

.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.stat-card { padding: 20px; border: 1px solid var(--line-soft); border-radius: 15px; background: rgba(18, 27, 44, .68); }
.stat-card span, .stat-card small { display: block; color: var(--muted); }
.stat-card span { font-size: 12px; font-weight: 700; }
.stat-card strong { display: block; margin: 7px 0 3px; font-size: 27px; letter-spacing: -.04em; }
.stat-card small { font-size: 11px; }

.library-panel { overflow: hidden; }
.panel-toolbar { min-height: 68px; padding: 13px 17px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line-soft); }
.filter-tabs { display: flex; gap: 4px; overflow-x: auto; }
.filter-tab { padding: 8px 12px; color: var(--muted); border-radius: 9px; font-size: 13px; font-weight: 700; }
.filter-tab:hover, .filter-tab.active { color: var(--text); background: rgba(255,255,255,.055); }
.search-form { width: 235px; height: 40px; position: relative; }
.search-form svg { position: absolute; left: 12px; top: 10px; width: 19px; color: var(--muted-2); }
.search-form input { width: 100%; height: 100%; padding: 0 12px 0 38px; color: var(--text); background: rgba(6, 11, 20, .48); border: 1px solid var(--line); border-radius: 10px; outline: none; }
.search-form input:focus { border-color: rgba(114, 230, 196, .65); }
.jobs-table-wrap { overflow-x: auto; }
.jobs-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.jobs-table th { padding: 12px 18px; color: var(--muted-2); text-align: left; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.jobs-table td { padding: 17px 18px; border-top: 1px solid var(--line-soft); vertical-align: middle; }
.jobs-table tbody tr { transition: background .15s ease; }
.jobs-table tbody tr:hover { background: rgba(255,255,255,.018); }
.job-name { display: block; max-width: 390px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 750; }
.job-name:hover { color: var(--accent); }
.job-subline { margin-top: 3px; color: var(--muted-2); font-size: 11px; }
.align-right { text-align: right !important; }
.table-actions { white-space: nowrap; }
.preset-label { display: inline-flex; padding: 5px 8px; border-radius: 7px; background: rgba(116, 167, 255, .08); color: #a8c7ff; font-size: 11px; font-weight: 700; }
.status-badge { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.04); font-size: 11px; font-weight: 750; }
.status-badge i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(255,255,255,.04); }
.status-completed { color: var(--success); background: rgba(113,223,173,.09); }
.status-failed { color: var(--danger); background: rgba(255,125,138,.1); }
.status-cancelled { color: var(--warning); background: rgba(246,200,106,.09); }
.status-processing, .status-analyzing, .status-normalizing, .status-rendering { color: var(--blue); background: rgba(116,167,255,.09); }
.status-queued { color: var(--muted); }
.status-processing i, .status-analyzing i, .status-normalizing i, .status-rendering i { animation: pulse 1.5s infinite; }
@keyframes pulse { 50% { opacity: .35; transform: scale(.72); } }
.mini-progress { width: 130px; height: 3px; margin-top: 7px; background: rgba(255,255,255,.06); border-radius: 3px; overflow: hidden; }
.mini-progress span { display: block; height: 100%; background: var(--blue); }
.empty-state { min-height: 340px; padding: 50px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-state.wide { max-width: 700px; margin: 70px auto; }
.empty-state h1, .empty-state h2 { margin-bottom: 6px; }
.empty-state p { max-width: 470px; }
.empty-icon { width: 74px; height: 74px; margin-bottom: 20px; display: grid; place-items: center; color: var(--accent); background: var(--accent-soft); border-radius: 22px; font-size: 21px; font-weight: 850; }
.empty-icon svg { width: 48px; }

/* Builder */
.job-builder { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 22px; align-items: start; }
.builder-main { padding: 25px; }
.builder-sidebar { min-width: 0; }
.sticky-card { position: sticky; top: 94px; padding: 24px; }
.section-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 18px; }
.section-heading h2 { margin-bottom: 4px; }
.section-heading p { margin: 0; font-size: 13px; }
.step-number { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; color: var(--accent); background: var(--accent-soft); border-radius: 9px; font-size: 12px; font-weight: 850; }
.section-divider { height: 1px; margin: 27px 0; background: var(--line-soft); }
.drop-zone { min-height: 220px; padding: 26px; border: 1px dashed #3c506f; border-radius: 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; text-align: center; background: rgba(5, 11, 20, .26); cursor: pointer; transition: .18s ease; }
.drop-zone:hover, .drop-zone.drag-over { border-color: var(--accent); background: var(--accent-soft); transform: translateY(-1px); }
.drop-icon { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 18px; background: rgba(114, 230, 196, .09); color: var(--accent); }
.drop-icon svg { width: 35px; }
.drop-copy strong, .drop-copy span { display: block; }
.drop-copy strong { font-size: 17px; }
.drop-copy span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.selected-file { width: min(580px,100%); padding: 14px; display: flex; align-items: center; gap: 13px; background: var(--panel-2); border: 1px solid #33435f; border-radius: 13px; text-align: left; }
.selected-file > div:nth-child(2) { min-width: 0; flex: 1; }
.selected-file strong, .selected-file span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-file span { color: var(--muted); font-size: 11px; margin-top: 2px; }
.file-type { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; color: var(--accent); background: var(--accent-soft); font-size: 10px; font-weight: 900; }
.preset-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.preset-card { min-height: 180px; position: relative; padding: 18px; text-align: left; color: var(--text); border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.018); cursor: pointer; transition: .18s ease; }
.preset-card:hover { border-color: #425777; transform: translateY(-2px); }
.preset-card.selected { border-color: var(--accent); background: linear-gradient(145deg, rgba(72, 221, 181, .12), rgba(255,255,255,.015)); box-shadow: inset 0 0 0 1px rgba(114,230,196,.12); }
.preset-card strong, .preset-card small { display: block; }
.preset-card strong { font-size: 16px; }
.preset-card p { min-height: 56px; margin: 8px 0 8px; font-size: 12px; }
.preset-card small { color: var(--muted-2); font-size: 10px; }
.preset-icon { width: 34px; height: 34px; margin-bottom: 13px; display: grid; place-items: center; border-radius: 10px; background: rgba(116,167,255,.1); color: #a8c7ff; font-size: 12px; font-weight: 900; }
.preset-card.selected .preset-icon { background: var(--accent-soft); color: var(--accent); }
.recommended-pill { position: absolute; top: 12px; right: 12px; padding: 4px 7px; border-radius: 6px; color: var(--accent); background: var(--accent-soft); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.advanced-panel { margin-top: 20px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.advanced-panel summary, .event-panel summary { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.advanced-panel summary::-webkit-details-marker, .event-panel summary::-webkit-details-marker { display: none; }
.advanced-panel summary span:first-child strong, .advanced-panel summary span:first-child small, .event-panel summary span:first-child strong, .event-panel summary span:first-child small { display: block; }
.advanced-panel summary small, .event-panel summary small { color: var(--muted); margin-top: 2px; }
.chevron { transition: transform .2s ease; }
details[open] > summary .chevron { transform: rotate(180deg); }
.advanced-content { padding: 0 18px 18px; border-top: 1px solid var(--line-soft); }
.control-group { padding: 22px 0; border-bottom: 1px solid var(--line-soft); }
.control-group-title { margin-bottom: 17px; }
.control-group-title p { margin: 0; font-size: 12px; }
.control-grid { display: grid; gap: 18px 24px; }
.control-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.parameter-field > span { display: block; margin-bottom: 9px; }
.parameter-field b, .parameter-field i { display: block; }
.parameter-field b { font-size: 12px; }
.parameter-field i { color: var(--muted-2); font-size: 10px; font-style: normal; margin-top: 2px; }
.range-row { display: grid; grid-template-columns: minmax(80px,1fr) 82px auto; gap: 8px; align-items: center; }
.range-row input[type="number"] { width: 100%; height: 36px; padding: 0 8px; color: var(--text); background: rgba(5,10,18,.48); border: 1px solid var(--line); border-radius: 8px; }
.range-row em { min-width: 31px; color: var(--muted-2); font-style: normal; font-size: 10px; }
input[type="range"] { width: 100%; accent-color: var(--accent); }
.toggle-row { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.toggle-row strong, .toggle-row small { display: block; }
.toggle-row small { color: var(--muted); font-size: 11px; }
.switch { width: 46px; height: 26px; position: relative; flex: 0 0 auto; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch span { position: absolute; inset: 0; border-radius: 999px; background: #283650; transition: .18s; }
.switch span::after { content:""; width: 20px; height: 20px; position: absolute; left: 3px; top: 3px; border-radius: 50%; background: #a6b2c5; transition: .18s; }
.switch input:checked + span { background: var(--accent-strong); }
.switch input:checked + span::after { transform: translateX(20px); background: white; }
.advanced-footer { padding-top: 18px; display: flex; justify-content: space-between; gap: 12px; }
.summary-list { margin: 20px 0; }
.summary-list > div { padding: 11px 0; display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line-soft); }
.summary-list dt { color: var(--muted); }
.summary-list dd { margin: 0; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: right; font-weight: 700; }
.safety-note { margin: 18px 0; padding: 13px; display: flex; gap: 10px; border-radius: 11px; background: rgba(116,167,255,.07); border: 1px solid rgba(116,167,255,.12); }
.safety-note > span { width: 21px; height: 21px; flex: 0 0 21px; display: grid; place-items: center; border-radius: 50%; background: rgba(116,167,255,.14); color: #a8c7ff; font-weight: 900; font-size: 11px; }
.safety-note p { margin: 0; font-size: 10px; }
.safety-note strong { display: block; color: var(--text); font-size: 11px; margin-bottom: 2px; }
.submit-footnote { margin: 10px 0 0; text-align: center; font-size: 10px; }
.upload-overlay { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: rgba(4,8,15,.82); backdrop-filter: blur(10px); }
.upload-modal { width: min(460px, calc(100% - 32px)); padding: 34px; text-align: center; background: var(--panel-solid); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.spinner-ring { width: 48px; height: 48px; margin: 0 auto 18px; border: 3px solid rgba(255,255,255,.1); border-top-color: var(--accent); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.upload-modal p { margin-bottom: 18px; }
.upload-modal > strong { display: block; margin-top: 9px; }
.upload-modal > small { display: block; margin-top: 16px; color: var(--muted); }

/* Job */
.job-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.job-title-block { min-width: 0; display: flex; gap: 15px; align-items: center; }
.file-emblem { width: 53px; height: 58px; flex: 0 0 53px; display: grid; place-items: center; border-radius: 14px; color: var(--accent); background: var(--accent-soft); border: 1px solid rgba(114,230,196,.12); font-size: 10px; font-weight: 900; }
.job-title-line { display: flex; align-items: center; gap: 12px; min-width: 0; }
.job-title-line h1 { max-width: 790px; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(25px,3vw,36px); }
.job-title-block p { margin: 5px 0 0; font-size: 12px; }
.job-actions { position: relative; display: flex; gap: 9px; }
.action-menu { min-width: 230px; position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; padding: 7px; background: #172238; border: 1px solid #33435e; border-radius: 12px; box-shadow: var(--shadow); }
.action-menu a, .action-menu button { width: 100%; padding: 9px 10px; display: block; color: var(--muted); background: transparent; border: 0; border-radius: 8px; text-align: left; cursor: pointer; font-size: 12px; }
.action-menu a:hover, .action-menu button:hover { color: var(--text); background: rgba(255,255,255,.05); }
.action-menu .danger-text { color: var(--danger); }
.menu-divider { height: 1px; margin: 5px 3px; background: var(--line); }
.progress-panel { padding: 24px; margin-bottom: 24px; }
.progress-heading { display: flex; justify-content: space-between; gap: 18px; }
.progress-heading h2 { margin-bottom: 5px; }
.progress-heading p { margin: 0; }
.progress-number { font-size: 32px; letter-spacing: -.04em; }
.large-progress { width: 100%; height: 8px; margin-top: 20px; background: rgba(255,255,255,.07); border-radius: 999px; overflow: hidden; }
.large-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--accent-strong), #89efd3); border-radius: inherit; transition: width .4s ease; }
.stage-track { margin: 20px 4px 0; display: grid; grid-template-columns: repeat(6,1fr); position: relative; }
.stage-track::before { content:""; height: 1px; position: absolute; left: 4%; right: 4%; top: 6px; background: var(--line); }
.stage-node { position: relative; z-index: 1; color: var(--muted-2); text-align: center; font-size: 10px; }
.stage-node i { width: 13px; height: 13px; margin: 0 auto 7px; display: block; border: 2px solid var(--line); background: var(--panel-solid); border-radius: 50%; }
.stage-node.complete { color: var(--muted); }
.stage-node.complete i { border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 4px rgba(114,230,196,.08); }
.stage-node.active { color: var(--text); }
.stage-node.active i { border-color: var(--blue); background: var(--blue); box-shadow: 0 0 0 5px rgba(116,167,255,.1); }
.live-metrics { margin-top: 22px; display: grid; grid-template-columns: repeat(8,1fr); border: 1px solid var(--line-soft); border-radius: 12px; overflow: hidden; }
.live-metrics article { min-width: 0; padding: 13px; border-right: 1px solid var(--line-soft); background: rgba(5,10,18,.18); }
.live-metrics article:last-child { border-right: 0; }
.live-metrics span, .live-metrics strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-metrics span { color: var(--muted-2); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.live-metrics strong { margin-top: 4px; font-size: 13px; }
.alert { padding: 14px 16px; display: flex; align-items: center; gap: 12px; border-radius: 12px; }
.alert-error { color: #ffd3d8; background: rgba(255,125,138,.09); border: 1px solid rgba(255,125,138,.18); }
.alert p { margin: 2px 0 0; color: inherit; opacity: .78; font-size: 12px; }
.job-error { margin-bottom: 22px; justify-content: space-between; }
.results-section { display: grid; gap: 20px; }
.section-title-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-top: 10px; }
.section-title-row p { margin-bottom: 0; }
.technical-disclaimer { max-width: 330px; color: var(--muted-2); font-size: 11px; text-align: right; }
.ab-panel { padding: 22px; }
.ab-topline { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.ab-switch { padding: 4px; display: inline-flex; gap: 3px; background: rgba(5,10,18,.58); border: 1px solid var(--line); border-radius: 11px; }
.ab-switch button { padding: 8px 13px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-weight: 750; font-size: 12px; }
.ab-switch button.active { color: #071712; background: var(--accent); }
.ab-hint { color: var(--muted-2); font-size: 10px; }
.player-row { display: flex; align-items: center; gap: 12px; }
.play-button { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #071712; background: var(--accent); cursor: pointer; }
.play-button span { transform: translateX(1px); }
.player-seek { flex: 1; }
.player-time { width: 42px; color: var(--muted); font-variant-numeric: tabular-nums; font-size: 11px; text-align: center; }
.volume-range { width: 80px; }
.waveform-canvas { width: 100%; height: 180px; margin-top: 16px; display: block; border-radius: 10px; background: rgba(5,10,18,.34); }
.waveform-legend { margin-top: 8px; display: flex; gap: 16px; justify-content: flex-end; color: var(--muted); font-size: 10px; }
.waveform-legend span { display: flex; align-items: center; gap: 6px; }
.waveform-legend i { width: 16px; height: 2px; display: inline-block; }
.legend-original { background: #7488a6; }
.legend-cleaned { background: var(--accent); }
.improvement-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.improvement-card { min-height: 145px; padding: 18px; display: flex; flex-direction: column; border: 1px solid var(--line-soft); border-radius: 15px; background: rgba(18,27,44,.65); }
.improvement-card.accent { background: linear-gradient(145deg, rgba(72,221,181,.13), rgba(18,27,44,.65)); border-color: rgba(114,230,196,.18); }
.improvement-card span { color: var(--muted); font-size: 11px; font-weight: 700; }
.improvement-card strong { margin: 13px 0 5px; font-size: 30px; letter-spacing: -.045em; }
.improvement-card small { margin-top: auto; color: var(--muted-2); font-size: 10px; }
.results-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(300px,.8fr); gap: 20px; }
.metrics-panel, .config-summary-panel, .spectrum-panel, .file-management-panel { padding: 21px; }
.panel-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 17px; }
.panel-heading p { margin: 0; font-size: 11px; }
.metrics-table { border: 1px solid var(--line-soft); border-radius: 11px; overflow: hidden; }
.metrics-row { min-height: 43px; padding: 9px 12px; display: grid; grid-template-columns: minmax(150px,1.5fr) repeat(3,minmax(80px,.7fr)); gap: 10px; align-items: center; border-top: 1px solid var(--line-soft); font-size: 11px; }
.metrics-row:first-child { border-top: 0; }
.metrics-row.header { min-height: 34px; color: var(--muted-2); background: rgba(5,10,18,.34); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.metrics-row span:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
.metrics-row span:first-child { color: var(--muted); }
.metric-good { color: var(--success); }
.metric-warn { color: var(--warning); }
.config-summary { margin: 0; }
.config-summary > div { padding: 10px 0; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line-soft); }
.config-summary dt { color: var(--muted); }
.config-summary dd { margin: 0; text-align: right; font-weight: 700; }
.processing-note { margin-top: 18px; padding: 13px; background: rgba(116,167,255,.07); border-radius: 10px; }
.processing-note p { margin: 3px 0 0; font-size: 10px; }
.spectrum-heading { align-items: center; }
.view-tabs { display: flex; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: rgba(5,10,18,.3); }
.view-tabs button { padding: 7px 10px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; cursor: pointer; font-size: 10px; font-weight: 750; }
.view-tabs button.active { color: var(--text); background: rgba(255,255,255,.08); }
.spectrum-frame { min-height: 330px; display: grid; place-items: center; overflow: hidden; border-radius: 11px; background: #0d1321; border: 1px solid var(--line-soft); }
.spectrum-frame img { width: 100%; display: block; }
.file-management-panel { display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.file-management-panel p { margin: 0; font-size: 11px; }
.file-chips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.file-chip { min-width: 112px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(5,10,18,.24); }
.file-chip:hover { border-color: #425777; }
.file-chip span, .file-chip strong { display: block; }
.file-chip span { color: var(--muted); font-size: 9px; }
.file-chip strong { margin-top: 2px; font-size: 11px; }
.event-panel { padding: 0 18px; }
.event-list { list-style: none; padding: 0 0 18px; margin: 0; border-top: 1px solid var(--line-soft); }
.event-list li { padding: 14px 4px; display: flex; gap: 12px; border-bottom: 1px solid var(--line-soft); }
.event-list li > i { width: 9px; height: 9px; flex: 0 0 9px; margin-top: 5px; border-radius: 50%; background: var(--blue); }
.event-list .event-success > i { background: var(--success); }
.event-list .event-warning > i { background: var(--warning); }
.event-list .event-error > i { background: var(--danger); }
.event-list strong { font-size: 12px; }
.event-list p { margin: 2px 0; font-size: 11px; }
.event-list time { color: var(--muted-2); font-size: 9px; }

/* Login, dialogs, toasts */
.login-page { background: radial-gradient(circle at 50% 0, rgba(61,151,132,.18), transparent 38rem), var(--bg); }
.login-shell { min-height: 100vh; padding: 24px; display: grid; place-items: center; }
.login-card { width: min(410px,100%); padding: 34px; background: rgba(18,27,44,.94); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); }
.login-heading { margin: 30px 0 23px; text-align: center; }
.login-heading h1 { margin-bottom: 5px; font-size: 29px; }
.login-heading p { margin: 0; font-size: 12px; }
.stack-form { display: grid; gap: 14px; }
.field > span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.field input { width: 100%; height: 45px; padding: 0 12px; color: var(--text); background: rgba(5,10,18,.48); border: 1px solid var(--line); border-radius: 10px; }
.field input:focus { border-color: var(--accent); outline: none; }
.toast-region { position: fixed; right: 20px; bottom: 20px; z-index: 150; display: grid; gap: 9px; }
.toast { width: min(360px, calc(100vw - 40px)); padding: 13px 15px; display: flex; gap: 10px; align-items: flex-start; background: #172238; border: 1px solid #364660; border-radius: 12px; box-shadow: var(--shadow); animation: toast-in .22s ease; }
.toast strong, .toast span { display: block; }
.toast span { color: var(--muted); font-size: 11px; margin-top: 2px; }
.toast.error { border-color: rgba(255,125,138,.45); }
@keyframes toast-in { from { opacity:0; transform: translateY(10px); } }
.confirm-dialog { width: min(420px,calc(100% - 30px)); padding: 0; color: var(--text); background: #172238; border: 1px solid #3a4962; border-radius: 18px; box-shadow: var(--shadow); }
.confirm-dialog::backdrop { background: rgba(2,6,12,.76); backdrop-filter: blur(6px); }
.confirm-dialog form { padding: 25px; text-align: center; }
.dialog-icon { width: 44px; height: 44px; margin: 0 auto 14px; display: grid; place-items: center; color: var(--danger); background: rgba(255,125,138,.1); border-radius: 14px; font-weight: 900; }
.confirm-dialog h2 { margin-bottom: 5px; }
.confirm-dialog p { margin-bottom: 20px; }
.dialog-actions { display: flex; justify-content: center; gap: 9px; }

@media (max-width: 1100px) {
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .job-builder { grid-template-columns: 1fr; }
  .sticky-card { position: static; }
  .builder-sidebar { order: -1; }
  .summary-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 20px; }
  .improvement-grid { grid-template-columns: repeat(2,1fr); }
  .results-grid { grid-template-columns: 1fr; }
  .live-metrics { grid-template-columns: repeat(4,1fr); }
  .live-metrics article:nth-child(4n) { border-right: 0; }
  .live-metrics article:nth-child(-n+4) { border-bottom: 1px solid var(--line-soft); }
}

@media (max-width: 760px) {
  .topbar-inner { height: 64px; padding: 0 16px; }
  .brand small { display: none; }
  .main-nav > a:not(.button) { display: none; }
  .page-shell { padding: 26px 16px 55px; }
  .footer { padding-inline: 16px; flex-direction: column; }
  .hero-row { align-items: flex-start; flex-direction: column; }
  .hero-row .button { width: 100%; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .panel-toolbar { align-items: stretch; flex-direction: column; }
  .search-form { width: 100%; }
  .builder-main { padding: 18px; }
  .preset-grid { grid-template-columns: 1fr; }
  .preset-card { min-height: 145px; }
  .preset-card p { min-height: 0; }
  .control-grid.two { grid-template-columns: 1fr; }
  .advanced-footer { flex-direction: column; }
  .summary-list { grid-template-columns: 1fr; }
  .job-header { flex-direction: column; }
  .job-actions { width: 100%; }
  .job-actions > .button { flex: 1; }
  .action-menu { left: 0; right: auto; width: 100%; }
  .job-title-line { align-items: flex-start; flex-direction: column; gap: 7px; }
  .job-title-line h1 { max-width: calc(100vw - 112px); white-space: normal; overflow-wrap: anywhere; }
  .progress-heading { align-items: flex-start; }
  .progress-number { font-size: 25px; }
  .stage-node span { display: none; }
  .stage-track { margin-inline: 0; }
  .live-metrics { grid-template-columns: repeat(2,1fr); }
  .live-metrics article { border-bottom: 1px solid var(--line-soft); }
  .live-metrics article:nth-child(2n) { border-right: 0; }
  .live-metrics article:nth-last-child(-n+2) { border-bottom: 0; }
  .section-title-row { align-items: flex-start; flex-direction: column; }
  .technical-disclaimer { text-align: left; }
  .ab-topline { align-items: flex-start; flex-direction: column; gap: 9px; }
  .player-row { flex-wrap: wrap; }
  .player-seek { order: 5; flex-basis: 100%; }
  .volume-range { display: none; }
  .improvement-grid { grid-template-columns: 1fr 1fr; }
  .metrics-row { grid-template-columns: 1.3fr repeat(3,.75fr); padding-inline: 8px; font-size: 9px; }
  .spectrum-heading { align-items: flex-start; flex-direction: column; }
  .view-tabs { width: 100%; }
  .view-tabs button { flex: 1; }
  .spectrum-frame { min-height: 210px; }
  .file-management-panel { align-items: flex-start; flex-direction: column; }
  .file-chips { justify-content: flex-start; }
}

@media (max-width: 480px) {
  .stats-grid, .improvement-grid { grid-template-columns: 1fr; }
  .stat-card { padding: 16px; }
  .breadcrumb strong { max-width: 48vw; }
  .file-emblem { display: none; }
  .job-title-line h1 { max-width: 92vw; }
  .progress-panel, .ab-panel, .metrics-panel, .config-summary-panel, .spectrum-panel, .file-management-panel { padding: 16px; }
  .metrics-table { overflow-x: auto; }
  .metrics-row { min-width: 580px; }
  .login-card { padding: 26px 20px; }
}

.source-analysis-strip {
  margin-top: 12px;
  display: grid;
  grid-template-columns: minmax(150px,1.25fr) repeat(6,minmax(90px,1fr));
  border: 1px solid var(--line-soft);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(5,10,18,.16);
}
.source-analysis-strip > div,
.source-analysis-strip article { padding: 12px; border-right: 1px solid var(--line-soft); }
.source-analysis-strip article:last-child { border-right: 0; }
.source-analysis-title span, .source-analysis-title small,
.source-analysis-strip article span, .source-analysis-strip article strong { display: block; }
.source-analysis-title span { font-size: 11px; font-weight: 800; }
.source-analysis-title small { margin-top: 2px; color: var(--muted-2); font-size: 9px; }
.source-analysis-strip article span { color: var(--muted-2); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.source-analysis-strip article strong { margin-top: 4px; font-size: 11px; font-variant-numeric: tabular-nums; }
.expert-panel { margin-top: 18px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(5,10,18,.18); }
.expert-panel summary { padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.expert-panel summary::-webkit-details-marker { display: none; }
.expert-panel summary strong, .expert-panel summary small { display: block; }
.expert-panel summary small { margin-top: 2px; color: var(--muted-2); font-size: 10px; }
.expert-content { padding: 16px 14px; border-top: 1px solid var(--line-soft); }
@media (max-width: 1100px) {
  .source-analysis-strip { grid-template-columns: repeat(3,1fr); }
  .source-analysis-title { grid-column: 1 / -1; border-bottom: 1px solid var(--line-soft); }
  .source-analysis-strip article:nth-of-type(3n) { border-right: 0; }
}
@media (max-width: 760px) {
  .source-analysis-strip { grid-template-columns: repeat(2,1fr); }
  .source-analysis-strip article:nth-of-type(3n) { border-right: 1px solid var(--line-soft); }
  .source-analysis-strip article:nth-of-type(2n) { border-right: 0; }
}


/* Adaptive analysis and LLM review workflow */
.compact-note { margin-top: 16px; }
.adaptive-review-panel { padding: 24px; }
.adaptive-review-heading { align-items: flex-start; }
.adaptive-review-heading h3 { margin: 4px 0 5px; }
.adaptive-review-heading p { max-width: 760px; margin: 0; }
.plan-status { padding: 7px 10px; color: var(--muted); background: rgba(116,167,255,.07); border: 1px solid rgba(116,167,255,.16); border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.plan-status.plan-active { color: var(--accent); background: rgba(114,230,196,.08); border-color: rgba(114,230,196,.2); }
.adaptive-summary-grid { margin: 20px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.adaptive-summary-grid article { min-height: 105px; padding: 15px; display: flex; flex-direction: column; border: 1px solid var(--line-soft); border-radius: 12px; background: rgba(5,10,18,.2); }
.adaptive-summary-grid span, .adaptive-summary-grid strong, .adaptive-summary-grid small { display: block; }
.adaptive-summary-grid span { color: var(--muted); font-size: 10px; font-weight: 750; }
.adaptive-summary-grid strong { margin: 10px 0 3px; font-size: 23px; letter-spacing: -.035em; }
.adaptive-summary-grid small { color: var(--muted-2); font-size: 9px; }
.adaptive-map-frame { min-height: 290px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 12px; background: #0d1321; }
.adaptive-map-frame img { width: 100%; display: block; }
.llm-workflow-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.llm-workflow-card { min-height: 205px; padding: 17px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; gap: 12px; border: 1px solid var(--line-soft); border-radius: 13px; background: rgba(5,10,18,.2); }
.llm-workflow-card > .button, .llm-workflow-card > .llm-plan-form, .llm-workflow-card > .text-button { grid-column: 1 / -1; }
.workflow-step { width: 29px; height: 29px; display: grid; place-items: center; color: #071712; background: var(--accent); border-radius: 9px; font-size: 12px; font-weight: 900; }
.llm-workflow-card h4 { margin: 0 0 4px; font-size: 13px; }
.llm-workflow-card p { margin: 0; font-size: 10px; }
.llm-workflow-card code { padding: 1px 4px; color: #cfe8ff; background: rgba(116,167,255,.1); border-radius: 4px; font-size: 9px; }
.llm-plan-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.plan-file-picker { min-width: 0; height: 39px; padding: 0 12px; display: flex; align-items: center; color: var(--muted); background: rgba(5,10,18,.42); border: 1px dashed #40526f; border-radius: 9px; cursor: pointer; font-size: 10px; }
.plan-file-picker span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-button { width: max-content; padding: 0; color: var(--muted); background: transparent; border: 0; cursor: pointer; font-size: 10px; }
.plan-summary { margin-top: 13px; padding: 14px 15px; border: 1px solid rgba(114,230,196,.16); border-radius: 11px; background: rgba(114,230,196,.055); }
.plan-summary strong, .plan-summary span { display: block; }
.plan-summary p { margin: 4px 0; color: var(--text); font-size: 11px; }
.plan-summary span { color: var(--muted); font-size: 9px; }
.llm-safety { margin-bottom: 0; }

@media (max-width: 1100px) {
  .adaptive-summary-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .adaptive-review-heading { align-items: flex-start; flex-direction: column; }
  .llm-workflow-grid { grid-template-columns: 1fr; }
  .llm-plan-form { grid-template-columns: 1fr; }
  .adaptive-map-frame { min-height: 200px; }
}
@media (max-width: 480px) {
  .adaptive-review-panel { padding: 16px; }
  .adaptive-summary-grid { grid-template-columns: 1fr; }
}

.adaptive-region-section { margin-top: 14px; padding: 15px; border: 1px solid var(--line-soft); border-radius: 12px; background: rgba(5,10,18,.16); }
.adaptive-region-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.adaptive-region-heading h4 { margin: 0 0 3px; font-size: 12px; }
.adaptive-region-heading p { margin: 0; font-size: 9px; }
.adaptive-region-heading > span { color: var(--muted); font-size: 9px; font-weight: 750; white-space: nowrap; }
.adaptive-region-list { display: grid; gap: 6px; }
.adaptive-region-row { width: 100%; padding: 9px 10px; display: grid; grid-template-columns: 95px minmax(0,1fr) 58px; gap: 12px; align-items: center; color: var(--text); background: rgba(255,255,255,.018); border: 1px solid var(--line-soft); border-radius: 9px; text-align: left; cursor: pointer; }
.adaptive-region-row:hover { background: rgba(116,167,255,.055); border-color: #3c506e; }
.adaptive-region-row span, .adaptive-region-row strong, .adaptive-region-row small { display: block; }
.region-time { color: var(--muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.adaptive-region-row strong { font-size: 10px; }
.adaptive-region-row small { margin-top: 2px; color: var(--muted-2); font-size: 8px; }
.region-severity { color: var(--accent); font-size: 11px; font-weight: 850; text-align: right; font-variant-numeric: tabular-nums; }
.empty-region-state { padding: 13px; color: var(--muted); background: rgba(255,255,255,.018); border-radius: 9px; font-size: 10px; }
@media (max-width: 560px) {
  .adaptive-region-row { grid-template-columns: 78px minmax(0,1fr) 46px; gap: 8px; padding-inline: 8px; }
}

/* Mastering suite v5 */
.mastering-presets { grid-template-columns: repeat(4,minmax(0,1fr)); }
.mastering-presets .preset-card { min-height: 205px; }
.module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.module-card { min-height: 190px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(150deg, rgba(255,255,255,.025), rgba(5,10,18,.22)); }
.module-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; }
.module-symbol { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--accent); background: var(--accent-soft); font-size: 18px; font-weight: 850; }
.module-card h3 { margin-bottom: 7px; font-size: 15px; }
.module-card p { min-height: 54px; margin: 0 0 10px; font-size: 11px; }
.module-card small { color: var(--muted-2); font-size: 9px; text-transform: uppercase; letter-spacing: .055em; }
.module-card:has(.switch input:checked) { border-color: rgba(114,230,196,.3); box-shadow: inset 0 0 0 1px rgba(114,230,196,.07); }
.module-card:has(.switch input:not(:checked)) { opacity: .68; }
.format-disclaimer { margin-top: 16px; padding: 15px; display: flex; gap: 12px; align-items: flex-start; border: 1px solid rgba(116,167,255,.16); border-radius: 13px; background: rgba(116,167,255,.065); }
.format-disclaimer > span { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 11px; color: #a8c7ff; background: rgba(116,167,255,.12); font-weight: 900; font-size: 11px; }
.format-disclaimer p { margin: 0; font-size: 10px; }
.format-disclaimer strong { display: block; margin-bottom: 2px; color: var(--text); font-size: 11px; }
.inline-toggle { height: 36px; display: flex; align-items: center; }

.quality-panel { padding: 22px; }
.quality-score-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 22px; align-items: stretch; }
.quality-gauge { padding: 22px; display: grid; place-items: center; text-align: center; border: 1px solid rgba(114,230,196,.16); border-radius: 16px; background: radial-gradient(circle at 50% 35%, rgba(114,230,196,.13), rgba(5,10,18,.15) 62%); }
.quality-gauge strong { display: block; font-size: 52px; line-height: 1; letter-spacing: -.06em; }
.quality-gauge b { margin-top: 8px; font-size: 13px; }
.quality-gauge small { margin-top: 5px; color: var(--muted); }
.quality-subscore-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.quality-subscore { padding: 13px; border: 1px solid var(--line-soft); border-radius: 12px; background: rgba(5,10,18,.2); }
.quality-subscore span, .quality-subscore strong { display: block; }
.quality-subscore span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .055em; }
.quality-subscore strong { margin-top: 8px; font-size: 20px; }
.quality-issues { margin-top: 16px; display: grid; gap: 8px; }
.quality-issue { padding: 11px 13px; display: flex; gap: 9px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(5,10,18,.18); }
.quality-issue i { width: 8px; height: 8px; flex: 0 0 8px; margin-top: 5px; border-radius: 50%; background: var(--accent); }
.quality-issue.medium i { background: var(--warning); }
.quality-issue.high i { background: var(--danger); }
.quality-issue strong, .quality-issue span { display: block; }
.quality-issue strong { font-size: 11px; }
.quality-issue span { color: var(--muted); font-size: 10px; margin-top: 2px; }
.module-results-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.module-result-card { padding: 16px; border: 1px solid var(--line-soft); border-radius: 13px; background: rgba(18,27,44,.62); }
.module-result-card header { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 12px; }
.module-result-card header strong { font-size: 12px; }
.module-result-card header span { padding: 4px 7px; border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.05); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.module-result-card.active header span { color: var(--accent); background: var(--accent-soft); }
.module-result-card dl { margin: 0; display: grid; gap: 7px; }
.module-result-card dl div { display: flex; justify-content: space-between; gap: 12px; }
.module-result-card dt { color: var(--muted); font-size: 9px; }
.module-result-card dd { margin: 0; font-size: 10px; font-weight: 750; text-align: right; }
.mastering-map-frame { min-height: 320px; display: grid; place-items: center; overflow: hidden; border-radius: 11px; background: #0d1321; border: 1px solid var(--line-soft); }
.mastering-map-frame img { width: 100%; display: block; }

@media (max-width: 1180px) {
  .mastering-presets { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .module-grid, .module-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quality-subscore-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .mastering-presets, .module-grid, .module-results-grid { grid-template-columns: 1fr; }
  .quality-score-layout { grid-template-columns: 1fr; }
  .quality-subscore-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 460px) {
  .quality-subscore-grid { grid-template-columns: 1fr; }
}

/* ShimmerLab v5: Auto / Manual / Off, optimizer studio and interactive waveform */
.waveform-canvas { cursor: crosshair; touch-action: none; outline: none; }
.waveform-canvas:focus-visible { box-shadow: 0 0 0 2px rgba(114,230,196,.65), 0 0 0 6px rgba(114,230,196,.10); }
.waveform-seek-hint { margin: 8px 0 0; color: var(--muted-2); font-size: 9px; text-align: center; }

.optimizer-builder-card { margin: 0 0 16px; padding: 17px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: start; border: 1px solid rgba(114,230,196,.30); border-radius: 15px; background: linear-gradient(135deg, rgba(114,230,196,.09), rgba(116,167,255,.045) 55%, rgba(5,10,18,.18)); box-shadow: inset 0 0 0 1px rgba(114,230,196,.035); }
.optimizer-builder-copy { display: flex; gap: 13px; align-items: flex-start; }
.optimizer-builder-copy strong { display: block; margin: 2px 0 5px; font-size: 14px; }
.optimizer-builder-copy p { margin: 0; max-width: 790px; font-size: 10px; }
.optimizer-controls-inline { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(180px,.7fr) repeat(2,minmax(240px,1fr)); gap: 12px; align-items: end; }
.optimizer-controls-inline > label:first-child, .optimization-form-grid > label:first-child { display: grid; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .045em; }
.optimizer-controls-inline select, .optimization-form-grid select { min-height: 38px; padding: 0 11px; color: var(--text); border: 1px solid var(--line); border-radius: 9px; background: #101929; }
.module-mode-legend { margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.module-mode-legend span { padding: 6px 9px; color: var(--muted); border: 1px solid var(--line-soft); border-radius: 999px; font-size: 8px; }
.module-mode-legend b { color: var(--text); }
.module-mode { display: inline-flex; padding: 3px; gap: 2px; border: 1px solid var(--line); border-radius: 10px; background: rgba(4,9,17,.65); }
.module-mode button { min-width: 48px; padding: 6px 7px; color: var(--muted); border: 0; border-radius: 7px; background: transparent; font-size: 8px; font-weight: 850; cursor: pointer; }
.module-mode button:hover { color: var(--text); background: rgba(255,255,255,.045); }
.module-mode button.active[data-mode="auto"] { color: #082018; background: var(--accent); }
.module-mode button.active[data-mode="manual"] { color: #091426; background: #8db8ff; }
.module-mode button.active[data-mode="off"] { color: #fff; background: rgba(139,151,171,.42); }
.module-mode.compact button { min-width: 55px; }
.module-card[data-mode="auto"] { border-color: rgba(114,230,196,.34); box-shadow: inset 0 0 0 1px rgba(114,230,196,.055); }
.module-card[data-mode="manual"] { border-color: rgba(141,184,255,.34); }
.module-card.module-disabled { opacity: .58; }
.mode-caption { display: block; margin-top: 8px; color: var(--accent) !important; font-size: 8px !important; letter-spacing: .04em; }
.module-card[data-mode="manual"] .mode-caption { color: #9fc3ff !important; }
.module-card[data-mode="off"] .mode-caption { color: var(--muted-2) !important; }
.parameter-field.auto-locked { opacity: .58; }
.parameter-field.auto-locked:after { content: "AUTO"; position: absolute; right: 8px; top: 8px; padding: 3px 5px; color: var(--accent); background: var(--accent-soft); border-radius: 5px; font-size: 7px; font-weight: 900; }
.parameter-field { position: relative; }

.optimization-studio { border-color: rgba(114,230,196,.25); background: linear-gradient(150deg, rgba(114,230,196,.035), rgba(14,23,39,.94) 38%); }
.optimizer-heading { align-items: flex-start; }
.optimizer-status, .ai-connection { padding: 6px 9px; color: var(--accent); border: 1px solid rgba(114,230,196,.25); border-radius: 999px; background: var(--accent-soft); font-size: 8px; font-weight: 850; white-space: nowrap; text-transform: uppercase; letter-spacing: .05em; }
.optimizer-score-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 15px; }
.optimizer-score-row article { padding: 13px; border: 1px solid var(--line-soft); border-radius: 12px; background: rgba(5,10,18,.25); }
.optimizer-score-row span, .optimizer-score-row strong, .optimizer-score-row small { display: block; }
.optimizer-score-row span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }
.optimizer-score-row strong { margin-top: 7px; font-size: 20px; }
.optimizer-score-row small { margin-top: 3px; color: var(--muted-2); }
.optimization-form-grid { display: grid; grid-template-columns: minmax(190px,.75fr) repeat(2,minmax(250px,1fr)); gap: 12px; align-items: end; }
.studio-module-modes { margin-top: 15px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.studio-module-modes article { padding: 10px 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(5,10,18,.20); }
.studio-module-modes strong, .studio-module-modes small { display: block; }
.studio-module-modes strong { font-size: 10px; }
.studio-module-modes small { margin-top: 2px; color: var(--muted-2); font-size: 8px; }
.optimizer-actions { margin-top: 15px; display: flex; align-items: center; gap: 14px; }
.optimizer-actions p { margin: 0; max-width: 760px; font-size: 9px; }
.guardrail-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.guardrail-grid article { padding: 10px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(5,10,18,.2); }
.guardrail-grid article.passed { border-color: rgba(114,230,196,.19); }
.guardrail-grid article.warning { border-color: rgba(255,184,91,.32); }
.guardrail-grid span, .guardrail-grid strong, .guardrail-grid small { display: block; }
.guardrail-grid span { color: var(--muted); font-size: 8px; text-transform: capitalize; }
.guardrail-grid strong { margin-top: 4px; font-size: 16px; }
.guardrail-grid small { color: var(--muted-2); }
.local-ai-studio { margin-top: 18px; padding-top: 17px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 16px; border-top: 1px solid var(--line-soft); }
.local-ai-copy { display: flex; gap: 12px; }
.local-ai-copy h4 { margin: 1px 0 4px; font-size: 13px; }
.local-ai-copy p { margin: 0; max-width: 790px; font-size: 9px; }
.ai-orb { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; color: #b6cfff; border: 1px solid rgba(141,184,255,.26); border-radius: 12px; background: rgba(141,184,255,.10); font-size: 10px; font-weight: 900; }
.ai-connection { color: var(--muted); border-color: var(--line); background: rgba(255,255,255,.035); }
.ai-connection.connected { color: #b6cfff; border-color: rgba(141,184,255,.26); background: rgba(141,184,255,.08); }
.local-ai-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; }
.local-ai-actions small { color: var(--muted-2); }
.ai-suggestion-card { grid-column: 1 / -1; padding: 13px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 1px solid rgba(141,184,255,.25); border-radius: 12px; background: rgba(141,184,255,.07); }
.ai-suggestion-card strong, .ai-suggestion-card p, .ai-suggestion-card small { display: block; }
.ai-suggestion-card p { margin: 4px 0; font-size: 9px; }
.ai-suggestion-card small { color: var(--muted); }
.local-ai-studio .safety-note { grid-column: 1 / -1; margin: 0; }

@media (max-width: 960px) {
  .optimizer-controls-inline, .optimization-form-grid { grid-template-columns: 1fr; }
  .studio-module-modes { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .optimizer-score-row, .guardrail-grid { grid-template-columns: 1fr; }
  .studio-module-modes article, .ai-suggestion-card, .optimizer-actions { align-items: flex-start; flex-direction: column; }
  .local-ai-studio { grid-template-columns: 1fr; }
  .ai-connection { justify-self: start; }
}

/* ShimmerLab v6: Crystal restoration, immersive field and genre intelligence */
.improvement-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.source-analysis-strip { grid-template-columns: minmax(150px,1.25fr) repeat(7,minmax(82px,1fr)); }
.genre-builder-card { border-color: rgba(141,184,255,.28); background: linear-gradient(135deg, rgba(141,184,255,.08), rgba(114,230,196,.045) 58%, rgba(5,10,18,.18)); }
.genre-controls-inline { grid-template-columns: repeat(3,minmax(190px,1fr)); }
.optimization-form-grid > label { display: grid; gap: 7px; color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .045em; }
.optimization-form-grid > label small { color: var(--muted-2); font-size: 8px; font-weight: 500; text-transform: none; letter-spacing: 0; }
@media (max-width: 1120px) {
  .source-analysis-strip { grid-template-columns: repeat(4,1fr); }
  .source-analysis-title { grid-column: 1 / -1; border-bottom: 1px solid var(--line-soft); }
  .source-analysis-strip article:nth-of-type(4n) { border-right: 0; }
  .optimization-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .improvement-grid, .genre-controls-inline, .optimization-form-grid { grid-template-columns: 1fr; }
  .source-analysis-strip { grid-template-columns: repeat(2,1fr); }
}

/* ShimmerLab 7 · evidence-driven restoration */
.evidence-panel{margin-top:24px;overflow:hidden}.evidence-status{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(116,230,196,.28);border-radius:999px;background:rgba(116,230,196,.08);color:#89f0d3;font-weight:700;font-size:.82rem}.evidence-status.warning{border-color:rgba(246,190,92,.35);background:rgba(246,190,92,.09);color:#ffd08a}.evidence-status.danger{border-color:rgba(255,105,122,.34);background:rgba(255,105,122,.08);color:#ff9aaa}.evidence-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 22px}.evidence-triptych article{padding:17px;border:1px solid var(--border-color,#26344a);border-radius:16px;background:rgba(9,18,34,.52)}.evidence-triptych span{display:block;color:#8fa0b8;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.evidence-triptych strong{display:block;margin:7px 0 3px;color:#f4f8ff;font-size:1.25rem}.evidence-triptych small{color:#8797ae}.candidate-audition{border-top:1px solid rgba(133,151,177,.16);padding-top:20px}.candidate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.candidate-toolbar>span{color:#8fa0b8;font-size:.86rem}.candidate-switch{display:flex;gap:8px;flex-wrap:wrap}.candidate-switch button{appearance:none;border:1px solid #31415a;background:#101a2d;color:#aab8cc;border-radius:999px;padding:9px 13px;font-weight:700;cursor:pointer;transition:.18s ease}.candidate-switch button:hover{border-color:#4f6889;color:#eef6ff}.candidate-switch button.active{background:rgba(71,212,177,.14);border-color:#55d9ba;color:#8ff1d7}.candidate-switch button.delta{border-style:dashed}.compact-player{margin-top:16px}.candidate-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.candidate-evidence-card{border:1px solid #29384f;border-radius:14px;padding:14px;background:rgba(13,23,41,.68)}.candidate-evidence-card.selected{border-color:rgba(93,225,192,.56);box-shadow:0 0 0 1px rgba(93,225,192,.1) inset}.candidate-evidence-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.candidate-evidence-card strong{color:#eef7ff}.candidate-evidence-card .candidate-badge{font-size:.72rem;border-radius:999px;padding:4px 7px;background:rgba(143,160,184,.12);color:#aab8cc}.candidate-evidence-card .candidate-badge.good{background:rgba(71,212,177,.12);color:#7ce8cc}.candidate-evidence-card .candidate-badge.bad{background:rgba(255,105,122,.11);color:#ff9aaa}.candidate-evidence-card dl{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:12px 0 0;font-size:.82rem}.candidate-evidence-card dt{color:#8495ad}.candidate-evidence-card dd{margin:0;color:#dce6f3;font-variant-numeric:tabular-nums}.candidate-note{margin:14px 0 0;color:#7f90a8;font-size:.83rem;line-height:1.5}
@media(max-width:900px){.evidence-triptych,.candidate-evidence-grid{grid-template-columns:1fr}.candidate-toolbar{align-items:flex-start}}
.candidate-region-decisions{margin-top:18px;border:1px solid rgba(128,151,183,.18);border-radius:15px;background:rgba(7,14,26,.38);overflow:hidden}.candidate-region-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(128,151,183,.14)}.candidate-region-heading strong,.candidate-region-heading small{display:block}.candidate-region-heading strong{color:#edf6ff;font-size:.92rem}.candidate-region-heading small{margin-top:3px;color:#8293aa;font-size:.78rem}.candidate-region-heading>span{color:#8fe8d1;font-size:.8rem;font-weight:750;white-space:nowrap}.candidate-region-list{display:grid}.candidate-region-row{appearance:none;width:100%;display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;border:0;border-bottom:1px solid rgba(128,151,183,.10);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .16s ease}.candidate-region-row:last-child{border-bottom:0}.candidate-region-row:hover{background:rgba(255,255,255,.035)}.candidate-region-row time{color:#9aabc1;font-size:.78rem;font-variant-numeric:tabular-nums}.candidate-region-row span strong,.candidate-region-row span small{display:block}.candidate-region-row span strong{color:#e8f1fb;font-size:.84rem}.candidate-region-row span small{margin-top:3px;color:#8092aa;font-size:.76rem}.candidate-region-row em{padding:5px 8px;border-radius:999px;background:rgba(128,151,183,.10);color:#95a5bb;font-size:.7rem;font-style:normal;font-weight:750}.candidate-region-row.treated em{background:rgba(71,212,177,.12);color:#7ce8cc}.candidate-region-row.retained{opacity:.76}@media(max-width:680px){.candidate-region-row{grid-template-columns:1fr auto}.candidate-region-row time{grid-column:1/-1}.candidate-region-heading{align-items:flex-start;flex-direction:column}.candidate-region-heading>span{white-space:normal}}

/* ShimmerLab 7.3 · verified delivery exports */
.delivery-export-panel{margin-top:24px;border-color:rgba(114,230,196,.24);background:linear-gradient(155deg,rgba(114,230,196,.035),rgba(12,21,37,.96) 42%)}
.delivery-export-heading{align-items:flex-start}.export-verification-badge{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid rgba(114,230,196,.28);border-radius:999px;background:rgba(114,230,196,.08);color:#8cebd0;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.export-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 16px}.export-principles article{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line-soft);border-radius:12px;background:rgba(5,10,18,.22)}.export-principles article>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:900}.export-principles strong,.export-principles small{display:block}.export-principles strong{font-size:10px}.export-principles small{margin-top:3px;color:var(--muted-2);font-size:8px;line-height:1.45}
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.export-grid-advanced{padding-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.export-loading{grid-column:1/-1;padding:18px;border:1px dashed var(--line);border-radius:13px;color:var(--muted);text-align:center;font-size:9px}
.export-card{position:relative;display:flex;min-height:228px;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(7,14,26,.43);transition:border-color .18s ease,transform .18s ease,background .18s ease}.export-card:hover{transform:translateY(-1px);border-color:rgba(114,230,196,.30);background:rgba(8,17,30,.62)}.export-card.generated{border-color:rgba(114,230,196,.28)}.export-card.unavailable{opacity:.58}.export-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.export-format-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(141,184,255,.22);border-radius:12px;background:rgba(141,184,255,.08);color:#b9d0ff;font-size:9px;font-weight:900;letter-spacing:.04em}.export-card.generated .export-format-icon{border-color:rgba(114,230,196,.24);background:var(--accent-soft);color:var(--accent)}.export-card-badge{padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.045);color:var(--muted);font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.export-card-badge.ready{background:rgba(114,230,196,.10);color:#8cebd0}.export-card h4{margin:15px 0 5px;font-size:13px}.export-card>p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.export-quality{display:flex;align-items:center;gap:7px;margin-top:10px;color:#c9d7e9;font-size:8px;font-weight:750}.export-quality:before{content:"";width:5px;height:5px;border-radius:50%;background:#8db8ff}.export-card.generated .export-quality:before{background:var(--accent)}
.export-verification{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.export-verification div{padding:7px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(5,10,18,.25)}.export-verification span,.export-verification strong{display:block}.export-verification span{color:var(--muted-2);font-size:7px;text-transform:uppercase;letter-spacing:.04em}.export-verification strong{margin-top:3px;font-size:9px;font-variant-numeric:tabular-nums}.export-card-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px}.export-card-actions .button{flex:1;justify-content:center}.export-delete{appearance:none;border:0;background:transparent;color:var(--muted-2);font-size:8px;cursor:pointer;padding:7px}.export-delete:hover{color:#ff9aaa}.export-progress{position:absolute;inset:auto 0 0;height:3px;overflow:hidden;border-radius:0 0 15px 15px;background:rgba(114,230,196,.08)}.export-progress:after{content:"";display:block;width:42%;height:100%;background:var(--accent);animation:exportSweep 1.05s ease-in-out infinite}@keyframes exportSweep{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}
.advanced-export-details{margin-top:14px;border:1px solid var(--line-soft);border-radius:13px;background:rgba(5,10,18,.18)}.advanced-export-details summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;list-style:none}.advanced-export-details summary::-webkit-details-marker{display:none}.advanced-export-details summary strong,.advanced-export-details summary small{display:block}.advanced-export-details summary strong{font-size:10px}.advanced-export-details summary small{margin-top:3px;color:var(--muted-2);font-size:8px}.advanced-export-details[open]{padding-bottom:12px}.advanced-export-details[open] summary{border-bottom:1px solid var(--line-soft)}.advanced-export-details .export-grid{padding-left:12px;padding-right:12px}
.export-footnote{display:flex;gap:10px;margin-top:14px;padding:11px 12px;border:1px solid rgba(141,184,255,.16);border-radius:11px;background:rgba(141,184,255,.05)}.export-footnote>span{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;border-radius:50%;background:rgba(141,184,255,.12);color:#b9d0ff;font-size:9px;font-weight:900}.export-footnote p{margin:0;color:var(--muted);font-size:8px;line-height:1.5}.export-footnote strong{display:block;color:#cddaf0;margin-bottom:2px}
@media(max-width:980px){.export-principles,.export-grid{grid-template-columns:1fr}.export-grid-advanced{grid-template-columns:1fr}.export-card{min-height:0}}

/* ShimmerLab 8 · alternative Stem Studio architecture */
.pipeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 14px}.pipeline-card{position:relative;display:flex;min-height:220px;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,rgba(18,31,52,.92),rgba(10,20,36,.92));color:var(--text);text-align:left;cursor:pointer;transition:.2s ease}.pipeline-card:hover{transform:translateY(-2px);border-color:rgba(91,228,196,.45)}.pipeline-card.selected{border-color:rgba(91,228,196,.72);box-shadow:0 0 0 1px rgba(91,228,196,.18),0 20px 50px rgba(0,0,0,.2)}.pipeline-card .pipeline-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:rgba(91,228,196,.12);color:var(--accent);font-size:22px;font-weight:800}.pipeline-card strong{font-size:21px}.pipeline-card p{margin:0;color:var(--muted);line-height:1.55}.pipeline-card small{margin-top:auto;color:var(--subtle);text-transform:uppercase;letter-spacing:.09em}.pipeline-badge{position:absolute;top:18px;right:18px;padding:6px 9px;border-radius:999px;background:rgba(130,146,175,.13);color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pipeline-badge.new{background:rgba(91,228,196,.14);color:var(--accent)}.pipeline-availability{display:none;align-items:center;gap:11px;padding:12px 15px;border:1px solid rgba(239,180,81,.24);border-radius:14px;background:rgba(239,180,81,.06);color:var(--muted)}.pipeline-availability.active{display:flex}.pipeline-availability>span{width:10px;height:10px;border-radius:50%;background:#efb451;box-shadow:0 0 0 5px rgba(239,180,81,.1)}.pipeline-availability.ready{border-color:rgba(91,228,196,.28);background:rgba(91,228,196,.06)}.pipeline-availability.ready>span{background:var(--accent);box-shadow:0 0 0 5px rgba(91,228,196,.1)}.pipeline-availability p{display:flex;gap:8px;margin:0}.pipeline-availability em{font-style:normal;color:var(--subtle)}
.stem-pipeline-builder{padding-top:4px}.stem-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 22px}.stem-profile-card{position:relative;min-height:170px;padding:21px;border:1px solid var(--border);border-radius:20px;background:rgba(12,24,42,.72);color:var(--text);text-align:left;cursor:pointer}.stem-profile-card.selected{border-color:rgba(91,228,196,.72);background:linear-gradient(145deg,rgba(30,65,76,.42),rgba(12,24,42,.86));box-shadow:0 0 0 1px rgba(91,228,196,.14)}.stem-profile-card strong{display:block;margin-bottom:9px;font-size:18px}.stem-profile-card p{margin:0 0 16px;color:var(--muted);line-height:1.5}.stem-profile-card small{color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}.stem-chain-map{display:flex;align-items:center;justify-content:center;gap:9px;overflow:auto;margin:8px 0 22px;padding:15px;border:1px solid rgba(91,228,196,.14);border-radius:17px;background:rgba(7,16,29,.54);white-space:nowrap}.stem-chain-map span{padding:8px 11px;border-radius:11px;background:rgba(91,228,196,.08);color:#d9fff5;font-size:12px;font-weight:700}.stem-chain-map i{color:var(--subtle);font-style:normal}.stem-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.stem-module-grid article{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--border);border-radius:18px;background:rgba(12,24,42,.68)}.stem-module-grid article>span:first-child{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;background:rgba(91,228,196,.1);color:var(--accent);font-weight:800}.stem-module-grid strong{display:block;margin-bottom:4px}.stem-module-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.stem-control-panels{display:grid;gap:14px}.stem-warning{margin-top:18px}.stem-warning>span{background:rgba(239,180,81,.14);color:#efc474}
@media(max-width:900px){.pipeline-grid,.stem-profile-grid,.stem-module-grid{grid-template-columns:1fr}.pipeline-card{min-height:190px}.stem-chain-map{justify-content:flex-start}}

/* Stem Studio AI result */
.pipeline-label{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;background:rgba(111,232,204,.1);border:1px solid rgba(111,232,204,.24);color:#92f1d7;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.stem-result-panel{border-color:rgba(87,222,190,.36);background:linear-gradient(145deg,rgba(16,35,51,.96),rgba(12,24,39,.98))}
.stem-result-heading{align-items:flex-start}.stem-delivery-status{display:inline-flex;padding:.42rem .75rem;border-radius:999px;border:1px solid rgba(104,236,205,.32);background:rgba(54,205,168,.12);color:#8cf2d7;font-size:.78rem;font-weight:800;white-space:nowrap}.stem-delivery-status.review{color:#ffd487;border-color:rgba(255,190,83,.35);background:rgba(255,175,42,.1)}
.stem-result-flow{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.8rem 1rem;margin:1rem 0 1.1rem;border:1px solid rgba(122,156,198,.15);border-radius:14px;background:rgba(5,14,27,.34);color:#aebbd0;font-size:.78rem}.stem-result-flow span{padding:.36rem .55rem;border-radius:8px;background:rgba(128,169,211,.08);color:#dce7f5;font-weight:700}.stem-result-flow i{font-style:normal;color:#5de0c1}
.stem-result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.stem-result-summary article{padding:1rem;border-radius:14px;border:1px solid rgba(113,152,193,.16);background:rgba(8,20,35,.52)}.stem-result-summary span,.stem-result-card span{display:block;color:#8394ad;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.stem-result-summary strong{display:block;margin:.45rem 0 .2rem;color:#f2f7ff;font-size:1.1rem}.stem-result-summary small{display:block;color:#8f9db2;line-height:1.45}
.stem-result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1rem}.stem-result-card{position:relative;overflow:hidden;padding:1rem;border-radius:14px;border:1px solid rgba(113,152,193,.16);background:rgba(8,20,35,.52)}.stem-result-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent,#62ddc1)}.stem-result-card header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}.stem-result-card header strong{font-size:1rem;color:#f2f7ff}.stem-result-card header b{font-size:.7rem;color:#78ebcf;text-transform:uppercase;letter-spacing:.08em}.stem-result-card dl{display:grid;gap:.5rem}.stem-result-card dl div{display:flex;justify-content:space-between;gap:.75rem;color:#95a4b8;font-size:.78rem}.stem-result-card dd{margin:0;color:#dce7f4;text-align:right}.stem-result-card.disabled{opacity:.62}.stem-result-card.disabled::before{background:#6c7b90}
.stem-result-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.stem-limit-note{display:flex;gap:.7rem;align-items:flex-start;color:#9aabc0;font-size:.8rem;line-height:1.5}.stem-limit-note>span{display:grid;place-items:center;flex:0 0 1.5rem;height:1.5rem;border-radius:50%;background:rgba(93,224,193,.12);color:#75ead0;font-weight:800}.stem-limit-note p{margin:0}.stem-limit-note strong{display:block;color:#dce9f6}
@media(max-width:1050px){.stem-result-summary,.stem-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.stem-result-summary,.stem-result-grid{grid-template-columns:1fr}.stem-result-footer{align-items:stretch;flex-direction:column}.stem-result-flow i{display:none}}

/* ShimmerLab 8.2 · multitrack upload */
.uploaded-stems-panel{margin-top:18px;padding:22px;border:1px solid rgba(108,229,197,.22);border-radius:18px;background:linear-gradient(145deg,rgba(21,38,56,.82),rgba(12,20,34,.75))}
.uploaded-stems-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.uploaded-stems-heading h3{margin:3px 0 6px}.uploaded-stems-heading p{margin:0;color:var(--muted);max-width:780px;line-height:1.55}.stem-count-pill{white-space:nowrap;border:1px solid rgba(108,229,197,.28);background:rgba(108,229,197,.09);color:#8ff1d7;padding:7px 11px;border-radius:999px;font-weight:700;font-size:.82rem}
.stem-drop-zone{display:flex;align-items:center;gap:15px;padding:18px;border:1px dashed rgba(140,163,195,.42);border-radius:14px;background:rgba(6,12,22,.38);cursor:pointer;transition:.18s ease}.stem-drop-zone:hover,.stem-drop-zone.drag-over{border-color:#6ce5c5;background:rgba(108,229,197,.07);transform:translateY(-1px)}.stem-drop-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(108,229,197,.1);color:#72e6c4;font-size:1.55rem}.stem-drop-zone strong{display:block}.stem-drop-zone small{display:block;color:var(--muted);margin-top:4px;line-height:1.45}
.stem-file-list{display:grid;gap:9px;margin-top:14px;max-height:520px;overflow:auto;padding-right:3px}.empty-stem-list{padding:18px;text-align:center;color:var(--muted);border:1px solid rgba(140,163,195,.12);border-radius:12px}.stem-file-row{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(150px,.8fr) minmax(190px,.9fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;background:rgba(8,15,27,.7);border:1px solid rgba(140,163,195,.14)}.stem-file-row .stem-file-identity{min-width:0}.stem-file-row .stem-file-identity strong,.stem-file-row .stem-file-identity small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stem-file-row .stem-file-identity small{color:var(--muted);margin-top:3px}.stem-file-row input,.stem-file-row select{width:100%;background:#0b1424;color:var(--text);border:1px solid rgba(140,163,195,.24);border-radius:9px;padding:9px 10px}.stem-file-row button{width:36px;height:36px;border-radius:9px;border:1px solid rgba(255,120,135,.25);background:rgba(255,92,111,.08);color:#ff9cab;cursor:pointer}.reference-guidance{display:flex;gap:11px;align-items:flex-start;margin-top:14px;color:var(--muted);font-size:.9rem;line-height:1.5}.reference-guidance>span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:rgba(107,151,255,.12);color:#8fb0ff;font-weight:800}.reference-guidance p{margin:0}.reference-guidance strong{color:var(--text)}
.stem-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.stem-source-card{position:relative;text-align:left;padding:18px;border-radius:15px;border:1px solid rgba(140,163,195,.18);background:rgba(10,17,29,.62);color:var(--text);cursor:pointer;transition:.18s ease}.stem-source-card:hover{border-color:rgba(108,229,197,.4);transform:translateY(-1px)}.stem-source-card.selected{border-color:#6ce5c5;background:linear-gradient(145deg,rgba(108,229,197,.11),rgba(10,17,29,.72));box-shadow:0 0 0 1px rgba(108,229,197,.12) inset}.stem-source-card>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(108,229,197,.1);color:#79ead0;font-weight:800;margin-bottom:12px}.stem-source-card strong{display:block;font-size:1rem}.stem-source-card p{color:var(--muted);line-height:1.5;margin:7px 0}.stem-source-card small{color:#9fb2ca}
@media(max-width:820px){.stem-source-grid{grid-template-columns:1fr}.stem-file-row{grid-template-columns:1fr}.uploaded-stems-heading{display:block}.stem-count-pill{display:inline-block;margin-top:12px}}

/* ShimmerLab 8.5 · fidelity-bounded restoration and evidence-first comparison */
.version-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:6px 10px;border:1px solid rgba(125,160,199,.2);border-radius:999px;background:rgba(10,22,38,.72);color:#9fb1c8;font-size:.72rem;font-weight:800;letter-spacing:.055em;white-space:nowrap}
.server-overview{margin-bottom:20px;background:linear-gradient(145deg,rgba(15,31,49,.94),rgba(8,18,31,.96));border-color:rgba(113,151,192,.2)}
.server-overview .panel-heading{align-items:center}.server-state{display:inline-flex;padding:6px 10px;border:1px solid rgba(105,227,198,.26);border-radius:999px;background:rgba(105,227,198,.08);color:#84ead0;font-size:.78rem;font-weight:800}
.server-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.server-resource-grid article{display:flex;min-height:126px;flex-direction:column;padding:16px;border:1px solid rgba(125,160,199,.14);border-radius:15px;background:rgba(6,15,27,.46)}.server-resource-grid article>span{color:#8293aa;font-size:.72rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.server-resource-grid article>strong{margin:10px 0 5px;color:#f1f7ff;font-size:1.15rem}.server-resource-grid article>small{display:block;min-height:34px;color:#8fa0b6;font-size:.78rem;line-height:1.4}.resource-meter{display:block;height:5px;margin-top:auto;overflow:hidden;border-radius:999px;background:rgba(135,158,186,.12)}.resource-meter b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5fe1c0,#77aef8);transition:width .35s ease}.resource-meter b[data-level="warning"]{background:linear-gradient(90deg,#e7b85c,#ef8b55)}.resource-meter b[data-level="critical"]{background:linear-gradient(90deg,#f38372,#ff5f75)}
.capacity-inline{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}.capacity-inline b{padding:5px 8px;border-radius:8px;background:rgba(126,159,198,.08);color:#9fb1c8;font-size:.72rem;white-space:nowrap}.service-capacity{align-items:center}.sidebar-capacity{margin-top:16px;padding:14px;border:1px solid rgba(125,160,199,.15);border-radius:14px;background:rgba(7,17,30,.52)}.sidebar-capacity>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-capacity>div span{color:#8fa0b6;font-size:.75rem}.sidebar-capacity>div strong{color:#77e4c7;font-size:.78rem}.sidebar-capacity dl{display:grid;gap:7px;margin:12px 0 0}.sidebar-capacity dl div{display:flex;justify-content:space-between;gap:12px;font-size:.75rem}.sidebar-capacity dt{color:#778ba4}.sidebar-capacity dd{margin:0;color:#cbd8e8;text-align:right}
.ab-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.match-toggle{appearance:none;padding:7px 10px;border:1px solid rgba(124,157,195,.22);border-radius:999px;background:rgba(8,18,32,.68);color:#9aacbf;font-size:.76rem;font-weight:800;cursor:pointer}.match-toggle.active{border-color:rgba(102,228,197,.42);background:rgba(102,228,197,.1);color:#89ecd4}.ab-hint{color:#7f91a8;font-size:.75rem}.waveform-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 8px}.waveform-toolbar>span{color:#7f91a8;font-size:.75rem}.view-tabs.compact{gap:4px}.view-tabs.compact button{padding:6px 9px;font-size:.72rem}.waveform-legend .legend-difference:before{background:#f3b96a}.spectrum-explainer{margin:10px 0 0;padding:10px 12px;border-left:3px solid rgba(243,185,106,.62);border-radius:0 10px 10px 0;background:rgba(243,185,106,.055);color:#93a4b8;font-size:.78rem;line-height:1.5}.spectrum-explainer strong{color:#dce7f4}.spectrum-heading{gap:18px}.spectrum-heading>div:first-child{max-width:780px}.spectrum-panel img{width:100%;border-radius:12px;border:1px solid rgba(129,158,194,.12);background:#080f1b}
@media(max-width:1050px){.server-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capacity-inline{width:100%;margin:8px 0 0 20px}}
@media(max-width:680px){.server-resource-grid{grid-template-columns:1fr}.waveform-toolbar{align-items:flex-start;flex-direction:column}.ab-tools{align-items:flex-start;flex-direction:column}.version-badge{display:none}.capacity-inline{margin-left:0}.service-capacity{align-items:flex-start;flex-wrap:wrap}}
.server-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.server-overview-heading h2{margin:4px 0 5px}.server-overview-heading p{margin:0;color:var(--muted)}
@media(max-width:680px){.server-overview-heading{align-items:flex-start;flex-direction:column}}
.job-resource-strip{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:10px}.job-resource-strip>span{margin-right:2px;color:#71869f;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.job-resource-strip b{padding:5px 8px;border:1px solid rgba(123,156,193,.12);border-radius:8px;background:rgba(7,17,30,.46);color:#9eafc3;font-size:.72rem;font-weight:700}
@media(max-width:680px){.job-resource-strip{justify-content:flex-start}}
