/* Machine League — Build Something Design System v1 */
.bs-machine-league-v1 {
  --type: var(--ink);
  --muted: var(--ink-muted);
  --a: var(--gold);
  --b: var(--blue);
  --rule: var(--line);
  --pad: clamp(18px, 4vw, 40px);
  color-scheme: light;
  min-height: 100svh;
  background: var(--paper);
  color: var(--ink);
  overflow-x: hidden;
}

.bs-machine-league-v1 .noise { display: none; }
.bs-machine-league-v1 .topbar {
  height: 72px;
  border-color: var(--line);
  background: color-mix(in srgb, var(--paper) 94%, transparent);
}
.bs-machine-league-v1 .brand { color: var(--ink); font-family: var(--font-interface); }
.bs-machine-league-v1 .brand span { border-color: var(--ink); border-radius: var(--radius); }
.bs-machine-league-v1 .credit-pill {
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--paper-raised);
  color: var(--ink);
}
.bs-machine-league-v1 .credit-pill strong { color: var(--blue); }
.bs-machine-league-v1 .arena { width: min(100%, var(--page-max)); min-height: calc(100svh - 122px); }
.bs-machine-league-v1 .reveal-strip,
.bs-machine-league-v1 .instant-result {
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--paper-raised);
}
.bs-machine-league-v1 .reveal-strip button,
.bs-machine-league-v1 .result-heading span,
.bs-machine-league-v1 .status { color: var(--blue); }
.bs-machine-league-v1 .round-line,
.bs-machine-league-v1 .foot-rule,
.bs-machine-league-v1 .foot-rule button,
.bs-machine-league-v1 .optional-email { color: var(--ink-muted); }
.bs-machine-league-v1 .timer i { background: var(--gold); box-shadow: none; }
.bs-machine-league-v1 .timer b { color: var(--ink); }
.bs-machine-league-v1 .format { margin-top: 32px; color: var(--blue); }
.bs-machine-league-v1 .match-head h1 {
  max-width: 15ch;
  font-family: var(--font-editorial);
  font-size: clamp(38px, 6vw, 72px);
  font-weight: 650;
  letter-spacing: -0.035em;
  line-height: .98;
}
.bs-machine-league-v1 .pick-label { margin: 24px 0 16px; color: var(--ink-muted); }
.bs-machine-league-v1 .entries { grid-template-columns: 1fr 44px 1fr; gap: 0; min-height: 340px; }
.bs-machine-league-v1 .entry {
  min-height: 320px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper-raised);
  color: var(--ink);
  box-shadow: none;
}
.bs-machine-league-v1 .entry-a { border: 3px solid var(--gold); }
.bs-machine-league-v1 .entry-b { border: 3px solid var(--blue); }
.bs-machine-league-v1 .entry-work {
  font-family: var(--font-editorial);
  font-weight: 650;
  line-height: 1.08;
}
.bs-machine-league-v1 .entry-tag b { border-radius: var(--radius); background: var(--ink); color: var(--paper-raised); }
.bs-machine-league-v1 .entry-a .choose { color: var(--gold-dark); }
.bs-machine-league-v1 .entry-b .choose { color: var(--blue); }
.bs-machine-league-v1 .versus {
  width: 44px;
  height: 44px;
  margin: 0;
  border: 1px solid var(--ink);
  border-radius: var(--radius);
  background: var(--ink);
  color: var(--paper-raised);
}
.bs-machine-league-v1 .dock {
  border-color: var(--line);
  background: color-mix(in srgb, var(--paper-raised) 96%, transparent);
}
.bs-machine-league-v1 .dock button,
.bs-machine-league-v1 .dock a { color: var(--ink); }
.bs-machine-league-v1 .sheet {
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--paper-raised);
  color: var(--ink);
  box-shadow: 0 24px 80px rgba(27, 22, 16, .22);
}
.bs-machine-league-v1 .sheet::backdrop { background: rgba(27, 22, 16, .62); }
.bs-machine-league-v1 .close { color: var(--ink); }
.bs-machine-league-v1 .kicker { color: var(--blue); }
.bs-machine-league-v1 .sheet h2 { font-family: var(--font-editorial); font-weight: 650; }
.bs-machine-league-v1 .sheet h2 span,
.bs-machine-league-v1 .reveal-card strong,
.bs-machine-league-v1 .archive-row b,
.bs-machine-league-v1 .standing-row b { color: var(--gold-dark); }
.bs-machine-league-v1 .sheet > form > p:not(.kicker, .status),
.bs-machine-league-v1 .reveal-card p,
.bs-machine-league-v1 .archive-row p { color: var(--ink-muted); }
.bs-machine-league-v1 .auth-sheet input,
.bs-machine-league-v1 .stakes button {
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  color: var(--ink);
}
.bs-machine-league-v1 .stakes button.selected,
.bs-machine-league-v1 .lock { border-color: var(--gold); background: var(--gold); color: var(--ink); }
.bs-machine-league-v1 .result-grid > div,
.bs-machine-league-v1 .reveal-identities div,
.bs-machine-league-v1 .archive-entries button { background: var(--paper); color: var(--ink); }
.bs-machine-league-v1 .archive-entries button:first-child { border: 2px solid var(--gold); box-shadow: none; }
.bs-machine-league-v1 .archive-entries button:last-child { border: 2px solid var(--blue); box-shadow: none; }

/* Join page */
.bs-machine-league-join-v1 .back { color: var(--blue); }
.bs-machine-league-join-v1 main,
.bs-machine-league-join-v1 footer { color: var(--ink); }
.bs-machine-league-join-v1 .hero { max-width: var(--page-max); padding-block: clamp(80px, 10vw, 128px); }
.bs-machine-league-join-v1 .hero h1,
.bs-machine-league-join-v1 .application-copy h2,
.bs-machine-league-join-v1 .explainer h2 {
  font-family: var(--font-editorial);
  font-weight: 650;
}
.bs-machine-league-join-v1 .hero h1 {
  max-width: 14ch;
  font-size: clamp(54px, 8.5vw, 104px);
  line-height: .93;
  letter-spacing: -.045em;
}
.bs-machine-league-join-v1 .hero h1 span { color: var(--gold-dark); }
.bs-machine-league-join-v1 .lead,
.bs-machine-league-join-v1 .explainer p,
.bs-machine-league-join-v1 .application-copy > p:last-child { color: var(--ink-muted); }
.bs-machine-league-join-v1 .explainer { border-color: var(--line); background: var(--paper-raised); }
.bs-machine-league-join-v1 .explainer article { min-height: 320px; border-color: var(--line); }
.bs-machine-league-join-v1 .explainer b { color: var(--blue); }
.bs-machine-league-join-v1 .application { max-width: var(--page-max); }
.bs-machine-league-join-v1 label { color: var(--ink); }
.bs-machine-league-join-v1 input,
.bs-machine-league-join-v1 textarea {
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--paper-raised);
  color: var(--ink);
}
.bs-machine-league-join-v1 input:focus,
.bs-machine-league-join-v1 textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.bs-machine-league-join-v1 form button { border-radius: var(--radius); background: var(--gold); color: var(--ink); }
.bs-machine-league-join-v1 .fine-print { color: var(--ink-muted); }
.bs-machine-league-join-v1 footer { border-color: var(--line); background: var(--ink); color: var(--paper-raised); }
.bs-machine-league-join-v1 footer a { color: var(--paper-raised); }

@media (max-width: 620px) {
  .bs-machine-league-v1 .arena { min-height: calc(100svh - 116px); }
  .bs-machine-league-v1 .match-head h1 { font-size: clamp(34px, 10vw, 48px); }
  .bs-machine-league-v1 .entries { grid-template-columns: 1fr; grid-template-rows: 1fr 28px 1fr; min-height: 470px; }
  .bs-machine-league-v1 .entry { min-height: 205px; }
  .bs-machine-league-v1 .versus { margin: -8px auto; }
}

@media (max-width: 430px) {
  .bs-machine-league-join-v1 .hero h1 { font-size: 48px; }
}

/* Requested email receipts. Keep the rest of the League untouched. */
#authDialog [hidden],#modelForm[hidden],#modelReceipt[hidden]{display:none!important}
.bs-machine-league-v1 .ml-email{font-family:var(--font-interface,Arial,sans-serif);color:var(--ink)}
.bs-machine-league-v1 #authDialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:auto;border-radius:14px}
.bs-machine-league-v1 #authDialog form{padding:32px}
.bs-machine-league-v1 .ml-email .close{width:44px;height:44px;right:8px;top:8px}
.bs-machine-league-v1 .ml-email-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 0 20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;color:var(--blue);font-size:28px;font-weight:650}
.bs-machine-league-v1 .ml-email .kicker{font-size:10px;letter-spacing:.13em;margin:0 0 12px}
.bs-machine-league-v1 .ml-email h2{font:650 clamp(30px,6vw,39px)/1.07 var(--font-editorial,Georgia,serif);letter-spacing:-.035em;margin:0 0 15px;overflow-wrap:anywhere}
.bs-machine-league-v1 .ml-email>p,.bs-machine-league-v1 #authDescription{font-size:16px;line-height:1.5;margin:0 0 22px;color:var(--ink-muted)}
.bs-machine-league-v1 #authEntry label{font-size:12px;margin:22px 0 9px}
.bs-machine-league-v1 #authEntry input{font-size:17px;margin-bottom:12px}
.bs-machine-league-v1 .ml-email-address{padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-bottom:25px}
.bs-machine-league-v1 .ml-email-address>span{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--blue);margin-bottom:7px}
.bs-machine-league-v1 .ml-email-address strong{display:block;font-size:19px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.bs-machine-league-v1 .ml-email-steps{list-style:none;display:grid;gap:19px;margin:0;padding:0}
.bs-machine-league-v1 .ml-email-steps li{display:flex;gap:14px;align-items:flex-start}
.bs-machine-league-v1 .ml-email-steps li>span{display:grid;place-items:center;width:28px;height:28px;flex:none;background:var(--paper);color:var(--blue);border-radius:50%;font-size:13px;font-weight:700}
.bs-machine-league-v1 .ml-email-steps strong{display:block;font-size:16px;font-weight:650;line-height:1.4}
.bs-machine-league-v1 .ml-email-steps p{font-size:14px;line-height:1.5;color:var(--ink-muted);margin:5px 0 0;overflow-wrap:anywhere}
.bs-machine-league-v1 .ml-email-steps b{font-weight:550;color:var(--ink)}
.bs-machine-league-v1 .ml-email-actions{display:grid;gap:8px;margin-top:27px}
.bs-machine-league-v1 .ml-email .lock{min-height:49px;border-radius:7px;font-size:12px;letter-spacing:.035em;line-height:1.4;padding:12px 14px}
.bs-machine-league-v1 .ml-email .ml-email-secondary{background:var(--paper-raised);color:var(--blue);border:1px solid var(--line)}
.bs-machine-league-v1 .ml-email-edit{min-height:44px;padding:10px;border:0;border-radius:7px;background:none;color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.bs-machine-league-v1 .ml-email button:disabled{opacity:.55;cursor:default}
.bs-machine-league-v1 .ml-email-edit:hover{background:var(--paper)}
.bs-machine-league-v1 #authStatus{font:400 13px/1.5 var(--font-interface,Arial,sans-serif);text-align:left;letter-spacing:0;margin:15px 0 0;min-height:0}
.bs-machine-league-v1 #authStatus:empty{display:none}
.bs-machine-league-v1 #authDialog[data-email-state="sent"] form[aria-busy="false"] #authStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bs-machine-league-v1 .ml-email .ml-email-error,.bs-machine-league-join-v1 #formStatus.error{padding:14px;border:1px solid #c48184;border-radius:8px;background:#fff1f2;color:#822833;font:400 14px/1.5 var(--font-interface,Arial,sans-serif);letter-spacing:0;margin:16px 0 0}
.bs-machine-league-v1 .ml-email .ml-email-privacy{font-size:12px;line-height:1.6;color:var(--ink-muted);border-top:1px solid var(--line);padding-top:18px;margin:20px 0 0}
.bs-machine-league-v1 .ml-email :focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.bs-machine-league-v1 .ml-email [tabindex="-1"]:focus,.bs-machine-league-join-v1 #formStatus:focus{outline:none}
.bs-machine-league-v1 .ml-application-receipt{align-self:start;padding:30px;border:1px solid var(--line);border-radius:14px;background:var(--paper-raised)}
.bs-machine-league-v1 .ml-email-return{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;margin-top:26px;border-radius:7px;background:var(--gold);color:var(--ink);font-size:14px;font-weight:650;text-decoration:none}
.bs-machine-league-v1 .ml-email-return span{font-size:20px}
.bs-machine-league-join-v1 #formStatus{font-size:14px;line-height:1.5;letter-spacing:0}
@media(max-width:540px){.bs-machine-league-v1 #authDialog form,.bs-machine-league-v1 .ml-application-receipt{padding:25px 21px}.bs-machine-league-v1 .ml-email-icon{width:43px;height:43px;margin-bottom:17px}.bs-machine-league-v1 .ml-email h2{font-size:32px}.bs-machine-league-v1 #authDescription{font-size:15px}.bs-machine-league-v1 .ml-email-steps{gap:16px}.bs-machine-league-v1 .ml-email-address{margin-bottom:22px}}

.bs-machine-league-v1 .ml-email .ml-email-delivery{font-size:14px;line-height:1.5;color:var(--blue);margin:0 0 22px}

.bs-machine-league-v1 .ml-application-receipt{scroll-margin-top:90px}

/* Separate, optional daily-update choice; never an account or publication requirement. */
.institution-daily-choice{display:flex!important;align-items:flex-start;gap:10px;margin:16px 0;font-size:13px;line-height:1.5;text-align:left;font-weight:400;letter-spacing:normal;text-transform:none;color:inherit}
.institution-daily-choice input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;padding:0;accent-color:currentColor}
.institution-daily-choice span{min-width:0}
.institution-daily-choice:has(input:focus-visible){outline:2px solid currentColor;outline-offset:4px}
