/* Golden Boundary web edition: quiet reading, no scene or animation dependency. */
.paper-page {
  background: linear-gradient(180deg,#090a12 0%,#0b0d18 45%,#080910 100%);
  --body-copy:#d0d4e1;
  --muted:#b6bdd0;
  font-size:20px;
  line-height:1.75;
  overflow-x:clip;
}
.paper-page p { max-width:none; color:var(--body-copy); }
.paper-page a { text-decoration-thickness:1px; text-underline-offset:.23em; }
.paper-page a:hover { text-decoration-thickness:2px; }
.paper-page a:focus-visible,.paper-page button:focus-visible,.paper-page summary:focus-visible {
  outline:2px solid var(--gold); outline-offset:5px;
}
.paper-page .site-header { max-width:1280px; }
.paper-page .main-nav a,.paper-page .header-github { font-size:15px; }
.paper-page .site-header a[aria-current="page"] { color:var(--green); }
.paper-page .site-header .wordmark { font-size:16px; }
.paper-shell,.paper-footer { width:min(1160px,calc(100% - 100px)); margin-inline:auto; }
.paper-hero { padding:170px 0 66px; border-bottom:1px solid var(--line); }
.paper-hero .eyebrow { color:var(--green); font-size:14px; letter-spacing:.13em; margin-bottom:26px; }
.paper-hero h1 { font-size:clamp(42px,5.8vw,80px); line-height:1.13; font-weight:280; letter-spacing:-.045em; max-width:100%; }
.paper-deck { font-size:clamp(24px,2.8vw,36px); line-height:1.4; letter-spacing:-.025em; margin-top:28px; color:var(--text)!important; }
.paper-intro { max-width:690px!important; margin-top:25px; font-size:20px; line-height:1.65; }
.paper-metadata { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:32px; color:var(--muted); font-size:15px; }
.paper-metadata>*+* { border-left:1px solid var(--line); padding-left:24px; }
.canonical-link { display:inline-flex; align-items:center; gap:24px; font-size:18px; line-height:1.5; color:var(--gold); padding:15px 21px; margin-top:27px; border:1px solid rgba(240,183,80,.45); border-radius:12px; background:rgba(240,183,80,.035); text-decoration:none; }
.canonical-link span { flex-shrink:0; }
.edition-note { border-left:2px solid var(--blue); margin-top:35px; padding:3px 0 3px 24px; max-width:900px; }
.edition-note p { font-size:16px; line-height:1.7; color:var(--muted); }
.edition-note p+p { margin-top:13px; }
.edition-note strong { font-weight:550; }
.edition-note a { color:var(--blue); }
.paper-page code { font: .85em/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; color:var(--text); }
.reading-layout { display:grid; grid-template-columns:228px minmax(0,1fr); gap:64px; align-items:start; margin-top:60px; }
.contents { position:sticky; top:110px; max-height:calc(100svh - 136px); overflow:auto; scrollbar-width:thin; padding:0 12px 14px 0; }
.contents h2 { font-size:16px; line-height:1.5; font-weight:550; letter-spacing:0; margin-bottom:16px; color:var(--text); }
.contents ol { list-style:none; margin:0; padding:0; display:grid; gap:3px; }
.contents a { font-size:15px; line-height:1.45; text-decoration:none; color:var(--muted); }
.contents li a { display:grid; grid-template-columns:24px 1fr; gap:9px; padding:7px 0; border-left:2px solid transparent; padding-left:8px; }
.contents li a>span { font-variant-numeric:tabular-nums; color:#919bb3; font-size:14px; }
.contents li a[aria-current="location"] { color:var(--text); border-left-color:var(--gold); }
.contents li a:hover { color:var(--blue); }
.contents-source { display:block; margin:20px 0 0 10px; color:var(--gold)!important; }
#paper { min-width:0; max-width:780px; }
#paper:focus { outline:none; }
.paper-section { --section-tone:var(--gold); padding-bottom:64px; margin-bottom:58px; border-bottom:1px solid var(--line); scroll-margin-top:115px; }
.accent-green { --section-tone:var(--green); }
.accent-blue { --section-tone:var(--blue); }
.accent-purple { --section-tone:var(--purple); }
.accent-gold { --section-tone:var(--gold); }
.section-kicker { display:flex; gap:16px; align-items:center; color:var(--muted); font-size:14px; font-weight:500; letter-spacing:.09em; line-height:1.5; margin-bottom:20px; }
.section-kicker span:first-child { color:var(--section-tone); min-width:26px; font-variant-numeric:tabular-nums; }
.paper-section h2 { font-size:clamp(30px,3.05vw,43px); line-height:1.2; font-weight:350; letter-spacing:-.035em; color:var(--text); margin-bottom:28px; }
.paper-section>p { margin:0 0 23px; }
.paper-section p { text-wrap:pretty; }
.paper-section .section-lead { color:var(--section-tone); font-size:25px; line-height:1.5; font-weight:350; letter-spacing:-.015em; }
.paper-section strong { color:var(--text); font-weight:550; }
.paper-section strong.green-text { color:var(--green); }
.paper-section strong.blue-text { color:var(--blue); }
.paper-section strong.purple-text { color:var(--purple); }
.paper-section strong.gold-text { color:var(--gold); }
.paper-section a { color:var(--blue); }
.paper-section .rule-note { border-left:3px solid var(--section-tone); padding:8px 0 8px 24px; margin:32px 0; color:var(--text); }
.paper-section .principal-quote,.paper-section .pull-quote { margin:30px 0 35px; padding:6px 0 6px 27px; border-left:3px solid var(--section-tone); }
.paper-section blockquote p { margin:0; font-size:clamp(26px,2.8vw,39px); font-weight:300; letter-spacing:-.028em; line-height:1.4; color:var(--text); text-wrap:balance; }
.paper-section .principal-quote p { color:var(--gold); }
.permission-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:32px 0; padding:22px 0; border-block:1px solid var(--line); }
.permission-flow>div { padding-right:18px; }
.permission-flow>div+div { padding-left:18px; border-left:1px solid var(--line); }
.flow-label { display:block; font-size:19px; font-weight:550; margin-bottom:9px; }
.permission-flow p { font-size:18px; line-height:1.55; }
.bounds-list { display:grid; grid-template-columns:1fr 1fr; margin:28px 0 32px; padding:0; gap:22px 32px; }
.bounds-list>div { padding-top:16px; border-top:1px solid var(--line); }
.bounds-list dt { color:var(--section-tone); font-weight:550; font-size:18px; }
.bounds-list dd { margin:7px 0 0; color:var(--body-copy); font-size:18px; line-height:1.6; }
.technical-note { margin:30px 0; border:1px solid rgba(164,121,239,.36); border-radius:12px; padding:0 23px; background:rgba(164,121,239,.025); }
.technical-note summary { color:var(--purple); font-weight:500; font-size:18px; line-height:1.6; padding:19px 0; cursor:pointer; }
.technical-note[open] summary { border-bottom:1px solid var(--line); }
.technical-note>div { padding:22px 0 4px; }
.technical-note p { font-size:18px; line-height:1.7; margin-bottom:20px; }
.status-table { border-collapse:collapse; width:100%; table-layout:fixed; margin:34px 0 28px; font-size:18px; line-height:1.65; }
.status-table caption { text-align:left; color:var(--muted); font-size:16px; padding-bottom:16px; }
.status-table th,.status-table td { text-align:left; vertical-align:top; padding:20px 0; border-bottom:1px solid var(--line); color:var(--body-copy); }
.status-table thead th { color:var(--text); font-size:16px; font-weight:550; padding:15px 0; border-top:1px solid var(--line); }
.status-table th:first-child { width:190px; padding-right:22px; }
.status-table tbody th { font-size:16px; font-weight:550; letter-spacing:.025em; }
.status-table small { display:block; margin-top:8px; font-size:14px; line-height:1.55; color:var(--muted); letter-spacing:0; font-weight:400; }
.falsifiers { padding:0; margin:28px 0 32px; list-style:none; }
.falsifiers li { padding:18px 0 18px 23px; margin:0; border-left:2px solid rgba(164,121,239,.5); color:var(--body-copy); }
.falsifiers li+li { border-top:1px solid var(--line); }
.falsifiers strong { display:block; margin-bottom:5px; }
.paper-section p.section-source { margin:29px 0 0; padding:0; font-size:15px; line-height:1.7; }
.section-source a { color:var(--muted); }
.source-line { font-size:17px; line-height:1.7; margin-top:24px!important; }
.closing-lines { border-left:3px solid var(--green); margin:34px 0; padding:4px 0 4px 27px; }
.closing-lines p { font-size:clamp(29px,3.1vw,42px); font-weight:320; line-height:1.4; letter-spacing:-.028em; color:var(--text); }
.invitation-links { display:flex; flex-wrap:wrap; gap:12px 25px; margin:30px 0; }
.invitation-links a { font-size:18px; }
.paper-section:last-child { padding-bottom:0; border-bottom:0; margin-bottom:30px; }
.paper-footer { padding:0 0 36px; margin-top:36px; border:0; }
.paper-footer .footer-action { padding:32px 0; margin:0 0 25px; }
.paper-footer .footer-action>p { color:var(--text); }
.paper-footer .footer-meta { display:flex; flex-wrap:wrap; gap:16px 26px; font-size:15px; }
.paper-footer .caption { color:var(--muted); font-size:14px; margin-top:23px; }
@media(max-width:1050px) {
 .reading-layout { grid-template-columns:200px minmax(0,1fr); gap:38px; }
 .contents li a { font-size:14px; padding-block:6px; }
 .paper-shell,.paper-footer { width:calc(100% - 72px); }
 .paper-page .main-nav { gap:18px; }
 .paper-page .site-header { gap:20px; }
 .status-table th:first-child { width:155px; padding-right:16px; }
}
@media(max-width:850px) {
 .paper-hero { padding-top:142px; }
 .reading-layout { display:block; margin-top:35px; }
 .contents { position:static; max-height:none; overflow:visible; padding:0 0 36px; margin-bottom:42px; border-bottom:1px solid var(--line); }
 .contents ol { grid-template-columns:1fr 1fr; gap:2px 24px; }
 .contents li a { font-size:16px; padding-block:8px; }
 .contents-source { margin-top:18px; }
 #paper { max-width:none; }
 .paper-section h2 { font-size:37px; }
 .paper-page .nav-toggle { display:block; margin-left:auto; }
 .paper-page:not(.reading-enhanced) .nav-toggle { display:none; }
 .paper-page .site-header { flex-wrap:wrap; }
 .paper-page .main-nav { order:3; flex-basis:100%; margin:0; flex-wrap:wrap; display:flex; }
 .paper-page.reading-enhanced .main-nav { display:none; }
 .paper-page.reading-enhanced .menu-open .main-nav { display:flex; padding:12px 0 6px; }
 .paper-page:not(.reading-enhanced) .paper-hero { padding-top:185px; }
 .paper-page .header-actions { margin:0; }
}
@media(max-width:600px) {
 .paper-page { font-size:18px; line-height:1.75; }
 .paper-shell,.paper-footer { width:calc(100% - 44px); }
 .paper-page .site-header { left:14px; right:14px; top:12px; padding:10px 13px; gap:14px; }
 .paper-page .wordmark { letter-spacing:.16em; gap:8px; }
 .paper-page .site-header .wordmark { font-size:14px; }
 .paper-page .wordmark img { width:25px; height:25px; }
 .paper-page .header-github { font-size:14px; }
 .paper-hero { padding:129px 0 39px; }
 .paper-hero h1 { font-size:clamp(38px,9.6vw,52px); }
 .paper-hero .eyebrow { font-size:14px; letter-spacing:.08em; line-height:1.7; max-width:280px; margin-bottom:22px; }
 .paper-deck { font-size:25px; line-height:1.45; margin-top:24px; }
 .paper-intro { font-size:19px; line-height:1.65; margin-top:23px; }
 .paper-metadata { gap:8px 16px; font-size:14px; margin-top:26px; }
 .paper-metadata>*+* { padding-left:16px; }
 .canonical-link { font-size:17px; padding:15px 17px; gap:14px; align-items:flex-start; }
 .edition-note { margin-top:28px; padding-left:18px; }
 .edition-note p { font-size:16px; }
 .reading-layout { margin-top:32px; }
 .contents ol { column-gap:12px; }
 .contents li a { grid-template-columns:22px 1fr; gap:6px; font-size:15px; line-height:1.5; }
 .contents li a>span { font-size:14px; }
 .contents { margin-bottom:36px; padding-bottom:28px; }
 .paper-section { padding-bottom:40px; margin-bottom:37px; scroll-margin-top:105px; }
 .section-kicker { gap:10px; font-size:14px; letter-spacing:.06em; margin-bottom:17px; }
 .paper-section h2 { font-size:31px; line-height:1.22; margin-bottom:23px; }
 .paper-section>p { margin-bottom:21px; }
 .paper-section .section-lead { font-size:22px; line-height:1.55; }
 .paper-section .rule-note { padding-left:18px; margin:26px 0; }
 .paper-section .principal-quote,.paper-section .pull-quote { padding-left:18px; margin:26px 0; }
 .paper-section blockquote p { font-size:26px; line-height:1.42; }
 .permission-flow { grid-template-columns:1fr; padding:7px 0; gap:0; }
 .permission-flow>div,.permission-flow>div+div { border:0; padding:14px 0; display:grid; grid-template-columns:83px 1fr; gap:12px; }
 .permission-flow>div+div { border-top:1px solid var(--line); }
 .flow-label { font-size:18px; margin:0; }
 .permission-flow p { font-size:18px; }
 .bounds-list { grid-template-columns:1fr; gap:15px; }
 .bounds-list dt,.bounds-list dd { font-size:18px; }
 .technical-note { padding:0 17px; }
 .technical-note summary,.technical-note p { font-size:18px; }
 .status-table th:first-child { width:105px; padding-right:13px; }
 .status-table thead th,.status-table tbody th { font-size:14px; letter-spacing:0; }
 .status-table th,.status-table td { padding-block:17px; }
 .status-table td { font-size:18px; overflow-wrap:anywhere; }
 .status-table small { font-size:14px; }
 .falsifiers li { padding:16px 0 16px 18px; }
 .closing-lines { padding-left:18px; }
 .closing-lines p { font-size:28px; }
 .invitation-links { gap:13px 22px; }
 .paper-footer .footer-action .button { min-width:0; white-space:normal; font-size:16px; }
 .paper-footer .footer-action>p { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) {
 .paper-page .site-header { transition:none; }
}
@media print {
 html,.paper-page { background:#fff!important; color:#111!important; }
 .site-header,.contents,.skip-link,.paper-footer,.canonical-link { display:none!important; }
 .paper-shell { width:100%; margin:0; }
 .paper-hero { padding:0 0 20px; }
 .reading-layout { display:block; margin-top:30px; }
 #paper { max-width:none; }
 .paper-page p,.paper-page h1,.paper-page h2,.paper-page a,.paper-page strong,.paper-page span,.paper-page code,.status-table td,.status-table th { color:#111!important; }
 .paper-section { break-inside:auto; margin-bottom:25px; padding-bottom:25px; }
 .paper-section h2 { break-after:avoid; }
 .paper-page p { orphans:3; widows:3; }
 .paper-section .rule-note,.paper-section blockquote { border-color:#444; }
 .technical-note { border-color:#777; }
 .technical-note>div { display:block!important; }
}

.paper-page .edition-note code { font-size:14px; }
.paper-page .main-nav a,.paper-page .header-github { min-height:28px; display:inline-flex; align-items:center; }

/* Sovereign edition (18 Oct 2026): status words, vision cards, and the text-size floor. */
.status-word { display:inline-block; font-size:16px; font-weight:650; letter-spacing:.08em; line-height:1; padding:6px 10px; border-radius:999px; border:1px solid currentColor; vertical-align:2px; white-space:nowrap; }
.sw-live { color:var(--gold); }
.sw-recorded { color:var(--green); }
.sw-tested { color:var(--blue); }
.sw-source { color:var(--purple); }
.sw-not-yet, .sw-proposed { color:#b7bfd3; }
.sw-ran { color:var(--gold); }
.paper-section p.status-line { font-size:19px; line-height:1.9; color:var(--body-copy); padding:18px 22px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.02); }
.vision-list { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:34px 0; padding:0; }
.vision-list>div { padding:24px 24px 22px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.025); display:flex; flex-direction:column; gap:12px; }
.vision-list dt { font-size:22px; line-height:1.35; font-weight:500; color:var(--text); letter-spacing:-.01em; }
.vision-list dd { margin:0; font-size:18px; line-height:1.6; color:var(--body-copy); }
.vision-list dd.today { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); line-height:1.9; }
.today-label { font-size:16px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text); margin-right:6px; }
.motto p { line-height:1.3!important; }
.motto-line { font-size:clamp(22px,2.2vw,28px)!important; font-weight:350; letter-spacing:-.01em; color:var(--text); margin-top:34px!important; }
.status-words dt { margin-bottom:4px; }
.check-first { margin:18px 0 22px; padding:18px 22px; border:1px solid var(--line); border-radius:14px; background:rgba(0,0,0,.25); overflow-x:auto; }
.check-first code { font-size:17px; line-height:1.8; white-space:pre; }
.sovereign-failures li { font-size:18px; }
@media (max-width:760px) { .vision-list { grid-template-columns:1fr; } .status-word { font-size:16px; } }
/* Text-size floor: labels at least 16px, reading text at least 18px. */
.paper-page .main-nav a, .paper-page .header-github, .paper-page .header-paper { font-size:16px!important; }
.paper-hero .eyebrow, .section-kicker, .paper-metadata, .contents li a>span { font-size:16px!important; }
.edition-note p { font-size:18px!important; }
.contents a, .contents li a { font-size:17px!important; }
.paper-section p.section-source { font-size:17px!important; }
.status-table caption, .status-table thead th, .status-table tbody th { font-size:17px!important; }
.status-table small { font-size:16px!important; }
.paper-footer .footer-meta { font-size:17px!important; }
.paper-footer .caption { font-size:16px!important; }
.reading-layout>*, #paper, .paper-section { min-width:0; }
.check-first { max-width:100%; }
.vision-list>div, .status-line { overflow-wrap:anywhere; }
