/*
Theme Name: ATS Lab
Theme URI: https://averagetypingspeed.com
Author: Umar Attique
Author URI: https://umarattique.com
Description: Data-lab editorial theme for AverageTypingSpeed.com — paper background, mono numerals, percentile bars, verdict boxes. Built to pair with the ATS Typing Test plugin.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: ats-lab
*/

:root{
  --ink:#16232E; --muted:#5C6B78; --bg:#F7F5F0; --card:#FFFFFF; --line:#E6E1D6;
  --accent:#2563EB; --accent-soft:#DBEAFE; --good:#16A34A; --good-soft:#DCFCE7;
  --warn:#D97706; --warn-soft:#FEF3C7; --bad:#DC2626; --bad-soft:#FEE2E2;
  --mono:'IBM Plex Mono','Consolas',monospace;
  --sans:'Public Sans',system-ui,-apple-system,sans-serif;
  --disp:'Space Grotesk',var(--sans);
  --w-content:760px; --w-wide:1040px;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.7;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;border-radius:12px}
a{color:var(--accent)}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--disp);color:var(--ink);line-height:1.2;letter-spacing:-.02em}
h1{font-size:clamp(28px,5vw,40px);margin:.4em 0 .5em}
h2{font-size:clamp(22px,3.4vw,28px);margin:1.6em 0 .6em}
h3{font-size:19px;margin:1.4em 0 .5em}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* header */
.site-header{background:var(--card);border-bottom:1px solid var(--line)}
.site-header .inner{max-width:var(--w-wide);margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{font-family:var(--disp);font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;letter-spacing:-.01em}
.brand b{color:var(--accent);font-weight:700}
.main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap}
.main-nav a{display:block;padding:8px 13px;border-radius:999px;font-weight:600;font-size:14.5px;text-decoration:none;color:var(--ink)}
.main-nav a:hover,.main-nav .current-menu-item a{background:var(--accent-soft)}

/* layout */
.site-main{max-width:var(--w-content);margin:0 auto;padding:34px 20px 70px}
.layout-wide .site-main,.home .site-main{max-width:var(--w-wide)}
.entry-content>*{max-width:var(--w-content)}
.home .entry-content>*{max-width:none}
.entry-content a{text-decoration-thickness:1.5px;text-underline-offset:3px}

.crumbs{font-size:13px;color:var(--muted);margin-bottom:6px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.post-meta{font-family:var(--mono);font-size:12.5px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;margin:2px 0 22px}
.post-meta .verified{color:var(--good);font-weight:600}

/* data tables — the workhorse of this site */
.entry-content table{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--card);font-variant-numeric:tabular-nums}
.entry-content th{background:var(--ink);color:#fff;text-align:left;padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-family:var(--mono)}
.entry-content td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.entry-content tr:nth-child(even) td{background:#FCFAF5}
.entry-content tr.you td{background:var(--accent-soft);font-weight:700}
.table-scroll{overflow-x:auto;margin:1.4em 0}
.entry-content td b,.entry-content td strong{font-family:var(--mono)}

/* stat row: [ats_stats] output */
.ats-stats{display:flex;gap:14px;flex-wrap:wrap;margin:1.6em 0}
.ats-stat{flex:1 1 150px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.ats-stat b{display:block;font-family:var(--mono);font-size:30px;letter-spacing:-.02em;color:var(--accent);line-height:1.15}
.ats-stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

/* answer + verdict callouts */
.ats-answer{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:12px;padding:18px 22px;margin:1.4em 0;font-size:17.5px}
.ats-verdict{border-radius:12px;padding:16px 20px;margin:1.4em 0;font-size:16.5px;border-left:6px solid}
.ats-verdict.good{background:var(--good-soft);border-color:var(--good)}
.ats-verdict.close{background:var(--warn-soft);border-color:var(--warn)}
.ats-verdict.no{background:var(--bad-soft);border-color:var(--bad)}
.ats-verdict b:first-child{font-family:var(--disp)}

/* static percentile bar for content: [ats_bar pct="72"] */
.ats-bar{margin:1.4em 0}
.ats-bar .track{height:14px;background:#E8E4DA;border-radius:999px;position:relative}
.ats-bar .fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#93C5FD,var(--accent))}
.ats-bar .avg{position:absolute;top:-7px;width:2.5px;height:28px;background:var(--ink)}
.ats-bar .avg i{position:absolute;top:-19px;left:-11px;font-size:10.5px;font-family:var(--mono);font-style:normal;color:var(--muted)}
.ats-bar .cap{font-size:13px;color:var(--muted);margin-top:8px;font-family:var(--mono)}

/* wpm tier chips */
.wpm-badge{font-family:var(--mono);font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}
.wpm-badge.slow{background:var(--bad-soft);color:var(--bad)}
.wpm-badge.avg{background:var(--warn-soft);color:var(--warn)}
.wpm-badge.fast{background:var(--good-soft);color:var(--good)}
.wpm-badge.pro{background:var(--accent-soft);color:var(--accent)}

/* sources + author */
.ats-sources{background:#EFF3F0;border-radius:14px;padding:22px 24px;margin:2em 0}
.ats-sources h2,.ats-sources h3{margin-top:0}
.author-box{display:flex;gap:18px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:2.4em 0 0}
.author-box img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.author-box .who{font-family:var(--disp);font-weight:700;color:var(--ink);font-size:18px}
.author-box p{margin:.35em 0 0;font-size:14.5px;color:var(--muted)}
.author-box a{font-weight:600}

/* footer */
.site-footer{background:var(--ink);color:#C6D2DB;margin-top:60px}
.site-footer .inner{max-width:var(--w-wide);margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px;font-size:14.5px}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer h4{color:#fff;margin:0 0 10px;font-size:15px;font-family:var(--disp)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:7px}
.site-footer .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:13px;color:#8FA3B0}

/* archive */
.post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding:0;list-style:none}
.post-list article{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.post-list h2{font-size:19px;margin:0 0 8px}
.post-list h2 a{text-decoration:none;color:var(--ink)}

@media(max-width:640px){body{font-size:16px}.site-main{padding-top:24px}.ats-stat b{font-size:24px}}
