/* formationfolio.com — tactics-board theme. Prefix: tkb- */
:root{
  --tkb-wall:#0f1a15;
  --tkb-slate:#1e3d2f;
  --tkb-slate-2:#244a39;
  --tkb-slate-3:#2f5a46;
  --tkb-chalk:#eef1e6;
  --tkb-chalk-2:#c4d1c4;
  --tkb-line:rgba(238,241,230,.42);
  --tkb-dash:rgba(238,241,230,.26);
  --tkb-alu:#a9b2ac;
  --tkb-alu-2:#6f7a73;
  --tkb-yel:#f2c94c;
  --tkb-red:#e8604f;
  --tkb-blu:#6db3ea;
  --tkb-ink:#14251c;
  --tkb-head:"Bahnschrift","DIN Alternate","DIN Condensed","Roboto Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --tkb-text:"Franklin Gothic Book","ITC Franklin Gothic","Segoe UI","Helvetica Neue",Roboto,Arial,sans-serif;
  --tkb-mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --tkb-chalk-rule:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 10'%3E%3Cpath d='M2 6c20-4 38 2 58-1s40-3 62 0 44 2 64-1 34 1 52 0' fill='none' stroke='%23eef1e6' stroke-opacity='.55' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0;background:var(--tkb-wall);color:var(--tkb-chalk);
  font-family:var(--tkb-text);font-size:1.0625rem;line-height:1.62;
  overflow-wrap:break-word;
}
img,svg{max-width:100%;height:auto}
a{color:var(--tkb-yel);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--tkb-yel);outline-offset:2px;border-radius:4px}
p,li,dd,td{hyphens:auto}
.tkb-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tkb-skip{position:absolute;left:12px;top:-60px;background:var(--tkb-yel);color:var(--tkb-ink);padding:8px 14px;border-radius:999px;z-index:10;font-family:var(--tkb-head);text-transform:uppercase}
.tkb-skip:focus{top:10px}

/* ---- rail (header) ---- */
.tkb-rail{background:linear-gradient(#18271f,#121e18);border-bottom:3px solid var(--tkb-alu-2)}
.tkb-rail-in{max-width:1140px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.tkb-mark{display:inline-flex;align-items:center;gap:10px;color:var(--tkb-chalk);text-decoration:none;margin-right:auto}
.tkb-mark svg{width:38px;height:38px;flex:none}
.tkb-mark-name{font-family:var(--tkb-head);font-stretch:condensed;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem;line-height:1}
.tkb-mark-name b{color:var(--tkb-yel);font-weight:700;margin-left:.25em}
.tkb-menu{display:none;font:inherit;font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;
  color:var(--tkb-chalk);background:transparent;border:1px dashed var(--tkb-line);border-radius:999px;padding:6px 14px;cursor:pointer}
.tkb-menu::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--tkb-red);margin-right:8px;vertical-align:-1px}
.tkb-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px}
.tkb-nav a{color:var(--tkb-chalk);text-decoration:none;font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.05em;font-size:.92rem;padding:4px 0;border-bottom:2px solid transparent}
.tkb-nav a:hover{border-bottom-color:var(--tkb-yel)}
.tkb-langs{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.tkb-langs a{display:inline-block;min-width:2.4em;text-align:center;font-family:var(--tkb-mono);font-size:.8rem;color:var(--tkb-chalk-2);
  text-decoration:none;border:1px solid var(--tkb-dash);border-radius:999px;padding:3px 8px}
.tkb-langs a[aria-current]{background:var(--tkb-chalk);color:var(--tkb-ink);border-color:var(--tkb-chalk)}
@media (max-width:760px){
  .tkb-js .tkb-menu{display:inline-block}
  .tkb-js .tkb-nav{display:none;flex-basis:100%}
  .tkb-js .tkb-nav.tkb-open{display:block}
  .tkb-nav ul{flex-direction:column;gap:2px;padding:6px 0 4px}
  .tkb-nav a{display:block;padding:8px 0}
  .tkb-langs{flex-basis:100%}
}

/* ---- the board ---- */
.tkb-board{
  max-width:1140px;margin:18px auto;padding:28px 32px 40px;
  border:6px solid var(--tkb-alu);border-radius:12px;
  box-shadow:inset 0 0 0 2px var(--tkb-alu-2),inset 0 0 60px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.45);
  background:
    radial-gradient(900px 380px at 18% 0%,rgba(255,255,255,.055),transparent 60%),
    radial-gradient(700px 420px at 92% 38%,rgba(255,255,255,.04),transparent 62%),
    radial-gradient(600px 300px at 40% 100%,rgba(255,255,255,.035),transparent 60%),
    var(--tkb-slate);
}
@media (max-width:600px){
  .tkb-board{margin:8px 6px;padding:18px 13px 28px;border-width:3px;border-radius:8px}
}
.tkb-board > * + *{margin-top:2.6rem}

h1,h2,h3{font-family:var(--tkb-head);font-stretch:condensed;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.08;
  text-shadow:0 0 1px rgba(238,241,230,.35)}
h1{font-size:clamp(1.9rem,6.2vw,3.2rem);margin:.2em 0 .35em}
h2{font-size:clamp(1.35rem,3.6vw,1.9rem);margin:0 0 .7em}
h3{font-size:1.12rem;margin:1.4em 0 .5em;letter-spacing:.04em}
p{margin:0 0 1em}
.tkb-h{display:flex;align-items:center;gap:.55em;padding-bottom:12px;background:var(--tkb-chalk-rule) left bottom/240px 10px no-repeat}
.tkb-num{flex:none;display:inline-grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;background:var(--tkb-yel);color:var(--tkb-ink);
  font-family:var(--tkb-mono);font-size:.62em;letter-spacing:0;text-shadow:none;box-shadow:inset -2px -3px 0 rgba(0,0,0,.18)}
.tkb-kicker{font-family:var(--tkb-mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:var(--tkb-chalk-2);margin:0}
.tkb-lede{font-size:1.15rem;color:var(--tkb-chalk);max-width:62ch}
.tkb-byline{font-family:var(--tkb-mono);font-size:.8rem;color:var(--tkb-chalk-2);letter-spacing:.04em}

.tkb-cta{display:inline-block;background:var(--tkb-yel);color:var(--tkb-ink);text-decoration:none;font-family:var(--tkb-head);text-transform:uppercase;
  letter-spacing:.05em;font-weight:700;padding:.7em 1.2em;border-radius:999px;box-shadow:0 3px 0 rgba(0,0,0,.4)}
.tkb-cta:hover{background:#f6d775}
.tkb-cta:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.4)}

/* hero */
.tkb-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:center}
.tkb-hero-board{margin:0}
.tkb-hero-board svg{display:block;width:100%}
@media (max-width:860px){.tkb-hero{grid-template-columns:minmax(0,1fr)}}

.tkb-talk{max-width:72ch}
.tkb-talk p{color:var(--tkb-chalk)}

/* line-up cards */
.tkb-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:18px}
.tkb-card{min-width:0}
.tkb-card article{height:100%;display:flex;flex-direction:column;background:var(--tkb-slate-2);border:1px dashed var(--tkb-dash);border-radius:12px;padding:14px 16px 16px}
.tkb-card-board{margin:0 0 10px;position:relative}
.tkb-card-board svg{display:block;width:100%}
.tkb-card-board figcaption{display:flex;justify-content:space-between;gap:8px;font-family:var(--tkb-mono);font-size:.75rem;color:var(--tkb-chalk-2);margin-top:6px}
.tkb-shape{color:var(--tkb-chalk);letter-spacing:.08em}
.tkb-card-tag{font-family:var(--tkb-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tkb-chalk-2);margin:4px 0 0}
.tkb-card-name{font-size:1.45rem;margin:.15em 0 .45em}
.tkb-card-name a{color:var(--tkb-chalk);text-decoration:none;border-bottom:3px solid var(--tkb-mag,var(--tkb-yel))}
.tkb-pills{list-style:none;margin:0 0 .8em;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tkb-pills li{font-size:.78rem;line-height:1.3;border:1px solid var(--tkb-line);border-radius:999px;padding:3px 10px;color:var(--tkb-chalk-2)}
.tkb-card-verdict{flex:1}
.tkb-card-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem}
.tkb-go{color:var(--tkb-yel)}
.tkb-out{color:var(--tkb-chalk-2)}
.tkb-out::after{content:" \2197"}

/* selection rules */
.tkb-rules{list-style:none;counter-reset:tkb;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 22px}
.tkb-rules li{counter-increment:tkb;position:relative;padding:10px 0 0 46px;min-width:0}
.tkb-rules li::before{content:counter(tkb);position:absolute;left:0;top:8px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--tkb-mono);font-size:.85rem;color:var(--tkb-ink);background:var(--tkb-blu);box-shadow:inset -2px -3px 0 rgba(0,0,0,.2)}
.tkb-rules strong{display:block;font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.04em;font-size:1.02rem}
.tkb-rules span{color:var(--tkb-chalk-2);font-size:.97rem}

/* comparison */
.tkb-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px dashed var(--tkb-dash);border-radius:10px}
.tkb-grid{border-collapse:collapse;width:100%;min-width:760px;font-size:.95rem}
.tkb-grid th,.tkb-grid td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px dashed var(--tkb-dash)}
.tkb-grid thead th{font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;color:var(--tkb-chalk-2);background:rgba(0,0,0,.14)}
.tkb-grid tbody th{font-family:var(--tkb-head);font-size:1rem;letter-spacing:.02em;white-space:nowrap}
.tkb-grid tbody th a{color:var(--tkb-chalk)}
.tkb-grid tbody tr:last-child th,.tkb-grid tbody tr:last-child td{border-bottom:0}
.tkb-dot{display:inline-block;width:.7em;height:.7em;border-radius:50%;background:var(--tkb-mag,var(--tkb-yel));margin-right:.45em;vertical-align:.02em}

/* faq */
.tkb-faq{display:grid;gap:10px;max-width:80ch}
.tkb-q{border:1px dashed var(--tkb-dash);border-radius:10px;background:rgba(0,0,0,.08)}
.tkb-q summary{cursor:pointer;list-style:none;padding:12px 14px 12px 48px;position:relative;font-family:var(--tkb-head);font-size:1.06rem;letter-spacing:.02em}
.tkb-q summary::-webkit-details-marker{display:none}
.tkb-q summary::before{content:"+";position:absolute;left:12px;top:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:var(--tkb-red);color:var(--tkb-ink);font-family:var(--tkb-mono);font-weight:700}
.tkb-q[open] summary::before{content:"\2212"}
.tkb-a{padding:0 16px 6px 48px;color:var(--tkb-chalk-2)}

/* guides list */
.tkb-drills{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tkb-drills a{display:block;height:100%;text-decoration:none;color:var(--tkb-chalk);border:1px solid var(--tkb-line);border-radius:12px;padding:14px 16px;
  background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 55%)}
.tkb-drills a:hover{border-color:var(--tkb-yel)}
.tkb-drills strong{display:block;font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.03em;font-size:1.08rem;margin-bottom:.3em}
.tkb-drills span{color:var(--tkb-chalk-2);font-size:.95rem}
.tkb-note{font-size:.92rem;color:var(--tkb-chalk-2);border-left:3px solid var(--tkb-alu-2);padding-left:12px;max-width:80ch}

/* breadcrumbs */
.tkb-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;font-family:var(--tkb-mono);font-size:.78rem;color:var(--tkb-chalk-2)}
.tkb-crumbs li+li::before{content:"\203A";margin:0 6px 0 2px}
.tkb-crumbs a{color:var(--tkb-chalk-2)}

/* review */
.tkb-review-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;align-items:end}
.tkb-review-board{margin:0}
.tkb-review-board svg{display:block;width:100%}
.tkb-review-board figcaption{font-family:var(--tkb-mono);font-size:.75rem;color:var(--tkb-chalk-2);margin-top:6px}
@media (max-width:820px){.tkb-review-head{grid-template-columns:minmax(0,1fr)}}
.tkb-review-cols{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:start;margin-top:2rem}
@media (max-width:900px){.tkb-review-cols{grid-template-columns:minmax(0,1fr)}}
.tkb-sheet{position:sticky;top:14px;background:var(--tkb-slate-2);border:2px solid var(--tkb-line);border-radius:12px;padding:16px}
@media (max-width:900px){.tkb-sheet{position:static}}
.tkb-sheet h2{font-size:1.15rem;margin-bottom:.6em}
.tkb-sheet dl{margin:0 0 14px}
.tkb-sheet dt{font-family:var(--tkb-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tkb-chalk-2);margin-top:10px}
.tkb-sheet dd{margin:2px 0 0;font-size:.98rem}
.tkb-sheet .tkb-cta{display:block;text-align:center;font-size:.92rem;padding:.7em .9em}
.tkb-prose{max-width:70ch;min-width:0}
.tkb-prose section + section{margin-top:2rem}
.tkb-prose h2{font-size:1.4rem;padding-bottom:10px;background:var(--tkb-chalk-rule) left bottom/200px 9px no-repeat}
.tkb-prose ul{padding-left:1.2em}
.tkb-prose li{margin:.3em 0}
.tkb-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px 26px}
.tkb-split > div{min-width:0}
.tkb-split h2{font-size:1.2rem}
.tkb-marks{list-style:none;padding:0!important;margin:0}
.tkb-marks li{position:relative;padding-left:32px;margin:.55em 0}
.tkb-marks li::before{position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--tkb-mono);font-size:.8rem;font-weight:700;color:var(--tkb-ink)}
.tkb-plus li::before{content:"+";background:var(--tkb-blu)}
.tkb-minus li::before{content:"\2212";background:var(--tkb-red)}
.tkb-fit li::before{content:"";background:var(--tkb-yel);width:14px;height:14px;top:.45em;left:4px}
.tkb-fit .tkb-marks.tkb-no li::before{background:transparent;border:2px solid var(--tkb-chalk-2)}
.tkb-check{border:2px dashed var(--tkb-chalk-2);border-radius:12px;padding:18px 18px 20px;position:relative;background:rgba(0,0,0,.1)}
.tkb-stamp{display:inline-block;font-family:var(--tkb-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tkb-yel);
  border:2px solid var(--tkb-yel);border-radius:6px;padding:3px 8px;transform:rotate(-2.5deg);margin-bottom:10px}
.tkb-check h3{font-size:.95rem}
.tkb-src{font-size:.92rem;color:var(--tkb-chalk-2)}
.tkb-pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px dashed var(--tkb-dash);padding-top:16px;margin-top:2.4rem}
.tkb-pager a{display:block;text-decoration:none;color:var(--tkb-chalk);max-width:48%}
.tkb-pager small{display:block;font-family:var(--tkb-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tkb-chalk-2)}
.tkb-pager b{font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.03em}
.tkb-pager .tkb-next{text-align:right;margin-left:auto}
@media (max-width:520px){.tkb-pager a{max-width:100%}.tkb-pager .tkb-next{text-align:left;margin-left:0}}

/* guides & pages */
.tkb-article{max-width:74ch}
.tkb-article header{margin-bottom:1.6rem}
.tkb-terms{margin:0}
.tkb-terms div{padding:12px 0;border-bottom:1px dashed var(--tkb-dash)}
.tkb-terms dt{font-family:var(--tkb-head);text-transform:uppercase;letter-spacing:.03em;font-size:1.05rem}
.tkb-terms dt::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--tkb-yel);margin-right:.5em;vertical-align:.08em}
.tkb-terms dd{margin:.3em 0 0;color:var(--tkb-chalk-2)}
.tkb-more{border-top:1px dashed var(--tkb-dash);padding-top:16px;margin-top:2.4rem}
.tkb-more h2{font-size:1.1rem}
.tkb-more ul{padding-left:1.1em}

/* bench (footer) */
.tkb-bench{border-top:3px solid var(--tkb-alu-2);background:#0c1511;color:var(--tkb-chalk-2);font-size:.93rem}
.tkb-bench-in{max-width:1140px;margin:0 auto;padding:26px 16px 34px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px 40px}
@media (max-width:720px){.tkb-bench-in{grid-template-columns:minmax(0,1fr)}}
.tkb-bench h2{font-size:.95rem;color:var(--tkb-chalk);margin-bottom:.6em}
.tkb-bench ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.tkb-bench a{color:var(--tkb-chalk-2)}
.tkb-tray{display:flex;gap:8px;margin-bottom:12px}
.tkb-tray i{width:14px;height:14px;border-radius:50%;display:block;box-shadow:inset -2px -2px 0 rgba(0,0,0,.25)}
.tkb-copy{grid-column:1/-1;font-family:var(--tkb-mono);font-size:.76rem;letter-spacing:.06em;margin:0}

/* 404 */
.tkb-offside{text-align:center;padding:30px 0}
.tkb-offside svg{width:min(420px,100%)}
.tkb-offside ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

@media (prefers-reduced-motion:no-preference){
  .tkb-card article{transition:transform .15s ease,border-color .15s ease}
  .tkb-card article:hover{transform:translateY(-2px);border-color:var(--tkb-line)}
}
