assets/site.css
/* fact.ngo: a public archive, designed for human judgment. */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body,h1,h2,h3,h4,p,figure,blockquote{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
:root{color-scheme:dark;--bg:#0d1011;--panel:#15191a;--raised:#1c2222;--ink:#edece5;--dim:#a4afaa;--line:#303837;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--gutter:clamp(22px,4.5vw,88px)}
[data-mode=light]{color-scheme:light;--bg:#f4f1e9;--panel:#eae7de;--raised:#e0e2d8;--ink:#18231f;--dim:#53625a;--line:#c5cdc1;--accent:#286650!important}
body{background:var(--bg);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#b4dccb;color:#10251c}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a,button{touch-action:manipulation}a:hover{color:var(--accent)}em{font-weight:400}p{text-wrap:pretty}h1,h2,h3{font-weight:400}h2{font:clamp(28px,3vw,43px)/1.18 var(--serif);letter-spacing:-1px}h3{font:clamp(25px,2.5vw,36px)/1.2 var(--serif);letter-spacing:-.7px}.dim{color:var(--dim)}.kicker,.case-no,.house,.enter,.status-label,.portrait-note,.rec-meta,.rec-foot,.summary-label{font:10px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase}.kicker{color:var(--accent);margin-bottom:20px}.text-link{font-size:12px;display:inline-block;border-bottom:1px solid var(--line);padding:9px 0;white-space:nowrap}.text-link:hover{border-color:var(--accent)}
.chrome{min-height:88px;margin:0 var(--gutter);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font-size:29px;font-weight:700;letter-spacing:-1.8px}.wordmark span{font-weight:400;color:var(--dim)}.chrome nav{display:flex;align-items:center;gap:25px;font-size:11px}.badge{border:1px solid var(--line);border-radius:30px;padding:7px 13px;white-space:nowrap}.mode-toggle{background:none;color:var(--dim);border:0;padding:10px 0;font-size:11px;min-height:44px}.skip-link{position:fixed;top:10px;left:20px;z-index:20;background:var(--ink);color:var(--bg);padding:10px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.hero{padding:68px var(--gutter) 52px}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;align-items:end;gap:8vw}.hero h1{font:clamp(49px,6.6vw,106px)/1.04 var(--serif);letter-spacing:-.055em}.hero h1 em{color:var(--accent)}.hero-aside{padding-bottom:6px;max-width:370px}.hero-aside>p:first-child{font-size:17px;margin-bottom:13px}.hero .sub{font-size:13px;line-height:1.9;color:var(--dim);margin-bottom:14px}.collection-stats{display:flex;gap:40px;align-items:center;margin:0 var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;color:var(--dim);font-size:11px}.collection-stats b{font-family:var(--mono);font-size:17px;color:var(--ink);font-weight:400;margin-right:7px}.open-note{margin-left:auto;font:10px/1.5 var(--mono)}
.lineup-section{padding:48px var(--gutter) 45px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:26px}.section-heading h2{font-size:clamp(25px,2.5vw,36px)}.section-heading .kicker{margin-bottom:10px}.section-heading>.kicker{font-size:9px;margin-bottom:3px;color:var(--dim)}.cast{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.card{min-width:0;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;--radius:3px;border-radius:var(--radius);overflow:hidden}.card:hover{border-color:var(--card-accent);transform:translateY(-7px);color:var(--ink);box-shadow:0 18px 40px #0003}.card:focus-visible{outline-color:var(--card-accent)}.portrait{position:relative;overflow:hidden;background:#090b0d;aspect-ratio:1.06}.portrait img{height:100%;width:100%;object-fit:contain;padding:20px;transition:transform .65s cubic-bezier(.2,.65,.2,1)}.card:hover .portrait img{transform:scale(1.07)}.case-no{position:absolute;top:12px;left:14px;color:var(--card-accent);font-size:9px;z-index:1}.portrait-arrow{position:absolute;right:14px;top:9px;color:var(--card-accent);font-size:20px}.card-content{padding:20px 17px 16px;display:flex;flex-direction:column;flex:1;border-top:1px solid var(--line)}.house{color:var(--dim);font-size:8px;letter-spacing:.065em;margin-bottom:7px}.card h3{font:clamp(17px,1.9vw,27px)/1.2 var(--sans);letter-spacing:-1px;margin-bottom:15px;overflow-wrap:anywhere}.epithet{font:italic 18px/1.3 var(--serif);color:var(--card-accent);margin-bottom:10px}.card .tagline{font-size:11px;line-height:1.75;color:var(--dim);flex:1}.card-stats{display:flex;gap:16px;margin:22px 0 15px;border-top:1px solid var(--line);padding-top:14px;color:var(--dim);font:9px/1.5 var(--mono)}.card-stats b{display:block;font:18px/1.4 var(--sans);color:var(--ink)}.enter{color:var(--ink);font-size:8px;display:flex;align-items:center;justify-content:space-between}.enter span{color:var(--card-accent);font-size:18px}.portrait-note{color:var(--dim);text-transform:none;letter-spacing:0;font-size:10px;margin-top:20px}.card-structural{--radius:18px 18px 3px 3px}.card-tension{border-radius:3px 30px 3px 3px}.card-ledger .epithet{font:14px/1.65 var(--mono)}
.editorial-section{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.method,.conv-strip,.future-section{padding:65px var(--gutter);border-top:1px solid var(--line)}.method h2 em{color:var(--dim)}.method p:not(.kicker){max-width:780px;color:var(--dim);font-size:14px;line-height:1.9;margin-bottom:16px}.method h3,.conv-strip h3{margin-bottom:25px}.bench-note{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);font-size:12px!important}.bench-note a{color:var(--accent)}.future-grid,.conv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.future-grid>div{padding:23px;border:1px solid var(--line)}.status-label{color:var(--dim);font-size:9px}.future-grid h3{margin:12px 0;font-size:28px}.future-grid p{font-size:13px;color:var(--dim);max-width:460px}.conv-grid>div{padding:25px;background:var(--panel);color:var(--dim);font:18px/1.6 var(--serif)}.conv-grid strong{color:var(--accent);font-weight:400}
.chrome-footer{margin:35px var(--gutter) 0;border-top:1px solid var(--line)}.donate-strip{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 0;border-bottom:1px solid var(--line)}.donate-strip strong{display:block;font:29px/1.3 var(--serif);font-weight:400;margin-bottom:9px}.donate-strip span{display:block;color:var(--dim);font-size:12px}.btn{display:inline-block;background:var(--accent);color:#10221c;border:1px solid var(--accent);padding:12px 18px;font-size:11px;font-weight:600;white-space:normal;border-radius:3px;transition:background .2s,color .2s}.btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.ghost{background:none;color:var(--ink);border-color:var(--line)}.fineprint{padding:25px 0 38px;font-size:10px;line-height:1.8;color:var(--dim);display:grid;grid-template-columns:1.3fr 1fr;gap:8vw}.fineprint a{text-decoration:underline;text-underline-offset:3px}
.cohort-nav{display:flex;gap:25px;margin:0 var(--gutter);padding:15px 0;overflow:auto;font:9px/1.6 var(--mono);white-space:nowrap;border-bottom:1px solid var(--line);color:var(--dim)}.cohort-nav a{padding:6px 0}.cohort-nav a:first-child{margin-right:auto}.cohort-nav [aria-current=page]{color:var(--accent);border-bottom:1px solid var(--accent)}.m-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:6vw;padding:45px var(--gutter) 55px}.m-hero-copy{max-width:760px}.m-hero .kicker{font-size:9px;line-height:1.9;max-width:440px}.m-hero h1{font:clamp(49px,6.3vw,100px)/1.02 var(--serif);letter-spacing:-.045em;max-width:710px;margin:25px 0}.m-name{font-size:19px;letter-spacing:-.5px;margin:20px 0 12px}.m-hero .tagline{font-size:15px;line-height:1.8;max-width:430px;color:var(--dim)}.hero-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:30px}.m-hero .portrait-note{font-size:9px;max-width:350px;line-height:1.7;margin-top:24px}.model-portrait{border:1px solid var(--line);background:#090b0d;max-width:510px;justify-self:end;width:100%}.model-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:30px}.model-portrait figcaption{font:9px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.07em;display:flex;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid #293432;color:#b3c0b9}.model-portrait figcaption span{opacity:.7}.section-nav{display:flex;gap:25px;padding:17px var(--gutter);background:var(--bg);border-block:1px solid var(--line);position:sticky;top:0;z-index:5;overflow:auto;white-space:nowrap;font-size:10px}.section-nav a{padding:6px 0}.section-nav a:last-child{margin-left:auto;color:var(--accent)}
.m-hooks,.m-stats,.m-integrity,.m-falsifiable,.m-positions,.m-conv,.m-downloads{padding:65px var(--gutter);border-bottom:1px solid var(--line)}section>h3{margin-bottom:28px}section>.kicker{margin-bottom:12px}.m-hooks{counter-reset:quote}.hook{display:grid;grid-template-columns:1fr 260px;gap:60px;align-items:start;padding:34px 0;border-top:1px solid var(--line);counter-increment:quote}.hook blockquote{font:clamp(21px,2.2vw,33px)/1.48 var(--serif);letter-spacing:-.4px;max-width:920px}.hook figcaption{color:var(--dim);font-size:11px;line-height:1.85;padding-top:5px}.hook figcaption:before{content:"EXCERPT 0" counter(quote);display:block;font:9px/1.6 var(--mono);letter-spacing:.15em;color:var(--accent);margin-bottom:15px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:32px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.stats-grid>div{padding:24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--panel)}.stats-grid b{display:block;font:40px/1.4 var(--serif);color:var(--accent)}.stats-grid span{font:10px/1.6 var(--mono);color:var(--dim)}.m-stats-table table{border-collapse:collapse;width:min(100%,650px);font-size:12px}.m-stats-table td,.m-stats-table th{border-bottom:1px solid var(--line);padding:10px;text-align:left}.m-stats-table th{font:10px/1.6 var(--mono);color:var(--dim)}.m-integrity>.dim,.m-positions>.dim,.m-conv>.dim,.m-downloads>.dim{max-width:850px;font-size:13px;line-height:1.9;margin-bottom:24px}.flag-row{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.chip{border:1px solid var(--line);border-radius:3px;padding:4px 8px;font:9px/1.5 var(--mono);color:var(--dim);letter-spacing:0;text-transform:none}.chip.ok,.chip.conv-convergent{color:var(--accent)}.chip.flag{color:#ffab9b;border-color:#795349}.chip.conv-divergent{color:#eac786}.chip.conv-idiosyncratic{color:#c1aff1}.integrity-notes,.falsi{padding:0;list-style:none;max-width:1050px}.integrity-notes li{padding:18px 0 18px 20px;border-left:2px solid var(--accent);margin-bottom:10px;color:var(--dim);font-size:14px}.falsi{counter-reset:prediction;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.falsi li{padding:25px;background:var(--panel);border:1px solid var(--line);counter-increment:prediction}.falsi li:before{content:"PREDICTION 0" counter(prediction);display:block;color:var(--accent);font:9px/1.6 var(--mono);letter-spacing:.12em;margin-bottom:17px}.falsi strong{font:22px/1.5 var(--serif)}.falsi .dim{display:block;font-size:12px;margin-top:12px}
.search-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:28px 0 15px}.search-row label{font:11px/1.6 var(--mono)}.search-row input{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:13px 15px;min-width:180px;flex:1;border-radius:3px;font-size:13px}.search-row input::placeholder{color:var(--dim)}.text-button{color:var(--dim);background:none;border:0;font-size:11px;padding:12px 0}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;align-items:center}.filters select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:3px;font:10px/1.6 var(--mono);padding:10px;max-width:100%}.filters #f-count{margin-left:auto;font:10px/1.6 var(--mono)}#rec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.rec{padding:25px;background:var(--panel);border:1px solid var(--line);min-width:0;scroll-margin-top:85px}.rec:target{outline:2px solid var(--accent);outline-offset:3px}.rec-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--dim);font-size:8px;letter-spacing:.04em;margin-bottom:20px}.rec-meta .dom{color:var(--accent)}.rec blockquote{font:19px/1.7 var(--serif);overflow-wrap:anywhere;margin-bottom:23px}.rec h4{font-size:12px;font-weight:400;color:var(--dim);border-top:1px solid var(--line);padding-top:16px;margin-bottom:14px}.summary-label{display:block;font-size:8px;margin-bottom:5px}.rec-foot{font-size:8px;letter-spacing:0;line-height:1.8;text-transform:none;color:var(--dim)}.evidence-links{display:flex;flex-wrap:wrap;gap:18px;font-size:9px;margin-top:16px;color:var(--accent)}#f-more{margin-top:28px}.empty-state{border:1px solid var(--line);padding:35px;color:var(--dim)}.conv-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.conv-numbers>div{padding:25px;border:1px solid var(--line)}.conv-numbers b{display:block;font:44px/1.4 var(--serif);color:var(--accent)}.conv-numbers span{color:var(--dim);font:10px/1.6 var(--mono)}.dl-row{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}
/* The same archive skeleton, with material and typographic identities. */
[data-theme=quiet]{--panel:#131c19;--line:#2a3b34}[data-theme=quiet] .m-hero h1{font-weight:400}[data-theme=quiet] .hook{padding-block:48px}[data-theme=quiet] .hook blockquote{max-width:790px}[data-theme=quiet] .m-hooks h3{font-style:italic}
[data-theme=ledger]{--bg:#13120e;--panel:#1b1912;--line:#3e3727}[data-theme=ledger] .m-hero h1{font-family:var(--mono);font-size:clamp(44px,5.1vw,77px);letter-spacing:-.075em}[data-theme=ledger] .hook blockquote{font-family:var(--mono);font-size:clamp(17px,1.7vw,24px);line-height:1.8}[data-theme=ledger] .hook{border-top-style:dashed}[data-theme=ledger] .m-integrity{border:1px solid var(--accent);margin:30px var(--gutter);padding:35px}[data-theme=ledger] .stats-grid b{font-family:var(--mono)}[data-theme=ledger] .rec{border-top:2px solid var(--accent)}
[data-theme=structural]{--bg:#17130f;--panel:#231c15;--line:#45392c}[data-theme=structural] .m-hero h1{font-family:var(--sans);font-weight:500;letter-spacing:-.065em}[data-theme=structural] .model-portrait{border-radius:100px 100px 8px 8px;overflow:hidden}[data-theme=structural] .hook{border:1px solid var(--line);background:var(--panel);padding:30px;margin-bottom:18px;border-radius:20px}[data-theme=structural] .stats-grid,[data-theme=structural] .rec{border-radius:18px;overflow:hidden}[data-theme=structural] .m-hooks h3{font-family:var(--sans)}
[data-theme=tension]{--bg:#14121a;--panel:#1d1928;--line:#3c344b}[data-theme=tension] .m-hero h1{font-style:italic}[data-theme=tension] .model-portrait{border-radius:3px 100px 3px 3px;overflow:hidden}[data-theme=tension] .hook:nth-of-type(even){margin-left:5%;border-left:2px solid var(--accent);padding-left:25px}[data-theme=tension] .hook:nth-of-type(odd){margin-right:5%}[data-theme=tension] .hook figcaption{border-left:1px solid var(--accent);padding-left:18px}[data-theme=tension] .rec:nth-child(even){border-top:2px solid var(--accent)}
[data-mode=light][data-theme]{--bg:#f4f1e9;--panel:#eae7de;--raised:#e0e2d8;--ink:#18231f;--dim:#53625a;--line:#c5cdc1}[data-mode=light][data-theme=ledger]{--accent:#795607!important;--panel:#eee7d6}[data-mode=light][data-theme=structural]{--accent:#9b471e!important;--panel:#eee0d4}[data-mode=light][data-theme=tension]{--accent:#71529b!important;--panel:#e8e1ee}[data-mode=light] .epithet{color:var(--ink)}[data-mode=light] .chip.flag{color:#9a3025}[data-mode=light] .chip.conv-divergent{color:#795607}[data-mode=light] .chip.conv-idiosyncratic{color:#71529b}[data-mode=light] .btn{color:#fff}[data-mode=light] .btn.ghost{color:var(--ink)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{padding-top:90px;padding-bottom:70px}.portrait{aspect-ratio:1.1}.card-content{padding:26px}.card .tagline{font-size:13px}.house{font-size:9px}.enter{font-size:10px}}
@media(max-width:1050px){.hero-grid{gap:35px;grid-template-columns:1.5fr 1fr}.hero h1{font-size:clamp(49px,6.5vw,75px)}.collection-stats{gap:25px}.open-note{display:none}.card-content{padding:16px 13px}.card .epithet{font-size:16px}.card .tagline{font-size:11px}.card-stats{gap:10px}.hook{grid-template-columns:1fr 200px;gap:30px}.m-hero{gap:30px}.m-hero h1{font-size:65px}.model-portrait img{padding:20px}.chrome nav{gap:18px}.section-nav{gap:20px}}
@media(max-width:760px){.chrome{min-height:76px}.chrome nav{gap:16px}.badge{display:none}.hero{padding-top:46px;padding-bottom:36px}.hero-grid{grid-template-columns:1fr;gap:25px}.hero h1{font-size:clamp(48px,10vw,76px)}.hero-aside{max-width:530px}.hero-aside>p:first-child{font-size:16px}.hero .sub{font-size:13px;max-width:500px}.hero-grid .text-link{margin-top:0}.collection-stats{gap:22px;justify-content:space-between;font-size:9px}.collection-stats b{font-size:16px;display:block}.lineup-section{padding-top:35px}.section-heading{align-items:start;flex-direction:column;gap:10px}.section-heading h2{font-size:29px}.cast{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.card h3{font-size:22px}.portrait{aspect-ratio:1}.card-content{padding:20px 16px}.card .epithet{font-size:19px}.card .tagline{font-size:12px}.enter{font-size:9px}.house{font-size:9px}.card-stats{font-size:9px}.editorial-section{grid-template-columns:1fr;gap:30px}.method,.conv-strip,.future-section{padding-block:45px}.future-grid,.conv-grid{gap:15px}.future-grid>div{padding:20px}.fineprint{grid-template-columns:1fr;gap:17px}.donate-strip{align-items:start;flex-direction:column;gap:22px}.m-hero{grid-template-columns:1fr 1fr;padding-block:35px;gap:20px}.m-hero h1{font-size:48px}.m-hero .kicker{font-size:8px}.m-hero .tagline{font-size:13px}.m-name{font-size:17px}.model-portrait img{padding:15px}.model-portrait figcaption{font-size:8px;padding:10px}.model-portrait figcaption span{display:none}.hero-actions{gap:10px}.hero-actions .btn{font-size:10px}.hero-actions .text-link{font-size:10px}.m-hero .portrait-note{font-size:8px}.cohort-nav{gap:22px}.section-nav{gap:22px}.m-hooks,.m-stats,.m-integrity,.m-falsifiable,.m-positions,.m-conv,.m-downloads{padding:45px var(--gutter)}.hook{grid-template-columns:1fr;gap:18px;padding:27px 0}.hook blockquote{font-size:24px}.hook figcaption{max-width:500px}.hook figcaption:before{margin-bottom:5px}.stats-grid b{font-size:32px}.stats-grid>div{padding:18px}.stats-grid span{font-size:9px}.falsi{gap:14px}.falsi li{padding:20px}.falsi strong{font-size:21px}#rec-list{grid-template-columns:1fr}.conv-numbers{grid-template-columns:repeat(2,1fr)}.filters #f-count{margin-left:0}.search-row label{width:100%}[data-theme=ledger] .m-hero h1{font-size:39px}[data-theme=structural] .model-portrait{border-radius:50px 50px 4px 4px}[data-theme=tension] .hook:nth-of-type(n){margin-inline:0}[data-theme=tension] .model-portrait{border-top-right-radius:60px}}
@media(max-width:460px){.wordmark{font-size:26px}.chrome nav{gap:12px;font-size:10px}.mode-toggle{font-size:10px}.hero h1{font-size:49px}.kicker{font-size:8px}.cast{gap:10px}.card-content{padding:15px 11px}.card h3{font-size:18px;letter-spacing:-.65px}.card .epithet{font-size:16px}.card .tagline{font-size:11px}.house{font-size:7px;min-height:23px}.card-stats{gap:12px;font-size:8px;margin-top:16px}.card-stats b{font-size:17px}.enter{font-size:7px;letter-spacing:.04em}.portrait img{padding:15px 9px 5px}.case-no{font-size:7px;left:10px;top:9px}.portrait-arrow{font-size:16px;right:9px;top:5px}.future-grid,.conv-grid{grid-template-columns:1fr}.m-hero{grid-template-columns:1fr}.m-hero h1{font-size:58px;margin:20px 0}.model-portrait{max-width:280px;justify-self:center;margin-top:12px}.m-hero-copy{max-width:100%}.m-hero .kicker{max-width:320px}.m-hero .portrait-note{max-width:100%}.m-hero .tagline{max-width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.falsi{grid-template-columns:1fr}.search-row{gap:12px}.search-row input{min-width:140px}.filters select{flex:1;min-width:40%}.rec{padding:20px}.rec blockquote{font-size:18px}.conv-numbers>div{padding:18px}[data-theme=ledger] .m-hero h1{font-size:52px}[data-theme=ledger] .m-integrity{padding:24px}[data-theme=structural] .hook{padding:23px}.hook blockquote{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.card:hover,.card:hover .portrait img{transform:none}}
.hook-evidence{display:block;color:var(--accent);font-size:10px;margin-top:14px}
@media(max-width:760px){.chrome{flex-wrap:wrap;padding-block:15px;gap:6px}.chrome nav{width:100%;justify-content:space-between;gap:8px}.badge{display:inline-block;border:0;padding:0;font-size:9px}.wordmark{margin-bottom:2px}.mode-toggle{min-height:36px}.hero{padding-top:35px}}
/* A quieter, more compact presentation. Preserve readable small type. */
:root:not([data-mode=light]){--bg:#000;--panel:#090909;--raised:#111;--line:#252525}
html{background:var(--bg)}
.chrome{min-height:76px}
.hero{padding-block:48px 38px}
.hero-grid{align-items:center}
.hero h1{font-size:clamp(46px,5.8vw,94px)}
.collection-stats{padding-block:15px}
.lineup-section{padding-block:34px}
.section-heading{margin-bottom:21px}
.portrait{aspect-ratio:1.2;background:#000}
.portrait img{padding:22px}
.card-content{padding:17px 15px 13px}
.card h3{margin-bottom:12px}
.epithet{margin-bottom:8px}
.card-stats{margin-block:17px 10px;padding-top:11px}
.card:hover{transform:translateY(-4px);box-shadow:none}
.method,.conv-strip,.future-section{padding-block:48px}
.m-hero{padding-block:34px 40px}
.model-portrait{width:90%;max-width:450px;background:#000}
.hero-actions{margin-top:23px}
.m-hero h1{font-size:clamp(46px,5.6vw,88px);margin-block:20px}
[data-theme=ledger] .m-hero h1{font-size:clamp(40px,4.7vw,69px)}
.m-hooks,.m-stats,.m-integrity,.m-falsifiable,.m-positions,.m-conv,.m-downloads{padding-block:48px}
.hook{padding-block:28px}
[data-theme=quiet] .hook{padding-block:36px}
[data-theme=structural] .hook{padding:25px}
.stats-grid>div,.falsi li,.rec,.conv-numbers>div{padding:21px}
.donate-strip{padding-block:34px}
.chrome-footer{margin-top:26px}
@media(max-width:760px){
.hero{padding-block:30px}.hero h1{font-size:clamp(44px,9vw,68px)}
.hero-grid{gap:22px}.lineup-section{padding-block:28px}
.portrait{aspect-ratio:1.1}.portrait img{padding:16px}
.method,.conv-strip,.future-section,.m-hooks,.m-stats,.m-integrity,.m-falsifiable,.m-positions,.m-conv,.m-downloads{padding-block:36px}
.m-hero{padding-block:28px}.m-hero h1{font-size:44px}
[data-theme=ledger] .m-hero h1{font-size:37px}
.model-portrait{width:100%;max-width:250px}
.card-content{padding:16px 12px 12px}
}
@media(max-width:460px){
.hero h1{font-size:44px}.card-content{padding:13px 11px}
.portrait img{padding:15px 9px 5px}.stats-grid>div,.rec,.conv-numbers>div{padding:18px}
.m-hero h1{font-size:52px}[data-theme=ledger] .m-hero h1{font-size:46px}
}
@media(prefers-reduced-motion:reduce){.card:hover{transform:none}}
/* A clear two-line introduction, scoped to the homepage hero. */
.home-hero h1{font-size:clamp(32px,4.8vw,80px)}
.home-hero h1>span,.home-hero h1>em{display:block;white-space:nowrap}
.home-hero .hero-aside p.sub{font-size:13px;line-height:1.8;margin-bottom:9px}
@media(max-width:760px){.home-hero h1{font-size:clamp(28px,8.6vw,60px)}}
/* Fewer competing elements; supporting text is meant to be read. */
.chrome nav,.mode-toggle{font-size:14px}.badge{font-size:12px}
.kicker,.case-no,.house,.status-label,.portrait-note{font-size:12px;letter-spacing:.04em}
.text-link,.btn,.text-button{font-size:14px}.btn{padding:12px 19px}
.hero .sub,.hero-aside>p:first-child,.tagline{font-size:16px;line-height:1.75}
.home-hero .hero-grid{grid-template-columns:1.15fr 1fr;gap:6vw}
.home-hero .hero-aside{margin-top:24px;max-width:440px}
.home-hero .hero-aside p.sub{font-size:17px;line-height:1.75;margin-bottom:18px}
.home-hero .hero-copy>.kicker{font-size:12px;letter-spacing:.04em;margin-bottom:22px}
.home-hero .text-link{color:var(--ink);font-size:15px;border-color:var(--accent)}
.hero-spotlight{width:100%;max-width:400px;justify-self:end;text-align:center}
.spotlight-stage{min-height:340px}
.spotlight-slide{display:block}
.spotlight-slide img{width:280px;max-width:100%;height:280px;object-fit:contain;margin:0 auto 12px;filter:contrast(1.15);animation:spotlight-arrive .7s ease-out both}
.spotlight-name{display:block;font:18px/1.5 var(--sans)}
.spotlight-epithet{display:block;font:italic 17px/1.5 var(--serif);color:var(--piece-accent);margin-top:3px}
.spotlight-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:22px}
.spotlight-choices{display:flex;gap:6px}
.spotlight-choices button,.spotlight-pause{background:none;border:0;color:var(--dim);font-size:13px;padding:9px 10px;min-height:44px}
.spotlight-choices button{border-bottom:1px solid transparent}
.spotlight-choices [aria-pressed=true]{color:var(--ink);border-color:var(--accent)}
.spotlight-pause{text-decoration:underline;text-underline-offset:4px}
[data-mode=light] .spotlight-slide img{border-radius:8px}
[data-mode=light] .spotlight-epithet{color:var(--dim)}
@keyframes spotlight-arrive{from{opacity:.25;transform:rotate(-7deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}
.landing-lineup{border-top:1px solid var(--line);padding-block:40px}
.lineup-count{font-size:14px;color:var(--dim)}
.card h3{font-size:22px;letter-spacing:-.5px}.card .epithet{font-size:19px}
.card .tagline{font-size:15px;line-height:1.7}.card .house{font-size:12px;line-height:1.6}
.card-content{padding:20px 18px}.card-stats{font-size:13px}.enter{font:14px/1.6 var(--sans);letter-spacing:0;text-transform:none}
.compact-card h3{margin-bottom:9px}.compact-card .epithet{font:italic 18px/1.5 var(--serif);margin-bottom:14px}
.compact-count{font-size:14px;color:var(--dim);margin-top:auto;margin-bottom:18px}
.compact-card .portrait{aspect-ratio:1.4}.compact-card .portrait img{padding:16px}
.compact-card .card-content{padding:18px}
.method p:not(.kicker),.future-grid p{font-size:16px;line-height:1.8}
.donate-strip span{font-size:15px}.fineprint{font-size:13px;line-height:1.75}
.cohort-nav,.section-nav{font-size:13px}.cohort-nav{gap:20px}
.m-hero .kicker,.m-hero .portrait-note{font-size:12px}.m-hero .tagline{font-size:16px}
.model-portrait figcaption{font-size:12px}.hook figcaption{font-size:15px;line-height:1.75}
.hook figcaption:before,.hook-evidence{font-size:12px}
.stats-grid span,.m-stats-table th{font-size:13px}.m-stats-table table{font-size:15px}
.m-integrity>.dim,.m-positions>.dim,.m-conv>.dim,.m-downloads>.dim{font-size:16px}
.integrity-notes li,.falsi .dim{font-size:15px}.chip{font-size:12px}
.falsi li:before,.summary-label{font-size:12px}.rec-meta{font-size:12px;letter-spacing:0}
.rec h4{font-size:15px}.rec-foot,.evidence-links{font-size:13px}
.search-row label,.search-row input,.filters select{font-size:14px}.filters #f-count{font-size:13px}
.conv-numbers span{font-size:13px}.collection-stats{font-size:14px}.open-note{font-size:12px}
@media(max-width:1050px){.cast{gap:14px}.card-content,.compact-card .card-content{padding:16px}.card h3{font-size:20px}.card .epithet{font-size:18px}}
@media(max-width:760px){
.chrome{position:relative}.chrome .badge{position:absolute;right:0;top:23px;font-size:12px}
.chrome nav{justify-content:flex-start;gap:24px;font-size:14px}.mode-toggle{font-size:14px;margin-left:auto}
.home-hero .hero-grid{grid-template-columns:1fr;gap:25px}.home-hero .hero-aside{max-width:530px}
.hero-spotlight{justify-self:center;max-width:360px}.spotlight-stage{min-height:260px}
.spotlight-slide img{height:210px;width:210px;margin-bottom:8px}.spotlight-controls{margin-top:14px}
.hero-actions .btn,.hero-actions .text-link{font-size:14px}.m-hero .kicker,.m-hero .portrait-note{font-size:12px}
.m-hero .tagline{font-size:16px}.stats-grid span,.model-portrait figcaption{font-size:12px}
.section-heading{gap:12px}.portrait-note{font-size:12px;line-height:1.7}
.collection-stats{font-size:12px}.house{min-height:0}.case-no{font-size:12px}
}
@media(max-width:460px){
.compact-card .card-content{padding:14px}.compact-card h3{font-size:19px;overflow-wrap:normal}
.compact-card .epithet{font-size:17px;line-height:1.4}.compact-count{font-size:13px}
.card .tagline{font-size:15px}.card .house,.card-stats,.enter{font-size:13px}
.spotlight-choices button,.spotlight-pause{padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){.spotlight-slide img{animation:none!important}}
/* Reading-first pass: centered heroes, one-measure record cards, a finished header. */
html{scroll-padding-top:100px}
.rec{scroll-margin-top:116px}
/* Header: sticky, quietly blurred, tactile links. */
.chrome{position:sticky;top:0;z-index:50;min-height:64px;margin-inline:0;padding-inline:var(--gutter);background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@supports not (background:color-mix(in srgb,red,blue)){.chrome{background:var(--bg)}}
.chrome nav a:not(.badge){position:relative;padding-block:6px}
.chrome nav a:not(.badge)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .28s ease}
.chrome nav a:not(.badge):hover{color:var(--ink)}
.chrome nav a:not(.badge):hover::after{right:0}
.badge{transition:color .2s,border-color .2s}
.badge:hover{color:var(--accent);border-color:var(--accent)}
.mode-toggle{border:1px solid var(--line);border-radius:999px;padding:8px 16px;transition:color .2s,border-color .2s}
.mode-toggle:hover{color:var(--accent);border-color:var(--accent)}
.section-nav{top:64px}
/* Heroes: center the composition so the eye gets one clear entry point. */
.home-hero,.archive-hero{display:flex;flex-direction:column;align-items:center;text-align:center}
.home-hero .hero-grid,.archive-hero .hero-grid{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.home-hero .hero-copy{display:flex;flex-direction:column;align-items:center}
.home-hero .hero-aside,.archive-hero .hero-aside{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:560px;text-align:center}
.archive-hero .hero-grid>h1{text-align:center}
.home-hero .hero-spotlight{margin-top:30px}
.archive-hero>.kicker{margin-bottom:12px}
/* Model hero: copy centered, portrait on display beneath. */
.m-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.m-hero-copy{display:flex;flex-direction:column;align-items:center;max-width:900px}
.m-hero .kicker{max-width:620px;text-align:center}
.m-hero h1{margin-block:22px 0;text-align:center}
.m-hero .m-name{margin-block:14px 10px}
.m-hero .tagline{margin-inline:auto;max-width:560px;text-align:center}
.hero-actions{justify-content:center}
.m-hero .portrait-note{margin-inline:auto;max-width:420px;text-align:center}
.model-portrait{width:auto;max-width:min(330px,70vw);justify-self:center;margin-top:24px}
.model-portrait img{aspect-ratio:1}
/* Record cards: one reading column at a comfortable measure. */
#rec-list{grid-template-columns:1fr;max-width:960px;margin-inline:auto}
.rec{max-width:960px;padding:30px 34px}
.rec blockquote{font-size:21px;line-height:1.68;max-width:66ch}
.rec h4{font-size:16px;line-height:1.7}
.rec-meta{margin-bottom:18px}
@media(max-width:760px){
.chrome{flex-wrap:wrap;row-gap:4px;padding-block:10px}
.chrome .badge{position:absolute;right:var(--gutter);top:52px}
.rec{padding:24px 20px}
.rec blockquote{font-size:19px}
.m-hero{padding-block:30px 36px}
.model-portrait{max-width:min(260px,72vw)}
.section-nav{top:64px}
}
/* Bright pass: bigger floor for the small text, nothing small is grey. */
body{font-size:16px;line-height:1.7}
.kicker,.case-no,.house,.status-label,.portrait-note,.summary-label,.hook figcaption:before{font-size:13px}
.section-heading>.kicker{font-size:13px;color:var(--accent)}
.rec-meta{font-size:13px}
.rec-foot,.evidence-links{font-size:14px}
.rec h4{font-size:17px;line-height:1.7}
.chip{font-size:13px}
.card-stats{font-size:14px}
.enter{font-size:15px}
.fineprint{font-size:14px;line-height:1.85}
.hook figcaption{font-size:16px}
.stats-grid span{font-size:14px}
.m-stats-table th{font-size:14px}
.m-stats-table table{font-size:16px}
.conv-numbers span{font-size:14px}
.collection-stats{font-size:15px}
.open-note{font-size:13px}
.cohort-nav,.section-nav{font-size:14px}
.chrome nav,.mode-toggle{font-size:15px}
.badge{font-size:14px}
.search-row label,.search-row input,.filters select{font-size:15px}
.filters #f-count{font-size:14px}
.text-link,.btn,.text-button{font-size:15px}
.m-hero .tagline{font-size:17px}
.method p:not(.kicker),.future-grid p{font-size:17px}
.m-integrity>.dim,.m-positions>.dim,.m-conv>.dim,.m-downloads>.dim{font-size:17px}
.integrity-notes li,.falsi .dim{font-size:16px}
.donate-strip span{font-size:16px}
.model-portrait figcaption{font-size:13px}
.spotlight-choices button,.spotlight-pause{font-size:14px}
.rec blockquote{font-size:22px}
.bench-note{font-size:14px}
.empty-state{font-size:16px}
.hero .sub,.home-hero .hero-aside p.sub,.card .tagline{font-size:17px}
/* Nothing small is grey: full ink for every small reading surface. */
.house,.card-stats,.rec-meta,.rec-foot,.rec h4,.fineprint,.chip,.stats-grid span,.conv-numbers span,.collection-stats,.open-note,.cohort-nav,.section-nav,.m-stats-table th,.filters #f-count,.portrait-note,.model-portrait figcaption,.hook figcaption,.card .tagline,.hero .sub,.home-hero .hero-aside p.sub,.m-hero .portrait-note,.bench-note,.empty-state,.donate-strip span,.search-row label,.mode-toggle,.integrity-notes li,.falsi .dim{color:var(--ink)}
@media(max-width:760px){
.kicker,.case-no,.house,.status-label,.portrait-note,.m-hero .kicker{font-size:12px}
.badge{font-size:13px}
.rec h4{font-size:16px}
.rec-foot,.fineprint{font-size:14px}
}
/* A shared glass launcher. External support content loads only on opening. */
.support-pill{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:14px;min-height:58px;padding:10px 17px 10px 14px;border:1px solid #ffffff30;border-radius:999px;background:rgba(24,24,29,.84);color:#f6f5f3;box-shadow:inset 0 1px 1px #ffffff24,0 8px 24px #0005;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);font:600 17px/1.25 var(--sans);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.support-pill:hover{color:#fff;background:rgba(40,38,43,.92);border-color:#ffffff55}
.support-pill:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.support-symbol,.support-chevron{display:block;flex:none;width:29px;height:29px}
.support-symbol{box-sizing:content-box;padding-right:14px;border-right:1px solid #ffffff25}
.support-mark{display:block;width:100%;height:100%;overflow:hidden}
.support-mark img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.4);filter:contrast(1.5) invert(1);mix-blend-mode:screen}
.support-chevron{mask:var(--support-icon) center/contain no-repeat;-webkit-mask:var(--support-icon) center/contain no-repeat}
.support-chevron{width:21px;height:21px;background:#dbd9db}
[data-mode=light] .support-pill{background:rgba(255,255,255,.87);border-color:#25252c30;color:#26252b;box-shadow:inset 0 1px 1px #fff,0 8px 24px #25252c20}
[data-mode=light] .support-pill:hover{background:rgba(255,255,255,.96);color:#26252b;border-color:#25252c55}
[data-mode=light] .support-symbol{border-color:#25252c25}
[data-mode=light] .support-mark img{filter:contrast(1.5);mix-blend-mode:multiply}
[data-mode=light] .support-chevron{background:#55515a}
.support-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 24px);max-width:402px;height:min(720px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:var(--panel);box-shadow:0 20px 80px #0008;overflow:hidden}
.support-dialog[open]{display:flex;flex-direction:column}
.support-dialog::backdrop{background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.support-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.support-heading h2{margin:0;font:600 19px/1.3 var(--sans);letter-spacing:0}
.support-close{flex:none;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--raised,var(--bg));color:var(--ink);font:15px/1.3 var(--sans);cursor:pointer}
.support-loading{padding:10px 16px;margin:0;font-size:15px}
.support-frame-wrap{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:var(--panel)}
.support-frame{display:block;width:100%;height:100%;border:0;background:#fff;color-scheme:light;visibility:hidden}
.support-frame-wrap[data-loaded] .support-frame{visibility:visible}
/* Filter rendered form pixels, excluding the measured 88px cover and 90px avatar.
The transparent layer never captures input; the payment form stays on Ko-fi.
These masks follow the widget's current header layout, not its remote DOM. */
.support-dark-overlay{display:none;position:absolute;inset:0;pointer-events:none;backdrop-filter:invert(.94) hue-rotate(180deg) brightness(1.04);-webkit-backdrop-filter:invert(.94) hue-rotate(180deg) brightness(1.04);mask-image:linear-gradient(transparent 0 88px,#000 88px),radial-gradient(circle at 50% 65px,transparent 46px,#000 47px);-webkit-mask-image:linear-gradient(transparent 0 88px,#000 88px),radial-gradient(circle at 50% 65px,transparent 46px,#000 47px);mask-composite:intersect;-webkit-mask-composite:source-in}
[data-mode=dark] .support-frame-wrap[data-loaded] .support-dark-overlay{display:block}
@supports not ((backdrop-filter:invert(1)) or (-webkit-backdrop-filter:invert(1))){[data-mode=dark] .support-frame{filter:brightness(.68)}[data-mode=dark] .support-dark-overlay{display:none}}
.support-fallback{margin:0;padding:12px 16px;font-size:15px;border-top:1px solid var(--line)}
.support-fallback a{display:inline-flex;align-items:center;min-height:24px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.support-pill{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:10px;min-height:48px;padding:8px 12px;font-size:15px}.support-symbol{width:25px;height:25px;padding-right:10px}.support-chevron{width:18px;height:18px}}
.em-pocket .support-pill{bottom:calc(var(--em-dock-height,57px) + 12px)}
html.has-shell [data-shell]>[data-pane]{padding-bottom:96px}
html.has-shell.em-pocket [data-shell]>[data-pane]{padding-bottom:84px}
@media(prefers-reduced-motion:reduce){.support-pill{transition:none}}
/* Mobile header fix: the badge returns to the nav flow, no sticky stacking on small screens. */
@media(max-width:760px){
.chrome{position:relative;min-height:0;padding-block:12px 10px;row-gap:6px}
.chrome .badge{position:static;border:1px solid var(--line);border-radius:999px;padding:6px 12px;white-space:nowrap}
.section-nav{top:0}
html{scroll-padding-top:72px}
.rec{scroll-margin-top:80px}
}
/* Header, final pass: the mode toggle lives outside the nav, right-aligned on every screen. */
.chrome{justify-content:flex-start}
.wordmark{margin-right:auto}
.mode-toggle{flex-shrink:0}
/* Mobile: wordmark + toggle share the first row, the links sit beneath, and the header can never push the page wide. */
@media(max-width:760px){
.chrome{flex-wrap:wrap;row-gap:10px;padding-block:12px 10px}
.mode-toggle{order:1;margin-left:auto;font-size:13px;padding:7px 13px;white-space:nowrap}
.chrome nav{order:2;flex-basis:100%;width:auto;justify-content:space-between;gap:12px}
.chrome .badge{position:static;border:0;padding:0;font-size:13px;color:var(--dim);white-space:nowrap}
}
@media(max-width:460px){
.chrome .badge{display:none}
.chrome nav{justify-content:flex-start;gap:22px}
}
/* The page never scrolls sideways: clip stray wide pixels at the root (clip keeps sticky positioning alive). */
html,body{max-width:100%;overflow-x:clip}
.m-stats-table{overflow-x:auto}
/* fact.ngo is the parent organization; xray retains its own archive experience. */
.chrome .suite-mark{font:15px/1.5 var(--mono);color:var(--accent);margin-right:auto;white-space:nowrap}
.chrome:has(.suite-mark) .wordmark{margin-right:0}
.fact-hero{padding-block:48px 30px}
.fact-hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:7vw;align-items:center}
.fact-hero h1{font-size:clamp(40px,5.5vw,84px);line-height:1.08;letter-spacing:-.045em}
.fact-hero h1 em{color:var(--accent)}
.fact-intro{max-width:560px;margin-top:24px;font-size:17px;line-height:1.8}
.fact-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:23px}
.fact-principle{padding:26px 0 26px 30px;border-left:1px solid var(--line)}
.fact-principle>.kicker{font-size:12px;margin-bottom:18px}
.fact-principle>p:not(.kicker){font:clamp(27px,3vw,43px)/1.2 var(--serif);letter-spacing:-.7px}
.fact-principle em{color:var(--accent)}
.fact-principle>span{display:block;max-width:290px;font-size:14px;line-height:1.8;margin-top:20px}
.fact-development{border-top:1px solid var(--line);padding-top:18px;margin-top:38px;font-size:13px;line-height:1.8}
.fact-development>span{display:inline-block;color:var(--accent);font-family:var(--mono);margin-right:14px}
.fact-method,.fact-access,.fact-xray{padding:42px var(--gutter);border-top:1px solid var(--line)}
.fact-steps,.fact-fees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.fact-steps article,.fact-fees article{padding-block:22px;border-top:1px solid var(--line)}
.fact-steps .kicker{font-size:12px;margin-bottom:16px}
.fact-steps h3,.fact-fees h3{font:24px/1.3 var(--serif);margin-bottom:12px;letter-spacing:-.3px}
.fact-steps article>p:last-child,.fact-fees article>p:last-child{font-size:16px;line-height:1.8;max-width:370px}
.fee-value{font:48px/1.2 var(--serif);color:var(--accent);margin-bottom:17px}
.fact-fee-note{font-size:14px;margin-top:15px}
.fact-xray{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
.fact-xray h2{font-size:clamp(31px,3.5vw,48px);margin-bottom:20px}
.fact-xray h2 em{color:var(--accent)}
.fact-xray-copy>p:not(.kicker){font-size:16px;max-width:450px;margin-bottom:14px}
.fact-xray-copy>p.fact-xray-context{font-size:14px}
.fact-xray-art{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:440px;width:100%;justify-self:end;background:#000;padding:14px;border:1px solid var(--line);border-radius:5px}
.fact-xray-art img{width:100%;aspect-ratio:1.2;object-fit:contain;filter:contrast(1.15);transition:transform .25s}
.fact-xray-art:hover img{transform:translateY(-3px)}
.fact-xray-art>span{grid-column:1/-1;font:12px/1.7 var(--mono);text-align:center;color:#edece5;padding:12px 4px 2px}
@media(max-width:760px){
.fact-hero{padding-block:30px 24px}.fact-hero-grid{grid-template-columns:1fr;gap:28px}
.fact-hero h1{font-size:clamp(37px,7.5vw,57px)}.fact-intro{font-size:16px;margin-top:19px}
.fact-principle{padding:20px 0;border-left:0;border-top:1px solid var(--line)}
.fact-principle>p:not(.kicker){font-size:29px}.fact-principle>p:not(.kicker) br{display:none}
.fact-principle>span{max-width:500px;margin-top:13px}.fact-development{margin-top:10px}
.fact-steps,.fact-fees{grid-template-columns:1fr;gap:4px}.fact-steps article,.fact-fees article{padding-block:20px}
.fact-method,.fact-access,.fact-xray{padding-block:32px}.fact-xray{grid-template-columns:1fr;gap:24px}
.fact-xray-art{justify-self:start;max-width:400px}.fee-value{font-size:40px;margin-bottom:10px}
.chrome .suite-mark{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.fact-xray-art:hover img{transform:none}}
/* A centred, quieter introduction to the public site. */
[data-theme=fact] main{text-align:center}
.fact-hero{padding-top:40px;padding-bottom:25px}
.fact-hero-grid{display:block;max-width:780px;margin-inline:auto}
.fact-hero h1{font-size:clamp(42px,6vw,78px)}
.fact-intro{max-width:590px;margin:20px auto 0;font-size:18px}
.fact-actions{justify-content:center;margin-top:20px;gap:24px}
.fact-sculpture{max-width:630px;margin:12px auto 0}
.fact-sculpture img{width:100%;height:clamp(200px,27vw,320px);object-fit:contain;filter:contrast(1.12);mix-blend-mode:screen}
.fact-sculpture figcaption{font:15px/1.65 var(--mono);margin-top:-8px;color:#fff}
.fact-development{margin:26px auto 0;max-width:850px}
.fact-development a{text-decoration:underline;text-underline-offset:4px}
.fact-method .section-heading,.fact-access .section-heading{justify-content:center}
.fact-steps,.fact-fees{max-width:1080px;margin-inline:auto;gap:32px}
.fact-steps article>p:last-child,.fact-fees article>p:last-child{margin-inline:auto;max-width:285px}
.fact-xray{display:flex;flex-direction:column;gap:22px}
.fact-xray-copy>p:not(.kicker){margin-inline:auto;max-width:540px}
.fact-xray h2{margin-bottom:17px}
.fact-xray-art{max-width:730px;grid-template-columns:repeat(4,minmax(0,1fr));border:0;padding:0}
.fact-xray-art img{aspect-ratio:1.1}
[data-theme=fact] .donate-strip{flex-direction:column;text-align:center;gap:20px}
[data-theme=fact] .fineprint{display:block;text-align:center;max-width:900px;margin-inline:auto}
[data-theme=fact] .fineprint p+p{margin-top:12px}
[data-mode=light] .fact-sculpture{background:#000;border-radius:8px;padding-bottom:12px}
@media(max-width:760px){
.fact-hero{padding-top:30px}.fact-intro{font-size:17px}
.fact-sculpture{margin-top:10px}.fact-sculpture img{height:230px}
.fact-steps,.fact-fees{gap:0}.fact-xray-art{gap:0}
}
/* Legibility floor across the parent site and every xray page. */
:root{--small-ink:#fff}
[data-mode=light]{--small-ink:#18231f}
:root body :is(.kicker,.case-no,.house,.status-label,.portrait-note,.summary-label,.rec-meta,.rec-foot,.evidence-links,.fineprint,.chip,.card-stats,.enter,.stats-grid span,.conv-numbers span,.collection-stats,.open-note,.cohort-nav,.section-nav,.m-stats-table th,.filters #f-count,.search-row label,.filters select,.text-button,.text-link,.hook-evidence,.spotlight-choices button,.spotlight-pause,.compact-count,.lineup-count,.fact-development,.fact-principle>span,.fact-fee-note,.fact-xray-context,.fact-xray-art>span,.fact-sculpture figcaption,.model-portrait figcaption){font-size:15px;line-height:1.65;color:var(--small-ink);letter-spacing:.025em}
:root body :is(.chrome nav,.chrome .badge,.chrome .mode-toggle,.chrome .suite-mark){font-size:15px;color:var(--small-ink)}
:root body .hook figcaption:before{font-size:15px;color:var(--small-ink)}
:root body :is(.fact-steps .kicker,.fact-development>span,.rec-meta .dom,.model-portrait figcaption span){color:var(--small-ink);opacity:1}
:root body :is(.fact-sculpture figcaption,.fact-xray-art>span,.model-portrait figcaption,.model-portrait figcaption span){color:#fff}
:root body .btn{font-size:16px}
@media(max-width:460px){
.fact-hero h1{font-size:clamp(34px,9.2vw,43px)}
:root body .case-no{max-width:calc(100% - 36px);font-size:15px;overflow-wrap:anywhere}
.fact-development>span{display:block;margin:0 0 5px}
}
/* The xray feature on the fact.ngo hero: a framed spotlight of open archive minds. */
.fact-hero-xray{border:1px solid var(--line);background:var(--panel);padding:26px 20px 22px;border-radius:6px;margin-inline:auto}
.fact-xray-tag{font:12px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.fact-hero-xray .spotlight-stage{min-height:330px}
.fact-hero-xray .spotlight-controls{margin-top:12px}
.fact-hero-xray .spotlight-name{font-size:16px}
.fact-hero-xray .spotlight-epithet{font-size:15px}
.fact-hero-xray .text-link{margin-top:14px}
@media(max-width:760px){.fact-hero-xray{padding:18px 14px 16px}.fact-hero-xray .spotlight-stage{min-height:260px}}
/* The xray pitch line inside the fact hero: mission above, interrogation below. */
.fact-xray-pitch{margin-top:12px}
.fact-xray-pitch strong{color:var(--accent);font-weight:600}
/* Hero compression: terse copy, one row on desktop, restrained sizes everywhere. */
.fact-hero{padding-block:34px 26px}
.fact-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:5vw;align-items:center;max-width:1100px;margin-inline:auto}
.fact-hero h1{font-size:clamp(34px,4.2vw,56px)}
.fact-intro{margin-top:16px;font-size:16px;line-height:1.7}
.fact-xray-pitch{margin-top:4px}
.fact-hero-xray{padding:18px 16px 16px;margin-inline:0}
.fact-hero-xray .spotlight-stage{min-height:250px}
.fact-hero-xray .spotlight-slide img{width:200px;height:200px}
.fact-hero-xray .spotlight-controls{margin-top:8px}
.fact-hero-xray .text-link{margin-top:8px}
.fact-sculpture{max-width:460px;margin:16px auto 0}
.fact-sculpture img{height:clamp(140px,15vw,200px)}
.fact-development{margin:16px auto 0;padding-top:12px;font-size:14px}
@media(max-width:1050px){.fact-hero-grid{grid-template-columns:1fr;gap:22px;max-width:780px}.fact-hero-xray{margin-inline:auto}}
@media(max-width:760px){
.fact-hero{padding-block:28px 20px}
.fact-hero h1{font-size:clamp(30px,8vw,44px)}
.fact-hero-xray .spotlight-stage{min-height:220px}
.fact-hero-xray .spotlight-slide img{width:170px;height:170px}
}
/* Explanation dropdowns: plain-English glosses on every position. */
.explain{margin:14px 0 4px;border-top:1px solid var(--line)}
.explain summary{cursor:pointer;list-style:none;display:inline-block;color:var(--accent);font:10px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:12px 0 10px}
.explain summary::-webkit-details-marker{display:none}
.explain summary:after{content:" +"}
.explain[open] summary:after{content:" −"}
.explain-body{padding:2px 0 10px;max-width:720px}
.explain-body p{font-size:13px;line-height:1.8;color:var(--dim);margin-bottom:10px}
.explain-context{color:var(--ink);font-size:12px}
.explain-note{font:italic 11px/1.7 var(--sans);opacity:.75}
.ward-explain{max-width:1050px}
.ward-explain .explain-body p.explain-plain{margin-bottom:14px}
/* Explanation dropdowns, v2: a real component, not a text link.
Pill summary with rotating plus; open state hangs on an accent rule. */
.explain{margin:16px 0 8px;border-top:0}
.explain summary{list-style:none;cursor:pointer;user-select:none;-webkit-user-select:none;display:inline-flex;align-items:center;gap:10px;margin:0;padding:11px 18px;border:1px solid var(--line);border-radius:30px;background:var(--raised);color:var(--ink);font:13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:border-color .2s,background .2s,color .2s;min-height:44px}
.explain summary::-webkit-details-marker{display:none}
.explain summary:after{content:none}
.explain summary:before{content:"+";order:-1;display:inline-block;width:15px;text-align:center;color:var(--accent);font:600 16px/1 var(--sans);transition:transform .2s ease}
.explain[open] summary:after{content:none}
.explain[open] summary:before{transform:rotate(45deg)}
.explain[open] summary{border-color:var(--accent);color:var(--accent)}
.explain summary:hover{border-color:var(--accent);background:var(--panel)}
.explain summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.explain-body{margin-top:16px;padding:2px 0 4px 20px;border-left:2px solid var(--accent);max-width:720px}
.explain-body p{font-size:16px;line-height:1.75;color:var(--dim);margin-bottom:13px}
.explain-context{color:var(--ink);font-size:16px}
.explain-labels{font-size:14.5px;line-height:1.8;color:var(--dim)}
.explain-note{font:italic 13.5px/1.7 var(--sans);color:var(--dim);opacity:.85;margin-bottom:2px}
.ward-explain{margin-top:26px;max-width:1050px}
.ward-explain .explain-body{max-width:900px}
.ward-explain .explain-body p.explain-plain{margin-bottom:16px}
.hook .explain{grid-column:1;margin-top:4px}
.falsi .explain{margin:16px 0 8px}
/* Raise the floor: informational small text must be readable. */
.rec-meta{font-size:11.5px;letter-spacing:.08em;line-height:1.7}
.rec-meta .stance{text-transform:none}
.rec-foot{font-size:12.5px;line-height:1.8}
.summary-label{font-size:10.5px;margin-bottom:7px;letter-spacing:.1em}
.rec h4{font-size:13.5px;line-height:1.65}
.chip{font-size:11px;padding:5px 9px;line-height:1.5;letter-spacing:.02em}
.chip.flag{border-color:#795349}
.evidence-links{font-size:12.5px;gap:22px;margin-top:18px}
.hook-evidence{font-size:12.5px}
.stats-grid span{font-size:12px;line-height:1.7}
.conv-numbers span{font-size:12px;line-height:1.7}
.m-stats-table{font-size:13px}
.m-stats-table td,.m-stats-table th{padding:11px 10px}
.integrity-notes li{font-size:14.5px;line-height:1.8}
.falsi li strong{font-size:15.5px;line-height:1.6}
.falsi .dim{font-size:14px;line-height:1.75}
.bench-note{font-size:13px}
.method p:not(.kicker){font-size:16.5px}
/* ---------- app-shell regime (activates only with JS, via has-shell) ---------- */
/* Sections become on-screen panes under the fixed site header; the page itself
stops scrolling; every pane scrolls internally. No JS: normal page, no changes. */
html.has-shell,html.has-shell body{height:100%;overflow:hidden}
.has-shell [data-shell]{position:fixed;left:0;right:0;top:var(--app-top,64px);bottom:0;display:flex;flex-direction:column;z-index:5}
.has-shell [data-shell] > [data-pane]{display:none;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.has-shell [data-shell] > [data-pane][data-pane-on]{display:block}
.has-shell [data-shell-nav]{flex:0 0 auto;overflow-x:auto;scrollbar-width:none}
.has-shell [data-shell-nav]::-webkit-scrollbar{display:none}
.has-shell footer.chrome-footer[data-in-pane]{margin:32px 0 8px;border-top:1px solid rgba(128,128,128,.25)}
/* xray: once-read heroes demote to identity strips; data gets the frame */
@media(min-width:901px){
/* model identity cordons to a side rail; panes own the right of the frame */
.has-shell .model-shell{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"hero cohort" "hero nav" "hero pane"}
.has-shell .model-shell .cohort-nav{grid-area:cohort}
.has-shell .model-shell .section-nav{grid-area:nav}
.has-shell .model-shell > [data-pane]{grid-area:pane}
.has-shell .model-shell .m-hero{grid-area:hero;display:flex;flex-direction:column;gap:12px;padding:26px 22px;border-right:1px solid var(--line);overflow-y:auto;min-height:0}
.has-shell .model-shell .m-hero .model-portrait{order:-1;width:100%;max-width:280px;margin:0}
.has-shell .model-shell .m-hero .model-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:10px}
.has-shell .model-shell .m-hero .model-portrait figcaption{display:flex}
.has-shell .model-shell .m-hero-copy{max-width:none;min-width:0}
.has-shell .model-shell .m-hero .kicker{font-size:8px;max-width:none;white-space:normal;margin:0}
.has-shell .model-shell .m-hero h1{font-size:clamp(21px,1.9vw,28px);margin:2px 0}
.has-shell .model-shell .m-name{font-size:15px;margin:0}
.has-shell .model-shell .m-hero .tagline{display:block;font-size:12px;line-height:1.6;margin:0}
.has-shell .model-shell .m-hero .portrait-note{display:none}
.has-shell .model-shell .m-hero .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:4px 0 0}
}
@media(max-width:900px){
.has-shell .m-hero{display:flex;align-items:center;gap:26px;flex:0 0 auto;padding:12px var(--gutter);min-height:0}
.has-shell .m-hero-copy{max-width:none;min-width:0;flex:1 1 auto}
.has-shell .m-hero .kicker{font-size:8px;margin:0;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.has-shell .m-hero h1{font-size:clamp(22px,2.6vw,36px);margin:3px 0}
.has-shell .m-name{margin:0;font-size:14px}
.has-shell .m-hero .tagline,.has-shell .m-hero .portrait-note,.has-shell .m-hero .hero-actions{display:none}
.has-shell .model-portrait{width:auto;max-width:150px;margin:0;flex:0 0 auto}
.has-shell .model-portrait img{height:9vh;width:auto;aspect-ratio:auto;padding:8px}
.has-shell .model-portrait figcaption{display:none}
}
.has-shell .hero.home-hero{flex:0 0 auto;padding:18px var(--gutter) 12px}
.has-shell .hero-grid{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px}
.has-shell .home-hero h1{font-size:clamp(22px,2.6vw,36px)}
.has-shell .home-hero .sub{display:none}
.has-shell .cohort-nav{flex:0 0 auto}
.has-shell .section-nav{position:static;flex:0 0 auto}
/* lens segmented tabs over the positions grid */
.seg{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.seg[hidden]{display:none}
.seg button{font:11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:9px 16px;cursor:pointer}
.seg button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.seg button:hover{color:var(--ink)}
.filters select.seg-hidden{display:none}
/* /xray/ lineup as a full workspace: stage + roster, one glance */
.lw-grid{display:grid;gap:35px;padding:40px var(--gutter) 0}
.lw-stage{justify-self:center;width:100%}
.lw-roster .section-heading{padding-inline:0}
@media(max-width:900px){.has-shell .lw-grid{grid-template-columns:1fr;padding-top:20px}.has-shell .lw-stage{max-height:44vh}}
@media(min-width:901px){
.has-shell #lineup{display:flex}
.has-shell .lw-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:stretch;min-height:0;overflow:hidden;padding-block:28px}
.has-shell .lw-stage{display:flex;flex-direction:column;justify-content:center;min-height:0;border:1px solid var(--line);background:var(--panel);padding:26px;justify-self:stretch;width:auto}
.has-shell .lw-stage .spotlight-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;min-height:0}
.has-shell .lw-stage .spotlight-slide{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:0}
.has-shell .lw-stage .spotlight-slide img{width:auto;max-width:100%;height:100%;min-height:0;flex:1 1 auto;object-fit:contain;margin:0 0 14px}
.has-shell .lw-stage .spotlight-controls{margin-top:18px}
.has-shell .lw-roster{display:flex;flex-direction:column;justify-content:flex-start;min-height:0}
.has-shell .lw-roster .section-heading{flex:0 0 auto;margin:0 0 14px}
.has-shell .lw-roster .cast{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:14px}
.has-shell .lw-roster .compact-card{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}
.has-shell .lw-roster .compact-card .portrait{position:relative;flex:1 1 auto;min-height:0;aspect-ratio:auto;overflow:hidden}
.has-shell .lw-roster .compact-card .portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px}
.has-shell .lw-roster .compact-card .card-content{flex:0 0 auto;padding:10px 12px}
.has-shell .lw-roster .compact-card h3{font-size:15px}
.has-shell .lw-roster .compact-card .epithet{font-size:11px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.has-shell .lw-roster .compact-card .compact-count{font-size:10px;margin-top:4px}
.has-shell .lw-roster .portrait-note{display:none}
}
@media(max-width:760px){.has-shell .model-portrait{max-width:120px}}