:root{--book-container-height:min(calc(96vw * 8.5 / 11),calc(100vh - 80px));--book-content-height:calc(var(--book-container-height) - 116px);--book-theme:"sepia";--book-paper-cream:#F5F1E8;--book-paper-ivory:#FFFDF8;--book-paper:var(--book-paper-cream);--book-accent-sepia:#8B7355;--book-accent-sepia-light:rgba(139,115,85,0.3);--book-accent-sepia-bg:rgba(139,115,85,0.08);--book-accent-gold:#CBA46A;--book-accent-gold-light:rgba(203,164,106,0.3);--book-accent-gold-bg:rgba(203,164,106,0.08);--book-accent:var(--book-accent-sepia);--book-accent-light:var(--book-accent-sepia-light);--book-accent-bg:var(--book-accent-sepia-bg);--book-text:#2D2926;--book-text-muted:#6B6460;--book-line-height:1.85;--book-paragraph-spacing:16px;--book-margin-multiplier:1.0;--book-drop-cap-size:3.5em;--book-date-letter-spacing:0.15em;--book-shadow-soft:0 1px 2px rgba(139,115,85,0.06),0 8px 24px rgba(139,115,85,0.08);--book-shadow-lifted:0 12px 28px -8px rgba(0,0,0,0.25),0 6px 12px -4px rgba(0,0,0,0.15),0 2px 4px rgba(0,0,0,0.08);--book-gutter-dark:rgba(0,0,0,0.12);--book-gutter-medium:rgba(0,0,0,0.06);--book-gutter-light:rgba(0,0,0,0.02);--book-page-stack-color:rgba(0,0,0,0.06);--book-photo-rotation-max:1deg;--book-radius:16px;--book-radius-img:12px}.book-theme-gold{--book-paper:var(--book-paper-ivory);--book-accent:var(--book-accent-gold);--book-accent-light:var(--book-accent-gold-light);--book-accent-bg:var(--book-accent-gold-bg)}.book-export-view.density-comfort{--book-line-height:2.0;--book-paragraph-spacing:20px;--book-margin-multiplier:1.2}.book-export-view.density-standard{--book-line-height:1.85;--book-paragraph-spacing:16px;--book-margin-multiplier:1.0}.book-export-view.density-compact{--book-line-height:1.7;--book-paragraph-spacing:12px;--book-margin-multiplier:0.85}.book-export-view.density-compact .book-story-text{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 2;hyphenate-limit-lines:2}.book-chapter-title,.book-decade-header,.book-memory-title,.book-story-age,.book-story-date,.book-story-title,.no-hyphen{hyphens:none;-webkit-hyphens:none}.book-paper-texture{position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.035;mix-blend-mode:multiply}.book-paper-texture--subtle{opacity:.025}.book-paper-texture--mobile{opacity:.02}.book-story-text{font-family:Crimson Text,Georgia,serif;line-height:var(--book-line-height);color:var(--book-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.book-date-label{font-variant:small-caps;letter-spacing:var(--book-date-letter-spacing);font-weight:500;color:var(--book-text-muted);font-size:.9em;text-transform:lowercase}.book-drop-cap:first-letter{float:left;font-size:var(--book-drop-cap-size);line-height:.85;margin-right:.15em;margin-top:.1em;font-family:Crimson Text,Georgia,serif;font-weight:700;color:var(--book-accent)}@supports (initial-letter:3){.book-drop-cap-modern:first-letter{initial-letter:3;float:none;margin-right:0;margin-top:0;color:var(--book-accent)}}.book-gutter-shadow-left{right:auto;background:linear-gradient(to right,var(--book-gutter-dark) 0,var(--book-gutter-medium) 30%,var(--book-gutter-light) 60%,transparent 100%)}.book-gutter-shadow-left,.book-gutter-shadow-right{position:absolute;inset:0;width:64px;pointer-events:none;z-index:5}.book-gutter-shadow-right{left:auto;background:linear-gradient(to left,var(--book-gutter-dark) 0,var(--book-gutter-medium) 30%,var(--book-gutter-light) 60%,transparent 100%)}.book-page-stack-left{position:absolute;top:16px;bottom:16px;left:0;width:8px;pointer-events:none}.book-page-stack-left:after,.book-page-stack-left:before{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--book-page-stack-color)}.book-page-stack-left:before{left:0;opacity:.8}.book-page-stack-left:after{left:2px;opacity:.6}.book-page-stack-right{position:absolute;top:16px;bottom:16px;right:0;width:8px;pointer-events:none}.book-page-stack-right:after,.book-page-stack-right:before{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--book-page-stack-color)}.book-page-stack-right:before{right:0;opacity:.8}.book-page-stack-right:after{right:2px;opacity:.6}.book-photo-frame{position:relative}.book-photo-frame--shadow{position:absolute;inset:0;border-radius:var(--book-radius-img);box-shadow:var(--book-shadow-lifted);transform:translateY(4px) scale(.98);z-index:-1}.book-photo-frame[data-rotation=slight-left]{transform:rotate(-.6deg)}.book-photo-frame[data-rotation=slight-right]{transform:rotate(.6deg)}.book-photo-frame[data-rotation=left]{transform:rotate(-.8deg)}.book-photo-frame[data-rotation=right]{transform:rotate(.8deg)}.book-audio-player{display:flex;align-items:center;gap:12px;padding:12px 0}.book-audio-button{flex-shrink:0;width:48px;height:48px;min-width:48px;min-height:48px;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--book-accent) 0,color-mix(in srgb,var(--book-accent) 80%,white) 100%);color:white;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.15)}.book-audio-button:hover{transform:scale(1.05)}.book-audio-button:active{transform:scale(.95)}.book-audio-waveform{flex:1;height:40px;min-width:0}.book-audio-time{color:var(--book-text-muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.book-edit-button{position:absolute;top:12px;right:12px;opacity:0;width:36px;height:36px;border-radius:9999px;background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:30}.book-edit-button:focus,.group:hover .book-edit-button{opacity:1}.book-edit-button:hover{background:white;transform:scale(1.05)}.book-edit-button:focus{outline:none;box-shadow:0 0 0 3px rgba(147,197,253,.9)}.book-fade-bottom{position:absolute;bottom:0;left:0;right:0;height:128px;pointer-events:none;background:linear-gradient(to top,var(--book-paper) 0,var(--book-paper) 20%,color-mix(in srgb,var(--book-paper) 80%,transparent) 50%,transparent 100%);z-index:40}.book-fade-indicator{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(0,0,0,.4)}.js-flow{overflow-y:scroll!important;overflow-x:hidden!important;overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-y}.js-flow>.h-full>:first-child,.js-flow>.h-full>:first-child+*{margin-top:0!important}.js-flow>.h-full>p:empty{display:none}.js-flow::-webkit-scrollbar{width:10px;-webkit-appearance:none}.js-flow::-webkit-scrollbar-track{background:rgba(0,0,0,.08);border-radius:5px;margin:100px 0}.js-flow::-webkit-scrollbar-thumb{background:rgba(0,0,0,.4);border-radius:5px;-webkit-transition:background .2s ease;transition:background .2s ease;border:2px solid transparent;background-clip:padding-box;min-height:40px}.js-flow::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.55);background-clip:padding-box}.js-flow{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.4) rgba(0,0,0,.08);scrollbar-gutter:stable}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@keyframes pulse-subtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.03)}}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-pulse-subtle{animation:pulse-subtle 2.5s ease-in-out;animation-iteration-count:3}.animate-bounce-gentle{animation:bounce-gentle 2s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.js-flow{scroll-behavior:auto!important}.animate-bounce-gentle,.animate-pulse-subtle{animation:none!important}.book-audio-button,.book-edit-button,.book-photo-frame{transition:none}}@media (max-width:1024px){.book-paper-texture{opacity:.02}.book-gutter-shadow-left,.book-gutter-shadow-right{width:32px}.book-page-stack-left,.book-page-stack-right{display:none}}.snap-x{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.snap-center{scroll-snap-align:center}.snap-always{scroll-snap-stop:always}@media print{.no-print{display:none!important}.book-gutter-shadow-left,.book-gutter-shadow-right,.book-page-stack-left,.book-page-stack-right,.book-paper-texture{display:none}}