:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#251609;--muted-ink:#6b5030;--page:#f2dfb0;--page-deep:#d5ae67;--gold:#f5c96a;--ember:#bc4932;--ruby:#5b1729;--ruby-dark:#2b0c17;--moss:#163f2b;--pine:#071612;--night:#05060a;--mist:#c4e9bc2e;--focus:#ffe08a;--font-display:"Palatino Linotype", "Book Antiqua", Palatino, serif;--font-body:"Aptos", "Segoe UI", Tahoma, sans-serif;font-family:var(--font-body);background:var(--night);color:#f9edcf}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%}html{background:var(--night)}body{min-width:320px;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button{color:inherit;-webkit-touch-callout:none}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}body.is-page-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portfolio-scene{isolation:isolate;background:var(--night);overscroll-behavior:none;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}@property --grass-recoil{syntax:"<angle>";inherits:false;initial-value:0deg}@property --grass-lift{syntax:"<length>";inherits:false;initial-value:0}@property --grass-rustle-bend{syntax:"<angle>";inherits:false;initial-value:0deg}@property --grass-rustle-lift{syntax:"<length>";inherits:false;initial-value:0}.portfolio-scene.is-closed{touch-action:none}.portfolio-scene.is-open{touch-action:manipulation}.scene-stage{z-index:5;box-sizing:border-box;place-items:center;width:min(1120px,100vw);min-height:min(760px,92vh);padding:clamp(1rem,3vw,2.5rem);display:grid;position:relative}.scene-stage>*{grid-area:1/1}.field-backdrop,.sky-layer,.grass-layer,.horizon-fog,.firefly-field,.scene-vignette{position:absolute;inset:0}.field-backdrop{z-index:0;contain:layout paint style;pointer-events:none;background:radial-gradient(circle at 50% 52%,#59401f 0%,#2f2417 38%,#09150d 100%);overflow:hidden}.field-backdrop.is-low-graphics .grass-layer:after{opacity:.24}.field-backdrop.is-low-graphics .grass-layer:before{opacity:.42;mix-blend-mode:normal}.field-backdrop.is-low-graphics .firefly-field span:nth-child(n+10){display:none}.portfolio-scene.is-night-theme{background:#040612}.portfolio-scene.is-night-theme .field-backdrop{background:radial-gradient(circle at 50% 52%,#21274d 0%,#10152e 42%,#040612 100%)}.portfolio-scene.is-night-theme .grass-layer{background:radial-gradient(at 50% 54%,#2a214ce6,#181a39ad 16%,#0000 27%),radial-gradient(circle at 50% 51%,#91abff1f,#0000 24%),radial-gradient(circle at 24% 28%,#2c527480,#0000 24%),radial-gradient(circle at 76% 65%,#1d4d797a,#0000 30%),radial-gradient(circle at 45% 78%,#424f9161,#0000 26%),radial-gradient(circle at 17% 72%,#2b1e426b,#0000 18%),radial-gradient(circle at 82% 18%,#36427a57,#0000 22%),#0f1330}.portfolio-scene.is-night-theme .grass-layer:before{opacity:.58}.portfolio-scene.is-night-theme .grass-layer:after{opacity:.54}.portfolio-scene.is-night-theme .book-impact{background:radial-gradient(#201e47f2 0 38%,#0f1226b3 58%,#0000 72%),repeating-linear-gradient(35deg,#747cd22e 0 3px,#0000 3px 11px)}.portfolio-scene.is-night-theme .firefly-field span{background:#dfe0ff;box-shadow:0 0 0 1px #dfe0ff38,0 0 11px #b4c5ffe0}.portfolio-scene.is-night-theme .scene-vignette{background:radial-gradient(at 50% 52%,#0000 0 24%,#05071647 58%,#000000e6 100%),radial-gradient(circle,#92acff1a,#0000 31%)}.sky-layer{display:none}.horizon-fog{filter:blur(2px);background:radial-gradient(#d1e1b529,#0000 58%),linear-gradient(#0000,#bbdbb214,#0000);height:31%;display:none;top:37%;transform:skewY(-1deg)}.grass-layer{contain:layout paint style;clip-path:none;background-color:#302216;background-image:radial-gradient(at 50% 54%,#5c3d1cf2,#3f2d18b3 16%,#0000 27%),radial-gradient(circle at 50% 51%,#f4d06c1a,#0000 24%),radial-gradient(circle at 24% 28%,#2a682a94,#0000 24%),radial-gradient(circle at 76% 65%,#1c63348f,#0000 30%),radial-gradient(circle at 45% 78%,#4c752b66,#0000 26%),radial-gradient(circle at 17% 72%,#543a1d6b,#0000 18%),radial-gradient(circle at 82% 18%,#28522661,#0000 22%),none;background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,repeat,repeat;background-size:auto;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box;top:0;overflow:hidden}.grass-layer:before{content:"";image-rendering:pixelated;mix-blend-mode:screen;opacity:.72;background:linear-gradient(72deg,#0000 0 43%,#4a843685 44% 46%,#a0cd4e4d 47% 48%,#0000 49%) 0 0/46px 78px,linear-gradient(118deg,#0000 0 43%,#1e603680 44% 46%,#7cb24738 47% 48%,#0000 49%) 0 0/58px 86px,radial-gradient(circle,#bce26424,#0000 19%),radial-gradient(circle at 44% 52%,#22603661,#0000 38%);position:absolute;inset:0}.grass-layer:after{z-index:0;content:"";image-rendering:pixelated;opacity:.64;background:linear-gradient(84deg,#0000 0 44%,#1c5b2e9e 45% 47%,#9ecd5242 48% 49%,#0000 50%) 0 0/68px 112px,linear-gradient(132deg,#0000 0 44%,#3576337a 45% 47%,#0000 48%) 0 0/88px 124px,linear-gradient(42deg,#0000 0 45%,#699f415c 46% 48%,#0000 49%) 0 0/54px 92px;position:absolute;inset:-2%}.book-impact{z-index:1;background:radial-gradient(#52391cf5 0 38%,#2f2213b8 58%,#0000 72%),repeating-linear-gradient(35deg,#76552a3d 0 3px,#0000 3px 11px);border-radius:44%;width:min(24rem,54vw);height:min(30rem,68vw);position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)rotate(-5deg);box-shadow:inset 0 0 34px #180f07a3,0 0 44px #0309055c}.grass-blade{left:var(--blade-x);top:var(--blade-y);z-index:2;--blade-highlight:#bee4588a;--blade-shadow:#09231873;--blade-glint:#aed6582e;--blade-vein:#81b04280;width:var(--blade-width);height:var(--blade-height);border-left:4px solid #3f7d3d;border-top:2px solid var(--blade-highlight);box-shadow:-2px 5px 0 var(--blade-shadow), 2px 1px 0 var(--blade-glint);image-rendering:pixelated;opacity:var(--blade-opacity);transform:translate3d(calc(-50% + var(--push-x)), calc(-50% + var(--push-y) + var(--grass-lift) + var(--grass-rustle-lift)), 0) rotate(calc(var(--blade-lean) + var(--cursor-bend) + var(--book-bend) + var(--grass-recoil) + var(--grass-rustle-bend)));transform-origin:50% 100%;backface-visibility:hidden;border-radius:100% 0 0;transition:transform .56s cubic-bezier(.2,.88,.28,1);position:absolute}.grass-blade.is-cursor-active{will-change:transform;animation:2.8s ease-in-out infinite alternate grassBladeQuiver}.grass-blade.is-recoiling{will-change:transform;animation:1.55s cubic-bezier(.22,.84,.3,1) both grassBladeRecoil}.field-backdrop.is-low-graphics .grass-blade{transition-duration:.22s}.grass-blade:after{border-right:3px solid var(--blade-vein);content:"";border-radius:0 100% 0 0;width:80%;height:58%;position:absolute;top:18%;left:-8px}.grass-shade-0{border-left-color:#4d883e}.grass-shade-1{border-left-color:#2e6c39}.grass-shade-2{border-left-color:#659842}.grass-shade-3{border-left-color:#1f5432}.grass-shade-4{border-left-color:#87a94b}.grass-shade-5{border-left-color:#6fa33f}.portfolio-scene.is-night-theme .grass-blade{--blade-highlight:#9fbde95c;--blade-shadow:#030c1b85;--blade-glint:#97b4ef24;--blade-vein:#6189936b}.portfolio-scene.is-night-theme .grass-shade-0{border-left-color:#386f61}.portfolio-scene.is-night-theme .grass-shade-1{border-left-color:#285448}.portfolio-scene.is-night-theme .grass-shade-2{border-left-color:#4d7c68}.portfolio-scene.is-night-theme .grass-shade-3{border-left-color:#1f403c}.portfolio-scene.is-night-theme .grass-shade-4{border-left-color:#647d72}.portfolio-scene.is-night-theme .grass-shade-5{border-left-color:#537966}.firefly-field span{left:var(--x);top:var(--y);opacity:.12;width:4px;height:4px;animation:5.4s ease-in-out infinite firefly;animation-delay:var(--delay);image-rendering:pixelated;will-change:opacity, transform;background:#ffeca7;position:absolute;box-shadow:0 0 0 1px #ffeca733,0 0 11px #fbdc76db}.scene-vignette{background:radial-gradient(at 50% 52%,#0000 0 25%,#02070533 58%,#000000e0 100%),radial-gradient(circle,#f4d06c1f,#0000 31%)}.sunbeam{z-index:2;pointer-events:none;position:absolute;inset:0}.sunbeam-rim,.sunbeam-core,.sunbeam-pixels{transform-origin:50% 100%;width:min(34rem,74vw);height:88vh;position:absolute;top:39%;left:50%;transform:translate(-50%,-70%)rotate(1deg);-webkit-mask-image:linear-gradient(#000 0% 66%,#0009 80%,#0000 100%);mask-image:linear-gradient(#000 0% 66%,#0009 80%,#0000 100%)}.sunbeam-rim{clip-path:polygon(42% 0,58% 0,67% 100%,33% 100%);filter:blur(13px);mix-blend-mode:screen;opacity:.74;will-change:opacity, transform;background:linear-gradient(90deg,#0000 0 9%,#ffd75d08 20%,#fff2b23b 48%,#ffe07733 54%,#ffcd500a 78%,#0000 91% 100%);animation:8s cubic-bezier(.45,0,.55,1) infinite sunbeamSway}.sunbeam-core{clip-path:polygon(45% 0,55% 0,61% 100%,39% 100%);mix-blend-mode:screen;opacity:.86;will-change:opacity, transform;background:linear-gradient(90deg,#0000 0 24%,#ffeb990f 36%,#fff5bc57 49%,#ffd96538 58%,#0000 76% 100%),repeating-linear-gradient(90deg,#0000 0 20px,#fff5be14 20px 24px,#0000 24px 46px);animation:6.5s ease-in-out infinite sunbeamBreathe}.sunbeam-pixels{clip-path:polygon(46% 0,55% 0,61% 100%,39% 100%);image-rendering:pixelated;mix-blend-mode:screen;opacity:.24;will-change:opacity, transform;background:repeating-linear-gradient(0deg,#0000 0 16px,#fff6bf1a 16px 20px,#0000 20px 42px),repeating-linear-gradient(90deg,#0000 0 26px,#f4c55717 26px 30px,#0000 30px 62px);animation:5.4s steps(4,end) infinite sunbeamPixelShimmer}.sunbeam-pool{filter:blur(8px);width:min(28rem,54vw);height:min(16rem,30vw);image-rendering:pixelated;mix-blend-mode:screen;background:radial-gradient(#ffe6927a 0%,#f4c15b38 34%,#0000 70%),repeating-linear-gradient(90deg,#0000 0 18px,#fff2b40f 18px 22px,#0000 22px 38px);animation:5.8s ease-in-out infinite sunbeamPoolPulse;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.sunbeam-dust{mix-blend-mode:screen;position:absolute;inset:0}.sunbeam-dust span{left:calc(42% + (var(--dust-x,0) * 1%));top:calc(18% + (var(--dust-y,0) * 1%));width:3px;height:3px;image-rendering:pixelated;opacity:0;background:#ffeeae94;animation:7s ease-in-out infinite sunbeamDust;position:absolute;box-shadow:0 0 8px #ffdc706b}.sunbeam-dust span:first-child{--dust-x:2;--dust-y:18;animation-delay:-.7s}.sunbeam-dust span:nth-child(2){--dust-x:9;--dust-y:32;animation-delay:-2.1s}.sunbeam-dust span:nth-child(3){--dust-x:-4;--dust-y:42;animation-delay:-3.2s}.sunbeam-dust span:nth-child(4){--dust-x:14;--dust-y:50;animation-delay:-1.4s}.sunbeam-dust span:nth-child(5){--dust-x:-9;--dust-y:56;animation-delay:-4.4s}.sunbeam-dust span:nth-child(6){--dust-x:6;--dust-y:63;animation-delay:-5.1s}.sunbeam-dust span:nth-child(7){--dust-x:18;--dust-y:38;animation-delay:-6.2s}.sunbeam-dust span:nth-child(8){--dust-x:-14;--dust-y:28;animation-delay:-2.8s}.sunbeam-dust span:nth-child(9){--dust-x:1;--dust-y:70;animation-delay:-3.7s}.sunbeam-dust span:nth-child(10){--dust-x:12;--dust-y:22;animation-delay:-5.8s}.portfolio-scene.is-low-graphics .sunbeam-dust span:nth-child(n+6){display:none}.portfolio-scene.is-low-graphics .sunbeam-pixels{opacity:.14}.sunbeam.is-night-theme .sunbeam-rim{background:linear-gradient(90deg,#0000 0 9%,#94a8ff0a 20%,#d8dfff42 48%,#b0c2ff2e 54%,#839aff0a 78%,#0000 91% 100%)}.sunbeam.is-night-theme .sunbeam-core{background:linear-gradient(90deg,#0000 0 24%,#b0c4ff0f 36%,#e1e8ff4d 49%,#9fb6ff33 58%,#0000 76% 100%),repeating-linear-gradient(90deg,#0000 0 20px,#dce5ff14 20px 24px,#0000 24px 46px)}.sunbeam.is-night-theme .sunbeam-pool{background:radial-gradient(#c6d4ff6b 0%,#7e94ff38 34%,#0000 70%),repeating-linear-gradient(90deg,#0000 0 18px,#dde6ff0d 18px 22px,#0000 22px 38px)}.sunbeam.is-night-theme .sunbeam-dust span{background:#e0e8ff8a;box-shadow:0 0 8px #aabfff66}@keyframes firefly{0%,to{opacity:.12;transform:translateY(0)}45%{opacity:.92;transform:translateY(-9px)}}@keyframes grassBladeQuiver{0%{--grass-lift:0px;--grass-recoil:-.3deg}to{--grass-lift:-.3px;--grass-recoil:.45deg}}@keyframes grassBladeRecoil{0%{--grass-lift:-.2px;--grass-recoil:1.35deg}46%{--grass-lift:.35px;--grass-recoil:-.45deg}78%{--grass-lift:0px;--grass-recoil:.12deg}to{--grass-lift:0px;--grass-recoil:0deg}}.grass-blade.is-rustling{will-change:transform;animation:1.12s cubic-bezier(.22,.74,.26,1) both grassBladeRustle}@keyframes grassBladeRustle{0%{--grass-rustle-bend:calc(var(--grass-rustle-bend) * .12);--grass-rustle-lift:0px}28%{--grass-rustle-bend:var(--grass-rustle-bend);--grass-rustle-lift:calc(var(--grass-rustle-lift) * -1)}62%{--grass-rustle-bend:calc(var(--grass-rustle-bend) * -.24);--grass-rustle-lift:calc(var(--grass-rustle-lift) * .28)}84%{--grass-rustle-bend:calc(var(--grass-rustle-bend) * .1);--grass-rustle-lift:calc(var(--grass-rustle-lift) * .08)}to{--grass-rustle-bend:0deg;--grass-rustle-lift:0px}}@keyframes sunbeamBreathe{0%,to{opacity:.8;transform:translate(-50%,-70%)rotate(.6deg)scaleX(.96)}50%{opacity:.96;transform:translate(-50%,-70%)rotate(1.6deg)scaleX(1.04)}}@keyframes sunbeamSway{0%,to{opacity:.66;transform:translate(-50%,-70%)rotate(-.8deg)scaleX(.94)}48%{opacity:.84;transform:translate(-50%,-70%)rotate(2deg)scaleX(1.05)}}@keyframes sunbeamPixelShimmer{0%,to{opacity:.18;transform:translate(-50%,-70%)rotate(.6deg)translate(0,0)}50%{opacity:.34;transform:translate(-50%,-70%)rotate(1.7deg)translate(8px,9px)}}@keyframes sunbeamPoolPulse{0%,to{opacity:.78;transform:translate(-50%,-50%)scale(1)}50%{opacity:.95;transform:translate(-50%,-50%)scale(1.035)}}@keyframes sunbeamDust{0%,to{opacity:0;transform:translate(0,0)}38%{opacity:.38}70%{opacity:.16;transform:translate(10px,-18px)}}@media (prefers-reduced-motion:reduce){.grass-blade,.sunbeam-core,.sunbeam-pixels,.sunbeam-pool,.sunbeam-dust span{transition-duration:1ms;animation-duration:1ms}}@media (width<=720px){.scene-stage{width:100vw;min-height:100svh;padding:.75rem}.sunbeam-rim,.sunbeam-core,.sunbeam-pixels{width:min(30rem,82vw);height:84vh;top:40%;transform:translate(-50%,-70%)rotate(1deg)}.sunbeam-pool{width:min(22rem,68vw);height:11rem;top:56%}.grass-layer:before{opacity:.56;mix-blend-mode:normal}.grass-layer:after{opacity:.46}.grass-blade{filter:none;transition-duration:.36s}.grass-blade.is-rustling{animation:none}.firefly-field span{width:3px;height:3px}}@media (width<=960px) and (height<=560px){.scene-stage{width:100vw;min-height:100svh;padding:.5rem}.sunbeam-rim,.sunbeam-core,.sunbeam-pixels{width:min(30rem,76vw);height:88vh;top:38%}.sunbeam-pool{width:min(20rem,48vw);height:min(9rem,30vw)}}.closed-book{aspect-ratio:.72;cursor:pointer;background:0 0;border:0;place-items:center;width:clamp(12rem,23vw,18rem);padding:0;transition:transform .26s,filter .26s;display:grid;position:relative;transform:translateY(4vh)rotate(-3deg)}.closed-book:hover,.closed-book:focus-visible{filter:drop-shadow(0 0 22px #fad36f61);transform:translateY(3.5vh)rotate(-2deg)scale(1.035)}.portfolio-scene.is-night-theme .closed-book:hover,.portfolio-scene.is-night-theme .closed-book:focus-visible{filter:drop-shadow(0 0 24px #acbfff57)drop-shadow(0 0 8px #d6e1ff38)}.closed-book.is-pose-locked,.closed-book.is-pose-locked:hover,.closed-book.is-pose-locked:focus-visible{filter:none;transform:translateY(4vh)rotate(-3deg)}.closed-book.is-hidden,.closed-book.is-hidden:hover,.closed-book.is-hidden:focus-visible{opacity:0;filter:none;pointer-events:none;transform:translateY(4vh)rotate(-3deg)}.closed-book.is-closing-underlay,.closed-book.is-closing-underlay:hover,.closed-book.is-closing-underlay:focus-visible{filter:none;opacity:0;pointer-events:none;animation:1.18s cubic-bezier(.22,1,.36,1) both closingUnderlayReveal;transform:translateY(4vh)rotate(-3deg)}.closed-book-shadow{filter:blur(10px);background:#0000006b;border-radius:50%;height:18%;position:absolute;inset:auto 3% -9%}.book-cover{width:100%;height:100%;image-rendering:pixelated;background:radial-gradient(circle at 52% 45%,#ffffff14,#0000 26%),linear-gradient(90deg,#ffffff14,#0000 16%),repeating-linear-gradient(25deg,#ffffff09 0 2px,#0000 2px 11px),linear-gradient(135deg,#111922,#070b12 56%,#12151d);border:5px solid #1d0a12;border-radius:7px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 14px 0 #00000038,inset -8px -8px #ffde8417,0 16px #12070c,0 24px 38px #00000073;container-type:inline-size}.book-cover-border{border:3px double #f1d38a;position:absolute;inset:7%;box-shadow:inset 0 0 0 5px #f5c96a1a,0 0 0 1px #f5c96a52}.book-cover-title{width:86%;font-family:"Almendra SC", "Old English Text MT", "Lucida Blackletter", "Blackletter", var(--font-display);letter-spacing:.1em;color:#f7dd94;text-align:center;text-shadow:0 3px #211305,2px 0 #fff0ad,-2px 0 #6f4b13,0 -1px #fff6c8;font-size:clamp(4.65rem,38cqw,10.25rem);font-weight:900;line-height:.85;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.book-cover-lock{z-index:2;background:linear-gradient(#f6d17c,#9d6926);border:3px solid #6f471c;width:18%;height:16%;position:absolute;top:47%;right:-2px;transform:translateY(-50%);box-shadow:-4px 3px #0000003d}.open-book{--book-shell-width:min(1080px, 96vw);--book-inner-inset-x:5.8%;--book-inner-inset-y:6.5%;--book-page-gap:clamp(.45rem, 1vw, .7rem);--page-padding:clamp(1rem, 2vw, 1.7rem);--book-spine-width:clamp(.3rem, .55vw, .48rem);box-sizing:border-box;width:var(--book-shell-width);justify-items:center;gap:1rem;animation:.42s cubic-bezier(.2,.72,.18,1) both bookOpen;display:grid;position:relative}.book-loading-state{justify-items:center;gap:.85rem;animation:.28s both bookOpen;display:grid}.book-loading-cover{aspect-ratio:.72;background:radial-gradient(circle at 52% 45%,#ffffff14,#0000 26%),linear-gradient(90deg,#ffffff14,#0000 16%),repeating-linear-gradient(25deg,#ffffff09 0 2px,#0000 2px 11px),linear-gradient(135deg,#111922,#070b12 56%,#12151d);border:5px solid #1d0a12;border-radius:7px;width:clamp(12rem,23vw,18rem);position:relative;overflow:hidden;box-shadow:inset 14px 0 #00000038,inset -8px -8px #ffde8417,0 16px #12070c,0 24px 38px #00000073;container-type:inline-size}.book-loading-cover .book-cover-title{letter-spacing:.07em;width:82%;font-size:clamp(3.55rem,31cqw,7rem);top:44%}.book-loading-cover .book-cover-lock{width:16%;height:15%}.book-loading-copy{color:#f7e2ad;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 2px 12px #00000059;margin:0;font-size:.92rem;font-weight:800}.open-book.is-closing{pointer-events:none}.scene-toggle-panel{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));z-index:40;justify-items:end;gap:.45rem;display:grid;position:fixed}.scene-settings-toggle{color:#f7e2ad;cursor:pointer;min-width:min(12.25rem,56vw);font:inherit;letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050807d1;border:1px solid #f5c96a3d;border-radius:8px;justify-content:space-between;align-items:center;gap:.45rem;padding:.42rem .65rem;font-size:.78rem;font-weight:900;display:inline-flex;box-shadow:0 10px 24px #00000042}.scene-settings-toggle:hover,.scene-settings-toggle:focus-visible{filter:brightness(1.08);outline:none}.now-playing-badge-stack{top:max(1rem, env(safe-area-inset-top));z-index:42;justify-items:center;gap:.35rem;display:grid;position:fixed;left:50%;transform:translate(-50%)}.now-playing-badge{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #f5c96a3d;border-radius:999px;gap:.1rem;max-width:min(30rem,100vw - 8rem);padding:.55rem .95rem;animation:2.6s cubic-bezier(.22,1,.36,1) both nowPlayingBadgeInOut;display:grid;position:relative;box-shadow:0 12px 28px #00000047}.now-playing-badge-label{letter-spacing:.04em;font-size:.72rem;font-weight:800}.now-playing-badge-title{font-size:.8rem;font-weight:700;line-height:1.15}.now-playing-badge.is-day-theme{color:#f7e2ad;background:#14100cd6}.now-playing-badge.is-night-theme{color:#e4e8ff;background:#0d1022d6;border-color:#b0c2ff3d}.scene-toggle-group{justify-items:stretch;gap:.35rem;width:min(12.25rem,56vw);display:grid;position:relative}.scene-toggle{color:#f7e2ad;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050807c2;border:1px solid #f5c96a3d;border-radius:8px;justify-content:space-between;align-items:center;gap:.45rem;width:100%;min-width:0;padding:.45rem .65rem;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:0 10px 24px #00000042}.scene-toggle input{accent-color:#f4c86b}.scene-media-player{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050807cc;border:1px solid #f5c96a2e;border-radius:8px;gap:.45rem;width:100%;padding:.5rem;animation:.18s cubic-bezier(.22,1,.36,1) both sceneMediaPopoverIn;display:grid;box-shadow:0 10px 24px #00000042}.scene-media-player-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.scene-media-button,.scene-media-select{color:#f7e2ad;font:inherit;background:#1f100cd1;border:1px solid #f5c96a38;border-radius:6px}.scene-media-button{cursor:pointer;place-items:center;min-height:2rem;padding:.34rem;font-size:.72rem;font-weight:800;display:grid}.scene-media-button:disabled,.scene-media-select:disabled{cursor:not-allowed;opacity:.42}.scene-media-select-label{color:#f7e2ad;gap:.22rem;font-size:.72rem;font-weight:800;display:grid}.scene-media-select{padding:.34rem .42rem}.scene-media-volume{width:100%;display:block}.scene-media-toggle{color:#f7e2ad;background:#ffffff08;border:1px solid #f5c96a2e;border-radius:6px;justify-content:center;align-items:center;gap:.42rem;width:100%;padding:.42rem .5rem;display:inline-flex}.scene-media-toggle input{accent-color:#f4c86b}.scene-media-toggle span{letter-spacing:.03em;text-align:center;font-size:.72rem;font-weight:800}.scene-media-volume-slider{appearance:none;cursor:pointer;background:linear-gradient(90deg,#f5c96ad1,#785629eb);border-radius:999px;width:100%;height:.35rem;margin:0;box-shadow:inset 0 0 0 1px #140b086b,0 0 0 1px #f5c96a14}.scene-media-volume-slider:disabled{cursor:not-allowed;opacity:.4}.scene-media-volume-slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(#f7df9e,#c28a3a);border:1px solid #482a13e6;border-radius:999px;width:.72rem;height:.72rem;box-shadow:0 1px 4px #0000004d}.scene-media-volume-slider::-moz-range-thumb{background:linear-gradient(#f7df9e,#c28a3a);border:1px solid #482a13e6;border-radius:999px;width:.72rem;height:.72rem;box-shadow:0 1px 4px #0000004d}.portfolio-scene.is-night-theme .scene-media-volume-slider{background:linear-gradient(90deg,#b2c4ffdb,#4f62a8f5);box-shadow:inset 0 0 0 1px #080b1c80,0 0 0 1px #b0c2ff14}.portfolio-scene.is-night-theme .scene-media-volume-slider::-webkit-slider-thumb{background:linear-gradient(#e4ebff,#91a7eb);border-color:#26315ff2}.portfolio-scene.is-night-theme .scene-media-volume-slider::-moz-range-thumb{background:linear-gradient(#e4ebff,#91a7eb);border-color:#26315ff2}.portfolio-scene.is-night-theme .scene-media-toggle{color:#e4e8ff;background:#ffffff08;border-color:#b0c2ff2e}.portfolio-scene.is-night-theme .scene-media-toggle input{accent-color:#a8bdfd}.portfolio-scene.is-night-theme .scene-settings-toggle{color:#e4e8ff;background:#080c18d6;border-color:#b0c2ff3d}@keyframes sceneMediaPopoverIn{0%{opacity:0;transform:translateY(-.2rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes nowPlayingBadgeInOut{0%{opacity:0;transform:translateY(-.35rem)scale(.97)}12%,82%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-.15rem)scale(.985)}}.scene-theme-toggle{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:45;aspect-ratio:1;color:#f7e2ad;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050807cc;border:1px solid #f5c96a3d;border-radius:999px;place-items:center;width:2.7rem;transition:transform .18s,filter .18s;display:grid;position:fixed;box-shadow:0 12px 26px #00000057}.scene-theme-toggle:hover,.scene-theme-toggle:focus-visible{filter:brightness(1.1);outline:none;transform:translateY(-1px)}.book-close-button{z-index:60;aspect-ratio:1;cursor:pointer;background:0 0;border:0;place-items:center;width:2rem;transition:filter .14s,transform .14s;display:grid;position:absolute;top:clamp(.45rem,1.1vw,.8rem);left:clamp(.45rem,1.1vw,.8rem)}.book-close-button:hover,.book-close-button:focus-visible{filter:brightness(1.18);outline:none;transform:scale(1.08)}.book-close-button:disabled{opacity:0}.book-close-tooltip{color:#f7e2ad;letter-spacing:.02em;opacity:0;pointer-events:none;background:#050807d6;border:1px solid #f5c96a38;border-radius:5px;width:max-content;padding:.32rem .5rem;font-size:.74rem;font-weight:800;transition:opacity .14s,transform .14s;position:absolute;top:50%;left:calc(100% + .45rem);transform:translate(-.25rem,-50%);box-shadow:0 8px 18px #00000047}.book-close-button:hover .book-close-tooltip,.book-close-button:focus-visible .book-close-tooltip{opacity:1;transform:translateY(-50%)}.closed-book-icon{filter:drop-shadow(0 2px #000000b8)drop-shadow(0 0 7px #f5c96a29);width:2rem;height:2rem;image-rendering:pixelated;shape-rendering:crispedges;display:block}.book-shell{aspect-ratio:1.57;border-radius:24px;width:100%;min-height:440px;max-height:74vh;position:relative;overflow:visible}.open-book.is-compact{--book-shell-width:min(29.5rem, calc(100svw - 1.15rem), calc((100svh - 2.65rem) * .72));--book-inner-inset-x:7%;--book-inner-inset-y:5.6%;--book-page-gap:0;--page-padding:.9rem;gap:.58rem}.open-book.is-compact .book-shell{aspect-ratio:.72;min-height:0;max-height:calc(100svh - 2.65rem)}.open-book.is-compact .book-content-layer{grid-template-columns:minmax(0,1fr)}.open-book.is-compact .book-content-layer:before{inset:-.35rem}.open-book.is-compact .book-content-layer:after{display:none}.open-book.is-compact .book-page h2{font-size:1.42rem}.open-book.is-compact .about-heading{grid-template-columns:1fr}.open-book.is-compact .profile-icon{width:4rem}.open-book,.book-shell,.book-page,.page-controls{touch-action:auto}.book-content-layer{inset:var(--book-inner-inset-y) var(--book-inner-inset-x);z-index:12;gap:var(--book-page-gap);pointer-events:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;position:absolute}.book-content-layer:before{z-index:0;content:"";background:linear-gradient(90deg,#2b120d,#5b301f 14%,#3f1b12 49% 51%,#5b301f 86%,#2b120d),repeating-linear-gradient(0deg,#ffd5780a 0 2px,#0000 2px 10px);border:5px solid #24100b;border-radius:12px;position:absolute;inset:-.85rem;box-shadow:0 22px 58px #0000006b,inset 0 0 0 2px #f5c96a14,inset 0 16px 28px #ffe2a30f,inset 0 -18px 30px #00000040}.book-content-layer:after{z-index:0;width:var(--book-spine-width);content:"";background:linear-gradient(90deg,#170806,#6b4129 48%,#170806);border-radius:999px;position:absolute;top:-.85rem;bottom:-.85rem;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #f4d38814,0 0 8px #0000001f}.book-page-slot{z-index:1;pointer-events:auto;min-width:0;min-height:0;position:relative}.book-page,.blank-page{height:100%;min-height:0;padding:var(--page-padding);background:radial-gradient(circle at 24% 12%, #fff7ce80, transparent 18%), repeating-linear-gradient(0deg, #65451c0f 0 2px, transparent 2px 9px), linear-gradient(135deg, #f6e6ba, var(--page));color:var(--ink);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#52391d52 transparent;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;border:2px solid #6b503073;border-radius:8px;position:relative;overflow:hidden auto;box-shadow:inset 0 0 0 3px #ffffff2e,inset 0 -22px 30px #68461b1f,0 10px 26px #00000024}.book-page::-webkit-scrollbar{width:.42rem}.blank-page::-webkit-scrollbar{width:.42rem}.book-page::-webkit-scrollbar-track{background:0 0}.blank-page::-webkit-scrollbar-track{background:0 0}.book-page::-webkit-scrollbar-thumb{background:linear-gradient(#a07b483d,#52391d57);border:1px solid #714e282e;border-radius:999px}.blank-page::-webkit-scrollbar-thumb{background:linear-gradient(#a07b483d,#52391d57);border:1px solid #714e282e;border-radius:999px}.book-page::-webkit-scrollbar-thumb:hover{background:linear-gradient(#ac844e57,#5d412275)}.blank-page::-webkit-scrollbar-thumb:hover{background:linear-gradient(#ac844e57,#5d412275)}.open-book.is-closing .book-content-layer,.open-book.is-closing .page-controls{opacity:0;transition:opacity 90ms}.book-page-slot-left .book-page,.book-page-slot-left .blank-page{box-shadow:inset 0 0 0 3px #ffffff2e,inset 10px 0 18px #4c321414,0 10px 26px #00000024}.book-page-slot-right .book-page,.book-page-slot-right .blank-page{box-shadow:inset 0 0 0 3px #ffffff2e,inset -10px 0 18px #4c321414,0 10px 26px #00000024}.book-page:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 10px,#5c3a1309 10px 12px),repeating-linear-gradient(0deg,#0000 0 12px,#5c3a1306 12px 14px);position:absolute;inset:0}.book-page>*{z-index:1;position:relative}.blank-intentional,.blank-terminal{place-items:center;display:grid}.inside-cover-mark{aspect-ratio:1;opacity:.42;background:linear-gradient(45deg,#0000 47%,#6f471c38 48% 52%,#0000 53%),linear-gradient(-45deg,#0000 47%,#6f471c2e 48% 52%,#0000 53%);border:2px solid #6f471c38;width:min(7rem,34%)}.book-page-header{margin-bottom:1rem}.page-about .book-page-header{align-items:flex-start;min-height:clamp(2.5rem,4.4vw,3.15rem);display:flex}.book-page-kicker{color:#7a3829;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.76rem;font-weight:800;display:inline-block}.book-page h2{font-family:var(--font-display);color:#321809;margin:0;font-size:clamp(1.65rem,3vw,2.55rem);line-height:.98}.page-about .book-page-header h2{font-size:clamp(1.55rem,2.55vw,2.28rem);line-height:1}.book-page h3{font-family:var(--font-display);color:#4b2015;margin:1.25rem 0 .55rem;font-size:clamp(1.1rem,1.8vw,1.35rem)}.page-lede{color:#3f2812;margin:0;font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.65}.page-note{color:var(--muted-ink);margin-top:1rem;line-height:1.55}.book-page-content,.toc-page .toc{padding-bottom:.35rem}.about-heading{border-bottom:2px solid #683d1b2e;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;margin-bottom:1.15rem;padding-bottom:1rem;display:grid}.identity-label{color:#351708;margin:0 0 .2rem;font-weight:800}.identity-subtitle{color:var(--muted-ink);margin:0;line-height:1.4}.profile-icon{aspect-ratio:1;color:#552818;background:linear-gradient(135deg,#f5c96a80,#0000),repeating-linear-gradient(45deg,#5b172914 0 5px,#0000 5px 11px),#e0bd76;border:3px solid #6d3a1d;border-radius:6px;place-items:center;width:4.4rem;display:grid;box-shadow:inset 0 0 0 3px #ffffff2e}.interest-list{color:#3f2812;gap:.55rem;margin:0;padding-left:1.15rem;line-height:1.45;display:grid}.toc{height:100%}.toc-mark{aspect-ratio:1;color:#6a2a21;background:#f5c96a2e;border:2px solid #6f471c61;place-items:center;width:3.25rem;margin-bottom:1rem;display:grid}.toc-list{gap:.55rem;display:grid}.toc-entry{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #56341638;grid-template-columns:auto minmax(2rem,1fr) auto;align-items:baseline;gap:.55rem;padding:.55rem .45rem;display:grid}.toc-entry:hover,.toc-entry:focus-visible{background:#9b482a1a}.toc-entry-title{font-family:var(--font-display);font-size:1.08rem;font-weight:700}.toc-entry-rule{border-bottom:2px dotted #58371973;height:1px}.toc-entry-page{color:#7a3829;font-weight:800}.toc-entry-summary{color:var(--muted-ink);grid-column:1/-1;font-size:.85rem;line-height:1.35}.placeholder-runes{color:#7a382961;gap:.65rem;margin:2rem 0 1rem;display:flex}.portfolio-link-card{color:inherit;background:linear-gradient(#fff9e566,#f1daa22e),#ffffff29;border:1px solid #6d3a1d47;border-radius:10px;gap:.6rem;margin-top:1rem;padding:.9rem 1rem;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a,0 10px 24px #3e230e1a}.portfolio-link-card:hover,.portfolio-link-card:focus-visible{background:linear-gradient(#fffbec85,#f1daa242),#ffffff2e;outline:none;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff1f,0 14px 28px #3e230e24}.portfolio-link-card-heading{font-family:var(--font-display);color:#321809;align-items:center;gap:.65rem;font-size:1.16rem;font-weight:700;display:inline-flex}.portfolio-link-card-copy{color:#4b331c;line-height:1.55}.project-link-icon,.contact-link-icon{image-rendering:pixelated;flex:none;display:block}.project-link-icon{width:1.9rem;height:1.9rem}.contact-link-icon{width:1.5rem;height:1.5rem}.experience-list{gap:1rem;margin-top:1rem;display:grid}.experience-entry{background:linear-gradient(#fff6db57,#f1daa224),#ffffff24;border:1px solid #6d3a1d2e;border-radius:10px;padding:.85rem .95rem}.experience-entry h3{margin-top:0}.experience-meta{color:#6f4730;gap:.16rem;margin:0 0 .8rem;font-size:.88rem;font-weight:700;line-height:1.4;display:grid}.experience-role,.experience-date,.experience-location{display:block}.experience-date{color:#8a5133;letter-spacing:.02em;font-size:.84rem}.experience-location{opacity:.86;font-weight:600}.experience-bullets{margin:0}.turn-sheet{top:var(--book-inner-inset-y);bottom:var(--book-inner-inset-y);z-index:24;width:calc(50% - var(--book-inner-inset-x) - (var(--book-page-gap) / 2));pointer-events:none;transform-style:preserve-3d;will-change:transform;position:absolute}.turn-sheet-next{right:var(--book-inner-inset-x);transform-origin:0}.turn-sheet-previous{left:var(--book-inner-inset-x);transform-origin:100%}.turn-sheet.is-settling{transition:transform .44s cubic-bezier(.2,.72,.18,1)}.turn-sheet-face{backface-visibility:hidden;transform-style:preserve-3d;position:absolute;inset:0}.turn-sheet-front{transform:rotateY(0)}.turn-sheet-back{transform:rotateY(180deg)}.turn-sheet-face .book-page,.turn-sheet-face .blank-page{height:100%;box-shadow:inset 0 0 0 3px #ffffff29,0 14px 30px #00000038}.turn-sheet:after{content:"";pointer-events:none;background:linear-gradient(90deg,#00000038,#0000 22% 78%,#fff9de1f),radial-gradient(circle,#ffe6ab14,#0000 60%);border-radius:8px;position:absolute;inset:0}.page-drag-edge{top:var(--book-inner-inset-y);bottom:var(--book-inner-inset-y);z-index:28;cursor:grab;touch-action:none;background:0 0;border:0;width:clamp(.95rem,4.75%,1.65rem);position:absolute}.page-drag-edge:disabled{cursor:default}.page-drag-edge-left{left:var(--book-inner-inset-x)}.page-drag-edge-right{right:var(--book-inner-inset-x)}.open-book.is-compact .page-drag-edge{top:calc(var(--book-inner-inset-y) + .65rem);bottom:calc(var(--book-inner-inset-y) + .65rem);touch-action:pan-y;border-radius:18px;width:clamp(2.65rem,16%,4.35rem);height:auto}.open-book.is-compact .page-drag-edge-left{left:var(--book-inner-inset-x)}.open-book.is-compact .page-drag-edge-right{right:var(--book-inner-inset-x)}.page-controls{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050807bd;border:1px solid #f5c96a38;border-radius:8px;grid-template-columns:2.75rem auto 2.75rem;align-items:center;gap:.75rem;padding:.55rem;display:inline-grid;position:relative;box-shadow:0 10px 24px #00000052}.page-controls-stack{z-index:50;justify-items:center;gap:.5rem;display:grid;position:relative}.book-drag-toggle{color:#f7e2ad;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050807a8;border:1px solid #f5c96a2e;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-width:max-content;padding:.42rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex;box-shadow:0 8px 18px #0000003d}.book-drag-toggle input{accent-color:#f4c86b}.portfolio-scene.is-low-graphics .scene-settings-toggle,.portfolio-scene.is-low-graphics .scene-toggle,.portfolio-scene.is-low-graphics .scene-media-player,.portfolio-scene.is-low-graphics .scene-theme-toggle,.portfolio-scene.is-low-graphics .now-playing-badge,.portfolio-scene.is-low-graphics .page-controls,.portfolio-scene.is-low-graphics .book-drag-toggle{-webkit-backdrop-filter:none;backdrop-filter:none}.page-control-button{aspect-ratio:1;color:#ffe5a0;cursor:pointer;background:#401e14ad;border:1px solid #f5c96a4d;border-radius:6px;place-items:center;width:2.5rem;display:grid}.page-control-button:disabled{cursor:not-allowed;opacity:.38}.page-count{color:#f7e2ad;text-align:center;min-width:7rem;font-size:.9rem;font-weight:800}.book-close-sequence{z-index:5000;contain:layout paint style;pointer-events:none;perspective:2200px;will-change:opacity;animation:1.18s cubic-bezier(.22,1,.36,1) both closeSequenceCollapse;position:fixed;inset:0;transform:translateZ(0)}.book-close-spread{aspect-ratio:1.57;filter:drop-shadow(0 24px 54px #00000052);transform-origin:50%;width:min(1080px,96vw);transform-style:preserve-3d;will-change:opacity, transform;border-radius:24px;animation:1.18s cubic-bezier(.22,1,.36,1) both closeSpreadSettle;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.book-close-moving-shadow{aspect-ratio:.72;mix-blend-mode:multiply;opacity:0;transform-origin:0;background:linear-gradient(90deg,#1f0d0805,#1f0d0861,#1f0d0800);border-radius:8px;width:clamp(12rem,23vw,18rem);animation:.76s cubic-bezier(.22,1,.36,1) both closeMovingShadow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.book-close-cover-swing{aspect-ratio:.72;width:clamp(12rem,23vw,18rem);image-rendering:pixelated;transform-origin:0;transform-style:preserve-3d;will-change:filter, opacity, transform;background:radial-gradient(circle at 52% 45%,#ffffff14,#0000 26%),linear-gradient(90deg,#ffffff14,#0000 16%),repeating-linear-gradient(25deg,#ffffff09 0 2px,#0000 2px 11px),linear-gradient(135deg,#111922,#070b12 56%,#12151d),#070b12;border:5px solid #1d0a12;border-radius:7px;animation:.82s cubic-bezier(.22,1,.36,1) both closeCoverSwing;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)rotateY(-84deg);box-shadow:inset 14px 0 #00000038,inset -8px -8px #ffde8417,0 16px #12070c,0 24px 38px #00000073;container-type:inline-size}.book-close-dust{z-index:3;opacity:0;background:#ffe2a3b8;border-radius:1px;width:3px;height:3px;animation:.98s ease-out both closeDustMote;position:absolute;box-shadow:0 0 8px #ffe2a357}.book-close-dust-1{top:38%;left:47%}.book-close-dust-2{animation-delay:90ms;top:55%;left:54%}.book-close-dust-3{animation-delay:.15s;top:62%;left:43%}@keyframes bookOpen{0%{opacity:0;transform:translateY(5vh)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes closeCoverSwing{0%{filter:brightness(1.08)drop-shadow(-14px 0 24px #00000029);opacity:1;transform:translate(-50%,-50%)rotateY(-42deg)rotate(-1deg)}55%{filter:brightness()drop-shadow(-20px 0 28px #00000042);opacity:1;transform:translate3d(-50%,calc(1.6vh - 50%),8px)rotateY(-14deg)rotate(-2deg)}82%{filter:brightness(.96)drop-shadow(-6px 0 16px #00000038);opacity:1;transform:translate3d(-50%,calc(4.4vh - 50%),2px)scale(.985)rotateY(3deg)rotate(-3.2deg)}92%{filter:brightness(.98);opacity:1;transform:translate(-50%,calc(4vh - 50%))scale(1)rotateY(0)rotate(-3deg)}to{filter:brightness();opacity:0;transform:translate(-50%,calc(4vh - 50%))scale(1)rotateY(0)rotate(-3deg)}}@keyframes closeMovingShadow{0%{opacity:0;transform:translate(-50%,-50%)scaleX(.08)}46%{opacity:.42;transform:translate(-50%,-50%)scaleX(.78)}to{opacity:0;transform:translate(-50%,-50%)scaleX(1.05)}}@keyframes closeSpreadSettle{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}56%{opacity:1;transform:translate(-50%,-50%)scale(.82,.94)}78%{opacity:1;transform:translate(-50%,calc(3.2vh - 50%))scale(.38)}92%{opacity:.26;transform:translate(-50%,calc(4vh - 50%))scale(.28)rotate(-3deg)}to{opacity:0;transform:translate(-50%,calc(4vh - 50%))scale(.28)rotate(-3deg)}}@keyframes closingUnderlayReveal{0%,82%{opacity:0}96%,to{opacity:1}}@keyframes closeDustMote{0%,38%{opacity:0;transform:translate(0,0)}48%{opacity:.48}to{opacity:0;transform:translate(.35rem,-1.1rem)}}@keyframes closeSequenceCollapse{0%,92%{opacity:1;transform:none}to{opacity:0;transform:none}}@media (prefers-reduced-motion:reduce){.book-close-sequence,.book-close-spread,.book-close-cover-swing,.book-close-moving-shadow,.book-close-dust{transition-duration:1ms;animation-duration:1ms}}@media (width<=980px){.open-book{--book-shell-width:min(920px, 97vw)}.book-close-spread{width:min(920px,97vw)}.book-shell{min-height:400px}}@media (width<=760px){.open-book{--book-shell-width:min(760px, calc(100svw - 3rem));--book-inner-inset-x:5.8%;--book-inner-inset-y:6.5%;--book-page-gap:.8rem;--page-padding:.95rem;--book-spine-width:.34rem}.scene-toggle-panel{top:max(.55rem, env(safe-area-inset-top));right:max(.55rem, env(safe-area-inset-right));gap:.32rem}.scene-toggle-group{gap:.28rem;width:min(9.4rem,38vw)}.scene-settings-toggle{min-width:min(9.4rem,38vw);padding:.32rem .42rem;font-size:.68rem}.scene-toggle{min-width:7.45rem;padding:.32rem .42rem;font-size:.68rem}.scene-media-player{width:100%;padding:.36rem}.scene-media-toggle{padding:.36rem .42rem}.scene-media-toggle span{font-size:.66rem}.now-playing-badge-stack{top:max(.55rem, env(safe-area-inset-top));justify-items:center;width:auto;left:50%;transform:translate(-50%)}.now-playing-badge{max-width:min(16rem,100vw - 9rem);padding:.4rem .62rem}.now-playing-badge-label{font-size:.62rem}.now-playing-badge-title{font-size:.68rem}.scene-theme-toggle{width:2.4rem}.book-loading-cover{width:min(15rem,100svw - 6rem)}}@media (width<=560px){.scene-toggle-panel{gap:.28rem}.scene-toggle{min-width:6.9rem;padding:.28rem .38rem;font-size:.64rem}.scene-toggle-group{width:min(8.2rem,42vw)}.scene-settings-toggle{min-width:min(8.2rem,42vw);padding:.28rem .38rem;font-size:.64rem}.scene-media-player{width:100%;padding:.34rem}.scene-media-button{min-height:1.8rem}.scene-media-toggle{padding:.34rem .38rem}.scene-media-toggle span{font-size:.62rem}.now-playing-badge-stack{top:max(.55rem, env(safe-area-inset-top));width:auto}.now-playing-badge{max-width:min(12rem,100vw - 8rem);padding:.34rem .54rem}.now-playing-badge-label{font-size:.56rem}.now-playing-badge-title{font-size:.6rem}.book-loading-state{gap:.7rem}.book-loading-cover{width:min(13.25rem,100svw - 5.5rem)}.book-loading-cover .book-cover-title{letter-spacing:.055em;width:80%;font-size:clamp(3rem,28cqw,5.4rem)}.book-loading-copy{font-size:.82rem}.open-book{--book-shell-width:min(29.5rem, calc(100svw - 1.15rem), calc((100svh - 2.65rem) * .72));--book-inner-inset-x:7%;--book-inner-inset-y:5.6%;--book-page-gap:0;--page-padding:.9rem;gap:.58rem}.book-close-spread{aspect-ratio:.72;width:min(18rem,100svw - 4.2rem,72svh - 5.04rem)}.book-close-cover-swing,.book-close-moving-shadow{width:min(18rem,100svw - 4.2rem,72svh - 5.04rem)}.book-shell{aspect-ratio:.72;min-height:0;max-height:calc(100svh - 2.65rem)}.book-content-layer{grid-template-columns:minmax(0,1fr)}.book-content-layer:before{inset:-.35rem}.book-content-layer:after{display:none}.book-page h2{font-size:1.42rem}.about-heading{grid-template-columns:1fr}.profile-icon{width:4rem}}@media (width<=960px) and (height<=560px){.book-loading-cover{width:min(12.5rem,100svw - 4.75rem)}.book-loading-cover .book-cover-title{font-size:clamp(2.9rem,28cqw,5rem)}.book-loading-copy{font-size:.76rem}.open-book{--book-shell-width:min(27.75rem, calc(100svw - 1.4rem), calc((100svh - 3.3rem) * .82));--book-inner-inset-y:5%;--page-padding:.72rem;gap:.68rem}.book-close-spread{aspect-ratio:.72;width:min(17rem,100svw - 3.6rem,72svh - 4.176rem)}.book-close-cover-swing,.book-close-moving-shadow{width:min(17rem,100svw - 3.6rem,72svh - 4.176rem)}.book-shell{aspect-ratio:.82;max-height:calc(100svh - 3.3rem)}.book-close-button{width:1.7rem;top:.35rem;left:.35rem}.scene-theme-toggle{width:2.2rem}.scene-toggle-group{width:min(8.8rem,34vw)}.scene-settings-toggle{min-width:min(8.8rem,34vw);padding:.32rem .4rem;font-size:.66rem}.scene-media-player{width:100%;padding:.34rem}.now-playing-badge-stack{top:max(.55rem, env(safe-area-inset-top));width:auto;left:50%;right:auto;transform:translate(-50%)}.closed-book-icon{width:1.7rem;height:1.7rem}.toc-mark{width:2.25rem;margin-bottom:.55rem}.toc-list{gap:.24rem}.toc-entry{gap:.35rem;padding:.32rem .35rem}.toc-entry-summary{display:none}.book-page-header{margin-bottom:.55rem}.book-page h2{font-size:1.28rem}.page-controls{grid-template-columns:2rem auto 2rem;gap:.45rem;padding:.34rem}.page-control-button{width:1.95rem}.page-count{min-width:4.55rem;font-size:.74rem}.book-drag-toggle{padding:.34rem .62rem;font-size:.72rem}}@media (width<=560px){.page-controls{grid-template-columns:2.4rem auto 2.4rem}.page-count{min-width:5.6rem;font-size:.82rem}}
