:root{--bg0:#070b14;--bg1:#0b1220;--muted:rgba(226,232,240,.72);--muted2:rgba(226,232,240,.55);--border:rgba(148,163,184,.16);--border2:rgba(148,163,184,.22);--accent:#22c55e;--accent2:#06b6d4;--shadow:0 18px 55px rgba(0,0,0,.45);--radius:18px}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:radial-gradient(1200px 500px at 15% -10%,rgba(34,197,94,.16),transparent 55%),radial-gradient(1000px 420px at 85% 0,rgba(6,182,212,.14),transparent 50%),linear-gradient(180deg,var(--bg0),var(--bg1));color:#e5e7eb;line-height:1.55;font-size:15px}
a{color:inherit;text-decoration:none}a:hover{text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:clamp(14px,2.4vw,22px)}
.topbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(7,11,20,.85);backdrop-filter:blur(16px);border-bottom:1px solid rgba(148,163,184,.12);width:100%}
body{padding-top:72px}
@media (max-width:720px){body{padding-top:64px}}
.topbar-inner{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.2px;flex-shrink:0}
.brand-badge{width:36px;height:36px;border-radius:10px;object-fit:contain;display:inline-block}
.search{flex:1;max-width:560px;min-width:220px}
.search form{display:flex;gap:8px}
.search input{flex:1;height:44px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.55);color:#e5e7eb;border-radius:14px;padding:10px 12px;outline:none}
.search input:focus{border-color:rgba(34,197,94,.55);box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.btn{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.55);color:#e5e7eb;border-radius:14px;padding:0 14px;cursor:pointer;transition:border-color .12s ease,transform .12s ease,background .12s ease}
.btn:hover{border-color:rgba(34,197,94,.55);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.search-toggle-btn{display:none}
.subnav{display:flex;gap:10px;align-items:center;flex-shrink:0}
@media (max-width:720px){
    .topbar-inner{gap:8px}
    .brand span{display:none}
    .subnav{gap:6px}
    .subnav .btn{padding:0 10px;font-size:13px;height:38px}
    .search-toggle-btn{display:inline-flex;height:38px;width:38px;padding:0;font-size:16px}
    .search{display:none;position:absolute;top:100%;left:0;right:0;background:#070b14;padding:12px;border-bottom:1px solid rgba(148,163,184,.12);max-width:none;width:100%;z-index:100;box-shadow:0 10px 20px rgba(0,0,0,.5)}
    .search.active{display:block}
    .search form{width:100%}
}
.section-title{margin:18px 0 10px;font-size:clamp(18px,2.2vw,22px);font-weight:950;letter-spacing:.2px}
.section-sub{margin-top:-6px;color:var(--muted2);font-size:13px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
@media (min-width:960px){.grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:18px}}
.card{border:1px solid rgba(148,163,184,.12);background:rgba(15,23,42,.58);border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.18);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.card:hover{transform:translateY(-3px);border-color:rgba(34,197,94,.34);box-shadow:0 18px 44px rgba(0,0,0,.28)}
.thumb{aspect-ratio:3/4;background:linear-gradient(180deg,rgba(148,163,184,.10),rgba(148,163,184,.04));display:block;position:relative}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%);pointer-events:none}
.card-body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:10px;min-height:86px}
.title{font-weight:900;font-size:clamp(13px,1.15vw,15px);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{margin-top:auto;font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.14);background:rgba(2,6,23,.32);border-radius:999px;padding:6px 10px;font-size:12px;color:rgba(226,232,240,.88)}
.pager{display:flex;justify-content:center;gap:8px;margin:18px 0;flex-wrap:wrap}
.page-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font:inherit;appearance:none;-webkit-appearance:none;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.55);color:#e5e7eb;border-radius:14px;transition:border-color .12s ease,transform .12s ease,background .12s ease}
.page-btn:hover{border-color:rgba(34,197,94,.55);transform:translateY(-1px)}
.page-btn:active{transform:translateY(0)}
.page-current{border-color:rgba(34,197,94,.55);background:linear-gradient(135deg,rgba(34,197,94,.24),rgba(6,182,212,.14))}
.page-ellipsis{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted2)}
.page-nav{font-size:18px}
.page-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.empty{border:1px dashed rgba(148,163,184,.24);border-radius:18px;padding:20px;color:var(--muted);background:rgba(15,23,42,.35)}
.hero{display:flex;gap:16px;align-items:flex-start}
@media (max-width:640px){.hero{flex-direction:column}.hero-cover{width:220px;max-width:60vw}}
.hero-cover{width:190px;max-width:38vw;aspect-ratio:3/4;border-radius:20px;overflow:hidden;border:1px solid rgba(148,163,184,.14);background:rgba(148,163,184,.08);box-shadow:var(--shadow)}
.hero-cover img{width:100%;height:100%;object-fit:cover;display:block}
.hero-body{flex:1;min-width:0}
.hero-title{font-size:clamp(22px,2.6vw,30px);font-weight:950;line-height:1.12;margin:0}
.hero-desc{max-width:72ch;margin:10px 0 12px;color:rgba(226,232,240,.86);line-height:1.65}
.genre-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.actions .btn{background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(6,182,212,.12))}
.detail{display:flex;gap:16px;align-items:flex-start}
@media (max-width:640px){.detail{flex-direction:column}.detail-thumb{width:220px;max-width:60vw}}
.detail-thumb{width:190px;max-width:38vw;aspect-ratio:3/4;border-radius:20px;overflow:hidden;border:1px solid rgba(148,163,184,.14);background:rgba(148,163,184,.08);box-shadow:var(--shadow)}
.detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.detail-info{flex:1;min-width:0}
.detail-title{font-size:clamp(22px,2.6vw,30px);font-weight:950;line-height:1.12;margin:0 0 8px}
.detail-meta{margin:8px 0 12px;color:var(--muted);font-size:13px;display:flex;gap:10px;flex-wrap:wrap}
.detail-genres{margin:10px 0 14px}
.detail-desc{max-width:78ch;color:rgba(226,232,240,.88);line-height:1.7}
.reader{max-width:920px;margin:0 auto;padding:16px}
.reader-top{position:sticky;top:66px;z-index:40;margin:8px auto 14px;border:1px solid rgba(148,163,184,.12);background:rgba(7,11,20,.66);backdrop-filter:blur(12px);border-radius:16px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.reader-top-title{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reader-page{content-visibility:auto;contain-intrinsic-size:900px}
.page-img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid rgba(148,163,184,.12);background:rgba(148,163,184,.08);margin:12px 0;box-shadow:0 16px 48px rgba(0,0,0,.22)}
.container-reader{max-width:920px;margin:0 auto;padding:16px}
.reader-header{margin:8px auto 14px;border:1px solid rgba(148,163,184,.12);background:rgba(7,11,20,.66);backdrop-filter:blur(12px);border-radius:16px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.reader-title{font-weight:900;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reader-nav .btn{height:36px}
.reader-pages{display:flex;flex-direction:column;gap:12px}
.reader-page img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid rgba(148,163,184,.12);background:rgba(148,163,184,.08);box-shadow:0 16px 48px rgba(0,0,0,.22)}
.detail-actions{margin-top:20px}
.btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626)!important;border-color:rgba(239,68,68,.4)!important;font-weight:700}
.btn-primary:hover{background:linear-gradient(135deg,#f87171,#ef4444)!important;border-color:#ef4444!important}
.footer{border-top:1px solid rgba(148,163,184,.10);margin-top:26px}
.footer-inner{padding:18px 0;color:var(--muted2);font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.footer-links a{color:var(--muted2)}.footer-links a:hover{color:#fff}

/* 18+ Verification Modal */
.age-gate{position:fixed;inset:0;z-index:9999;background:rgba(7,11,20,.98);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .4s ease-out}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.age-gate-content{max-width:440px;width:100%;background:rgba(15,23,42,.88);border:1px solid rgba(148,163,184,.24);border-radius:28px;padding:36px;text-align:center;box-shadow:var(--shadow);border-top:1px solid rgba(255,255,255,.1)}
.age-gate-logo{width:88px;height:88px;margin:0 auto 24px;background:linear-gradient(135deg,rgba(34,197,94,.15),rgba(6,182,212,.15));border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:950;color:var(--accent);border:1px solid rgba(34,197,94,.2)}
.age-gate-title{font-size:26px;font-weight:950;margin-bottom:14px;color:#fff;letter-spacing:-.5px}
.age-gate-desc{color:var(--muted);font-size:15px;margin-bottom:32px;line-height:1.65}
.age-gate-actions{display:flex;gap:14px;justify-content:center}
.age-gate-btn{flex:1;height:54px;font-weight:900;font-size:16px;letter-spacing:.2px}
.age-gate-btn-yes{background:var(--accent);color:#052e16;border:none;box-shadow:0 8px 24px rgba(34,197,94,.2)}
.age-gate-btn-yes:hover{background:#4ade80;transform:translateY(-2px);box-shadow:0 12px 32px rgba(34,197,94,.3)}
.age-gate-btn-no{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.24);color:#f87171}
.age-gate-btn-no:hover{background:rgba(239,68,68,.14);border-color:#ef4444;color:#ef4444}
body.age-gate-active{overflow:hidden}
