/* Centrifuge's reader is an isolated, static-site component. */
.reader-section{padding:64px 0 72px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(8,17,16,.64),rgba(8,17,16,.25) 53%,rgba(8,17,16,.06)),url('retro-science-excavation.jpg') center center/cover no-repeat}
.reader-section-inner{text-align:left}
.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,552px);align-items:center;gap:clamp(32px,4vw,64px);max-width:1440px;margin:0 auto}
.reader-mobile-heading{display:none}
.reader-scene-copy{color:#fff3d7;padding:20px 0;text-shadow:0 2px 14px #0006}
.reader-scene-eyebrow{font:700 clamp(16px,1.6vw,23px)/1.3 var(--display);letter-spacing:.03em;margin:0 0 20px}
.reader-scene-copy h2{font:900 clamp(48px,6.6vw,110px)/.88 var(--display);letter-spacing:-.05em;text-transform:uppercase;margin:0 0 20px;white-space:nowrap}
.reader-scene-subtitle{font:700 clamp(22px,2.55vw,38px)/1.15 var(--display);margin:0;max-width:620px}
.reader-scene-rule{display:block;width:180px;height:5px;margin-top:25px;background:var(--red)}
.reader-size-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reader-mobile-heading h2{font:900 clamp(42px,5vw,76px)/.9 var(--display);text-transform:uppercase;letter-spacing:-.035em;margin:12px auto 44px;max-width:850px}
.reader-hero-link{display:inline-block;margin-top:18px;color:var(--red-dark);font:800 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:18px}.hero-actions .button,.hero-actions .reader-hero-link{margin:0;white-space:nowrap}
.reader{--reader-text:17px;--page:0;--gap:28px;position:relative;box-sizing:border-box;width:min(552px,100%);margin:auto;padding:0 22px 19px;color:var(--ink);background:linear-gradient(100deg,#b6b9b2 0%,#f6f5e8 3%,#d6d9d1 11%,#f1eee0 50%,#c9ccc4 89%,#faf7e8 97%,#8d9895 100%);border:2px solid #697475;border-radius:33px 33px 40px 40px;box-shadow:inset 0 0 0 3px #faf9ec,inset 0 -16px 24px #929b9655,0 8px 0 #596261,0 24px 44px #0b111230;text-align:left}
.reader *{box-sizing:border-box}
.reader-crown{height:72px;display:flex;align-items:center;justify-content:center;position:relative}
.reader-nameplate{display:inline-block;padding:8px 22px 7px;border:1px solid #8a938f;border-bottom-color:#fffdf0;border-radius:3px;background:linear-gradient(#d7ddda,#f5f3e7 48%,#b4beb9);box-shadow:0 1px 3px #313b3a66;color:#202b2b;text-shadow:0 1px #fff;font:900 16px var(--display);letter-spacing:.23em}
.reader-jewel{position:absolute;left:14px;top:27px;width:16px;height:16px;border:3px solid #8f958e;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffa69a,#9e231e 60%,#4c1616);box-shadow:inset 0 1px 2px #250a08,0 1px 2px white}
.reader.is-awake .reader-jewel{box-shadow:0 0 9px #c63b2e99,inset 0 1px 2px #250a08,0 1px 2px white}
.reader-crown-dot{position:absolute;right:15px;width:5px;height:5px;border-radius:50%;background:#56615c;box-shadow:0 1px white}
.reader-bezel{position:relative;padding:23px;background:linear-gradient(130deg,#a5aaa6,#e1e5e0 13%,#667170 46%,#b6beb9 76%,#f0eee2);border:1px solid #4f5a58;border-radius:27px;box-shadow:inset 0 2px 3px #fff9,0 3px 5px #35413f66}
.reader-screw{position:absolute;width:10px;height:10px;border-radius:50%;background:linear-gradient(140deg,#e8ebe2,#67716c);border:1px solid #52605b;box-shadow:0 1px 1px #fff8}
.reader-screw::after{content:"";position:absolute;top:3px;left:1px;width:6px;border-top:1px solid #45514c;transform:rotate(-35deg)}
.reader-screw-tl{top:7px;left:9px}.reader-screw-tr{top:7px;right:9px}.reader-screw-bl{bottom:7px;left:9px}.reader-screw-br{bottom:7px;right:9px}
.reader-screen{position:relative;overflow-y:auto;max-height:520px;background:var(--paper-soft);border:7px solid #202a2b;border-radius:25px;box-shadow:inset 0 0 24px #918b7155,0 0 0 1px #e6e4d7}
.reader-flow{font:var(--reader-text)/1.55 'Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;padding:34px 36px 38px;text-align:left;overflow-wrap:break-word;hyphens:auto}
.reader-flow p{margin:0 0 1.15em}.reader-flow h3{font:700 1.4em/1.1 'Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;margin:0 0 1em}
.reader-flow h4{font:italic 400 1.1em/1.3 'Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;margin:1.6em 0 .8em;break-after:avoid;hyphens:none}
.reader-flow .reader-chapter-number{font:700 2em/1 var(--display);margin-bottom:.6em;break-after:avoid}
.reader-flow .reader-epigraph{font-style:italic;margin-bottom:2em}
.reader-flow hr{border:0;width:48px;border-top:1px solid #aa9b7e;margin:2.2em auto}
.reader-titlecard{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;break-after:column;padding:15px}
.reader-titlecard strong{font:900 clamp(29px,6vw,39px)/.95 var(--display);letter-spacing:.02em}
.reader-titlecard span{font-size:.9em;line-height:1.25}.reader-titlecard small{font:700 11px var(--sans);letter-spacing:.17em;margin-top:20px}
.reader-endcard{break-before:column;padding:55px 4px 30px;text-align:center;font-size:.84em}.reader-endcard p{margin-bottom:1.25em}.reader-endcard a{display:inline-block;color:var(--red-dark);font-weight:700;text-underline-offset:4px}
.reader-glass{position:absolute;inset:0;border-radius:17px;pointer-events:none;background:linear-gradient(125deg,#fff8 0%,#fff0 21%,#fff1 57%,#fff5 100%);box-shadow:inset 0 0 24px #0b11121c}
.reader.is-paged .reader-screen{height:500px;max-height:none;overflow:hidden;padding:22px 0}
.reader.is-paged .reader-flow{height:100%;width:100%;padding:0;column-width:var(--page-w);column-gap:var(--gap);column-fill:auto;transform:translateX(calc(var(--page) * -1 * (var(--page-w) + var(--gap))));transition:transform .18s ease}
.reader.is-paged .reader-flow>*{margin-left:34px;margin-right:34px}
.reader.is-paged .reader-flow>:first-child{margin-top:0}
.reader.is-paged .reader-titlecard{height:100%;min-height:0}
.reader.is-paged .reader-flow h3{padding-top:4px}
.reader.is-paged .reader-endcard{padding-top:12px}
.reader.is-paged .reader-screen{touch-action:pan-y}
.reader-deck{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px 13px;align-items:center;padding:23px 5px 13px}
.reader-counter{grid-column:1/-1;justify-self:center;padding:7px 14px;background:#192223;color:#efe8d2;border:3px inset #65716a;border-radius:4px;box-shadow:inset 0 2px 6px #0009;font:700 13px var(--sans);text-transform:uppercase;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.reader-counter span{display:inline-block;min-width:2.2ch;text-align:center;background:repeating-linear-gradient(0deg,#2e3837,#2e3837 13px,#121a1a 14px);padding:3px 2px;border-left:1px solid #849088;border-right:1px solid #849088}
.reader button{cursor:pointer}.reader button:focus-visible,.reader a:focus-visible,.reader:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.reader-key{min-height:55px;border:1px solid #11191a;border-radius:6px;background:linear-gradient(#334042,#111a1b);box-shadow:inset 0 2px 1px #ffffff47,0 4px 0 #080e0e;color:#fff5db;font:800 12px var(--sans);text-transform:uppercase;letter-spacing:.13em}
.reader-key:hover:not(:disabled){background:#374446}.reader-key:disabled{opacity:.45;cursor:default}
.reader-back{grid-column:1}.reader-forward{grid-column:3}
.reader-type{grid-column:1/3;display:flex;gap:7px;align-items:center;font:800 11px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.reader-type span{margin-right:8px}.reader-type button{width:44px;height:44px;border:1px solid #7b8176;border-radius:50%;background:#eeeade;color:#182123;font:700 17px Georgia,serif}.reader-type button{font-size:18px;letter-spacing:-.07em}.reader-type button:disabled{opacity:.4;cursor:default}.reader-type button:hover:not(:disabled){background:#283334;color:#fff3df}
.reader-enlarge{min-height:44px;padding:8px;border:1px solid #6b756e;border-radius:3px;background:#deded1;color:#182123;font:800 10px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.reader-grille{width:50%;height:30px;margin:3px auto 0;border-radius:4px;background:repeating-linear-gradient(0deg,#596561 0 2px,#e2e3d7 2px 6px);box-shadow:inset 0 1px 3px #3c4745}
.reader.is-enlarged{position:fixed;z-index:101;left:50%;top:50%;transform:translate(-50%,-50%);width:min(600px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;margin:0}
.reader-backdrop{position:fixed;z-index:100;inset:0;background:#0b1112d9}
.reader.is-enlarged .reader-screen{height:min(55dvh,620px)}
.reader.is-enlarged .reader-enlarge{background:#283334;color:#fff3df}
.reader.is-warming .reader-glass{animation:reader-warm .6s ease-out}
@keyframes reader-warm{0%{background:#fff6df;clip-path:inset(49% 0)}100%{background:transparent;clip-path:inset(0)}}
@media(max-width:1050px){.reader-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px}.reader-scene-copy h2{font-size:clamp(42px,5.8vw,61px)}.reader-scene-subtitle{font-size:24px}}
@media(max-width:800px){.reader-layout{display:block}.reader-scene-copy{display:none}.reader-mobile-heading{display:block}.reader-section-inner{text-align:center}.reader-section{padding:52px 0 65px;background:var(--paper)}.reader-mobile-heading h2{margin-bottom:30px}.reader{--reader-text:17px;padding:0 12px 14px;border-radius:25px}.reader-crown{height:59px}.reader-nameplate{font-size:12px;letter-spacing:.14em;padding:6px 10px}.reader-jewel{left:6px;top:22px}.reader-bezel{padding:16px;border-radius:20px}.reader-screen{border-width:5px;border-radius:19px}.reader.is-paged .reader-screen{height:clamp(390px,120vw,490px)}.reader-flow{font-size:17px;padding:24px 20px}.reader.is-paged .reader-flow{font-size:var(--reader-text)}.reader.is-paged .reader-flow>*{margin-left:18px;margin-right:18px}.reader-deck{gap:11px;padding-top:18px}.reader-key{min-height:51px}.reader-counter{font-size:11px}.reader.is-enlarged .reader-screen{height:min(57dvh,570px)}}
@media(max-width:400px){.reader-section-inner{width:calc(100% - 28px)}.reader{padding-inline:9px}.reader-bezel{padding:13px}.reader.is-paged .reader-flow>*{margin-left:14px;margin-right:14px}.reader-type span{margin-right:0}}
@media(prefers-reduced-motion:reduce){.reader.is-paged .reader-flow{transition:none}}
