:root{--font-display: "Playfair Display", Georgia, serif;--font-body: "Lora", Georgia, serif;--font-title: "Cinzel", serif;--bg-from: #1a0f0a;--bg-mid: #2d1810;--bg-to: #1a0f0a;--bg-accent-1: rgba(180, 100, 40, .15);--bg-accent-2: rgba(120, 60, 20, .1);--glow-color: rgba(200, 120, 50, .3);--particle-color: rgba(255, 200, 100, .6);--book-cover: #8B2020;--book-spine: #6B1818;--book-page: #fdf6e3;--book-page-2: #f5ead0;--book-shadow: rgba(0,0,0,.7);--book-gold: #c9a84c;--ink-color: #2c1810;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-book: cubic-bezier(.645, .045, .355, 1)}[data-genre=fantasy]{--bg-from: #0d1a0a;--bg-mid: #1a2d10;--bg-to: #0f1a08;--bg-accent-1: rgba(60, 120, 30, .2);--bg-accent-2: rgba(100, 80, 20, .15);--glow-color: rgba(80, 160, 40, .25);--particle-color: rgba(150, 220, 80, .5);--book-cover: #2d5a1b;--book-spine: #1e3d12;--book-gold: #b8960c}[data-genre=scifi]{--bg-from: #020b1a;--bg-mid: #050d1f;--bg-to: #0a0205;--bg-accent-1: rgba(0, 80, 200, .25);--bg-accent-2: rgba(180, 10, 10, .2);--glow-color: rgba(0, 120, 255, .3);--particle-color: rgba(100, 180, 255, .6);--book-cover: #0a1628;--book-spine: #060e1a;--book-gold: #4dc3ff}[data-genre=fairytale]{--bg-from: #1a0d1f;--bg-mid: #2a1535;--bg-to: #1a0d1f;--bg-accent-1: rgba(200, 100, 220, .2);--bg-accent-2: rgba(255, 180, 50, .15);--glow-color: rgba(220, 130, 255, .3);--particle-color: rgba(255, 220, 100, .7);--book-cover: #6b1f8a;--book-spine: #4a1560;--book-gold: #ffd700}[data-genre=adventure]{--bg-from: #1a0e05;--bg-mid: #2d1a08;--bg-to: #1a1005;--bg-accent-1: rgba(200, 130, 20, .2);--bg-accent-2: rgba(160, 80, 10, .15);--glow-color: rgba(220, 150, 30, .3);--particle-color: rgba(255, 200, 80, .6);--book-cover: #8B4513;--book-spine: #6B3410;--book-gold: #daa520}[data-genre=mystery]{--bg-from: #080810;--bg-mid: #0f0f1a;--bg-to: #080810;--bg-accent-1: rgba(60, 60, 140, .2);--bg-accent-2: rgba(100, 80, 20, .1);--glow-color: rgba(80, 80, 180, .25);--particle-color: rgba(150, 150, 255, .4);--book-cover: #1a1a2e;--book-spine: #0f0f1e;--book-gold: #9090d0}[data-genre=horror]{--bg-from: #0a0000;--bg-mid: #150000;--bg-to: #0a0000;--bg-accent-1: rgba(180, 0, 0, .2);--bg-accent-2: rgba(80, 0, 0, .15);--glow-color: rgba(200, 0, 0, .3);--particle-color: rgba(255, 50, 50, .4);--book-cover: #1a0000;--book-spine: #0f0000;--book-gold: #8b0000}[data-genre=romance]{--bg-from: #1a0810;--bg-mid: #2d1020;--bg-to: #1a0810;--bg-accent-1: rgba(220, 80, 120, .2);--bg-accent-2: rgba(255, 150, 100, .15);--glow-color: rgba(240, 100, 140, .3);--particle-color: rgba(255, 180, 200, .6);--book-cover: #8B1a3a;--book-spine: #6B1028;--book-gold: #ffb6c1}[data-genre=fable]{--bg-from: #0f1505;--bg-mid: #1a2008;--bg-to: #0f1505;--bg-accent-1: rgba(100, 150, 30, .2);--bg-accent-2: rgba(180, 140, 20, .15);--glow-color: rgba(120, 170, 40, .25);--particle-color: rgba(200, 220, 100, .6);--book-cover: #3d5214;--book-spine: #2a380e;--book-gold: #c8a020}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%;overflow:auto}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased}.scene{position:relative;top:0;right:0;bottom:0;left:0;min-height:100vh;background:radial-gradient(ellipse at 20% 50%,var(--bg-accent-1) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,var(--bg-accent-2) 0%,transparent 60%),linear-gradient(160deg,var(--bg-from) 0%,var(--bg-mid) 50%,var(--bg-to) 100%);transition:background 1.5s ease;display:flex;align-items:center;justify-content:center;perspective:2000px;overflow-x:clip}.particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--particle-color);animation:float-up linear infinite;opacity:0}@keyframes float-up{0%{transform:translateY(100vh) translate(0) scale(0);opacity:0}10%{opacity:1}90%{opacity:.6}to{transform:translateY(-20px) translate(30px) scale(1.5);opacity:0}}.glow-left,.glow-right{position:absolute;width:400px;height:400px;border-radius:50%;filter:blur(80px);pointer-events:none;transition:background 1.5s ease}.glow-left{left:-100px;top:50%;transform:translateY(-50%);background:var(--glow-color)}.glow-right{right:-100px;top:50%;transform:translateY(-50%);background:var(--glow-color)}.book-stage{position:relative;z-index:10;display:flex;align-items:center;justify-content:center}.book-closed{position:relative;width:420px;height:600px;animation:book-arrive .8s var(--ease-spring) both;cursor:pointer;filter:drop-shadow(0 40px 60px var(--book-shadow));transform-style:preserve-3d}@keyframes book-arrive{0%{transform:translateY(60px) rotateX(20deg);opacity:0}to{transform:translateY(0) rotateX(5deg);opacity:1}}.book-closed:hover{transform:rotateX(5deg) rotateY(-5deg) translateY(-4px);transition:transform .3s var(--ease-out)}.book-cover-front{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--book-cover) 0%,color-mix(in srgb,var(--book-cover) 70%,black) 100%);border-radius:2px 8px 8px 2px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;overflow:visible}.book-cover-front:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--book-gold);border-radius:2px;opacity:.4;pointer-events:none}.book-cover-front:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(105deg,rgba(255,255,255,.08) 0%,transparent 50%);pointer-events:none}.book-spine-closed{position:absolute;left:-12px;top:0;bottom:0;width:12px;background:linear-gradient(to right,color-mix(in srgb,var(--book-spine) 60%,black),var(--book-spine));border-radius:4px 0 0 4px}.cover-title-preview{font-family:var(--font-title);font-size:28px;color:var(--book-gold);text-align:center;line-height:1.4;text-shadow:0 1px 4px rgba(0,0,0,.8);z-index:1}.cover-ornament{width:40px;height:2px;background:linear-gradient(to right,transparent,var(--book-gold),transparent);margin:8px 0}.cover-image-preview{width:80%;height:auto;aspect-ratio:1;border-radius:4px;object-fit:cover;border:2px solid rgba(255,255,255,.2);margin-bottom:20px;z-index:1}@keyframes sparkle-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.2)}}:root{--spine-w: clamp(8px, 1.4vmin, 16px);--page-w: min( clamp(132px, 38vmin, 360px), calc((100vw - 32px - var(--spine-w)) / 2) );--page-h: calc(var(--page-w) * 1.42);--page-pad: clamp(14px, 3.4vmin, 34px);--leaf-radius: clamp(4px, 1vmin, 9px);--flip-ms: .72s}.book-viewport{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:clamp(72px,12vh,110px);width:100%;animation:viewport-in .7s var(--ease-out) both}@keyframes viewport-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.book3d{position:relative;width:calc(var(--page-w) * 2 + var(--spine-w));height:var(--page-h);transform-style:preserve-3d;perspective:2400px;user-select:none;-webkit-user-select:none;touch-action:pan-y;transition:transform .55s var(--ease-book);cursor:grab}.book3d.is-dragging{cursor:grabbing}.book3d.is-closed{transform:translate(calc((var(--page-w) + var(--spine-w)) / -2));cursor:pointer}.book3d.is-closed:hover{transform:translate(calc((var(--page-w) + var(--spine-w)) / -2)) translateY(-4px) rotateY(-4deg)}.book3d.is-ended{transform:translate(calc((var(--page-w) + var(--spine-w)) / 2));cursor:pointer}.book3d.is-ended:hover{transform:translate(calc((var(--page-w) + var(--spine-w)) / 2)) translateY(-4px) rotateY(4deg)}.book-board{position:absolute;top:-10px;left:-14px;right:-14px;bottom:-16px;background:linear-gradient(150deg,color-mix(in srgb,var(--book-cover) 55%,black),color-mix(in srgb,var(--book-cover) 30%,black));border-radius:calc(var(--leaf-radius) + 6px);box-shadow:0 40px 70px -10px #000000bf,0 8px 20px #00000080;opacity:0;transition:opacity .5s var(--ease-out)}.book3d.is-open .book-board{opacity:1}.spread{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:center}.page{width:var(--page-w);height:var(--page-h);position:relative;overflow:hidden;background:var(--book-page);flex-shrink:0}.page-left{border-radius:var(--leaf-radius) 0 0 var(--leaf-radius);background:linear-gradient(to right,var(--book-page-2) 0%,var(--book-page) 14%);box-shadow:inset -14px 0 26px -10px #00000029}.page-right{border-radius:0 var(--leaf-radius) var(--leaf-radius) 0;background:linear-gradient(to left,var(--book-page-2) 0%,var(--book-page) 14%);box-shadow:inset 14px 0 26px -10px #00000029}.page:after{content:"";position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(rgba(0,0,0,.05),transparent,rgba(0,0,0,.05))}.page-left:after{right:0}.page-right:after{left:0}.page,.spine{transition:opacity calc(var(--flip-ms) * .45) var(--ease-out)}.book3d.is-closed .page-left,.book3d.is-closed .spine,.book3d.is-ended .page-right,.book3d.is-ended .spine{opacity:0}.spine{width:var(--spine-w);flex-shrink:0;background:linear-gradient(to right,color-mix(in srgb,var(--book-spine) 65%,black),var(--book-spine) 45%,color-mix(in srgb,var(--book-spine) 70%,black));position:relative;z-index:4;box-shadow:0 0 18px #00000080}.spine:before,.spine:after{content:"";position:absolute;left:1px;right:1px;height:2px;background:var(--book-gold);opacity:.35}.spine:before{top:16px}.spine:after{bottom:16px}.gutter-shadow{position:absolute;top:0;bottom:0;left:50%;width:40%;transform:translate(-100%);background:linear-gradient(to left,rgba(0,0,0,.5),transparent);pointer-events:none;z-index:5}.page-pad{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--page-pad);display:flex;flex-direction:column}.endpaper{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,#00000003 0,#00000003 10px,#00000008 10px,#00000008 20px),var(--book-page-2)}.endpaper:after{content:"✦";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:clamp(20px,4vmin,34px);color:color-mix(in srgb,var(--book-gold) 55%,transparent)}.flip-leaf{position:absolute;top:0;left:calc(50% + var(--spine-w) / 2);width:var(--page-w);height:var(--page-h);transform-origin:left center;transform-style:preserve-3d;z-index:8;will-change:transform}.flip-leaf-anim{transition:transform var(--flip-ms) var(--ease-book)}.flip-face,.flip-face *{-webkit-backface-visibility:hidden;backface-visibility:hidden}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--book-page);box-shadow:0 14px 24px -6px #00000059,0 4px 10px -2px #00000040}.flip-front{border-radius:0 var(--leaf-radius) var(--leaf-radius) 0;background:linear-gradient(to left,var(--book-page-2) 0%,var(--book-page) 14%)}.flip-back{border-radius:var(--leaf-radius) 0 0 var(--leaf-radius);background:linear-gradient(to right,var(--book-page-2) 0%,var(--book-page) 14%);transform:rotateY(180deg)}.leaf-gloss{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.leaf-gloss-front{background:linear-gradient(105deg,#ffffff8c,#fff0 55%)}.leaf-gloss-back{background:linear-gradient(255deg,#00000059,#0000 55%)}.cover-face{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--book-cover);background-image:linear-gradient(135deg,color-mix(in srgb,var(--book-cover) 72%,white) 0%,var(--book-cover) 42%,color-mix(in srgb,var(--book-cover) 82%,black) 100%);border-radius:2px var(--leaf-radius) var(--leaf-radius) 2px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--book-gold) 35%,transparent),0 6px 26px -6px #0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.6vmin,16px);padding:clamp(20px,5vmin,46px);overflow:hidden}.cover-inner-frame{position:absolute;inset:clamp(8px,1.8vmin,16px);border:1px solid var(--book-gold);border-radius:3px;opacity:.45;pointer-events:none}.cover-face:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(to right,rgba(0,0,0,.4),transparent)}.cover-face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,rgba(255,255,255,.14) 0%,transparent 45%);pointer-events:none}.cover-art{width:72%;aspect-ratio:1;object-fit:cover;border-radius:3px;border:2px solid color-mix(in srgb,var(--book-gold) 70%,transparent);box-shadow:0 6px 18px #0006;z-index:1}.cover-art-blank{background:linear-gradient(135deg,color-mix(in srgb,var(--book-cover) 60%,black),color-mix(in srgb,var(--book-cover) 90%,black))}.cover-rule{width:clamp(36px,8vmin,64px);height:2px;background:linear-gradient(to right,transparent,var(--book-gold),transparent);z-index:1}.cover-name{font-family:var(--font-title);font-size:clamp(15px,3.4vmin,30px);line-height:1.35;text-align:center;color:var(--book-gold);text-shadow:0 2px 6px rgba(0,0,0,.7);z-index:1;padding:0 6px}.cover-hint{position:absolute;bottom:clamp(14px,3vmin,26px);font-family:var(--font-body);font-size:clamp(9px,1.7vmin,12px);font-style:italic;letter-spacing:1.5px;color:color-mix(in srgb,var(--book-gold) 70%,transparent);animation:pulse 2.6s ease-in-out infinite;z-index:1}.cover-face-back{border-radius:var(--leaf-radius) 2px 2px var(--leaf-radius)}.cover-face-back:before{left:auto;right:0;background:linear-gradient(to left,rgba(0,0,0,.4),transparent)}.cover-face-back:after{background:linear-gradient(250deg,rgba(255,255,255,.12) 0%,transparent 45%)}.back-cover-end{font-family:var(--font-title);font-size:clamp(22px,5vmin,44px);letter-spacing:2px;color:var(--book-gold);text-shadow:0 2px 8px rgba(0,0,0,.8);z-index:1}.back-cover-title{font-family:var(--font-body);font-style:italic;font-size:clamp(11px,2.2vmin,16px);text-align:center;color:color-mix(in srgb,var(--book-gold) 80%,transparent);text-shadow:0 1px 4px rgba(0,0,0,.7);z-index:1;padding:0 8px}.chapter-number{font-family:var(--font-title);font-size:clamp(8px,1.7vmin,11px);color:#b09a6a;letter-spacing:3px;text-transform:uppercase;text-align:center}.chapter-title{font-family:var(--font-display);font-size:clamp(13px,2.7vmin,19px);font-weight:700;color:var(--ink-color);text-align:center;margin-top:4px}.chapter-divider{width:clamp(40px,9vmin,64px);height:1px;background:linear-gradient(to right,transparent,var(--book-gold),transparent);margin:clamp(8px,1.8vmin,14px) auto}.story-text{font-family:var(--font-body);font-size:clamp(11px,2vmin,14px);line-height:1.8;color:var(--ink-color);flex:1;overflow-y:auto;text-align:justify;-webkit-hyphens:auto;hyphens:auto;padding-right:4px;-webkit-overflow-scrolling:touch}.story-text:first-letter{font-family:var(--font-display);font-size:clamp(30px,6.4vmin,46px);font-weight:700;float:left;line-height:.78;margin:4px 6px 0 0;color:color-mix(in srgb,var(--book-cover) 80%,black)}.story-text::-webkit-scrollbar{width:3px}.story-text::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--book-gold) 50%,transparent);border-radius:2px}.illustration-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.8vmin,14px)}.illustration-img{width:100%;aspect-ratio:1;max-height:78%;object-fit:cover;border-radius:3px;border:3px solid rgba(0,0,0,.08);box-shadow:0 6px 22px #0000002e}.illustration-caption{font-family:var(--font-body);font-size:clamp(9px,1.7vmin,12px);font-style:italic;color:#8a7a52;text-align:center;line-height:1.4}.illustration-loading{width:100%;aspect-ratio:1;max-height:78%;background:linear-gradient(110deg,#f0e8d0 8%,#ede0c4 18%,#f0e8d0 33%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:3px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-number{position:absolute;bottom:clamp(8px,1.8vmin,16px);font-family:var(--font-body);font-size:clamp(9px,1.5vmin,11px);font-style:italic;color:#b3a279;letter-spacing:1px}.page-number-left{left:var(--page-pad)}.page-number-right{right:var(--page-pad)}.nav-controls{position:absolute;bottom:clamp(16px,5vh,44px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:clamp(10px,2.4vw,18px);white-space:nowrap;z-index:60}.nav-btn{width:clamp(38px,8vmin,46px);height:clamp(38px,8vmin,46px);border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#ffffffd9;font-size:clamp(18px,3.6vmin,22px);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .2s,transform .2s,opacity .2s}.nav-btn:hover:not(:disabled){background:#fff3;transform:scale(1.08)}.nav-btn:active:not(:disabled){transform:scale(.96)}.nav-btn:disabled{opacity:.25;cursor:not-allowed}.nav-page-info{font-family:var(--font-body);font-size:clamp(11px,2vmin,13px);font-style:italic;color:#ffffff8c;letter-spacing:1px;min-width:120px;text-align:center}@media (prefers-reduced-motion: reduce){.flip-leaf-anim,.book3d{transition-duration:1ms}.viewport-in,.book-board{animation:none;transition:none}}.audio-bar{position:fixed;bottom:0;left:0;right:0;background:#0009;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08);border-radius:0;padding:5px 10px;display:flex;align-items:center;gap:12px;z-index:200}.audio-btn{width:28px;height:28px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.audio-btn:hover{background:#ffffff40}.audio-progress-track{flex:1;height:3px;background:#ffffff26;border-radius:2px;cursor:pointer;position:relative}.audio-progress-fill{height:100%;border-radius:2px;background:var(--book-gold);transition:width .1s linear;pointer-events:none}.audio-time{font-family:var(--font-body);font-size:10px;color:#fff6;letter-spacing:.5px;flex-shrink:0;white-space:nowrap}.prompt-scene{display:flex;flex-direction:column;align-items:center;gap:32px;animation:fadeUp .6s var(--ease-out) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-title{font-family:var(--font-title);font-size:42px;color:#ffffffeb;letter-spacing:6px;text-align:center;text-shadow:0 2px 20px rgba(0,0,0,.5);line-height:1.2}.app-subtitle{font-family:var(--font-body);font-size:14px;font-style:italic;color:#fff6;letter-spacing:2px;margin-top:-24px;text-align:center}.form-card{background:#ffffff0a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:32px;width:520px;max-width:95vw;display:flex;flex-direction:column;gap:20px}.form-row{display:flex;gap:12px}.form-group{display:flex;flex-direction:column;gap:6px;flex:1}.form-label{font-family:var(--font-body);font-size:11px;font-weight:500;color:#fff6;text-transform:uppercase;letter-spacing:1.5px}.form-select,.form-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;font-family:var(--font-body);font-size:14px;padding:10px 14px;outline:none;transition:border-color .2s,background .2s;width:100%}.form-select:focus,.form-input:focus{border-color:#ffffff40;background:#ffffff17}.form-input::placeholder{color:#ffffff40}.form-select option{background:#1a1a2e;color:#fff}.genre-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.genre-btn{padding:8px 4px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#ffffff80;font-family:var(--font-body);font-size:11px;cursor:pointer;text-align:center;line-height:1.3;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:4px}.genre-btn:hover{background:#ffffff1a;color:#fffc}.genre-btn.active{border-color:var(--book-gold);background:#ffffff1a;color:#fffffff2}.genre-btn .genre-emoji{font-size:18px}.generate-btn{padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:linear-gradient(135deg,var(--book-cover),color-mix(in srgb,var(--book-cover) 70%,black));color:#fff;font-family:var(--font-title);font-size:16px;letter-spacing:3px;cursor:pointer;transition:all .2s;text-transform:uppercase}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0006}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.loading-book-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px}.loading-status{font-family:var(--font-body);font-size:13px;font-style:italic;color:#ffffff73;letter-spacing:1px;text-align:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.top-bar{position:fixed;top:0;left:0;right:0;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;z-index:100}.top-bar-title{font-family:var(--font-title);font-size:14px;letter-spacing:4px;color:#ffffff59}.new-story-btn{padding:6px 16px;border-radius:100px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffff80;font-family:var(--font-body);font-size:12px;cursor:pointer;letter-spacing:.5px;transition:all .2s}.new-story-btn:hover{background:#ffffff1a;color:#fffc}.age-toggle{display:flex;gap:0;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden}.age-btn{flex:1;padding:10px 14px;border:none;cursor:pointer;font-family:var(--font-body);font-size:13px;transition:all .2s;background:#ffffff0a;color:#fff6}.age-btn.active{background:#ffffff1f;color:#ffffffe6}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}@media (max-height: 720px){:root{--page-h: min(calc(var(--page-w) * 1.42), calc(100vh - 168px) );--page-w: min( clamp(132px, 38vmin, 360px), calc((100vw - 32px - var(--spine-w)) / 2), calc((100vh - 168px) / 1.42) )}}@media (max-width: 768px){.book-closed{width:240px;height:343px}.audio-bar{min-width:0}}@media (max-width: 420px){:root{--page-pad: clamp(11px, 4.2vw, 18px)}.nav-page-info{min-width:96px}.book-viewport{padding-bottom:clamp(64px,11vh,96px)}}
