/* White paper, pale glass, and gray ink; original layout and behavior retained. */
:root {
  color-scheme: light;
  --blue: #343d43;
  --blue-dark: #202a30;
  --text: #273239;
  --muted: #626d74;
  --line: rgba(44,57,62,.11);
  --panel: #f7f9f6;
  --mint: #6d8176;
  --glass: linear-gradient(145deg, rgba(255,255,255,.92), rgba(249,251,248,.62));
  --glass-edge: rgba(61,76,80,.17);
  --glass-shadow: inset 0 1px 0 #ffffff, 0 4px 14px rgba(43,57,62,.065);
  --shadow: 0 8px 30px rgba(43,57,62,.07);
}
body { background: #fbfcfa; }
.app-shell {
  background-color: #fbfcfa;
  background-image: url('/assets/ink-landscape-white-v1.png');
}
.main-panel, .main-panel:has(#conversation:not([hidden])) { background: transparent; }
.sidebar { background: linear-gradient(180deg, rgba(249,251,248,.68), rgba(249,251,248,.8)); }
.settings-panel { background: linear-gradient(180deg, rgba(251,252,250,.47), rgba(251,252,250,.92) 48%, rgba(251,252,250,.96)); }
.topbar { background: rgba(255,255,255,.48); }
.stage-nav { background: rgba(255,255,255,.35); }
.brand, .page-title strong, .settings-heading h2, .welcome h1,
.question-card-heading strong { color: var(--text); }
.welcome h1, .welcome-description, .welcome-features, .welcome-note,
.welcome .eyebrow, .composer-disclaimer { text-shadow: none; }
.welcome-description { color: #4f5a60; }
.welcome .eyebrow, .welcome-features, .welcome-note { color: #616c72; }
.welcome-symbol { color: #68766e; }
.brand-mark {
  background: linear-gradient(145deg, #ffffffd9, #eef1ecd9);
  color: #3c4844;
  border-color: var(--glass-edge);
  box-shadow: var(--glass-shadow);
}
.sidebar-bottom { border-color: var(--line); }
.device-dot { background: #7a9486; }
.sidebar-label span { background: #e8eee8; color: #67746b; }
.new-session, .primary-button, .outline-button, .save-preferences,
.icon-button, .voice-button, .stop-button, .timer-actions button,
.practice-mode button.selected, .training-tip button {
  background: var(--glass);
  color: var(--text);
  border-color: var(--glass-edge);
  box-shadow: var(--glass-shadow);
}
.new-session:hover, .primary-button:hover, .outline-button:hover,
.save-preferences:hover, .icon-button:hover, .voice-button:hover,
.stop-button:hover, .timer-actions button:hover, .training-tip button:hover {
  background: linear-gradient(145deg, #fff, #f0f4eee6);
  color: #1e2c25;
  border-color: rgba(56,76,63,.27);
  box-shadow: inset 0 1px 0 #fff, 0 5px 17px #344e3e12;
}
.icon-button { color: #59686d; }
.mode-badge, .mode-badge.model { background: #f6f8f3cc; border-color: var(--line); color: #64726b; }
.mode-badge.model { color: #3c7462; }
.history-item { color: #58665e; }
.history-item:hover { background: #ffffff8c; }
.history-item.active { background: var(--glass); border-color: var(--glass-edge); color: #344e3f; box-shadow: var(--glass-shadow); }
.stage-nav button { color: #78837c; }
.stage-nav button span { background: #f4f7f1; border-color: #d9e0d8; color: #7b857e; }
.stage-nav button.current { color: #304639; background: var(--glass); border-color: var(--glass-edge); box-shadow: var(--glass-shadow); }
.stage-nav button.current span { background: #3e5346; border-color: #3e5346; color: #fff; }
.stage-nav button.done { color: #64786a; }
.stage-nav button.done span { background: #e8f0e6; border-color: #cddccf; color: #567760; }
.stage-nav i { background: #d7dfd6; }
.section-dot.blue { background: #8098a4; }
.section-dot.mint { background: #82998a; }
.settings-section h3 { color: #3e5145; }
.settings-section select, .settings-section textarea {
  background: rgba(255,255,255,.79);
  color: var(--text);
  border-color: #435b471f;
}
.settings-section select option { background: #fff; color: var(--text); }
.settings-section textarea::placeholder, .composer textarea::placeholder { color: #7e8983; }
textarea:focus, select:focus { border-color: #a0b1a2 !important; box-shadow: 0 0 0 3px #8ca38e0d; }
.settings-note, .settings-note span { color: #718078; }
.composer {
  background: linear-gradient(145deg, rgba(255,255,255,.87), rgba(247,250,245,.77));
  border-color: #ffffffed;
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px #43594a17, 0 8px 28px #34483a0d;
}
.composer:focus-within { border-color: #e8eee5; box-shadow: inset 0 1px 0 #fff, 0 0 0 1px #718b7566, 0 8px 28px #34483a0d; }
.composer textarea { color: #303d35; }
.composer.listening { border-color: #7d9c88; box-shadow: 0 0 0 3px #809c8614; }
.voice-button.recording { color: #a85151; border-color: #b86a6a4d; }
.send-button, .send-button:not(:disabled) { background: #3c5042; color: #fff; border-color: #ffffff7d; box-shadow: inset 0 1px 0 #ffffff26, 0 3px 8px #34483a12; }
.send-button:not(:disabled):hover { background: #293e30; }
.composer-disclaimer { color: #66776d; }
.question-card, .oral-task { background: rgba(255,255,255,.94); border-color: #3e51451a; }
.question-content>p, .question-content p.question-paper-heading,
.question-content p.question-task-prompt, .question-requirements p { color: #47554c; }
.question-label, .question-tags span, .oral-task-heading>span { background: #edf3e9; color: #687d6a; }
.question-requirements, .question-hints { border-color: #dce5d9; }
.question-requirements strong, .question-hints summary, .oral-task-heading h2 { color: #58745d; }
.question-content p.source-note, .question-hints-content p { color: #68796b; }
.question-hints-content a { color: #54755b; border-color: #77917b4d; }
.practice-mode>div { background: #edf2e9; }
.practice-mode button { color: #6b7d6e; }
.reading-timer, .oral-task-scaffold { background: #f2f6ee; }
.timer-label, .oral-task-list, .oral-task-scaffold, .oral-task-scaffold strong { color: #647969; }
.reading-timer strong { color: #426849; }
.timer-actions button, .timer-actions button:first-child { color: #526e56; border-color: var(--glass-edge); }
.training-tip, .training-tip>span { color: #59765f; }
.training-tip button { color: #3e5e45; }
.avatar { background: #e5eee2; color: #66876c; }
.message .bubble { background: rgba(245,248,241,.96); color: #425849; }
.message.user .bubble { background: #e5eee1; color: #354f3c; }
.checks { background: #f7faf3; border-color: #d4e2cf; }
.checks-label, .check-item { color: #617d66; }
.pending .bubble span { color: #718878; }
.pending .bubble b { background: #88a38e; }
.inline-notice { background: #fffaf0; border-color: #e5d7b8; color: #89703d; }
.inline-notice.error { background: #fff5f4; border-color: #e6c9c6; color: #a15b55; }
.toast { background: #fffffff0; color: #364e3c; border-color: #9fb19d66; box-shadow: 0 8px 25px #31493514; pointer-events: none; }
.chat-scroll, .settings-panel { scrollbar-color: #cdd6ca transparent; }
.drawer-overlay { background: #40534829; }
.ink-press-drop { background: #4e6255; box-shadow: inset 0 -.5px 0 #22342833; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline-color: #789780; }

@media(max-width:1030px) {
  .settings-panel {
    background-color: #fafcf8;
    background-image: linear-gradient(#fafcf8eb, #fafcf8f5), url('/assets/ink-landscape-white-v1.png');
    box-shadow: -10px 0 35px #314e3a12;
  }
}
@media(max-width:700px) {
  .main-panel { background: rgba(255,255,255,.04); }
  .topbar { background: rgba(255,255,255,.7); }
  .stage-nav { background: rgba(255,255,255,.48); }
  .welcome .eyebrow, .welcome-features, .welcome-note { color: #617267; }
  .welcome-description { color: #4b5e51; }
  .sidebar {
    background-color: #f9fbf7;
    background-image: linear-gradient(#fafcf8df, #fafcf8f2), url('/assets/ink-landscape-white-v1.png');
  }
  .composer { background: linear-gradient(145deg, #ffffffeb, #f7faf3e8); }
}
@media(prefers-reduced-transparency:reduce) {
  .new-session, .primary-button, .outline-button, .save-preferences,
  .icon-button, .voice-button, .stop-button, .timer-actions button,
  .practice-mode button.selected, .training-tip button, .stage-nav button.current,
  .composer { background: #fafcf7; backdrop-filter: none; }
}
