.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#0a0a1ae6;border-bottom:1px solid #ffffff0d;position:sticky;top:0}.navbar-inner{align-items:center;gap:2rem;height:64px;display:flex}.navbar-brand{flex-shrink:0;text-decoration:none}.brand-logo{width:auto;height:36px;display:block}@media (width<=480px){.brand-logo{height:28px}}.navbar-links{gap:.25rem;display:flex}.nav-link{border-radius:var(--radius-sm);color:#d0d0ee;transition:var(--transition);align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link-highlight{color:#a855f7}.nav-link-highlight:hover{color:#c084fc;background:#a855f71a}.navbar-right{align-items:center;gap:.5rem;margin-left:auto;display:flex}.navbar-search{position:relative}.navbar-search-input{background:var(--bg-secondary);border:1px solid var(--border);width:240px;color:var(--text-primary);transition:var(--transition);border-radius:50px;padding:.5rem 1rem;font-size:.85rem}.navbar-search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #e9456026}.navbar-icon-btn{cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;padding:.4rem;font-size:1.1rem;line-height:1}.navbar-icon-btn:hover{background:#ffffff1a}.user-menu{align-items:center;gap:.5rem;display:flex}.user-avatar-link{color:var(--text-secondary);transition:var(--transition);align-items:center;gap:.5rem;text-decoration:none;display:flex}.user-avatar-link:hover{color:var(--text-primary)}.user-avatar{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.user-name{font-size:.8rem;font-weight:500}.auth-links{gap:.5rem;display:flex}.navbar-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;padding:4px;display:none}.navbar-hamburger span{background:var(--text-primary);width:20px;height:2px;transition:var(--transition);border-radius:2px;display:block}.navbar-hamburger.open span:first-child{transform:rotate(45deg)translate(4px,4px)}.navbar-hamburger.open span:nth-child(2){opacity:0}.navbar-hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(4px,-4px)}@media (width<=768px){.navbar-hamburger{display:flex}.navbar-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#0a0a1afa;flex-direction:column;padding:1rem;display:none;position:absolute;top:64px;left:0;right:0}.navbar-links.open{display:flex}.nav-link{padding:.75rem 1rem}.navbar-search-input{width:160px}.user-name{display:none}}.book-card{color:inherit;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);transition:var(--transition);flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.book-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 12px 30px #e9456026}.book-card.featured{grid-area:span 2/span 2}.book-card-cover{aspect-ratio:3/4;background:var(--bg-secondary);position:relative;overflow:hidden}.book-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.book-card:hover .book-card-cover img{transform:scale(1.08)}.book-card-cover-placeholder{background:linear-gradient(135deg, var(--bg-secondary), var(--bg-card));justify-content:center;align-items:center;width:100%;height:100%;font-size:4.5rem;font-weight:800;display:flex}.book-card-cover-placeholder[data-type=twine]{color:#a855f7;background:linear-gradient(135deg,#1a0a2e,#2a1a4e)}.book-card-cover-placeholder[data-type=pdf]{color:#facc15;background:linear-gradient(135deg,#1a1a0a,#2a2a1a)}.book-card-overlay{transition:var(--transition);background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.book-card:hover .book-card-overlay{background:#0006}.book-card-play{opacity:0;transition:var(--transition);font-size:2.5rem;transform:scale(.5)}.book-card:hover .book-card-play{opacity:1;transform:scale(1)}.book-card-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;padding:.2rem .6rem;font-size:.7rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.book-card-owned{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#4ade80e6;border-radius:6px;padding:.15rem .5rem;font-size:.65rem;font-weight:700;position:absolute;top:.6rem;right:.6rem}.book-card-info{flex-direction:column;flex:1;gap:.2rem;padding:.85rem;display:flex}.book-card-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.book-card-author{color:var(--text-muted);margin:0;font-size:.8rem}.book-card-meta{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.4rem;font-size:.75rem;display:flex}.book-card-price{color:var(--accent);font-weight:700}.hero-banner{height:460px;padding:4rem 0 3rem;transition:background .8s;position:relative;overflow:hidden}.hero-banner-content{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;height:100%;display:grid}.hero-banner-text{flex-direction:column;gap:1rem;display:flex}.hero-banner-title{letter-spacing:-.02em;color:#fff;text-shadow:0 0 4px #000000e6,0 0 8px #000000b3,0 2px 16px #0009;font-size:3rem;font-weight:800;line-height:1.1}.hero-banner-subtitle{color:#fff;text-shadow:0 0 3px #000c,0 1px 8px #00000080;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:500px;font-size:1.1rem;line-height:1.6;display:-webkit-box;overflow:hidden}.hero-cta{align-self:flex-start;margin-top:.5rem}.hero-banner-visual{justify-content:center;align-items:center;display:flex;position:relative}.hero-floating-cards{width:200px;height:200px;position:relative}.hero-floating-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);width:120px;height:160px;animation:3s ease-in-out infinite floatCard;animation-delay:calc(var(--i) * .3s);background:#ffffff14;border:1px solid #ffffff26;justify-content:center;align-items:center;font-size:3rem;transition:all .5s;display:flex;position:absolute}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-dots{justify-content:center;gap:.5rem;margin-top:2rem;display:flex}.hero-dot{cursor:pointer;width:10px;height:10px;transition:var(--transition);background:#fff3;border:none;border-radius:50%;padding:0}.hero-dot.active{transform:scale(1.3)}@media (width<=768px){.hero-banner{height:320px;padding:2.5rem 0 2rem}.hero-banner-content{grid-template-columns:1fr;gap:1.5rem}.hero-banner-title{font-size:2rem}.hero-banner-subtitle{font-size:.95rem}.hero-banner-visual{display:none}}.home{padding-bottom:4rem}.home-sections{padding-top:2rem}.categories-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.categories-strip::-webkit-scrollbar{display:none}.category-pill{background:var(--bg-card);border:1px solid var(--border);transition:var(--transition);white-space:nowrap;border-radius:50px;flex-shrink:0;align-items:center;gap:.5rem;padding:.6rem 1.2rem;text-decoration:none;display:flex}.category-pill:hover{background:var(--bg-card-hover);border-color:var(--accent);color:var(--text-primary);transform:translateY(-2px)}.category-pill-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.category-pill-all{background:var(--accent-gradient);border-color:#0000;color:#fff!important}.category-pill-all:hover{opacity:.9;color:#fff!important}.section-highlight{border-radius:var(--radius-lg);background:linear-gradient(135deg,#4facfe0d,#00f2fe0d);border:1px solid #4facfe1a;padding:2rem}.section-kids{border-radius:var(--radius-lg);background:linear-gradient(135deg,#facc150d,#4ade800d);border:1px solid #facc151a;padding:2rem}.section-desc{color:#e0e0f0;margin-top:-1rem;margin-bottom:1.5rem;font-size:.9rem}.kids-placeholder{text-align:center;border-radius:var(--radius-md);border:2px dashed var(--border);background:#ffffff08;padding:3rem 2rem}.kids-placeholder-icon{justify-content:center;margin-bottom:1rem;animation:2s ease-in-out infinite bounce;display:flex}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.kids-placeholder h3{margin-bottom:.5rem;font-size:1.2rem}.kids-placeholder p{color:var(--text-muted);font-size:.9rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.feature-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);transition:var(--transition);padding:1.75rem}.feature-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-4px)}.feature-icon-wrapper{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.feature-card h3{margin-bottom:.5rem;font-size:1rem;font-weight:600}.feature-card p{color:#d0d0e8;font-size:.85rem;line-height:1.6}.feature-card h3{color:#fff}@media (width<=768px){.section-highlight,.section-kids{border-radius:0;margin-left:-1rem;margin-right:-1rem;padding:1.25rem}}.catalogue{padding-bottom:3rem}.catalogue-controls{margin-bottom:1.5rem}.search-form{gap:.75rem;max-width:500px;display:flex}.search-input{flex:1}.catalogue-filters{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.filter-group{flex-wrap:wrap;gap:.5rem;display:flex}.filter-btn{background:var(--bg-card);border:1px solid var(--border);color:#d0d0ee;cursor:pointer;border-radius:20px;padding:.4rem .9rem;font-size:.8rem;font-weight:500;transition:all .2s}.filter-btn:hover{border-color:var(--accent);color:#fff}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.pagination button:disabled{opacity:.5;cursor:not-allowed}.payment-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.payment-modal{background:var(--bg-secondary);border-radius:16px;width:100%;max-width:420px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto}.payment-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.3rem;position:absolute;top:1rem;right:1rem}.payment-close:hover{color:var(--text-primary)}.payment-title{margin-bottom:1.5rem;font-size:1.3rem;font-weight:700}.payment-summary{background:var(--bg-card);text-align:center;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.payment-summary p{margin-bottom:.3rem}.payment-type{color:var(--text-secondary);font-size:.85rem}.payment-amount{color:var(--accent);margin-top:.5rem;font-size:1.5rem;font-weight:800}.form-hint{color:var(--text-secondary);margin-top:.4rem;font-size:.75rem;display:block}.payment-submit{width:100%;margin-top:1rem;padding:1rem;font-size:1rem}.payment-waiting{text-align:center;padding:1rem 0}.spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:0 auto 1.5rem;animation:.8s linear infinite spin}.payment-waiting h2{margin-bottom:.5rem}.payment-waiting p{color:var(--text-secondary);margin-bottom:1rem}.payment-ref{background:var(--bg-card);word-break:break-all;border-radius:6px;margin-bottom:1rem;padding:.5rem;font-family:monospace;font-size:.8rem}.payment-countdown{color:var(--accent);margin-bottom:1rem;font-size:.9rem;font-weight:700}.payment-divider{color:var(--text-secondary);align-items:center;gap:1rem;margin:1.5rem 0;font-size:.85rem;display:flex}.payment-divider:before,.payment-divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-kikolo{color:#fff;background:linear-gradient(135deg,#6c5ce7,#a29bfe);border:none}.btn-kikolo:hover:not(:disabled){background:linear-gradient(135deg,#5a4bd1,#8c7ff0)}.payment-success{text-align:center;padding:2rem 0}.success-icon{margin-bottom:1rem;font-size:4rem}.payment-success h2{color:var(--success);margin-bottom:.5rem}.payment-success p{color:var(--text-secondary)}.book-detail-page{padding-bottom:4rem}.book-detail-hero{background:linear-gradient(180deg, var(--bg-secondary), var(--bg-primary));padding:2rem 0 3rem}.back-link{color:var(--text-muted);transition:var(--transition);margin-bottom:2rem;font-size:.85rem;display:inline-block}.back-link:hover{color:var(--accent)}.book-detail-layout{grid-template-columns:320px 1fr;gap:3rem;display:grid}.book-detail-cover-wrapper{position:sticky;top:80px}.book-detail-cover{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg)}.book-detail-cover-placeholder{aspect-ratio:3/4;border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);justify-content:center;align-items:center;font-size:6rem;font-weight:800;display:flex}.book-detail-cover-placeholder[data-type=epub]{color:#4facfe;background:linear-gradient(135deg,#0a1628,#162044)}.book-detail-cover-placeholder[data-type=pdf]{color:#facc15;background:linear-gradient(135deg,#1a1a0a,#2a2a10)}.book-detail-cover-placeholder[data-type=twine]{color:#a855f7;background:linear-gradient(135deg,#1a0a2e,#2a1a4e)}.book-detail-type-badge{border-radius:50px;align-items:center;gap:.3rem;margin-bottom:1rem;padding:.3rem .8rem;font-size:.8rem;font-weight:700;display:inline-flex}.book-detail-title{letter-spacing:-.02em;margin-bottom:.5rem;font-size:2.5rem;font-weight:800;line-height:1.1}.book-detail-author{color:var(--text-secondary);margin-bottom:1rem;font-size:1rem}.book-detail-author strong{color:var(--text-primary)}.book-detail-category{color:var(--text-secondary);background:#ffffff0d;border-radius:50px;margin-bottom:1.5rem;padding:.3rem .8rem;font-size:.8rem;display:inline-block}.book-detail-stats{gap:2rem;margin-bottom:1.5rem;display:flex}.stat-item{flex-direction:column;align-items:center;display:flex}.stat-value{font-size:1.1rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.book-detail-desc{color:#d8d8f0;margin-bottom:2rem;font-size:.95rem;line-height:1.8}.book-detail-access{flex-direction:column;gap:1rem;display:flex}.access-badge{color:var(--success);border-radius:var(--radius-sm);background:#4ade801a;border:1px solid #4ade804d;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.rental-expiry{color:var(--text-secondary);font-weight:400}.book-detail-purchase{margin-top:1rem}.purchase-title{margin-bottom:1.25rem;font-size:1.2rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.pricing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);flex-direction:column;padding:1.5rem;display:flex}.pricing-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.pricing-primary{border-color:var(--accent);background:linear-gradient(135deg, var(--bg-card), #e9456014)}.pricing-primary:hover{border-color:var(--accent);box-shadow:0 4px 20px #e9456026}.pricing-header{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.pricing-icon{font-size:1.2rem}.pricing-label{font-size:.9rem;font-weight:600}.pricing-amount{align-items:baseline;gap:.25rem;margin-bottom:1rem;display:flex}.pricing-price{font-size:2rem;font-weight:800}.pricing-currency{color:var(--text-muted);font-size:.9rem}.pricing-features{flex:1;margin-bottom:1.25rem;list-style:none}.pricing-features li{color:#d0d0e8;padding:.25rem 0;font-size:.8rem}.pricing-btn{justify-content:center;width:100%}.payment-info{color:var(--text-muted);text-align:center;margin-top:1rem;font-size:.8rem}@media (width<=768px){.book-detail-layout{grid-template-columns:1fr;gap:2rem}.book-detail-cover-wrapper{max-width:200px;margin:0 auto;position:static}.book-detail-title{font-size:1.8rem}.book-detail-stats{gap:1.5rem}.pricing-grid{grid-template-columns:1fr}}.reader{z-index:200;background:#0a0a1a;flex-direction:column;display:flex;position:fixed;inset:0}.reader.light{color:#1a1a2e;background:#f5f0eb}.reader.light .ebook-content{color:#1a1a2e;text-shadow:0 1px 2px #ffffff4d}.reader.dark{color:#fff;background:#0a0a1a}.reader.dark .ebook-content{color:#fff;text-shadow:0 1px 3px #00000080}.reader-toolbar{background:#1a1a2e;border-bottom:1px solid #2a2a45;flex-shrink:0;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.reader.light .reader-toolbar{color:#1a1a2e;background:#e8e4df;border-color:#d0ccc7}.toolbar-left{align-items:center;gap:1rem;display:flex}.toolbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:.9rem;font-weight:600;overflow:hidden}.toolbar-center{align-items:center;gap:.5rem;margin:0 auto;display:flex}.toolbar-right{align-items:center;display:flex}.toolbar-btn{color:#c4c4d4;cursor:pointer;background:0 0;border:1px solid #3a3a55;border-radius:6px;padding:.4rem .7rem;font-size:.85rem;transition:all .2s}.reader.light .toolbar-btn{color:#555;border-color:#c0bcb7}.toolbar-btn:hover{color:#fff;background:#2a2a45}.reader.light .toolbar-btn:hover{background:#d0ccc7}.toolbar-fontsize{color:#89a;text-align:center;min-width:40px;font-size:.8rem}.tts-controls{align-items:center;gap:.3rem;display:flex}.tts-btn.active{color:#fff;background:#e94560;border-color:#e94560}.tts-rate{color:#c4c4d4;background:#2a2a45;border:1px solid #3a3a55;border-radius:4px;padding:.3rem;font-size:.75rem}.reader-content{flex:1;width:100%;max-width:800px;margin:0 auto;padding:2rem;overflow-y:auto}.ebook-content{line-height:1.8}.ebook-line{margin-bottom:.5rem}.ebook-word{transition:background-color .1s}.ebook-word.highlight{background:#e945604d;border-radius:2px}.twine-container{width:100%;height:100%;min-height:70vh}.twine-iframe{background:#fff;border:none;border-radius:8px;width:100%;height:100%;min-height:70vh}.reader-access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:60vh;padding:2rem;display:flex}@media (width<=768px){.reader-toolbar{flex-wrap:wrap;padding:.4rem}.toolbar-title{max-width:120px}.reader-content{padding:1rem}}.library{padding-bottom:3rem}.book-card-wrapper{position:relative}.rental-badge{color:#fff;text-align:center;background:#e94560e6;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;position:absolute;bottom:.5rem;left:.5rem;right:.5rem}.profile-page{padding-bottom:3rem}.profile-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;max-width:600px;padding:2rem}.profile-header{border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.profile-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.8rem;font-weight:700;display:flex}.profile-header h2{margin-bottom:.25rem;font-size:1.3rem}.profile-email{color:var(--text-secondary);font-size:.85rem}.premium-badge{color:#fff;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:20px;margin-top:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.profile-stats{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.profile-stats h3{margin-bottom:.5rem;font-size:1rem}.profile-stats p{color:var(--text-secondary);font-size:.85rem}.profile-section-danger{border-top:1px solid #e9456033;margin-top:2rem;padding-top:1.5rem}.profile-section-danger h3{color:#e94560;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:1rem;display:flex}.profile-section-danger>p{color:var(--text-muted);margin-bottom:1rem;font-size:.85rem}.delete-confirm{border-radius:var(--radius-md);background:#e9456014;border:1px solid #e9456033;flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem;display:flex}.delete-confirm p{color:var(--text-secondary);font-size:.9rem}.delete-confirm .btn-ghost{align-self:flex-start}.admin-page{padding:2rem 0 4rem}.admin-header{margin-bottom:2rem}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.admin-tab{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:.6rem 1.2rem;font-size:.85rem;font-weight:500}.admin-tab:hover{border-color:var(--accent);color:var(--text-primary)}.admin-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.25rem;display:grid}.stats-subgrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem}.stat-primary{border-color:var(--accent);background:linear-gradient(135deg, var(--bg-card), #e9456014)}.stat-card-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.stat-value-large{color:var(--text-primary);font-size:2.2rem;font-weight:800}.stat-value{color:var(--text-primary);font-size:1.8rem;font-weight:700}.stat-conversion{color:var(--accent);margin-top:.25rem;font-size:.85rem;font-weight:600}.stat-sub{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.stat-card h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem}.recent-section h3{margin-bottom:1rem}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:.75rem;font-size:.75rem;font-weight:600}.admin-table td{color:var(--text-primary);border-bottom:1px solid #ffffff08;padding:.65rem .75rem}.admin-table tr:hover td{background:#ffffff05}.cell-title{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.cell-mono{color:var(--text-secondary);font-family:monospace;font-size:.8rem}.cell-date{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.cell-actions{gap:.25rem;display:flex}.status-badge{text-transform:uppercase;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.status-completed{color:#4ade80;background:#4ade8026}.status-pending{color:#facc15;background:#facc1526}.status-failed{color:#e94560;background:#e9456026}.type-badge{border-radius:4px;padding:.15rem .4rem;font-size:.7rem;font-weight:700;display:inline-block}.type-epub{color:#4facfe;background:#4facfe33}.type-pdf{color:#facc15;background:#facc1533}.type-twine{color:#a855f7;background:#a855f733}.type-image{color:#4ade80;background:#4ade8033}.admin-form-overlay{z-index:200;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.admin-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:700px;max-height:90vh;padding:2rem;overflow-y:auto}.admin-form h3{margin-bottom:1.25rem;font-size:1.2rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-actions{border-top:1px solid var(--border);gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.media-dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:var(--transition);margin-bottom:1.5rem;padding:2.5rem 1rem}.media-dropzone:hover,.media-dropzone.dragging{border-color:var(--accent);background:#e945600d}.media-dropzone p{color:var(--text-secondary);margin-top:.75rem;font-size:.9rem}.media-dropzone small{color:var(--text-muted);font-size:.8rem}.media-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem;display:grid}.media-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);overflow:hidden}.media-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.media-preview{aspect-ratio:16/9;background:var(--bg-secondary);justify-content:center;align-items:center;display:flex;overflow:hidden}.media-preview img{object-fit:cover;width:100%;height:100%}.media-preview-icon{color:var(--text-muted)}.media-preview-icon[data-type=epub]{color:#4facfe}.media-preview-icon[data-type=pdf]{color:#facc15}.media-preview-icon[data-type=twine]{color:#a855f7}.media-info{padding:.75rem}.media-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.3rem;font-size:.85rem;font-weight:600;overflow:hidden}.media-meta{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.media-path{margin-top:.25rem;font-size:.65rem}.media-actions{border-top:1px solid var(--border);gap:.25rem;padding:.5rem .75rem;display:flex}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.pagination-info{color:var(--text-secondary);font-size:.85rem}@media (width<=768px){.form-grid{grid-template-columns:1fr}.admin-table{font-size:.75rem}.admin-table th,.admin-table td{padding:.5rem}}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:2rem 1rem;display:flex}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;padding:2.5rem}.auth-title{text-align:center;margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem}.auth-submit{width:100%;margin-top:.5rem;padding:.85rem;font-size:1rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.85rem}.auth-divider{color:var(--text-muted);align-items:center;gap:1rem;margin:1.2rem 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.legal-page{max-width:800px;margin:0 auto;padding:3rem 1.5rem 5rem}.legal-page h1{margin-bottom:.5rem;font-size:2rem;font-weight:800}.legal-date{color:var(--text-muted);margin-bottom:2rem;font-size:.85rem}.legal-page section{margin-bottom:2rem}.legal-page h2{color:var(--accent);margin-bottom:.75rem;font-size:1.3rem;font-weight:700}.legal-page p{color:var(--text-secondary);margin-bottom:.5rem;line-height:1.7}.legal-page ul{color:var(--text-secondary);padding-left:1.5rem;line-height:1.8;list-style:outside}.legal-page a{color:var(--blue-accent);text-decoration:underline}.cookie-consent{z-index:9999;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:calc(100% - 2rem);max-width:600px;box-shadow:var(--shadow-lg);align-items:center;gap:1rem;padding:1rem 1.5rem;animation:.3s slideUp;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cookie-consent-content{flex:1;align-items:center;gap:.75rem;display:flex}.cookie-consent-content p{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.cookie-consent-actions{flex-shrink:0}@media (width<=480px){.cookie-consent{text-align:center;border-radius:var(--radius-md) var(--radius-md) 0 0;flex-direction:column;bottom:0}}.footer{border-top:1px solid var(--border);margin-top:auto;padding:2rem 0}.footer-content{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.footer-brand{flex-direction:column;gap:.25rem;display:flex}.footer-brand strong{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem}.footer-tagline{color:var(--text-muted);font-size:.8rem}.footer-links{gap:1.5rem;display:flex}.footer-links a{color:var(--text-secondary);transition:var(--transition);font-size:.85rem;text-decoration:none}.footer-links a:hover{color:var(--accent)}.footer-copy{color:var(--text-muted);font-size:.75rem}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0a1a;--bg-secondary:#12122a;--bg-card:#1a1a3e;--bg-card-hover:#222250;--text-primary:#fff;--text-secondary:#c8c8e0;--text-muted:#9898b8;--accent:#e94560;--accent2:#ff6b6b;--accent-gradient:linear-gradient(135deg, #e94560, #ff6b6b);--blue-accent:#4facfe;--blue-gradient:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--purple-accent:#a855f7;--green-accent:#4ade80;--yellow-accent:#facc15;--success:#4ade80;--border:#2a2a50;--border-hover:#3a3a70;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow:0 4px 20px #0000004d;--shadow-lg:0 8px 40px #0006;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}.text-shadow{text-shadow:0 2px 8px #0009,0 1px 3px #000c}.text-shadow-light{text-shadow:0 1px 4px #0006}html,body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden}#root{min-height:100vh}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;margin:0 auto;padding:0}a{color:var(--accent);transition:var(--transition);text-decoration:none}a:hover{color:var(--accent2)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.container{max-width:1400px;margin:0 auto;padding:0 2rem}@media (width<=768px){.container{padding:0 1rem}}.btn{border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff}.btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #e9456066}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);background:#ffffff1a}.btn-secondary:hover{border-color:var(--accent);background:#ffffff26}.btn-outline{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn-outline:hover{background:var(--accent);color:#fff}.btn-ghost{color:var(--text-secondary);background:#ffffff0d;border:1px solid #0000}.btn-ghost:hover{color:var(--text-primary);background:#ffffff1a}.btn-danger{color:#e94560;background:#e9456026;border:1px solid #e945604d}.btn-danger:hover{background:#e9456040}.btn-lg{padding:.8rem 2rem;font-size:1rem}.btn-sm{padding:.4rem 1rem;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;display:inline-block;position:relative}.section-title:after{content:"";background:var(--accent-gradient);border-radius:2px;width:40px;height:3px;position:absolute;bottom:-4px;left:0}.section-link{color:var(--text-muted);transition:var(--transition);align-items:center;gap:.3rem;font-size:.85rem;display:flex}.section-link:hover{color:var(--accent);gap:.5rem}.section{margin-bottom:3rem}.grid-books{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem;display:grid}@media (width<=768px){.grid-books{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}}.loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:6rem 0;font-size:1.1rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius-sm);background:#e945601f;margin-bottom:1rem;padding:1rem 1.25rem;font-size:.9rem}.success-message{border:1px solid var(--success);color:var(--success);border-radius:var(--radius-sm);background:#4ade801f;margin-bottom:1rem;padding:1rem 1.25rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.form-input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:var(--transition);padding:.75rem 1rem;font-size:.95rem}.form-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #e9456026}textarea.form-input{resize:vertical;min-height:80px}.empty-state{text-align:center;color:var(--text-secondary);padding:5rem 2rem}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.3rem}.empty-state p{font-size:.9rem}.page-title{margin-bottom:2rem;font-size:2rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.results-count{color:var(--text-muted);margin-bottom:1rem;font-size:.85rem}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.page-info{color:var(--text-secondary);font-size:.9rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}
