/* Stage 3 desktop finish. The room background and its treatment stay unchanged. */
.heading-row h1 {font-size:38px;letter-spacing:-1.6px}
.heading-row p {color:#504638;font-size:15px}
.search-preview {box-shadow:inset 0 1px 0 #fff,0 3px 8px #7251370b}
.path-switch {box-shadow:0 2px 5px #6042240a}
.path-switch button,.topic-chip,.scope-choice,.shelf-pager button {
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.topic-chip.is-current {box-shadow:inset 0 0 0 1px #52824b12,0 2px 5px #4c68310b}
.topic-count {color:#635341;font-size:12px;min-width:3ch;text-align:right}

.shelf-books-grid {gap:32px;padding-inline:42px}
.shelf-rows {gap:24px}
.wood-shelf {
  height:17px;margin-top:5px;border-color:#c58d53;border-radius:2px 2px 3px 3px;
  background:repeating-linear-gradient(0deg,#91602f0a 0 1px,transparent 1px 4px),linear-gradient(#e9b580,#d6a06a 48%,#cb925a);
  box-shadow:inset 0 2px 0 #ffe4bcbd,inset 0 -2px 0 #a7733f32,0 5px 7px #6b411e30,0 13px 17px -9px #68401d3b;
}
.wood-shelf::before {height:9px;top:-9px;background:linear-gradient(#f9d9b7,#edbf8f);border-color:#e8b87f}
.book-button {transition:transform .18s ease}
.book-button:hover {transform:translateY(-3px)}
.book-button.is-selected {transform:translateY(-3px)}
.book-button:active {transform:translateY(-1px)}
.book-button .sv-book {transition:box-shadow .18s ease,outline-color .18s ease}
.book-button:hover .sv-book {box-shadow:2px 7px 10px #53391f30,inset -2px -2px 3px #60432b20,inset 2px 2px 2px #fff7}
.book-button.is-selected .sv-book {outline:2px solid #43804a;outline-offset:4px;box-shadow:0 0 0 4px #fffbed,3px 7px 10px #53391f32,inset -2px -2px 3px #60432b20,inset 2px 2px 2px #fff7}
.book-button:focus-visible {outline:2px dashed #365f3b;outline-offset:9px}
.sv-book[data-variant='signature-detail'] .sv-book__content {top:53%}
.sv-book[data-variant='signature-detail'] .sv-book__title {font-size:min(var(--book-title-size),12cqw);line-height:1.28;letter-spacing:-.035em}
.sv-book[data-variant='signature-detail'] .sv-book__rule {width:23%;margin-top:4.5cqw}
.sv-book[data-variant='signature-detail'] .sv-book__subtitle {font-size:6.2cqw;line-height:1.4;margin-top:4cqw;font-weight:500}
.shelf-pager {gap:25px}
.shelf-pager strong {min-width:44px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.shelf-pager button:not(:disabled):active {box-shadow:inset 0 2px 3px #6b4b2420}
.shelf-footer p {margin-top:9px;font-size:11px}

.detail-panel {padding:27px 27px 23px;box-shadow:0 8px 24px #66401f21,inset 0 1px 0 #fff;border-color:#fff5e7;border-radius:19px}
.detail-meta {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.detail-meta .detail-eyebrow {font-size:12px;padding:6px 10px;margin:0;white-space:nowrap;border-radius:8px}
.detail-meta .level-pill {font-size:11px;margin:0;padding:5px 9px;white-space:nowrap}
.detail-panel h2 {font-size:28px;line-height:1.4;letter-spacing:-1px;max-width:none}
.book-intro {font-size:14px;line-height:1.75;margin:14px 0 23px;color:#6d6253}
.contents-heading {padding-top:18px;border-top:1px solid #e8dfd0;margin-bottom:12px}
.contents-heading h3 {font-size:18px}
.contents-heading>span {font-size:11px;color:#817360}
.lesson-window {position:relative;isolation:isolate}
.lesson-window::before,.lesson-window::after {
  content:'';position:absolute;z-index:1;left:1px;right:1px;height:13px;pointer-events:none;opacity:0;transition:opacity .15s ease;
}
.lesson-window::before {top:1px;border-radius:9px 9px 0 0;background:linear-gradient(#62563a28,transparent)}
.lesson-window::after {bottom:1px;border-radius:0 0 9px 9px;background:linear-gradient(transparent,#62563a28)}
.lesson-window.has-above::before,.lesson-window.has-below::after {opacity:1}
.lesson-list {max-height:352px;border-color:#ddd4c3;border-radius:9px;overscroll-behavior:contain;scroll-padding:8px}
.lesson-row {min-height:50px;padding:11px 13px;gap:8px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}
.lesson-title {font-size:13.5px;font-weight:600;color:#413d32;letter-spacing:-.2px}
.lesson-count {color:#847b68;font-variant-numeric:tabular-nums}
.lesson-number {position:relative;justify-content:center;font-size:12px}
.lesson-index {transition:opacity .15s ease}
.lesson-check {position:absolute;inset:auto;opacity:0;transform:scale(.75);width:22px;height:22px;transition:opacity .15s ease,transform .15s ease}
.lesson-row.is-selected .lesson-index {opacity:0}
.lesson-row.is-selected .lesson-check {opacity:1;transform:scale(1)}
.lesson-row.is-selected {background:#e9f1e0;box-shadow:inset 3px 0 #4d7c48}
.lesson-row.is-selected .lesson-title {color:#294c2d;font-weight:700}
.lesson-row>svg {transition:transform .15s ease;opacity:.65}
.lesson-row:hover>svg {transform:translateX(2px);opacity:1}
.lesson-row:focus-visible {outline-width:2px;outline-offset:-3px}
.lesson-scroll-note {display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#887c69;margin-top:7px;font-variant-numeric:tabular-nums}
.lesson-scroll-note[hidden] {display:none}
.selection-status {font-size:11px;min-height:17px;margin-top:11px;color:#57704a}
.selection-status.has-selection::before {content:'✓';display:inline-block;margin-right:6px;font-weight:700}
.learning-availability {margin-top:14px}
.start:disabled {min-height:50px;border:1px solid #c1cdb4;background:#dce5d1;box-shadow:inset 0 1px 0 #fff9;color:#506544;font-size:15px;gap:11px}
.start small {font-size:10px;font-weight:600;padding:3px 7px;background:#f5f8efb0;border:1px solid #bac9ac;border-radius:20px;white-space:nowrap}
.learning-availability p {margin-top:8px;font-size:10px;color:#8b7e68}
.scope-choice:focus-visible {outline-offset:1px}

@media (prefers-reduced-motion:reduce) {
  .book-button,.book-button .sv-book,.book-check,.path-switch button,.topic-chip,.scope-choice,.shelf-pager button,
  .lesson-window::before,.lesson-window::after,.lesson-row,.lesson-index,.lesson-check,.lesson-row>svg {transition:none}
}
