/* T3 Code built-in palette colors, sampled from the installed Alpha app on
   2026-09-22. Text accents are adjusted where needed for 4.5:1 contrast on cards.
   Semantic colors target 4.7:1 against canvas, cards, and 12% status bands.
   scripts/test_theme_contrast.py enforces the 4.5:1 minimum for every variant. */
@media screen {
  html[data-palette="default"][data-appearance="light"] {
    --bg:#fcfcfc; --surface:#fcfcfc; --card:#fcfcfc; --line:#e4e4e7; --t1:#27272a; --t2:#71717b; --t3:#71717b; --ink:#27272a; --muted:#71717b; --code-bg:#ffffff; --accent:#1b4ed8; --accent-soft:#f4f4f5; --green:#13734f; --amber:#8e5c00; --red:#b42332; --blue:#1a5fb4; --violet:#7254b9; --gold:#8e5c00; --purple:#7254b9;
  }
  html[data-palette="default"][data-appearance="dark"] {
    --bg:#0a0a0a; --surface:#0a0a0a; --card:#141414; --line:#191919; --t1:#f5f5f5; --t2:#818181; --t3:#818181; --ink:#f5f5f5; --muted:#818181; --code-bg:#111111; --accent:#4177fb; --accent-soft:#141414; --green:#6dd6a0; --amber:#f2c166; --red:#ff9299; --blue:#8abaff; --violet:#c3a6ff; --gold:#f2c166; --purple:#c3a6ff;
  }
  html[data-palette="t3-chat"][data-appearance="light"] {
    --bg:#fdf7fd; --surface:#fdf7fd; --card:#fdfafd; --line:#eee1ed; --t1:#501854; --t2:#ac1668; --t3:#ac1668; --ink:#501854; --muted:#ac1668; --code-bg:#f5ecf9; --accent:#ac1668; --accent-soft:#f3e6f5; --green:#13734f; --amber:#8d5b00; --red:#b42332; --blue:#1a5fb4; --violet:#7153b7; --gold:#8d5b00; --purple:#7153b7;
  }
  html[data-palette="t3-chat"][data-appearance="dark"] {
    --bg:#1f1a24; --surface:#1f1a24; --card:#2c2631; --line:#27242c; --t1:#f9f8fb; --t2:#e7d0dd; --t3:#e7d0dd; --ink:#f9f8fb; --muted:#e7d0dd; --code-bg:#1f1a24; --accent:#f099d8; --accent-soft:#463753; --green:#6dd6a0; --amber:#f2c166; --red:#ff9299; --blue:#8abaff; --violet:#c3a6ff; --gold:#f2c166; --purple:#c3a6ff;
  }
  html[data-palette="grove"][data-appearance="light"] {
    --bg:#f3f7f4; --surface:#f3f7f4; --card:#ecefed; --line:#cbd5d1; --t1:#241523; --t2:#70686f; --t3:#70686f; --ink:#241523; --muted:#70686f; --code-bg:#eef1ef; --accent:#1b794e; --accent-soft:#d5e6dd; --green:#126b49; --amber:#825400; --red:#b22332; --blue:#195db0; --violet:#694daa; --gold:#825400; --purple:#694daa;
  }
  html[data-palette="grove"][data-appearance="dark"] {
    --bg:#1b2821; --surface:#1b2821; --card:#36413c; --line:#415f4f; --t1:#fffaff; --t2:#a9abac; --t3:#a9abac; --ink:#fffaff; --muted:#a9abac; --code-bg:#28342e; --accent:#69d69a; --accent-soft:#325c46; --green:#70d7a2; --amber:#f2c166; --red:#ffadb2; --blue:#9ec6ff; --violet:#cfb8ff; --gold:#f2c166; --purple:#cfb8ff;
  }
  html[data-palette="ocean"][data-appearance="light"] {
    --bg:#f5f7f8; --surface:#f5f7f8; --card:#edeff1; --line:#cdd4dc; --t1:#241523; --t2:#706871; --t3:#706871; --ink:#241523; --muted:#706871; --code-bg:#f0f1f3; --accent:#266fab; --accent-soft:#d8e4ee; --green:#126c4a; --amber:#845500; --red:#b22332; --blue:#195db0; --violet:#694daa; --gold:#845500; --purple:#694daa;
  }
  html[data-palette="ocean"][data-appearance="dark"] {
    --bg:#17212b; --surface:#17212b; --card:#333b45; --line:#405567; --t1:#fffaff; --t2:#a5a5ad; --t3:#a5a5ad; --ink:#fffaff; --muted:#a5a5ad; --code-bg:#252e38; --accent:#70b9ee; --accent-soft:#324e66; --green:#6dd6a0; --amber:#f2c166; --red:#ffa2a8; --blue:#92bfff; --violet:#cab0ff; --gold:#f2c166; --purple:#cab0ff;
  }
  html[data-palette="ember"][data-appearance="light"] {
    --bg:#f9f7f5; --surface:#f9f7f5; --card:#f1efee; --line:#ddd2ce; --t1:#241523; --t2:#726870; --t3:#726870; --ink:#241523; --muted:#726870; --code-bg:#f3f1f0; --accent:#aa532a; --accent-soft:#eee0d9; --green:#126c4a; --amber:#845500; --red:#b22332; --blue:#1a5eb2; --violet:#6a4eac; --gold:#845500; --purple:#6a4eac;
  }
  html[data-palette="ember"][data-appearance="dark"] {
    --bg:#291e1a; --surface:#291e1a; --card:#433835; --line:#664c3f; --t1:#fffaff; --t2:#aba4a5; --t3:#aba4a5; --ink:#fffaff; --muted:#aba4a5; --code-bg:#362b27; --accent:#f09a64; --accent-soft:#644330; --green:#6dd6a0; --amber:#f2c166; --red:#ffa5aa; --blue:#92bfff; --violet:#cab0ff; --gold:#f2c166; --purple:#cab0ff;
  }
  html[data-palette="iris"][data-appearance="light"] {
    --bg:#f8f7f9; --surface:#f8f7f9; --card:#f0eff2; --line:#d6d1de; --t1:#241523; --t2:#726872; --t3:#726872; --ink:#241523; --muted:#726872; --code-bg:#f2f1f4; --accent:#7253b9; --accent-soft:#e5e0f0; --green:#126c4a; --amber:#845500; --red:#b22332; --blue:#1a5eb2; --violet:#6a4eac; --gold:#845500; --purple:#6a4eac;
  }
  html[data-palette="iris"][data-appearance="dark"] {
    --bg:#1d1929; --surface:#1d1929; --card:#383443; --line:#4d4366; --t1:#fffaff; --t2:#a39fa9; --t3:#a39fa9; --ink:#fffaff; --muted:#a39fa9; --code-bg:#2a2736; --accent:#ac90f4; --accent-soft:#433765; --green:#6dd6a0; --amber:#f2c166; --red:#ff999f; --blue:#8abaff; --violet:#c4a8ff; --gold:#f2c166; --purple:#c4a8ff;
  }
  /* Ink for labels sitting on solid --blue/--green/--violet fills: those fills are
     dark in light palettes (white text reads) and pastel in dark palettes (canvas-dark
     text reads). Pages fall back to #fff when no palette is active. */
  html[data-appearance="light"] {color-scheme:light;--zebra:rgba(0,0,0,.018);--solid-ink:#fff}
  html[data-appearance="dark"] {color-scheme:dark;--zebra:rgba(255,255,255,.025);--solid-ink:var(--bg)}
  html[data-palette] {
    --band:color-mix(in srgb,var(--green) 12%,var(--card));
    --amberband:color-mix(in srgb,var(--amber) 12%,var(--card));
    --redband:color-mix(in srgb,var(--red) 12%,var(--card));
    --blueband:color-mix(in srgb,var(--blue) 12%,var(--card));
    --goldband:var(--amberband);--violetband:color-mix(in srgb,var(--violet) 12%,var(--card));
    --p0:color-mix(in oklab,var(--blue) 52%,var(--card));--p1:color-mix(in oklab,var(--blue) 68%,var(--card));--p2:color-mix(in oklab,var(--blue) 84%,var(--card));--p3:var(--blue);
    --normal-bg:var(--band);--normal-ink:var(--green);
    --border-bg:var(--amberband);--border-ink:var(--amber);
    --crit-bg:var(--redband);--crit-ink:var(--red);
  }
  html[data-palette] .app-bar a.on,html[data-palette] .app-bar a[aria-current],html[data-palette] .app-refresh {color:var(--accent)}
  html[data-palette] .app-stale {color:var(--amber)!important}
}
.app-appearance {margin:12px 0 20px;font:14px/1.5 -apple-system,system-ui,sans-serif;color:var(--t1,var(--ink))}
.app-appearance-controls {display:flex;flex-wrap:wrap;gap:12px 20px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.app-appearance label {display:grid;gap:6px;margin:0;font:inherit;color:var(--t2,var(--muted));text-transform:none;letter-spacing:normal;flex:1 1 180px}
.app-appearance select {width:100%;min-height:44px;padding:8px 12px;font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--surface,var(--bg));color:var(--t1,var(--ink))}
.app-appearance :focus-visible {outline:2px solid var(--accent);outline-offset:3px}
@media print {.app-appearance {display:none}}
