:root {
    --bg-color: #ffffff;
    --text-color: #111111;
    --header-bg: rgba(255, 255, 255, 0.95);
    --border-color: #ececec;
    --primary-color: #ff6b00;
    --secondary-bg: #fafafa;
    --hero-badge-bg: #fff3eb;
    --text-muted: #666;
    --rank-card-bg: #ffffff;
    --like-btn-color: #111;
    --ai-box-bg: #fff8ef;
    --badge-bg: #eef7ff;
}

body.dark {
    --bg-color: #111111;
    --text-color: #f5f5f5;
    --header-bg: rgba(17, 17, 17, 0.95);
    --border-color: #2a2a2a;
    --secondary-bg: #1a1a1a;
    --hero-badge-bg: #2b2118;
    --text-muted: #aaa;
    --rank-card-bg: #1a1a1a;
    --like-btn-color: #f5f5f5;
    --ai-box-bg: #2b2118;
    --badge-bg: #1e293b;
}

/* =========================
RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Pretendard',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background-color: var(--bg-color);
color: var(--text-color);
line-height:1.6;
transition:all .3s ease;
}

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

button{
cursor:pointer;
border:none;
outline:none;
}

.container{
width:90%;
max-width:1280px;
margin:0 auto;
}

/* =========================
HEADER
========================= */

.header{
position:fixed;
top:0;
left:0;
width:100%;
height:80px;
background: var(--header-bg);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--border-color);
z-index:999;
}

.nav-container{
height:80px;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
font-size:1.8rem;
font-weight:800;
color: var(--primary-color);
}

.nav-menu{
display:flex;
gap:32px;
}

.nav-menu a{
font-weight:600;
transition:.2s;
}

.nav-actions{
display:flex;
align-items:center;
gap:12px;
}

.dark-btn{
width:42px;
height:42px;
border-radius:50%;
background: var(--secondary-bg);
}

.login-btn{
padding:12px 18px;
border-radius:12px;
background:#111;
color:white;
font-weight:600;
}

body.dark .login-btn{
background: var(--primary-color);
}

/* =========================
HERO
========================= */

.hero{
min-height:100vh;
display:flex;
align-items:center;
padding-top:120px;
}

.hero-content{
max-width:760px;
}

.hero-badge{
display:inline-block;
padding:10px 18px;
background: var(--hero-badge-bg);
color: var(--primary-color);
border-radius:999px;
font-weight:700;
margin-bottom:20px;
}

.hero h1{
font-size:5rem;
line-height:1.05;
margin-bottom:24px;
font-weight:800;
}

.hero h1 span{
color: var(--primary-color);
}

.hero p{
font-size:1.2rem;
color: var(--text-muted);
margin-bottom:40px;
}

.hero-buttons{
display:flex;
gap:15px;
margin-bottom:60px;
}

.primary-btn{
padding:16px 30px;
background: var(--primary-color);
color:white;
border-radius:14px;
font-weight:700;
}

.secondary-btn{
padding:16px 30px;
background: var(--secondary-bg);
border-radius:14px;
font-weight:700;
}

.hero-stats{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.stat-card{
background: var(--secondary-bg);
border:1px solid var(--border-color);
padding:25px;
border-radius:20px;
}

.stat-card h3{
color: var(--primary-color);
font-size:2rem;
}

/* =========================
COMMON SECTION
========================= */

.section{
padding:100px 0;
}

.section-header{
margin-bottom:40px;
}

.section-header h2{
font-size:3rem;
margin-bottom:10px;
}

.section-header p{
color: var(--text-muted);
}

/* =========================
CATEGORY
========================= */

.category-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:20px;
}

.category-card{
background: var(--secondary-bg);
border:1px solid var(--border-color);
padding:30px;
border-radius:20px;
text-align:center;
font-weight:700;
transition:.3s;
}

.category-card:hover{
transform:translateY(-6px);
box-shadow:0 10px 25px rgba(0,0,0,.08);
border-color: var(--primary-color);
}

/* =========================
SEARCH
========================= */

.search-box{
display:flex;
max-width:700px;
margin:auto;
}

.search-box input{
flex:1;
padding:18px;
border:1px solid var(--border-color);
background: var(--bg-color);
color: var(--text-color);
border-radius:14px 0 0 14px;
font-size:1rem;
}

.search-box button{
padding:18px 30px;
background: var(--primary-color);
color:white;
border-radius:0 14px 14px 0;
font-weight:700;
}

/* =========================
TOP REVIEWER
========================= */

.ranking-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:24px;
}

.rank-card{
background: var(--rank-card-bg);
border:1px solid var(--border-color);
border-radius:22px;
padding:30px;
transition:.3s;
}

.rank-card:hover{
transform:translateY(-5px);
}

.rank-number{
font-size:2rem;
margin-bottom:15px;
}

.reviewer-badge{
display:inline-block;
margin-top:15px;
background: var(--hero-badge-bg);
color: var(--primary-color);
padding:8px 14px;
border-radius:999px;
font-size:.85rem;
}

/* =========================
TRENDING
========================= */

.trending-box{
background:#111;
color:white;
border-radius:30px;
padding:50px;
}

.trending-box h2{
margin-bottom:25px;
}

.trending-box ul{
list-style:none;
}

.trending-box li{
padding:12px 0;
border-bottom:1px solid rgba(255,255,255,.1);
}

/* =========================
FILTER
========================= */

.filter-bar{
display:flex;
gap:10px;
margin-bottom:30px;
flex-wrap:wrap;
}

.filter-btn{
padding:12px 18px;
border-radius:999px;
background: var(--secondary-bg);
font-weight:600;
color: var(--text-color);
}

.filter-btn.active{
background: var(--primary-color);
color:white;
}

/* =========================
REVIEWS
========================= */

.review-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
gap:24px;
}

.review-card{
background: var(--rank-card-bg);
border:1px solid var(--border-color);
border-radius:24px;
padding:24px;
transition:.3s;
}

.review-card:hover{
transform:translateY(-5px);
box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.review-top{
display:flex;
justify-content:space-between;
margin-bottom:15px;
}

.category{
background: var(--hero-badge-bg);
color: var(--primary-color);
padding:8px 12px;
border-radius:999px;
font-size:.85rem;
font-weight:700;
}

.trust-score{
color:#22c55e;
font-weight:700;
}

.summary-box{
background: var(--secondary-bg);
padding:15px;
border-radius:15px;
margin:15px 0;
}

.ai-box{
background: var(--ai-box-bg);
padding:15px;
border-radius:15px;
margin-bottom:15px;
display:flex;
justify-content:space-between;
align-items:center;
}

.review-content{
margin-bottom:20px;
color: var(--text-muted);
}

.verify-badges{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-bottom:20px;
}

.verify-badges span{
background: var(--badge-bg);
padding:8px 12px;
border-radius:999px;
font-size:.8rem;
}

.review-footer{
display:flex;
justify-content:space-between;
align-items:center;
}

.like-btn{
background:none;
font-size:1rem;
font-weight:700;
color: var(--like-btn-color);
}

/* =========================
WRITE SECTION
========================= */

.write-review{
text-align:center;
background: var(--secondary-bg);
border-radius:30px;
padding:80px 40px;
}

.write-review h2{
font-size:2.5rem;
margin-bottom:20px;
}

.write-review p{
margin-bottom:30px;
color: var(--text-muted);
}

/* =========================
FOOTER
========================= */

footer{
padding:40px 0;
text-align:center;
border-top:1px solid var(--border-color);
margin-top:50px;
}

/* =========================
ANIMATION
========================= */

.review-card,
.rank-card,
.category-card{
animation:fadeUp .6s ease;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:992px){
.hero h1{font-size:4rem;}
.hero-stats{grid-template-columns:1fr;}
}

@media(max-width:768px){
.nav-menu{display:none;}
.hero h1{font-size:3rem;}
.section-header h2{font-size:2rem;}
.hero-buttons{flex-direction:column;}
.review-grid{grid-template-columns:1fr;}
.search-box{flex-direction:column;gap:10px;}
.search-box input{border-radius:14px;}
.search-box button{border-radius:14px;}
}
