/* Ink & Paper: calm editorial surfaces with enough separation to scan confidently. */
:root {
  --ink-paper-bg: #f3eee5;
  --ink-paper-surface: #fbf9f4;
  --ink-paper-elevated: #fffdf8;
  --ink-paper-sidebar: #e5ddd1;
  --ink-paper-border: #c9beb1;
  --ink-paper-border-strong: #9f9284;
  --ink-paper-text: #2c2926;
  --ink-paper-muted: #6e655d;
  --ink-paper-accent: #9a4f32;
  --ink-paper-accent-soft: #ead7cd;
  --ink-paper-star: #a86d2f;
}

body { background: var(--ink-paper-bg); color: var(--ink-paper-text); }
.site-header { border-color: var(--ink-paper-border); background: color-mix(in srgb, var(--ink-paper-bg) 88%, transparent); }
.site-footer { border-color: var(--ink-paper-border); color: var(--ink-paper-muted); }
.brand, .brand__mark { color: var(--ink-paper-text); }
.nav a:not(.button) { color: var(--ink-paper-muted); }
.nav a:not(.button):hover { background: var(--ink-paper-accent-soft); color: var(--ink-paper-text); }
.button { border-color: var(--ink-paper-text); background: var(--ink-paper-text); color: var(--ink-paper-elevated); box-shadow: 0 1px 2px #2c292626; }
.button:hover { border-color: var(--ink-paper-accent); background: var(--ink-paper-accent); color: #fffdf8; }
.button--secondary { border-color: var(--ink-paper-border-strong); background: transparent; color: var(--ink-paper-text); }
.button--secondary:hover { border-color: var(--ink-paper-text); background: var(--ink-paper-text); color: var(--ink-paper-elevated); }
.flash--notice { background: #dce8dc; color: #31563a; }
.flash--alert, .form-errors { background: #f0d9d2; color: #8d372a; }

/* Public landing */
.validation-web-hero h1, .validation-web-steps h2, .validation-hero-record h2 { color: var(--ink-paper-text); }
.validation-web-hero .lead, .validation-web-hero > div > p:not(.validation-hero-actions) { color: var(--ink-paper-muted); }
.validation-hero-record { background: var(--ink-paper-surface); border-color: var(--ink-paper-border); transform: rotate(.5deg); }
.validation-hero-record blockquote { border-color: var(--ink-paper-accent); color: var(--ink-paper-text); }
.validation-web-steps { border-color: var(--ink-paper-border); }
.validation-web-steps span { color: var(--ink-paper-accent); }

/* Validation workspace */
.validation-shell { background: var(--ink-paper-bg); color: var(--ink-paper-text); }
.validation-sidebar { background: var(--ink-paper-sidebar); border-color: var(--ink-paper-border); }
.validation-sidebar p, .validation-heading p, .validation-card p, .validation-question-panel p { color: var(--ink-paper-muted); }
.validation-sidebar nav a { background: var(--ink-paper-surface); color: var(--ink-paper-text); }
.validation-sidebar nav a:hover { background: var(--ink-paper-elevated); }
.validation-label, .validation-overview span, .validation-records time, .validation-records span { color: var(--ink-paper-muted); }
.validation-badge { background: var(--ink-paper-accent-soft); border-color: var(--ink-paper-border); color: var(--ink-paper-text); }
.validation-overview, .validation-card, .validation-records, .validation-answer { background: var(--ink-paper-elevated); border-color: var(--ink-paper-border); }
.validation-overview > div, .validation-records li { border-color: var(--ink-paper-border); }
.validation-card blockquote { border-color: var(--ink-paper-accent); color: var(--ink-paper-text); }
.validation-kind { background: var(--ink-paper-accent-soft); color: var(--ink-paper-text); }
.validation-source-link, .validation-records a { color: var(--ink-paper-accent); }
.validation-question-panel, .validation-next { background: var(--ink-paper-sidebar); border-color: var(--ink-paper-border); }
.validation-suggestions button, .validation-input-row input { background: var(--ink-paper-elevated); border-color: var(--ink-paper-border-strong); color: var(--ink-paper-text); }
.validation-answer article { border-color: var(--ink-paper-border); }
.validation-source-document { background: var(--ink-paper-elevated); border-color: var(--ink-paper-border); color: var(--ink-paper-text); }

/* Main workspace shell */
.workspace-body { background: var(--ink-paper-bg); color: var(--ink-paper-text); }
.workspace-app { background: var(--ink-paper-bg); }
.workspace-sidebar { background: var(--ink-paper-sidebar); border-color: var(--ink-paper-border); }
.workspace-brand, .workspace-brand__mark { color: var(--ink-paper-text); }
.workspace-nav__label, .workspace-eyebrow, .workspace-panel__label { color: var(--ink-paper-muted); }
.workspace-nav__item, .workspace-settings-link { color: var(--ink-paper-muted); }
.workspace-nav__item:hover, .workspace-settings-link:hover { background: #d8cec1; color: var(--ink-paper-text); }
.workspace-nav__item.is-active, .workspace-settings-link.is-active { background: var(--ink-paper-accent-soft); color: var(--ink-paper-accent); }
.workspace-nav__item small { color: var(--ink-paper-muted); }
.workspace-sidebar__footer { border-color: var(--ink-paper-border); }
.workspace-storage__icon { background: #d7e5d8; color: #356044; }
.workspace-main { background: var(--ink-paper-bg); }
.workspace-topbar { border-color: var(--ink-paper-border); background: color-mix(in srgb, var(--ink-paper-bg) 92%, transparent); }
.workspace-topbar__context, .workspace-lead { color: var(--ink-paper-muted); }
.workspace-topbar__context strong, .workspace-page-heading h1 { color: var(--ink-paper-text); }
.workspace-menu__button, .workspace-menu__panel { border-color: var(--ink-paper-border); background: var(--ink-paper-surface); color: var(--ink-paper-text); }
.workspace-menu__panel a, .workspace-menu__panel button { color: var(--ink-paper-muted); }
.workspace-menu__panel a:hover, .workspace-menu__panel button:hover { background: var(--ink-paper-accent-soft); color: var(--ink-paper-text); }
.workspace-panel, .workspace-badge, .workspace-chip, .workspace-draft-status { border-color: var(--ink-paper-border); background: var(--ink-paper-elevated); color: var(--ink-paper-text); }
.workspace-panel h2, .workspace-section h2 { color: var(--ink-paper-text); }
.workspace-badge--success { border-color: #aec8b1; background: #dce8dc; color: #31563a; }
.workspace-badge--warning { border-color: #d2b983; background: #f0e3c6; color: #79571d; }
.workspace-calendar-date strong { background: var(--ink-paper-accent-soft); color: var(--ink-paper-accent); }
.workspace-calendar-date span, .workspace-glance-list strong, .workspace-activity-item strong { color: var(--ink-paper-text); }
.workspace-glance-list div { border-color: var(--ink-paper-border); }
.workspace-glance-list span, .workspace-activity-item small, .workspace-calendar-empty { color: var(--ink-paper-muted); }
.workspace-text-link { color: var(--ink-paper-accent); }
.workspace-card, .workspace-chat__message, .workspace-source-card { background: var(--ink-paper-elevated); border-color: var(--ink-paper-border); }

@media (prefers-color-scheme: dark) {
  :root { --ink-paper-bg:#1e1b19; --ink-paper-surface:#292522; --ink-paper-elevated:#332e2a; --ink-paper-sidebar:#26211f; --ink-paper-border:#554b44; --ink-paper-border-strong:#85766b; --ink-paper-text:#f1e9df; --ink-paper-muted:#b8aaa0; --ink-paper-accent:#e09a78; --ink-paper-accent-soft:#4a3029; --ink-paper-star:#e2b06b; }
  body, .workspace-body { background:var(--ink-paper-bg); color:var(--ink-paper-text); }
  .site-header { background:color-mix(in srgb, var(--ink-paper-bg) 90%, transparent); }
  .site-header, .site-footer, .workspace-sidebar, .workspace-topbar, .workspace-sidebar__footer, .validation-sidebar, .validation-overview > div, .validation-records li, .validation-answer article { border-color:var(--ink-paper-border); }
  .validation-hero-record, .validation-overview, .validation-card, .validation-records, .validation-answer, .validation-source-document, .workspace-panel, .workspace-badge, .workspace-chip, .workspace-draft-status, .workspace-menu__button, .workspace-menu__panel, .workspace-card, .workspace-chat__message, .workspace-source-card { background:var(--ink-paper-elevated); color:var(--ink-paper-text); }
  .validation-sidebar, .workspace-sidebar, .validation-question-panel, .validation-next { background:var(--ink-paper-sidebar); }
  .validation-web-steps { border-color:var(--ink-paper-border); }
  .workspace-main { background:var(--ink-paper-bg); }
  .workspace-nav__item:hover, .workspace-settings-link:hover { background:#403832; color:var(--ink-paper-text); }
  .workspace-nav__item.is-active, .workspace-settings-link.is-active { background:var(--ink-paper-accent-soft); color:var(--ink-paper-accent); }
  .workspace-storage__icon { background:#304436; color:#b6d2b9; }
  .validation-suggestions button, .validation-input-row input { background:var(--ink-paper-surface); border-color:var(--ink-paper-border-strong); color:var(--ink-paper-text); }
  .button { border-color:var(--ink-paper-text); background:var(--ink-paper-text); color:#1e1b19; }
  .button--secondary { border-color:var(--ink-paper-border-strong); background:transparent; color:var(--ink-paper-text); }
  .flash--notice { background:#304436; color:#c8e2cb; }.flash--alert,.form-errors { background:#4c2c29; color:#f0b1a4; }
}
