:root{

--bg:#fffdf8;
--surface:#ffffff;

--primary:#d89f4f;
--secondary:#f6dca2;

--accent:#f5c1b2;

--text:#4d443b;
--text-light:#7b7065;

--shadow:0 10px 30px rgba(0,0,0,.08);

--radius:24px;

}

.dark{

--bg:#252220;
--surface:#332f2c;

--primary:#e3b15b;
--secondary:#6c5733;

--accent:#d6a495;

--text:#f4eee8;
--text-light:#d1c6bd;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html {

scroll-behavior: smooth;

-webkit-font-smoothing: antialiased;

-moz-osx-font-smoothing: grayscale;

}

body{

font-family:'Nunito',sans-serif;

background:var(--bg);

color:var(--text);

line-height:1.7;
}

img{
max-width:100%;
height:auto;
display:block;
}

a{
text-decoration:none;
}

.header{

position:sticky;
top:0;

z-index:999;

background:rgba(255,255,255,.85);

backdrop-filter:blur(12px);

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 40px;

border-bottom:1px solid rgba(0,0,0,.05);

}

.dark .header{
background:rgba(35,35,35,.9);
}

.logo{
display:flex;
align-items:center;
gap:15px;
font-size:1.2rem;
font-weight:800;
}

.logo img{
width:60px;
height:60px;
object-fit:contain;
}

nav{

display:flex;
gap:24px;

}

nav a{

color:var(--text);

font-weight:700;

transition:.2s;

}

nav a:hover{

color:var(--primary);

}

#themeToggle{

border:none;

width:50px;
height:50px;

border-radius:50%;

cursor:pointer;

background:var(--secondary);

font-size:22px;

}

.hero{

min-height:80vh;

display:flex;

justify-content:center;
align-items:center;

padding:60px 20px;

background:
linear-gradient(
180deg,
#fff7ef 0%,
#fffdf8 100%
);

text-align:center;

}

.hero-content{

max-width:850px;

}

.hero-image{

width:100%;

max-width:900px;

margin:50px auto 0;

border-radius:30px;

box-shadow:0 20px 50px rgba(0,0,0,.15);

transition:.4s ease;

}

.hero-image:hover{

transform:scale(1.02);

}

.hero h1{

font-size:4rem;

line-height:1.1;

margin-bottom:20px;

}

.hero p{

font-size:1.3rem;

max-width:700px;

margin:auto auto 40px;

color:var(--text-light);

}

.btn{

display:inline-block;

padding:16px 34px;

background:var(--primary);

color:white;

border-radius:999px;

font-weight:800;

transition:.25s;

}

.btn:hover{

transform:translateY(-3px);

}

section{

padding:100px 20px;

}

section h2{

text-align:center;

font-size:2.4rem;

margin-bottom:40px;

}

.series-description{

max-width:1000px;

margin:auto;

text-align:center;

}

.series-description p{

font-size:1.15rem;

max-width:900px;

margin:auto;

}

.character-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(220px,1fr));

gap:25px;

max-width:1200px;

margin:auto;

}

.card{

background:var(--surface);

padding:24px;

border-radius:var(--radius);

box-shadow:var(--shadow);

transition:.3s;

}

.card:hover{

transform:translateY(-6px);

}

.card h3{

margin-bottom:12px;

}

#searchBooks{

display:block;

max-width:500px;

width:90%;

margin:0 auto 40px;

padding:18px;

border:none;

border-radius:999px;

box-shadow:var(--shadow);

font-size:16px;

}

.books-grid{

max-width:1300px;

margin:auto;

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:28px;

}

.book-card{
overflow:hidden;
background:var(--surface);
padding:30px;
border-radius:var(--radius);
box-shadow:var(--shadow);
transition:.3s;
}

.book-card:hover{
transform:translateY(-8px);
}

.book-card h3{
margin-bottom:12px;
}

.book-card p{
min-height:55px;
}

.book-card a{
display:inline-block;
margin-top:20px;
padding:12px 25px;
background:var(--primary);
color:white;
border-radius:999px;
font-weight:700;
}

.book-card img{
width:100%;
aspect-ratio:3/4;
object-fit:cover;
border-radius:20px;
margin-bottom:20px;
box-shadow:var(--shadow);
}

.book-card:hover img{
transform:scale(1.05);
}
.world{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));
gap:20px;
max-width:1200px;
margin:auto;
}

.world-box{

background:var(--surface);

padding:35px;

text-align:center;

border-radius:var(--radius);

box-shadow:var(--shadow);

font-weight:700;

}

.quote{

text-align:center;

}

.quote p{

max-width:800px;

margin:auto;

font-size:1.4rem;

font-style:italic;

color:var(--primary);

}

#moraly ul{

max-width:900px;

margin:auto;

}

#moraly li{

margin-bottom:15px;

font-size:1.1rem;

}

footer{
margin-top:80px;
padding:50px 20px;
background:#f6eddc;
text-align:center;
border-top:5px solid var(--secondary);
}


.dark footer{
background:#2f2b28;
}

footer a{
display:inline-block;
margin-top:10px;
color:var(--primary);
font-weight:800;
}

.stats{
text-align:center;
}

#readCounter{

font-size:1.4rem;

font-weight:700;

color:var(--primary);

}

.random-chick{

max-width:700px;

margin:auto;

text-align:center;

}

.show{

animation:fadeUp .7s ease;

}

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(30px);
}

to{
opacity:1;
transform:translateY(0);
}

}

.book-header{

padding:30px;

}

.back-home{

font-weight:700;

color:var(--primary);

}

.book-hero{

max-width:1000px;

margin:auto;

padding:40px 20px;

text-align:center;

}

.book-hero img{

max-width:600px;

width:100%;

margin:auto;

border-radius:25px;

box-shadow:var(--shadow);

}

.book-hero h1{

margin-top:25px;

font-size:3rem;

}

.book-subtitle{

font-size:1.2rem;

color:var(--text-light);

margin-top:10px;

}

.reading-content{

max-width:950px;

margin:auto;

padding:50px 20px;

}

.reading-content article{

background:var(--surface);

padding:50px;

border-radius:30px;

box-shadow:var(--shadow);

font-size:1.2rem;

line-height:2;

}

.reading-content h2{

text-align:left;

margin-top:40px;

}

.navigation-books{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

padding:50px 20px;

}

.navigation-books a:hover{

transform:translateY(-3px);

transition:.25s;

}

.navigation-books a{

padding:16px 24px;

border-radius:999px;

background:var(--primary);

color:white;

font-weight:700;

}

@media(max-width:768px){

.header{
padding:15px;
flex-direction:column;
gap:15px;
}

nav{
flex-wrap:wrap;
justify-content:center;
}

.hero h1{
font-size:2.5rem;
}

.hero p{
font-size:1.05rem;
}

section h2{
font-size:2rem;
}

.book-hero h1{
font-size:2rem;
}

.reading-content article{
padding:25px;
font-size:1.05rem;
}

}

.story-image{
width:100%;
max-width:900px;
display:block;
margin:40px auto;
border-radius:25px;
box-shadow:var(--shadow);
background:#fff;
}

.dialog{
font-weight:700;
color:var(--primary);
padding-left:20px;
border-left:4px solid var(--primary);
margin:22px 0;
}

.reading-content ul{
margin:25px 0 25px 35px;
}

.reading-content li{
margin-bottom:12px;
}

.reading-content p{
margin-bottom:18px;
}

hr{
border:none;
height:3px;
background:linear-gradient(
to right,
transparent,
var(--primary),
transparent
);
margin:60px 0;
}

body{
overflow-x:hidden;
}

a:focus,
button:focus,
input:focus{
outline:3px solid var(--primary);
outline-offset:3px;
}

.section-intro{
max-width:900px;
margin:0 auto 50px;
text-align:center;
font-size:1.1rem;
color:var(--text-light);
}
.character-grid .card{
overflow:hidden;
text-align:center;
}

.character-grid .card img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:18px;
margin-bottom:18px;
transition:.4s ease;
box-shadow:var(--shadow);
}

.character-grid .card:hover img{
transform:scale(1.05);
}

.character-grid .card h3{
font-size:1.3rem;
margin-bottom:12px;
}

.character-grid .card p{
font-size:1rem;
line-height:1.7;
}
