@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Sans+Condensed:ital,wght@0,400;0,500;0,600;1,400&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&display=swap');

:root{
  --bg:#090909;
  --panel:#10100f;
  --panel2:#15130f;
  --ink:#eee1c8;
  --muted:#9f927e;
  --red:#d93728;
  --gold:#d99d2b;
  --teal:#57aa9d;
  --line:#4a3925;
  --line2:#28221b;
  --green:#74a45d;
  --blue:#4e94bd;
  --dim:.16;
  --max:1320px;
  --font-display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  --font-editorial:'Newsreader',Georgia,'Times New Roman',serif;
  --font-ui:'IBM Plex Sans Condensed','Arial Narrow',Arial,sans-serif;
  --font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
}

*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font-family:var(--font-ui)}
body{margin:0;background:radial-gradient(circle at 50% -20%,#1a1713 0,#090909 38%);min-height:100vh}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gold)}
img{max-width:100%;display:block}
button,select{font:inherit;color:inherit;background:#111;border:1px solid var(--line);padding:.55rem .7rem}
button{cursor:pointer}
.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}

.masthead-art{width:min(100%,1448px);aspect-ratio:1448/280;height:auto;margin:0 auto;background:#050505 url('../img/south-town-header.jpg') center center/contain no-repeat;border-bottom:1px solid var(--line)}
.site-nav{background:#0c0c0c;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.site-nav .wrap{display:flex;justify-content:center;gap:1.2rem}
.nav-link{display:flex;align-items:center;gap:.55rem;padding:1rem 1.35rem;color:#d8c8aa;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-display);font-size:1.15rem;border-bottom:2px solid transparent}
.nav-link.active{color:var(--red);border-bottom-color:var(--red)}
.icon{width:1.2em;height:1.2em;display:inline-block}

.page{padding:28px 0 48px}
.grid-home{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px}
.section-title{font-family:var(--font-display);color:var(--red);font-size:2rem;letter-spacing:.045em;text-transform:uppercase;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid #5a1f19}
.post-list{border-top:1px solid var(--line2)}
.post-card{display:grid;grid-template-columns:220px minmax(0,1fr) 120px;border:1px solid var(--line2);border-top:0;background:linear-gradient(90deg,#111,#0c0c0c);min-height:118px}
.post-card img{width:100%;height:100%;object-fit:cover}
.post-copy{padding:17px 22px 16px}
.post-copy h2{font-family:var(--font-editorial);font-weight:600;font-size:1.55rem;line-height:1.05;margin:0 0 7px;color:#f1e4ca;letter-spacing:-.012em}
.post-copy p{font-family:var(--font-editorial);font-size:1.02rem;color:#cfc0a8;margin:0;line-height:1.48}
.post-meta{border-left:1px solid var(--line2);padding:16px 12px;font-family:var(--font-ui);font-weight:600;color:var(--gold);letter-spacing:.04em;text-transform:uppercase;font-size:.88rem;display:flex;flex-direction:column;justify-content:center;gap:7px}
.post-meta .type{color:var(--teal)}

.tool-card{border:1px solid #8d6a22;padding:15px;background:#0c0c0c}
.tool-card h3{font-family:var(--font-display);font-size:2.2rem;margin:.4rem 0;color:#e6d8bc}
.tool-card p,.tool-card li{font-family:var(--font-ui);font-size:1rem}
.tool-visual{height:160px;border:1px solid var(--line);display:grid;place-items:center;background:linear-gradient(135deg,#0d1717,#100c08);position:relative;overflow:hidden}
.tool-visual:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:24px 24px}
.tool-visual strong{position:relative;font-family:var(--font-display);font-size:3.2rem;color:var(--teal);text-align:center;line-height:.9}
.tool-card ul{padding-left:1.2rem;color:#c9baa1;line-height:1.7}
.cta{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--gold);color:var(--gold);padding:12px;text-transform:uppercase;font-family:var(--font-display);letter-spacing:.08em}

.footer{border-top:1px solid var(--line);padding:20px 0;color:#8f816d;font-family:var(--font-ui);font-size:.9rem}
.footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}

.archive-list{max-width:980px}
.archive-row{display:grid;grid-template-columns:92px 1fr 170px 28px;gap:16px;padding:13px 0;border-bottom:1px solid var(--line2);align-items:center}
.archive-row time{font-family:var(--font-ui);font-weight:600;color:var(--red);letter-spacing:.04em;text-transform:uppercase}
.archive-row>span:nth-child(2){font-family:var(--font-editorial);font-size:1.1rem}
.archive-row .kind{font-family:var(--font-ui);color:var(--gold);text-align:right}

.article-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:42px;justify-content:center}
.article-head .eyebrow{font-family:var(--font-ui);font-weight:600;color:var(--red);text-transform:uppercase;letter-spacing:.055em;font-size:.92rem}
.article-head h1{font-family:var(--font-display);font-size:4.2rem;line-height:.95;margin:.5rem 0 1rem;border-bottom:2px solid var(--red);padding-bottom:16px}
.article-head .dek{font-family:var(--font-editorial);font-style:italic;font-weight:400;font-size:1.35rem;line-height:1.35;color:#d5c5aa;margin:.2rem 0 1.5rem}
.article-body{font-family:var(--font-editorial);font-size:1.2rem;line-height:1.66;color:#e7dac0}
.article-body p{margin:0 0 1.3em}
.article-body h2{font-family:var(--font-display);color:var(--red);font-size:2.15rem;line-height:1;margin:1.45em 0 .55em;letter-spacing:.04em}
.article-body h3{font-family:var(--font-editorial);font-weight:600;font-size:1.35rem;color:#f1e4ca;margin:1.4em 0 .5em}
.article-body a{text-decoration:underline;text-decoration-color:#745d3b;text-underline-offset:.15em}
.article-body figure{margin:26px 0 30px}
.article-body figcaption{font-family:var(--font-ui);color:var(--muted);font-size:.9rem;line-height:1.4;margin-top:8px}
.article-body blockquote{margin:1.7em 0;padding:.1em 0 .1em 1.15em;border-left:2px solid var(--red);font-style:italic;font-weight:500;color:#f0ddbc;font-size:1.08em}
.article-body ul,.article-body ol{padding-left:1.25em;margin:0 0 1.3em}
.article-body li{margin:.3em 0}

.sidebox{border-left:1px solid var(--line2);padding-left:18px;font-family:var(--font-ui)}
.sidebox h3{font-family:var(--font-display);color:var(--red);text-transform:uppercase}
.tag{display:block;color:#c7b48e;margin:.55rem 0}

.lab-shell{max-width:1380px}
.lab-toolbar{display:grid;grid-template-columns:1fr auto 1fr auto;gap:12px;align-items:end;margin-bottom:20px;font-family:var(--font-ui)}
.field label{display:block;color:var(--gold);font-family:var(--font-ui);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.field select{width:100%}
.vs{font-family:var(--font-display);font-size:1.6rem;color:var(--red);padding-bottom:.4rem}
.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fighter-panel{border:1px solid var(--line);background:#0b0b0b}
.fighter-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.fighter-name{font-family:var(--font-display);font-size:1.65rem}
.route{font-family:var(--font-mono);color:var(--muted);font-size:.82rem}
.move-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.82rem;font-variant-numeric:tabular-nums}
.move-table th,.move-table td{padding:9px 8px;border-bottom:1px solid var(--line2);text-align:right}
.move-table th:first-child,.move-table td:first-child{text-align:left}
.move-table th{font-family:var(--font-ui);color:#cbb991;font-weight:600;text-transform:uppercase;font-size:.78rem;letter-spacing:.04em}
.move-row{transition:opacity .15s,background .15s}
.move-row:hover{background:#19130e}
.move-row button{border:0;background:transparent;padding:0;color:var(--ink);font-family:var(--font-mono);font-weight:600}
.move-row.is-selected{background:#45150f}
.move-row.is-dim{opacity:var(--dim)}
.move-row.is-natural:not(.is-selected){background:#11200f}
.move-row.is-brake:not(.is-selected){background:#0f1d24}
.move-row.is-punish{box-shadow:inset 4px 0 var(--red)}
.move-row.is-counter{box-shadow:inset 4px 0 var(--gold)}
.move-row.is-punish.is-counter{box-shadow:inset 4px 0 var(--red),inset 8px 0 var(--gold)}
.frame-pos{color:#78ad69}.frame-neg{color:#db6759}.frame-zero{color:#aaa}
.lab-note{margin-top:18px;padding:16px;border:1px solid var(--line2);font-family:var(--font-ui);color:#c4b59a;line-height:1.5}
.legend{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 0;color:#b6a78e;font-family:var(--font-ui);font-size:.9rem}
.key:before{content:'';display:inline-block;width:10px;height:10px;margin-right:6px}.key.natural:before{background:var(--green)}.key.brake:before{background:var(--blue)}.key.punish:before{background:var(--red)}.key.counter:before{background:var(--gold)}
.status-line{min-height:1.3em;color:var(--gold);font-family:var(--font-mono);font-size:.85rem;margin:10px 0}
.reset-small{padding:.35rem .55rem}
.noscript{padding:1rem;border:1px solid var(--red);color:#f0c9c4}
.screenreader{position:absolute;left:-9999px}

@media(max-width:900px){
  .masthead-art{height:auto}
  .grid-home,.article-layout,.lab-grid{grid-template-columns:1fr}
  .site-nav .wrap{overflow:auto;justify-content:flex-start}
  .nav-link{padding:.85rem .9rem;white-space:nowrap}
  .post-card{grid-template-columns:120px 1fr}
  .post-meta{grid-column:2;border-left:0;border-top:1px solid var(--line2);flex-direction:row;justify-content:flex-start}
  .article-layout{max-width:760px}
  .article-head h1{font-size:3rem}
  .article-body{font-size:1.16rem}
  .sidebox{border-left:0;border-top:1px solid var(--line2);padding-left:0;padding-top:16px}
  .lab-toolbar{grid-template-columns:1fr 1fr}
  .vs{display:none}
  .archive-row{grid-template-columns:72px 1fr 28px}
  .archive-row .kind{display:none}
}
@media(max-width:560px){
  .wrap{width:min(100% - 18px,var(--max))}
  .masthead-art{height:auto}
  .post-card{grid-template-columns:1fr}
  .post-card img{height:150px}
  .post-meta{grid-column:1}
  .archive-row{grid-template-columns:62px 1fr 22px}
  .article-head h1{font-size:2.5rem}
  .article-head .dek{font-size:1.22rem}
  .article-body{font-size:1.12rem;line-height:1.62}
  .move-table{font-size:.76rem}
  .move-table th,.move-table td{padding:7px 4px}
  .lab-toolbar{grid-template-columns:1fr}
}
