@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;600;700&family=Spectral:wght@400;500;600&display=swap");

:root {
  --nl-paper: #faf7f2;
  --nl-ink: #1a1a1a;
  --nl-gray: #6b6b6b;
  --nl-coral: #ff6b4a;
  --nl-highlight: #ffe88a;
  --nl-sage: #688f7b;
  --nl-background: var(--nl-paper);
  --nl-surface: #fffdf8;
  --nl-text: var(--nl-ink);
  --nl-text-muted: var(--nl-gray);
  --nl-accent: var(--nl-coral);
  --nl-success: #4f7563;
  --nl-border: #d8d1c5;
  --nl-focus: #b63c26;
  --nl-danger: #963c31;
  --nl-font-story: "Spectral", Charter, "Bitstream Charter", Georgia, serif;
  --nl-font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nl-font-research: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --nl-radius-control: 3px;
  --nl-shadow-book: 0 16px 40px rgb(26 26 26 / 18%);
  --nl-global-header-height: 64px;
  --nl-reader-header-height: 58px;
  color: var(--nl-text);
  background: var(--nl-background);
  font-family: var(--nl-font-ui);
  font-synthesis: none;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background: #f8f5ee;
}

a { color: inherit; }

.login-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 32px 20px;
}

.login-card {
  width: min(440px, 100%);
  padding: clamp(34px, 7vw, 54px);
  border: 1px solid #d8d1c3;
  background: #fbf8f1;
}

.login-card h1 { margin: 0; font: 500 2.7rem/1.08 Georgia, "Times New Roman", serif; }
.login-card > p:not(.site-name) { color: #675f53; font: 1rem/1.6 Georgia, "Times New Roman", serif; }
.login-card form { display: grid; gap: 12px; margin-top: 30px; }
.login-card label { color: #675f53; font-size: 0.82rem; font-weight: 650; }
.login-card input { width: 100%; padding: 13px 14px; border: 1px solid #bdb4a5; border-radius: 0; background: #fffdf8; font: inherit; }
.login-card button { margin-top: 5px; padding: 13px 18px; border: 1px solid #28251f; color: #f8f5ee; background: #28251f; font: inherit; cursor: pointer; }
.login-card button:hover { background: #463f35; }
.login-card .login-error { margin: 0; color: #8b3028; font: 0.88rem/1.4 Inter, sans-serif; }
.login-card .language-switcher { margin-bottom: 28px; }

.language-switcher { display: flex; align-items: center; gap: 8px; color: #82786a; font-size: 0.68rem; letter-spacing: 0.08em; }
.language-switcher a { text-decoration: none; }
.language-switcher a:hover { text-decoration: underline; }
.language-switcher a[aria-current="page"] { color: #28251f; font-weight: 700; }
.header-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.book-language-switch { width: min(650px, calc(100% - 48px)); margin: -48px auto 0; }
.reader-language-switch { display: flex; justify-content: center; margin-top: 52px; }

.library-header,
.library-list {
  width: min(780px, calc(100% - 40px));
  margin-inline: auto;
}

.library-header {
  padding: 72px 0 38px;
  border-bottom: 1px solid #d8d1c3;
}

.site-name,
.eyebrow,
.chapter-kicker {
  margin: 0 0 14px;
  color: #786f60;
  font-size: 0.74rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.library-header h1 {
  margin: 0;
  font: 500 clamp(2.7rem, 7vw, 4.6rem)/1.04 Georgia, "Times New Roman", serif;
  letter-spacing: -0.035em;
}

.library-header > p:last-child {
  margin: 20px 0 0;
  color: #675f53;
  font: 1.1rem/1.6 Georgia, "Times New Roman", serif;
}

.library-list { padding: 12px 0 80px; }

.book-entry { border-bottom: 1px solid #d8d1c3; }

.book-entry a {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 24px;
  align-items: center;
  padding: 24px 2px 25px;
  text-decoration: none;
}

.nl-cover {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  aspect-ratio: 2 / 3;
  border: 1px solid #bfb5a5;
  background: #e7e0d4;
  box-shadow: 0 5px 14px rgb(40 37 31 / 13%);
}

.nl-cover-art { position: relative; overflow: hidden; flex: 1 1 68%; min-height: 0; background: #ddd3c3; }
.nl-cover-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nl-cover-panel { display: flex; flex: 0 0 32%; flex-direction: column; justify-content: space-between; min-height: 0; padding: 7% 8% 6%; color: #f8f5ee; background: #302c25; }
.nl-cover-title { overflow: hidden; font: 500 clamp(0.48rem, 0.9vw, 0.82rem)/1.08 Georgia, "Times New Roman", serif; letter-spacing: -0.01em; }
.nl-cover-imprint { font-size: clamp(0.27rem, 0.45vw, 0.43rem); font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.72; }
.nl-cover--placeholder .nl-cover-art { display: grid; place-items: center; background: linear-gradient(145deg, #eee8dc, #cfc2ae); }
.cover-fallback-mark { color: #796a58; font: 500 1rem/1 Georgia, "Times New Roman", serif; letter-spacing: 0.18em; }

.nl-cover--library {
  overflow: hidden;
  width: 82px;
}
.nl-cover--library .nl-cover-title { font-size: 0.43rem; }
.nl-cover--library .nl-cover-imprint { font-size: 0.24rem; }

.book-landing { width: min(940px, calc(100% - 48px)); margin: 0 auto; padding: 64px 0 90px; }
.book-introduction {
  display: grid;
  grid-template-columns: minmax(180px, 250px) minmax(0, 520px);
  gap: clamp(42px, 8vw, 88px);
  align-items: center;
  min-height: min(700px, calc(100vh - 70px));
  margin: 0 auto;
  padding: 0;
}

.nl-cover--landing {
  width: 100%;
  box-shadow: 0 16px 40px rgb(40 37 31 / 18%);
}
.nl-cover--landing .nl-cover-title { font-size: clamp(0.95rem, 1.8vw, 1.35rem); }
.nl-cover--landing .nl-cover-imprint { font-size: 0.55rem; }
.book-introduction h1 { margin: 0; font: 500 clamp(2.5rem, 7vw, 4.8rem)/1.02 Georgia, "Times New Roman", serif; letter-spacing: -0.04em; }
.book-introduction section > p:not(.eyebrow) { color: #5e574c; font: 1.05rem/1.65 Georgia, "Times New Roman", serif; }
.book-metadata { margin: 22px 0 0; color: #786f60 !important; font: 0.78rem/1.5 Inter, sans-serif !important; }
.book-metadata span { padding: 0 5px; }

.landing-contents { width: min(650px, 100%); margin: 34px auto 0; padding-top: 40px; border-top: 1px solid #d8d1c3; }
.landing-contents h2 { margin: 0 0 18px; font: 500 1.8rem/1.2 Georgia, "Times New Roman", serif; }
.landing-contents ol,
.contents-panel ol { margin: 0; padding: 0; list-style: none; }
.landing-contents li,
.contents-panel li { border-top: 1px solid #e1dbd0; }
.landing-contents a,
.contents-panel li a { display: grid; grid-template-columns: 34px 1fr 20px; gap: 12px; align-items: center; padding: 13px 2px; text-decoration: none; }
.landing-contents a:hover span:nth-child(2), .contents-panel li a:hover span:nth-child(2) { text-decoration: underline; }
.contents-number { color: #8a8174; font-size: 0.7rem; letter-spacing: 0.08em; }
.contents-check { visibility: hidden; color: #776655; }
.is-completed .contents-check { visibility: visible; }
.is-current a { font-weight: 700; }
.is-current .contents-number { color: #28251f; }

.primary-action,
.another-book form button {
  display: inline-block;
  margin-top: 20px;
  padding: 13px 20px;
  border: 1px solid #28251f;
  color: #f8f5ee;
  background: #28251f;
  font: 650 0.9rem/1 Inter, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.book-entry h2 {
  margin: 0 0 12px;
  font: 500 clamp(1.7rem, 4vw, 2.3rem)/1.15 Georgia, "Times New Roman", serif;
  letter-spacing: -0.018em;
}

.book-entry p:not(.eyebrow) {
  max-width: 680px;
  margin: 0;
  color: #5e574c;
  font: 1rem/1.65 Georgia, "Times New Roman", serif;
}

.read-link {
  display: inline-block;
  margin-top: 18px;
  font-size: 0.88rem;
  font-weight: 650;
}

.book-entry a:hover .read-link,
.book-entry a:focus-visible .read-link { text-decoration: underline; }

.reader-header {
  position: sticky;
  z-index: 2;
  top: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 58px;
  padding: 0 24px;
  border-bottom: 1px solid #ded8cd;
  background: rgb(248 245 238 / 94%);
  backdrop-filter: blur(8px);
  font-size: 0.82rem;
}

.reader-header a { text-decoration: none; }
.reader-header a:hover { text-decoration: underline; }

.current-book {
  overflow: hidden;
  max-width: min(52vw, 520px);
  font-family: Georgia, "Times New Roman", serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chapter-position { justify-self: end; color: #786f60; }

.reader-actions { display: flex; justify-self: end; align-items: center; gap: 18px; }

.reader-mode { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.reader-mode > span { color: var(--nl-border); }
.reader-mode button { min-height: 32px; padding: 5px 3px; border: 0; color: var(--nl-text-muted); background: transparent; font: 600 .72rem/1 var(--nl-font-ui); cursor: pointer; }
.reader-mode button[aria-pressed="true"] { color: var(--nl-text); box-shadow: inset 0 -2px var(--nl-accent); }

.contents-button,
.truth-button,
.truth-close,
.panel-close {
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.truth-button, .contents-button { padding: 7px 0; border-bottom: 1px solid #9e8a75; }
.truth-button:hover, .contents-button:hover { border-color: #28251f; }
.contents-button { justify-self: start; width: max-content; }

.progress-track {
  position: sticky;
  z-index: 3;
  top: 58px;
  height: 2px;
  background: #e8e2d8;
}

.progress-track span {
  display: block;
  height: 100%;
  background: #7a543a;
}

.reader-shell {
  width: min(100%, 820px);
  margin: 0 auto;
  padding: clamp(64px, 10vw, 112px) 30px 72px;
}

.chapter {
  width: min(100%, 650px);
  margin: 0 auto;
}

.chapter h1 {
  margin: 0 0 clamp(48px, 8vw, 76px);
  font: 500 clamp(2.2rem, 7vw, 4rem)/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: -0.028em;
}

.prose {
  color: #302c25;
  font: clamp(1.12rem, 1.8vw, 1.28rem)/1.82 Georgia, "Times New Roman", serif;
  text-rendering: optimizeLegibility;
}

.prose p { margin: 0 0 1.35em; }
.prose p + p { text-indent: 0; }
.prose h3 { margin: 2em 0 0.8em; font-size: 1.25em; }
.prose strong { font-weight: 650; }

.research-passage { border-radius: 1px; }
.research-mode .research-passage {
  background: linear-gradient(to bottom, transparent 56%, var(--nl-highlight) 56%, var(--nl-highlight) 91%, transparent 91%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  cursor: pointer;
}
.research-mode .research-passage--disputed { text-decoration: underline dashed var(--nl-accent) 1px; text-underline-offset: .18em; }
.research-mode .research-passage[aria-selected="true"] { background-color: color-mix(in srgb,var(--nl-highlight) 44%,transparent); }
.research-mode .research-passage:focus-visible { outline: 3px solid var(--nl-focus); outline-offset: 3px; }

.chapter-navigation {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 90px;
  padding-top: 28px;
  border-top: 1px solid #d8d1c3;
}

.chapter-navigation a {
  display: flex;
  flex-direction: column;
  gap: 7px;
  text-decoration: none;
}

.chapter-navigation a.next { text-align: right; }
.chapter-navigation span { color: #786f60; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; }
.chapter-navigation strong { font: 500 1.05rem/1.35 Georgia, "Times New Roman", serif; }
.chapter-navigation a:hover strong { text-decoration: underline; }

.completion-state {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 28px;
  margin-top: 72px;
  padding: 38px 0 12px;
  border-top: 1px solid #d8d1c3;
}

.nl-cover--completion { width: 86px; }
.nl-cover--completion .nl-cover-title { font-size: 0.45rem; }
.nl-cover--completion .nl-cover-imprint { font-size: 0.24rem; }
.completion-state h2 { margin: 0 0 28px; font: 500 2rem/1.15 Georgia, "Times New Roman", serif; }
.completion-feedback { margin: 0 0 30px; padding: 0; border: 0; }
.completion-feedback legend { margin-bottom: 12px; font: 1rem/1.5 Georgia, "Times New Roman", serif; }
.completion-feedback button { margin: 0 7px 7px 0; padding: 8px 13px; border: 1px solid #bdb4a5; background: transparent; cursor: pointer; }
.completion-feedback button[aria-pressed="true"] { color: #f8f5ee; background: #28251f; border-color: #28251f; }
.another-book summary { display: inline-block; padding: 13px 20px; color: #f8f5ee; background: #28251f; font-size: 0.9rem; font-weight: 650; cursor: pointer; list-style: none; }
.another-book summary::-webkit-details-marker { display: none; }
.another-book form { display: grid; gap: 10px; margin-top: 26px; }
.another-book label { margin-top: 8px; color: #514a40; font-size: 0.86rem; font-weight: 650; }
.another-book label span { color: #82786a; font-weight: 400; }
.another-book textarea { min-height: 100px; padding: 12px; border: 1px solid #bdb4a5; background: #fffdf8; font: 1rem/1.5 Georgia, "Times New Roman", serif; resize: vertical; }
.another-book form button { justify-self: start; margin-top: 8px; }
.survey-invitation { margin: 24px 0 0; color: #675f53; font: 0.92rem/1.5 Georgia, "Times New Roman", serif; }
.survey-invitation a { text-underline-offset: 3px; }
.survey-invitation a:hover { color: #28251f; }
.privacy-note { margin: 52px auto 0; color: #8a8174; font-size: 0.72rem; text-align: center; }

.truth-backdrop,
.contents-backdrop {
  position: fixed;
  z-index: 9;
  inset: 0;
  background: rgb(40 37 31 / 28%);
}

.contents-panel {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  overflow-y: auto;
  width: min(440px, 92vw);
  height: 100dvh;
  padding: 38px clamp(25px, 5vw, 48px) 64px;
  border-right: 1px solid #d8d1c3;
  background: #fbf8f1;
  box-shadow: 12px 0 40px rgb(40 37 31 / 10%);
}
.contents-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 34px; }
.contents-panel h2 { margin: 0; font: 500 2.25rem/1.1 Georgia, "Times New Roman", serif; }
.panel-close { margin-top: -8px; padding: 0 4px; color: #786f60; font-size: 2rem; line-height: 1; }
.contents-library-link { display: inline-block; margin-top: 34px; color: #70675a; font-size: 0.8rem; }

.truth-panel {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  overflow-y: auto;
  width: min(520px, 92vw);
  height: 100dvh;
  padding: 38px clamp(25px, 5vw, 48px) 64px;
  border-left: 1px solid #d8d1c3;
  background: #fbf8f1;
  box-shadow: -12px 0 40px rgb(40 37 31 / 10%);
}

.truth-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.truth-panel h2 { margin: 0; font: 500 2.25rem/1.1 Georgia, "Times New Roman", serif; }
.truth-close { margin-top: -8px; padding: 0 4px; color: #786f60; font-size: 2rem; line-height: 1; }
.truth-intro { margin: 18px 0 42px; color: #675f53; font: 1.05rem/1.55 Georgia, "Times New Roman", serif; }
.truth-section { margin-top: 36px; }
.truth-section h3 { margin: 0 0 18px; color: #786f60; font-size: 0.72rem; letter-spacing: 0.13em; text-transform: uppercase; }
.truth-section > ul { margin: 0; padding: 0; list-style: none; }
.truth-section > ul > li { padding: 0 0 20px; border-bottom: 1px solid #e2dcd1; }
.truth-section > ul > li + li { padding-top: 20px; }
.truth-section p { margin: 0; font: 1rem/1.62 Georgia, "Times New Roman", serif; }
.truth-sources { margin-top: 10px; color: #6c6458; font-size: 0.78rem; }
.truth-sources summary { cursor: pointer; }
.truth-sources ul { margin: 9px 0 0; padding-left: 18px; }
.truth-sources li + li { margin-top: 6px; }
.truth-open, .contents-open { overflow: hidden; }
.research-detail-open { overflow: hidden; }

.research-explanation {
  position: fixed;
  z-index: 8;
  top: calc(var(--nl-global-header-height) + var(--nl-reader-header-height) + 12px);
  right: 22px;
  display: flex;
  width: min(390px,calc(100% - 44px));
  padding: 13px 14px 13px 16px;
  border: 1px solid var(--nl-border);
  background: var(--nl-surface);
  box-shadow: 0 8px 24px rgb(26 26 26 / 10%);
}
.research-explanation[hidden] { display: none; }
.research-explanation p { margin: 0; color: var(--nl-text-muted); font: .75rem/1.45 var(--nl-font-research); }
.research-explanation button { flex: none; align-self: flex-start; margin: -5px -4px 0 8px; padding: 4px 7px; border: 0; background: transparent; font-size: 1.15rem; cursor: pointer; }
.research-backdrop { position: fixed; z-index: 9; inset: 0; background: rgb(26 26 26 / 24%); }
.research-panel {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  overflow-y: auto;
  width: min(520px,92vw);
  height: 100dvh;
  padding: 38px clamp(25px,5vw,48px) 64px;
  border-left: 1px solid var(--nl-border);
  background: var(--nl-surface);
  box-shadow: -12px 0 40px rgb(26 26 26 / 10%);
}
.research-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 26px; border-bottom: 1px solid var(--nl-border); }
.research-panel-header .nl-research-label { margin: 0 0 8px; color: var(--nl-accent); font-size: .7rem; letter-spacing: .12em; }
.research-panel h2 { margin: 0; font: 500 1.55rem/1.2 var(--nl-font-story); }
.research-close { margin-top: -8px; padding: 4px 7px; border: 0; color: var(--nl-text-muted); background: transparent; font-size: 2rem; line-height: 1; cursor: pointer; }
.research-claim { padding: 28px 0; border-bottom: 1px solid var(--nl-border); }
.research-status { margin: 0 0 13px; font: 700 .72rem/1.3 var(--nl-font-research); letter-spacing: .06em; text-transform: uppercase; }
.research-status--verified { color: var(--nl-success); }
.research-status--disputed { color: var(--nl-accent); }
.research-disputed-note { margin: -3px 0 16px; color: var(--nl-text-muted); font: .78rem/1.45 var(--nl-font-research); }
.research-claim-text { margin: 0; font: 1.08rem/1.58 var(--nl-font-story); }
.research-claim h3 { margin: 22px 0 10px; color: var(--nl-text-muted); font: 700 .68rem/1.3 var(--nl-font-research); letter-spacing: .1em; text-transform: uppercase; }
.research-claim ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.research-claim li { overflow-wrap: anywhere; color: var(--nl-text-muted); font: .78rem/1.45 var(--nl-font-research); }
.research-claim a { color: inherit; text-underline-offset: 3px; }

.empty-state,
.redirect-page,
.not-found {
  width: min(620px, calc(100% - 40px));
  margin: 18vh auto;
  font: 1.15rem/1.7 Georgia, "Times New Roman", serif;
}

.sr-only { position: absolute; overflow: hidden; width: 1px; height: 1px; margin: -1px; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.builder-header { display: flex; justify-content: space-between; width: min(980px, calc(100% - 40px)); margin: 0 auto; padding: 25px 0; border-bottom: 1px solid #d8d1c3; color: #786f60; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.builder-header .site-name { margin: 0; text-decoration: none; }
.builder-shell { width: min(900px, calc(100% - 40px)); margin: 0 auto; padding: 80px 0 100px; }
.builder-intro { max-width: 760px; margin-bottom: 30px; }
.builder-intro h1 { max-width: 680px; margin: 0; font: 500 clamp(2.7rem, 7vw, 5rem)/1.02 Georgia, "Times New Roman", serif; letter-spacing: -0.04em; }
.builder-intro > p:last-child { max-width: 590px; color: #675f53; font: 1.1rem/1.65 Georgia, "Times New Roman", serif; }
#brief-builder label { display: grid; gap: 9px; color: #514a40; font-size: 0.78rem; font-weight: 650; letter-spacing: 0.02em; }
#brief-builder input, #brief-builder textarea, #brief-builder select { width: 100%; padding: 12px 13px; border: 1px solid #bdb4a5; border-radius: 0; color: #28251f; background: #fffdf8; font: 1rem/1.45 Georgia, "Times New Roman", serif; }
#brief-builder textarea { resize: vertical; }
#brief-builder input:focus, #brief-builder textarea:focus, #brief-builder select:focus { outline: 2px solid #9e8a75; outline-offset: 2px; }
#brief-builder .idea-field textarea { min-height: 150px; padding: 23px; border-color: #9e8a75; font-size: clamp(1.35rem, 3vw, 1.85rem); line-height: 1.45; box-shadow: 0 12px 34px rgb(68 57 43 / 6%); }
.builder-core { display: grid; gap: 25px; }
.core-question { margin-top: 30px; padding-top: 35px; border-top: 1px solid #d8d1c3; }
.core-question label { font: 500 1.25rem/1.3 Georgia, "Times New Roman", serif !important; }
.core-choices { display: grid; gap: 32px; margin-top: 12px; }
.core-choices fieldset { margin: 0; padding: 0; border: 0; }
.core-choices legend { margin-bottom: 13px; font: 500 1.1rem/1.3 Georgia, "Times New Roman", serif; }
.choice-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
#brief-builder .choice-row label { position: relative; display: block; }
.choice-row input { position: absolute; width: 1px !important; height: 1px; opacity: 0; }
.choice-row label > span { display: grid; min-height: 77px; align-content: center; gap: 5px; padding: 13px 15px; border: 1px solid #c9bfaf; background: #fbf8f1; cursor: pointer; }
.choice-row strong { font-size: 0.88rem; }
.choice-row small { color: #786f60; font-weight: 400; }
.choice-row input:checked + span { border-color: #453d33; color: #f8f5ee; background: #453d33; box-shadow: inset 0 0 0 2px #453d33, inset 0 0 0 3px #d9cbb8; }
.choice-row input:checked + span small { color: #ddd5c9; }
.choice-row input:focus-visible + span { outline: 2px solid #9e8a75; outline-offset: 3px; }
.compact-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 560px; }
.exploration-actions { display: flex; align-items: center; gap: 15px; margin-top: -10px; }
.explore-button, .exploration-footer button { padding: 9px 13px; border: 1px solid #9e8a75; color: #3e3931; background: transparent; font: 650 0.8rem/1 Inter, sans-serif; cursor: pointer; }
.explore-button:disabled { cursor: wait; opacity: 0.55; }
.exploration-actions span { color: #786f60; font-size: 0.76rem; }
.exploration-results { margin: 4px 0 8px; padding: 28px; border: 1px solid #d8d1c3; background: #fbf8f1; }
.exploration-results h2 { margin: 0; font: 500 1.8rem/1.2 Georgia, "Times New Roman", serif; }
.suggestion-groups { display: grid; gap: 25px; margin-top: 24px; }
.suggestion-groups section h3 { margin: 0 0 10px; color: #786f60; font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; }
.suggestion-groups section > div { display: flex; flex-wrap: wrap; gap: 9px; }
.suggestion-chip { display: grid; max-width: 340px; gap: 4px; padding: 11px 13px; border: 1px solid #c9bfaf; color: #403a32; background: #fffdf8; text-align: left; cursor: pointer; }
.suggestion-chip strong { font: 650 0.82rem/1.3 Inter, sans-serif; }
.suggestion-chip > span { color: #70675a; font: 0.82rem/1.4 Georgia, "Times New Roman", serif; }
.suggestion-chip .selection-mark { display: inline-grid; width: 1.25em; height: 1.25em; margin-right: 7px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: 0.7rem/1 Inter, sans-serif; }
.suggestion-chip.is-selected { border-color: #453d33; color: #f8f5ee; background: #453d33; }
.suggestion-chip.is-selected span { color: #ddd5c9; }
.exploration-footer { display: flex; gap: 9px; margin-top: 27px; padding-top: 20px; border-top: 1px solid #e1dbd0; }
.exploration-loading { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.exploration-loading[hidden] { display: none; }
.exploration-loading i { height: 60px; border: 1px solid #ddd4c6; background: linear-gradient(100deg, #eee8dc 30%, #faf7f0 50%, #eee8dc 70%); background-size: 220% 100%; animation: exploration-shimmer 1.4s linear infinite; }
@keyframes exploration-shimmer { to { background-position-x: -220%; } }
.story-so-far { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: clamp(30px, 7vw, 70px); align-items: center; margin: 76px 0 52px; padding: 45px; border: 1px solid #cfc5b6; background: #f1ebdf; box-shadow: 0 18px 45px rgb(68 57 43 / 8%); }
.story-concept { display: flex; aspect-ratio: 2 / 3; flex-direction: column; justify-content: space-between; padding: 20px 17px; color: #f8f5ee; background: linear-gradient(150deg, #73543e, #302b25); box-shadow: 0 12px 24px rgb(40 37 31 / 18%); }
.story-concept span { font-size: 0.52rem; font-weight: 650; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.7; }
.story-concept strong { overflow-wrap: anywhere; font: 500 1.25rem/1.05 Georgia, "Times New Roman", serif; letter-spacing: -0.02em; }
.story-concept small { font: 0.65rem/1.35 Georgia, "Times New Roman", serif; opacity: 0.8; }
.story-summary h2 { margin: 0 0 14px; font: 500 clamp(2rem, 5vw, 3.2rem)/1.06 Georgia, "Times New Roman", serif; letter-spacing: -0.035em; }
.story-summary > p:not(.eyebrow) { margin: 0; color: #5f574c; font: 1.05rem/1.65 Georgia, "Times New Roman", serif; }
.story-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.story-badges span { padding: 6px 9px; border: 1px solid #c5b9a8; color: #655c50; font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; }
.discovery-confirmation[hidden] { display: none; }
.discovery-confirmation { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--nl-border); }
.discovery-confirmation h3 { margin: 3px 0 7px; font: 500 clamp(1.55rem, 3vw, 2.15rem)/1.12 Spectral, Georgia, serif; }
.discovery-confirmation > p:not(.eyebrow) { margin: 0; color: var(--nl-text-muted); font: .92rem/1.5 Inter, sans-serif; }
.discovery-confirmation ul { display: grid; gap: 9px; margin: 18px 0 23px; padding: 0; list-style: none; }
.discovery-confirmation li { position: relative; padding-left: 18px; font: 1rem/1.45 Spectral, Georgia, serif; overflow-wrap: anywhere; }
.discovery-confirmation li::before { position: absolute; left: 0; color: var(--nl-accent); content: "—"; }
.discovery-confirmation label { display: grid; gap: 8px; color: var(--nl-text); font: 600 .78rem/1.3 Inter, sans-serif; }
.discovery-confirmation textarea { box-sizing: border-box; width: 100%; min-height: 76px; resize: vertical; padding: 11px 12px; border: 1px solid var(--nl-border); background: var(--nl-background); color: var(--nl-text); font: 1rem/1.45 Inter, sans-serif; }
.discovery-confirmation-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; }
.discovery-confirmation-actions button:not(.primary-action) { border: 0; border-bottom: 1px solid currentColor; padding: 5px 0; background: transparent; color: var(--nl-text-muted); cursor: pointer; }
.builder-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.input-with-suffix { display: grid; grid-template-columns: 1fr auto; align-items: center; border: 1px solid #bdb4a5; background: #fffdf8; }
.input-with-suffix input { border: 0 !important; }
.input-with-suffix span { padding-right: 13px; color: #786f60; font-size: 0.75rem; font-weight: 400; }
.builder-disclosure { margin-top: 34px; border-top: 1px solid #d8d1c3; }
.builder-disclosure > summary { display: flex; justify-content: space-between; gap: 20px; padding: 22px 2px; cursor: pointer; list-style: none; }
.builder-disclosure > summary::-webkit-details-marker { display: none; }
.builder-disclosure > summary span { font: 500 1.35rem/1.2 Georgia, "Times New Roman", serif; }
.builder-disclosure > summary small { color: #786f60; font-weight: 400; }
.builder-fine-tune { display: grid; gap: 42px; padding: 18px 0 25px; }
.builder-fine-tune fieldset { display: grid; gap: 20px; margin: 0; padding: 0; border: 0; }
.builder-fine-tune legend { margin-bottom: 18px; font: 500 1.2rem/1.3 Georgia, "Times New Roman", serif; }
.field-source { justify-self: start; margin-top: 2px; color: var(--nl-text-muted); font: 600 .68rem/1.2 Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.field-source[hidden] { display: none; }
.builder-fine-tune label.is-suggested textarea,
.builder-fine-tune label.is-suggested input,
.builder-fine-tune [data-field-container].is-suggested textarea { color: #595750; }
.fine-module { border-top: 1px solid var(--nl-border); }
.fine-module > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 16px 0; cursor: pointer; }
.fine-module > summary span { font: 500 1.08rem/1.3 Georgia, "Times New Roman", serif; }
.fine-module > summary small { color: var(--nl-text-muted); font-size: .75rem; }
.fine-module > fieldset { padding: 6px 0 12px; }
.fine-tune-shell { margin-top: 34px; }
.fine-primary-disclosure { border-top: 1px solid var(--nl-border); }
.fine-primary-disclosure:last-child { border-bottom: 1px solid var(--nl-border); }
.fine-primary-disclosure > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 22px 2px; cursor: pointer; list-style: none; }
.fine-primary-disclosure > summary::-webkit-details-marker { display: none; }
.fine-primary-disclosure > summary span { font: 500 1.35rem/1.2 Georgia, "Times New Roman", serif; }
.fine-primary-disclosure > summary small { color: var(--nl-text-muted); font: .72rem/1.35 Inter, sans-serif; text-align: right; }
.fine-primary-content { display: grid; gap: clamp(30px,5vw,48px); padding: 10px 2px 38px; }
.fine-primary-content > fieldset + fieldset { padding-top: 28px; border-top: 1px solid color-mix(in srgb,var(--nl-border) 75%,transparent); }
.avoid-field { display: grid; gap: 8px; }
.avoid-field > label { font: 600 .78rem/1.3 Inter,sans-serif; }
.characters-module { border-top: 1px solid var(--nl-border) !important; padding-top: 20px !important; }
.character-entry { position: relative; padding: 18px !important; border: 1px solid var(--nl-border) !important; background: color-mix(in srgb, var(--nl-paper) 88%, white); }
.character-entry legend { padding-right: 78px; margin-bottom: 4px; font-size: 1rem; }
.character-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, .35fr); gap: 14px; }
.character-remove { position: absolute; top: 12px; right: 12px; padding: 5px 7px; color: var(--nl-text-muted); font-size: .72rem; }
.character-add { justify-self: start; }
.delivery-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.delivery-options label { cursor: pointer; }
.delivery-options input { position: absolute; opacity: 0; pointer-events: none; }
.delivery-options span { display: grid; gap: 5px; min-height: 74px; box-sizing: border-box; padding: 13px; border: 1px solid var(--nl-border); background: var(--nl-background); }
.delivery-options strong { font: 650 .82rem/1.25 Inter, sans-serif; }
.delivery-options small { color: var(--nl-text-muted); font: .75rem/1.4 Inter, sans-serif; }
.delivery-options input:checked + span { border-color: var(--nl-text); box-shadow: inset 0 -3px var(--nl-accent); }
.delivery-options input:focus-visible + span { outline: 3px solid var(--nl-focus); outline-offset: 2px; }
.preview-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 7px 0 14px; }
.validation-status { color: #675f53; font-size: 0.85rem; }
.preview-toolbar button { margin-left: 8px; padding: 7px 10px; border: 1px solid #bdb4a5; background: transparent; cursor: pointer; }
.brief-preview pre { overflow: auto; max-height: 520px; margin: 0; padding: 22px; color: #d9d3c8; background: #2f2c27; font: 0.79rem/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.builder-errors { margin: 0 0 14px; padding-left: 20px; color: #8b3028; font-size: 0.85rem; }
.builder-errors:empty { display: none; }
.builder-submit { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 42px; padding: 30px 0 18px; border-top: 1px solid #d8d1c3; }
.builder-submit p { margin: 4px 0 0; color: #786f60; font-size: 0.78rem; }
.builder-submit .primary-action { margin: 0; }
.builder-submit .primary-action:disabled { cursor: not-allowed; opacity: 0.42; }

@media (max-width: 640px) {
  .library-header { padding-top: 48px; }
  .book-entry a { grid-template-columns: 68px 1fr; gap: 17px; }
  .nl-cover--library { width: 68px; }
  .book-entry p:not(.eyebrow) { display: none; }
  .book-landing { width: min(100% - 36px, 560px); padding: 36px 0 64px; }
  .book-introduction { grid-template-columns: 110px 1fr; gap: 22px; min-height: auto; }
  .book-introduction h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .book-introduction section > p:not(.eyebrow):not(.book-metadata) { display: none; }
  .nl-cover--landing .nl-cover-title { font-size: 0.58rem; }
  .nl-cover--landing .nl-cover-imprint { font-size: 0.28rem; }
  .landing-contents { margin-top: 50px; }
  .book-language-switch { width: min(100% - 36px, 560px); margin-top: -28px; }
  .reader-header { grid-template-columns: 1fr auto; padding-inline: 16px; }
  .current-book { display: none; }
  .reader-shell { padding: 56px 21px 50px; }
  .chapter h1 { margin-bottom: 44px; }
  .chapter-navigation { gap: 18px; margin-top: 64px; }
  .completion-state { grid-template-columns: 62px 1fr; gap: 18px; }
  .nl-cover--completion { width: 62px; }
  .reader-actions { gap: 12px; }
  .chapter-position { display: none; }
  .reader-actions { gap: 7px; }
  .reader-mode button { min-height: 36px; font-size: .68rem; }
  .research-panel { top: auto; bottom: 0; width: 100%; height: min(82dvh,720px); border-top: 1px solid var(--nl-border); border-left: 0; }
  .research-explanation { right: 12px; width: min(390px,calc(100% - 24px)); }
  .truth-panel { top: auto; bottom: 0; width: 100%; height: min(82dvh, 720px); border-top: 1px solid #d8d1c3; border-left: 0; }
  .contents-panel { top: auto; bottom: 0; width: 100%; height: min(82dvh, 720px); border-top: 1px solid #d8d1c3; border-right: 0; }
  .builder-shell { padding-top: 48px; }
  .builder-grid { grid-template-columns: 1fr; }
  .delivery-options { grid-template-columns: 1fr; }
  .choice-row { grid-template-columns: 1fr; }
  .compact-choices { grid-template-columns: 1fr 1fr; }
  .story-so-far { grid-template-columns: 80px 1fr; gap: 20px; margin-top: 52px; padding: 25px 20px; }
  .story-concept { padding: 10px 8px; }
  .story-concept strong { font-size: 0.65rem; }
  .story-concept small { font-size: 0.42rem; }
  .story-summary h2 { font-size: 1.8rem; }
  .discovery-confirmation { grid-column: 1 / -1; }
  .discovery-confirmation-actions { align-items: stretch; flex-direction: column-reverse; }
  .discovery-confirmation-actions button { min-height: 44px; }
  .exploration-actions { align-items: flex-start; flex-direction: column; }
  .exploration-results { padding: 22px 18px; }
  .suggestion-chip { max-width: none; width: 100%; }
  .builder-disclosure > summary { display: grid; gap: 6px; }
  .preview-toolbar { align-items: flex-start; flex-direction: column; }
  .preview-toolbar button:first-child { margin-left: 0; }
  .builder-submit { align-items: flex-end; }
}

/* Operator dashboard */
.admin-page { background: #f6f1e8; color: #28251f; }
.admin-header { display: flex; justify-content: space-between; padding: 18px clamp(20px,4vw,56px); border-bottom: 1px solid #d8d1c3; font: 600 .78rem/1.2 Inter,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.admin-header a { color: inherit; text-decoration: none; }
.admin-subnav { display: flex; gap: 28px; width: min(1400px,calc(100% - 40px)); margin: 0 auto; padding: 15px 0; border-bottom: 1px solid #d8d1c3; font: 600 .74rem/1.2 Inter,sans-serif; }
.admin-subnav a { padding: 5px 0; color: #786f60; text-decoration: none; }.admin-subnav a[aria-current="page"] { color: #28251f; box-shadow: inset 0 -1px #28251f; }
.admin-shell { width: min(1400px,calc(100% - 40px)); margin: auto; padding: 48px 0 90px; }
.admin-title,.admin-table-heading,.admin-control { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.admin-title h1 { margin: 4px 0 0; font: 500 clamp(2.5rem,5vw,4.5rem)/1 Georgia,serif; }
.admin-title>p { color: #786f60; font-size: .78rem; }
.admin-cards { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin: 36px 0 16px; }
.admin-cards article,.admin-panel { padding: 22px; border: 1px solid #d8d1c3; background: rgba(255,255,255,.35); }
.admin-cards span,.admin-cards small { display: block; color: #786f60; font-size: .72rem; }
.admin-cards strong { display: block; margin: 8px 0; font: 500 1.8rem/1 Georgia,serif; }
.admin-panel { margin-top: 16px; }.admin-panel h2 { margin: 4px 0 18px; font: 500 1.5rem/1.15 Georgia,serif; }
.admin-provenance-summary { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--nl-border); }.admin-provenance-summary h3 { margin: 0 0 8px; font: 600 1rem/1.3 Inter,sans-serif; }.admin-provenance-summary p { margin: 6px 0; }.admin-provenance-actions { display: flex; gap: 18px; margin-top: 12px; }.admin-provenance-actions a,.admin-provenance-shell a { color: var(--nl-accent); font-weight: 600; }.admin-provenance-note { color: var(--nl-text-muted); font-size: .78rem; }.admin-provenance-warning { color: var(--nl-accent); font-weight: 600; }
.admin-provenance-shell { max-width: 1050px; }.admin-provenance-metrics { grid-template-columns: repeat(5,minmax(0,1fr)); }.admin-provenance-chapter { margin-top: 28px; }.provenance-mapping { padding: 22px 0; border-top: 1px solid var(--nl-border); }.provenance-mapping h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font: 600 1rem/1.3 Inter,sans-serif; }.provenance-mapping h4 { margin: 14px 0 8px; color: var(--nl-text-muted); font: 600 .7rem/1.3 "IBM Plex Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }.provenance-mapping blockquote,.provenance-claim,.provenance-source { margin: 8px 0; padding: 13px 16px; border-left: 3px solid var(--nl-border); background: color-mix(in srgb,var(--nl-surface) 65%,transparent); }.provenance-mapping blockquote p,.provenance-claim p { margin: 8px 0 0; font: 1rem/1.55 Spectral,Georgia,serif; }.provenance-mapping code,.provenance-classification { font: 600 .7rem/1.3 "IBM Plex Mono",monospace; }.provenance-classification { display: inline-block; padding: 3px 6px; }.provenance-verified { color: var(--nl-success); }.provenance-disputed { color: var(--nl-accent); background: var(--nl-highlight); }.provenance-arrow { margin: 5px 0; color: var(--nl-text-muted); }.provenance-source { display: grid; gap: 5px; overflow-wrap: anywhere; }.provenance-source strong { font-family: Inter,sans-serif; }.provenance-source span { color: var(--nl-text-muted); }.admin-provenance-diagnostic { margin-top: 18px; padding: 14px 16px; border: 1px solid var(--nl-accent); }.admin-provenance-diagnostic p { margin-bottom: 0; }
.admin-control { align-items: center; }.admin-control>div { flex: 1; }.admin-control form { display: grid; gap: 10px; min-width: 270px; font-size: .8rem; }.admin-control input[type=number] { width: 100%; box-sizing: border-box; margin-top: 5px; padding: 8px; }
.admin-length-settings { display: grid; gap: 10px; margin: 10px 0; padding: 18px 0 0; border: 0; border-top: 1px solid #d8d1c3; }.admin-length-settings legend { padding-top: 16px; font: 500 1.15rem Georgia,serif; }.admin-length-settings>p,.admin-length-settings small { color: #786f60; font-size: .7rem; line-height: 1.45; }.admin-length-settings>div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-budget { height: 7px; max-width: 520px; overflow: hidden; background: #dfd8cb; }.admin-budget i { display: block; height: 100%; background: #68745b; }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.admin-metrics { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }.admin-metrics dt { color: #786f60; font-size: .72rem; }.admin-metrics dd { margin: 4px 0 0; font: 500 1.25rem Georgia,serif; }
.admin-table-heading select { padding: 7px; border: 1px solid #bdb4a5; background: #fffaf1; }.admin-table-wrap { overflow-x: auto; }.admin-table { width: 100%; border-collapse: collapse; font-size: .76rem; }.admin-table th,.admin-table td { padding: 12px 9px; border-top: 1px solid #ddd5c8; text-align: left; vertical-align: top; }.admin-table small { display: block; margin-top: 4px; color: #786f60; }.admin-status { text-transform: capitalize; }.admin-status-complete { color: #52684a; }.admin-status-failed { color: #963c31; }.admin-job-detail { width: min(850px,80vw); padding: 15px 0; }.admin-job-detail dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.admin-job-detail dt { color: #786f60; }.admin-job-detail dd { margin: 3px 0; }
.admin-book-filters { display: grid; grid-template-columns: minmax(220px,2fr) repeat(3,minmax(120px,1fr)); gap: 12px; margin: 34px 0 22px; }.admin-book-filters label,.admin-book-dialog label,.admin-delete-dialog label { display: grid; gap: 6px; font: 600 .72rem/1.3 Inter,sans-serif; }.admin-book-filters input,.admin-book-filters select,.admin-book-dialog input,.admin-book-dialog select,.admin-book-dialog textarea,.admin-delete-dialog input { box-sizing: border-box; width: 100%; padding: 9px 10px; border: 1px solid #bdb4a5; background: #fffaf1; color: inherit; font: .85rem/1.4 Inter,sans-serif; }.admin-book-cover { display: block; width: 38px; aspect-ratio: 2/3; object-fit: cover; background: #ddd5c8; }.admin-books-table button,.admin-book-actions button,.admin-book-actions a,.admin-delete-dialog button,[data-load-more] { padding: 8px 11px; border: 1px solid #8f8678; background: transparent; color: inherit; font: 600 .72rem Inter,sans-serif; text-decoration: none; cursor: pointer; }.admin-book-dialog,.admin-delete-dialog { width: min(720px,calc(100vw - 36px)); max-height: calc(100vh - 50px); box-sizing: border-box; padding: 30px; overflow: auto; border: 1px solid #bdb4a5; background: #f6f1e8; color: #28251f; }.admin-book-dialog::backdrop,.admin-delete-dialog::backdrop { background: rgba(31,29,25,.55); }.admin-book-dialog form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.admin-book-dialog h2,.admin-book-dialog>form>.panel-close,.admin-book-dialog>form>label:first-of-type,.admin-book-dialog>form>label:nth-of-type(4),.admin-book-dialog dl,.admin-book-dialog [data-edit-status],.admin-book-actions { grid-column: 1/-1; }.admin-book-dialog h2,.admin-delete-dialog h2 { margin: 0 0 5px; font: 500 2rem/1.1 Georgia,serif; }.admin-book-dialog fieldset { display: flex; flex-wrap: wrap; align-content: start; gap: 8px; margin: 0; padding: 13px; border: 1px solid #d8d1c3; }.admin-book-dialog fieldset label { display: flex; align-items: center; gap: 5px; font-weight: 400; }.admin-book-dialog fieldset input { width: auto; }.admin-book-dialog dl { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 0; padding: 14px 0; border-block: 1px solid #d8d1c3; }.admin-book-dialog dt { color: #786f60; font: .68rem Inter,sans-serif; }.admin-book-dialog dd { margin: 3px 0 0; font: .8rem Inter,sans-serif; }.admin-book-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }.admin-book-actions .danger { margin-left: auto; color: #8b3128; border-color: #b77e77; }.admin-delete-dialog form { display: grid; gap: 16px; }.admin-delete-dialog .danger { color: #fff; background: #8b3128; }.panel-close { justify-self: end; border: 0!important; font-size: 1.4rem!important; }.admin-book-dialog small { color: #786f60; font-weight: 400; }
@media(max-width:850px){.admin-cards{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.admin-control{align-items:stretch;flex-direction:column}.admin-table-heading{align-items:flex-start;flex-direction:column}.admin-job-detail dl{grid-template-columns:1fr}.admin-shell{width:min(100% - 24px,1400px)}}
@media(max-width:700px){.admin-book-filters{grid-template-columns:1fr 1fr}.admin-book-dialog form{grid-template-columns:1fr}.admin-book-dialog fieldset,.admin-book-dialog>form>label{grid-column:1}.admin-book-dialog dl{grid-template-columns:1fr 1fr}.admin-subnav{width:min(100% - 24px,1400px)}}

@media (prefers-reduced-motion: reduce) {
  .exploration-loading i { animation: none; }
}

.generation-shell { width: min(860px, calc(100% - 40px)); margin: 0 auto; padding: 72px 0 110px; }
.generation-book { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: clamp(30px, 7vw, 68px); align-items: center; padding-bottom: 55px; border-bottom: 1px solid #d8d1c3; }
.generation-book h1 { margin: 0 0 14px; font: 500 clamp(2.4rem, 7vw, 4.8rem)/1 Georgia, "Times New Roman", serif; letter-spacing: -0.045em; }
.generation-book > div:last-child > p:not(.eyebrow) { color: #675f53; font: 1.05rem/1.6 Georgia, "Times New Roman", serif; }
.generation-progress { max-width: 620px; margin: 52px auto 0; }
.generation-progress h2 { margin-bottom: 25px; font: 500 1.7rem/1.2 Georgia, "Times New Roman", serif; }
.generation-progress ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.generation-progress li { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding: 11px 0; color: #9a9185; }
.generation-progress li span { font-family: Inter, sans-serif; }
.generation-progress li[data-state="complete"] { color: #5c7057; }
.generation-progress li[data-state="current"] { color: #28251f; }
.generation-progress li[data-state="current"] strong { font-size: 1.05rem; }
.generation-detail { min-height: 1.5em; margin: 26px 0 0 38px; color: #675f53; font: italic 1rem/1.5 Georgia, "Times New Roman", serif; }
.generation-activity { max-width: 620px; margin: 38px auto 0; border: 1px solid var(--nl-border); background: var(--nl-surface); color: var(--nl-text); }
.generation-activity > header { padding: 22px 26px 16px; border-bottom: 1px solid var(--nl-border); }.generation-activity h2 { margin: 3px 0 0; font: 500 1.35rem/1.2 Georgia,serif; }.generation-activity .eyebrow { color: var(--nl-text-muted); }
.generation-activity-scroll { box-sizing: border-box; height: 9.25rem; overflow-x: hidden; overflow-y: auto; padding: 14px 26px 16px; overscroll-behavior: contain; background: #20211f; color: #f0ece4; scrollbar-color: #777973 #2b2c29; scrollbar-width: thin; }
.generation-activity-scroll::-webkit-scrollbar { width: 8px; }.generation-activity-scroll::-webkit-scrollbar-track { background: #2b2c29; }.generation-activity-scroll::-webkit-scrollbar-thumb { border: 2px solid #2b2c29; border-radius: 8px; background: #777973; }
.generation-activity ol { display: flex; min-height: 100%; box-sizing: border-box; flex-direction: column; justify-content: flex-end; gap: 7px; margin: 0; padding: 0; list-style: none; font: .76rem/1.4 "IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.generation-activity li { display: grid; flex: 0 0 auto; grid-template-columns: 48px minmax(0,1fr); gap: 12px; padding-bottom: 6px; border-bottom: 1px solid rgba(240,236,228,.16); opacity: 0; overflow-wrap: anywhere; transform: translateY(3px); transition: opacity .18s ease,transform .18s ease; }.generation-activity li[data-visible=true],.generation-activity li[data-activity-empty] { opacity: 1; transform: none; }.generation-activity time { color: #a8c7b4; }.generation-activity li[data-activity-empty] { display: block; color: #b9b6af; font-style: italic; }
.generation-result, .generation-failure { margin: 55px auto 0; padding: 38px; border: 1px solid #cfc5b6; background: #f1ebdf; text-align: center; }
.generation-result[hidden], .generation-failure[hidden] { display: none; }
.generation-result h2, .generation-failure h2 { margin: 5px 0 12px; font: 500 2.3rem/1.1 Georgia, "Times New Roman", serif; }
.generation-result .primary-action { display: inline-block; margin-top: 20px; text-decoration: none; }
.generation-result-actions { display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px}.generation-result-actions .primary-action{margin-top:0}.generation-result-actions>a:not(.primary-action){color:inherit}
.generation-failure div { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 25px; }

@media (max-width: 640px) {
  .generation-shell { padding-top: 45px; }
  .generation-book { grid-template-columns: 80px 1fr; gap: 20px; padding-bottom: 38px; }
  .generation-book .story-concept { padding: 10px 8px; }
  .generation-book .story-concept strong { font-size: 0.65rem; }
  .generation-book .story-concept small { font-size: 0.42rem; }
  .generation-book h1 { font-size: 2rem; }
  .generation-result, .generation-failure { padding: 28px 18px; }
  .generation-activity > header { padding: 18px 18px 14px; }.generation-activity-scroll { height: 8.5rem; padding: 12px 18px 14px; }.generation-activity li { grid-template-columns: 42px minmax(0,1fr); }
  .admin-provenance-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-provenance-shell .admin-title,.admin-provenance-chapter .admin-table-heading { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) { .generation-activity li { transition: none; transform: none; } }

.generation-gate[hidden] { display: none; }
.generation-gate { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(31, 29, 25, .58); }
.generation-gate-dialog { width: min(420px, calc(100vw - 40px)); box-sizing: border-box; padding: 34px; border: 1px solid #cfc5b6; background: #f6f1e8; box-shadow: 0 24px 70px rgba(20, 18, 15, .25); }
.generation-gate-dialog h2 { margin: 5px 0 10px; font: 500 2rem/1.1 Georgia, "Times New Roman", serif; }
.generation-gate-dialog > p:not(.eyebrow) { color: #675f53; }
.generation-gate-dialog form { display: grid; gap: 12px; margin-top: 24px; }
.generation-gate-dialog label { display: grid; gap: 7px; font: 600 .78rem/1.3 Inter, sans-serif; }
.generation-gate-dialog input { box-sizing: border-box; width: 100%; padding: 11px 12px; border: 1px solid #aaa092; background: #fffaf1; font: 1rem Inter, sans-serif; }
.generation-gate-dialog form > div { display: flex; justify-content: flex-end; gap: 10px; margin-top: 5px; }
.generation-gate-dialog button { padding: 10px 16px; }
.generation-gate-error { min-height: 1.25em; margin: 0; color: #963c31; font: .82rem/1.4 Inter, sans-serif; }
.builder-reset{justify-self:start;border:0;background:transparent;color:#786f60;text-decoration:underline;text-underline-offset:3px}.reset-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.global-header { display: flex; align-items: center; justify-content: space-between; gap: 28px; width: min(1120px,calc(100% - 40px)); margin: 0 auto; padding: 20px 0; border-bottom: 1px solid #d8d1c3; font: 600 .75rem/1.2 Inter,sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.publication-options { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: clamp(24px,5vw,54px); margin: 28px 0 0; padding: 28px; border: 1px solid #d8d1c3; background: rgba(255,255,255,.28); }
.publication-options > label { display: grid; align-content: start; gap: 7px; font: .78rem/1.4 Inter,sans-serif; }.publication-options > label > span,.publication-options small { color: #786f60; font-weight: 400; }.publication-options input[type=text],.publication-options > label > input { box-sizing: border-box; width: 100%; padding: 10px 11px; border: 1px solid #aaa092; background: #fffaf1; font: 1rem Inter,sans-serif; }
.publication-options fieldset { margin: 0; padding: 0; border: 0; }.publication-options legend { margin-bottom: 10px; font: 600 .78rem/1.4 Inter,sans-serif; }.visibility-options { display: grid; gap: 8px; }.visibility-options label { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; padding: 10px; border: 1px solid #d8d1c3; cursor: pointer; }.visibility-options input { margin-top: 3px; }.visibility-options strong,.visibility-options small { display: block; }.visibility-options small { margin-top: 3px; line-height: 1.4; }
.book-credit { margin: 7px 0 10px !important; color: #786f60 !important; font: .72rem/1.45 Inter,sans-serif !important; }.book-credit span { padding: 0 3px; }
.global-brand,.global-nav a { color: inherit; text-decoration: none; }.global-brand { margin-right: auto; }.global-nav { display: flex; align-items: center; gap: clamp(18px,3vw,34px); }.global-nav a { padding: 5px 0; color: #786f60; }.global-nav a[aria-current="page"] { color: #28251f; box-shadow: inset 0 -1px #28251f; }.global-nav a:focus-visible,.global-brand:focus-visible,.global-nav-toggle:focus-visible { outline: 2px solid #9e8a75; outline-offset: 4px; }
.global-locale { display: flex; align-items: center; gap: 6px; margin-left: 8px; padding-left: 22px; border-left: 1px solid #d8d1c3; }.global-locale a { font-size: .68rem; }
.global-nav-toggle { display: none; min-width: 44px; min-height: 44px; border: 1px solid #bdb4a5; color: #403a32; background: transparent; font-size: 1.2rem; cursor: pointer; }
.locale-switch { display: flex; gap: 7px; align-items: center; }.locale-switch a { color: inherit; text-decoration: none; }.locale-switch a[aria-current="page"] { color: #28251f; text-decoration: underline; text-underline-offset: 3px; }
.builder-fine-tune { grid-template-columns: 1fr; align-items: start; gap: clamp(32px,5vw,52px); }
.group-copy { color: #786f60; font-size: .84rem; line-height: 1.55; }
.content-scale-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px clamp(28px,5vw,58px); }
.content-scale-grid > legend { grid-column: 1/-1; }
.audience-scale-grid { align-items: start; }
.semantic-scale { display: grid; align-content: start; gap: 8px; min-width: 0; }
.semantic-scale-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.semantic-scale-heading label { font: 600 .78rem/1.3 Inter,sans-serif; }
.semantic-scale-heading output { color: var(--nl-accent-ink,#965044); font: 600 .75rem/1.3 Inter,sans-serif; text-align: right; }
#brief-builder .semantic-scale input[type="range"] { width: 100%; height: 28px; box-sizing: border-box; margin: 0; padding: 0; border: 0; background: transparent; accent-color: var(--nl-accent); cursor: pointer; }
.semantic-scale-stops { display: flex; justify-content: space-between; gap: 6px; color: var(--nl-text-muted); font: .62rem/1.25 Inter,sans-serif; }
.semantic-scale-stops span { flex: 1; min-width: 0; overflow-wrap: anywhere; text-align: center; }
.semantic-scale-stops span:first-child { text-align: left; }
.semantic-scale-stops span:last-child { text-align: right; }
.field-help { display: block; margin-top: 5px; color: #786f60; font-size: .68rem; font-weight: 400; line-height: 1.4; }
.creative-label { display: inline-block; margin-left: 8px; padding: 2px 5px; border: 1px solid currentColor; border-radius: 10px; font-size: .58rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; opacity: .7; }
.exploration-footer button:disabled,.explore-button:disabled { cursor: wait; opacity: .65; }
@media(max-width:760px){.content-scale-grid{grid-template-columns:1fr}.builder-header>span{display:none}.publication-options{grid-template-columns:1fr}.semantic-scale-stops{font-size:.66rem}.fine-primary-disclosure>summary{align-items:flex-start}.fine-primary-disclosure>summary small{max-width:55%}}
@media(max-width:520px){.character-fields{grid-template-columns:1fr}.fine-module>summary{align-items:flex-start}.character-entry{padding:16px 12px!important}}
@media(max-width:640px){.global-header{position:relative;padding:12px 0}.global-nav-toggle{display:grid;place-items:center}.global-nav{position:absolute;top:calc(100% + 1px);right:0;z-index:80;display:none;width:min(270px,calc(100vw - 40px));box-sizing:border-box;align-items:stretch;gap:0;padding:10px;border:1px solid #cfc5b6;background:#f6f1e8;box-shadow:0 15px 35px rgba(40,37,31,.15)}.global-nav[data-open="true"]{display:grid}.global-nav>a{min-height:44px;box-sizing:border-box;padding:14px 12px}.global-nav a[aria-current="page"]{background:#ece5d9;box-shadow:none}.global-locale{min-height:44px;margin:5px 0 0;padding:10px 12px;border-top:1px solid #d8d1c3;border-left:0}.global-locale a{min-height:auto;padding:5px}.library-header{padding-top:42px}}

/* Public homepage */
.home-page{overflow-x:hidden;background:#f3f0e9;color:#201f1c}.home-page main{width:min(1240px,calc(100% - 48px));margin:auto}.home-page h1,.home-page h2,.home-page h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}.home-page h2{margin:.2em 0;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.045em}.home-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:720px;align-items:center;gap:clamp(30px,5vw,90px);padding:50px 0 90px}.home-hero-copy{position:relative;z-index:3;grid-column:1;grid-row:1}.home-hero h1{max-width:780px;margin:10px 0 28px;font-size:clamp(3.6rem,7.5vw,7rem);line-height:.91;letter-spacing:-.065em}.home-hero-copy>p:not(.eyebrow){max-width:620px;color:#585249;font:1.18rem/1.65 Georgia,serif}.home-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.home-actions>a:not(.primary-action){font:600 .78rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;text-decoration:none}.home-cover-stage{position:relative;grid-column:2;grid-row:1;height:610px}.home-floating-cover{position:absolute;width:clamp(145px,15vw,220px);aspect-ratio:2/3;object-fit:cover;border-radius:2px;box-shadow:0 24px 50px rgba(22,20,16,.22);transition:transform .35s ease,box-shadow .35s ease}.home-floating-cover:hover{box-shadow:0 30px 65px rgba(22,20,16,.3)}.home-floating-cover--1{top:4%;left:24%;z-index:3;transform:rotate(3deg)}.home-floating-cover--1:hover{transform:rotate(1deg) translateY(-8px)}.home-floating-cover--2{top:28%;left:-4%;z-index:2;transform:rotate(-8deg)}.home-floating-cover--2:hover{transform:rotate(-5deg) translateY(-7px)}.home-floating-cover--3{top:39%;right:-2%;z-index:4;transform:rotate(8deg)}.home-floating-cover--3:hover{transform:rotate(5deg) translateY(-8px)}.home-floating-cover--4{bottom:-2%;left:27%;z-index:5;transform:rotate(-2deg)}.home-floating-cover--4:hover{transform:rotate(0) translateY(-7px)}.home-floating-cover--5{top:-2%;right:-8%;z-index:1;transform:rotate(11deg);opacity:.92}.home-cover-empty{position:absolute;inset:70px 20px;display:grid;place-items:center;border:1px solid #bcb5aa;background:#ded9cf}.home-cover-empty span{font:700 4rem Georgia,serif}.home-cover-empty i{position:absolute;width:45%;height:65%;border:1px solid #aaa195;transform:rotate(7deg)}.home-cover-empty i:last-child{transform:rotate(-8deg)}
.home-curiosity,.home-truth,.home-personal,.home-process,.home-books{padding:clamp(80px,11vw,150px) 0;border-top:1px solid #cbc5bb}.home-curiosity{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,8vw,110px)}.home-curiosity h2{max-width:570px}.home-curiosity form{display:grid;align-content:start;gap:12px;padding:30px;border:1px solid #aaa195;background:#faf8f3;box-shadow:10px 10px 0 #d9d3c8}.home-curiosity label{font:600 .72rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em}.home-curiosity textarea{resize:vertical;min-height:100px;padding:16px;border:0;border-bottom:1px solid #aaa195;background:transparent;color:inherit;font:1.35rem/1.35 Georgia,serif}.home-curiosity button{justify-self:start;padding:11px 0;border:0;background:transparent;font:600 .75rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.home-curiosity>ol{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:55px 0 0;padding:0;background:#cbc5bb;list-style:none}.home-curiosity>ol li{position:relative;padding:25px;background:#f3f0e9;font:500 1.1rem Georgia,serif}.home-curiosity>ol li:not(:last-child)::after{content:"→";position:absolute;right:-10px;z-index:2;color:#777064}
.home-truth{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,9vw,130px);align-items:center}.home-truth>div:first-child>p:last-child{max-width:540px;color:#615b52;font:1.05rem/1.65 Georgia,serif}.home-truth-demo{padding:34px;border:1px solid #c5beb2;background:#fffdf8;box-shadow:16px 16px 0 #292a27}.home-excerpt{padding:32px 0 40px;border-bottom:1px solid #d7d1c7;font:1.55rem/1.55 Georgia,serif}.home-truth-demo>div{display:grid;gap:13px;padding-top:25px}.home-truth-demo>div strong{font:500 1.25rem Georgia,serif}.home-truth-demo>div span{color:#5f6957;font:.8rem/1.45 Inter,sans-serif}
.home-personal{text-align:center}.home-personal h2{max-width:900px;margin:15px auto 55px}.home-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}.home-choice-grid ul{display:grid;gap:8px;margin:0;padding:18px;border:1px solid #c8c1b6;list-style:none}.home-choice-grid li{display:flex;justify-content:space-between;padding:13px 15px;background:#e9e4da;font:.8rem Inter,sans-serif}.home-choice-grid li:nth-child(2){background:#292a27;color:#fff}.home-choice-grid span{color:#777064;font-size:.7rem}
.home-process{text-align:center}.home-process ol{display:grid;grid-template-columns:repeat(6,1fr);margin:55px 0 0;padding:0;border-block:1px solid #aaa195;list-style:none}.home-process li{display:grid;align-content:space-between;min-height:125px;padding:20px 14px;border-right:1px solid #cbc5bb;font:500 1rem/1.25 Georgia,serif}.home-process li:last-child{border-right:0}.home-process li span{color:#898175;font:.65rem Inter,sans-serif}
.home-books>header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}.home-books>header h2{font-size:clamp(2.2rem,4vw,4rem)}.home-books>header>a{flex:none;font:600 .75rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;text-decoration:none}.home-book-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,2vw,26px)}.home-book a{display:block;color:inherit;text-decoration:none}.home-book-cover{display:grid;place-items:center;aspect-ratio:2/3;overflow:hidden;background:#d8d2c7}.home-book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.home-book a:hover img{transform:scale(1.025)}.home-book p{margin:15px 0 6px;color:#7b7469;font:.63rem/1.4 Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em}.home-book h3{margin:0;font-size:1.15rem;line-height:1.12}.home-book small{display:block;margin-top:7px;color:#736c62;font:.68rem Inter,sans-serif}.home-books-empty{padding:45px;border:1px solid #cbc5bb;text-align:center}.home-footer{display:flex;justify-content:space-between;width:min(1240px,calc(100% - 48px));margin:0 auto;padding:30px 0 50px;border-top:1px solid #cbc5bb;color:#6e675d;font:.72rem Inter,sans-serif}.home-footer a{color:#201f1c;font-weight:700;text-decoration:none}
.home-page a:focus-visible,.home-page button:focus-visible,.home-page textarea:focus-visible{outline:3px solid #8c735c;outline-offset:4px}
@media(max-width:980px){.home-hero{grid-template-columns:1fr minmax(280px,.65fr);min-height:620px}.home-hero h1{font-size:clamp(3.3rem,8.5vw,6rem)}.home-cover-stage{height:500px}.home-floating-cover{width:150px}.home-book-grid{grid-template-columns:repeat(3,1fr);row-gap:42px}.home-process ol{grid-template-columns:repeat(3,1fr)}.home-process li:nth-child(3){border-right:0}}
@media(max-width:700px){.home-page main{width:min(100% - 32px,1240px)}.home-hero{display:flex;flex-direction:column;min-height:0;padding:45px 0 75px}.home-hero-copy{order:1}.home-hero h1{font-size:clamp(3rem,14vw,4.7rem)}.home-cover-stage{order:2;width:100%;height:310px;margin-top:35px}.home-floating-cover{width:112px}.home-floating-cover--1{left:35%;top:0}.home-floating-cover--2{left:5%;top:48px}.home-floating-cover--3{right:4%;top:65px}.home-floating-cover--4{left:38%;bottom:-15px}.home-floating-cover--5{display:none}.home-actions{align-items:flex-start;flex-direction:column;gap:20px}.home-curiosity,.home-truth{grid-template-columns:1fr}.home-curiosity>ol{grid-template-columns:1fr 1fr;margin-top:20px}.home-curiosity>ol li:nth-child(2)::after{display:none}.home-truth-demo{box-shadow:8px 8px 0 #292a27}.home-choice-grid{grid-template-columns:1fr}.home-process ol{grid-template-columns:1fr 1fr}.home-process li:nth-child(2n){border-right:0}.home-book-grid{grid-template-columns:repeat(2,1fr)}.home-books>header{align-items:flex-start;flex-direction:column}.home-footer{align-items:flex-start;flex-direction:column;gap:10px;width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.home-floating-cover,.home-book-cover img{transition:none}.home-floating-cover:hover{transform:none}.home-book a:hover img{transform:none}}

/* The Annotated Story — shared visual identity */
body { color: var(--nl-text); background: var(--nl-background); font-family: var(--nl-font-ui); }
html { scroll-padding-top: calc(var(--nl-global-header-height) + var(--nl-reader-header-height) + 16px); }
h1, h2, h3, .library-header h1, .book-entry h2, .book-introduction h1,
.landing-contents h2, .contents-panel h2, .chapter h1, .chapter-navigation strong,
.completion-state h2, .builder-intro h1, .story-summary h2, .generation-book h1,
.generation-progress h2, .generation-activity h2, .generation-result h2,
.admin-title h1, .admin-panel h2 { font-family: var(--nl-font-story); }

.nl-wordmark { position: relative; display: inline-flex; align-items: flex-start; color: var(--nl-text); font: 600 1rem/1 var(--nl-font-story); letter-spacing: -.025em; text-transform: none; }
.nl-wordmark::after { position: absolute; right: 0; bottom: -.35rem; left: 0; height: 3px; background: var(--nl-accent); content: ""; clip-path: polygon(0 34%, 52% 0, 100% 42%, 99% 78%, 45% 58%, 1% 100%); }
.nl-wordmark sup { margin: -.18em 0 0 .12em; color: var(--nl-accent); font: 700 .58em/1 var(--nl-font-ui); }
.nl-wordmark--compact > span { letter-spacing: -.06em; }
.global-brand { padding: 7px 0 9px; }
.global-header { position: sticky; z-index: 8; top: 0; width: 100%; min-height: var(--nl-global-header-height); margin: 0; padding: 10px max(20px,calc((100% - 1120px)/2)); border-color: var(--nl-border); color: var(--nl-text); background: rgb(250 247 242 / 96%); backdrop-filter: blur(8px); font-family: var(--nl-font-ui); }
.global-nav a { color: var(--nl-text-muted); }
.global-nav a[aria-current="page"] { color: var(--nl-text); box-shadow: inset 0 -2px var(--nl-accent); }

.nl-highlight { position: relative; z-index: 0; padding: 0 .04em; color: inherit; background: transparent; }
.nl-highlight::before { position: absolute; z-index: -1; right: -.03em; bottom: .08em; left: -.03em; height: .38em; background: var(--nl-highlight); content: ""; transform: rotate(-.7deg); }
.nl-reference { margin-left: .2em; color: var(--nl-accent); font: 700 .64em/1 var(--nl-font-ui); vertical-align: super; }
.nl-research-label, .eyebrow, .chapter-kicker, .truth-sources, .contents-number,
.book-metadata, .book-credit, .story-badges, .admin-table { font-family: var(--nl-font-research); }

.primary-action, .another-book summary, .another-book form button,
.login-card button, .generation-gate-dialog .primary-action {
  border-color: var(--nl-accent); border-radius: var(--nl-radius-control); color: var(--nl-text); background: var(--nl-accent);
}
button, input, textarea, select { font-family: var(--nl-font-ui); }
input, textarea, select, .choice-row label > span, .suggestion-chip { border-color: var(--nl-border); border-radius: var(--nl-radius-control); }
:where(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid var(--nl-focus); outline-offset: 3px; }

.home-page, .admin-page { color: var(--nl-text); background: var(--nl-background); }
.home-page { overflow-x: clip; }
.home-page h1, .home-page h2, .home-page h3, .home-hero-copy > p:not(.eyebrow),
.home-curiosity textarea, .home-curiosity > ol li, .home-excerpt,
.home-truth > div:first-child > p:last-child, .home-process li { font-family: var(--nl-font-story); }
.home-curiosity form, .home-truth-demo { background: var(--nl-surface); }
.home-curiosity > ol, .home-process ol, .home-personal, .home-process, .home-books,
.home-curiosity, .home-truth, .home-footer { border-color: var(--nl-border); }
.home-truth-demo { box-shadow: 14px 14px 0 var(--nl-ink); }
.home-truth-demo > div span { color: var(--nl-success); font-family: var(--nl-font-research); }
.home-floating-cover, .nl-cover--landing { box-shadow: var(--nl-shadow-book); }

.reader-header { z-index: 7; top: var(--nl-global-header-height); border-color: var(--nl-border); background: rgb(250 247 242 / 94%); font-family: var(--nl-font-ui); }
.progress-track { z-index: 6; top: calc(var(--nl-global-header-height) + var(--nl-reader-header-height)); }
.current-book, .prose, .chapter-navigation strong, .truth-intro { font-family: var(--nl-font-story); }
.prose { max-width: 68ch; color: var(--nl-text); font-size: clamp(1.12rem,1.8vw,1.27rem); line-height: 1.78; }
.progress-track span { background: var(--nl-accent); }
.truth-button { border-color: var(--nl-accent); }
.truth-panel, .contents-panel { border-color: var(--nl-border); background: var(--nl-surface); }
.truth-panel { box-shadow: -12px 0 40px rgb(26 26 26 / 10%); }
.truth-section h3 { color: var(--nl-text-muted); }
.truth-section--verified h3 { color: var(--nl-success); }
.truth-section--verified h3::before { margin-right: .55em; content: "✓"; }
.truth-section--disputed h3::before { margin-right: .55em; color: var(--nl-accent); content: "?"; }
.truth-section > ul > li { border-color: var(--nl-border); }
.truth-section p { font-family: var(--nl-font-story); }
.truth-sources summary, .truth-sources li { font-family: var(--nl-font-research); }

.builder-shell, .generation-shell { color: var(--nl-text); }
.core-question, .builder-disclosure, .builder-submit, .fine-group > header { border-color: var(--nl-border); }
.choice-row input:checked + span, .suggestion-chip.is-selected {
  border-color: var(--nl-accent); color: var(--nl-text); background: color-mix(in srgb,var(--nl-accent) 22%,var(--nl-surface)); box-shadow: inset 0 0 0 1px var(--nl-accent);
}
.choice-row input:checked + span small, .suggestion-chip.is-selected span { color: var(--nl-text-muted); }
.exploration-results, .story-so-far, .publication-options, .generation-gate-dialog { border-color: var(--nl-border); background: var(--nl-surface); }
.generation-progress li[data-state="active"] { border-color: var(--nl-accent); }
.generation-progress li[data-state="active"] > span { color: var(--nl-accent); }

.admin-subnav a[aria-current="page"] { color: var(--nl-text); box-shadow: inset 0 -2px var(--nl-accent); }
.admin-cards article, .admin-panel { border-color: var(--nl-border); background: rgb(255 253 248 / 45%); }
.admin-budget i { background: var(--nl-success); }
.admin-table th { font-family: var(--nl-font-research); }

@media (hover:hover) {
  .fine-primary-disclosure > summary,
  .builder-disclosure > summary { transition: background-color .14s ease, color .14s ease; }
  .fine-primary-disclosure > summary:hover,
  .builder-disclosure > summary:hover { color: var(--nl-text); background: color-mix(in srgb,var(--nl-highlight) 34%,transparent); }
  .fine-primary-disclosure > summary:hover small { color: var(--nl-text); }

  .global-nav a:hover,
  .global-brand:hover,
  .builder-shell a:hover { color: var(--nl-text); text-decoration-color: var(--nl-accent); text-decoration-thickness: 2px; text-underline-offset: .22em; }
  .global-nav a:hover,
  .builder-shell a:hover { text-decoration-line: underline; }

  .primary-action:not(:disabled):hover,
  .another-book summary:hover,
  .another-book form button:not(:disabled):hover,
  .login-card button:not(:disabled):hover { border-color: #ef5737; background: #ef5737; }
  .explore-button:not(:disabled):hover,
  .exploration-footer button:not(:disabled):hover,
  .preview-toolbar button:not(:disabled):hover { border-color: var(--nl-text-muted); background: color-mix(in srgb,var(--nl-highlight) 55%,var(--nl-surface)); }
  .character-add:not(:disabled):hover,
  .character-remove:not(:disabled):hover,
  .builder-reset:not(:disabled):hover,
  .discovery-confirmation-actions button:not(.primary-action):not(:disabled):hover { color: var(--nl-text); text-decoration: underline 2px var(--nl-accent); text-underline-offset: .22em; }
  .suggestion-chip:not(:disabled):hover { border-color: var(--nl-text-muted); background: color-mix(in srgb,var(--nl-highlight) 32%,var(--nl-surface)); }
}

@media (max-width:640px) {
  .nl-wordmark { font-size: .95rem; }
  .global-header { height: var(--nl-global-header-height); padding-block: 10px; }
  .global-nav { background: var(--nl-surface); }
  .global-nav a[aria-current="page"] { background: color-mix(in srgb,var(--nl-highlight) 45%,var(--nl-surface)); box-shadow: inset 3px 0 var(--nl-accent); }
  .prose { font-size: 1.1rem; line-height: 1.72; }
  .truth-panel, .contents-panel { background: var(--nl-surface); }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
