/* Poker Bot Wars teaser (poker-bot-wars.php): one screen. On top of bot-wars.css (page, lede, facts, actions, fine print). */
.bwt-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--muck-space-7);align-items:center;padding:var(--muck-space-7) 0 var(--muck-space-6)}
.bwt-hero h1{font-size:clamp(34px,calc(4.6vw - 4px),60px);line-height:1.04;letter-spacing:-.02em}
.bwt-hero h1 em{white-space:nowrap}   /* "Coming in January." on one line: the size follows the column */
.bwt-note{margin:var(--muck-space-4) 0 0;font-size:14px;line-height:1.5;color:#8f8b80}
.bwt-art{margin:0}
.bwt-art img{display:block;width:100%;height:auto;border-radius:var(--muck-radius-card);border:1px solid #615234}

/* the three stages: one ruled row, left to right */
.bwt-stages{padding:var(--muck-space-6) 0;border-top:1px solid #2a2720}
.bwt-stages h2{font-size:clamp(24px,2.6vw,30px);line-height:1.15;margin-bottom:var(--muck-space-5)}
.bwt-stages ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid #2a2720;border-bottom:1px solid #2a2720}
.bwt-stages li{display:flex;align-items:center;gap:var(--muck-space-4);padding:var(--muck-space-5) var(--muck-space-5) var(--muck-space-5) 0}
.bwt-stages li + li{padding-left:var(--muck-space-5);border-left:1px solid #2a2720}
.bwt-stages img{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #615234}
.bwt-stages li > div{display:flex;flex-direction:column;gap:var(--muck-space-1);min-width:0}
.bwt-stages b{font-family:Georgia,serif;font-weight:400;font-size:22px;line-height:1.2;color:#eee9dc}
.bwt-n{font-family:var(--muck-font);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ddc58a}
.bwt-line{font-size:14px;line-height:1.5;color:#aaa79d}
.bwt-fine{margin:0 0 var(--muck-space-7)}

@media (max-width:900px){
  .bwt-hero{grid-template-columns:1fr;gap:var(--muck-space-5);padding-top:var(--muck-space-5)}
  .bwt-hero h1{font-size:clamp(28px,calc(9.4vw - 4px),56px)}
  .bwt-art{order:-1}
  .bwt-stages ol{grid-template-columns:1fr}
  .bwt-stages li{padding:var(--muck-space-4) 0}
  .bwt-stages li + li{padding-left:0;border-left:0;border-top:1px solid #2a2720}
}
@media (max-width:480px){.bwt-hero .bw-actions{flex-direction:column;align-items:stretch}}

/* The bot builder, opened over the teaser (poker-bot-wars.php #bwt-builder, includes/bot-builder.php): the page stays put */
.bwt-builder{width:min(1100px,calc(100% - var(--muck-space-6)));max-height:calc(100vh - var(--muck-space-7));margin:auto;padding:var(--muck-space-6);border:1px solid var(--muck-line);border-radius:var(--muck-radius-overlay);background:var(--muck-bg);color:var(--muck-text);overflow:auto}
.bwt-builder::backdrop{background:#000}   /* the page doesn't show through (Shaun, 2026-11-01: "black out the page") */
.bwt-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--muck-space-4);margin-bottom:var(--muck-space-5)}
.bwt-builder-head h2{margin:0;font:400 32px/1.1 Georgia,serif;letter-spacing:-.01em}
.bwt-builder-head p{margin:var(--muck-space-2) 0 0;color:var(--muck-text-2);font-size:15px;line-height:1.5}
.bwt-builder-close{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--muck-line-strong);border-radius:50%;background:none;color:var(--muck-text-2);cursor:pointer}
.bwt-builder-close svg{display:block}
.bwt-builder-close:hover{color:var(--muck-text);border-color:var(--muck-text-3)}
.bwt-builder-close:focus-visible{outline:2px solid var(--muck-gold);outline-offset:2px}
.bwt-builder .bw-card .mk-btn{box-sizing:border-box}
/* Larry's report keeps room for three lines, so the card doesn't jump when it goes from two to three ("leave room for 3 lines
   default so it doesnt resize") */
@media(min-width:601px){.bwt-builder #bw-scout{display:block;min-height:calc(3 * 21px)}}   /* the card's Request Early Access is a link: sized like the button it replaced */
@media(max-width:600px){
 .bwt-builder{width:calc(100% - var(--muck-space-4));max-height:calc(100vh - var(--muck-space-4));padding:var(--muck-space-4)}
 .bwt-builder-head h2{font-size:26px}
}

/* "Up to" before the prize, small beside the number (Shaun, 2026-11-01: "make up to small") */
.bwt-hero .bw-facts .bwt-upto{font-size:.5em;letter-spacing:0;vertical-align:.15em}

/* The builder's bot as a player card and its five faces (includes/bot-builder.php), as bot-wars-v2.css draws them (.bw2-player)
   (Shaun, 2026-11-01: "the faction ones with the bigger image of them vs the circle profile") */
.bwt-builder .bw-card{padding-top:0;overflow:hidden}
.bwb-player{position:relative;height:clamp(200px,20vw,250px);margin:0 calc(var(--muck-space-5) * -1)}
.bwb-player img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.bwb-player::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,13,0) 40%,rgba(15,15,13,.55) 66%,#121110 100%)}
.bwb-player-name{position:absolute;left:var(--muck-space-5);right:var(--muck-space-5);bottom:var(--muck-space-4);z-index:1}
.bwb-player-name b{display:block;font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,2.6vw,34px);line-height:1.1;color:#f6f2e8;overflow-wrap:anywhere;text-shadow:0 2px 16px #000}
.bwb-player-name span{display:block;margin-top:var(--muck-space-1);font-size:14px;font-weight:600;color:#ddc58a}
.bwb-fac{position:absolute;top:var(--muck-space-4);left:var(--muck-space-5);z-index:1;padding:4px 10px;border:1px solid rgba(221,197,138,.35);border-radius:var(--muck-radius-pill);background:rgba(12,12,11,.7);color:#eee9dc;font-size:12px;font-weight:700}
.bwt-builder .bw-card .bw-stats{margin-top:var(--muck-space-4)}
.bwt-builder .bw-faces{flex-wrap:nowrap;gap:var(--muck-space-2)}   /* the five in one row, each a fifth of it */
.bwt-builder fieldset.bw-knob{min-width:0}   /* a fieldset is as wide as its content by default: the row would spill past the edge */
.bwt-builder .bw-faces label{flex:1 1 0;min-width:0;max-width:72px}
.bwt-builder .bw-faces img{width:100%;height:auto;aspect-ratio:1;border-radius:var(--muck-radius-sm);object-fit:cover;background:#1b1912}

/* Example prize distribution (poker-bot-wars.php .bwt-prizes): the rounds as a funnel, then who wins what */
.bwt-prizes{padding:var(--muck-space-6) 0}   /* in the page column, like .bwt-stages above it (its bottom rule is the line between them) */
.bwt-prizes h2{margin:0;font:400 clamp(28px,3vw,36px)/1.1 Georgia,serif;color:var(--muck-text)}
.bwt-prizes-sub{margin:var(--muck-space-2) 0 var(--muck-space-5);color:var(--muck-text-3);font-size:14px}
.bwt-prizes-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--muck-space-5)}
.bwt-funnel,.bwt-payout{list-style:none;margin:0;padding:0;border-top:1px solid var(--muck-line)}
.bwt-funnel li,.bwt-payout li{display:flex;align-items:baseline;gap:var(--muck-space-3);padding:var(--muck-space-3) 0;border-bottom:1px solid var(--muck-line)}
.bwt-funnel b{min-width:56px;font:400 24px/1 Georgia,serif;color:#ddc58a;font-variant-numeric:tabular-nums}
.bwt-funnel span{color:var(--muck-text-2);font-size:15px}
.bwt-funnel .is-win b{color:var(--muck-gold)}
.bwt-funnel .is-win span{color:var(--muck-text)}
.bwt-payout li{justify-content:space-between}
.bwt-payout span{color:var(--muck-text-2);font-size:15px}
.bwt-payout b{font:400 20px/1 Georgia,serif;color:var(--muck-text)}
@media(max-width:760px){
 .bwt-prizes-grid{grid-template-columns:1fr;gap:0}
 .bwt-payout{border-top:0}   /* stacked: the payout carries straight on under the funnel's last rule, no second rule above it */
}
/* the builder's Advanced lab, desktop only for now (Shaun, 2026-11-01: "kill it for mobile for this implementation"): on phones
   the lab and the card's rating and mod chips aren't drawn (no mods can be picked there, so nothing is missing from the card) */
@media(max-width:760px){
 .bwt-builder .bw-adv,.bwt-builder .bw-ovr,.bwt-builder .bw-modlist{display:none}
}
/* the builder's intro talks about the upgrade points where the Advanced lab is (Shaun, 2026-11-01: "change this to talk about the
   upgrade points. and kill the long winded joke"); phones, without the lab, get the short one */
.bwt-intro-phone{display:none}
@media(max-width:760px){.bwt-intro-wide{display:none}.bwt-intro-phone{display:inline}}
/* "10 upgrade points": the words centered on the number, not on its baseline (Shaun, 2026-11-01: "vertically center the upgrade ppoints text") */
.bwt-builder .bw-adv-left{display:inline-flex;align-items:center;gap:6px}
.bwt-builder .bw-adv-left b{line-height:1}
/* The homepage hero's type, the source of truth (Shaun, 2026-11-01: "do bot wars same way" / "hp is source of truth"): Inter at 750,
   tight; the headline's second line upright in the homepage's yellow, the gold numbers yellow too */
.bw-page.bw-sans .bw :is(h1,h2,h3),
.bw-page.bw-sans :is(.bwp-rule b,.bwp-never b,.bwp-steps li>b,.bwp-equation b,.bw-facts b,.bwt-stages b,.bwt-builder-head h2,.bwb-player-name b,.bwt-prizes h2,.bwt-funnel b,.bwt-payout b,.bw-weekly-report h2,.bw-card-top b,.bw-adv-title,.bw-adv-left b,.bw-ovr-n b,.bw-ovr-class b,.bw-prizes b,.bw-rank){font-family:var(--muck-font,Inter,system-ui,sans-serif);font-weight:750;letter-spacing:-.03em}
.bw-page.bw-sans .bw h1{letter-spacing:-.031em;line-height:.99}
.bw-page.bw-sans .bw h1 em{font-style:normal;color:#ffd34f}
.bw-page.bw-sans :is(.bw-facts b,.bwt-funnel b,.bw-adv-left b,.bw-ovr-n b,.bw-prizes b){color:#ffd34f}
.bw-page.bw-sans .bw-weekly-note blockquote{font-family:var(--muck-font,Inter,system-ui,sans-serif);font-weight:650;font-style:normal;letter-spacing:-.02em}
/* the sponsors page's headline (sponsor/index.php): each line whole, sized to its column (no lone "project.") */
.bw-page.bw-sans .bw h1.sp-title{font-size:clamp(30px,4.1vw,56px)}
.bw-page.bw-sans .bw h1.sp-title :is(span,em){white-space:nowrap}
@media(max-width:480px){.bw-page.bw-sans .bw h1.sp-title{font-size:min(34px,calc((100vw - 48px) / 9.6))}}

/* The Advanced lab's own styles, for the teaser's builder (Shaun, 2026-11-01: "put the lab back how it was, you broke it"): they
   live in bot-wars.css on this computer only (unreleased with bot-wars.php's lab), so live had the lab with none of them.
   A copy of that block; bot-wars.css keeps its own. */
/* the Advanced lab: 10 upgrade points over twelve mods, levels as pips; the card shows a rating,
   a build class and the mods installed */
.bw-adv{grid-column:1/-1;border:1px solid #615234;border-radius:var(--muck-radius-card);background:linear-gradient(160deg,#17150f,#0f0f0d 70%)}
.bw-adv summary{display:flex;align-items:center;justify-content:space-between;gap:var(--muck-space-4);min-height:56px;padding:0 var(--muck-space-5);cursor:pointer;list-style:none}
.bw-adv summary::-webkit-details-marker{display:none}
.bw-adv summary:focus-visible{outline:2px solid #ddc58a;outline-offset:-2px;border-radius:var(--muck-radius-card)}
.bw-adv-title{display:inline-flex;align-items:center;gap:var(--muck-space-3);font-family:Georgia,serif;font-size:20px;color:#eee9dc}
.bw-adv-title::after{content:"";width:8px;height:8px;border-right:2px solid #ddc58a;border-bottom:2px solid #ddc58a;rotate:45deg;translate:0 -3px;transition:rotate .2s}
.bw-adv[open] .bw-adv-title::after{rotate:225deg;translate:0 2px}
.bw-adv-left{font-size:13px;color:#aaa79d;white-space:nowrap}
.bw-adv-left b{display:inline-block;min-width:1.4em;font-family:Georgia,serif;font-weight:400;font-size:22px;color:#ddc58a;text-align:right}
.bw-adv-note{margin:0 var(--muck-space-5) var(--muck-space-4);font-size:14px;line-height:1.5;color:#8f8b80}
.bw-mod{margin:0;padding:0 var(--muck-space-5) var(--muck-space-4);border:0;min-width:0}
.bw-mod legend{display:flex;align-items:baseline;gap:var(--muck-space-3);padding:var(--muck-space-3) 0 var(--muck-space-2)}
.bw-mod legend b{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ddc58a}
.bw-mod legend span{font-size:12px;color:#6f6b62}
.bw-mod-row{display:flex;align-items:center;justify-content:space-between;gap:var(--muck-space-4);padding:var(--muck-space-3) 0;border-top:1px solid #2a2720}
.bw-mod-row:last-child{border-bottom:1px solid #2a2720}
.bw-mod-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.bw-mod-name b{font-size:15px;font-weight:600;color:#eee9dc}
.bw-mod-name span{font-size:13px;line-height:1.4;color:#8f8b80}
.bw-pips{display:flex;flex:none;gap:6px}
.bw-pip{display:grid;place-items:center;width:30px;height:44px;margin:0;padding:0;box-sizing:border-box;font:inherit;font-size:11px;font-weight:700;color:#8f8b80;
  background:none;border:0;cursor:pointer;position:relative}
.bw-pip:not(.bw-pip--off)::before{content:"";width:22px;height:22px;border:2px solid #3a372e;border-radius:6px;rotate:45deg;scale:.72;transition:background .15s,border-color .15s}
.bw-pip.is-on::before{background:#ddc58a;border-color:#ddc58a}
.bw-pip:not(.bw-pip--off):hover::before{border-color:#ddc58a}
.bw-pip--off{width:38px}
.bw-pip--off[aria-checked=true]{color:#eee9dc}
.bw-pip:disabled{cursor:not-allowed;opacity:.35}
.bw-pip:focus-visible{outline:2px solid #ddc58a;outline-offset:0;border-radius:var(--muck-radius)}
.bw-adv-foot{display:flex;justify-content:flex-end;padding:0 var(--muck-space-5) var(--muck-space-4)}
.bw-ovr{display:flex;align-items:center;gap:var(--muck-space-4);margin-top:var(--muck-space-5);padding:var(--muck-space-3) var(--muck-space-4);border:1px solid #615234;border-radius:var(--muck-radius)}
.bw-ovr[hidden]{display:none}
.bw-ovr-n{display:flex;flex-direction:column;align-items:center;flex:none}
.bw-ovr-n b{font-family:Georgia,serif;font-weight:400;font-size:34px;line-height:1;color:#ddc58a}
.bw-ovr-n small,.bw-ovr-class small{font-size:11px;color:#8f8b80}
.bw-ovr-n small{letter-spacing:.1em;text-transform:uppercase}
.bw-ovr-class{display:flex;flex-direction:column;gap:2px;min-width:0}
.bw-ovr-class b{font-family:Georgia,serif;font-weight:400;font-size:19px;color:#eee9dc}
.bw-modlist{display:flex;flex-wrap:wrap;gap:6px;margin:var(--muck-space-3) 0 0;padding:0;list-style:none}
.bw-modlist:empty{display:none}
.bw-modlist li{padding:4px 10px;font-size:12px;color:#eee9dc;border:1px solid #615234;border-radius:999px}
.bw-modlist b{color:#ddc58a}
@media (prefers-reduced-motion:reduce){.bw-adv-title::after,.bw-pip::before{transition:none}}
