:root{--void:#000;--void-soft:#0a0a0a;--void-lighter:#111;--obsidian:#1a1a1a;--smoke:#2a2a2a;--ash:#404040;--silver:#8a8a8a;--ivory:#f0f0f0;--pure:#fff;--ember:#ff4d00;--ember-glow:rgba(255,77,0,.15);--gold:#c9a227;--gold-soft:rgba(201,162,39,.1);--glass-dark:rgba(0,0,0,.85);--glass-medium:rgba(0,0,0,.65);--glass-light:rgba(0,0,0,.4);--glass-subtle:rgba(0,0,0,.2);--frost:hsla(0,0%,100%,.03);--frost-light:hsla(0,0%,100%,.06);--frost-medium:hsla(0,0%,100%,.1);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-5xl:64px;--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-in-out-expo:cubic-bezier(0.87,0,0.13,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--duration-instant:100ms;--duration-fast:200ms;--duration-normal:350ms;--duration-slow:500ms;--duration-glacial:800ms;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--border-subtle:1px solid hsla(0,0%,100%,.06);--border-light:1px solid hsla(0,0%,100%,.12);--border-accent:1px solid rgba(255,77,0,.3);--shadow-subtle:0 1px 2px rgba(0,0,0,.3);--shadow-soft:0 4px 12px rgba(0,0,0,.4);--shadow-medium:0 8px 24px rgba(0,0,0,.5);--shadow-heavy:0 16px 48px rgba(0,0,0,.6);--shadow-glow:0 0 40px rgba(255,77,0,.15);--shadow-inner:inset 0 1px 0 hsla(0,0%,100%,.04)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}*{cursor:url(/point.png),auto}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--void);color:var(--ivory);line-height:1.6;overflow-x:hidden;min-height:100vh}::selection{background:var(--ember);color:var(--pure)}::-moz-selection{background:var(--ember);color:var(--pure)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--smoke);border-radius:var(--radius-full);-webkit-transition:background var(--duration-fast) var(--ease-out-expo);transition:background var(--duration-fast) var(--ease-out-expo)}::-webkit-scrollbar-thumb:hover{background:var(--ash)}*{scrollbar-width:thin;scrollbar-color:var(--smoke) var(--void)}:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.text-gradient{background:linear-gradient(135deg,var(--ivory) 0,var(--silver) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-glow{text-shadow:0 0 20px hsla(0,0%,100%,.2),0 0 40px hsla(0,0%,100%,.1)}.glass{background:var(--glass-medium);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%)}.glass,.glass-dark{border:var(--border-subtle)}.glass-dark{background:var(--glass-dark);backdrop-filter:blur(16px) saturate(200%);-webkit-backdrop-filter:blur(16px) saturate(200%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathe{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.02);opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes rotateGlow{0%{transform:rotate(0deg);filter:hue-rotate(0deg)}to{transform:rotate(1turn);filter:hue-rotate(1turn)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-expo) forwards}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out-expo) forwards}.animate-fade-in-down{animation:fadeInDown var(--duration-slow) var(--ease-out-expo) forwards}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-spring) forwards}.animate-slide-in-left{animation:slideInLeft var(--duration-slow) var(--ease-out-expo) forwards}.animate-slide-in-right{animation:slideInRight var(--duration-slow) var(--ease-out-expo) forwards}.animate-pulse{animation:pulse 2s var(--ease-in-out-expo) infinite}.animate-breathe{animation:breathe 4s var(--ease-in-out-expo) infinite}.animate-float{animation:float 3s var(--ease-in-out-expo) infinite}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.hover-lift{transition:transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.hover-glow{transition:box-shadow var(--duration-fast) var(--ease-out-expo)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.image-cinematic{filter:contrast(1.05) saturate(.95);transition:filter var(--duration-slow) var(--ease-out-expo)}.image-cinematic:hover{filter:contrast(1.1) saturate(1.05)}.full-viewport{width:100vw;height:100vh;min-height:100vh;min-height:100dvh}.center-flex{display:flex;align-items:center;justify-content:center}.cover-absolute{position:absolute;top:0;left:0;right:0;bottom:0}.chapter-overlay{background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.6) 30%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.5))}.chapter-vignette:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0,transparent 50%,rgba(0,0,0,.4) 100%);pointer-events:none}.chapter-text-container{background:linear-gradient(135deg,rgba(0,0,0,.75),rgba(0,0,0,.65));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:var(--border-subtle);box-shadow:var(--shadow-inner)}@media (max-width:768px){:root{--text-base:14px;--space-lg:20px;--space-xl:28px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}