/*
 * Platanus Quantum, Laboratory Light
 * A cold-white research workspace with one deep emerald action color.
 * This file intentionally sits after Atelier Noir and locks the product to light mode.
 */

:root,
:root[data-theme="light"] {
  color-scheme: light;
  --canvas: #f4f7f5;
  --canvas-clean: #f8faf9;
  --surface: #ffffff;
  --surface-soft: #eef3f0;
  --surface-hover: #e9f0ec;
  --ink-strong: #0c1814;
  --ink-body: #34423d;
  --ink-muted: #687772;
  --ink-faint: #87948f;
  --rule: #d9e1dd;
  --rule-strong: #c2cec8;
  --emerald: #087653;
  --emerald-hover: #065f43;
  --emerald-soft: #dff2ea;
  --emerald-pale: #eff9f5;
  --mineral-blue: #5368d9;
  --vermilion: #d94d45;
  --warning-ink: #9a6413;
  --danger-ink: #c53f38;
  --void: var(--canvas);
  --void-soft: var(--surface);
  --carbon: var(--surface-soft);
  --carbon-raised: var(--surface);
  --hairline: var(--rule);
  --hairline-bright: var(--rule-strong);
  --chalk: var(--ink-strong);
  --mist: var(--ink-muted);
  --dim-ink: var(--ink-faint);
  --jade: var(--emerald);
  --jade-deep: var(--emerald-hover);
  --app-canvas: var(--canvas);
  --app-surface: var(--surface);
  --app-subtle: var(--surface-soft);
  --app-ink: var(--ink-strong);
  --app-copy: var(--ink-body);
  --app-muted: var(--ink-muted);
  --app-line: var(--rule);
  --app-line-strong: var(--rule-strong);
  --app-blue: var(--emerald);
  --app-blue-bright: var(--emerald-hover);
  --app-blue-soft: var(--emerald-soft);
  --ink: var(--ink-strong);
  --ink-soft: var(--surface-soft);
  --paper: var(--surface);
  --ash: var(--ink-muted);
  --dim: var(--ink-faint);
  --silver: var(--ink-body);
  --charcoal: var(--surface-soft);
  --line-soft: var(--rule);
  --line: var(--rule-strong);
  --cinnabar: var(--emerald);
  --cinnabar-soft: var(--emerald-soft);
  --bronze: #7c8984;
  --positive: var(--emerald);
  --negative: var(--danger-ink);
  --warning: var(--warning-ink);
  --surface-shadow: 0 18px 55px rgba(35, 61, 51, .07);
}

html,
body,
.workspace,
.main-content {
  color: var(--ink-strong);
  background: var(--canvas);
}

::selection { color: #ffffff; background: var(--emerald); }
.skip-link { color: #ffffff; background: var(--emerald); }

/* Global product chrome */
.global-header {
  background: rgba(248, 250, 249, .92);
  border-color: var(--rule);
  box-shadow: 0 1px 0 rgba(255,255,255,.82);
}
.global-header .brand { color: var(--ink-strong); }
.global-header .brand-mark { filter: saturate(.86) contrast(1.02); }
.global-header .brand-type strong { color: var(--ink-strong); }
.global-header .brand-type small { color: var(--ink-muted); }
.header-command button {
  color: var(--ink-muted);
  background: rgba(255,255,255,.76);
  border-color: var(--rule);
  box-shadow: inset 0 1px 0 #fff;
}
.header-command button:hover { color: var(--ink-strong); background: #ffffff; border-color: var(--rule-strong); }
.header-command .command-search,
.header-command kbd { color: var(--ink-muted); }
.header-command kbd { background: var(--surface-soft); border-color: var(--rule); }
.system-chip { color: var(--emerald); background: var(--emerald-pale); border-color: #b9ddce; }
.system-chip i { background: var(--emerald); box-shadow: 0 0 0 3px rgba(8,118,83,.08); }
.header-icon-button { color: var(--ink-muted); background: rgba(255,255,255,.72); border-color: var(--rule); }
.header-icon-button:hover { color: var(--ink-strong); background: #ffffff; border-color: var(--rule-strong); }
.user-monogram { color: #ffffff; background: var(--emerald); border-color: var(--emerald); }
.brand-spectrum i:nth-child(1) { background: var(--emerald); }

.sidebar {
  color: var(--ink-muted);
  background: #f0f4f2;
  border-color: var(--rule);
}
.workspace-switcher { border-color: var(--rule); }
.workspace-avatar { color: #ffffff; background: var(--emerald); }
.workspace-switcher small { color: var(--ink-faint); }
.workspace-switcher strong { color: var(--ink-strong); }
.workspace-switcher b { color: var(--ink-faint); }
.nav-group h2 { color: var(--ink-faint); }
.nav-item { color: #5b6a64; }
.nav-item::before { background: var(--emerald); }
.nav-item:hover { color: var(--ink-strong); background: rgba(255,255,255,.58); }
.nav-item.is-active { color: var(--ink-strong); background: var(--emerald-soft); }
.nav-index { color: #7e8b86; border-color: var(--rule-strong); }
.nav-item.is-active .nav-index { color: var(--emerald); border-color: rgba(8,118,83,.38); }
.nav-caret { color: var(--emerald); }
.sidebar-foot { border-color: var(--rule); }
.system-state strong { color: var(--ink-body); }
.system-state small,
.sidebar-foot > p { color: var(--ink-faint); }
.sidebar-foot > p b { color: var(--emerald); }

.topbar {
  background: rgba(248, 250, 249, .9);
  border-color: var(--rule);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.page-heading span { color: var(--ink-faint); }
.page-heading h1 { color: var(--ink-strong); }

/* Type and actions */
.page-intro h2,
.hero-copy h2,
.panel-head h3,
.form-section h3,
.queue-core h3,
.molecule-body h3,
.detail-copy h2,
.cost-card h3,
.freeze-card h3,
.reproduction-card h3,
.gate-card h3,
.command-head h2,
.not-found h2,
.empty-state h3,
.no-results h3 { color: var(--ink-strong); }
.hero-copy h2 em,
.molecular-formula { color: var(--emerald); }
.page-intro p,
.hero-copy > p { color: var(--ink-muted); }
.hero-kicker,
.intro-copy .eyebrow,
.panel-head span,
.freeze-card > div > span,
.cost-card > span,
.reproduction-card > span,
.detail-id > span { color: var(--ink-faint); }
.hero-kicker i { background: var(--emerald); box-shadow: 0 0 0 5px rgba(8,118,83,.07); }
.section-number { color: var(--emerald); background: #ffffff; border-color: rgba(8,118,83,.35); }
.button-primary { color: #ffffff; background: var(--emerald); border-color: var(--emerald); }
.button-primary:hover { color: #ffffff; background: var(--emerald-hover); border-color: var(--emerald-hover); }
.button-secondary,
.button-ghost { color: var(--ink-strong); background: rgba(255,255,255,.72); border-color: var(--rule-strong); }
.button-secondary:hover,
.button-ghost:hover { color: var(--ink-strong); background: #ffffff; border-color: #9eada6; }
.text-link { color: var(--ink-body); }
.text-link:hover { color: var(--emerald); }
.icon-button,
.icon-link { color: var(--ink-muted); background: #ffffff; border-color: var(--rule); }

/* Shared surfaces */
.panel,
.form-section,
.queue-card,
.molecule-card,
.cost-card,
.freeze-card,
.reproduction-card,
.evidence-card,
.chart-panel,
.detail-visual,
.detail-summary {
  color: var(--ink-body);
  background: var(--surface);
  border-color: var(--rule);
  box-shadow: none;
}
.panel-head { border-color: var(--rule); }
.panel-head h3 { color: var(--ink-strong); }

/* Overview */
.overview-cinematic {
  color: var(--ink-strong);
  background: var(--canvas-clean);
  border-color: var(--rule);
}
.molecular-stage {
  background: #edf2ef;
  border-color: var(--rule);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.stage-head { color: var(--ink-muted); border-color: var(--rule); }
.stage-head span:last-child { color: var(--emerald); }
.stage-head i { background: var(--emerald); box-shadow: 0 0 0 4px rgba(8,118,83,.08); }
.stage-coordinate { color: #88958f; }
.stage-readout { background: rgba(255,255,255,.7); border-color: var(--rule); }
.stage-readout > div { border-color: var(--rule); }
.stage-readout span { color: var(--ink-faint); }
.stage-readout strong { color: var(--ink-strong); }
.stage-readout > div:last-child strong { color: var(--emerald); }
.overview-cinematic .hero-proof { border-color: var(--rule); }
.overview-cinematic .hero-proof span { color: var(--ink-muted); border-color: var(--rule); }
.overview-cinematic .hero-proof b { color: var(--ink-strong); }

.metric-band { border-color: var(--rule); }
.metric-band .metric-cell { background: transparent; border-color: var(--rule); }
.metric-band .metric-cell.accent { background: var(--emerald-pale); }
.metric-cell > span,
.metric-cell strong em,
.metric-cell p { color: var(--ink-muted); }
.metric-cell strong { color: var(--ink-strong); }
.metric-cell.accent strong { color: var(--emerald); }

.run-row { color: var(--ink-body); border-color: var(--rule); }
.run-row:hover { background: var(--surface-hover); }
.run-identity strong { color: var(--ink-strong); }
.run-identity span,
.run-identity small,
.run-meta small { color: var(--ink-muted); }
.run-meta span { color: var(--ink-body); }
.progress-cluster progress { background: var(--surface-soft); }
.progress-cluster progress::-webkit-progress-value { background: var(--emerald); }
.row-link { color: var(--ink-muted); }
.row-link:hover { color: var(--emerald); }

/* Light 3D product stages */
.molecule-scene3d,
.candidate-tile .molecule-scene3d,
.molecule-card .molecule-scene3d,
.detail-molecule,
.hero-molecule,
.candidate-tile .molecule-crop,
.molecule-card .molecule-crop {
  --molecule-stage: light;
  background-color: #edf2ef;
  background-image: radial-gradient(circle at 42% 34%, #ffffff 0, #f5f8f6 46%, #e8eeeb 100%) !important;
  border-color: var(--rule);
  filter: none;
}
.molecule-scene3d:hover,
.candidate-tile:hover .molecule-scene3d,
.molecule-card:hover .molecule-scene3d { background-color: #f5f8f6; border-color: #adc8bc; }
.molecule-gesture { color: rgba(35,65,54,.58); }
.hero-molecule .molecule-gesture { color: rgba(8,118,83,.68); }
.molecule-visual,
.detail-visual { background: #edf2ef; }
.detail-tabs { background: rgba(255,255,255,.78); border-color: var(--rule); box-shadow: 0 8px 24px rgba(35,61,51,.08); }
.detail-tabs button { color: var(--ink-muted); }
.detail-tabs button.is-active { color: #ffffff; background: var(--emerald); }
.detail-visual > p { color: var(--ink-muted); }
.detail-watermark { color: rgba(12,24,20,.045); }

/* Forms and configuration */
.form-stack,
.queue-list,
.molecule-grid,
.gate-grid,
.dashboard-grid { background: var(--rule); }
.form-section { background: var(--surface); }
.form-section > header > span,
.step-token { color: var(--emerald); background: var(--emerald-pale); border-color: rgba(8,118,83,.32); }
.form-section header p,
.field small,
.range-field small,
.choice-stack small,
.backend-choice small { color: var(--ink-muted); }
.field > span,
.field label,
.range-field label,
.toggle-row strong,
.choice-stack legend { color: var(--ink-body); }
.field input,
.field textarea,
.field select,
.range-field input,
.search-field input,
.inline-select select,
.constraint-row input,
.constraint-row select {
  color: var(--ink-strong);
  background: #ffffff;
  border-color: var(--rule-strong);
}
.field input::placeholder,
.field textarea::placeholder,
.search-field input::placeholder { color: #7b8983; opacity: 1; }
.field input:focus,
.field textarea:focus,
.field select:focus,
.search-field input:focus { border-color: var(--emerald); box-shadow: 0 0 0 2px rgba(8,118,83,.12); }
.unit-input em { color: var(--ink-muted); }
.choice-stack label,
.choice-card,
.solver-option,
.preset-card,
.choice-stack label > span,
.backend-choice label > span {
  color: var(--ink-body);
  background: var(--canvas-clean);
  border-color: var(--rule);
}
.choice-stack label:hover,
.choice-card:hover,
.solver-option:hover,
.preset-card:hover { color: var(--ink-strong); background: #ffffff; border-color: var(--rule-strong); }
.choice-stack label:has(input:checked),
.choice-card:has(input:checked),
.solver-option:has(input:checked),
.preset-card.is-active,
.choice-stack label > input:checked + span,
.backend-choice input:checked + span { color: var(--ink-strong); background: var(--emerald-pale); border-color: rgba(8,118,83,.48); box-shadow: inset 3px 0 0 var(--emerald); }
.choice-stack b,
.backend-choice b,
.constraint-row strong { color: var(--ink-strong); }
.backend-choice em { color: var(--emerald); }
.constraint-table,
.constraint-row,
.constraint-head { border-color: var(--rule); }
.constraint-head { color: var(--ink-muted); background: var(--surface-soft); }
.freeze-card,
.cost-card,
.reproduction-card { background: #ffffff; }
.check-field { color: var(--ink-body); }
.cost-card dt { color: var(--ink-muted); }
.cost-card dd { color: var(--ink-strong); }
.cost-card dl > div,
.lambda-scale { border-color: var(--rule); }
.cost-note { color: #7a5215; background: #fff8e9; border-color: #ead4a7; }
.lambda-scale span { color: var(--ink-muted); }
.lambda-scale span.active { color: var(--emerald); }

/* Queue */
.queue-toolbar,
.candidate-toolbar { background: #ffffff; border-color: var(--rule); }
.queue-filter button { color: var(--ink-muted); }
.queue-filter button.is-active { color: var(--ink-strong); border-color: var(--emerald); }
.legend-line,
.demo-boundary { color: var(--ink-muted); }
.demo-boundary { background: var(--canvas-clean); border-color: var(--rule); }
.demo-boundary span { color: var(--emerald); }
.queue-card { background: #ffffff; border-color: var(--emerald); }
.queue-card:hover { background: var(--emerald-pale); }
.queue-index { color: var(--ink-faint); }
.queue-core h3 { color: var(--ink-strong); }
.queue-route span,
.queue-metadata dt { color: var(--ink-muted); }
.queue-route .is-done { color: var(--ink-body); }
.queue-route i { background: var(--rule-strong); }
.queue-metadata { border-color: var(--rule); }
.queue-metadata dd { color: var(--ink-strong); }

/* Candidates and detail */
.search-field i,
.inline-select span,
.range-field > span { color: var(--ink-muted); }
.view-toggle { border-color: var(--rule-strong); }
.view-toggle button { color: var(--ink-muted); background: #ffffff; }
.view-toggle button + button { border-color: var(--rule); }
.view-toggle button.is-active { color: var(--emerald); background: var(--emerald-soft); }
.candidate-summary { color: var(--ink-muted); }
.candidate-summary p i { background: var(--emerald); }
.molecule-card { background: #ffffff; }
.molecule-card:hover { background: var(--emerald-pale); }
.rank-mark { color: #ffffff; background: var(--emerald); }
.valid-mark { color: #376052; background: rgba(255,255,255,.9); border-color: #c8d7d1; }
.molecule-body { color: var(--ink-muted); background: #ffffff; }
.molecule-body > span,
.molecule-body h3 { color: var(--ink-strong); }
.molecule-body code { color: var(--ink-muted); }
.score-row,
.molecule-body dl,
.molecule-body footer { border-color: var(--rule); }
.score-row strong,
.molecule-body dl dd { color: var(--ink-strong); }
.score-row span,
.molecule-body dl dt,
.molecule-body footer span { color: var(--ink-muted); }
.molecule-body footer b { color: var(--emerald); }
.score-bar { background: var(--surface-soft); }
.score-bar i { background: var(--emerald); }
.breadcrumb { color: var(--ink-muted); }
.breadcrumb a:hover { color: var(--emerald); }
.molecule-detail-hero { border-color: var(--rule); }
.detail-copy { color: var(--ink-body); background: #ffffff; }
.detail-copy code { color: var(--ink-body); background: var(--surface-soft); border-color: var(--rule); }
.detail-copy > p { color: var(--ink-muted); }
.score-pair article,
.fact-sheet dl > div,
.evidence-mini li,
.record-nav { border-color: var(--rule); }
.score-pair span,
.score-pair small,
.fact-sheet dt,
.evidence-mini small,
.record-nav span { color: var(--ink-muted); }
.score-pair strong,
.fact-sheet dd,
.evidence-mini strong,
.record-nav strong { color: var(--ink-strong); }
.score-pair article > div { background: var(--surface-soft); }
.score-pair article > div i { background: var(--emerald); }
.evidence-mini li i { color: var(--ink-muted); border-color: var(--rule-strong); }
.evidence-mini li.is-done i { color: #ffffff; background: var(--emerald); border-color: var(--emerald); }

/* Evidence */
.evidence-summary { background: #ffffff; }
.evidence-score,
.evidence-boundary { border-color: var(--rule); }
.evidence-score > span,
.evidence-score p,
.evidence-boundary p { color: var(--ink-muted); }
.evidence-score strong { color: var(--ink-strong); }
.evidence-score strong em { color: var(--ink-muted); }
.evidence-axis b { background: var(--rule-strong); }
.evidence-axis div i { background: #adb9b4; }
.evidence-axis div.verified i { background: var(--emerald); }
.evidence-axis div.warning i { background: #c98920; }
.evidence-axis div.missing i { background: var(--danger-ink); }
.evidence-axis span { color: var(--ink-strong); }
.evidence-axis small { color: var(--ink-muted); }
.evidence-boundary span { color: var(--emerald); }
.gate-card { color: var(--ink-body); background: #ffffff; border-top-color: var(--rule-strong); }
.gate-card:hover { background: var(--canvas-clean); }
.gate-card h3 { color: var(--ink-strong); }
.gate-card > span,
.gate-card p,
.gate-card small { color: var(--ink-muted); }
.gate-card footer { border-color: var(--rule); }
.gate-card footer code { color: var(--ink-body); }
.gate-verified { border-top-color: var(--emerald); }
.gate-warning { border-top-color: #c98920; }
.gate-missing { border-top-color: var(--danger-ink); }
.ledger-head { color: var(--ink-muted); background: var(--surface-soft); }
.ledger-row,
.ledger-head { border-color: var(--rule); }
.ledger-row { color: var(--ink-body); }
.ledger-row strong,
.ledger-row code { color: var(--ink-strong); }
.table-note { color: var(--ink-muted); border-color: var(--rule); }
.source-figure { background: #ffffff; }
.missing-tile { color: var(--ink-body); background: #fff5f4; border-color: #edc8c5; }
.missing-tile > b { color: var(--danger-ink); }
.reproduction-card li { color: var(--ink-muted); border-color: var(--rule); }
.reproduction-card li .done { color: var(--emerald); }

/* Metrics */
.snapshot-badge { color: var(--ink-body); background: #ffffff; border-color: var(--rule); }
.chart-panel { background: #ffffff; }
.chart-unit,
.chart-caption { color: var(--ink-muted); }
.chart-caption { border-color: var(--rule); }
.bar-chart a span { color: var(--ink-muted); }
.bar-chart a b { color: var(--ink-strong); }
.bar-chart a > i { background: #b8c2be; }
.bar-chart a:first-child > i,
.bar-chart a:hover > i { background: var(--emerald); }
.scatter-chart { background-image: linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px); border-color: var(--rule-strong); }
.scatter-chart a { color: #ffffff; background: var(--emerald); border-color: #ffffff; }
.axis-x,
.axis-y { color: var(--ink-muted); }
.lambda-chart div { border-color: var(--rule); }
.lambda-chart b { background: #82908a; }
.lambda-chart div:nth-last-child(-n+2) b { background: var(--emerald); }
.lambda-chart span,
.lambda-chart small { color: var(--ink-muted); }
.source-donut { background: conic-gradient(var(--emerald) 0 36%, #798680 36% 89%, #bdc7c2 89% 100%); }
.source-donut > div { background: #ffffff; }
.source-donut strong,
.source-donut span { color: var(--ink-strong); }
.source-panel li { border-color: var(--rule); }
.source-panel li span { color: var(--ink-muted); }
.source-panel li b { color: var(--ink-strong); }
.integrity-score strong { color: var(--ink-strong); }
.integrity-score > div span,
.integrity-panel > p { color: var(--ink-muted); }
.original-figure img { background: #ffffff; mix-blend-mode: normal; }

/* Status, dialogs and feedback */
.status-positive { color: #096746; background: #e7f6ef; border-color: #b9decf; }
.status-active { color: #4055b8; background: #eef0ff; border-color: #cdd3fb; }
.status-warning { color: #83540e; background: #fff7e7; border-color: #ead4a7; }
.status-negative { color: #aa3731; background: #fff0ef; border-color: #edc3c0; }
.status-muted { color: var(--ink-muted); background: var(--surface-soft); border-color: var(--rule); }
.tag { color: var(--ink-body); background: #ffffff; border-color: var(--rule-strong); }
.tag-accent { color: var(--emerald); border-color: #a9d3c1; }
.command-dialog,
.log-dialog,
.figure-dialog { color: var(--ink-body); background: #ffffff; border-color: var(--rule-strong); box-shadow: 0 34px 110px rgba(35,61,51,.2); }
.command-dialog::backdrop,
.log-dialog::backdrop,
.figure-dialog::backdrop { background: rgba(25,42,36,.34); }
.command-head { border-color: var(--rule); }
.command-head span { color: var(--emerald); }
.command-head h2 { color: var(--ink-strong); }
.command-list a { color: var(--ink-body); }
.command-list a:hover { color: var(--ink-strong); background: var(--surface-soft); }
.command-list b { color: var(--emerald); }
.log-dialog pre { color: #0b6044; background: #f3f8f5; }
.toast { color: var(--ink-body); background: #ffffff; border-color: var(--rule-strong); border-left-color: var(--emerald); box-shadow: 0 20px 60px rgba(35,61,51,.16); }
.empty-state,
.no-results,
.not-found { color: var(--ink-muted); }

/* Readability polish for the light canvas */
.button,
.topbar-action,
.detail-tabs button { font-size: 13px; }
.field small,
.range-field small,
.choice-stack small,
.backend-choice small,
.form-section header p { font-size: 12px; line-height: 1.65; }

@media (max-width: 960px) {
  .sidebar { box-shadow: 30px 0 80px rgba(35,61,51,.16); }
  body.menu-open .scrim { background: rgba(35,61,51,.22); }
  .molecular-stage { border-color: var(--rule); }
}

@media (prefers-reduced-transparency: reduce) {
  .global-header,
  .topbar,
  .detail-tabs { background: #f8faf9; backdrop-filter: none; }
}
