/* ===========================================================================
   YSN-AC  -  anticheat surface
   Built on css/ysn-theme.css. Adds nothing to the palette: the anticheat is
   already purple in game, and the site is already purple, so the two read as
   one product rather than a bolt-on.

   The one rule this sheet enforces everywhere: a number is never coloured by
   how big it is, only by what KIND of thing it counts. Categorical evidence is
   red because it can end an account. A statistic is grey however large, because
   none of them has ever separated a cheat from a good player, and a dashboard
   that paints one of them orange has made an accusation the data cannot carry.
   =========================================================================== */

:root{
  --ac-ink:#EEEEF4; --ac-dim:#A9A9B8; --ac-mute:#7D7D8C;
  --ac-line:rgba(255,255,255,.07); --ac-line-2:rgba(255,255,255,.12);
  --ac-bg:#08080A; --ac-panel:#0E0E12; --ac-panel-2:#14141A;
  --ac-purple:#7C5CFF; --ac-purple-lo:rgba(124,92,255,.10);
  --ac-red:#FF5A54; --ac-green:#3DDC84; --ac-amber:#FFC24B;
}

.ac-body{background:var(--ac-bg);color:var(--ac-ink);font-family:Barlow,system-ui,sans-serif;margin:0;-webkit-font-smoothing:antialiased}
.ac-wrap{max-width:1320px;margin:0 auto;padding:0 28px}

/* --- masthead ----------------------------------------------------------- */
.ac-top{border-bottom:1px solid var(--ac-line);position:sticky;top:0;z-index:50;background:rgba(8,8,10,.88);backdrop-filter:blur(14px)}
.ac-top .ac-wrap{display:flex;align-items:center;gap:28px;height:64px}
.ac-mark{font-family:'Barlow Condensed',Barlow,sans-serif;font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ac-ink)}
.ac-mark i{width:9px;height:9px;border-radius:50%;background:var(--ac-purple);box-shadow:0 0 0 4px var(--ac-purple-lo)}
.ac-mark span{color:var(--ac-purple)}
.ac-nav{display:flex;gap:2px;margin-left:auto}
.ac-nav a{color:var(--ac-dim);text-decoration:none;font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;padding:8px 14px;border-radius:6px}
.ac-nav a:hover{color:var(--ac-ink);background:rgba(255,255,255,.04)}
.ac-nav a.on{color:var(--ac-ink);background:var(--ac-purple-lo);box-shadow:inset 0 0 0 1px rgba(124,92,255,.3)}
.ac-who{font-size:12px;color:var(--ac-mute);letter-spacing:.06em;text-transform:uppercase;border-left:1px solid var(--ac-line);padding-left:20px;margin-left:8px}
.ac-who b{color:var(--ac-ink);font-weight:600}

/* --- hero --------------------------------------------------------------- */
.ac-hero{padding:110px 0 84px;border-bottom:1px solid var(--ac-line);position:relative;overflow:hidden}
.ac-hero:before{content:'';position:absolute;inset:-40% 30% auto -10%;height:520px;background:radial-gradient(ellipse at 30% 40%,rgba(124,92,255,.16),transparent 62%);pointer-events:none}
.ac-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--ac-purple);font-weight:700;margin-bottom:22px}
.ac-hero h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,7vw,88px);line-height:.94;font-weight:800;letter-spacing:-.01em;margin:0 0 24px;text-transform:uppercase;max-width:16ch}
.ac-hero p{font-size:19px;line-height:1.62;color:var(--ac-dim);max-width:60ch;margin:0 0 34px}
.ac-cta{display:flex;gap:12px;flex-wrap:wrap}
.ac-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:8px;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:.14s}
.ac-btn-p{background:var(--ac-purple);color:#fff}
.ac-btn-p:hover{background:#6A47F0}
.ac-btn-g{border-color:var(--ac-line-2);color:var(--ac-ink);background:transparent}
.ac-btn-g:hover{background:rgba(255,255,255,.05)}

/* --- generic sections --------------------------------------------------- */
.ac-sec{padding:76px 0;border-bottom:1px solid var(--ac-line)}
.ac-h2{font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:.24em;text-transform:uppercase;color:var(--ac-mute);font-weight:700;margin:0 0 30px;display:flex;align-items:center;gap:16px}
.ac-h2:after{content:'';flex:1;height:1px;background:var(--ac-line)}
.ac-grid{display:grid;gap:1px;background:var(--ac-line);border:1px solid var(--ac-line);border-radius:10px;overflow:hidden}
.ac-g3{grid-template-columns:repeat(3,1fr)}
.ac-g2{grid-template-columns:repeat(2,1fr)}
.ac-cell{background:var(--ac-panel);padding:30px}
.ac-cell h3{font-family:'Barlow Condensed',sans-serif;font-size:21px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 10px;font-weight:700}
.ac-cell p{margin:0;color:var(--ac-dim);line-height:1.62;font-size:15px}
.ac-num{font-family:'Barlow Condensed',sans-serif;font-size:13px;color:var(--ac-purple);letter-spacing:.2em;font-weight:700;margin-bottom:14px}

/* --- steps -------------------------------------------------------------- */
.ac-steps{counter-reset:s;display:grid;gap:1px;background:var(--ac-line);border:1px solid var(--ac-line);border-radius:10px;overflow:hidden}
.ac-step{background:var(--ac-panel);padding:26px 30px;display:grid;grid-template-columns:44px 1fr;gap:20px;align-items:start}
.ac-step:before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:800;color:var(--ac-purple);opacity:.55;line-height:1}
.ac-step h4{margin:0 0 6px;font-size:17px;font-weight:700}
.ac-step p{margin:0;color:var(--ac-dim);line-height:1.6;font-size:15px}
code.ac-code{background:var(--ac-panel-2);border:1px solid var(--ac-line);border-radius:5px;padding:2px 7px;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:#C9BBFF}

/* --- portal ------------------------------------------------------------- */
.ac-app{display:grid;grid-template-columns:1fr;gap:24px;padding:32px 0 80px}
.ac-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;background:var(--ac-line);border:1px solid var(--ac-line);border-radius:10px;overflow:hidden}
.ac-stat{background:var(--ac-panel);padding:20px 22px}
.ac-stat .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ac-mute);font-weight:700;margin-bottom:10px}
.ac-stat .v{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.ac-stat .s{font-size:12px;color:var(--ac-mute);margin-top:7px}
.ac-stat.hot .v{color:var(--ac-red)}
.ac-stat.good .v{color:var(--ac-green)}

.ac-panel{background:var(--ac-panel);border:1px solid var(--ac-line);border-radius:10px;overflow:hidden}
.ac-phead{padding:18px 22px;border-bottom:1px solid var(--ac-line);display:flex;align-items:center;gap:14px}
.ac-phead h3{font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:700}
.ac-phead .sub{font-size:12px;color:var(--ac-mute);margin-left:auto}

table.ac-tbl{width:100%;border-collapse:collapse;font-size:14px}
table.ac-tbl th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ac-mute);font-weight:700;padding:12px 22px;border-bottom:1px solid var(--ac-line);white-space:nowrap}
table.ac-tbl td{padding:13px 22px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--ac-dim);vertical-align:middle}
table.ac-tbl tr:last-child td{border-bottom:0}
table.ac-tbl tr:hover td{background:rgba(255,255,255,.02)}
table.ac-tbl td.name{color:var(--ac-ink);font-weight:600}
table.ac-tbl td.num{font-variant-numeric:tabular-nums;text-align:right}

.tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;padding:3px 9px;border-radius:4px;white-space:nowrap}
.tag.cat{background:rgba(255,90,84,.13);color:var(--ac-red);box-shadow:inset 0 0 0 1px rgba(255,90,84,.28)}
.tag.lead{background:rgba(255,255,255,.05);color:var(--ac-dim);box-shadow:inset 0 0 0 1px var(--ac-line-2)}
.tag.on{background:rgba(61,220,132,.13);color:var(--ac-green);box-shadow:inset 0 0 0 1px rgba(61,220,132,.28)}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.dot.g{background:var(--ac-green);box-shadow:0 0 0 3px rgba(61,220,132,.16)}
.dot.r{background:var(--ac-red);box-shadow:0 0 0 3px rgba(255,90,84,.16)}
.dot.a{background:var(--ac-amber);box-shadow:0 0 0 3px rgba(255,194,75,.16)}

.ac-note{padding:16px 22px;font-size:13px;line-height:1.6;color:var(--ac-mute);border-top:1px solid var(--ac-line);background:rgba(255,255,255,.015)}
.ac-empty{padding:56px 22px;text-align:center;color:var(--ac-mute);font-size:14px}
.ac-cols{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}
.ac-tabs{display:flex;gap:2px;border-bottom:1px solid var(--ac-line);margin-bottom:24px}
.ac-tab{background:none;border:0;color:var(--ac-mute);font:inherit;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:13px 18px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.ac-tab:hover{color:var(--ac-ink)}
.ac-tab.on{color:var(--ac-ink);border-bottom-color:var(--ac-purple)}
.ac-in{background:var(--ac-panel-2);border:1px solid var(--ac-line);color:var(--ac-ink);font:inherit;font-size:14px;padding:10px 14px;border-radius:7px;width:100%;max-width:340px}
.ac-in:focus{outline:0;border-color:rgba(124,92,255,.5)}
.ac-gate{max-width:520px;margin:120px auto;text-align:center}
.ac-gate h1{font-family:'Barlow Condensed',sans-serif;font-size:34px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 14px}
.ac-gate p{color:var(--ac-dim);line-height:1.65;margin:0 0 26px}
.ac-foot{padding:40px 0;color:var(--ac-mute);font-size:13px;display:flex;gap:20px;flex-wrap:wrap}
@media(max-width:900px){.ac-cols,.ac-g3,.ac-g2{grid-template-columns:1fr}.ac-hero{padding:70px 0 56px}}
