:root {
  color-scheme: light;
  --bg: #f7f9fc;
  --bg-2: #eef3f8;
  --ink: #10233e;
  --muted: #64748b;
  --soft: #475569;
  --line: #dce5ee;
  --line-strong: #b7c7d8;
  --panel: rgba(255, 255, 255, .88);
  --panel-strong: #ffffff;
  --cyan: #0f766e;
  --blue: #2563eb;
  --gold: #a16207;
  --green: #15803d;
  --danger: #dc2626;
  --shadow: 0 18px 50px rgba(30, 55, 82, .1);
}

body {
  color: var(--ink);
  background: #f7f9fc;
}

body::before { display: none; }

.site-header {
  background: rgba(255, 255, 255, .88);
  border-bottom-color: #e2e8f0;
  box-shadow: 0 1px 0 rgba(15, 35, 62, .03);
}

.brand-mark {
  color: #ffffff;
  background: #0f766e;
  box-shadow: none;
}

.nav-links { color: #526277; }
.nav-links a:hover { color: #0f766e; }

.nav-cta {
  border-color: #b7d8d3;
  color: #0f766e;
  background: #effaf8;
}

.hero {
  background: #f7f9fc;
  border-bottom-color: #dce5ee;
}

.scene-wrap { background: #f7f9fc; }
.scene-vignette { background: rgba(247, 249, 252, .8); }

.node-tag {
  border-color: #cbd8e5;
  background: rgba(255, 255, 255, .92);
  color: #526277;
  box-shadow: 0 10px 24px rgba(30, 55, 82, .08);
}

.node-tag strong { color: #0f766e; }

.node-tag.is-active {
  border-color: #75b9b0;
  background: #ffffff;
}

.eyebrow {
  border-color: #b7d8d3;
  background: #effaf8;
  color: #0f766e;
}

h1,
h2,
.stage-copy h3,
.path-title h3,
.cap-card h3,
.boundary-card h3 { color: #10233e; }

.lead { color: #526277; }

.button {
  border-color: #cbd5e1;
  background: #ffffff;
  color: #243b56;
  box-shadow: 0 8px 20px rgba(30, 55, 82, .06);
}

.button:hover { border-color: #75b9b0; }

.button.primary {
  color: #ffffff;
  background: #0f766e;
  box-shadow: 0 12px 28px rgba(15, 118, 110, .18);
}

.section {
  background: #f7f9fc;
  border-top-color: #dce5ee;
}

.section.alt { background: #eef3f8; }
.kicker { color: #0f766e; }

.product-tab,
.goal-button,
.path-step,
.cap-card,
.boundary-card {
  border-color: #dce5ee;
  background: #ffffff;
  color: #243b56;
  box-shadow: 0 8px 24px rgba(30, 55, 82, .05);
}

.product-tab:hover,
.product-tab.active,
.goal-button:hover,
.goal-button.active {
  border-color: #75b9b0;
  background: #effaf8;
}

.product-stage,
.goal-panel,
.path-panel,
.brand-band {
  border-color: #d8e2ec;
  background: #ffffff;
  box-shadow: var(--shadow);
}

.product-stage::before { display: none; }
.stage-copy p,
.stage-points li { color: #526277; }
.stage-points li::before { background: #0f766e; box-shadow: none; }

.device-preview {
  border-color: #d8e2ec;
  background: #f4f7fa;
  box-shadow: inset 0 0 0 1px #ffffff;
}

.device-bar { border-bottom-color: #dce5ee; }
.device-bar span { background: #b6c4d3; }

.device-card {
  border-color: #dce5ee;
  background: #ffffff;
}

.device-card strong { color: #0f766e; }
.device-card span { color: #526277; }

.path-step i,
.cap-card .index {
  color: #ffffff;
  background: #0f766e;
}

.cap-card { box-shadow: 0 12px 28px rgba(30, 55, 82, .06); }

.brand-status {
  border-color: #b7d8d3;
  background: #effaf8;
  color: #0f766e;
}

.footer {
  background: #ffffff;
  color: #64748b;
  border-top-color: #dce5ee;
}

.footer a { color: #334e68; }

.workbench-section {
  color: #10233e;
  background: #eef3f8;
  border-color: #dce5ee;
}

.workbench-intro p { color: #64748b; }

.workbench-intro h2 { font-size: clamp(32px, 3.4vw, 48px); }

.study-app {
  border-color: #d8e2ec;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(30, 55, 82, .12);
}

.app-sidebar {
  border-color: #dce5ee;
  background: #f7f9fc;
}

.app-sidebar-head,
.app-sidebar-foot,
.app-topbar { border-color: #e2e8f0; }

.app-sidebar-head div > span,
.app-sidebar-foot,
.service-state,
.exam-clock,
.switch-row { color: #64748b; }

.app-signal {
  border-color: #0f766e;
  box-shadow: none;
}

.app-nav-item { color: #526277; }

.app-nav-item > span {
  border-color: #d6e0ea;
  color: #64748b;
}

.app-nav-item:hover,
.app-nav-item.active {
  border-color: #b7d8d3;
  background: #eaf6f4;
  color: #0f5f59;
}

.app-nav-item.active > span {
  border-color: #0f766e;
  background: #0f766e;
  color: #ffffff;
}

.app-sidebar-foot strong,
.exam-clock strong { color: #a16207; }

.app-body,
.app-topbar { background: #ffffff; }
.app-overline,
.question-category { color: #0f766e; }
.service-state > span { box-shadow: none; }

.segmented {
  border-color: #d8e2ec;
  background: #f1f5f9;
}

.segmented button { color: #64748b; }

.segmented button.active {
  background: #ffffff;
  color: #10233e;
  box-shadow: 0 2px 8px rgba(30, 55, 82, .08);
}

.switch-row > span {
  border-color: #cbd5e1;
  background: #e2e8f0;
}

.switch-row > span::after { background: #94a3b8; }
.switch-row input:checked + span { border-color: #75b9b0; background: #d9f0ed; }
.switch-row input:checked + span::after { background: #0f766e; }

.trainer-grid { border-color: #d8e2ec; }

.question-pane {
  border-color: #dce5ee;
  background: #f8fafc;
}

.writing-pane { background: #ffffff; }
.question-copy { color: #334e68; }

.icon-command,
.text-command {
  border-color: #cbd5e1;
  background: #ffffff;
  color: #334e68;
}

.submit-command {
  border-color: #0f766e;
  background: #0f766e;
  color: #ffffff;
}

.custom-question,
.report-section,
.profile-section,
.membership-section,
.content-item,
.ranking-row,
.history-row,
.history-summary > div,
.dimension-item,
.profile-stat,
.improvement-item,
.daily-lead,
.daily-audio,
.badge-item,
.plan-item {
  border-color: #dce5ee;
  background: #ffffff;
  color: #243b56;
}

.custom-question textarea,
.profile-section textarea,
#answerInput {
  border-color: #cbd5e1;
  background: #ffffff;
  color: #10233e;
}

#answerInput::placeholder,
.profile-section textarea::placeholder,
.custom-question textarea::placeholder { color: #94a3b8; }

.question-meta,
.word-count,
.empty-state p,
.report-summary p,
.dimension-item span,
.profile-stat span,
.dimension-item p,
.daily-lead p,
.content-item p,
.ranking-row span,
.history-row span,
.history-summary span,
.streak-display span,
.plan-item small { color: #64748b; }

.empty-state,
.content-dialog {
  border-color: #d8e2ec;
  background: #ffffff;
  color: #10233e;
  box-shadow: var(--shadow);
}

.score-dial {
  border-color: #0f766e;
  background: #effaf8;
}

.score-dial strong,
.rank-score,
.history-score,
.streak-display strong { color: #0f766e; }

.report-list li,
.daily-script p,
.model-answer p { color: #475569; }

.content-item:hover,
.ranking-row:hover,
.history-row:hover { background: #f7fafc; }

.content-item button {
  border-color: #b7d8d3;
  background: #effaf8;
  color: #0f766e;
}

.badge-item.unlocked {
  border-color: #75b9b0;
  background: #effaf8;
}

.app-notice {
  border-color: #b7d8d3;
  background: #effaf8;
  color: #0f5f59;
}

.app-notice.error {
  border-color: #fecaca;
  background: #fff1f2;
  color: #b91c1c;
}

.content-dialog::backdrop { background: rgba(15, 35, 62, .28); }

@media (max-width: 980px) {
  .scene-vignette { background: rgba(247, 249, 252, .68); }
}
