/* Provenance tokens — compiled from tokens.json (prototype v3, 25 Sep 2026). Paper is the default theme; night via [data-theme="night"] or the .night class in bundle.css. */
:root,[data-theme="paper"]{
  --ink:#13110c;
  --char:#1a1712;
  --char2:#221e18;
  --walnut:#2a2118;
  --rule-night:#3a332b;
  --rule-night-2:#4a4237;
  --cream:#f5efe0;
  --cream2:#ede5d2;
  --cream3:#e2d8c0;
  --paper-rule:#d6cbb0;
  --paper-rule2:#e6dec9;
  --gold:#c9a84c;
  --gold2:#e0c56f;
  --gold3:#9c7e33;
  --smoke:#b9ae98;
  --smoke2:#8c8270;
  --pink:#7a2e2e;
  --desk:#e9e1ce;
  --paper-lead:#5a5044;
  --paper-muted:#7a7060;
  --paper-sub:#6b6258;
  --paper-label:#8a8070;
  --paper-note:#4a4237;
  --paper-prose:#2a241c;
  --paper-code:#9a907e;
  --book-lead:#c9cfdd;
  --surface:var(--cream);
  --surface-2:var(--cream2);
  --rule:var(--paper-rule);
  --rule-soft:var(--paper-rule2);
  --rule-strong:var(--paper-rule);
  --text:var(--ink);
  --text-lead:var(--paper-lead);
  --text-sub:var(--paper-sub);
  --text-muted:var(--paper-muted);
  --text-label:var(--paper-label);
  --text-prose:var(--paper-prose);
  --text-note:var(--paper-note);
  --text-code:var(--paper-code);
  --accent-text:var(--gold3);
  --accent-text-on:var(--gold3);
  --accent-line:var(--gold);
  --button-solid-bg:var(--ink);
  --button-solid-fg:var(--cream);
  --button-outline:var(--gold3);
  --spine-japanese:#1c2744;
  --spine-italian:#5a1f1f;
  --spine-french:#4a1f3c;
  --spine-chinese:#8a2a1e;
  --spine-indian:#a3612a;
  --spine-thai:#1f5a4a;
  --spine-korean:#e6dfcc;
  --spine-levantine:#5a5a2a;
  --spine-turkish:#1f4a5a;
  --spine-soon:#2a241c;
  --shelf-top:#4a3320;
  --shelf-bottom:#2f2012;
  --shelf-edge:#1a1108;
  --plate-highlight:#33302a;
  --plate-mid:#211e19;
  --plate-edge:#161410;
  --plate-surface-top:#2b2117;
  --plate-surface-bottom:#171109;
  --shadow-spine:inset -3px 0 6px rgba(0,0,0,0.4), inset 2px 0 3px rgba(255,255,255,0.06), 3px 0 4px rgba(0,0,0,0.45);
  --shadow-shelf:inset 0 10px 24px rgba(0,0,0,0.45);
  --shadow-bezel:0 0 0 10px #0a0907, 0 0 0 12px #3a332b, 0 30px 80px rgba(0,0,0,0.7);
}
[data-theme="night"]{color-scheme:dark;
  --surface:var(--ink);
  --surface-2:var(--char);
  --rule:var(--rule-night);
  --rule-soft:var(--rule-night);
  --rule-strong:var(--rule-night-2);
  --text:var(--cream);
  --text-lead:var(--smoke);
  --text-sub:var(--smoke);
  --text-muted:var(--smoke2);
  --text-label:var(--smoke2);
  --text-prose:var(--cream);
  --text-note:var(--smoke);
  --text-code:var(--smoke2);
  --accent-text:var(--gold);
  --accent-text-on:var(--gold2);
  --button-solid-bg:var(--gold);
  --button-solid-fg:var(--ink);
  --button-outline:var(--gold);
}
:root{
  --gutter:22px;
  --stack:16px;
  --stack-tight:10px;
  --stack-loose:24px;
  --grid-row:18px;
  --grid-col:14px;
  --row-y:14px;
  --ing-y:13px;
  --rung-y:11px;
  --sense-y:9px;
  --pillar-top:22px;
  --col-quantity:54px;
  --col-numeral:30px;
  --col-contents:36px;
  --col-key:90px;
  --button-pad:13px;
  --note-indent:12px;
  --radius-sharp:2px;
  --radius-icon:8px;
  --radius-seal:50%;
  --radius-bezel:44px;
  --screen:390px;
  --header:60px;
  --tabbar:56px;
  --touch:44px;
  --button:46px;
  --search:50px;
  --drawer:330px;
  --icon:21px;
  --spine:56px;
  --seal:64px;
  --dot:7px;
  --font-display:"Playfair Display", Georgia, "Times New Roman", serif;
  --font-body:"DM Sans", system-ui, -apple-system, sans-serif;
  --font-mono:"DM Mono", ui-monospace, Menlo, monospace;
}
.h1{font-family:var(--font-display);font-size:34px;line-height:1.12;font-weight:500;letter-spacing:-0.005em}
.h1-cover{font-family:var(--font-display);font-size:36px;line-height:1.12;font-weight:500}
.h1-hero{font-family:var(--font-display);font-size:32px;line-height:1.12;font-weight:500}
.h1-sub{font-family:var(--font-display);font-size:26px;line-height:1.12;font-weight:400;font-style:italic}
.h2-pillar{font-family:var(--font-display);font-size:24px;line-height:1.12;font-weight:500}
.drawer-link{font-family:var(--font-display);font-size:24px;line-height:1.12;font-weight:400}
.tier-name{font-family:var(--font-display);font-size:24px;line-height:1.12;font-weight:400}
.brand-mark{font-family:var(--font-display);font-size:24px;line-height:1;font-weight:500}
.h2{font-family:var(--font-display);font-size:23px;line-height:1.12;font-weight:500}
.meta-value{font-family:var(--font-display);font-size:22px;line-height:1;font-weight:500}
.step-numeral{font-family:var(--font-display);font-size:22px;line-height:1.2;font-weight:400;font-style:italic}
.tier-price{font-family:var(--font-display);font-size:22px;line-height:1.12;font-weight:400}
.door-title{font-family:var(--font-display);font-size:21px;line-height:1.2;font-weight:500}
.brand-word{font-family:var(--font-display);font-size:20px;line-height:1;font-weight:500;letter-spacing:0.02em}
.big{font-family:var(--font-display);font-size:20px;line-height:1.2;font-weight:400}
.h3{font-family:var(--font-display);font-size:18px;line-height:1.12;font-weight:500}
.lead{font-family:var(--font-display);font-size:17.5px;line-height:1.45;font-weight:400;font-style:italic}
.entry-title{font-family:var(--font-display);font-size:17px;line-height:1.25;font-weight:400}
.row-title{font-family:var(--font-display);font-size:16.5px;line-height:1.2;font-weight:400}
.door-sub{font-family:var(--font-display);font-size:14px;line-height:1.3;font-weight:400;font-style:italic}
.contents-sub{font-family:var(--font-display);font-size:13.5px;line-height:1.3;font-weight:400;font-style:italic}
.body{font-family:var(--font-body);font-size:15px;line-height:1.55;font-weight:400}
.prose{font-family:var(--font-body);font-size:15px;line-height:1.6;font-weight:400}
.sense{font-family:var(--font-body);font-size:14.5px;line-height:1.5;font-weight:400}
.note{font-family:var(--font-body);font-size:14px;line-height:1.5;font-weight:400}
.small{font-family:var(--font-body);font-size:13.5px;line-height:1.5;font-weight:400}
.fine{font-family:var(--font-body);font-size:12.5px;line-height:1.5;font-weight:400}
.button{font-family:var(--font-mono);font-size:11.5px;line-height:1;font-weight:400;letter-spacing:0.16em}
.canon-note{font-family:var(--font-mono);font-size:11.5px;line-height:1.55;font-weight:400}
.quantity{font-family:var(--font-mono);font-size:12px;line-height:1.4;font-weight:400}
.kbd{font-family:var(--font-mono);font-size:11px;line-height:1.4;font-weight:400;letter-spacing:0.06em}
.eyebrow{font-family:var(--font-mono);font-size:10.5px;line-height:1.4;font-weight:400;letter-spacing:0.18em}
.pillar-numeral{font-family:var(--font-mono);font-size:10.5px;line-height:1.4;font-weight:400;letter-spacing:0.2em}
.tab{font-family:var(--font-mono);font-size:10.5px;line-height:1;font-weight:400;letter-spacing:0.16em}
.toast{font-family:var(--font-mono);font-size:10.5px;line-height:1.4;font-weight:400;letter-spacing:0.14em}
.rung-numeral{font-family:var(--font-mono);font-size:10.5px;line-height:1.4;font-weight:400;letter-spacing:0.1em}
.source{font-family:var(--font-mono);font-size:10.5px;line-height:1.5;font-weight:400;letter-spacing:0.1em}
.label{font-family:var(--font-mono);font-size:9.5px;line-height:1.5;font-weight:400;letter-spacing:0.14em}
.tabbar{font-family:var(--font-mono);font-size:9px;line-height:1.4;font-weight:400;letter-spacing:0.14em}
.spine-count{font-family:var(--font-mono);font-size:9.5px;line-height:1.2;font-weight:400;letter-spacing:0.05em}
.screen-code{font-family:var(--font-mono);font-size:9.5px;line-height:1.4;font-weight:400;letter-spacing:0.16em}
