*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#0F0F0F;
  --surface:#161616;
  --surface2:#1E1E1E;
  --border:#282828;
  --white:#EFEFEF;
  --muted:#8C8C8C;
  --muted2:#A8A8A8;
  --orange:#FF5C00;
  --lime:#C8FF00;
  --cyan:#00E5FF;
  --red:#FF2D2D;
  --purple:#B57BFF;
}
html{background:var(--bg);}
body{font-family:'Space Grotesk',sans-serif;background:var(--bg);color:var(--white);margin:0;padding:0;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;}
main.site-main{flex:1 0 auto;display:flex;flex-direction:column;}
a{color:inherit;}
img{max-width:100%;display:block;}

/* ── NAV ── */
nav.site-nav{position:sticky;top:0;z-index:100;height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--bg);border-bottom:1px solid var(--border);}
.logo{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:0.08em;color:var(--white);line-height:1;text-decoration:none;}
.logo em{color:var(--orange);font-style:normal;}
.nav-links{display:flex;gap:22px;list-style:none;align-items:center;}
.nav-links a{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;color:var(--muted2);text-decoration:none;}
.nav-links a:hover,.nav-links a.is-active{color:var(--white);}
.nav-cta{background:var(--orange) !important;color:#000 !important;padding:7px 14px;font-size:10px !important;font-weight:700 !important;text-transform:uppercase;letter-spacing:0.09em !important;}
.nav-cta:hover{color:#000 !important;}

/* ── TICKER ── */
.ticker{overflow:hidden;white-space:nowrap;background:var(--orange);padding:8px 0;border-bottom:1px solid var(--border);}
.ticker-track{display:inline-flex;gap:48px;animation:tick 36s linear infinite;}
.ticker-item{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:0.1em;color:#000;display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;}
.ticker-item::before{content:'▶';font-size:7px;opacity:0.5;}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── HERO ── */
.hero{display:grid;grid-template-columns:1fr 240px;border-bottom:1px solid var(--border);}
.hero-left{padding:36px 28px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;gap:20px;}
.hero-eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--lime);margin-bottom:14px;}
.hero-eyebrow::before{content:'';width:20px;height:2px;background:var(--lime);flex-shrink:0;}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:78px;line-height:0.88;letter-spacing:0.02em;color:var(--white);margin-bottom:16px;}
.hero-title .o{color:var(--orange);}
.hero-title .l{color:var(--lime);}
.hero-sub{font-size:13px;color:var(--muted2);line-height:1.6;font-weight:400;margin-bottom:22px;}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;}
.btn-main{background:var(--orange);color:#000;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;padding:11px 22px;cursor:pointer;border:none;display:inline-block;text-decoration:none;}
.btn-ghost{background:transparent;color:var(--white);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;padding:11px 22px;border:1px solid var(--border);cursor:pointer;display:inline-block;text-decoration:none;}
.btn-ghost:hover{border-color:var(--white);}

.hero-right{display:flex;flex-direction:column;}
.featured-card{flex:1;padding:24px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;}
.featured-card:hover .fc-title{color:var(--orange);}
.fc-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.14em;color:var(--orange);}
.fc-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:0.03em;color:var(--white);line-height:1.1;transition:color 0.15s;}
.fc-excerpt{font-size:11px;color:var(--muted2);line-height:1.6;flex:1;}
.fc-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:4px;}
.fc-score{font-family:'Bebas Neue',sans-serif;font-size:42px;color:var(--lime);letter-spacing:0.04em;line-height:1;}
.fc-score small{font-family:'Space Grotesk',sans-serif;font-size:11px;color:var(--muted);font-weight:500;}
.fc-meta{font-size:9px;color:var(--muted);margin-top:4px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;}
.fc-verdict{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:#000;background:var(--lime);padding:5px 11px;align-self:flex-end;}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;}
.hero-stat{padding:16px 20px;border-top:1px solid var(--border);}
.hero-stat:first-child{border-right:1px solid var(--border);}
.stat-val{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--white);letter-spacing:0.05em;line-height:1;}
.stat-label{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.09em;margin-top:3px;}

/* ── GENRE FILTER ── */
.genre-row{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--border);}
.genre-btn{padding:11px 4px;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);border-right:1px solid var(--border);cursor:pointer;background:var(--bg);display:flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;}
.genre-btn:last-child{border-right:none;}
.genre-btn.active,.genre-btn:hover{color:var(--white);background:var(--surface);}
.gdot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block;}

/* ── FEATURED STRIP ── */
.featured-strip{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--border);background:var(--surface);text-decoration:none;color:inherit;}
.featured-strip:hover .fs-title{color:var(--orange);}
.fs-thumb{display:flex;align-items:center;justify-content:center;font-size:44px;border-right:1px solid var(--border);background:#0A1A00;}
.fs-body{padding:22px 24px;display:flex;flex-direction:column;gap:8px;}
.fs-top{display:flex;align-items:center;gap:10px;}
.fs-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--lime);}
.fs-date{font-size:9px;color:var(--muted);font-weight:500;}
.fs-title{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:0.04em;color:var(--white);line-height:1.05;transition:color 0.15s;}
.fs-excerpt{font-size:12px;color:var(--muted2);line-height:1.6;}
.fs-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:2px;}
.fs-score{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--lime);letter-spacing:0.05em;line-height:1;}
.fs-score small{font-family:'Space Grotesk',sans-serif;font-size:11px;color:var(--muted);font-weight:500;}

/* ── REVIEW GRID ── */
.reviews-wrap{padding:32px 28px;}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.section-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:0.1em;color:var(--white);}
.section-link{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;color:var(--orange);text-decoration:none;border-bottom:1px solid var(--orange);padding-bottom:1px;}
.rcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.rcard{background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;}
.rcard:hover .rcard-name{color:var(--orange);}
.rcard-thumb{height:96px;display:flex;align-items:center;justify-content:center;font-size:38px;position:relative;flex-shrink:0;border-bottom:1px solid var(--border);}
.rcard-score{position:absolute;top:10px;right:10px;font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:0.04em;line-height:1;}
.rcard-body{padding:14px;display:flex;flex-direction:column;gap:5px;flex:1;}
.rcard-genre{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);}
.rcard-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:0.04em;color:var(--white);line-height:1;transition:color 0.15s;}
.rcard-desc{font-size:11px;color:var(--muted2);line-height:1.55;flex:1;}
.rcard-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:4px;border-top:1px solid var(--border);}
.verdict{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;padding:3px 9px;}
.v-must{background:var(--lime);color:#000;}
.v-worth{background:var(--surface2);color:var(--white);border:1px solid var(--border);}
.v-gem{background:var(--cyan);color:#000;}
.v-skip{background:var(--red);color:#fff;}
.v-essential{background:var(--lime);color:#000;}
.v-pending{background:var(--surface2);color:var(--muted2);border:1px dashed var(--border);}
.free-tag{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;}

/* Thumb colour schemes */
.t-io{background:#0A0F18;color:var(--cyan);}
.t-idle{background:#0A1500;color:var(--lime);}
.t-runner{background:#180A00;color:var(--orange);}
.t-social{background:#0F0018;color:var(--purple);}
.t-shooter{background:#180800;color:var(--red);}
.t-clicker{background:#180C00;color:var(--orange);}
.t-geo{background:#001414;color:var(--cyan);}
.t-puzzle{background:#0D0A18;color:var(--purple);}
.t-word{background:#0A0A14;color:var(--lime);}

/* ── AD SLOT ── */
.ad-slot{margin:0 28px 32px;height:90px;border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted2);}
.ad-slot.rect{height:250px;margin:0 0 24px;}
.ad-slot.in-article{height:120px;margin:24px 0;}

/* ── CATEGORIES ── */
.cats-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);background:var(--border);gap:1px;}
.cat-cell{background:var(--bg);padding:16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-align:center;text-decoration:none;color:inherit;}
.cat-cell:hover{background:var(--surface);}
.cat-emoji{font-size:22px;line-height:1;}
.cat-name{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:0.05em;color:var(--white);line-height:1;}
.cat-count{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.07em;}

/* ── DIRECTORY CTA ── */
.dir-strip{background:var(--lime);padding:28px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.dir-title{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:0.03em;color:#000;line-height:0.95;margin-bottom:5px;}
.dir-sub{font-size:12px;color:rgba(0,0,0,0.82);line-height:1.5;font-weight:500;}
.dir-cta{background:#000;color:var(--lime);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;padding:12px 22px;white-space:nowrap;flex-shrink:0;cursor:pointer;text-decoration:none;display:inline-block;}

/* ── FOOTER ── */
footer.site-footer{background:var(--surface);padding:22px 28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);gap:16px;flex-wrap:wrap;}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:0.08em;color:var(--muted2);text-decoration:none;}
.footer-logo em{color:var(--orange);font-style:normal;}
.footer-links{display:flex;gap:20px;list-style:none;flex-wrap:wrap;}
.footer-links a{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);text-decoration:none;}
.footer-links a:hover{color:var(--white);}
.footer-copy{font-size:10px;color:var(--muted);font-weight:500;}

/* ── REVIEW PAGE ── */
.crumb{padding:14px 28px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);border-bottom:1px solid var(--border);}
.crumb a{color:var(--muted);text-decoration:none;}
.crumb a:hover{color:var(--white);}
.crumb span{color:var(--muted2);margin:0 8px;}

.r-header{padding:36px 28px 28px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;}
.r-h-left{display:flex;flex-direction:column;gap:14px;}
.r-pills{display:flex;gap:8px;flex-wrap:wrap;}
.r-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted2);background:var(--surface);border:1px solid var(--border);padding:5px 10px;}
.r-h1{font-family:'Bebas Neue',sans-serif;font-size:64px;line-height:0.92;letter-spacing:0.02em;color:var(--white);}
.r-h-right{display:flex;align-items:center;gap:14px;}
.r-score-big{font-family:'Bebas Neue',sans-serif;font-size:88px;line-height:0.85;color:var(--lime);letter-spacing:0.03em;}
.r-score-big small{font-family:'Space Grotesk',sans-serif;font-size:14px;color:var(--muted);font-weight:500;}

.r-layout{display:grid;grid-template-columns:1fr 280px;gap:32px;padding:32px 28px;}
.r-main{display:flex;flex-direction:column;gap:24px;min-width:0;}
.r-main h2{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:0.05em;color:var(--white);margin-top:14px;}
.r-main h3{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:0.06em;color:var(--white);margin-top:8px;}
.r-main p{font-size:14px;line-height:1.7;color:var(--white);}
.r-main ul,.r-main ol{padding-left:22px;}
.r-main ul li,.r-main ol li{font-size:14px;line-height:1.7;color:var(--white);margin-bottom:6px;}

.proscons{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.proscons .col{background:var(--surface);border:1px solid var(--border);padding:18px;}
.proscons h3{margin:0 0 12px;}
.proscons .pros h3{color:var(--lime);}
.proscons .cons h3{color:var(--red);}
.proscons ul{list-style:none;padding:0;}
.proscons li{position:relative;padding-left:22px;font-size:13px;line-height:1.6;margin-bottom:8px;}
.proscons .pros li::before{content:'✓';position:absolute;left:0;color:var(--lime);font-weight:700;}
.proscons .cons li::before{content:'✕';position:absolute;left:0;color:var(--red);font-weight:700;}

.verdict-block{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--lime);padding:22px;display:flex;flex-direction:column;gap:10px;}
.verdict-block .vb-top{display:flex;align-items:center;gap:14px;}
.verdict-block .vb-score{font-family:'Bebas Neue',sans-serif;font-size:44px;color:var(--lime);letter-spacing:0.03em;line-height:1;}
.verdict-block .vb-score small{font-family:'Space Grotesk',sans-serif;font-size:11px;color:var(--muted);font-weight:500;}

details.faq{background:var(--surface);border:1px solid var(--border);padding:14px 18px;}
details.faq + details.faq{border-top:none;}
details.faq summary{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:0.04em;color:var(--white);cursor:pointer;list-style:none;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary::after{content:'+';float:right;color:var(--orange);font-weight:700;}
details.faq[open] summary::after{content:'−';}
details.faq p{margin-top:10px;font-size:13px;color:var(--muted2);line-height:1.6;}

.r-aside{display:flex;flex-direction:column;gap:18px;}
.r-aside .stick{position:sticky;top:66px;display:flex;flex-direction:column;gap:18px;}
.info-card{background:var(--surface);border:1px solid var(--border);padding:18px;}
.info-card h4{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:0.08em;color:var(--muted2);margin-bottom:12px;}
.info-card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:12px;}
.info-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;font-size:10px;font-weight:700;}
.info-card dd{color:var(--white);}
.play-cta{background:var(--orange);color:#000;font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:0.05em;text-align:center;padding:14px;text-decoration:none;display:block;}

/* ── LISTING / DIRECTORY / STATIC PAGES ── */
.page-wrap{max-width:1080px;margin:0 auto;padding:36px 28px;}
.page-wrap.narrow{max-width:720px;}
.page-h1{font-family:'Bebas Neue',sans-serif;font-size:52px;letter-spacing:0.03em;color:var(--white);line-height:0.95;margin-bottom:10px;}
.page-intro{font-size:14px;color:var(--muted2);line-height:1.7;margin-bottom:28px;}
.page-wrap h2{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:0.05em;color:var(--white);margin:28px 0 12px;}
.page-wrap p{font-size:14px;line-height:1.7;color:var(--white);margin-bottom:14px;}
.page-wrap a:not([class]){color:var(--orange);}
.page-wrap ul{padding-left:22px;margin-bottom:14px;}
.page-wrap ul li{font-size:14px;line-height:1.7;}

/* Directory listings */
.dlistings{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0 28px;}
.dlisting{background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden;}
.dlisting:hover .dl-name{color:var(--orange);}
.dlisting.spotlight{border-color:var(--lime);}
.dl-thumb{height:96px;display:flex;align-items:center;justify-content:center;font-size:44px;border-bottom:1px solid var(--border);position:relative;}
.dl-badge{position:absolute;top:8px;left:8px;font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:0.1em;padding:3px 8px;color:#000;background:var(--lime);}
.dl-body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.dl-genre{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);}
.dl-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:0.04em;color:var(--white);line-height:1;transition:color 0.15s;}
.dl-desc{font-size:11px;color:var(--muted2);line-height:1.55;flex:1;}
.dl-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:4px;border-top:1px solid var(--border);}
.dl-visit{font-size:9px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:0.09em;}
.dl-url{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.08em;}
@media(max-width:768px){.dlistings{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.dlistings{grid-template-columns:1fr;}}

/* Directory tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0;}
.tier{background:var(--surface);border:1px solid var(--border);padding:24px;display:flex;flex-direction:column;gap:12px;}
.tier.featured{border-color:var(--orange);}
.tier h3{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:0.05em;color:var(--white);}
.tier .price{font-family:'Bebas Neue',sans-serif;font-size:38px;color:var(--lime);letter-spacing:0.03em;line-height:1;}
.tier .price small{font-family:'Space Grotesk',sans-serif;font-size:12px;color:var(--muted);font-weight:500;}
.tier ul{list-style:none;padding:0;flex:1;}
.tier li{font-size:13px;line-height:1.6;color:var(--muted2);padding-left:20px;position:relative;margin-bottom:6px;}
.tier li::before{content:'›';position:absolute;left:6px;color:var(--orange);font-weight:700;}

/* Contact form */
.cform{display:flex;flex-direction:column;gap:14px;max-width:540px;}
.cform label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);display:block;margin-bottom:6px;}
.cform input,.cform select,.cform textarea{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--white);padding:11px 14px;font-family:inherit;font-size:13px;}
.cform textarea{min-height:140px;resize:vertical;}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--orange);}
.cform button{align-self:flex-start;}

/* 404 */
.fourohfour{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 28px;gap:18px;}
.fourohfour h1{font-family:'Bebas Neue',sans-serif;font-size:96px;letter-spacing:0.04em;line-height:0.9;color:var(--white);}
.fourohfour h1 em{color:var(--orange);font-style:normal;}
.fourohfour p{font-size:14px;color:var(--muted2);max-width:480px;line-height:1.6;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .r-layout{grid-template-columns:1fr;}
  .r-aside .stick{position:static;}
  .r-header{grid-template-columns:1fr;gap:18px;align-items:start;}
  .r-h1{font-size:48px;}
  .r-score-big{font-size:64px;}
  .tiers{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .hero{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-title{font-size:54px;}
  .rcard-grid{grid-template-columns:repeat(2,1fr);}
  .cats-wrap{grid-template-columns:repeat(2,1fr);}
  .genre-row{grid-template-columns:repeat(3,1fr);}
  .genre-btn{font-size:9px;padding:10px 4px;}
  .dir-strip{flex-direction:column;align-items:flex-start;}
  .nav-links .nav-cta{display:none;}
  footer.site-footer{flex-direction:column;gap:16px;text-align:center;}
  .footer-links{justify-content:center;}
  .proscons{grid-template-columns:1fr;}
  .page-h1{font-size:40px;}
}
@media(max-width:480px){
  .rcard-grid{grid-template-columns:1fr;}
  .hero-title{font-size:44px;}
  nav.site-nav{padding:0 16px;}
  .reviews-wrap,.r-header,.r-layout,.crumb{padding-left:16px;padding-right:16px;}
  .ad-slot{margin:0 16px 24px;}
  .nav-links{gap:14px;}
  .nav-links li:nth-child(2),.nav-links li:nth-child(3){display:none;}
}
