:root{
  --bg:#0b0d12; --bg2:#11141b; --card:#151a23; --border:#232a38;
  --text:#e6eaf2; --text2:#98a2b3; --accent:#dc2626; --accent2:#f87171;
  --blue:#2563eb; --blue-h:#1d4ed8; --gold:#fbbf24; --radius:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Thai",sans-serif;font-size:15px;line-height:1.65}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
img{max-width:100%}

/* Age gate */
#age-gate{position:fixed;inset:0;background:rgba(5,7,10,.97);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.age-box{max-width:420px;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:36px 28px}
.age-logo{font-size:42px;font-weight:800;color:var(--accent);margin-bottom:12px}
.age-box h1{font-size:20px;margin-bottom:12px}
.age-box p{color:var(--text2);font-size:14px;margin-bottom:20px}
.age-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.age-note{font-size:12px!important;color:#5b6474!important}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,13,18,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:24px;height:56px;overflow-x:auto}
.logo{font-size:22px;font-weight:800;color:#fff;white-space:nowrap}
.logo span{color:var(--accent)}
.nav{display:flex;gap:18px;white-space:nowrap}
.nav a{color:var(--text2);font-size:14px}
.nav a:hover{color:#fff;text-decoration:none}

/* Buttons & chips */
.btn{display:inline-block;padding:10px 22px;border-radius:10px;font-weight:600;font-size:14px;border:0;cursor:pointer}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#b91c1c;text-decoration:none}
.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border)}
.btn-ghost:hover{color:#fff;border-color:#3b4456;text-decoration:none}
.btn-sm{padding:6px 14px;font-size:13px;border-radius:8px}
.chip{display:inline-block;padding:7px 16px;border-radius:999px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:13px}
.chip:hover{border-color:var(--accent);color:#fff;text-decoration:none}
.badge{font-style:normal;background:rgba(220,38,38,.15);color:var(--accent2);border:1px solid rgba(220,38,38,.4);border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600}

/* Hero */
.hero{text-align:center;padding:52px 0 36px}
.hero h1{font-size:32px;line-height:1.3;margin-bottom:12px}
.accent{color:var(--accent2)}
.hero-sub{color:var(--text2);max-width:640px;margin:0 auto 22px}
.hero-cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}

/* Sections */
.section{margin:40px 0}
.sec-title{font-size:20px;margin-bottom:18px}
.page-title{font-size:26px;margin:10px 0 8px}
.page-desc{color:var(--text2);margin-bottom:20px}
.count{color:var(--accent2);font-size:15px}
.crumbs{font-size:13px;color:var(--text2);margin-bottom:6px}
.crumbs a{color:var(--text2)}
.center{text-align:center;padding:60px 0}
.center .btn{margin-top:14px}

/* Rank table */
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}
.top-table{width:100%;border-collapse:collapse;font-size:14px}
.top-table th{text-align:left;padding:10px 14px;background:var(--bg2);color:var(--text2);font-weight:600;font-size:12px;text-transform:uppercase}
.top-table td{padding:11px 14px;border-top:1px solid var(--border);vertical-align:middle}
.top-table tr:hover td{background:rgba(255,255,255,.02)}
.rank{font-weight:800;color:var(--accent2);width:36px;font-size:15px}
.site-cell{display:flex;align-items:center;gap:12px;min-width:180px}
.site-names{display:flex;flex-direction:column;line-height:1.3}
.site-name{color:#fff;font-weight:600;font-size:15px}
.site-domain{color:var(--text2);font-size:12px}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#7f1d1d);color:#fff;font-weight:800;font-size:16px;flex-shrink:0}
.avatar.lg{width:52px;height:52px;font-size:22px}
.avatar.xl{width:68px;height:68px;font-size:28px}
.cat-link{color:var(--text2);font-size:13px}
.stars{color:var(--gold);letter-spacing:1px;font-size:13px}
.rating-num{color:var(--text2);font-size:12px;margin-left:6px}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.card{display:flex;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.card:hover{border-color:#36405500;border-color:#3b4456}
.card-body{min-width:0}
.card-title{color:#fff;font-weight:600;font-size:15px}
.card-meta{margin:4px 0 8px;font-size:12px}
.card-review{color:var(--text2);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
.card-actions{display:flex;gap:8px}

/* Review page */
.review-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.review-meta{color:var(--text2);font-size:14px;margin:4px 0}
.review-domain{color:var(--accent2);font-size:13px}
.visit-btn{margin-left:auto}
.info-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}
.info-table th,.info-table td{text-align:left;padding:10px 14px;border:1px solid var(--border)}
.info-table th{width:140px;background:var(--bg2);color:var(--text2);font-weight:600}

/* Article */
.article{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.article h2{font-size:20px;margin:26px 0 12px}
.article h2:first-child{margin-top:0}
.article p{color:#c3cad6;margin-bottom:14px}
.article a{font-weight:500}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--bg2);margin-top:60px;padding:40px 0 24px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:32px}
.foot-logo{font-size:20px}
.foot-tag{color:var(--text2);font-size:13px;margin:8px 0}
.foot-legal{color:#5b6474;font-size:12px;line-height:1.6}
.site-footer h4{color:#fff;font-size:14px;margin-bottom:12px}
.foot-links{list-style:none;font-size:13px}
.foot-links.cols2{columns:2;column-gap:24px}
.foot-links li{margin-bottom:7px;break-inside:avoid}
.foot-links a{color:var(--text2)}
.foot-links a:hover{color:#fff}
.foot-bottom{margin-top:32px;padding-top:18px;border-top:1px solid var(--border);color:#5b6474;font-size:12px;text-align:center}
.foot-bottom a{color:#5b6474}

@media(max-width:760px){
  .hide-m{display:none}
  .hero h1{font-size:24px}
  .foot-grid{grid-template-columns:1fr}
  .visit-btn{margin-left:0;width:100%;text-align:center}
  .article{padding:20px}
}
