/* ===== UODF — The Annual Report ===== */
@font-face{font-family:"PFSC";src:url(assets/fonts/pfsc-900.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"PFSC";src:url(assets/fonts/pfsc-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"PFSC";src:url(assets/fonts/pfsc-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"FellSC";src:url(assets/fonts/fell-sc.woff2) format("woff2");font-display:swap}
@font-face{font-family:"PlexC";src:url(assets/fonts/plexc-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"PlexC";src:url(assets/fonts/plexc-600.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"PlexM";src:url(assets/fonts/plexm-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"PlexM";src:url(assets/fonts/plexm-600.woff2) format("woff2");font-weight:600 700;font-display:swap}

:root{--navy:#0a1a3f;--navy9:#060f26;--navy8:#08122c;--gold:#d4a64a;--goldl:#f3d68b;--goldd:#8a6420;--red:#b22234;--paper:#f3ead3;--ink:#1c1a14;--oil:#07070a;--spine:252px;--gl:linear-gradient(100deg,#8a6420 0%,#f3d68b 22%,#c7953a 40%,#fff1c2 52%,#b0802c 70%,#f3d68b 88%,#8a6420 100%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.lenis{scroll-behavior:auto}
body{margin:0;overflow-x:hidden;font-size:17px;line-height:1.6;background:var(--navy8)}
img{max-width:100%;height:auto;display:block}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:fixed;left:-999px;top:8px;z-index:999;background:var(--gold);color:#000;padding:8px 12px}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--goldl);outline-offset:3px}
.font-display{font-family:"PFSC",Georgia,serif;font-weight:900;letter-spacing:.01em}
.font-fell{font-family:"FellSC",Georgia,serif;letter-spacing:.04em}
.font-mono{font-family:"PlexM",ui-monospace,monospace}
.tiny{font-size:.74rem;opacity:.8;line-height:1.45}
.center{text-align:center}
.lead{font-size:1.12rem;opacity:.9;max-width:60ch}
.center.lead{margin:0 auto}
.gold-text,.h-xl,.h-lg,.cert-title,.cert-ticker,.back-title{background:var(--gl);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.h-xl{font-size:clamp(2.1rem,4.6vw,4.2rem);line-height:1.04;margin:.2em 0 .35em;text-wrap:balance}
.h-lg{font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.05;margin:0}
.h-xl em{font-style:italic;font-weight:400}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.split .w>span{display:inline-block;background:inherit;-webkit-background-clip:text;background-clip:text}
.h-xl .w>span,.h-lg .w>span,.cert-title .w>span{background:var(--gl);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== grain + guilloche bg ===== */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== intro ===== */
#intro{position:fixed;inset:0;z-index:200;background:var(--navy9);display:grid;place-items:center;overflow:hidden}
html.no-js #intro,html.static #intro{display:none}
.intro-paper{position:relative;width:min(80vmin,560px);aspect-ratio:1;display:grid;place-items:center}
.intro-rosette{position:absolute;inset:0;width:100%;height:100%}
.intro-rosette path{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:ink 1.5s cubic-bezier(.6,.1,.3,1) forwards}
@keyframes ink{to{stroke-dashoffset:0}}
.intro-seal{width:38%;border-radius:50%;opacity:0;transform:scale(2.6);animation:slam .45s 1.25s cubic-bezier(.2,1.6,.4,1) forwards;filter:drop-shadow(0 0 30px rgba(212,166,74,.6))}
@keyframes slam{to{opacity:1;transform:scale(1)}}
.intro-line{position:absolute;bottom:-2.6em;left:0;right:0;text-align:center;color:var(--goldl);opacity:0;animation:fadeIn .5s 1.5s forwards;font-size:1rem}
.intro-stamp{position:absolute;right:-4%;top:6%;border:4px double var(--red);color:var(--red);padding:.3em .7em;font-size:1.4rem;line-height:1;text-align:center;transform:rotate(-14deg) scale(3);opacity:0;animation:stamp .35s 1.75s cubic-bezier(.2,1.5,.4,1) forwards;background:rgba(243,234,211,.05);mix-blend-mode:screen}
.intro-stamp span{font-size:.6em;letter-spacing:.2em}
@keyframes stamp{to{opacity:.95;transform:rotate(-14deg) scale(1)}}
@keyframes fadeIn{to{opacity:1}}
#intro.out{animation:pageTurn .8s cubic-bezier(.7,0,.3,1) forwards}
@keyframes pageTurn{to{transform:translateY(-100%);opacity:.6}}
#intro.shake .intro-paper{animation:shake .25s}
@keyframes shake{25%{transform:translate(3px,-2px)}50%{transform:translate(-3px,2px)}75%{transform:translate(2px,1px)}}

/* ===== spine ===== */
#spine{position:fixed;left:0;top:0;bottom:0;width:var(--spine);z-index:60;background:linear-gradient(180deg,#060f26,#0a1a3f);border-right:1px solid rgba(212,166,74,.35);padding:22px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:inset -12px 0 24px -16px rgba(0,0,0,.8)}
#spine::after{content:"";position:absolute;right:6px;top:0;bottom:0;width:1px;background:rgba(212,166,74,.2)}
.spine-logo img{border-radius:50%}
.spine-title{color:var(--gold);margin:6px 0 0;font-size:.95rem;border-bottom:1px solid rgba(212,166,74,.3);padding-bottom:6px}
.spine-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1;overflow:auto}
.spine-list a{position:relative;display:grid;grid-template-columns:42px 1fr;align-items:center;padding:7px 6px;color:rgba(243,234,211,.62);text-decoration:none;font-size:.92rem;border-radius:3px;overflow:hidden}
.spine-list .num{font-family:"PFSC",serif;font-weight:700;color:var(--gold)}
.spine-list a .ink{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--gl);transform-origin:left;transform:scaleX(var(--p,0))}
.spine-list a:hover,.spine-list a.on{color:var(--paper);background:rgba(212,166,74,.09)}
.spine-list a.on .lbl::after{content:" ·";color:var(--gold)}
.spine-folio{color:var(--gold);font-size:.8rem;text-align:center;border-top:1px solid rgba(212,166,74,.3);padding-top:8px}
.spine-actions{display:flex;flex-direction:column;gap:8px}
.spine-social{display:flex;gap:8px}.spine-social .soc{flex:1;justify-content:center;display:flex;align-items:center;gap:6px;border:1px solid rgba(212,166,74,.4);padding:7px;border-radius:4px;color:var(--paper);text-decoration:none;font-size:.75rem}
.soc img{filter:invert(1)}
.soc[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.soc:not([aria-disabled="true"]) .soon{display:none}
.soon{font-family:"PlexM",monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}

/* ===== buttons ===== */
.btn-buy{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--gl);background-size:200% 100%;color:#1a1204;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem;box-shadow:0 0 0 1px #fff3 inset,0 10px 30px -10px rgba(212,166,74,.7);transition:background-position .6s,transform .2s;font-family:"PlexC",sans-serif;letter-spacing:.02em}
.btn-buy:hover{background-position:100% 0;transform:translateY(-2px)}
.btn-buy img{border-radius:50%;background:#fff;padding:2px}
.btn-buy.sm{padding:10px 14px;font-size:.92rem}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid rgba(212,166,74,.6);color:var(--paper);text-decoration:none;font-size:.95rem;background:rgba(6,15,38,.4);transition:background .2s}
.btn-ghost:hover{background:rgba(212,166,74,.15)}
.btn-ghost img{border-radius:4px}
.copy-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gold);background:rgba(212,166,74,.12);color:inherit;border-radius:4px;padding:6px 10px;cursor:pointer;font:600 .8rem "PlexC",sans-serif}
.copy-btn:hover{background:rgba(212,166,74,.3)}
.anti-scam{font-size:.75rem;color:rgba(243,234,211,.7);text-align:center;margin:14px auto 0;max-width:60ch}
.anti-scam.dark{color:#5b4a28}

/* ===== chapters layout ===== */
main,#back{margin-left:var(--spine)}
.chapter{position:relative;min-height:100vh;padding:70px clamp(20px,5vw,80px) 70px;border-bottom:1px solid rgba(212,166,74,.3);background:radial-gradient(1200px 600px at 70% 20%,rgba(30,58,120,.45),transparent 60%),var(--navy8);overflow:hidden}
.chapter::before{content:"";position:absolute;inset:18px;border:1px solid rgba(212,166,74,.28);pointer-events:none;outline:1px solid rgba(212,166,74,.12);outline-offset:4px}
.folio-head{position:absolute;top:26px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--gold);letter-spacing:.08em;z-index:3}
.folio-head>span:first-child{font-family:"PFSC",serif;font-weight:700;font-size:1rem}
.chapter.paper{background:#f3ead3 url(assets/img/guilloche.svg) no-repeat right -200px top -160px/700px;color:var(--ink)}
.chapter.paper::before{border-color:rgba(138,100,32,.45);outline-color:rgba(138,100,32,.2)}
.chapter.paper .folio-head{color:var(--goldd)}
.chapter.paper .h-xl,.chapter.paper .h-xl .w>span{background:linear-gradient(100deg,#0a1a3f,#24407a 50%,#0a1a3f);-webkit-background-clip:text;background-clip:text;color:transparent}
.chapter.oil{background:radial-gradient(900px 500px at 20% 0%,rgba(212,166,74,.12),transparent 60%),linear-gradient(180deg,#0b0b10,#07070a)}

/* ===== I. certificate ===== */
#cover{display:flex;align-items:center;justify-content:center;background:url(assets/img/guilloche.svg) no-repeat center/min(130vh,1200px),radial-gradient(900px 600px at 50% 40%,#16306b,transparent 70%),var(--navy9);}
#cover{background-blend-mode:soft-light,normal,normal}
.cover-wrap{width:100%;max-width:1120px;padding-top:20px}
.kicker{color:var(--goldl);text-align:center;margin:0 0 14px;font-size:1rem}
.cert-stage{perspective:1400px}
.cert{position:relative;border-radius:10px;background:linear-gradient(135deg,#0d1f4a,#09173a 45%,#102658);padding:clamp(14px,2.2vw,26px);box-shadow:0 40px 90px -30px #000,0 0 0 1px rgba(212,166,74,.6),0 0 0 8px #0a1a3f,0 0 0 9px rgba(212,166,74,.5);transform-style:preserve-3d;transition:transform .2s ease-out;--mx:50%;--my:50%}
.cert-foil{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(500px 300px at var(--mx) var(--my),rgba(255,236,170,.28),transparent 60%),linear-gradient(115deg,transparent 35%,rgba(255,220,140,.18) 45%,rgba(160,220,255,.1) 50%,rgba(255,180,220,.1) 55%,transparent 65%);background-size:100% 100%,250% 250%;background-position:0 0,var(--mx) var(--my);mix-blend-mode:screen;z-index:2}
.cert-guilloche{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);opacity:.7;pointer-events:none}
.cert-inner{position:relative;z-index:3;border:2px solid rgba(212,166,74,.7);border-radius:6px;padding:clamp(16px,2.6vw,34px);outline:1px solid rgba(212,166,74,.35);outline-offset:-8px;background:radial-gradient(closest-side,rgba(8,18,44,.55),rgba(8,18,44,.85))}
.cert-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--goldl);font-size:.8rem;border-bottom:1px solid rgba(212,166,74,.35);padding-bottom:10px}
.cert-top b{color:var(--red);font-weight:600;letter-spacing:.08em;background:var(--paper);padding:0 6px;border-radius:2px}
.cert-class{font-size:1rem}
.cert-body{display:grid;grid-template-columns:minmax(180px,34%) 1fr;gap:clamp(14px,3vw,40px);align-items:center;padding:18px 0 6px}
.cert-seal{position:relative;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#1d3f86 0%,#0a1a3f 62%);box-shadow:0 0 0 3px var(--gold),0 0 0 9px #0a1a3f,0 0 0 10px rgba(212,166,74,.6),0 0 60px rgba(212,166,74,.35);display:grid;place-items:end center;overflow:visible;transform:translateZ(40px)}
.cert-seal img{width:92%;margin-bottom:-6%;filter:drop-shadow(0 12px 20px rgba(0,0,0,.6))}
.cert-this{color:var(--goldl);margin:0;font-size:1.05rem}
.cert-title{font-size:clamp(2.4rem,5.3vw,4.9rem);line-height:.95;margin:.08em 0 .02em;transform:translateZ(30px)}
.cert-title>span,.cert-title .w{white-space:nowrap}
.cert-ticker{font-size:clamp(1.6rem,3vw,2.6rem);margin:0;letter-spacing:.12em}
.cert-desc{max-width:46ch;margin:.4em 0 0;color:rgba(243,234,211,.88)}
.cert-ca{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 14px;border:1px dashed rgba(212,166,74,.6);border-radius:4px;background:rgba(0,0,0,.25);color:var(--goldl)}
.ca-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--paper);font-size:.95rem}
.cert-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cert-sign{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:end;margin-top:18px;color:var(--goldl);font-size:.8rem;text-align:center}
.cert-sign>div:not(.emboss){border-top:1px solid rgba(212,166,74,.5);padding-top:4px;position:relative}
.sig{position:absolute;bottom:100%;left:10%;width:80%;height:auto;fill:none;stroke:var(--goldl);stroke-width:2;stroke-linecap:round}
.sig.big{position:relative;left:0;width:240px;stroke:#0a1a3f;stroke-width:2.4}
.emboss img{border-radius:50%;filter:drop-shadow(1px 1px 0 #fff4) drop-shadow(-1px -1px 0 #0008) grayscale(.2)}

/* ===== II. letter ===== */
.page-grid{display:grid;grid-template-columns:1fr 1.6fr .7fr;gap:clamp(20px,3vw,48px);max-width:1200px;margin:0 auto;padding-top:30px;align-items:start}
.letter-head{grid-column:1/-1}
.kicker-dark{color:var(--goldd);margin:0;font-size:1.1rem}
.letter-portrait{margin:0;text-align:center}
.oval{border-radius:50%/42%;overflow:hidden;background:radial-gradient(circle at 50% 30%,#24407a,#0a1a3f);border:3px solid var(--goldd);outline:1px solid var(--goldd);outline-offset:6px;aspect-ratio:3/4;display:grid;place-items:end center;padding-top:10%}
.oval img{width:82%}
.letter-portrait figcaption{margin-top:14px;color:var(--goldd)}
.letter-cols{columns:2 260px;column-gap:36px;font-size:1.04rem}
.letter-cols p{margin:0 0 1em}
.dropcap::first-letter{float:left;font-family:"PFSC",serif;font-weight:900;font-size:4.4em;line-height:.8;margin:.06em .1em 0 0;color:var(--red)}
.letter-sign{break-inside:avoid;color:var(--goldd)}
.margin-notes{font-size:.8rem;border-left:1px solid var(--goldd);padding-left:14px;color:#4b3f22}
.margin-notes span{color:var(--red);display:block}

/* ===== III. ops ===== */
.ops-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;max-width:1240px;margin:0 auto;padding-top:30px;align-items:center;min-height:calc(100vh - 140px)}
.ticker-clock{margin:22px 0;padding:16px 18px;border:1px solid rgba(212,166,74,.5);background:#000a;border-radius:6px}
.ticker-clock p{margin:0}
.ticker-clock .font-fell{color:var(--goldl)}
.clock{font-size:clamp(1.8rem,3.4vw,2.8rem);color:var(--goldl);text-shadow:0 0 20px rgba(212,166,74,.5);font-variant-numeric:tabular-nums}
.ops-stats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ops-stats li{border-top:2px solid var(--gold);padding-top:8px}
.ops-stats span{font-size:1.8rem;color:var(--paper);display:block}
.ops-stats small{color:var(--goldl);font-size:.8rem;line-height:1.2;display:block}
.ops-gif{width:150px;margin-top:18px;opacity:.9}
.ops-rig{position:relative;aspect-ratio:6/5}
#pumpjack{position:relative;width:100%;height:100%;z-index:2}
#gusher{position:absolute;inset:-10% -10% 0;width:120%;height:110%;z-index:1;pointer-events:none}

/* ===== IV. board ===== */
.board-wrap{max-width:1240px;margin:0 auto;padding-top:30px}
.board{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:22px}
.dir{grid-column:span 2;text-align:center}
.dir:nth-child(4),.dir:nth-child(5){grid-column:span 2}
.dir:nth-child(6){grid-column:span 2}
.frame{position:relative;aspect-ratio:4/5;border-radius:50%/44%;background:radial-gradient(circle at 50% 35%,#24407a,#060f26 75%);border:3px solid var(--gold);box-shadow:0 0 0 8px #0a1a3f,0 0 0 9px rgba(212,166,74,.55),0 25px 40px -20px #000;display:grid;place-items:end center;overflow:hidden;transition:transform .4s}
.frame img{width:78%;height:88%;object-fit:contain;object-position:bottom;transition:transform .5s}
.frame.wide img{width:96%;height:70%;margin-bottom:12%}
.dir:hover .frame{transform:translateY(-6px) rotate(-1deg)}.dir:hover .frame img{transform:scale(1.06)}
.plate{margin:18px auto 0;display:inline-flex;flex-direction:column;padding:8px 18px;background:var(--gl);color:#1a1204;border-radius:3px;box-shadow:0 4px 0 #6a4a14}
.plate b{font-size:1.05rem}.plate span{font-size:.82rem}
.board-gifs{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:50px;align-items:end}
.board-gifs figure{margin:0;text-align:center}.board-gifs img{height:120px;width:auto;margin:0 auto}
.board-gifs figcaption{font-size:.72rem;color:var(--goldl);margin-top:6px}

/* ===== V. calc ===== */
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1150px;margin:0 auto;align-items:center;min-height:calc(100vh - 140px);padding-top:30px}
.stamp-label{display:inline-block;color:var(--red);border:3px double var(--red);padding:4px 12px;transform:rotate(-4deg);font-size:.95rem;letter-spacing:.1em}
.calc{background:#fffaf0;border:1px solid var(--goldd);box-shadow:8px 8px 0 #0a1a3f;padding:28px;border-radius:4px;color:var(--ink)}
.calc label{font-size:1.15rem;color:var(--goldd)}
.calc-row{display:flex;gap:14px;align-items:center;margin:8px 0 18px}
.calc-row input{flex:1;accent-color:#b22234;height:28px}
.calc-row output{font-size:1.4rem;min-width:4ch;text-align:right}
.calc-out{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px}
.calc-out div{border-top:2px solid #0a1a3f;padding-top:6px}
.calc-out dt{font-size:.85rem;color:#5b4a28}.calc-out dd{margin:0;font-size:1.5rem;color:#0a1a3f}

/* ===== VI. vault ===== */
#vault{padding:0;min-height:auto}
#vault::before{z-index:4}
.vault-stage{position:relative;height:100vh;overflow:hidden}
html.rain-desktop #vault{height:330vh}
html.rain-desktop .vault-stage{position:sticky;top:0}
#rainCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.vault-head{position:relative;z-index:5;padding:80px 20px 0;text-align:center}
.vault-head .h-xl{margin-bottom:.15em}
.rain-btn{margin-top:14px}.rain-btn img{background:transparent;border-radius:0;padding:0}
.vault-floor{position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(180deg,transparent,rgba(212,166,74,.12)),repeating-linear-gradient(90deg,rgba(212,166,74,.1) 0 2px,transparent 2px 80px);border-top:1px solid rgba(212,166,74,.4);z-index:1}
.rain{list-style:none;margin:0;padding:0;position:absolute;inset:0;z-index:4;perspective:1200px;pointer-events:none}
.rain li{position:absolute;left:0;top:0;width:var(--cw,15vw);will-change:transform;pointer-events:auto}
.bill{display:block;width:100%;padding:8px 8px 6px;border:0;cursor:zoom-in;background:#f3ead3;border-radius:4px;box-shadow:0 18px 30px -12px rgba(0,0,0,.85),0 0 0 1px var(--goldd) inset,0 0 0 5px #f3ead3 inset,0 0 0 6px var(--gold) inset;transform-style:preserve-3d;backface-visibility:visible;text-align:left}
.bill img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.bill span{display:block;color:#3b2f14;font-size:.64rem;padding-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bill:hover{box-shadow:0 22px 40px -10px #000,0 0 0 2px var(--goldl),0 0 30px rgba(212,166,74,.5)}
/* fallback / mobile grid */
html:not(.rain-desktop) #vault .vault-stage{height:auto;padding-bottom:90px}
html:not(.rain-desktop) .rain{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:24px 18px 0;max-width:900px;margin:0 auto}
html:not(.rain-desktop) .rain li{position:relative;width:auto;transform:none}
html:not(.rain-desktop) .rain li:nth-child(odd){transform:rotate(-2deg)}
html:not(.rain-desktop) .rain li:nth-child(even){transform:rotate(2deg) translateY(12px)}
html.rain-mobile .rain li.pending{opacity:0}
html.rain-mobile .rain li.flutter{animation:flutter 1.3s cubic-bezier(.3,.6,.4,1) both}
@keyframes flutter{0%{opacity:0;transform:translate3d(30px,-160px,0) rotateX(60deg) rotateY(-30deg) rotateZ(-20deg)}35%{opacity:1;transform:translate3d(-20px,-70px,0) rotateX(-30deg) rotateY(20deg) rotateZ(10deg)}65%{transform:translate3d(10px,-20px,0) rotateX(15deg) rotateY(-10deg) rotateZ(-5deg)}100%{transform:translate3d(0,0,0) rotate(var(--rz,0deg))}}

/* ===== VII. subscription form ===== */
.form-sheet{max-width:980px;margin:30px auto 0;background:#fffaf0;border:1px solid var(--goldd);box-shadow:0 0 0 8px #f3ead3,0 0 0 9px var(--goldd),14px 14px 0 9px #0a1a3f;padding:clamp(20px,4vw,48px);position:relative}
.form-head{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:3px double var(--goldd);padding-bottom:10px}
.form-seal{width:80px;border-radius:50%;opacity:.95}
.clauses{list-style:none;padding:0;margin:16px 0}
.clause{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:16px 0;border-bottom:1px dotted #a08850}
.clause label{display:grid;grid-template-columns:30px 54px 1fr;gap:10px;cursor:pointer;align-items:start}
.tick{position:absolute;opacity:0;width:1px;height:1px}
.box{width:26px;height:26px;border:2px solid #0a1a3f;margin-top:4px;position:relative;background:#fff}
.tick:checked+.box::after,.clause.done .box::after{content:"";position:absolute;left:6px;top:-6px;width:10px;height:22px;border:solid var(--red);border-width:0 4px 4px 0;transform:rotate(40deg)}
.tick:focus-visible+.box{outline:2px solid var(--red);outline-offset:2px}
.cl-no{font-size:1.8rem;color:var(--red);line-height:1}
.cl-body b{color:#0a1a3f;font-size:1.1rem;display:block;font-family:"PFSC",serif}
.initials{color:#8a7344;font-size:.85rem;white-space:nowrap;padding-top:8px}
.inline-ca{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;background:#0a1a3f;color:var(--goldl);padding:5px 6px 5px 10px;border-radius:4px;max-width:100%}
.inline-ca code{overflow-wrap:anywhere;font-size:.85rem}
.form-foot{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-top:18px}
.sigline{flex:1;min-width:220px;color:#8a7344}.sigline i{display:block;border-bottom:1px solid #0a1a3f;height:34px}

/* ===== VIII. facts ===== */
.facts-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;max-width:1150px;margin:0 auto;align-items:center;min-height:calc(100vh - 140px);padding-top:30px}
.coin3d-wrap{perspective:1000px}
.coin3d{position:relative;width:min(340px,70vw);aspect-ratio:1;margin:0 auto 14px;transform-style:preserve-3d;cursor:grab;touch-action:pan-y}
.coin3d:active{cursor:grabbing}
.coin3d .face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;display:grid;place-items:center;overflow:hidden;box-shadow:0 0 0 6px #8a6420,0 0 0 10px #d4a64a,0 30px 60px -20px #000}
.coin3d .front img{width:100%;height:100%}
.coin3d .back{transform:rotateY(180deg);background:radial-gradient(circle at 35% 30%,#fff1c2,#d4a64a 45%,#8a6420);color:#3a2808;flex-direction:column;font-size:2.6rem;text-align:center}
.coin3d .back small{display:block;font-size:.8rem;letter-spacing:.2em}
.ledger{width:100%;border-collapse:collapse;font-size:1rem}
.ledger th,.ledger td{padding:12px 0;vertical-align:baseline}
.ledger th{text-align:left;color:var(--goldl);font-weight:400;white-space:nowrap;position:relative;overflow:hidden;width:42%}
.ledger th::after{content:" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .";position:absolute;color:rgba(212,166,74,.45);white-space:nowrap;padding-left:6px}
.ledger td{text-align:right;color:var(--paper);border-bottom:1px solid rgba(212,166,74,.2)}
.ledger .inline-ca{justify-content:flex-end}

/* ===== IX. chart ===== */
.chart-wrap{max-width:1200px;margin:0 auto;padding-top:34px}
.tape{overflow:hidden;white-space:nowrap;border-block:1px solid var(--gold);color:var(--goldl);font-size:.8rem;padding:6px 0;background:#000}
.tape-in{display:inline-block;animation:tape 30s linear infinite;padding-left:100%}
@keyframes tape{to{transform:translateX(-100%)}}
.chart-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:26px 0 16px;flex-wrap:wrap}
.chart-frame{position:relative;height:min(70vh,620px);min-height:420px;border:1px solid var(--gold);border-radius:6px;overflow:hidden;background:repeating-linear-gradient(0deg,rgba(212,166,74,.06) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(212,166,74,.06) 0 1px,transparent 1px 40px),#050508}
.chart-frame iframe{width:100%;height:100%;border:0;display:block}
.chart-overlay{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:20px;background:rgba(5,5,8,.7);backdrop-filter:blur(3px)}
.chart-overlay .font-display{font-size:2rem;color:var(--goldl);margin:0}
.chart-overlay p{margin:0}
.chart-overlay img{border-radius:10px}
.notary{margin-top:10px;border:3px double var(--red);color:var(--red);padding:4px 14px;transform:rotate(-6deg);font-size:1.1rem}

/* ===== X. risk ===== */
.risk{max-width:980px;margin:0 auto;padding-top:40px}
#risk{min-height:auto}
.risk-box{border:3px solid var(--red);outline:1px solid var(--red);outline-offset:5px;background:#fffaf0;padding:clamp(18px,3vw,36px);font-size:1.08rem}
.risk-box p{margin:0 0 1em}.risk-box p:last-child{margin:0}
.risk-box b{color:#0a1a3f}

/* ===== back cover ===== */
.back{background:#060f26;text-align:center;padding-bottom:40px;border-top:2px solid var(--gold)}
.back-banner{width:100%;max-height:420px;object-fit:cover}
.back-in{padding:24px 20px 0}
.back-title{font-size:clamp(1.6rem,3.4vw,2.8rem);margin:0}
.back-in .font-fell{color:var(--goldl)}
.back-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0}

/* ===== mobile chrome ===== */
#folioBar,#ticket,#indexDrawer{display:none}
#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;z-index:300;background:var(--paper);color:#0a1a3f;border:2px solid var(--gold);padding:10px 18px;border-radius:4px;font:600 .92rem "PlexC",sans-serif;transition:.3s;pointer-events:none;max-width:90vw;text-align:center}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* lightbox */
#lightbox{position:fixed;inset:0;z-index:250;background:rgba(3,6,16,.94);display:flex;align-items:center;justify-content:center;padding:20px}
#lightbox[hidden]{display:none}
#lightbox figure{margin:0;max-width:min(1100px,86vw);text-align:center}
#lightbox img{max-height:78vh;width:auto;margin:0 auto;border:6px solid var(--paper);box-shadow:0 0 0 1px var(--gold),0 30px 80px #000}
#lightbox figcaption{color:var(--goldl);margin-top:12px}
#lightbox button{position:absolute;background:rgba(212,166,74,.15);border:1px solid var(--gold);color:var(--paper);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.lb-close{top:18px;right:18px}.lb-prev{left:18px;top:50%}.lb-next{right:18px;top:50%}

/* coin cursor */
#cursor{position:fixed;left:0;top:0;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1c2,#d4a64a 50%,#8a6420);box-shadow:0 0 0 2px #8a6420,0 4px 10px rgba(0,0,0,.5);pointer-events:none;z-index:400;opacity:0;transition:width .2s,height .2s,margin .2s,opacity .3s}
#cursor::after{content:"$";position:absolute;inset:0;display:grid;place-items:center;font:900 15px "PFSC",serif;color:#5a3d0c}
html.has-cursor #cursor{opacity:1}
#cursor.big{width:48px;height:48px;margin:-24px 0 0 -24px}

/* reveal (only when anim enabled) */
html.anim .reveal{opacity:0;transform:translateY(30px)}

@media (max-width:1023px){
  :root{--spine:0px}
  #spine{display:none}
  body{font-size:16px}
  #folioBar{display:flex;position:fixed;top:0;left:0;right:0;z-index:70;height:54px;align-items:center;gap:8px;padding:0 10px;background:rgba(6,15,38,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(212,166,74,.45)}
  .fb-brand{display:flex;align-items:center;gap:6px;color:var(--goldl);text-decoration:none;font-size:1rem}
  .fb-brand img{border-radius:50%}
  .fb-index{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:1px solid rgba(212,166,74,.4);color:var(--paper);border-radius:999px;padding:6px 10px;font-size:.85rem;white-space:nowrap;overflow:hidden}
  .fb-index span{overflow:hidden;text-overflow:ellipsis}
  .fb-buy{display:flex;align-items:center;gap:6px;background:var(--gl);color:#1a1204;font-weight:700;text-decoration:none;padding:8px 14px;border-radius:999px;font-size:.9rem}
  .fb-buy img{background:#fff;border-radius:50%;padding:1px}
  #indexDrawer:not([hidden]){display:block;position:fixed;top:54px;left:0;right:0;z-index:69;background:#060f26;border-bottom:1px solid var(--gold);padding:8px 14px 14px;max-height:70vh;overflow:auto}
  #indexDrawer ol{list-style:none;margin:0;padding:0}
  #indexDrawer a{display:flex;gap:12px;padding:10px 4px;color:var(--paper);text-decoration:none;border-bottom:1px dotted rgba(212,166,74,.3)}
  #indexDrawer a .num{color:var(--gold);font-family:"PFSC",serif;font-weight:700;width:40px}
  #ticket{display:grid;grid-template-columns:1fr auto auto;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;background:var(--gl);border-radius:10px;box-shadow:0 12px 30px -8px #000;overflow:hidden;
    -webkit-mask:radial-gradient(circle 7px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 7px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
  #ticket>*{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;color:#1a1204;font-weight:700;text-decoration:none;background:none;border:0;font:700 .95rem "PlexC",sans-serif}
  #ticket>*+*{border-left:2px dashed rgba(60,40,8,.55)}
  #ticket img{border-radius:50%;background:#fff;padding:1px}
  .chapter{padding:84px 18px 60px;min-height:auto}
  .chapter::before{inset:8px}
  .folio-head{top:64px;left:18px;right:18px;font-size:.66rem}
  .folio-head>span:nth-child(2){display:none}
  #cover{padding-top:96px;min-height:100svh;align-items:flex-start}
  .kicker{font-size:.82rem;margin-bottom:8px}
  .cert-body{grid-template-columns:1fr;justify-items:center;text-align:center;padding-top:10px}
  .cert-seal{width:44%;min-width:0}
  .cert-top{font-size:.66rem;justify-content:center}.cert-class{display:none}
  .cert-title{font-size:clamp(2rem,10.4vw,3.4rem)}
  .cert-desc{font-size:.92rem;margin-inline:auto}
  .cert-actions{justify-content:center}
  .cert-actions .btn-buy{flex:1 1 100%;order:-1}
  .cert-sign{display:none}
  .page-grid,.ops-grid,.calc-wrap,.facts-grid{grid-template-columns:1fr;min-height:0;padding-top:20px}
  .letter-portrait{max-width:240px;margin:0 auto}
  .margin-notes{border-left:0;border-top:1px solid var(--goldd);padding:10px 0 0}
  .board{grid-template-columns:repeat(2,1fr);gap:16px}
  .dir,.dir:nth-child(n){grid-column:span 1}
  .plate{padding:6px 8px}.plate b{font-size:.85rem}.plate span{font-size:.7rem}
  .calc-out{grid-template-columns:1fr}
  .clause{grid-template-columns:1fr}.initials{display:none}
  .clause label{grid-template-columns:28px 40px 1fr}
  .cl-no{font-size:1.3rem}
  .form-sheet{box-shadow:0 0 0 5px #f3ead3,0 0 0 6px var(--goldd)}
  .ledger th{width:auto}
  .ledger td{font-size:.88rem}
  .chart-frame{min-height:380px;height:60vh}
  .back{padding-bottom:100px}
  #toast{bottom:84px}
  .vault-head{padding-top:100px}
}
@media (max-width:420px){.ledger th::after{display:none}.ledger th,.ledger td{display:block;text-align:left;width:auto;padding:4px 0}.ledger th{padding-top:12px}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  #intro{display:none}
  .tape-in{animation:none;padding-left:0}
}
html.js .split{background:none!important;-webkit-background-clip:border-box;background-clip:border-box}
html.rain-desktop #vault{overflow:visible}
