/* D2: shared light surfaces. Structure and interaction remain in the D1 source. */
:root {
  color-scheme: light;
  --ink: #292521;
  --muted: #625951;
  --cream: #ffffff;
  --paper: #f7f6f3;
  --green: #70472f;
  --accent: #80512f;
  --line: #d8d2cb;
  --error: #a33128;
  --focus: #80512f;
  --wood: #b79b82;
  --radius: 8px;
  background: #fff;
}
body { background: #fff; color: var(--ink); }
button, .button {
  background: var(--green); color: #fff; border-color: var(--green);
  border-radius: 8px;
}
button:hover, .button:hover { background: #573724; color: #fff; }
button:disabled { opacity: 1; color: #746d65; background: #efede9; border-color: #c8c0b7; }
button[aria-pressed=true] { outline-color: var(--focus); }
a:focus-visible, button:focus-visible, select:focus-visible,
input:focus-visible, [tabindex]:focus-visible { outline-color: var(--focus); }
input, select { background: #fff; color: var(--ink); border-color: #8e8277; }
input::placeholder { color: #74695f; opacity: 1; }
input[type=checkbox], input[type=range] { accent-color: var(--green); }
::selection { background: #e8d6c5; color: #292521; }
.eyebrow { color: var(--muted); letter-spacing: .025em; }
.preview-banner { background: var(--paper); color: var(--muted); border-color: var(--line); }
.library-header, .primary-nav { border-color: var(--line); }
.brand-mark { color: var(--green); border-color: #a48b76; }
.primary-nav a[aria-current] { box-shadow: 0 2px var(--green); }
.languages a[aria-current] { background: var(--green); color: #fff; }
.tour-toolbar button, .shelf-controls button,
.studio-toolbar button, .gallery-filters button {
  background: #fff; color: var(--ink); border-color: #8e8277;
}
.tour-toolbar button:hover, .shelf-controls button:hover,
.studio-toolbar button:hover, .gallery-filters button:hover { background: #f0ece6; color: var(--ink); }
.studio-toolbar button[aria-pressed=true], .gallery-filters button[aria-pressed=true] {
  background: var(--green); color: #fff;
}
.tour-progress { background: var(--line); }
.tour-progress span { background: var(--green); }
.motion-cover { filter: drop-shadow(0 12px 14px #29252124); }
.fan-page { filter: drop-shadow(0 4px 7px #29252120); }
.bookshelf-section { background: var(--paper); }
.shelf-book img, .shelf-ready .shelf-book img { filter: drop-shadow(0 8px 8px #29252122); }
.shelf-ready .shelf-book img { box-shadow: 3px 1px 0 #e8dfd4; }
.shelf-ready .shelf-book>span { background: #fff; color: var(--ink); border: 1px solid var(--line); }
.shelf-ready .shelf-ring {
  background: #d8c5b3; border-color: #bca38c;
  box-shadow: 0 8px 0 #b89a80, 0 14px 18px #29252114;
}
.shelf-ready .front { background: #c4a78f; box-shadow: none; }
.shelf-ready .shelf-post { background: #b99f88; }
.shelf-ready .shelf-monogram { color: #49372a; }
.book-index a, .library-footer,
.book-description, .buy-section, .page-gallery, .empty-preview, .color-studio { border-color: var(--line); }
.book-index a>span:first-child { color: var(--muted); }
.sample-invitation { background: var(--paper); border: 0; border-radius: 8px; }
.cover-plinth { background: var(--paper); border-bottom: 1px solid var(--line); }
.cover-plinth img { box-shadow: none; filter: drop-shadow(0 10px 12px #29252120); }
.sourced-copy p, .sourced-copy li { color: var(--ink); }
.edition-links>div { border-color: var(--line); border-radius: 8px; }
.form-card { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }
.form-card input:not([type=checkbox]), .form-card select { background: #fff; color: var(--ink); border-color: #8e8277; }
.field-error, .form-error { color: var(--error); }
.form-status { color: var(--ink); border-color: var(--green); }
.review-notice { background: var(--paper); color: var(--ink); }
.paint-palette .swatch { border-color: #807366; }
.paint-palette button[aria-pressed=true] { outline-color: var(--focus); }
.swatch span { background: #292521e6; color: #fff; }
.canvas-viewport { background: #eeebe6; border-color: #a99c8e; }
.canvas-paper { background: #fff; }
.puzzle-scroll { background: var(--paper); border-color: var(--line); }
.puzzle-grid button { background: #fff; color: var(--ink); border-radius: 3px; }
.puzzle-grid button:not(.is-found):not(.is-revealed):hover { background: #eee5da; color: var(--ink); border-color: var(--green); }
.puzzle-grid button.is-found { background: #42654b; color: #fff; }
.puzzle-grid button.is-revealed { background: #ead6b7; color: #4f351b; box-shadow: inset 0 -2px #80512f; }
.puzzle-grid button.is-start, .puzzle-grid button.is-hint,
.puzzle-grid button:focus-visible { outline-color: var(--focus); }
.puzzle-words li { border-color: var(--line); }
.puzzle-words .word-state { color: var(--muted); }
.puzzle-words .word-found { color: #315c3b; }
.puzzle-words .word-revealed { color: #80512f; }
.interaction-status { background: var(--paper); color: var(--ink); }
#gallery-dialog::backdrop { background: #29252199; }
.skip { background: var(--green); color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .shelf-ready .shelf-book img { box-shadow: none; }
  .shelf-ready .shelf-book>span { background: none; border: 0; }
}
