:root{
--bg:#050510;
--panel:#090b18;
--panel-2:#0d1224;
--text:#ffffff;
--muted:rgba(255,255,255,.68);
--soft:rgba(255,255,255,.1);
--purple:#8b5cf6;
--blue:#3155e7;
}

*{
box-sizing:border-box;
}

body{
margin:0;
background:var(--bg);
color:var(--text);
font-family:Arial, Helvetica, sans-serif;
}

img{
display:block;
max-width:100%;
}

a{
color:inherit;
text-decoration:none;
}

.container{
width:min(1180px, calc(100% - 32px));
margin:0 auto;
}

/* Top navigation */

.topbar{
background:#070711;
border-bottom:1px solid rgba(255,255,255,.08);
position:sticky;
top:0;
z-index:50;
}

.topbar-inner{
height:58px;
display:flex;
align-items:center;
justify-content:space-between;
}

.brand{
font-size:22px;
font-weight:900;
letter-spacing:2px;
color:#fff;
text-shadow:0 0 18px rgba(139,92,246,.6);
}
.nav-links{
display:flex;
gap:10px;
align-items:center;
}

.nav-links a{
color:#d8d8ff;
font-size:14px;
font-weight:700;
padding:10px 16px;
border-radius:12px;
transition:all .25s ease;
}

.nav-links a:hover{
color:#fff;
background:linear-gradient(
135deg,
#8b5cf6,
#3155e7
);
box-shadow:0 0 18px rgba(139,92,246,.45);
transform:translateY(-2px);
}

/* Novel hero */

.hero{
  position:relative;
  overflow:hidden;
  padding:46px 0 50px;
  background:
  radial-gradient(circle at center, rgba(139,92,246,.08), transparent 55%),
  #050510;
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg, rgba(139,92,246,.08), transparent 45%);
pointer-events:none;
}

.hero-overlay,
.hero::after{
display:none !important;
}

.hero-content{
position:relative;
z-index:2;
display:grid;
grid-template-columns:300px minmax(0,1fr);
gap:48px;
align-items:start;
}

.hero-cover{
position:relative;
}

.hero-cover::after{
content:"";
position:absolute;
left:50%;
bottom:-26px;
width:78%;
height:38px;
transform:translateX(-50%);
background:radial-gradient(ellipse, rgba(139,92,246,.55), transparent 70%);
filter:blur(10px);
z-index:-1;
}

.hero-cover img{
width:300px;
height:420px;
object-fit:cover;
border-radius:8px;
box-shadow:
0 0 45px rgba(139,92,246,.28),
0 24px 60px rgba(0,0,0,.45);
}

.hero-copy{
padding-top:8px;
}

.eyebrow{
display:inline-block;
background:linear-gradient(135deg,#8b5cf6,#3155e7);
color:#fff;
font-size:13px;
font-weight:800;
letter-spacing:.8px;
padding:9px 15px;
text-transform:uppercase;
margin-bottom:14px;
border-radius:3px;
}

.hero-copy h1{
margin:0 0 18px;
color:#fff;
font-size:44px;
line-height:1.08;
font-weight:900;
text-shadow:0 0 24px rgba(139,92,246,.25);
}

.hero-stats{
display:flex;
flex-wrap:wrap;
gap:16px;
margin:0 0 22px;
}

.card{
background:transparent;
border:0;
padding:0;
box-shadow:none;
}

.card span{
display:none;
}

.card strong{
color:rgba(255,255,255,.9);
font-size:15px;
font-weight:800;
}

.author-line{
margin:0 0 18px;
color:var(--muted);
font-size:16px;
}

.author-line span{
color:#8da2ff;
font-weight:700;
}

.rating-line{
display:flex;
gap:12px;
align-items:center;
margin-bottom:62px;
color:rgba(255,255,255,.82);
}

.stars{
color:#b9bfd3;
letter-spacing:3px;
}

.hero-description{
max-width:760px;
color:var(--muted);
font-size:17px;
line-height:1.75;
margin:22px 0;
}

.hero-actions{
  display:flex;
  gap:18px;
  margin-top:155px;
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:999px;
font-weight:900;
border:0;
transition:.2s ease;
}

.button:hover{
transform:translateY(-2px);
}

.button.primary{
background:linear-gradient(135deg,#4269ff,#243fd0);
color:#fff;
padding:17px 38px;
font-size:16px;
box-shadow:0 0 28px rgba(49,85,231,.45);
}

.button.secondary{
background:linear-gradient(135deg,#8b5cf6,#3155e7);
color:#fff;
padding:17px 38px;
font-size:16px;
box-shadow:0 0 28px rgba(139,92,246,.35);
}

/* Tabs */

.novel-tabs{
background:#050510;
border-top:1px solid rgba(255,255,255,.06);
border-bottom:1px solid rgba(255,255,255,.06);
padding:14px 0;
}

.tab{
font-weight:800;
color:#fff;
}

.tab.active{
color:#fff;
border-bottom:2px solid var(--purple);
padding-bottom:8px;
}

.tab-divider{
color:rgba(255,255,255,.35);
margin:0 16px;
}

/* Sections */

.section{
background:#050510;
color:#fff;
padding:64px 0;
}

.section-header{
margin-bottom:28px;
}

.section-header h2{
margin:0;
color:#fff;
font-size:34px;
line-height:1.15;
}

.section-header .eyebrow{
background:none;
color:rgba(139,92,246,.9);
padding:0;
letter-spacing:2px;
font-size:12px;
}

.about-block{
max-width:900px;
}

.about-block h2{
color:#fff;
font-size:28px;
margin:0 0 24px;
}

.about-block p{
color:rgba(255,255,255,.82);
line-height:1.75;
font-size:17px;
}

.audience{
color:rgba(255,255,255,.65) !important;
margin-top:28px;
}

.grid{
display:grid;
gap:24px;
}

.cards-grid{
grid-template-columns:repeat(3,1fr);
}

.list-grid{
grid-template-columns:repeat(2,1fr);
}

.power-grid,
.world-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:24px;
}

.update-card,
.character-card,
.gallery-card,
.power-card,
.world-card,
.discord-panel{
background:linear-gradient(180deg,rgba(16,22,44,.96),rgba(10,13,28,.96));
border:1px solid rgba(255,255,255,.08);
border-radius:18px;
padding:24px;
box-shadow:0 20px 50px rgba(0,0,0,.26);
}

.update-card h3,
.character-card h3,
.gallery-card h3,
.power-card h3,
.world-card h3{
margin:0 0 12px;
color:#fff;
}

.update-card p,
.character-bio,
.gallery-card p,
.power-card p,
.world-card p,
.discord-panel p{
color:rgba(255,255,255,.72);
line-height:1.65;
}

.small-link{
color:#9caeff;
font-weight:800;
}

.character-card figure{
  margin:0 0 16px;
  height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:12px;
  background:#080b1f;
}

.character-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
}

.gallery-card img{
  width:100%;
  height:260px;
  object-fit:contain;
  border-radius:12px;
  background:#080b1f;
}
.discord-panel{
display:flex;
justify-content:space-between;
align-items:center;
gap:24px;
}

.site-footer{
background:#03030a;
color:rgba(255,255,255,.6);
padding:30px 0;
border-top:1px solid rgba(255,255,255,.08);
}

.footer-inner{
display:flex;
justify-content:space-between;
gap:20px;
}

/* Chapter page */

.chapter-page{
background:#050510;
padding:40px 0;
}

.chapter-panel{
max-width:900px;
margin:0 auto;
background:linear-gradient(180deg,rgba(16,22,44,.96),rgba(10,13,28,.96));
border:1px solid rgba(255,255,255,.08);
border-radius:20px;
padding:34px;
}

.chapter-header{
display:flex;
justify-content:space-between;
gap:24px;
margin-bottom:24px;
}

.chapter-content p{
font-size:19px;
line-height:1.9;
color:rgba(255,255,255,.82);
}

.hidden{
display:none !important;
}

/* Mobile */

@media(max-width:900px){
  .hero-content{ grid-template-columns:1fr; }
  .hero-cover img{ width:260px; height:370px; }
  .hero-actions{ margin-top:34px; flex-wrap:wrap; }

  .cards-grid,
  .list-grid,
  .power-grid,
  .world-grid{
    grid-template-columns:1fr;
  }

  .discord-panel,
  .footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:700px){
  .topbar{ position:static; }
  .topbar-inner{
    height:auto;
    padding:12px 0;
    flex-direction:column;
    gap:12px;
  }
  .brand{ font-size:16px; }
  .nav-links{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
  }
  .nav-links a{
    text-align:center;
    font-size:12px;
    padding:9px 6px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
  }
}

/* Gallery page */

.gallery-page{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:70px 0;
}

.gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:24px !important;
  align-items:start;
}

.gallery-card{
  background:linear-gradient(180deg, rgba(16,22,44,.96), rgba(10,13,28,.96));
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:20px;
  width:auto !important;
  margin:0 !important;
}

.gallery-card img{
  width:100% !important;
  height:430px !important;
  object-fit:contain !important;
  object-position:center top;
  border-radius:12px;
  background:#080b1f;
}

.gallery-card h3{
  margin:16px 0 12px;
}

.gallery-card p{
  color:rgba(255,255,255,.78);
  line-height:1.55;
}
  .gallery-tabs{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0 32px;
}

.tab-btn{
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#d8d8ff;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:all .25s ease;
}

.tab-btn:hover{
  background:rgba(139,92,246,.15);
  border-color:#8b5cf6;
  color:#fff;
  transform:translateY(-2px);
}

.tab-btn.active{
  background:linear-gradient(
    135deg,
    #8b5cf6,
    #3155e7
  );
  border-color:transparent;
  color:#fff;
  box-shadow:0 0 18px rgba(139,92,246,.4);
}
.gallery-card img{
  cursor:zoom-in;
}

.image-lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999999;
  padding:30px;
  cursor:zoom-out;
}

.image-lightbox img{
  max-width:95vw;
  max-height:95vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 0 50px rgba(0,0,0,.6);
}

@media(max-width:900px){
  .gallery-grid{
    grid-template-columns:1fr !important;
  }
}
