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

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

html{
scroll-behavior:smooth;
}

body{
background:#ffffff;
color:#111111;
line-height:1.6;
transition:all .3s ease;
}

body.dark{
background:#111111;
color:#f5f5f5;
}

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:rgba(255,255,255,.95);
backdrop-filter:blur(10px);
border-bottom:1px solid #ececec;
z-index:999;
}

body.dark .header{
background:rgba(17,17,17,.95);
border-color:#2a2a2a;
}

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

.logo{
font-size:1.8rem;
font-weight:800;
color:#ff6b00;
}

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

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

.nav-menu a:hover

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

.dark-btn{
width:42px;
height:42px;
border-radius:50%;
background:#f4f4f4;
}

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

body.dark .login-btn{
background:#ff6b00;
}

/* =========================
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:#fff3eb;
color:#ff6b00;
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:#ff6b00;
}

.hero p{
font-size:1.2rem;
color:#666;
margin-bottom:40px;
}

body.dark .hero p{
color:#c5c5c5;
}

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

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

.secondary-btn{
padding:16px 30px;
background:#f2f2f2;
border-radius:14px;
font-weight:700;
}

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

.stat-card{
background:#fafafa;
border:1px solid #eee;
padding:25px;
border-radius:20px;
}

.stat-card h3{
color:#ff6b00;
font-size:2rem;
}

body.dark .stat-card{
background:#1a1a1a;
border-color:#2a2a2a;
}

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

.section{
padding:100px 0;
}

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

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

.section-header p{
color:#666;
}

body.dark .section-header p{
color:#aaa;
}

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

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

.category-card{
background:#fafafa;
border:1px solid #ececec;
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:#ff6b00;
}

body.dark .category-card{
background:#1a1a1a;
border-color:#2a2a2a;
}

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

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

.search-box input{
flex:1;
padding:18px;
border:1px solid #ddd;
border-radius:14px 0 0 14px;
font-size:1rem;
}

.search-box button{
padding:18px 30px;
background:#ff6b00;
color:white;
border-radius:0 14px 14px 0;
font-weight:700;
}

body.dark .search-box input{
background:#1a1a1a;
color:white;
border-color:#2a2a2a;
}

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

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

.rank-card{
background:white;
border:1px solid #ececec;
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:#fff3eb;
color:#ff6b00;
padding:8px 14px;
border-radius:999px;
font-size:.85rem;
}

body.dark .rank-card{
background:#1a1a1a;
border-color:#2a2a2a;
}

/* =========================
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:#f3f3f3;
font-weight:600;
}

.filter-btn.active{
background:#ff6b00;
color:white;
}

body.dark .filter-btn{
background:#1a1a1a;
color:white;
}

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

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

.review-card{
background:white;
border:1px solid #ececec;
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:#fff3eb;
color:#ff6b00;
padding:8px 12px;
border-radius:999px;
font-size:.85rem;
font-weight:700;
}

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

.summary-box{
background:#fafafa;
padding:15px;
border-radius:15px;
margin:15px 0;
}

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

.review-content{
margin-bottom:20px;
color:#555;
}

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

.verify-badges span{
background:#eef7ff;
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;
}

body.dark .review-card{
background:#1a1a1a;
border-color:#2a2a2a;
}

body.dark .summary-box{
background:#222;
}

body.dark .review-content{
color:#c7c7c7;
}

body.dark .ai-box{
background:#2b2118;
}

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

.write-review{
text-align:center;
background:#fafafa;
border-radius:30px;
padding:80px 40px;
}

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

.write-review p{
margin-bottom:30px;
color:#666;
}

body.dark .write-review{
background:#1a1a1a;
}

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

footer{
padding:40px 0;
text-align:center;
border-top:1px solid #ececec;
margin-top:50px;
}

body.dark footer{
border-color:#2a2a2a;
}

/* =========================
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;
}
```

}
