*,*:before,*:after{box-sizing:border-box}:root{--font-display: "Fredoka", "Nunito", system-ui, sans-serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg: #0d0b1a;--bg-2: #14102b;--surface: rgba(255, 255, 255, .05);--surface-2: rgba(255, 255, 255, .08);--card: #1b1638;--card-2: #221b46;--line: rgba(255, 255, 255, .1);--text: #ffffff;--text-soft: rgba(255, 255, 255, .66);--text-faint: rgba(255, 255, 255, .4);--orange: #ff9f43;--coral: #ff6b6b;--purple: #8b7bff;--violet: #7c5cff;--blue: #4da8ff;--teal: #2dd4bf;--pink: #ff6ec7;--yellow: #ffd166;--green: #36e3a0;--grad-primary: linear-gradient(135deg, #ff9f43, #ff6b6b);--grad-fun: linear-gradient(135deg, #7c5cff, #ff6ec7);--grad-cool: linear-gradient(135deg, #4da8ff, #2dd4bf);--grad-warm: linear-gradient(135deg, #ffd166, #ff6b6b);--grad-rainbow: linear-gradient(110deg, #ff9f43, #ff6ec7 35%, #7c5cff 65%, #4da8ff);--r-sm: 12px;--r: 18px;--r-lg: 26px;--r-xl: 34px;--r-pill: 999px;--shadow-card: 0 18px 40px rgba(0, 0, 0, .45);--glow-primary: 0 10px 30px rgba(255, 107, 107, .4);--glow-fun: 0 10px 30px rgba(124, 92, 255, .45);font-family:var(--font-body);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{margin:0;padding:0;min-height:100vh}body{min-width:320px;color:var(--text);background:radial-gradient(900px 600px at 12% -5%,rgba(124,92,255,.22),transparent 60%),radial-gradient(800px 600px at 100% 0%,rgba(255,110,199,.16),transparent 55%),radial-gradient(900px 700px at 50% 120%,rgba(77,168,255,.14),transparent 60%),var(--bg);background-attachment:fixed}#root{display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.2px}p{margin:0}img{max-width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:#ffffff47}.page-wrapper{display:flex;width:100%;height:100%}.flipbook .stf__block{border-radius:6px;overflow:hidden}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pop-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes shimmer{0%{background-position:200% center}to{background-position:-200% center}}.pop-in{animation:pop-in .5s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#0d0b1ab8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{max-width:1360px;margin:0 auto;padding:0 24px;height:70px;display:flex;align-items:center;gap:16px;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.header-logo-img{width:48px;height:48px;border-radius:14px;object-fit:cover;object-position:center 18%;box-shadow:0 4px 14px #7c5cff73;transition:transform .3s cubic-bezier(.22,1,.36,1)}.header-logo:hover .header-logo-img{transform:rotate(-3deg) scale(1.05)}.logo-mascot{font-size:30px;line-height:1;align-items:center;filter:drop-shadow(0 4px 10px rgba(124,92,255,.5))}.header-brand{font-family:var(--font-display);font-size:19px;font-weight:600;color:#fff;letter-spacing:-.3px;white-space:nowrap}.header-brand strong{background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-nav-center{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);padding:5px;border-radius:var(--r-pill);margin:0 auto}.nav-tab{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-size:14px;font-weight:500;color:var(--text-soft);padding:8px 18px;border-radius:var(--r-pill);transition:all .2s;position:relative}.nav-tab-icon{font-size:16px}.nav-tab:hover{color:#fff;background:var(--surface-2)}.nav-tab.active{color:#fff;background:var(--grad-fun);box-shadow:var(--glow-fun)}.nav-tab-soon{font-family:var(--font-body);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;background:var(--yellow);color:#4a2c00;padding:2px 6px;border-radius:var(--r-pill);line-height:1}.header-nav{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-greeting{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--text-soft)}.greeting-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--grad-cool);font-size:16px;box-shadow:0 4px 12px #4da8ff66}.nav-link{font-size:14px;font-weight:700;color:#ffffffd9;padding:9px 16px;border-radius:var(--r-pill);transition:background .2s}.nav-link:hover{background:var(--surface-2);color:#fff}.btn-subscribe{background:var(--grad-primary);color:#fff;font-size:13px;font-weight:800;padding:10px 18px;border-radius:var(--r-pill);letter-spacing:.2px;box-shadow:var(--glow-primary);transition:transform .2s}.btn-subscribe:hover{transform:translateY(-2px) scale(1.03)}.btn-install{display:inline-flex;align-items:center;gap:5px;background:var(--grad-cool);border:none;color:#06243a;font-family:var(--font-display);font-size:13px;font-weight:600;padding:9px 15px;border-radius:var(--r-pill);cursor:pointer;box-shadow:0 6px 18px -6px var(--blue);transition:transform .2s;white-space:nowrap}.btn-install:hover{transform:translateY(-2px) scale(1.03)}.btn-logout{background:var(--surface);border:1px solid var(--line);color:var(--text-soft);font-size:13px;font-weight:700;padding:8px 16px;border-radius:var(--r-pill);cursor:pointer;transition:all .2s}.btn-logout:hover{background:var(--surface-2);color:#fff}@media (max-width: 760px){.header-inner{padding:0 14px;gap:8px}.header-brand{display:none}.header-nav-center{margin:0}.nav-tab{padding:8px 13px;font-size:13px}.nav-tab-soon,.header-greeting,.btn-install{display:none}}.landing{color:#fff;min-height:100vh;overflow-x:hidden}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 24px 80px;max-width:1280px;margin:0 auto;gap:60px}.hero-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25}.orb1{width:600px;height:600px;background:#ff9f43;top:-200px;left:-200px}.orb2{width:500px;height:500px;background:#6c5ce7;top:200px;right:-150px}.orb3{width:400px;height:400px;background:#00b894;bottom:-100px;left:40%}.hero-content{position:relative;z-index:1;flex:1;max-width:600px}.hero-logo{width:132px;height:auto;margin-bottom:20px;filter:drop-shadow(0 12px 30px rgba(124,92,255,.45));animation:floaty 6s ease-in-out infinite}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#ff9f4326;border:1px solid rgba(255,159,67,.3);color:#ff9f43;font-size:13px;font-weight:600;padding:8px 16px;border-radius:50px;margin-bottom:24px}@media (max-width: 768px){.hero-logo{margin-left:auto;margin-right:auto}}.hero-title{font-size:clamp(36px,5vw,58px);font-weight:800;line-height:1.15;margin:0 0 20px;letter-spacing:-1.5px}.gradient-text{background:linear-gradient(135deg,#ff9f43,#ff6b6b,#a29bfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc{font-size:18px;color:#ffffffb3;line-height:1.6;margin:0 0 32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}.btn-hero-primary{background:linear-gradient(135deg,#ff9f43,#ff6b6b);color:#fff;font-size:16px;font-weight:700;padding:16px 30px;border-radius:14px;text-decoration:none;transition:transform .2s,opacity .2s;white-space:nowrap}.btn-hero-primary:hover{transform:translateY(-2px);opacity:.92}.btn-hero-secondary{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;font-size:15px;font-weight:600;padding:15px 24px;border-radius:14px;text-decoration:none;transition:background .2s}.btn-hero-secondary:hover{background:#ffffff24}.hero-disclaimer{font-size:13px;color:#fff6}.hero-preview{position:relative;z-index:1;flex:1;display:flex;justify-content:center;align-items:center}.floating-books{position:relative;width:340px;height:380px}.floating-book{position:absolute;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:float 4s ease-in-out infinite}.floating-book img{width:100%;height:100%;object-fit:cover;display:block}.fb1{width:160px;height:180px;top:0;left:50%;transform:translate(-50%);animation-delay:0s}.fb2{width:140px;height:160px;bottom:40px;left:0;animation-delay:1.3s}.fb3{width:140px;height:160px;bottom:40px;right:0;animation-delay:.7s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.fb1{animation-name:float}.fb2{animation-name:float2}.fb3{animation-name:float3}@keyframes float2{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(-3deg)}}@keyframes float3{0%,to{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-12px) rotate(3deg)}}.section-inner{max-width:1200px;margin:0 auto;padding:80px 24px}.section-title{font-size:clamp(26px,3.5vw,38px);font-weight:800;text-align:center;margin:0 0 12px;letter-spacing:-.8px}.section-sub{text-align:center;color:#ffffff80;font-size:16px;margin:0 0 48px}.features{background:#ffffff05;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px}.feature-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;transition:background .2s,border-color .2s}.feature-card:hover{background:#ffffff12;border-color:#ff9f434d}.feature-icon{font-size:36px;margin-bottom:16px}.feature-card h3{font-size:18px;font-weight:700;margin:0 0 10px;color:#fff}.feature-card p{font-size:14px;color:#ffffff8c;line-height:1.6;margin:0}.books-preview{background:#0d0d1e}.books-row{display:flex;gap:20px;overflow-x:auto;padding-bottom:12px;margin-bottom:36px;scrollbar-width:none}.books-row::-webkit-scrollbar{display:none}.preview-book-wrapper{flex-shrink:0;text-align:center}.preview-book{width:150px;height:180px;border-radius:16px;overflow:hidden;margin-bottom:10px;position:relative;box-shadow:0 8px 30px #0006;transition:transform .2s;background:#1a1a2e}.preview-book img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.preview-book:hover{transform:translateY(-4px)}.preview-book:hover img{transform:scale(1.05)}.preview-more{display:flex}.preview-badge{position:absolute;top:8px;right:8px;background:#ff6b6b;color:#fff;font-size:9px;font-weight:800;padding:3px 7px;border-radius:5px;letter-spacing:1px}.preview-more{background:#ffffff0f;border:2px dashed rgba(255,255,255,.15);color:#ffffff80;flex-direction:column;align-items:center;justify-content:center}.preview-more span{font-size:32px;font-weight:800}.preview-more p{font-size:12px;margin:0}.preview-title{font-size:12px;font-weight:600;color:#ffffffd9;width:150px;margin:0 0 6px;line-height:1.3}.preview-cat{font-size:11px;color:#ff9f43;font-weight:600}.books-cta{text-align:center}.how-it-works{background:#ffffff05;border-top:1px solid rgba(255,255,255,.06)}.steps{display:flex;align-items:center;gap:0;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:48px}.step{text-align:center;max-width:180px}.step-num{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#ff9f43,#ff6b6b);color:#fff;font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;box-shadow:0 4px 20px #ff6b6b66}.step h3{font-size:16px;font-weight:700;margin:0 0 8px;color:#fff}.step p{font-size:13px;color:#ffffff80;line-height:1.5;margin:0}.step-arrow{font-size:24px;color:#ff9f4366;padding:0 8px}.testimonials{background:#0d0d1e}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px}.testimonial-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px}.t-stars{font-size:18px;margin-bottom:14px}.t-text{font-size:15px;color:#ffffffbf;line-height:1.6;margin:0 0 20px;font-style:italic}.t-author{display:flex;align-items:center;gap:12px}.t-avatar{font-size:32px}.t-author strong{display:block;font-size:14px;color:#fff}.t-author span{font-size:12px;color:#fff6}.pricing{background:#ffffff05;border-top:1px solid rgba(255,255,255,.06)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;max-width:760px;margin:40px auto 0}.pricing-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-xl);padding:36px 32px;text-align:center;position:relative}.pricing-card-highlight{border-color:#ff9f4380;background:linear-gradient(160deg,#ff9f431f,#ff6b6b0f);box-shadow:0 20px 50px -20px #ff6b6b80}.pricing-old{font-size:14px;font-weight:700;color:var(--text-faint);margin-bottom:4px}.pricing-badge{display:inline-block;background:var(--grad-primary);color:#fff;font-family:var(--font-display);font-size:12px;font-weight:600;padding:7px 16px;border-radius:var(--r-pill);margin-bottom:18px}.pricing-badge-alt{background:var(--grad-cool)}.pricing-name{font-size:22px;font-weight:700;margin:0 0 24px}.pricing-value{display:flex;align-items:baseline;justify-content:center;gap:2px;margin-bottom:32px}.price-currency{font-size:24px;font-weight:700;color:#ffffffb3}.price-amount{font-size:72px;font-weight:900;line-height:1;color:#fff;letter-spacing:-3px}.price-cents{font-size:32px;font-weight:700;color:#fffc;align-self:flex-end;margin-bottom:6px}.price-period{font-size:18px;color:#fff6;margin-left:4px}.pricing-features{list-style:none;padding:0;margin:0 0 32px;text-align:left;display:flex;flex-direction:column;gap:12px}.pricing-features li{font-size:15px;color:#fffc}.btn-pricing{display:block;background:var(--grad-primary);color:#fff;font-family:var(--font-display);font-size:16px;font-weight:600;padding:16px;border-radius:var(--r-pill);text-decoration:none;box-shadow:var(--glow-primary);transition:transform .2s}.btn-pricing:hover{transform:translateY(-2px) scale(1.02)}.btn-pricing-outline{background:transparent;border:1.5px solid rgba(255,255,255,.25);box-shadow:none}.pricing-disclaimer{font-size:13px;color:var(--text-faint);text-align:center;margin:28px 0 0}.footer-cta{background:linear-gradient(135deg,#ff9f431f,#6c5ce71f);border-top:1px solid rgba(255,255,255,.06)}.footer-cta .section-inner{text-align:center}.footer-cta h2{font-size:32px;font-weight:800;margin:0 0 12px}.footer-cta p{font-size:16px;color:#fff9;margin:0 0 32px}.footer{padding:24px;text-align:center;border-top:1px solid rgba(255,255,255,.06)}.footer p{font-size:13px;color:#ffffff40;margin:0}@media (max-width: 768px){.hero{flex-direction:column;padding-top:100px;text-align:center}.hero-actions{justify-content:center}.hero-preview{display:none}.steps{flex-direction:column;align-items:center}.step-arrow{transform:rotate(90deg)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:96px 24px 48px;position:relative;overflow:hidden}.auth-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.auth-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.2}.auth-orb.orb1{width:400px;height:400px;background:#ff9f43;top:-100px;right:-100px}.auth-orb.orb2{width:350px;height:350px;background:#6c5ce7;bottom:-80px;left:-80px}.auth-box{position:relative;z-index:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px;width:100%;max-width:440px}.auth-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-size:15px;font-weight:600;margin-bottom:28px;justify-content:center}.auth-logo img{width:44px;height:44px;border-radius:12px;object-fit:cover;object-position:center 18%;box-shadow:0 4px 14px #7c5cff73}.auth-tabs{display:flex;background:#ffffff0d;border-radius:12px;padding:4px;margin-bottom:24px}.auth-tab{flex:1;padding:10px;border:none;background:transparent;color:#ffffff80;font-size:14px;font-weight:600;border-radius:9px;cursor:pointer;transition:background .2s,color .2s}.auth-tab.active{background:#ffffff1a;color:#fff}.auth-plan-info{background:#ff9f431a;border:1px solid rgba(255,159,67,.25);border-radius:14px;padding:16px 20px;margin-bottom:24px;text-align:center}.plan-chip{font-size:12px;font-weight:800;color:#ff9f43;margin-bottom:8px}.plan-old{font-size:12px;font-weight:700;color:var(--text-faint);text-decoration:line-through;margin-bottom:2px}.plan-price{font-size:30px;font-weight:900;color:#fff;margin-bottom:4px}.plan-price span{font-size:16px;color:#ffffff80;font-weight:400}.auth-plan-info p{font-size:12px;color:#ffffff80;margin:0}.auth-form{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;color:#ffffffa6;font-weight:500}.form-group input,.form-group select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:13px 16px;color:#fff;font-size:15px;outline:none;transition:border-color .2s}.form-group input::placeholder{color:#ffffff40}.form-group input:focus,.form-group select:focus{border-color:#ff9f4380}.form-group select option{background:#1a1a2e}.auth-error{background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);color:#ff6b6b;font-size:13px;padding:10px 14px;border-radius:8px}.btn-auth{background:linear-gradient(135deg,#ff9f43,#ff6b6b);color:#fff;border:none;padding:15px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .2s;height:52px;display:flex;align-items:center;justify-content:center}.btn-auth:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-auth:disabled{opacity:.7;cursor:not-allowed}.loading-dots{display:flex;gap:6px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#fff;animation:dot-bounce 1.2s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.auth-switch{text-align:center;font-size:13px;color:#ffffff73;margin:0 0 16px}.auth-switch button{background:none;border:none;color:#ff9f43;font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.auth-disclaimer{font-size:11px;color:#ffffff40;text-align:center;margin:0;line-height:1.5}.book-card{cursor:pointer;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;flex-shrink:0;position:relative}.book-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r);padding:1.5px;background:var(--accent-grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .28s;pointer-events:none}.book-card:hover{transform:translateY(-8px) scale(1.025);box-shadow:0 22px 44px #00000080,0 0 34px -8px var(--accent)}.book-card:hover:after{opacity:1}.book-card.large .book-cover{height:260px}.book-cover{position:relative;height:210px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#14102b}.book-cover-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.book-card:hover .book-cover-img{transform:scale(1.08)}.book-badges{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;gap:6px;pointer-events:none}.badge-new{background:var(--grad-fun);color:#fff;font-size:10px;font-weight:800;padding:4px 9px;border-radius:var(--r-pill);letter-spacing:.5px;box-shadow:0 4px 12px #7c5cff80}.badge-done{margin-left:auto;background:#36e3a0eb;color:#053b27;font-size:10px;font-weight:800;padding:4px 9px;border-radius:var(--r-pill)}.book-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(13,11,26,.85),rgba(13,11,26,.1) 60%,transparent);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}.book-card:hover .book-overlay{opacity:1}.btn-read{background:var(--accent-grad);color:#fff;border:none;padding:11px 24px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:7px;box-shadow:0 8px 22px #0006;transform:translateY(8px);transition:transform .25s cubic-bezier(.22,1,.36,1)}.book-card:hover .btn-read{transform:translateY(0) scale(1.04)}.card-progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:#00000073}.card-progress-fill{height:100%;background:var(--accent-grad)}.book-info{padding:13px 15px 15px}.book-title{font-family:var(--font-display);font-size:14.5px;font-weight:600;color:#fff;margin:0 0 3px;line-height:1.25}.book-subtitle{font-size:11.5px;font-weight:700;color:var(--accent);margin:0 0 9px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-meta{display:flex;gap:6px;margin-bottom:9px;flex-wrap:wrap}.book-tag{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:11px;font-weight:800;padding:3px 9px;border-radius:var(--r-pill)}.book-age{background:var(--surface-2);color:var(--text-faint);font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill)}.book-stats{display:flex;gap:12px;font-size:11.5px;font-weight:600;color:var(--text-faint)}.library{min-height:100vh;color:#fff;padding-top:70px}.lib-hero{position:relative;min-height:540px;display:flex;align-items:flex-end;padding:48px;overflow:hidden}.lib-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.lib-hero-cover-bg{width:100%;height:100%;object-fit:cover;opacity:.4;filter:blur(22px) saturate(1.3);transform:scale(1.15)}.lib-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,#0d0b1af0 38%,#0d0b1a59),linear-gradient(to bottom,transparent 45%,var(--bg) 100%);z-index:1}.lib-hero-cover-float{position:absolute;right:60px;bottom:56px;z-index:2;width:230px;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 28px 70px #0009,0 0 0 1px #ffffff14;transform:rotate(2.5deg);transition:transform .35s cubic-bezier(.22,1,.36,1);animation:floaty 6s ease-in-out infinite}.lib-hero-cover-float:hover{transform:rotate(0) scale(1.04)}.lib-hero-cover-float img{width:100%;display:block}.lib-hero-content{position:relative;z-index:2;max-width:580px}.lib-hero-badge{display:inline-block;background:var(--accent-grad);color:#fff;font-family:var(--font-display);font-size:12px;font-weight:600;padding:7px 16px;border-radius:var(--r-pill);margin-bottom:14px;letter-spacing:.5px;box-shadow:0 8px 24px -6px var(--accent)}.lib-hero-title{font-size:clamp(30px,4.5vw,52px);font-weight:700;line-height:1.05;margin:0 0 14px;text-shadow:0 2px 24px rgba(0,0,0,.5);letter-spacing:-1px}.lib-hero-sub{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--accent);margin:0 0 12px}.lib-hero-desc{font-size:15px;color:var(--text-soft);line-height:1.6;margin:0 0 18px;max-width:460px}.lib-hero-meta{display:flex;gap:18px;font-size:13px;font-weight:600;color:var(--text-faint);margin-bottom:22px}.lib-hero-actions{display:flex;gap:12px}.btn-play{background:var(--accent-grad);color:#fff;border:none;padding:14px 30px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 12px 30px -8px var(--accent);transition:transform .2s}.btn-play:hover{transform:translateY(-2px) scale(1.03)}.btn-info{background:#ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;padding:14px 26px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.btn-info:hover{background:#fff3}.lib-hero-tags{position:absolute;top:24px;right:24px;z-index:2;display:flex;gap:8px;flex-direction:column;align-items:flex-end}.hero-tag{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#fffc;font-size:11px;font-weight:700;padding:5px 12px;border-radius:var(--r-pill)}.library-body{padding:0 32px 64px;max-width:1400px;margin:0 auto}.search-bar-wrapper{padding:26px 0 12px}.search-bar{display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:0 18px;max-width:520px;transition:border-color .2s,box-shadow .2s}.search-bar:focus-within{border-color:#7c5cff99;box-shadow:0 0 0 4px #7c5cff26}.search-icon{font-size:18px;margin-right:10px}.search-bar input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:var(--font-body);font-size:15px;font-weight:600;padding:14px 0}.search-bar input::placeholder{color:var(--text-faint);font-weight:500}.search-clear{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:6px;transition:background .2s}.search-clear:hover{background:var(--surface-2);color:#fff}.categories-row{display:flex;gap:9px;padding:12px 0 26px;overflow-x:auto;scrollbar-width:none}.categories-row::-webkit-scrollbar{display:none}.cat-pill{white-space:nowrap;padding:9px 18px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--text-soft);font-family:var(--font-display);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .2s}.cat-pill:hover{background:var(--surface-2);color:#fff;transform:translateY(-1px)}.cat-pill.active{background:var(--grad-fun);border-color:transparent;color:#fff;box-shadow:var(--glow-fun)}.books-section{margin-bottom:44px}.section-label{font-family:var(--font-display);font-size:22px;font-weight:600;color:#fff;margin:0 0 18px;display:flex;align-items:center;gap:10px;letter-spacing:-.3px}.count-badge{background:var(--surface-2);color:var(--text-faint);font-family:var(--font-body);font-size:12px;font-weight:800;padding:3px 11px;border-radius:var(--r-pill)}.books-scroll{display:flex;gap:18px;overflow-x:auto;padding:6px 4px 14px;scrollbar-width:none;scroll-snap-type:x proximity}.books-scroll::-webkit-scrollbar{display:none}.books-scroll>*{width:210px;scroll-snap-align:start}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px;padding:6px 0}.games-teaser{width:100%;display:flex;align-items:center;gap:20px;text-align:left;margin-bottom:44px;padding:22px 26px;border-radius:var(--r-lg);border:1.5px solid rgba(124,92,255,.35);background:linear-gradient(120deg,#7c5cff38,#ff6ec729);cursor:pointer;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.games-teaser:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px #7c5cff99}.games-teaser-emojis{font-size:32px;letter-spacing:4px;flex-shrink:0}.games-teaser-text{display:flex;flex-direction:column;gap:4px;flex:1}.games-teaser-text strong{font-family:var(--font-display);font-size:20px;font-weight:600}.games-teaser-text span{font-size:14px;color:var(--text-soft);font-weight:600}.games-teaser-cta{font-family:var(--font-display);font-weight:600;font-size:15px;background:#fff;color:#2a1a52;padding:11px 20px;border-radius:var(--r-pill);flex-shrink:0}.empty-state{text-align:center;padding:60px 24px;color:var(--text-faint)}.empty-state span{font-size:52px;display:block;margin-bottom:16px}.empty-state p{font-size:16px;font-weight:600;margin-bottom:20px}.empty-state button{background:var(--surface-2);border:1px solid var(--line);color:#fff;padding:11px 22px;border-radius:var(--r-pill);cursor:pointer;font-size:14px;font-weight:700}@media (max-width: 768px){.library-body{padding:0 16px 48px}.lib-hero{padding:32px 22px;min-height:440px}.lib-hero-cover-float{width:130px;right:22px;bottom:90px}.games-teaser{flex-wrap:wrap;gap:12px}.games-teaser-cta{width:100%;text-align:center}}.reader-page{min-height:100vh;color:#fff;display:flex;flex-direction:column}.reader-header{display:flex;align-items:center;gap:16px;padding:14px 24px;background:#0d0b1ab8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.reader-back{background:var(--surface);border:1px solid var(--line);color:var(--text-soft);padding:9px 16px;border-radius:var(--r-pill);cursor:pointer;font-size:14px;font-weight:700;white-space:nowrap;transition:background .2s}.reader-back:hover{background:#ffffff24;color:#fff}.reader-book-info{display:flex;align-items:center;gap:12px;flex:1}.reader-emoji{font-size:32px}.reader-title{font-size:17px;font-weight:700;margin:0;line-height:1.2}.reader-meta{font-size:12px;color:#ffffff73}.btn-download-pdf{background:var(--accent-grad, var(--grad-primary));border:none;color:#fff;padding:11px 18px;border-radius:var(--r-pill);cursor:pointer;font-family:var(--font-display);font-size:13.5px;font-weight:600;white-space:nowrap;box-shadow:0 8px 22px -8px var(--accent, #ff6b6b);transition:transform .2s}.btn-download-pdf:hover{transform:translateY(-2px) scale(1.03)}.reader-progress-bar{height:4px;background:var(--surface-2)}.reader-progress-fill{height:100%;background:var(--accent-grad, var(--grad-primary));transition:width .5s ease}.reader-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 18px 10px;min-height:0}.flip-arrow{width:52px;height:52px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffb3;font-size:28px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.flip-arrow:hover:not(:disabled){background:#ffffff29;color:#fff;transform:scale(1.05)}.flip-arrow:disabled{opacity:.2;cursor:not-allowed}.flipbook-wrapper{box-shadow:0 32px 80px #0009;border-radius:14px;overflow:hidden}.story-page{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 28px;text-align:center;position:relative}.page-number{position:absolute;top:14px;right:16px;font-size:11px;opacity:.4;font-weight:600}.page-emoji{font-size:64px;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.page-title{font-size:18px;font-weight:800;margin:0 0 16px;line-height:1.2;letter-spacing:-.3px}.page-text{font-size:14px;line-height:1.7;margin:0;max-width:280px;opacity:.85}.reader-controls{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-top:1px solid rgba(255,255,255,.06)}.page-indicator{font-size:14px;color:#fff6;font-weight:600;min-width:80px}.controls-center{display:flex;align-items:center;gap:12px}.ctrl-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fffc;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.ctrl-btn:hover:not(:disabled){background:#ffffff24;color:#fff}.ctrl-btn:disabled{opacity:.2;cursor:not-allowed}.play-btn{width:64px;height:64px;font-size:26px;background:var(--accent-grad, var(--grad-primary));border:none;color:#fff;box-shadow:0 6px 24px -4px var(--accent, #ff6b6b);transition:all .2s}.play-btn:hover{transform:scale(1.1)}.play-btn.playing{background:linear-gradient(135deg,#a29bfe,#6c5ce7);box-shadow:0 4px 20px #6c5ce780}.play-hint{font-size:12px;color:#ffffff59;min-width:160px;text-align:right}.playing-indicator{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:#a29bfe;font-weight:600}.pulse{width:8px;height:8px;border-radius:50%;background:#a29bfe;animation:pulse-anim 1s infinite}@keyframes pulse-anim{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.page-dots{display:flex;justify-content:center;gap:6px;padding:12px 24px 24px}.page-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff26;cursor:pointer;transition:all .2s;padding:0}.page-dot.done{background:var(--accent, #ff9f43);opacity:.5}.page-dot.active{background:var(--accent, #ff9f43);transform:scale(1.5)}.reader-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff9;text-align:center}.reader-error span{font-size:60px}.reader-error h2{color:#fff;margin:0}.reader-error button{background:var(--grad-primary);color:#fff;border:none;padding:13px 26px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:15px;font-weight:600;cursor:pointer}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.modal-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:40px;max-width:460px;width:100%;position:relative;text-align:center;animation:pop-in .35s cubic-bezier(.22,1,.36,1) both}.modal-close{position:absolute;top:16px;right:16px;background:#ffffff14;border:none;color:#ffffff80;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .2s}.modal-close:hover{background:#ffffff26;color:#fff}.modal-icon{font-size:52px;margin-bottom:16px}.modal-box h2{font-size:22px;font-weight:800;margin:0 0 12px}.modal-box p{font-size:14px;color:#ffffffa6;line-height:1.6;margin:0 0 24px}.modal-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.pdf-thumb{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden}.pdf-thumb-inner{padding:16px;text-align:center;filter:grayscale(1);opacity:.6}.pdf-thumb-inner span{font-size:28px;display:block;margin-bottom:6px}.pdf-thumb-inner p{font-size:11px;color:#fff9;margin:0;line-height:1.3}.btn-download{display:block;width:100%;background:var(--accent-grad, var(--grad-primary));color:#fff;border:none;padding:16px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:16px;font-weight:600;cursor:pointer;margin-bottom:10px;box-shadow:0 10px 26px -8px var(--accent, #ff6b6b);transition:transform .2s}.btn-download:hover{transform:translateY(-2px) scale(1.02)}.modal-disclaimer{font-size:12px;color:#ffffff4d;margin:0}.reader-cover-thumb{width:38px;height:38px;border-radius:8px;object-fit:cover;box-shadow:0 2px 10px #0006;flex-shrink:0}.reader-image-mode .reader-stage{padding:14px 14px 8px;min-height:0}.flipbook-landscape{box-shadow:0 24px 70px #000000b3,0 0 0 1px #ffffff0a}.img-page{width:100%;height:100%;position:relative;overflow:hidden;background:#111}.img-page img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.page-num-badge{position:absolute;bottom:10px;right:12px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffbf;font-size:11px;font-weight:700;padding:3px 10px;border-radius:50px;letter-spacing:.3px}.narration-bar{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 24px 16px;background:linear-gradient(to bottom,#0a0a1400,#0a0a14f2 30%);border-top:1px solid rgba(162,155,254,.15)}.narration-wave{display:flex;align-items:center;gap:4px;height:28px}.narration-wave span{display:block;width:4px;border-radius:2px;background:linear-gradient(to top,#6c5ce7,#a29bfe);animation:wave-bounce .6s ease-in-out infinite alternate}.narration-wave span:nth-child(1){animation-delay:0s;height:8px}.narration-wave span:nth-child(2){animation-delay:.08s;height:16px}.narration-wave span:nth-child(3){animation-delay:.16s;height:24px}.narration-wave span:nth-child(4){animation-delay:.24s;height:28px}.narration-wave span:nth-child(5){animation-delay:.16s;height:24px}.narration-wave span:nth-child(6){animation-delay:.08s;height:16px}.narration-wave span:nth-child(7){animation-delay:0s;height:8px}@keyframes wave-bounce{0%{transform:scaleY(.4);opacity:.7}to{transform:scaleY(1);opacity:1}}.narration-caption{font-size:13px;color:#fff9;line-height:1.5;text-align:center;max-width:640px;font-style:italic;margin:0}.pdf-thumb-img{width:100%;height:100px;object-fit:cover;display:block;filter:grayscale(1);opacity:.55}.hint-warn{color:#ff6b6bb3;font-size:12px}@media (max-width: 640px){.reader-header{flex-wrap:wrap;gap:10px}.btn-download-pdf{display:none}.reader-stage{padding:16px 8px}.flip-arrow{display:none}.reader-controls{padding:12px 16px}.play-hint{display:none}}.games-page{min-height:100vh;padding-top:70px;color:#fff}.games-hero{position:relative;text-align:center;padding:56px 24px 40px;overflow:hidden}.games-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(600px 300px at 50% 0%,rgba(124,92,255,.3),transparent 70%),radial-gradient(500px 280px at 80% 30%,rgba(255,110,199,.2),transparent 70%);z-index:-1}.games-hero-emojis{display:flex;justify-content:center;gap:14px;margin-bottom:18px;font-size:38px}.games-hero-emojis span{display:inline-block;animation:floaty 4s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.games-hero-emojis span:nth-child(2){animation-delay:.3s}.games-hero-emojis span:nth-child(3){animation-delay:.6s}.games-hero-emojis span:nth-child(4){animation-delay:.9s}.games-hero-emojis span:nth-child(5){animation-delay:1.2s}.games-hero-badge{display:inline-block;background:var(--yellow);color:#4a2c00;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.5px;padding:7px 16px;border-radius:var(--r-pill);margin-bottom:14px}.games-hero-title{font-size:clamp(34px,6vw,56px);font-weight:700;margin:0 0 14px;background:var(--grad-rainbow);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 6s linear infinite}.games-hero-desc{max-width:600px;margin:0 auto;font-size:16px;line-height:1.6;color:var(--text-soft);font-weight:600}.games-body{max-width:1280px;margin:0 auto;padding:16px 32px 70px}.games-section-title{font-family:var(--font-display);font-size:24px;font-weight:600;display:flex;align-items:center;gap:12px;margin:0 0 24px}.games-count{background:var(--surface-2);color:var(--text-faint);font-family:var(--font-body);font-size:12px;font-weight:800;padding:4px 12px;border-radius:var(--r-pill)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.game-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;overflow:hidden;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--g-grad)}.game-card:after{content:"";position:absolute;top:-40px;right:-40px;width:130px;height:130px;border-radius:50%;background:var(--g-grad);opacity:.16;filter:blur(8px);pointer-events:none}.game-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px #00000073,0 0 30px -10px var(--g-color);border-color:color-mix(in srgb,var(--g-color) 45%,transparent)}.game-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.game-emoji{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:var(--r);background:var(--g-grad);font-size:30px;box-shadow:0 10px 24px -8px var(--g-color)}.game-soon{background:var(--surface-2);color:var(--text-soft);font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.4px;padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--line);white-space:nowrap}.game-title{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0 0 8px}.game-short{font-size:14px;line-height:1.55;color:var(--text-soft);font-weight:600;margin:0 0 16px}.game-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.game-tag{font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--g-color) 16%,transparent);color:var(--g-color)}.game-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--text-faint)}.game-type{font-family:var(--font-display);color:var(--g-color)}.games-suggest{display:flex;align-items:center;gap:18px;margin-top:36px;padding:24px 26px;border-radius:var(--r-lg);background:linear-gradient(120deg,#4da8ff29,#36e3a024);border:1.5px dashed rgba(77,168,255,.4)}.games-suggest-emoji{font-size:40px;flex-shrink:0}.games-suggest strong{font-family:var(--font-display);font-size:18px;display:block;margin-bottom:4px}.games-suggest p{font-size:14px;color:var(--text-soft);font-weight:600;line-height:1.5;margin:0}@media (max-width: 640px){.games-body{padding:16px 16px 60px}.games-suggest{flex-direction:column;text-align:center}}
