/* Release-selected V8 palette. Removing data-visual-theme retains V7 tokens. */
:root[data-visual-theme="v8"] {
  --color-primary: #4263A3;
  --color-on-primary: #FFFFFF;
  --color-primary-50: #EEF2F8;
  --color-primary-100: #DDE6F4;
  --color-primary-200: #C6D5EC;
  --color-primary-300: #9DB4D9;
  --color-primary-400: #5D7AB4;
  --color-secondary: #35715F;
  --color-on-secondary: #FFFFFF;
  --color-secondary-50: #EEF7F3;
  --color-secondary-100: #D7EBE2;
  --color-secondary-200: #B9DDCF;
  --color-secondary-300: #86BEA8;
  --color-accent: #AD4F2C;
  --color-on-accent: #FFFFFF;
  --color-accent-50: #FFF2EC;
  --color-accent-100: #FCE0D1;
  --color-accent-200: #F5C2AC;
  --color-accent-300: #DF9677;
  --color-page: #F7F8FA;
  --color-surface: #FFFFFF;
  --color-surface-muted: #EEF1F5;
  --color-line: #D8DEE7;
  --color-control-line: #64748B;
  --color-text: #252A34;
  --color-text-secondary: #596273;
  --color-text-secondary-aa: #596273;
  --color-focus: #4263A3;
  --color-focus-ring: #DDE6F4;
  --color-disabled-bg: #E1E5EA;
  --color-disabled-fg: #5E6877;
  --color-disabled-line: #768295;
  --color-success-bg: #E8F5EF;
  --color-success-fg: #1A5D4B;
  --color-success-line: #317A65;
  --color-warning-bg: #FFF0EA;
  --color-warning-fg: #8C3E22;
  --color-warning-line: #C96C49;
  --color-danger: #B4233A;
  --color-on-danger: #FFFFFF;
  --color-danger-bg: #FCEEF0;
  --color-danger-fg: #9E1F36;
  --color-danger-line: #CE6073;
  --color-overlay: rgba(23,32,51,.46);
  --color-header-glass: rgba(255,255,255,.92);
  --color-soft-glass: rgba(255,255,255,.76);
  --color-chat-other: #FFFFFF;
  --color-chat-mine: #DDE6F4;
  --color-toast: #252A34;
  --color-toast-text: #FFFFFF;
  --gradient-hero: linear-gradient(135deg,#314C83 0%,#4263A3 56%,#35715F 100%);
  --gradient-page: radial-gradient(circle at 10% -4%,rgba(66,99,163,.10),transparent 34%), radial-gradient(circle at 92% 20%,rgba(53,113,95,.08),transparent 30%);
  --shadow-card: 0 10px 30px rgba(23,32,51,.09);
  --shadow-float: 0 20px 52px rgba(23,32,51,.16);
  --good: var(--color-success-fg);
  --warn: var(--color-warning-fg);
  --bad: var(--color-danger-fg);
}

:root[data-visual-theme="v8"][data-theme="dark"] {
  --color-primary: #9EB7E5;
  --color-on-primary: #172033;
  --color-primary-50: #1C2A41;
  --color-primary-100: #243854;
  --color-primary-200: #304A6C;
  --color-primary-300: #52719A;
  --color-primary-400: #C4D2EE;
  --color-secondary: #75C0A7;
  --color-on-secondary: #172033;
  --color-secondary-50: #19352E;
  --color-secondary-100: #21473C;
  --color-secondary-200: #2B5E4F;
  --color-secondary-300: #4E8E78;
  --color-accent: #FFB080;
  --color-on-accent: #172033;
  --color-accent-50: #3D291F;
  --color-accent-100: #523526;
  --color-accent-200: #704631;
  --color-accent-300: #A36547;
  --color-page: #11151C;
  --color-surface: #1B212A;
  --color-surface-muted: #272F3A;
  --color-line: #3D4756;
  --color-control-line: #8591A3;
  --color-text: #F4F6FA;
  --color-text-secondary: #C7CEDA;
  --color-text-secondary-aa: #D1D7E1;
  --color-focus: #9EB7E5;
  --color-focus-ring: #304A6C;
  --color-disabled-bg: #343C48;
  --color-disabled-fg: #B4BFCE;
  --color-disabled-line: #788697;
  --color-success-bg: #173B32;
  --color-success-fg: #AAE4D0;
  --color-success-line: #5EB598;
  --color-warning-bg: #482B20;
  --color-warning-fg: #FFD1BC;
  --color-warning-line: #F0926A;
  --color-danger: #FF9BAA;
  --color-on-danger: #2A1218;
  --color-danger-bg: #4A232D;
  --color-danger-fg: #FFC1CB;
  --color-danger-line: #E77D8F;
  --color-overlay: rgba(5,8,13,.74);
  --color-header-glass: rgba(17,21,28,.90);
  --color-soft-glass: rgba(39,47,58,.84);
  --color-chat-other: #202833;
  --color-chat-mine: #304A6C;
  --color-toast: #F4F6FA;
  --color-toast-text: #172033;
  --gradient-hero: linear-gradient(135deg,#253855 0%,#4E6FA3 56%,#3D806C 100%);
  --gradient-page: radial-gradient(circle at 12% -5%,rgba(158,183,229,.11),transparent 34%), radial-gradient(circle at 88% 18%,rgba(117,192,167,.07),transparent 30%);
  --shadow-card: 0 14px 38px rgba(3,6,10,.30), inset 0 1px rgba(255,255,255,.025);
  --shadow-float: 0 24px 60px rgba(3,6,10,.48), inset 0 1px rgba(255,255,255,.035);
}

:root[data-visual-theme="v8"] #zhiyan-head-sky stop:first-child { stop-color: var(--color-primary-400); }
:root[data-visual-theme="v8"] #zhiyan-head-sky stop:last-child { stop-color: var(--color-primary); }
:root[data-visual-theme="v8"] .private-coach {
  background: var(--color-surface);
  border-color: var(--color-line);
  box-shadow: var(--shadow-card);
}
.home-invitation { margin: 8px 0 12px; color: var(--color-text-secondary-aa); font-size: .82rem; line-height: 1.6; }
.home-goals { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-top: 14px; }
.home-goals button {
  min-width: 0; min-height: 44px; padding: 8px;
  color: var(--color-text-secondary-aa); background: var(--color-surface);
  border: 1px solid var(--color-control-line); border-radius: 12px;
  font: inherit; font-size: .8rem; cursor: pointer;
}
.home-goals button:hover { background: var(--color-primary-50); }
.home-goals button[aria-pressed="true"] { color: var(--color-on-primary); background: var(--color-primary); border-color: var(--color-primary); }
.home-goal-hint { min-height: 20px; margin: 7px 2px 9px; color: var(--color-text-secondary-aa); font-size: .72rem; line-height: 1.6; }
:root[data-visual-theme="v8"] .private-send:disabled,
:root[data-visual-theme="v8"] .home-goals button:disabled {
  opacity: 1; color: var(--color-disabled-fg); background: var(--color-disabled-bg);
  border-color: var(--color-disabled-line); cursor: not-allowed;
}
:root[data-visual-theme="v8"] .home-goals button:focus-visible,
:root[data-visual-theme="v8"] .header-chip:focus-visible {
  outline: 2px solid var(--color-focus); outline-offset: 2px;
  box-shadow: 0 0 0 4px var(--color-focus-ring);
}
:root[data-visual-theme="v8"] .home-context-bar { background: var(--color-secondary-50); }
:root[data-visual-theme="v8"] .conversation-message.assistant { background: var(--color-chat-other); }
:root[data-visual-theme="v8"] .conversation-empty { background: var(--color-primary-50); border-color: var(--color-primary-200); }
:root[data-visual-theme="v8"] #page-home .quick-task-row button { background: var(--color-surface-muted); }
:root[data-visual-theme="v8"] .private-composer { background: var(--color-surface); box-shadow: none; }
:root[data-visual-theme="v8"] .private-composer:focus-within { border-color: var(--color-focus); box-shadow: 0 0 0 3px var(--color-focus-ring); }
/* A closed sheet must not extend the document or appear in a full-page view. */
:root[data-visual-theme="v8"] #sheet:not(.open) { visibility: hidden; pointer-events: none; }
.v8-answer-tools { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--color-border); }
.v8-rewrite-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.v8-rewrite-buttons button, .v8-action-link button, .v8-calibration select, .v8-action-card select { min-height: 44px; }
.v8-personalization-note { color: var(--color-text-secondary); font-size: 12px; line-height: 1.6; }
.v8-action-link { margin-top: 8px; }
.v8-calibration .field, .v8-action-card .field { display: grid; gap: 6px; margin-top: 14px; }
.v8-calibration select, .v8-action-card select, .v8-action-card textarea { width: 100%; }
.v8-action-card { padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.v8-action-card textarea { min-height: 88px; }
.v8-answer-tools details { margin-top: 8px; }
@media (max-width: 640px) {
  :root[data-visual-theme="v8"] .private-coach-head { flex-wrap: wrap; gap: 6px; }
  :root[data-visual-theme="v8"] .private-coach-head > div:first-child { flex: 1 1 100%; }
  :root[data-visual-theme="v8"] .private-head-actions { margin-left: auto; }
  .home-invitation { margin-bottom: 0; }
  .home-goals { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
}
[data-visual-theme="v8"] .v8-evidence-source {padding:14px 0;border-bottom:1px solid var(--line);}
[data-visual-theme="v8"] .v8-source-caption {display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;}
[data-visual-theme="v8"] .v8-source-caption time {font-size:12px;color:var(--color-text-secondary-aa);}
[data-visual-theme="v8"] .v8-evidence-source blockquote {white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;padding:12px;border-left:3px solid var(--color-accent);background:var(--color-surface-muted);border-radius:8px;}
[data-visual-theme="v8"] .v8-evidence-source summary {min-height:44px;display:flex;align-items:center;cursor:pointer;}
[data-visual-theme="v8"] .v8-evidence-exclude {display:flex;gap:8px;align-items:center;min-height:44px;margin-bottom:10px;}
[data-visual-theme="v8"] .v8-evidence-source .btn {min-height:44px;}
[data-visual-theme="v8"] .v8-analysis-followup {margin-top:18px;padding-top:16px;border-top:1px solid var(--color-line);}
[data-visual-theme="v8"] .v8-analysis-followup textarea {min-height:80px;}
[data-visual-theme="v8"] .v8-analysis-followup .btn {min-height:44px;margin-top:10px;}
[data-visual-theme="v8"] .simulation-review-card .v8-answer-tools {margin:16px 0;}
[data-visual-theme="v8"] .task-result-card .v8-revised-answer {line-height:1.85;}
[data-visual-theme="v8"] .v8-answer-tools > details > summary {min-height:44px;display:flex;align-items:center;cursor:pointer;}
@media(min-width:760px){
  [data-visual-theme="v8"] .v8-rewrite-buttons {grid-template-columns:repeat(4,minmax(0,1fr));}
}
[data-visual-theme="v8"] #analysis-result,
[data-visual-theme="v8"] #simulation-review {scroll-margin-top:160px;}
