/* EgoVerse's official paper/lavender palette, with a matching dark theme. */
:root {
  color-scheme: dark;
  --bg: #121119; --card: #1b1924; --surface: #16141e;
  --ink: #eeedf5; --muted: #aaa6bc; --line: #34303f;
  --accent: #b8a9e0; --accent-hover: #c9baed; --accent-ink: #211b32;
  --soft: #2b253b; --hover: #252130; --input: #17151f;
  --green: #9ec4b4; --green-bg: #21322c; --warning: #e0c49c; --warning-bg: #332c22;
  --orange: var(--accent); --pale: var(--soft); --blue: #a9b4de; --radius: 12px;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: rgb(244,244,252); --card: #fff; --surface: rgb(250,250,253);
  --ink: rgb(35,32,48); --muted: rgb(108,104,128); --line: #e2dfe9;
  --accent: rgb(100,90,140); --accent-hover: rgb(75,68,115); --accent-ink: #fff;
  --soft: #eeebf6; --hover: #f0eef7; --input: #fafafd;
  --green: #386755; --green-bg: #eaf3ee; --warning: #805a28; --warning-bg: #fbf3e7;
  --blue: #626f9c;
}
body { font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; background: var(--bg); color: var(--ink); }
.sidebar,.topbar { background: var(--surface); }
.brand { gap: 10px; font-size: 23px; letter-spacing: -.6px; }
.brand-logo { display:block; flex-shrink:0; object-fit:contain; }
.brand small,.navlabel { color:var(--muted); }
.navlabel { margin-top:36px; }
nav button { color:var(--muted); min-height:44px; }
nav button:hover { background:var(--hover); }
nav button.active { background:var(--soft); color:var(--ink); }
.count { background:var(--line); color:var(--ink); }
.panel,.stat,dialog { background:var(--card); color:var(--ink); border-color:var(--line); border-radius:var(--radius); }
.panel { min-width:0; }
.page-head h1 { font-weight:650; letter-spacing:-.8px; }
.stat strong { font-weight:550; }
.stat-label svg,.eyebrow { color:var(--accent); }
.button { background:var(--surface); border-color:var(--line); color:var(--ink); border-radius:8px; }
.button:hover { background:var(--hover); }
.button.primary { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.button.primary:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.button.quiet { background:transparent; color:var(--muted); }
.button.quiet:hover { background:var(--hover); }
.source-badge,.chip.green { color:var(--green); background:var(--green-bg); border-color:var(--line); }
.input,select,textarea,.filter-panel .multi-entry { color:var(--ink); background:var(--input); border-color:var(--line); }
.filter-panel .multi-entry:focus-within { border-color:var(--accent); box-shadow:0 0 0 2px var(--soft); }
.input::placeholder,.filter-panel .input::placeholder { color:var(--muted); opacity:.85; }
.field label,.filter-panel .field label,.semantic-content>label,.semantic-query-row label { color:var(--muted); }
.filter-panel select.multi-mode { color:var(--muted); }
.filter-panel .multi-entry .multi-add { background:var(--soft); color:var(--ink); }
.filter-panel .multi-entry .multi-add:hover { background:var(--line); }
.selected-value,.manage-values,.chip { color:var(--ink); border-color:var(--line); background:var(--soft); }
.selected-value span,.summary-hint,.filter-bottom>span,.more-filters legend { color:var(--muted); }
.more-filters>summary,.semantic-panel>summary,.semantic-actions>strong { color:var(--ink); }
.filter-heading,.filter-bottom { border-color:var(--line); }
.filter-bottom { background:var(--surface); }
.chip.orange,.step { background:var(--soft); color:var(--accent); border-color:var(--line); }
th { background:var(--surface); color:var(--muted); border-color:var(--line); }
td,.schema .schema-row { border-color:var(--line); }
tr.selected { background:var(--soft); }
tbody tr:hover { background:var(--hover); }
td .episode-name { color:var(--ink); }
td small,.inspect-id { color:var(--muted); }
.view-toggle { border-color:var(--line); }
.view-toggle button.active { color:var(--ink); background:var(--soft); }
.bar-track { background:var(--line); }
.bar-fill,.train-color { background:var(--accent); }
.valid-color { background:var(--green); }
.split-callout { background:var(--card); }
.info { background:var(--surface); border-color:var(--line); color:var(--muted); }
.info.warning { background:var(--warning-bg); color:var(--warning); border-color:var(--line); }
.code { background:var(--surface); color:var(--ink); }
.episode-card .card-thumb { background:var(--surface); }
.episode-card.selected { border-color:var(--accent); }
.toast { background:var(--ink); color:var(--bg); }
.error { color:var(--warning); }
.text-link { color:var(--accent); }
input[type=checkbox] { accent-color:var(--accent); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.filter-panel button:focus-visible,.filter-panel summary:focus-visible,.filter-panel select.multi-mode:focus-visible { outline-color:var(--accent); }
.work-area,.lower-grid { grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:stretch; }
.work-area>.panel { display:flex; flex-direction:column; }
.work-area .panel-title,.lower-grid .panel-title { min-height:66px; }
.work-area .table-wrap { flex:1; }
.work-area .table-foot { margin-top:auto; border-top:1px solid var(--line); }
.work-area .inspector { height:100%; }
.inspector .inspect-body { flex:1; }
.lower-grid { margin-top:20px; }
.cohort-card { display:flex; flex-direction:column; }
.cohort-card .split-callout { flex:1; padding:20px; justify-content:flex-start; gap:12px; }
.cohort-card .split-callout p { margin:0; }
.cohort-card .button { max-width:100%; white-space:normal; text-align:left; }
.cards { align-content:start; }
.episode-card { display:flex; flex-direction:column; min-width:0; }
.card-info { flex:1; }
@media(min-width:1600px) { .work-area,.lower-grid { grid-template-columns:minmax(0,1fr) 380px; } }
@media(max-width:1200px) and (min-width:981px) { .work-area,.lower-grid { grid-template-columns:minmax(0,1fr) 280px; } }
@media(max-width:980px) { .work-area,.lower-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:730px) { .topbar { height:auto; min-height:70px; padding:12px 16px; gap:12px; flex-wrap:wrap; } .topright { gap:8px; flex-wrap:wrap; } .source-badge { order:3; } .navlabel { margin-top:0; } .brand-logo { width:30px;height:34px; } .bar-row { grid-template-columns:95px minmax(0,1fr) 65px; } .panel-title { flex-wrap:wrap; } }

@media(max-width:600px) { .semantic-query-row {grid-template-columns:1fr;} .stats{gap:10px;} .stat{min-width:0;padding:14px;} .stat strong{font-size:23px;} .cards{grid-template-columns:1fr;} }

/* Train/validation use labeled, distinct hues and a pattern, not color alone. */
:root { --train:#80baff; --valid:#ffc267; --train-text:#a6ceff; --valid-text:#ffd293; }
:root[data-theme="light"] { --train:#365fa8; --valid:#d58a1b; --train-text:#29518f; --valid-text:#82520b; }
.train-color { background:var(--train); }
.valid-color { background-color:var(--valid); background-image:repeating-linear-gradient(135deg,transparent 0 5px,#0003 5px 7px); }
.train-label { color:var(--train-text); }
.valid-label { color:var(--valid-text); }
.chip.train-label,.chip.valid-label { border-color:currentColor; background:var(--surface); }
.split-preview { gap:5px; min-height:14px; }
.bar-track { display:flex; gap:3px; height:12px; }
.bar-track>div { min-width:0; }
.bar-row>span:last-child { color:var(--ink); font-size:12px; }
.legend { color:var(--ink); gap:20px; flex-wrap:wrap; }
.legend i { width:18px; height:10px; border-radius:2px; }
.split-mode-row { display:flex; align-items:center; gap:24px; margin-bottom:20px; }
.split-mode-row .field { flex:1; margin:0; min-width:250px; }
.split-mode-row p { flex:1; line-height:1.6; margin:0; }
.cohort-cards { display:grid; gap:20px; margin-bottom:22px; }
.cohort-cards.separate { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cohort-cards .cohort-summary { margin:0; }
.cohort-cards .panel-title { gap:12px; flex-wrap:wrap; min-height:72px; }
.cohort-cards .cohort-body { line-height:1.8; }
.comparison-report { margin-bottom:22px; }
.comparison-report .panel-title { flex-wrap:wrap; gap:12px; }
.review-body { padding:20px; }
.cohort-totals { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.cohort-totals>div { display:flex; flex-direction:column; gap:8px; }
.cohort-totals strong { font-size:28px; }
.cohort-totals span { font-size:13px; }
.review-body>.caption { margin:16px 0; font-size:12px; }
.review-body .info { line-height:1.65; margin:18px 0; }
.review-body .info ul { padding-left:20px; margin-bottom:0; }
.conflict-badge { color:var(--warning); border-color:var(--warning); background:var(--warning-bg); }
.overlap-resolution { margin:20px 0; }
.overlap-resolution label { display:block; font-size:13px; margin-bottom:10px; }
.overlap-resolution select { width:100%; height:auto; min-height:44px; }
.review-details { border-top:1px solid var(--line); padding:0; }
.review-details summary { cursor:pointer; padding:16px 0; color:var(--ink); font-size:13px; font-weight:550; }
.review-details p { font-size:12px; line-height:1.7; margin:0 0 14px; }
.review-table-wrap { overflow:auto; max-height:320px; margin-bottom:16px; border:1px solid var(--line); border-radius:6px; }
.review-table { font-size:12px; width:100%; table-layout:fixed; }
.review-table th,.review-table td { padding:10px; white-space:normal; overflow-wrap:anywhere; vertical-align:top; font-size:12px; }
.review-table th { text-transform:none; letter-spacing:0; }
.filter-diff-value { white-space:pre-wrap; max-height:150px; overflow:auto; }
.context-heading { margin:24px 0 8px; }
.context-heading+.caption { line-height:1.7; }
.comparison-report .info strong { color:inherit; }
@media(max-width:1100px) { .cohort-cards.separate {grid-template-columns:1fr;} .split-mode-row{align-items:stretch;flex-direction:column;gap:12px;} .split-mode-row .field{min-width:0;} }
@media(max-width:600px) { .cohort-totals{gap:12px;} .review-body{padding:16px;} .review-table{min-width:400px;} .page-head .actions{flex-wrap:wrap;} }
