/* jevlin.ai/midterms. Builds on /styles.css (fonts, nav, pills, footer). Mobile first. */
:root{
  --gutter:16px;
  --ink:#000;--muted:#6b6b6b;--line:#e4e4e4;--soft:#f5f5f5;
  --dem:#2a5fd6;--rep:#d63a2f;--oth:#6a5d7b;--pending:#cfcfcf;--nostate:#f0f0f0;
  --test:#e0241b;
}
@media (min-width:761px){:root{--gutter:clamp(20px,4vw,32px)}}

.mt [hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mt-wrap{max-width:1200px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.mt-h2{font-size:clamp(26px,3vw,36px);line-height:1.05;letter-spacing:-.02em;font-weight:400;margin:0}
.mt-note{font-size:14px;line-height:1.5;color:#444;margin:8px 0 0;max-width:70ch;text-wrap:pretty}
.mt-note--sm{font-size:12px;color:var(--muted)}
.mt-linkbtn{font:inherit;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:none;border:0;border-bottom:1px solid currentColor;padding:2px 0;cursor:pointer;color:#000}
.mt-linkbtn:hover{color:var(--muted)}

/* provider row under the question */
.mt-providers{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.mt-providers li{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#000}
.mt-providers img{width:24px;height:24px;display:block;object-fit:contain}
.mt-providers__lead{color:var(--muted)}
.mt-providers__lead svg{display:block}
.mt-providers__arrow{color:#000;margin-left:4px}

/* test banner */
.mt-testbanner{position:sticky;top:0;z-index:20;background:repeating-linear-gradient(-45deg,var(--test) 0 18px,#b81810 18px 36px);color:#fff;padding:14px var(--gutter);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;justify-content:center;text-align:center}
.mt-testbanner strong{font-family:var(--mono);font-size:clamp(16px,3.4vw,24px);letter-spacing:.04em;font-weight:500}
.mt-testbanner span{font-size:13px;opacity:.95}

/* hero */
.mt-hero{padding-top:24px;padding-bottom:32px}
.mt-title{font-size:clamp(34px,6.4vw,76px);line-height:.98;letter-spacing:-.035em;font-weight:400;margin:14px 0 16px;max-width:16ch}
.mt-lede{font-size:16px;line-height:1.45;margin:0;max-width:60ch;color:#222;text-wrap:pretty}
.mt-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:24px 0 0}
.mt-stat{background:#fff;padding:14px 14px 12px;min-width:0}
.mt-stat dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mt-stat dd{margin:6px 0 0;font-size:28px;letter-spacing:-.02em;line-height:1.05;overflow-wrap:anywhere}
.mt-stat--leader dd{font-size:20px;line-height:1.15}
.mt-stat__sub{margin:4px 0 0;font-size:12px;color:var(--muted)}
.mt-stat--leader{background:var(--accent)}
.mt-stat--leader dt,.mt-stat--leader .mt-stat__sub{color:#000}
.mt-countdown{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:24px 0 -8px;padding:16px 20px;background:#000;color:#fff;border-radius:8px}
.mt-countdown__label{color:#9a9a9a}
.mt-countdown__dot{display:none;width:10px;height:10px;border-radius:50%;background:var(--accent);align-self:center;flex:none}
.mt-countdown--live .mt-countdown__dot{display:block;animation:mt-blink 1.1s steps(1,end) infinite}
.mt-countdown--live .mt-countdown__label{color:var(--accent)}
.mt-countdown--done{background:var(--accent);color:#000}
.mt-countdown--done .mt-countdown__label,.mt-countdown--done .mt-countdown__t{color:#000}
.mt-countdown--done .mt-countdown__note{color:#222}
@keyframes mt-blink{0%,100%{opacity:1}50%{opacity:.15}}
@media (prefers-reduced-motion:reduce){.mt-countdown--live .mt-countdown__dot{animation:none}}
.mt-countdown__t{font-family:var(--mono);font-size:28px;font-weight:400;letter-spacing:-.01em;color:var(--accent);font-variant-numeric:tabular-nums}
.mt-countdown__note{flex-basis:100%;font-size:13px;line-height:1.45;color:#c8c8c8;text-wrap:pretty}
@media (min-width:761px){.mt-countdown__note{flex-basis:auto;flex:1;min-width:24ch}}
.mt-updated{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);margin:10px 0 0}
@media (min-width:761px){.mt-stats{grid-template-columns:1fr 1fr 1fr 1.6fr}.mt-stat dd{font-size:36px}.mt-stat--leader dd{font-size:24px}}

/* compact leaderboard strip (under the header) */
.mt-strip{padding-bottom:24px}
.mt-strip__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.mt-strip__list{list-style:none;margin:0;padding:0;border-top:1px solid #000}
.mt-strip__row{display:grid;grid-template-columns:2.2em minmax(0,1fr) auto 5.6em;gap:8px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.mt-strip__row.is-baseline{background:var(--soft)}
.mt-strip__row.is-computed{border-top:1px solid #000}
.mt-strip__row.is-hi{background:var(--accent)}
.mt-strip__rank{font-family:var(--mono);font-size:12px;color:var(--muted);padding-left:4px}
.mt-strip__name{min-width:0;overflow-wrap:anywhere}
.mt-strip__name .lb__tag{margin:0 0 0 6px;vertical-align:1px}
.mt-strip__min{font-variant-numeric:tabular-nums;white-space:nowrap}
.mt-strip__wrong{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap;padding-right:4px}
.mt-strip__wrong.is-wrong{color:#a3180f}
@media (min-width:761px){.mt-strip__list{max-width:640px}}

/* ask */
.mt-ask{padding-top:24px;padding-bottom:28px;border-top:1px solid #000}
.mt-ask__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px}
.mt-chip{font:inherit;font-size:13px;line-height:1.25;text-align:left;border:1px solid #000;background:#fff;color:#000;border-radius:999px;padding:8px 14px;cursor:pointer;max-width:100%}
.mt-chip:hover{background:#000;color:#fff}
.mt-chip--sm{font-size:12px;padding:5px 10px}
.mt-ask__form{display:flex;gap:8px}
.mt-ask__form input{flex:1;min-width:0;font:inherit;font-size:16px;border:1px solid #000;border-radius:999px;padding:10px 16px;background:#fff}
.mt-ask__form input:focus{outline:2px solid var(--accent);outline-offset:1px}
.mt-ask__form button{cursor:pointer;flex:none}
.mt-ask__form button:disabled{opacity:.5;cursor:wait}
.mt-turnstile:not(:empty){margin-top:12px}
.mt-answer{margin-top:16px;border-left:3px solid var(--accent);padding:4px 0 4px 14px}
.mt-answer__q{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.mt-answer__a{font-size:17px;line-height:1.45;margin:0;max-width:68ch;text-wrap:pretty}
.mt-answer__err{font-size:15px;margin:0;color:#7a1a12}
.mt-answer__err.is-paused{color:#000;background:var(--soft);padding:8px 10px;display:inline-block}
.mt-answer__used{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.mt-answer .chip--test{margin-top:10px;display:inline-block}

/* tabs, filters */
.mt-board{padding-top:8px;padding-bottom:32px}
.mt-tabs{display:flex;border-bottom:1px solid #000;gap:0;position:sticky;top:0;background:#fff;z-index:5}
body.is-test .mt-tabs{top:var(--banner-h,0)}
.mt-tabs button{flex:1;font:inherit;font-size:16px;background:none;border:0;border-bottom:3px solid transparent;padding:14px 4px 11px;cursor:pointer;color:var(--muted);white-space:nowrap}
.mt-tabs button[aria-selected="true"]{color:#000;border-bottom-color:#000}
.mt-tabs button span{font-family:var(--mono);font-size:11px;margin-left:4px;color:var(--muted)}
@media (min-width:761px){.mt-tabs button{flex:none;padding:16px 22px 13px;font-size:18px}}
.mt-viewbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--accent);padding:10px 12px;margin-top:12px;font-size:13px}
.mt-filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:14px 0}
.mt-seg{display:flex;flex-wrap:wrap;gap:6px}
.mt-seg button{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;border:1px solid #000;border-radius:999px;background:#fff;padding:7px 12px;cursor:pointer;color:#000}
.mt-seg button[aria-pressed="true"]{background:#000;color:#fff}
.mt-select{font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.mt-select select{font:inherit;font-size:14px;text-transform:none;letter-spacing:0;border:1px solid #000;border-radius:6px;padding:6px 8px;background:#fff;max-width:60vw}

/* map */
.mt-map{margin:8px 0 20px;position:relative}
.mt-map svg{display:block;width:100%;height:auto;max-height:520px}
.st{stroke:#fff;stroke-width:.8;transition:opacity .2s}
.st--none{fill:var(--nostate)}
.st--pending{fill:var(--pending)}
.st--d{fill:var(--dem)}
.st--r{fill:var(--rep)}
.st--o{fill:var(--oth)}
.st[role="button"]{cursor:pointer}
.st[role="button"]:hover,.st[role="button"]:focus-visible{stroke:#000;stroke-width:1.6;outline:none;filter:brightness(.9)}
.st--pending[role="button"]:hover,.st--pending[role="button"]:focus-visible{fill:var(--accent);filter:none}
.mt-tip{position:absolute;left:0;top:0;z-index:5;pointer-events:none;background:#000;color:#fff;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.4;max-width:300px;display:flex;flex-direction:column;gap:4px;box-shadow:0 6px 20px rgba(0,0,0,.18);text-wrap:pretty}
.mt-tip[hidden]{display:none}
.mt-tip__st{font-size:14px;font-weight:500}
.mt-tip__row{display:flex;align-items:center;gap:7px}
.mt-tip__row--muted,.mt-tip__hint{color:#9a9a9a}
.mt-tip__hint{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}
.mt-tip .dot{flex:none}
.dot--pending{background:var(--pending)}
.st.is-dim{opacity:.35}
.st.is-hi{stroke:#000;stroke-width:2.6}
.mt-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#333;margin-top:10px}
.mt-legend span{display:inline-flex;align-items:center;gap:6px}
.mt-legend__note{color:var(--muted)}
.sw{display:inline-block;width:12px;height:12px;border-radius:2px}
.sw--d{background:var(--dem)}.sw--r{background:var(--rep)}.sw--o{background:var(--oth)}.sw--pending{background:var(--pending)}.sw--none{background:var(--nostate);outline:1px solid var(--line)}

/* race cards */
.mt-empty{color:var(--muted);font-size:14px}
.mt-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media (min-width:640px){.mt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.mt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mt-group{margin-top:20px}
.mt-group__h{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:400;margin:0 0 10px;padding-top:12px;border-top:1px solid var(--line)}
.race{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff;min-width:0;display:flex;flex-direction:column;gap:8px;scroll-margin-top:80px}
.race.is-open{grid-column:1/-1}
.race.is-hi{border-color:#000;box-shadow:0 0 0 2px var(--accent)}
.race.is-engine{box-shadow:inset 4px 0 0 var(--accent)}
.race__head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.race__where{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-right:auto}
.race__name{font-size:18px;letter-spacing:-.01em;font-weight:400;margin:0}
.race__meta{margin:0;font-size:12px;color:var(--muted)}
.race__cands{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.race__cands li{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0}
.race__cand{overflow-wrap:anywhere}
.race__party{font-size:12px;color:var(--muted)}
.race__cands li.is-winner .race__cand{font-weight:500}
.race__ap{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;border:1px solid #000;border-radius:999px;padding:2px 7px;margin-left:auto;flex:none}
.dot{width:10px;height:10px;border-radius:50%;flex:none}
.dot--d{background:var(--dem)}.dot--r{background:var(--rep)}.dot--o{background:var(--oth)}
.race__call{margin:0;font-size:13px}
.race__call a{border-bottom:1px solid #000}
.race__call a:hover{text-decoration:none;color:var(--muted)}
.race__timeline{margin:0;font-size:14px;line-height:1.4;background:var(--soft);padding:8px 10px;border-radius:6px}
.race__pending{margin:0;font-size:13px;color:#444}
.race .mt-linkbtn{align-self:flex-start}
.race__detail{overflow-x:auto;margin:0 -4px}
.chip{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 8px;white-space:nowrap}
.chip--open{border:1px solid #bbb;color:#444}
.chip--closed{background:#000;color:#fff}
.chip--called{background:var(--accent);color:#000}
.chip--test{background:var(--test);color:#fff;font-weight:500}
.mt-etable{width:100%;border-collapse:collapse;font-size:12.5px}
.mt-etable th,.mt-etable td{text-align:left;padding:6px 6px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:400}
.mt-etable thead th{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.mt-etable tr.is-first th{font-weight:500}
.mt-etable tr.is-hi{background:var(--accent)}
.mt-etable a{border-bottom:1px solid #000}
.is-wrong{color:#a3180f;font-weight:500}

/* leaderboard */
.mt-lb{padding-top:28px;padding-bottom:32px;border-top:1px solid #000}
.mt-lb__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.mt-tablewrap{overflow-x:auto;margin:16px calc(-1 * var(--gutter)) 0;padding:0 var(--gutter);-webkit-overflow-scrolling:touch}
.mt-table{border-collapse:separate;border-spacing:0;width:100%;min-width:880px;font-size:14px}
.mt-table th,.mt-table td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;background:#fff;font-weight:400}
.mt-table thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);vertical-align:bottom;border-bottom:1px solid #000}
.mt-table thead th button{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:right;white-space:normal;max-width:12ch}
.mt-table thead th.is-sorted{color:#000}
.mt-table th:first-child{text-align:left}
.mt-table .is-sticky{position:sticky;left:0;z-index:1}
.mt-table .col-wrong{left:var(--c1,150px);border-right:1px solid var(--line)}
.mt-table th:first-child.is-sticky{width:150px;min-width:150px;max-width:150px;white-space:normal}
.lb__name{display:block}
.lb__tag{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid #ccc;border-radius:999px;padding:1px 6px;margin-top:3px}
.lb__tag--base{border-color:#000;color:#000}
.mt-table tr.is-baseline th,.mt-table tr.is-baseline td{background:var(--soft)}
.mt-table tr.is-hi th,.mt-table tr.is-hi td{background:var(--accent)}

/* method */
.mt-method{padding-top:28px;padding-bottom:28px;border-top:1px solid #000}
.mt-method__list{margin:14px 0 0;padding-left:20px;font-size:15px;line-height:1.5;max-width:70ch}
.mt-method__list li{margin-bottom:6px}
.mt-prereg{margin:18px 0 0;display:grid;gap:12px}
.mt-prereg dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mt-prereg dd{margin:4px 0 0;font-size:14px}
.mt-prereg code{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere;word-break:break-all}
.mt-footnote{font-size:14px;padding-top:20px;padding-bottom:28px;border-top:1px solid var(--line);margin:0 auto;color:#222}

@media (prefers-reduced-motion:reduce){.st{transition:none}}
