/* Shared appearance tokens from the approved Nightfall / Folio handoff.
   Shared surfaces, site chrome, and the bounded desktop reading page. */
:root,html[data-deon-theme='nightfall'] {
  color-scheme:dark;
  --deon-outer:#06121b;--deon-paper:#101c26;--deon-paper-raised:#182631;
  --deon-ink:#eae5d7;--deon-secondary-ink:#b6ad9d;--deon-heading:#f1e5d0;
  --deon-accent:#c9a276;--deon-rule:#806b51;--deon-link:#d9b88c;
  --deon-border:rgba(201,162,118,.43);--deon-nav:#0a131d;
  --deon-page-border:var(--deon-border);--deon-page-shadow:rgba(0,0,0,.32);--deon-switch-active-ink:#16212a;
  --deon-texture:url('/theme/nightfall-micrograin.png');
  --deon-soft-wash:radial-gradient(ellipse at 70% 0%,rgba(76,95,110,.10),transparent 48%),radial-gradient(ellipse at 15% 100%,rgba(151,113,72,.045),transparent 43%);
  --deon-mark-0:#b9cfc8;--deon-mark-1:#c2a4b8;--deon-mark-2:#c8a478;
}
html[data-deon-theme='folio'] {
  color-scheme:light;
  --deon-outer:#d9cbb1;--deon-paper:#eee3cb;--deon-paper-raised:#f2e9d7;
  --deon-ink:#302820;--deon-secondary-ink:#685949;--deon-heading:#2a231e;
  --deon-accent:#866239;--deon-rule:#bea482;--deon-link:#664319;
  --deon-border:rgba(104,74,43,.52);--deon-nav:#e2d5bd;
  --deon-page-border:#9b7a50;--deon-page-shadow:rgba(65,43,21,.17);--deon-switch-active-ink:#fff8ec;
  --deon-texture:url('/theme/folio-micrograin.png');
  --deon-soft-wash:radial-gradient(ellipse at 2% 8%,rgba(177,139,76,.095),transparent 28%),radial-gradient(ellipse at 98% 94%,rgba(178,139,85,.11),transparent 34%);
  --deon-mark-0:#365950;--deon-mark-1:#694663;--deon-mark-2:#79582e;
}
:root {
  --bg:var(--deon-paper);--ink:var(--deon-ink);--muted:var(--deon-secondary-ink);
  --gold:var(--deon-accent);--rule:var(--deon-border);
}
body{background:var(--deon-outer);color:var(--deon-ink)}
h1,h2,h3{color:var(--deon-heading)}
a:hover{color:var(--deon-link)}
.eyebrow,.back,.person .player{color:var(--deon-link)}
/* Header and controls follow the selected site-wide palette. */
.site-header{color:var(--deon-ink);background:linear-gradient(180deg,var(--deon-paper),var(--deon-nav));box-shadow:inset 0 -1px 0 var(--deon-border)}
.header{color:var(--deon-ink);background:transparent;border-color:transparent;gap:24px}
.header .brand{color:var(--deon-ink);flex-shrink:0}
.header .brand span{color:var(--deon-accent)}
.header nav{margin-left:auto;color:var(--deon-secondary-ink)}
.header nav a:hover,.header nav [aria-current]{color:var(--deon-ink)}
.header nav [aria-current]:after{background:var(--deon-accent)}
.header a:focus-visible{outline-color:var(--deon-link)}
.deon-theme-switcher{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;background:var(--deon-paper-raised);color:var(--deon-ink);border:1px solid var(--deon-border);border-radius:999px;padding:3px;white-space:nowrap}
.deon-theme-switcher button{appearance:none;border:0;border-radius:999px;background:transparent;color:var(--deon-secondary-ink);font:600 12px/1.2 Arial,sans-serif;letter-spacing:.025em;padding:10px 12px;min-height:40px;cursor:pointer}
.deon-theme-switcher button[aria-pressed='true']{background:var(--deon-accent);color:var(--deon-switch-active-ink)}
.deon-theme-switcher button:focus-visible{outline:2px solid var(--deon-link);outline-offset:3px}
/* Frame sits outside the reading canvas, preserving the painted edges. */
.reading-page{position:relative;isolation:isolate;max-width:1440px;margin:32px auto 0;padding-block:0 34px;--sheet-edge:24px}
.reading-page::before{content:'';position:absolute;z-index:-1;inset:0 calc(-1 * var(--sheet-edge));pointer-events:none;border:1px solid var(--deon-page-border);border-radius:4px;background-color:var(--deon-paper);background-image:var(--deon-soft-wash),var(--deon-texture);background-repeat:no-repeat,repeat;box-shadow:0 22px 75px var(--deon-page-shadow),inset 0 0 0 5px color-mix(in srgb,var(--deon-rule) 7%,transparent)}
.reading-page::after{content:'';position:absolute;z-index:-1;inset:6px calc(6px - var(--sheet-edge));pointer-events:none;border:1px solid color-mix(in srgb,var(--deon-rule) 18%,transparent);border-radius:1px}
/* Other content surfaces share the palette, while texture stays on book pages. */
.content-surface{position:relative;isolation:isolate;min-height:160px}
.content-surface::before{content:'';position:absolute;z-index:-1;inset:24px -24px -28px;background:var(--deon-paper);border-radius:4px;pointer-events:none}
.content-surface:has(.text-page)::before{top:-24px}
.chapter{background:var(--deon-paper-raised);border-color:var(--deon-border)}
a.chapter{color:var(--deon-ink)}
@media(hover:hover) and (pointer:fine){.chapter:hover{border-color:var(--deon-accent);color:var(--deon-ink)}}
/* Cover paintings dissolve into the same surface as the card copy in either theme. */
.cover .art:after{pointer-events:none;background:linear-gradient(to top,var(--deon-paper-raised) 0%,color-mix(in srgb,var(--deon-paper-raised) 0%,transparent) 25%)}
.cover .eyebrow{color:var(--deon-link)}
.cover .brief{color:var(--deon-ink)}
.character-mark{color:var(--deon-mark-0)}
.mark-1{color:var(--deon-mark-1)}
.mark-2{color:var(--deon-mark-2)}
footer{color:var(--deon-secondary-ink);border-color:var(--deon-border)}
/* Applied by the existing Markdown renderer to every real narrative H2. */
.story h2.deon-section-heading{position:relative;max-width:none;padding-bottom:14px;border-bottom:1px solid var(--deon-rule);letter-spacing:-.015em;color:var(--deon-accent)}
.story h2.deon-section-heading::after{content:'';position:absolute;right:1px;bottom:-4px;width:6px;height:6px;transform:rotate(45deg);border:1px solid var(--deon-accent);background:var(--deon-paper)}
@media(min-width:980px){.reading-page{width:calc(100% - clamp(24px,5vw,88px))}}
@media(max-width:1000px){.header{gap:16px}.header nav{gap:22px}.deon-theme-switcher button{padding-inline:10px}}
@media(max-width:680px){
 .header{height:auto;min-height:132px;padding-block:14px;display:grid;grid-template-columns:1fr auto;column-gap:14px;row-gap:6px}
 .header .brand{grid-column:1;grid-row:1}
 .header .deon-theme-switcher{grid-column:2;grid-row:1}
 .header nav{grid-column:1/-1;grid-row:2;margin:0;justify-content:space-between;gap:16px}
 .header nav a{min-height:44px;display:flex;align-items:center;padding-block:10px}
 .deon-theme-switcher button{font-size:11px;padding-inline:10px}
 .reading-page{--sheet-edge:12px;margin-top:18px;padding-bottom:24px}
 .reading-page::before{border-radius:2px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
 .reading-page::after{inset:4px calc(4px - var(--sheet-edge))}
 .content-surface::before{inset:18px -12px -22px;border-radius:2px}
}
@media print{.deon-theme-switcher{display:none}.reading-page::before{box-shadow:none;background-image:none}.reading-page::after{display:none}}

/* Arabic section numbering is generated from each chapter’s existing headings. */
.section-number{font-size:.68em;font-variant-numeric:lining-nums tabular-nums;vertical-align:.07em;margin-right:.18em}
