/* trace — shared editorial identity. Loaded after each volume's own design. */
:root { --trace-paper:#f2eee6; --trace-ink:#292721; --trace-copper:#865039; --trace-line:rgba(55,45,34,.19); }
[data-trace-edition] [data-header], [data-trace-edition] [data-header].scrolled {
 display:flex; gap:30px; height:88px; padding:0 var(--side); color:var(--trace-ink); background:rgba(242,238,230,.96); border-bottom:1px solid var(--trace-line); backdrop-filter:blur(16px);
}
[data-trace-edition] [data-header] .volume-switch,
[data-trace-edition] [data-header] .volume-nav,
[data-trace-edition] [data-header] .menu-button { display:none!important; }
[data-trace-edition] .trace-brand { display:flex; flex:none; align-items:center; gap:13px; white-space:nowrap; letter-spacing:.04em; }
[data-trace-edition] .trace-brand .trace-monogram { display:block; width:auto; height:auto; padding:0 12px 3px 0; border:0; border-right:1px solid var(--trace-line); border-radius:0; background:none; color:var(--trace-copper); font-family:Georgia,serif; font-size:41px; font-style:italic; line-height:1; }
[data-trace-edition] .trace-brand .trace-brand-text { display:block; width:auto; height:auto; border:0; border-radius:0; font-size:17px; font-family:var(--serif); font-weight:500; line-height:1.4; }
.trace-brand-text small { display:block; margin-top:5px; font-family:var(--sans); font-size:8px; font-weight:400; letter-spacing:.12em; }
.trace-brand-text i { margin-left:5px; color:var(--trace-copper); font-family:Georgia,serif; font-size:12px; letter-spacing:0; }
[data-trace-edition] [data-header] .desktop-nav,[data-trace-edition] [data-header] .page-nav { margin-left:auto; gap:28px; font-size:12px; }
[data-trace-edition] [data-header] a:hover { color:var(--trace-copper); }
[data-trace-edition] [data-header] .desktop-nav a.is-active { color:var(--trace-copper); }
.atlas-menu-trigger { display:flex; align-items:center; flex:none; gap:16px; margin-left:auto; padding:10px 0 10px 24px; border:0; border-left:1px solid var(--trace-line); background:none; font-size:12px; cursor:pointer; }
.atlas-menu-trigger>span:first-child { color:var(--trace-copper); }
.atlas-menu-trigger>span:last-child { font-size:15px; }
[data-trace-edition] .atlas-directory { inset:0; width:min(1200px,calc(100% - 64px)); max-width:none; max-height:calc(100svh - 64px); margin:auto; padding:32px 48px 40px; color:var(--trace-ink); background:var(--trace-paper); border:1px solid var(--trace-line); border-radius:0; box-shadow:0 25px 100px #0004; overflow:auto; overscroll-behavior:contain; }
.atlas-directory::backdrop { background:rgba(20,19,16,.65); backdrop-filter:blur(7px); }
.atlas-directory[open] { animation:atlas-enter .25s ease-out; }
.atlas-directory-top { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--trace-line); padding-bottom:20px; font-size:10px; letter-spacing:.15em; }
.atlas-directory-close { display:flex; align-items:center; gap:20px; min-height:44px; padding:0 8px; border:0; background:none; font-size:13px; cursor:pointer; }
.atlas-directory-close span { font-size:28px; font-weight:300; }
.atlas-directory-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; padding:34px 0; }
.atlas-directory-heading h2 { margin:0; font-family:var(--serif); font-size:42px; font-weight:400; line-height:1.3; }
.atlas-directory-heading em { font-style:normal; color:var(--trace-copper); }
.atlas-directory-heading p { margin:0 0 4px; font-size:12px; line-height:1.9; color:#686158; }
.atlas-volumes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:30px; }
.atlas-volumes a { display:grid; grid-template-columns:24px 1fr 16px; align-items:center; column-gap:10px; padding:15px 0; border-top:1px solid var(--trace-line); transition:color .2s,padding .2s; }
.atlas-volumes a>span { grid-row:1/3; font-size:9px; color:var(--trace-copper); }
.atlas-volumes strong { font-family:var(--serif); font-size:19px; font-weight:400; }
.atlas-volumes small { grid-column:2; font-size:9px; color:#71695d; }
.atlas-volumes b { grid-column:3; grid-row:1/3; font-weight:400; color:var(--trace-copper); }
.atlas-volumes a:hover,.atlas-volumes a[aria-current] { color:var(--trace-copper); padding-left:8px; background:#86503908; }
.atlas-page-index { margin-top:26px; padding-top:20px; border-top:1px solid var(--trace-ink); }
.atlas-page-index p { font-size:10px; color:#71695d; }
.atlas-page-index nav { display:flex; flex-wrap:wrap; gap:8px 25px; }
.atlas-page-index a { display:flex; align-items:center; gap:18px; min-height:44px; font-size:12px; }
.atlas-page-index a:hover { color:var(--trace-copper); }
body.atlas-directory-open { overflow:hidden!important; }
[data-trace-edition] .trace-colophon { display:flex; grid-column:1/-1; align-items:center; justify-content:space-between; gap:20px; width:100%; margin-top:40px; padding-top:30px; border-top:1px solid currentColor; }
.trace-colophon>a:first-child { display:flex; align-items:baseline; gap:24px; font-family:Georgia,serif; font-size:42px; font-style:italic; }
.trace-colophon span { font-family:var(--sans); font-size:11px; font-style:normal; opacity:.7; }
.trace-colophon>a:last-child { font-size:11px; }
.atlas-resume { position:fixed; z-index:80; right:24px; bottom:24px; display:flex; align-items:center; gap:22px; max-width:calc(100vw - 32px); padding:13px 16px; color:var(--trace-ink); background:var(--trace-paper); border:1px solid var(--trace-line); box-shadow:0 4px 25px #0001; font-size:12px; }
.atlas-resume a { border-bottom:1px solid var(--trace-copper); padding:7px 0; }
.atlas-resume button { min-width:36px; min-height:36px; border:0; background:none; cursor:pointer; font-size:20px; }
.atlas-resume[hidden] { display:none; }
@keyframes atlas-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
/* The western volume cover and reading surface. */
[data-trace-edition="western"] { --paper:#f2eee6; --paper-deep:#e7e0d4; --white:#fffaf2; --ink:#292721; --muted:#686158; --night:#23241f; --night-soft:#2c2d27; --blue:#865039; --blue-light:#d7af8d; }
[data-trace-edition="western"] .hero { min-height:min(880px,100svh); margin-top:88px; color:var(--ink); background:#e9e3d8; }
[data-trace-edition="western"] .hero::before { display:none; }
[data-trace-edition="western"] .hero-image-wrap { top:0; width:58%; height:100%; }
[data-trace-edition="western"] .hero-image-wrap::after { display:none; }
[data-trace-edition="western"] .hero-image { height:110%; object-position:50% 35%; filter:grayscale(1) sepia(.23) contrast(.88) brightness(1.3); opacity:.83; mix-blend-mode:multiply; }
[data-trace-edition="western"] .hero-veil { background:linear-gradient(90deg,#e9e3d8 0%,#e9e3d8db 14%,#e9e3d830 44%,transparent 70%),linear-gradient(0deg,#e9e3d8aa,transparent 25%); }
[data-trace-edition="western"] .hero-copy { width:min(760px,65vw); padding:66px 0 110px var(--side); }
[data-trace-edition="western"] .hero-kicker { margin-bottom:38px; color:var(--blue); font-size:10px; font-weight:500; letter-spacing:.18em; }
[data-trace-edition="western"] .hero h1 { max-width:none; font-size:clamp(58px,6.4vw,102px); line-height:1.15; letter-spacing:-.06em; font-weight:400; }
[data-trace-edition="western"] .hero h1>span { display:block; margin:20px 0 0 5px; font-family:Georgia,serif; font-size:12px; letter-spacing:.52em; }
[data-trace-edition="western"] .hero-thesis { margin:42px 0 0; font-family:var(--serif); font-size:clamp(25px,2.5vw,38px); font-weight:400; line-height:1.6; letter-spacing:.025em; }
[data-trace-edition="western"] .hero-intro { margin-top:24px; max-width:430px; color:#5d594f; font-size:14px; line-height:1.95; }
[data-trace-edition="western"] .hero-actions { display:flex; flex-direction:row; align-items:center; gap:28px; margin-top:32px; }
[data-trace-edition="western"] .hero .primary-action { color:var(--white); background:var(--ink); min-height:54px; padding:0 24px; font-size:12px; font-weight:400; }
[data-trace-edition="western"] .hero .primary-action:hover { background:var(--blue); }
[data-trace-edition="western"] .text-action { color:var(--ink); border-color:#7f7465; font-size:12px; }
[data-trace-edition="western"] .hero-caption { bottom:32px; color:#39382f; padding:8px 12px; background:#eee9dfd9; }
[data-trace-edition="western"] .hero-caption span { color:var(--blue); }
[data-trace-edition="western"] .scroll-cue { bottom:35px; color:var(--muted); }
.atlas-reading-strip { display:flex; align-items:center; gap:38px; padding:24px var(--side); border-bottom:1px solid var(--line); font-size:11px; }
.atlas-reading-strip>span { margin-right:auto; color:var(--muted); font-size:9px; letter-spacing:.1em; }
.atlas-reading-strip>a:last-child { margin-left:auto; color:var(--blue); }
.atlas-reading-strip a:hover { text-decoration:underline; text-underline-offset:5px; }
[data-trace-edition="western"] .question-index { padding-top:100px; padding-bottom:110px; }
[data-trace-edition="western"] .question-heading h2 { font-size:clamp(38px,4.2vw,64px); letter-spacing:-.035em; }
[data-trace-edition="western"] .question-list strong { font-size:clamp(20px,2.2vw,32px); font-weight:400; }
[data-trace-edition="western"] .question-list a:hover { color:var(--blue); }
[data-trace-edition="western"] .daily-text blockquote { line-height:1.25; }
[data-trace-edition="western"] .primary-action:hover { background:#703c28; }
[data-trace-edition="western"] .section-label { letter-spacing:.12em; }
[data-trace-edition="western"] .people-tools input:focus { outline-color:var(--blue); }
[data-trace-edition="western"] .hero { min-height:calc(100svh - 88px); }
/* Sub-volume covers retain their own imagery and palette, with space for the masthead. */
[data-trace-edition]:not([data-trace-edition="western"]) .hero { margin-top:88px; }
@media(min-width:1600px) { [data-trace-edition="western"] .hero { min-height:850px; } }
@media(max-width:1100px) {
 [data-trace-edition] [data-header] .desktop-nav,[data-trace-edition] [data-header] .page-nav { display:none; }
 [data-trace-edition="western"] .hero-copy { width:70vw; }
 .atlas-menu-trigger { margin-left:auto; }
}
@media(max-width:700px) {
 [data-trace-edition] [data-header],[data-trace-edition] [data-header].scrolled { height:76px; gap:15px; padding:0 22px; }
 [data-trace-edition] .trace-brand { gap:10px; }
 [data-trace-edition] .trace-brand .trace-monogram { font-size:33px; padding-right:10px; }
 [data-trace-edition] .trace-brand .trace-brand-text { font-size:15px; }
 .trace-brand-text small { font-size:6px; letter-spacing:.08em; }
 .trace-brand-text i { font-size:11px; }
 .atlas-menu-label { display:none; }
 .atlas-menu-trigger { gap:12px; padding-left:15px; font-size:11px; }
 .atlas-menu-trigger>span:first-child { max-width:75px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 [data-trace-edition] .atlas-directory { width:100%; max-height:100svh; height:100svh; padding:20px 22px 36px; border:0; }
 .atlas-directory-heading { display:block; padding:28px 0; }
 .atlas-directory-heading h2 { font-size:34px; }
 .atlas-directory-heading p { margin-top:18px; font-size:11px; }
 .atlas-volumes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .atlas-volumes a { column-gap:5px; grid-template-columns:19px 1fr 12px; }
 .atlas-volumes strong { font-size:16px; }
 .atlas-volumes small { font-size:8px; }
 .atlas-page-index nav { gap:4px 22px; }
 .trace-colophon>a:first-child { align-items:start; flex-direction:column; gap:8px; font-size:38px; }
 .trace-colophon span { max-width:220px; font-size:10px; }
 [data-trace-edition="western"] .hero { margin-top:76px; min-height:calc(100svh - 76px); }
 [data-trace-edition="western"] .hero-image-wrap { width:100%; height:65%; top:0; }
 [data-trace-edition="western"] .hero-image { object-position:65% 30%; height:120%; opacity:.5; }
 [data-trace-edition="western"] .hero-veil { background:linear-gradient(0deg,#e9e3d8,transparent 80%),linear-gradient(90deg,#e9e3d8f2,#e9e3d84d 85%); }
 [data-trace-edition="western"] .hero-copy { width:100%; align-self:center; padding:52px 22px 85px; }
 [data-trace-edition="western"] .hero-kicker { font-size:9px; margin-bottom:32px; letter-spacing:.1em; }
 [data-trace-edition="western"] .hero h1 { font-size:clamp(48px,12vw,76px); letter-spacing:-.06em; }
 [data-trace-edition="western"] .hero h1>span { margin-top:16px; font-size:9px; letter-spacing:.45em; }
 [data-trace-edition="western"] .hero-thesis { margin-top:42px; font-size:27px; line-height:1.55; }
 [data-trace-edition="western"] .hero-intro { margin-top:24px; font-size:12px; max-width:320px; }
 [data-trace-edition="western"] .hero-actions { margin-top:30px; gap:24px; }
 [data-trace-edition="western"] .hero .primary-action { min-height:50px; padding:0 16px; gap:22px; }
 [data-trace-edition="western"] .hero-caption { display:none; }
 [data-trace-edition="western"] .scroll-cue { bottom:24px; font-size:8px; }
 .atlas-reading-strip { flex-wrap:wrap; gap:16px 24px; padding:22px; font-size:10px; }
 .atlas-reading-strip>span { flex:1 0 100%; }
 .atlas-reading-strip>a:last-child { margin-left:0; }
 [data-trace-edition="western"] .question-index { padding-top:65px; padding-bottom:70px; }
 [data-trace-edition="western"] .question-list strong { font-size:21px; }
 [data-trace-edition]:not([data-trace-edition="western"]) .hero { margin-top:76px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
 [data-trace-edition] .reveal,[data-trace-edition] .load-reveal,[data-trace-edition] .reveal-on-load { opacity:1!important; transform:none!important; }
}
/* Let long headings reflow before fixed grid minima overflow on tablets. */
@media(max-width:980px) {
 [data-trace-edition="western"] .timeline-title-row { grid-template-columns:minmax(0,1fr); gap:25px; }
}
@media(min-width:761px) and (max-width:1050px) {
 [data-trace-edition="world"] .volume-button { grid-template-columns:34px minmax(100px,.6fr) minmax(0,1fr) 100px 18px; gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
 [data-trace-edition="western"] .hero-image { transform:none!important; }
}
/* Reading room entry points and shareable archives. */
.atlas-library-link{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px;padding:20px 0;border-top:1px solid var(--trace-ink);font:24px var(--serif);color:var(--trace-copper)}
.atlas-library-link span{font:11px var(--sans);color:var(--trace-ink)}
.reading-room-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:45px 0 55px;padding:36px 0;border-top:1px solid var(--trace-line);border-bottom:1px solid var(--trace-line)}
.reading-room-callout span{font-size:10px;letter-spacing:.14em;color:var(--trace-copper)}
.reading-room-callout h3{font:normal clamp(30px,3vw,46px)/1.4 var(--serif);margin:15px 0}
.reading-room-callout p{font-size:13px;color:var(--muted);margin:0}
.reading-room-callout b{font-size:45px;font-weight:400;color:var(--trace-copper);transition:transform .2s}
.reading-room-callout:hover b{transform:translate(4px,-4px)}
.archive-share-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px 24px;padding:12px 0;margin:15px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:11px/1.6 var(--sans)}
.archive-share-tools button,.archive-share-tools a{min-height:40px;display:inline-flex;align-items:center;color:var(--blue);background:none;border:0;cursor:pointer;padding:0;font:inherit}
.archive-share-tools input{width:100%;flex-basis:100%;padding:10px;border:1px solid var(--line);background:transparent;font-size:11px;color:inherit}
.archive-share-tools input[hidden]{display:none}
.share-feedback{font-size:10px;color:var(--muted)}
.archive-link-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:150;width:max-content;max-width:calc(100vw - 32px);padding:15px 24px;background:var(--trace-ink);color:var(--trace-paper);font:12px/1.8 var(--sans)}
@media(max-width:700px){.atlas-library-link{font-size:22px;align-items:start;flex-direction:column;gap:10px}.reading-room-callout{margin-top:30px;padding:25px 0}.reading-room-callout p{font-size:12px}.reading-room-callout b{font-size:32px}}

/* Keep the atlas quick switch visible on wide screens. It is the fastest way
   to move between volumes, so it should never be hidden behind a dialog. */
[data-trace-edition] [data-header] {
  gap: 16px;
}
[data-trace-edition] [data-header] .volume-switch {
  display: flex !important;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  border-color: var(--trace-line);
  font-size: 9px;
  opacity: .9;
  overflow: hidden;
  white-space: nowrap;
}
[data-trace-edition] [data-header] .volume-switch a {
  flex: 1 1 auto;
  padding: 7px 6px;
  text-align: center;
}
[data-trace-edition] [data-header] .desktop-nav {
  flex: 0 0 auto;
  gap: 16px;
  font-size: 11px;
}
[data-trace-edition] [data-header] .atlas-menu-trigger,
[data-trace-edition] [data-header] .menu-button {
  display: none !important;
}

/* Return the western cover to the darker, image-led surface that made the
   original atlas easy to scan. The trace masthead and reading-room additions
   stay in place above it. */
[data-trace-edition="western"] {
  --paper: #f2eee3;
  --paper-deep: #e8e1d3;
  --white: #fffdf7;
  --ink: #17191a;
  --muted: #555a56;
  --night: #141719;
  --night-soft: #1d2225;
  --line: rgba(23,25,26,.18);
  --line-light: rgba(255,253,247,.2);
  --blue: #2f67ff;
  --blue-light: #98b3ff;
}
[data-trace-edition="western"] .hero {
  min-height: 100svh;
  margin-top: 0;
  color: var(--white);
  background: var(--night);
}
[data-trace-edition="western"] .hero::before { display: block; }
[data-trace-edition="western"] .hero-image-wrap { top: 0; width: 57%; height: 100%; }
[data-trace-edition="western"] .hero-image-wrap::after { display: block; }
[data-trace-edition="western"] .hero-image {
  height: 112%;
  object-position: 52% 28%;
  filter: grayscale(1) contrast(1.07) brightness(.74);
  opacity: 1;
  mix-blend-mode: normal;
}
[data-trace-edition="western"] .hero-veil {
  background: linear-gradient(90deg,var(--night) 0%,rgba(20,23,25,.86) 12%,rgba(20,23,25,.18) 61%,rgba(20,23,25,.1) 100%),linear-gradient(0deg,rgba(20,23,25,.66) 0%,transparent 35%);
}
[data-trace-edition="western"] .hero-copy { width: min(720px,64vw); padding: 128px 0 80px var(--side); }
[data-trace-edition="western"] .hero-kicker { margin-bottom: 25px; color: var(--blue-light); font-size: 11px; letter-spacing: .17em; }
[data-trace-edition="western"] .hero h1 { max-width: 760px; font-size: clamp(52px,5.7vw,88px); line-height: .98; letter-spacing: -.055em; font-weight: 500; }
[data-trace-edition="western"] .hero-intro { margin-top: 34px; max-width: 520px; color: rgba(255,253,247,.72); font-size: clamp(15px,1.35vw,19px); }
[data-trace-edition="western"] .hero-actions { margin-top: 38px; gap: 27px; }
[data-trace-edition="western"] .hero .primary-action { min-height: 52px; padding: 0 20px; color: var(--white); background: var(--blue); font-size: 14px; font-weight: 650; }
[data-trace-edition="western"] .text-action { color: rgba(255,253,247,.76); border-color: rgba(255,253,247,.45); }
[data-trace-edition="western"] .hero-caption { color: rgba(255,253,247,.6); background: transparent; }
[data-trace-edition="western"] .hero-caption span { color: var(--blue-light); }

@media (max-width: 1200px) {
  [data-trace-edition] [data-header] .desktop-nav { display: none; }
  [data-trace-edition] [data-header] .volume-switch { flex: 1 1 auto; }
}
@media (max-width: 1400px) and (min-width: 981px) {
  [data-trace-edition] [data-header] .desktop-nav { display: none; }
  [data-trace-edition] [data-header] .atlas-menu-trigger {
    display: flex !important;
    margin-left: 0;
    gap: 8px;
    padding-left: 12px;
    font-size: 10px;
  }
}
@media (max-width: 1600px) and (min-width: 1401px) {
  [data-trace-edition] [data-header] .desktop-nav { display: none; }
  [data-trace-edition] [data-header] .atlas-menu-trigger {
    display: flex !important;
    margin-left: 0;
    gap: 8px;
    padding-left: 12px;
    font-size: 10px;
  }
}
@media (max-width: 980px) {
  [data-trace-edition] [data-header] .volume-switch { display: none !important; }
  [data-trace-edition] [data-header] .menu-button { display: none !important; }
  [data-trace-edition] [data-header] .atlas-menu-trigger { display: flex !important; }
}
@media (max-width: 700px) {
  [data-trace-edition="western"] .hero { margin-top: 0; min-height: 100svh; }
}
