/* Approved opening presentation; atmosphere is painted behind stable text. */
.sfv-excerpt-actions{margin:2px 0 14px}
.sfv-excerpt-open{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid #d8b36399;border-radius:3px;background:linear-gradient(150deg,#2d20155c,#110b0d);color:#f2d799;font:700 11px/1.4 var(--mono,"Space Mono",monospace);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px 0 #fff0be22,0 0 13px #e4ab361a}
.sfv-excerpt-open[hidden]{display:none!important}
.sfv-excerpt-open::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,#ffe4a42b 48%,transparent 66%);transform:translateX(-140%);animation:sfv-excerpt-invite 7s ease-in-out infinite}
.sfv-excerpt-open>span{position:relative;z-index:1}
@keyframes sfv-excerpt-invite{0%{transform:translateX(-140%)}28%,100%{transform:translateX(140%)}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.sfv-excerpt-open::after{display:none;animation:none}}
.sfv-excerpt-open:hover{border-color:#f1d58c;box-shadow:inset 0 1px 0 #fff0be33,0 0 16px #e4ab3629}
.sfv-excerpt-open:focus-visible,.sfv-excerpt-close:focus-visible,.sfv-excerpt-pause:focus-visible,.sfv-excerpt-scroll:focus-visible{outline:2px solid #f4d98f;outline-offset:4px}
.sfv-excerpt-open-mark{color:#f8d999;font-size:15px;line-height:1}

body:has(.sfv-excerpt-nojs[open]) .stage{z-index:100}
.sfv-excerpt-nojs summary{min-height:44px;padding:12px;color:#e4c18a;cursor:pointer}
.sfv-excerpt-nojs[open]{position:fixed;inset:10px;z-index:50;overflow:auto;overscroll-behavior:contain;padding:16px 22px;background:#171416;border:1px solid #8d7754;text-align:left}
.sfv-excerpt-nojs[open] summary{position:sticky;top:-16px;background:#171416;z-index:2}
.sfv-excerpt-nojs-note{font:12px/1.6 Georgia,serif;color:#bba784}
.sfv-excerpt-title:focus{outline:none}
@font-face{font-family:SFVBook;src:url('/assets/fonts/source-serif-4-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:SFVBook;src:url('/assets/fonts/source-serif-4-bold.woff2') format('woff2');font-weight:700;font-display:swap}
.sfv-excerpt-dialog{--glow:#d29a43;--veil:#b07036;position:fixed;width:min(760px,calc(100% - 24px));height:min(920px,calc(100dvh - 24px));max-height:none;max-width:none;padding:0;margin:auto;overflow:visible;border:0;border-radius:2px 9px 9px 2px;background:#171214;color:#ecdfc9;box-shadow:-8px 0 0 #291c1c,5px 1px 0 #675241,8px 2px 0 #322620,11px 3px 0 #584838,15px 8px 35px #000b}
.sfv-excerpt-dialog::backdrop{background:radial-gradient(ellipse at 50% 45%,#160e14,#040204 75%);backdrop-filter:none}
.sfv-excerpt-dialog[open]{display:block}.sfv-excerpt-shell{position:relative;isolation:isolate;height:100%;max-height:none;display:flex;flex-direction:column;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#090607 0,#2a1c1e 2%,#171214 7%,#171214 95%,#281d1a);perspective:1400px}
.sfv-excerpt-shell::after{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid #b4935033;border-radius:1px;box-shadow:inset 5px 0 12px #0007;z-index:5}
.sfv-excerpt-header{display:flex;justify-content:flex-end;flex:none;padding:9px 22px 0;background:none;border:0;min-height:44px}.sfv-excerpt-close{min-height:36px;border:0;background:transparent;font:11px var(--mono,monospace);color:#d1b789;padding:8px;z-index:8}
.sfv-excerpt-scroll{position:relative;flex:1;min-height:0;overflow:hidden;padding:0;margin:18px clamp(30px,7vw,68px) 8px;isolation:isolate;background:#171214;z-index:3;outline-offset:4px}.sfv-excerpt-scroll::before,.sfv-excerpt-scroll::after{display:none}
.sfv-excerpt-prose{box-sizing:border-box;position:relative;max-width:none;margin:0;width:100%;height:100%;column-fill:auto;column-gap:48px;column-count:1;column-width:auto;font:400 19px/1.58 SFVBook,Georgia,serif;letter-spacing:0;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3;overflow-wrap:normal;color:#ecdfce;transition:none;will-change:transform}
.sfv-excerpt-paragraph{margin:0;text-indent:1.25em;orphans:2;widows:2;font:inherit;line-height:inherit;color:inherit}.sfv-excerpt-paragraph:first-of-type,.sfv-excerpt-divider+.sfv-excerpt-paragraph{text-indent:0}.sfv-excerpt-divider{width:42px;border:0;border-top:1px solid #ae884b88;margin:1.4em auto;break-after:avoid}.sfv-excerpt-title{font:400 clamp(24px,4vw,33px)/1.2 SFVBook,Georgia,serif;letter-spacing:.015em;text-align:left;color:#e6c689;margin:12px 0 20px;padding:0;break-after:avoid;max-width:100%}.sfv-excerpt-eyebrow{font:10px/1.5 var(--mono,monospace);color:#be9960;letter-spacing:.17em;text-align:left;margin:0 0 10px}.sfv-excerpt-description{font:11px/1.6 SFVBook,serif;text-align:left;color:#b4a28c;margin:0 0 26px;break-after:avoid}.sfv-book-titleblock{break-inside:avoid}.sfv-excerpt-footer{padding:24px 0 0;margin:0;border:0;font:12px/1.6 SFVBook,serif;text-align:left;break-inside:avoid;color:#bca47d}
.sfv-book-navigation{position:relative;z-index:7;display:flex;align-items:center;justify-content:space-between;padding:7px 25px 15px;min-height:44px;flex:none}.sfv-book-navigation button{border:0;background:transparent;color:#d1b789;min-width:64px;min-height:44px;font:20px SFVBook,serif;cursor:pointer}.sfv-book-navigation button:disabled{opacity:.25;cursor:default}.sfv-book-position{font:11px/1.5 var(--mono,monospace);color:#bda98c}.sfv-book-navigation button:focus-visible{outline:1px solid #ddb96d;outline-offset:0}
.sfv-book-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2;mask-image:linear-gradient(90deg,#000 0,transparent 10%,transparent 90%,#000),linear-gradient(#000,transparent 15%,transparent 86%,#000);-webkit-mask-image:linear-gradient(90deg,#000 0,transparent 10%,transparent 90%,#000),linear-gradient(#000,transparent 15%,transparent 86%,#000)}
.sfv-book-atmosphere::before,.sfv-book-atmosphere::after{content:'';position:absolute;inset:-30%;background:radial-gradient(ellipse at 15% 65%,var(--glow) 0,transparent 36%),radial-gradient(ellipse at 88% 28%,var(--veil),transparent 30%);opacity:.43;filter:blur(14px);animation:sfv-book-breathe 12s ease-in-out infinite alternate}.sfv-book-atmosphere::after{background:repeating-linear-gradient(116deg,transparent 0 22%,#050206bb 26% 32%,transparent 37% 50%);filter:blur(12px);opacity:.75;animation:sfv-book-shadow 19s ease-in-out infinite alternate}
.sfv-book-atmosphere i{position:absolute;bottom:-6px;left:calc(3% + var(--n)*13%);width:3px;height:3px;border-radius:50%;background:#f2ba6a;box-shadow:0 0 9px 2px var(--glow);animation:sfv-book-ember calc(9s + var(--n)*1s) linear infinite;animation-delay:calc(var(--n)*-2s)}
.sfv-excerpt-dialog[data-scene=cut]{--glow:#beb4a7;--veil:#766877}.sfv-excerpt-dialog[data-scene=exposure]{--glow:#d44856;--veil:#9d203c}.sfv-excerpt-dialog[data-scene=phone]{--glow:#b5a6d5;--veil:#756383}.sfv-excerpt-dialog[data-scene=decision]{--glow:#e5b45f;--veil:#a84938}
.sfv-book-cover{position:absolute;inset:0;z-index:10;pointer-events:none;transform-origin:left center;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:45px;background:linear-gradient(95deg,#080507,#352025 3%,#170d11 9%,#160d10 85%,#241419);border:1px solid #9c733e;border-radius:2px 7px 7px 2px;box-shadow:inset 0 0 0 12px #170d11,inset 0 0 0 13px #9c733e66,15px 0 28px #0008;color:#d8b779;text-align:center}.sfv-book-cover b{font:400 clamp(32px,7vw,52px)/1.13 SFVBook,serif;max-width:420px}.sfv-book-cover span{font:11px/1.7 var(--mono,monospace);letter-spacing:.18em}.sfv-book-cover em{font-style:normal;font-size:34px;color:#b99151}.sfv-excerpt-dialog[data-arriving=true] .sfv-book-cover{animation:sfv-book-open .95s ease-in-out both}.sfv-excerpt-dialog[data-arriving=false] .sfv-book-cover{display:none}.sfv-excerpt-dialog[data-turn=next] .sfv-excerpt-scroll{animation:sfv-book-next .32s ease-out}.sfv-excerpt-dialog[data-turn=previous] .sfv-excerpt-scroll{animation:sfv-book-previous .32s ease-out}
@keyframes sfv-book-open{0%,12%{transform:rotateY(0)}100%{transform:rotateY(-105deg)}}@keyframes sfv-book-next{from{opacity:.25;transform:perspective(900px) rotateY(5deg);filter:brightness(.6)}to{opacity:1;transform:none;filter:none}}@keyframes sfv-book-previous{from{opacity:.25;transform:perspective(900px) rotateY(-5deg);filter:brightness(.6)}to{opacity:1;transform:none;filter:none}}@keyframes sfv-book-breathe{from{transform:translate(-4%,2%) scale(.95);opacity:.35}to{transform:translate(5%,-5%) scale(1.12);opacity:.65}}@keyframes sfv-book-shadow{from{transform:translateX(-9%) rotate(-8deg)}to{transform:translateX(12%) rotate(9deg)}}@keyframes sfv-book-ember{0%{transform:translate(0,0);opacity:0}12%,65%{opacity:.8}100%{transform:translate(20px,-85vh);opacity:0}}
.sfv-excerpt-dialog[data-motion=off] .sfv-book-atmosphere *,.sfv-excerpt-dialog[data-motion=off] .sfv-book-atmosphere::before,.sfv-excerpt-dialog[data-motion=off] .sfv-book-atmosphere::after{animation-play-state:paused}.sfv-excerpt-dialog[data-reduced=true] *,.sfv-excerpt-dialog[data-reduced=true] *::before,.sfv-excerpt-dialog[data-reduced=true] *::after{animation:none!important;transition:none!important}.sfv-excerpt-dialog[data-reduced=true] .sfv-book-cover{display:none}
.sfv-excerpt-nojs .sfv-excerpt-prose{height:auto;columns:auto;transform:none;font-family:SFVBook,Georgia,serif;text-align:justify;hyphens:auto}.sfv-excerpt-nojs .sfv-excerpt-paragraph{margin:0;text-indent:1.25em}
@media(max-width:600px){.sfv-excerpt-dialog{width:calc(100% - 22px);height:calc(100dvh - 22px)}.sfv-excerpt-header{padding:5px 16px 0}.sfv-excerpt-scroll{margin:15px 27px 4px;padding:0}.sfv-excerpt-prose{font-size:17px;line-height:1.58}.sfv-excerpt-title{font-size:25px;line-height:1.2}.sfv-book-navigation{padding:3px 16px 10px}.sfv-excerpt-shell{max-height:none}.sfv-excerpt-footer{padding:24px 0 0}}
@media(max-height:430px){.sfv-excerpt-dialog{height:calc(100dvh - 12px)}.sfv-excerpt-header{min-height:30px;padding:0 16px}.sfv-excerpt-close{min-height:30px}.sfv-excerpt-scroll{margin-block:2px}.sfv-book-navigation{min-height:34px;padding-block:0}.sfv-book-navigation button{min-height:34px}.sfv-excerpt-title{font-size:22px}.sfv-excerpt-prose{font-size:16px;line-height:1.5}.sfv-excerpt-description{margin-bottom:12px}}
/* Paper layers, not a gilded frame. */
.sfv-excerpt-dialog{background:#171416;border-radius:1px 5px 5px 1px;box-shadow:-7px 0 0 #2b151c,2px 1px 0 #9c9284,4px 2px 0 #292426,6px 3px 0 #8f8576,8px 4px 0 #242021,10px 5px 0 #786e63,15px 10px 32px #000d}
.sfv-excerpt-shell{background:linear-gradient(90deg,#080607,#302527 1.5%,#171416 6%,#171416 98%,#100b0d)}.sfv-excerpt-shell::after{inset:0;border:0;border-radius:inherit;box-shadow:inset 8px 0 12px #0007,inset -2px 0 2px #d5c4a933}.sfv-excerpt-scroll{background:#171416}.sfv-excerpt-prose{color:#ddd2c4;font-synthesis:none}.sfv-excerpt-title{font-weight:400}.sfv-excerpt-prose strong{font-weight:700}
.sfv-book-event{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden;mask-image:linear-gradient(90deg,#000,transparent 9%,transparent 91%,#000),linear-gradient(#000,transparent 10%,transparent 90%,#000)}
.sfv-book-event::before,.sfv-book-event::after{content:'';position:absolute;inset:-20%;opacity:0;transform-origin:center;filter:blur(3px)}
.sfv-excerpt-dialog[data-scene-entry=trust] .sfv-book-event::before{background:conic-gradient(from 210deg at 0% 100%,transparent 0deg,#e6bc73aa 20deg,transparent 45deg);animation:sfv-welcome 3.2s ease-out both}
.sfv-excerpt-dialog[data-scene-entry=cut] .sfv-book-event::before{background:linear-gradient(112deg,transparent 25%,#d1c6b58c 30%,#050205 32% 52%,transparent 58%);animation:sfv-cut 2.8s ease-in-out both}
.sfv-excerpt-dialog[data-scene-entry=exposure] .sfv-book-event::before{background:radial-gradient(ellipse at 0 70%,#f37463cc,transparent 30%),radial-gradient(ellipse at 100% 25%,#bd2946dd,transparent 40%);animation:sfv-exposure 3.6s ease-out both}.sfv-excerpt-dialog[data-scene=exposure] .sfv-book-atmosphere::after{filter:blur(6px);animation-duration:10s}
.sfv-excerpt-dialog[data-scene-entry=phone] .sfv-book-event::before{background:linear-gradient(0deg,#ddd6ebbb,transparent 42%);animation:sfv-phone 2.8s ease-out both}.sfv-excerpt-dialog[data-scene=phone] .sfv-book-atmosphere::before{background:radial-gradient(ellipse at 95% 88%,#cabbe2,transparent 40%),radial-gradient(ellipse at 0 30%,#504960,transparent 34%)}
.sfv-excerpt-dialog[data-scene-entry=decision] .sfv-book-event::before{background:linear-gradient(90deg,#ffe4a9cc,transparent 20%,transparent 80%,#9c304ab0);animation:sfv-decision 3.4s ease-out both}
@keyframes sfv-welcome{0%{opacity:0;transform:rotate(-30deg)}35%{opacity:1}100%{opacity:0;transform:rotate(20deg)}}@keyframes sfv-cut{0%{opacity:0;transform:translateX(-60%)}35%,65%{opacity:1}100%{opacity:0;transform:translateX(55%)}}@keyframes sfv-exposure{0%{opacity:0;transform:scale(.65)}30%,60%{opacity:1}100%{opacity:0;transform:scale(1.2)}}@keyframes sfv-phone{0%{opacity:0;transform:translateY(80%)}40%{opacity:.95}100%{opacity:0;transform:translateY(-40%)}}@keyframes sfv-decision{0%{opacity:0;transform:scaleX(.5)}40%,60%{opacity:1}100%{opacity:0;transform:scaleX(1.2)}}
.sfv-excerpt-dialog[data-motion=off] .sfv-book-event::before,.sfv-excerpt-dialog[data-motion=off] .sfv-book-event::after{animation-play-state:paused}
@media(forced-colors:active){.sfv-book-atmosphere,.sfv-book-event,.sfv-book-cover,.sfv-book-canvas{display:none}.sfv-excerpt-dialog,.sfv-excerpt-shell,.sfv-excerpt-scroll{background:Canvas;color:CanvasText;box-shadow:none;border:1px solid CanvasText}.sfv-excerpt-prose,.sfv-excerpt-title,.sfv-excerpt-description,.sfv-excerpt-close,.sfv-book-position,.sfv-book-navigation button{color:CanvasText}}
.sfv-book-event{z-index:2}
.sfv-excerpt-dialog[data-scene=cut] .sfv-book-atmosphere::after{background:linear-gradient(116deg,transparent 25%,#060306f2 31% 48%,#b4a59755 49%,transparent 53%);filter:blur(4px);animation-duration:15s}
.sfv-excerpt-dialog[data-scene=exposure] .sfv-book-atmosphere::before{background:repeating-linear-gradient(0deg,transparent 0 9%,#c94b5b88 10% 11%,transparent 12% 23%),repeating-linear-gradient(90deg,transparent 0 17%,#5e0c24dd 18% 22%,transparent 23% 40%);filter:blur(3px);animation-duration:13s}.sfv-excerpt-dialog[data-scene=exposure] .sfv-book-atmosphere::after{background:radial-gradient(ellipse at 8% 70%,#f0655b88,transparent 32%),radial-gradient(ellipse at 91% 30%,#a52146aa,transparent 30%);filter:blur(13px)}
.sfv-excerpt-dialog[data-scene=phone] .sfv-book-atmosphere::before{background:radial-gradient(ellipse at 50% 93%,transparent 26%,#c4b6ddaa 29%,transparent 35%);filter:blur(5px);animation-duration:9s}.sfv-excerpt-dialog[data-scene=phone] .sfv-book-atmosphere::after{background:linear-gradient(0deg,#88749c99,transparent 30%);filter:blur(20px);animation-duration:16s}
.sfv-excerpt-dialog[data-scene=decision] .sfv-book-atmosphere::before{background:conic-gradient(from 185deg at 5% 55%,transparent,#ecc178aa 18deg,transparent 27deg),radial-gradient(ellipse at 95% 70%,#831b3688,transparent 28%);filter:blur(5px);animation-duration:11s}.sfv-excerpt-dialog[data-scene=decision] .sfv-book-atmosphere::after{background:linear-gradient(100deg,transparent 40%,#030103e8 48% 55%,transparent 65%);filter:blur(7px)}

.sfv-excerpt-dialog[data-turn] .sfv-excerpt-scroll{animation:none}
.sfv-book-turnleaf{position:absolute;z-index:6;overflow:hidden;background:#171416;transform-origin:left center;backface-visibility:hidden;box-shadow:10px 0 24px #0008;pointer-events:none;animation:sfv-leaf-forward .62s cubic-bezier(.3,.1,.35,1) both}
.sfv-book-turnleaf::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0009,transparent 25%,transparent 70%,#bba27a33);pointer-events:none;animation:sfv-leaf-shade .62s ease both}
.sfv-book-turnleaf[data-direction=previous]{transform-origin:right center;animation-name:sfv-leaf-back}
@keyframes sfv-leaf-forward{0%{transform:rotateY(0deg);filter:brightness(1)}55%{filter:brightness(.7)}100%{transform:rotateY(-155deg);filter:brightness(.35)}}
@keyframes sfv-leaf-back{0%{transform:rotateY(0deg);filter:brightness(1)}55%{filter:brightness(.7)}100%{transform:rotateY(155deg);filter:brightness(.35)}}
@keyframes sfv-leaf-shade{from{opacity:0}45%,100%{opacity:1}}

/* One paper surface; feathered atmosphere ends before the reading column. */
.sfv-excerpt-scroll{background:transparent}
.sfv-book-atmosphere,.sfv-book-event{mask-image:linear-gradient(90deg,#000,transparent var(--safe-x,24px),transparent calc(100% - var(--safe-x,24px)),#000),linear-gradient(#000,transparent var(--safe-top,56px),transparent var(--safe-bottom,90%),#000);-webkit-mask-image:linear-gradient(90deg,#000,transparent var(--safe-x,24px),transparent calc(100% - var(--safe-x,24px)),#000),linear-gradient(#000,transparent var(--safe-top,56px),transparent var(--safe-bottom,90%),#000)}
.sfv-excerpt-dialog[data-scene=exposure] .sfv-book-atmosphere::before{background:radial-gradient(ellipse at 10% 33%,#bf405cbb,transparent 24%),radial-gradient(ellipse at 87% 72%,#db5b5788,transparent 29%),conic-gradient(from 25deg at 80% 20%,transparent,#831b4288 40deg,transparent 68deg);filter:blur(10px)}
.sfv-excerpt-dialog[data-scene=exposure] .sfv-book-atmosphere::after{background:radial-gradient(ellipse at 5% 60%,#080205 10%,transparent 35%),radial-gradient(ellipse at 94% 48%,#080205 12%,transparent 30%),linear-gradient(115deg,transparent 30%,#080205cc 42%,transparent 65%);filter:blur(9px)}

.sfv-book-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:1}.sfv-book-atmosphere,.sfv-book-event{display:none}

.sfv-excerpt-scroll:focus-visible{outline:none}.sfv-excerpt-shell:has(.sfv-excerpt-scroll:focus-visible) .sfv-book-position{outline:1px dotted #b99c65;outline-offset:5px}

.sfv-excerpt-title,.sfv-book-cover b{text-wrap:balance}
