:root {
  --pm-bg: #07100e;
  --pm-bg-soft: #0d1916;
  --pm-panel: rgba(17, 31, 27, 0.88);
  --pm-panel-solid: #11201c;
  --pm-cream: #f8f0dd;
  --pm-text: #d3d8cf;
  --pm-muted: #9fac9f;
  --pm-gold: #e5bd69;
  --pm-gold-bright: #f6d98d;
  --pm-line: rgba(229, 189, 105, 0.22);
  --pm-green: #6f957b;
  --pm-danger: #d59a88;
  --pm-shadow: 0 26px 80px rgba(0, 0, 0, 0.36);
  --pm-radius: 24px;
  --pm-header: 72px;
  color-scheme: dark;
}

* { box-sizing: border-box; }

html {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--pm-header) + 24px);
}

body.pm-page {
  min-width: 0;
  margin: 0;
  overflow-x: clip;
  color: var(--pm-text);
  background:
    radial-gradient(circle at 15% 12%, rgba(229, 189, 105, 0.09), transparent 30rem),
    radial-gradient(circle at 85% 45%, rgba(87, 129, 97, 0.09), transparent 34rem),
    var(--pm-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

body.menu-open { overflow: hidden; }

a { color: inherit; }
button, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }

:focus-visible {
  outline: 3px solid var(--pm-gold-bright);
  outline-offset: 4px;
}

.pm-skip {
  position: fixed;
  z-index: 1000;
  left: 16px;
  top: -80px;
  padding: 12px 18px;
  color: #08100e;
  background: var(--pm-gold-bright);
  border-radius: 12px;
  font-weight: 800;
  transition: top 160ms ease;
}

.pm-skip:focus { top: 12px; }

.pm-icon {
  width: 1.4em;
  height: 1.4em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-header {
  position: sticky;
  z-index: 500;
  top: 0;
  min-height: var(--pm-header);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(7, 16, 14, 0.88);
  backdrop-filter: blur(18px);
}

.pm-header__inner {
  width: min(1240px, calc(100% - 36px));
  min-height: var(--pm-header);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pm-brand {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--pm-cream);
  text-decoration: none;
}

.pm-brand__mark {
  width: 42px;
  height: 42px;
  color: var(--pm-gold);
}

.pm-brand__copy { min-width: 0; display: grid; line-height: 1.05; }
.pm-brand__umbrella { color: var(--pm-gold); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.17em; text-transform: uppercase; }
.pm-brand__temple { margin-top: 4px; color: var(--pm-cream); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
.pm-brand__vi { margin-top: 3px; color: var(--pm-muted); font-size: 0.66rem; letter-spacing: 0.04em; }

.pm-nav { display: flex; align-items: center; gap: 6px; }
.pm-nav a, .pm-nav summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border-radius: 999px;
  color: var(--pm-text);
  text-decoration: none;
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 700;
}
.pm-nav a:hover, .pm-nav a[aria-current="page"], .pm-nav summary:hover { color: var(--pm-cream); background: rgba(255,255,255,0.07); }
.pm-nav details { position: relative; }
.pm-nav summary { list-style: none; }
.pm-nav summary::-webkit-details-marker { display: none; }
.pm-nav__library {
  position: absolute;
  top: 50px;
  right: 0;
  width: 230px;
  padding: 10px;
  border: 1px solid var(--pm-line);
  border-radius: 16px;
  background: #0c1714;
  box-shadow: var(--pm-shadow);
}
.pm-nav__library a { width: 100%; border-radius: 10px; }

.pm-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid var(--pm-line);
  border-radius: 50%;
  color: var(--pm-cream);
  background: rgba(255,255,255,0.04);
  cursor: pointer;
}

.pm-mobile-menu {
  position: fixed;
  z-index: 700;
  inset: var(--pm-header) 0 0;
  overflow-y: auto;
  padding: 26px 20px calc(112px + env(safe-area-inset-bottom));
  background: rgba(7, 16, 14, 0.98);
}
.pm-mobile-menu[hidden] { display: none; }
.pm-mobile-menu__inner { width: min(520px, 100%); margin: 0 auto; display: grid; gap: 10px; }
.pm-mobile-menu a {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  color: var(--pm-cream);
  text-decoration: none;
  font-weight: 700;
}
.pm-mobile-menu .pm-menu-label { margin: 18px 0 2px; color: var(--pm-gold); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }

.pm-main { min-height: 60vh; }
.pm-wrap { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }

.pm-hero {
  position: relative;
  min-height: min(760px, calc(100svh - var(--pm-header)));
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
}
.pm-hero__media, .pm-hero__shade { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.pm-hero__media { object-fit: cover; object-position: center 50%; }
.pm-hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(4,12,10,.97) 0%, rgba(4,12,10,.78) 44%, rgba(4,12,10,.12) 78%),
    linear-gradient(0deg, rgba(4,12,10,.96), transparent 55%);
}
.pm-hero__inner { width: min(1160px, calc(100% - 40px)); margin: 0 auto; padding: 70px 0 52px; }
.pm-hero__copy { max-width: 690px; }
.pm-eyebrow { color: var(--pm-gold); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.pm-hero h1, .pm-display {
  margin: 12px 0 0;
  color: var(--pm-cream);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 9vw, 7.7rem);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.88;
  text-wrap: balance;
}
.pm-hero__vi { margin: 18px 0 0; color: var(--pm-gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 3vw, 2.35rem); }
.pm-location { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: #e4e7e1; font-size: 0.9rem; font-weight: 700; }
.pm-lede { max-width: 640px; margin: 22px 0 0; color: #e0e4de; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.75; }
.pm-concept-label {
  position: absolute;
  top: 22px;
  right: max(20px, calc((100vw - 1160px) / 2));
  max-width: 260px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  color: #f4f0e8;
  background: rgba(5,12,10,.76);
  font-size: 0.69rem;
  line-height: 1.35;
  text-align: center;
}

.pm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.pm-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 21px;
  border: 1px solid var(--pm-gold);
  border-radius: 999px;
  color: #07100e;
  background: var(--pm-gold);
  text-decoration: none;
  cursor: pointer;
  font-weight: 800;
  transition: transform 160ms ease, background 160ms ease;
}
.pm-button:hover { transform: translateY(-2px); background: var(--pm-gold-bright); }
.pm-button--quiet { color: var(--pm-cream); background: rgba(7,16,14,.56); border-color: rgba(255,255,255,.26); }

.pm-status-rail { position: relative; z-index: 2; margin-top: -28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pm-status-card, .pm-card, .pm-panel {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--pm-radius);
  background: var(--pm-panel);
  box-shadow: 0 14px 45px rgba(0,0,0,.2);
}
.pm-status-card { min-width: 0; padding: 26px; }
.pm-status-card .pm-icon { color: var(--pm-gold); font-size: 1.35rem; }
.pm-status-card h2, .pm-status-card h3, .pm-card h3 { margin: 14px 0 8px; color: var(--pm-cream); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.pm-status-card p, .pm-card p { margin: 0; color: var(--pm-muted); line-height: 1.7; }
.pm-status-tag { color: var(--pm-green); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.pm-section { padding: clamp(72px, 10vw, 120px) 0; }
.pm-section--tight { padding-top: 42px; }
.pm-section--tint { border-block: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.025); }
.pm-section__head { max-width: 740px; margin-bottom: 34px; }
.pm-section h2 { margin: 10px 0 14px; color: var(--pm-cream); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 5vw, 4.5rem); font-weight: 400; line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
.pm-section__intro { margin: 0; color: var(--pm-muted); font-size: 1.04rem; line-height: 1.8; }
.pm-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.pm-card { min-width: 0; padding: 28px; }
.pm-card .pm-icon { color: var(--pm-gold); font-size: 1.4rem; }
.pm-card__link { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; color: var(--pm-gold-bright); text-decoration: none; font-weight: 800; }

.pm-split { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(30px, 7vw, 80px); align-items: center; }
.pm-book-cover {
  position: relative;
  aspect-ratio: .72;
  width: min(350px, 100%);
  display: grid;
  place-items: center;
  padding: 34px;
  overflow: hidden;
  border: 1px solid rgba(255,226,155,.36);
  border-radius: 8px 18px 18px 8px;
  background: radial-gradient(circle at 50% 34%, #f4ca6b 0 7%, transparent 7.5%), linear-gradient(160deg,#6c2425,#9d3b2a 44%,#251415);
  box-shadow: -16px 24px 60px rgba(0,0,0,.42), inset 8px 0 14px rgba(0,0,0,.25);
}
.pm-book-cover::after { position: absolute; content:""; width: 150%; aspect-ratio:1; bottom:-95%; border:1px solid rgba(255,225,150,.3); border-radius:50%; }
.pm-book-cover__text { position: relative; z-index:1; color:#fff0c8; text-align:center; }
.pm-book-cover__text strong { display:block; font-family:Georgia,serif; font-size:clamp(2rem,5vw,3.8rem); font-weight:400; line-height:.95; }
.pm-book-cover__text span { display:block; margin-top:18px; color:#f1cc83; font-size:.7rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.pm-theme-links { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 0; }
.pm-theme-links a { min-height:40px; display:inline-flex; align-items:center; padding:0 13px; border:1px solid var(--pm-line); border-radius:999px; color:var(--pm-text); text-decoration:none; font-size:.78rem; }

.pm-tabs { display:none; gap:8px; margin-bottom:16px; overflow-x:auto; padding:3px; scrollbar-width:none; }
.pm-tabs::-webkit-scrollbar { display:none; }
.pm-js .pm-tabs { display:flex; }
.pm-tab {
  min-height:46px;
  flex:0 0 auto;
  padding:0 18px;
  border:1px solid var(--pm-line);
  border-radius:999px;
  color:var(--pm-text);
  background:transparent;
  cursor:pointer;
  font-weight:800;
}
.pm-tab[aria-selected="true"] { color:#07100e; background:var(--pm-gold); }
.pm-tab-panel { padding:clamp(26px,5vw,48px); }
.pm-tab-panel h3 { margin:0 0 10px; color:var(--pm-cream); font-family:Georgia,serif; font-size:clamp(1.8rem,4vw,3rem); font-weight:400; }
.pm-tab-panel p { max-width:760px; margin:0; color:var(--pm-muted); }

.pm-truth-details { margin-top:18px; border:1px solid var(--pm-line); border-radius:18px; background:rgba(255,255,255,.025); }
.pm-truth-details summary { min-height:54px; display:flex; align-items:center; gap:10px; padding:0 18px; color:var(--pm-cream); cursor:pointer; font-weight:800; }
.pm-truth-details__body { padding:0 20px 22px; color:var(--pm-muted); }

.pm-reader { width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:60px 0 120px; }
.pm-reader-hero { display:grid; grid-template-columns:minmax(220px,.58fr) 1.42fr; gap:clamp(32px,7vw,78px); align-items:center; }
.pm-reader-hero h1 { margin:10px 0 12px; color:var(--pm-cream); font-family:Georgia,serif; font-size:clamp(3rem,7vw,6.4rem); font-weight:400; line-height:.93; letter-spacing:-.04em; }
.pm-attribution { color:var(--pm-gold-bright); font-weight:700; }
.pm-source-note { margin-top:26px; padding:22px 24px; border-left:3px solid var(--pm-gold); color:var(--pm-muted); background:rgba(255,255,255,.03); }
.pm-source-note strong { color:var(--pm-cream); }

.pm-reader-tools { position:sticky; z-index:80; top:calc(var(--pm-header) + 8px); margin:28px 0; display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px; border:1px solid var(--pm-line); border-radius:18px; background:rgba(8,18,15,.94); backdrop-filter:blur(16px); }
.pm-tool { min-height:44px; padding:0 14px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:var(--pm-text); background:rgba(255,255,255,.04); cursor:pointer; font-weight:750; }
.pm-tool:hover, .pm-tool[aria-pressed="true"] { color:#07100e; background:var(--pm-gold); border-color:var(--pm-gold); }
.pm-reader-status { margin-left:auto; color:var(--pm-muted); font-size:.78rem; }
.pm-reading-progress { position:fixed; z-index:900; inset:0 auto auto 0; width:0; height:3px; background:linear-gradient(90deg,#bd842d,#f7dc96); }

.pm-reader-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:clamp(28px,6vw,72px); align-items:start; }
.pm-toc { position:sticky; top:calc(var(--pm-header) + 90px); max-height:calc(100vh - var(--pm-header) - 110px); overflow:auto; padding:10px; border:1px solid rgba(255,255,255,.07); border-radius:16px; scrollbar-width:none; }
.pm-toc::-webkit-scrollbar { display:none; }
.pm-toc a { min-height:42px; display:flex; align-items:center; padding:7px 10px; border-radius:10px; color:var(--pm-muted); text-decoration:none; font-size:.78rem; line-height:1.3; }
.pm-toc a:hover, .pm-toc a[aria-current="location"] { color:var(--pm-cream); background:rgba(229,189,105,.12); }
.pm-chapter { margin:0 0 76px; scroll-margin-top:160px; }
.pm-chapter__number { color:var(--pm-gold); font-size:.7rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.pm-chapter h2 { margin:8px 0 5px; color:var(--pm-cream); font-family:Georgia,serif; font-size:clamp(2.15rem,5vw,3.8rem); font-weight:400; line-height:1.05; }
.pm-chapter__sub { color:var(--pm-muted); font-style:italic; }
.pm-chapter__body { --reader-size:1.06rem; max-width:760px; margin-top:26px; }
.pm-chapter__body p { margin:0 0 1.25em; color:#d0d6cf; font-size:var(--reader-size); line-height:1.92; }
.pm-key-ideas { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.pm-key-ideas span { padding:6px 10px; border-radius:999px; color:#c9d5ca; background:rgba(111,149,123,.12); font-size:.74rem; }
.pm-chapter-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.pm-mark[aria-pressed="true"] { color:#07100e; background:var(--pm-green); border-color:var(--pm-green); }
.pm-reflection { margin-top:18px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:rgba(255,255,255,.025); }
.pm-reflection summary { min-height:50px; display:flex; align-items:center; gap:9px; padding:0 16px; color:var(--pm-cream); cursor:pointer; font-weight:800; }
.pm-reflection__body { padding:0 16px 18px; }
.pm-reflection label { display:block; color:var(--pm-gold-bright); font-size:.82rem; font-weight:800; }
.pm-reflection textarea { width:100%; min-height:130px; margin:10px 0; resize:vertical; padding:13px; border:1px solid rgba(255,255,255,.15); border-radius:12px; color:var(--pm-cream); background:#091310; line-height:1.6; }
.pm-reflection-note { color:var(--pm-muted); font-size:.76rem; }
.pm-chapter-nav { margin-top:24px; display:flex; justify-content:space-between; gap:12px; }
.pm-chapter-nav a { min-height:44px; display:inline-flex; align-items:center; color:var(--pm-gold-bright); text-decoration:none; font-weight:800; }

.pm-visit { display:grid; grid-template-columns:1.2fr .8fr; gap:24px; padding:clamp(28px,5vw,54px); border:1px solid var(--pm-line); border-radius:var(--pm-radius); background:linear-gradient(135deg,rgba(229,189,105,.1),rgba(17,31,27,.92)); }
.pm-visit h2, .pm-panel > h2 { margin:8px 0 12px; color:var(--pm-cream); font-family:Georgia,serif; font-size:clamp(1.8rem,4vw,3rem); font-weight:400; line-height:1.1; }

.pm-footer { padding:40px 0 calc(40px + env(safe-area-inset-bottom)); border-top:1px solid rgba(255,255,255,.07); }
.pm-footer__inner { width:min(1160px,calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:1.4fr .6fr; gap:30px; }
.pm-footer__title { color:var(--pm-cream); font-family:Georgia,serif; font-size:1.35rem; }
.pm-footer__vi { color:var(--pm-gold); }
.pm-footer p { max-width:610px; margin:9px 0 0; color:var(--pm-muted); font-size:.84rem; }
.pm-footer__links { display:flex; flex-wrap:wrap; align-content:start; justify-content:flex-end; gap:8px 18px; }
.pm-footer__links a { min-height:40px; display:inline-flex; align-items:center; color:var(--pm-text); text-decoration:none; font-weight:700; font-size:.82rem; }

.pm-mobile-dock { display:none; }
.pm-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.pm-storage-message { min-height:1.4em; color:var(--pm-muted); font-size:.75rem; }
.reader-focus .pm-header, .reader-focus .pm-footer, .reader-focus .pm-mobile-dock, .reader-focus .pm-reader-hero, .reader-focus .pm-source-note { display:none; }
.reader-focus .pm-reader { padding-top:16px; }
.reader-focus .pm-reader-tools { top:8px; }

@media (max-width: 980px) {
  .pm-js .pm-nav { display:none; }
  .pm-js .pm-menu-toggle { display:grid; }
  .pm-split, .pm-reader-hero { grid-template-columns:1fr; }
  .pm-book-cover { width:min(290px,78%); margin:0 auto; }
  .pm-reader-layout { grid-template-columns:1fr; }
  .pm-toc { position:static; display:flex; max-height:none; overflow-x:auto; }
  .pm-toc a { flex:0 0 auto; max-width:190px; }
}

@media (max-width: 760px) {
  :root { --pm-header:64px; }
  body.pm-page { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .pm-header__inner { width:calc(100% - 24px); gap:8px; }
  html:not(.pm-js) .pm-nav { display:none; }
  .pm-brand { gap:8px; }
  .pm-brand__mark { width:36px; height:36px; }
  .pm-brand__umbrella { font-size:.75rem; letter-spacing:.11em; }
  .pm-brand__temple { font-size:.88rem; }
  .pm-brand__vi { font-size:.75rem; }
  .pm-hero { min-height:calc(100svh - var(--pm-header)); align-items:end; }
  .pm-hero__shade { background:linear-gradient(0deg,rgba(4,12,10,.98) 0%,rgba(4,12,10,.72) 58%,rgba(4,12,10,.25)); }
  .pm-hero__media { object-position:66% center; }
  .pm-hero__inner { width:calc(100% - 28px); padding:128px 0 80px; }
  .pm-hero h1 { font-size:clamp(3.25rem,15vw,4.5rem); }
  .pm-hero__vi { font-size:1.55rem; }
  .pm-concept-label { top:12px; right:14px; max-width:205px; font-size:.62rem; }
  .pm-actions { align-items:stretch; }
  .pm-actions .pm-button { flex:1 1 100%; }
  .pm-wrap, .pm-reader { width:calc(100% - 28px); }
  .pm-status-rail { margin-top:14px; grid-template-columns:1fr; }
  .pm-tabs { overflow-x:auto; }
  .pm-js .pm-tabs { display:flex; }
  .pm-tab { flex:0 0 auto; max-width:min(18rem,82vw); padding:8px 14px; font-size:.76rem; line-height:1.25; white-space:normal; overflow-wrap:anywhere; }
  .pm-display { font-size:clamp(2.65rem,13vw,4.5rem); line-height:.94; letter-spacing:-.03em; overflow-wrap:anywhere; }
  .pm-grid { grid-template-columns:1fr; }
  .pm-section { padding:72px 0; }
  .pm-section h2 { font-size:clamp(2.2rem,11vw,3.2rem); }
  .pm-visit, .pm-footer__inner { grid-template-columns:1fr; }
  .pm-footer__links { justify-content:flex-start; }
  .pm-mobile-dock {
    position:fixed;
    z-index:600;
    inset:auto 0 0;
    min-height:calc(66px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:5px 8px env(safe-area-inset-bottom);
    border-top:1px solid rgba(255,255,255,.1);
    background:rgba(7,16,14,.96);
    backdrop-filter:blur(18px);
  }
  .pm-mobile-dock a { min-width:0; min-height:56px; display:grid; place-items:center; align-content:center; gap:2px; color:var(--pm-muted); text-decoration:none; font-size:.64rem; font-weight:750; }
  .pm-mobile-dock a[aria-current="page"] { color:var(--pm-gold-bright); }
  .pm-mobile-dock .pm-icon { font-size:1.1rem; }
  .pm-reader { padding-top:38px; }
  .pm-reader-hero h1 { font-size:clamp(3rem,15vw,4.5rem); }
  .pm-reader-tools { position:static; }
  .pm-reader-status { width:100%; margin-left:0; text-align:center; }
  .pm-chapter { margin-bottom:64px; scroll-margin-top:calc(var(--pm-header) + 16px); }
  .pm-chapter h2 { font-size:clamp(2rem,10vw,3rem); }
  .reader-focus { padding-bottom:0!important; }
  .reader-focus .pm-mobile-menu { display:none; }
}

@media (max-width: 360px) {
  .pm-brand__mark { width:32px; height:32px; }
  .pm-brand__temple { font-size:.8rem; }
  .pm-brand__umbrella, .pm-brand__vi { font-size:.75rem; }
  .pm-menu-toggle { width:44px; height:44px; }
  .pm-concept-label { top:8px; }
  .pm-hero__inner { padding-top:65px; }
  .pm-lede { margin-top:16px; font-size:.94rem; line-height:1.6; }
  .pm-actions { margin-top:18px; gap:8px; }
  .pm-status-card, .pm-card { padding:22px; }
}

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

@media print {
  .pm-header, .pm-footer, .pm-mobile-dock, .pm-reader-tools, .pm-reflection, .pm-chapter-actions { display:none!important; }
  body.pm-page { color:#111; background:#fff; }
  .pm-reader { width:100%; padding:0; }
  .pm-reader-layout { display:block; }
  .pm-toc { position:static; border:0; }
  .pm-chapter[hidden] { display:block!important; }
  .pm-chapter { break-inside:avoid; }
  .pm-chapter h2, .pm-reader-hero h1 { color:#111; }
  .pm-chapter__body p, .pm-source-note { color:#333; }
}
