@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Merriweather:wght@300;400;700&family=Roboto:wght@400;500;700&family=Lora:wght@400;500;700&display=swap";:root{--bg-main:#f8f9fa;--bg-card:#fff;--bg-hover:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--accent:#2563eb;--accent-hover:#1d4ed8;--border-color:#e2e8f0;--radius:6px;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 12px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.navbar{z-index:1000;border-bottom:1px solid var(--border-color);background-color:#fff;align-items:center;height:64px;padding:0 5%;display:flex;position:sticky;top:0}a.logo{letter-spacing:-.5px;font-size:1.5rem;font-weight:700;color:var(--accent)!important}.logo span{color:var(--accent)}.container{max-width:1200px;margin:0 auto;padding:2rem 5%}.section-title{align-items:center;gap:12px;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;display:flex}.section-title:before{content:"";background-color:var(--accent);border-radius:2px;width:4px;height:20px;display:inline-block}.book-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}@media (width<=600px){.book-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}.book-card{flex-direction:column;transition:transform .2s;display:flex}.book-card:hover{transform:translateY(-4px)}.book-cover-wrapper{aspect-ratio:2/3;border-radius:var(--radius);background-color:var(--bg-card);width:100%;box-shadow:var(--shadow-md);margin-bottom:.75rem;position:relative;overflow:hidden}.book-cover{object-fit:cover;width:100%;height:100%;transition:opacity .3s}.book-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.25rem;font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.book-meta{color:var(--text-secondary);font-size:.8rem}.novel-detail-hero{background:linear-gradient(to bottom, #fff, var(--bg-main));border-bottom:1px solid var(--border-color);gap:2rem;margin-top:-2rem;margin-bottom:2rem;padding:4rem 5% 2rem;display:flex;position:relative}.detail-cover{border-radius:var(--radius);width:200px;height:300px;box-shadow:var(--shadow-md);object-fit:cover;flex-shrink:0}.detail-info{flex-direction:column;justify-content:center;display:flex}.detail-title{margin-bottom:.5rem;font-size:2.5rem;font-weight:700;line-height:1.2}.detail-author{color:var(--accent);margin-bottom:1.5rem;font-weight:500}.detail-desc{color:var(--text-secondary);text-align:justify;max-width:800px;margin-bottom:2rem;font-size:.95rem;line-height:1.6}.btn-read{background-color:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:24px;align-self:flex-start;align-items:center;gap:8px;padding:12px 32px;font-size:1rem;font-weight:600;transition:background-color .2s;display:inline-flex}.btn-read:hover{background-color:var(--accent-hover)}.chapter-container{max-width:1200px;margin:0 auto;padding:0 5%}.chapter-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:3rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.chapter-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.chapter-item{border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);background-color:var(--bg-card);justify-content:space-between;align-items:center;padding:1rem;font-size:.95rem;transition:all .2s;display:flex}.chapter-item:hover{background-color:var(--bg-hover);color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}@media (width<=768px){.novel-detail-hero{text-align:center;flex-direction:column;align-items:center;padding-top:2rem}.btn-read{justify-content:center;align-self:center;width:100%}.detail-desc{text-align:left}.chapter-list{grid-template-columns:1fr}}.horizontal-slider{scroll-snap-type:x mandatory;gap:1rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.horizontal-slider::-webkit-scrollbar{display:none}.horizontal-slider{-ms-overflow-style:none;scrollbar-width:none}.horizontal-slider .book-card{scroll-snap-align:start;flex:0 0 120px;width:120px;max-width:120px}@media (width<=1024px){.horizontal-slider .book-card{flex:0 0 105px;width:105px;max-width:105px}}@media (width<=768px){.horizontal-slider .book-card{flex:0 0 95px;width:95px;max-width:95px}.horizontal-slider{gap:1rem}}.search-container{margin-bottom:3rem;position:relative}.search-input{border:1px solid var(--border-color);background-color:var(--bg-card);width:100%;color:var(--text-primary);border-radius:30px;outline:none;padding:1rem 1.5rem;font-size:1.1rem;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.search-results{background:var(--bg-card);border:1px solid var(--border-color);z-index:1000;max-height:400px;box-shadow:var(--shadow-md);border-radius:12px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:1rem;transition:background-color .2s;display:flex}.search-result-item:hover{background-color:var(--bg-hover)}.search-result-item:last-child{border-bottom:none}.search-result-cover{object-fit:cover;border-radius:4px;width:50px;height:75px}.reader-wrapper{--reader-bg:var(--bg-main);--reader-text:var(--text-primary);--reader-header-bg:#fffffff2;background-color:var(--reader-bg);color:var(--reader-text);min-height:100vh;transition:background-color .3s,color .3s}.reader-wrapper.theme-light{--reader-bg:#f8f9fa;--reader-text:#1e293b;--reader-header-bg:#fffffff2}.reader-wrapper.theme-sepia{--reader-bg:#f4ecd8;--reader-text:#433422;--reader-header-bg:#f4ecd8f2;--border-color:#d7cdb3}.reader-wrapper.theme-dark{--reader-bg:#0f172a;--reader-text:#cbd5e1;--reader-header-bg:#0f172af2;--border-color:#1e293b}.reader-header{background-color:var(--reader-header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);z-index:10;justify-content:space-between;align-items:center;padding:1rem 5%;transition:background-color .3s;display:flex;position:sticky;top:0}.reader-wrapper a{color:var(--reader-text)}.reader-novel-title{color:var(--reader-text);font-size:.9rem;font-weight:500}.reader-content{max-width:760px;color:var(--reader-text);margin:0 auto;padding:3rem 2rem;font-size:1.15rem;line-height:2}.reader-content.font-merriweather{font-family:Merriweather,serif}.reader-content.font-inter{font-family:Inter,sans-serif}.reader-content.font-lora{font-family:Lora,serif}.reader-content.font-roboto{font-family:Roboto,sans-serif}.reader-content h4{color:var(--reader-text);text-align:center;margin-bottom:3rem;font-family:Inter,sans-serif;font-size:1.75rem;font-weight:700}.reader-content p{text-align:justify;margin-bottom:1.5em}.reader-nav-bottom{background-color:var(--reader-header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border-color);z-index:10;justify-content:center;gap:1rem;padding:1rem 5%;transition:background-color .3s;display:flex;position:sticky;bottom:0}.btn-nav{color:var(--reader-text);border:1px solid var(--border-color);cursor:pointer;background-color:#0000;border-radius:20px;padding:10px 24px;font-weight:500;transition:all .2s}.btn-nav:hover:not(:disabled){background-color:var(--reader-text);border-color:var(--reader-text);color:var(--reader-bg)}.btn-nav:disabled{opacity:.5;cursor:not-allowed}.genre-tags{flex-wrap:wrap;gap:.75rem;display:flex}.genre-tag{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:var(--shadow-sm);border-radius:20px;padding:6px 16px;font-size:.85rem;font-weight:500;transition:all .2s}.genre-tag:hover{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-2px)}.loading{text-align:center;color:var(--accent);padding:5rem;font-weight:600}.skeleton{background:#e2e8f0 linear-gradient(90deg,#e2e8f0 0,#f1f5f9 40px,#e2e8f0 80px) 0 0/600px 100%;animation:1.5s linear infinite shimmer}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-card{flex-direction:column;display:flex}.skeleton-cover{aspect-ratio:2/3;border-radius:var(--radius);width:100%;margin-bottom:.75rem}.skeleton-title{border-radius:4px;width:90%;height:14px;margin-bottom:6px}.chapter-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chapter-modal-content{background:var(--bg-main);border-radius:12px;flex-direction:column;width:90%;max-width:500px;display:flex;box-shadow:0 4px 20px #0003}
