
:root{
  --bg:#0a0b10;
  --panel:#0f1118;
  --text:#e6e6ef;
  --muted:#9aa0b4;
  --neon:#00f5ff;
  --neon2:#8a2be2;
  --accent:#ff3cf0;
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  background: radial-gradient(1200px 600px at 80% -10%, rgba(138,43,226,.25), transparent 60%),
              radial-gradient(900px 500px at 10% 10%, rgba(0,245,255,.18), transparent 60%),
              var(--bg);
  color:var(--text);
}

a{color:inherit;text-decoration:none}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;
  background:linear-gradient(180deg, rgba(10,11,16,.9), rgba(10,11,16,.6) 60%, transparent);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.site-header.compact{padding:10px 14px}

.brand{display:flex;align-items:center;gap:12px}
.brand-logo{
  width:36px;height:36px;border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--neon), transparent 60%),
              radial-gradient(circle at 70% 70%, var(--neon2), transparent 60%);
  box-shadow: 0 0 20px rgba(0,245,255,.45), 0 0 28px rgba(138,43,226,.35);
}
.brand-title{font-weight:800;letter-spacing:.5px}
.brand-title.small{font-size:14px;font-weight:700;opacity:.9}

.nav-actions{display:flex;align-items:center;gap:10px}
.btn{
  padding:10px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.02);color:var(--text);cursor:pointer;
  transition:.2s transform ease, .2s box-shadow ease, .2s background ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.neon{border-color:rgba(0,245,255,.45);box-shadow:0 0 18px rgba(0,245,255,.25) inset, 0 0 24px rgba(0,245,255,.18)}
.btn.ghost{background:transparent}
.btn.small{padding:6px 10px;border-radius:10px;font-size:13px}

.container{max-width:1200px;margin:0 auto;padding:14px}
.container.narrow{max-width:860px}

.hero{
  margin-top:10px;
  display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;
}
.hero-text h1{font-size:44px;line-height:1.1;margin:0 0 10px}
.neon{color:var(--neon)}
.hero-text p{color:var(--muted);max-width:640px}

.hero-art{
  height:220px;border-radius:var(--radius);
  background: linear-gradient(135deg, rgba(0,245,255,.12), rgba(138,43,226,.18)),
              radial-gradient(600px 220px at 70% -30%, rgba(255,60,240,.12), transparent 60%),
              #0f1219;
  border:1px solid rgba(255,255,255,.06);
  box-shadow: var(--shadow), 0 0 60px rgba(0,245,255,.15), 0 0 80px rgba(138,43,226,.12);
}

.catalog{margin-top:20px}
.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1100px){.cards-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:800px){.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cards-grid{grid-template-columns:1fr}}

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;overflow:hidden;box-shadow:var(--shadow);
  transition:.18s transform ease, .18s box-shadow ease, .18s border-color ease;
  position:relative;
}
.card:hover{transform: translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.55), 0 0 50px rgba(138,43,226,.12);border-color:rgba(0,245,255,.25)}
.card .cover{height:170px;background:#131722;background-size:cover;background-position:center}
.card .body{padding:12px 14px}
.card .title{font-weight:700}
.card .meta{font-size:13px;color:var(--muted)}

.site-footer{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 16px;margin-top:28px;color:var(--muted);
  border-top:1px solid rgba(255,255,255,.06);
}

/* Reader */
.reader-body{background:var(--bg)}
.reader{display:flex;justify-content:center;align-items:center;padding:12px}
#pdfCanvas{max-width:100%;height:auto;border-radius:10px;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow)}
.site-footer.compact{justify-content:center}
.nav-pages{display:flex;gap:10px}
