.challenge-progress{display:flex;align-items:center;gap:18px;margin-bottom:18px;font-size:14px}.challenge-progress strong{font-size:16px;white-space:nowrap}.challenge-progress progress{accent-color:var(--navy);height:9px;width:180px;max-width:30%}.challenge-progress>span{color:var(--muted);margin-left:auto}.challenge-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.challenge-tabs button{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:55px;padding:12px 16px;background:#eef3f7;border:1px solid #c1cfdb;border-radius:4px;font-family:inherit;font-weight:600;font-size:16px;line-height:1.4;color:var(--navy);cursor:pointer}.challenge-tabs button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.challenge-tabs button span{font-size:14px;font-weight:400;white-space:nowrap}.challenge-tabs button:focus-visible,.challenge-race button:focus-visible{outline:3px solid var(--gold-strong);outline-offset:3px}.challenge-section-heading{margin:0 0 20px}.challenge-section-heading h2{font:400 29px/1.2 Georgia,serif;margin:0 0 9px}.challenge-section-heading p{margin:0;font-size:16px;color:var(--muted)}.challenge-races{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.challenge-race{padding:20px;border:1px solid #cbd7e0;border-radius:5px;background:#fff}.challenge-race-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:13px}.challenge-race h3{font-family:inherit;font-weight:600;font-size:19px;line-height:1.35;margin:0;color:var(--navy)}.challenge-race-head>span{font-size:14px;white-space:nowrap;color:var(--muted)}.challenge-race .leg-candidates{margin:0 0 10px}.challenge-race .leg-pick{width:100%;min-height:62px}.challenge-ticket-note{font-size:14px;color:var(--muted);margin:0 0 12px}.challenge-race .leg-text-button{font-size:14px;text-align:left}.challenge-race button:disabled{opacity:.5;cursor:default}.challenge-race .leg-pick strong{font-size:16px}.challenge-race .leg-pick small{font-size:14px}#leg-simulator>[hidden]{display:none!important}#leg-simulator>.leg-presets{margin-top:18px}#leg-simulator>.leg-session{margin-top:15px}.guide-summary{padding:20px;background:var(--navy);color:white;border-radius:5px;margin-bottom:16px}.guide-summary h2{font:400 27px/1.2 Georgia,serif;margin:0 0 8px}.guide-summary p{font-size:14px;color:#d3dfe9;margin:0}.guide-summary dl{margin:17px 0 0;display:grid;gap:8px}.guide-summary dl>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #526579;padding-top:8px}.guide-summary dt{font-size:16px}.guide-summary dd{font-size:24px;font-weight:700;margin:0}.guide-candidates .leg-holder{margin:10px 0}.guide-candidates .leg-holder span{font-size:14px}.guide-challenge-link{display:flex;gap:20px;align-items:center;margin-top:28px;padding:20px;background:#eef3f7;border-left:4px solid #aa332e;border-radius:4px}.guide-challenge-link p{margin:0;font-size:17px}.leg-seat[data-status=contested]{background:#527d9f;color:white}.leg-seat[data-status=uncontested]{background:#c5a35b;color:#10243e}.leg-seat[data-status=continuing]{background:#d1d9e1;color:#10243e}
@media(max-width:800px){.challenge-tabs button{display:block;text-align:left;font-size:14px;padding:10px}.challenge-tabs button span{display:block;margin-top:5px}.challenge-progress>span{display:none}.challenge-progress progress{max-width:none;flex:1}.challenge-races{grid-template-columns:1fr}.guide-challenge-link{display:block}.guide-challenge-link p{margin-bottom:14px}.challenge-race-head{display:block}.challenge-race-head>span{display:block;margin-top:5px}}
/* Long informational chamber counts must wrap on phones. */
.leg-chambers{grid-template-columns:repeat(2,minmax(0,1fr))}.leg-chamber{min-width:0}.leg-chamber-total{white-space:normal;overflow-wrap:anywhere}
@media(max-width:520px){.leg-chamber-total{line-height:1.5}.leg-chamber>span{min-width:0}}
.challenge-page .leg-intro{padding-block:25px 20px;gap:20px}.challenge-page .leg-intro h1{font-size:38px;margin:5px 0 8px}.challenge-page .leg-intro p{font-size:16px;max-width:750px}.challenge-page .leg-intro .eyebrow{font-size:14px;margin:0}.challenge-progress{margin-bottom:12px}.challenge-tabs{margin-bottom:12px}.challenge-tools{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.preset-disclosure{flex:1;border:1px solid #c1cfdb;border-radius:4px;background:#f6f8fa}.preset-disclosure summary{padding:10px 14px;cursor:pointer;color:var(--navy);font-weight:600;font-size:14px}.preset-disclosure .leg-presets{border:0;margin:0;padding:4px 14px 14px}.challenge-tools>button{padding:10px 18px;min-height:43px;background:white;border:1px solid #bdcbd8;border-radius:4px;color:var(--navy);cursor:pointer}.address-note{margin:14px 0;padding:12px 16px;background:#eef3f7;border-left:3px solid #c3a35d;font-size:14px}.address-note p{margin:6px 0}.address-note button{margin:6px 12px 6px 0;padding:6px 9px;border:1px solid #9caebb;background:white;border-radius:3px;cursor:pointer}
@media(max-width:800px){.challenge-page .leg-intro{padding-block:20px 14px;display:block}.challenge-page .leg-intro h1{font-size:31px}.challenge-page .leg-intro p{font-size:14px;margin:6px 0}.challenge-page .leg-district-link{font-size:14px;display:inline-block;margin-top:3px}.challenge-tabs{gap:7px}.challenge-tabs button{font-size:14px;min-height:64px;padding:8px}.challenge-tabs button span{font-size:14px;margin-top:3px}.challenge-progress strong{font-size:14px}.challenge-page .leg-chamber{padding:10px;gap:6px}.challenge-page .leg-chamber strong{font-size:15px}.challenge-page .leg-chamber small{font-size:14px}.challenge-page .leg-chamber-total{font-size:14px}.challenge-page .leg-chambers{margin-bottom:12px}.challenge-page .leg-map-toolbar{padding:12px;gap:8px}.challenge-page .leg-map-toolbar h3{font-size:16px}.challenge-tools{margin-bottom:12px}}
@media(max-width:800px){.challenge-page .leg-intro .eyebrow{display:none}.challenge-page .leg-intro{padding-block:16px 12px}.challenge-page .leg-intro .leg-district-link{margin-top:3px}.challenge-page .leg-intro p{line-height:1.45}.challenge-page .leg-chamber{line-height:1.35}.challenge-page .leg-chamber-total{line-height:1.35;margin-top:5px}.challenge-page .leg-map-toolbar{padding:9px 12px}}
@media(min-width:801px){.challenge-page .leg-intro{padding-block:19px 16px}.challenge-page .leg-intro .eyebrow{display:none}.challenge-page .leg-chamber{padding:11px 16px;line-height:1.35}}

/* Keep entry within reach without opening or requiring the contest form. */
.challenge-entry-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 18px;margin:0 0 16px;background:#fffdf7;border:1px solid #ded7c8;border-radius:6px;box-shadow:0 4px 14px #10243e0d}
.challenge-entry-bar .challenge-progress{display:grid;grid-template-columns:minmax(160px,420px);gap:5px;margin:0;min-width:0}
.challenge-entry-bar .challenge-progress strong{font-size:15px;line-height:1.3}
.challenge-entry-bar .challenge-progress progress{width:100%;max-width:none;height:7px}
.challenge-next-pick{padding:0;border:0;background:none;color:var(--navy);font:inherit;font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:24px}
.challenge-entry-bar small{font-size:14px;line-height:1.4;color:var(--muted)}
.challenge-entry-action{display:grid;justify-items:center;gap:5px;flex-shrink:0}
.challenge-page .contest-entry-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:12px 22px;border:1px solid #932624;border-radius:5px;background:#a82e2b;color:#fff;font:700 17px/1.2 Arial,sans-serif;box-shadow:0 2px 0 #771d1b;cursor:pointer;white-space:nowrap;transition:background .15s}
.challenge-page .contest-entry-button:hover{background:#862320}
.challenge-page .contest-entry-button:disabled{background:#66717b;border-color:#66717b;box-shadow:none;cursor:default}
.challenge-page .contest-entry-button:focus-visible,.challenge-next-pick:focus-visible{outline:3px solid var(--gold-strong);outline-offset:4px}
.challenge-page .contest-invitation{background:#f3f0e7;border:1px solid #ded7c8;border-radius:6px;padding:20px}
.challenge-page .challenge-race,.challenge-page .leg-detail,.challenge-page #leg-selected-heading{scroll-margin-top:130px}
.challenge-page .leg-sidebar{top:126px}
html:has(.challenge-page){scroll-padding-top:120px}
@media(max-width:600px){.challenge-entry-bar{gap:10px;padding:12px 10px;margin-bottom:12px}.challenge-entry-bar .challenge-progress{grid-template-columns:minmax(0,1fr);flex:1;gap:4px}.challenge-entry-bar .challenge-progress strong{font-size:14px;white-space:normal}.challenge-entry-bar .challenge-next-pick{font-size:14px;line-height:1.35}.challenge-entry-action{gap:6px}.challenge-entry-action small{font-size:14px}.challenge-page .contest-entry-button{font-size:14px;padding:12px 13px;gap:10px;min-height:48px}.challenge-entry-bar #challenge-complete{font-size:14px}.challenge-page .contest-invitation{padding:18px}.challenge-page .contest-invitation .contest-entry-button{width:100%;font-size:16px}.challenge-page .contest-invitation>div:last-child{justify-items:stretch}}
@media(prefers-reduced-motion:reduce){.challenge-page .contest-entry-button{transition:none}}

/* Three-field entry: attached predictions can be reviewed without extra input. */
.challenge-page .contest-dialog{max-width:680px}.contest-attached-summary{padding:10px 13px;margin:12px 0;background:#eef3f7;border-radius:4px;color:var(--navy);font-size:14px}.challenge-page .contest-all-picks{margin:10px 0 16px}.challenge-page .contest-all-picks .contest-review{margin-top:16px}.contest-submit-agreement{font-size:14px;line-height:1.5;color:#445365;margin:14px 0}.contest-submit-agreement a{text-decoration:underline;text-underline-offset:2px}.challenge-page .contest-form-intro{margin-top:14px}.challenge-page .contest-privacy{font-size:14px}.challenge-page .contest-form-actions button[type=submit]{background:#a82e2b;border-color:#a82e2b}.challenge-page .contest-form-actions button[type=submit]:disabled{background:#67737d;border-color:#67737d;cursor:default}

.challenge-page .contest-dialog{padding:22px}.challenge-page .contest-dialog h2{font-size:30px;margin-bottom:10px}.challenge-page .contest-tagline{font-size:15px;line-height:1.4;margin-bottom:8px}.challenge-page .contest-status{font-size:14px;margin-bottom:10px}.challenge-page .contest-attached-summary{padding:8px 11px;font-size:14px;margin:9px 0}.challenge-page .contest-all-picks summary{padding:10px 12px;font-size:14px}.challenge-page .contest-fields{margin:15px 0;gap:14px}.challenge-page .contest-dialog .contest-final-note{font-size:14px;margin:8px 0 0}.challenge-page .contest-form-actions{margin:14px 0 8px}

.challenge-estimate{display:grid;gap:.35rem;margin:.9rem 0;padding:.8rem 1rem;background:#edf3f8;border-left:3px solid #526d89;border-radius:5px;font-size:.9rem;line-height:1.5}.challenge-estimate small{font-size:.875rem;color:#465366}.challenge-method{font-size:.9rem;line-height:1.55;margin-top:.8rem}.challenge-method summary{cursor:pointer;font-weight:700}.challenge-method p{max-width:80ch}

/* Keep starting over beside the race count in the sticky progress bar. */
.challenge-progress-heading{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}
.challenge-clear-all{border:1px solid #b7c4d0;border-radius:4px;background:#fff;padding:7px 11px;min-height:36px;color:var(--navy);font:600 14px/1.25 Arial,sans-serif;white-space:nowrap;cursor:pointer}
.challenge-clear-all:hover{background:#eef3f7;border-color:var(--navy)}
.challenge-clear-all:focus-visible{outline:3px solid var(--gold-strong);outline-offset:3px}
@media(max-width:600px){.challenge-progress-heading{gap:6px}.challenge-clear-all{padding:6px 8px;font-size:14px;min-height:32px}}
/* Keep decisions first and the persistent progress controls compact. */
.scenario-inputs{margin-top:5px}.scenario-inputs summary{font-size:14px;font-weight:650;cursor:pointer;color:#29465f;padding:4px 0}.scenario-inputs small{display:block;margin-top:6px}.challenge-estimate{margin:10px 0;padding:10px 12px}.challenge-estimate>small{line-height:1.45}
@media(min-width:801px){.challenge-entry-bar{padding:9px 14px;gap:18px}.challenge-entry-bar .challenge-progress{display:grid;grid-template-columns:auto minmax(120px,220px) auto;align-items:center;gap:12px;flex:1}.challenge-entry-bar .challenge-progress-heading{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.challenge-entry-bar .challenge-progress progress{min-width:100px}.challenge-entry-action{display:flex;align-items:center;gap:12px}.challenge-entry-action small{max-width:75px}.challenge-page .contest-entry-button{min-height:42px;padding:10px 15px;font-size:15px}.challenge-entry-bar #challenge-complete{grid-column:1/-1}.challenge-page .leg-sidebar{top:88px}.challenge-page .challenge-race,.challenge-page .leg-detail,.challenge-page #leg-selected-heading{scroll-margin-top:95px}html:has(.challenge-page){scroll-padding-top:90px}}
@media(max-width:600px){.challenge-entry-bar{padding:8px 10px;gap:9px}.challenge-entry-bar .challenge-progress{gap:3px}.challenge-entry-bar .challenge-next-pick{font-size:13px}.challenge-entry-action{gap:3px}.challenge-entry-action small{font-size:12px}.challenge-page .contest-entry-button{min-height:42px;padding:9px 11px}}

/* Clear replaces undo; warning stays visible on the control. */
#leg-clear-picks{display:grid;align-content:center;justify-items:center;gap:3px;min-width:190px;max-width:240px;padding:8px 12px}#leg-clear-picks>span{font-weight:650}#leg-clear-picks small{font-size:12px;line-height:1.35;color:#6a3431;white-space:normal}#leg-clear-picks:disabled{opacity:.6;cursor:default}#leg-clear-picks:focus-visible{outline:3px solid #c9a45e;outline-offset:3px}
@media(max-width:600px){#leg-clear-picks{min-width:145px;max-width:165px;padding:8px}#leg-clear-picks small{font-size:11px}}

.preset-replace-warning{font-size:13px;line-height:1.5;color:#684c31;background:#f5eedf;border-left:3px solid #c9a45e;padding:9px 12px;margin:12px 0}.preset-replace-warning strong{font-weight:650}

.applied-poll-context{margin:12px 0;padding:13px 15px;background:#edf4ef;border-left:3px solid #54705b;border-radius:2px;font-size:13px;color:#294735;line-height:1.5}.applied-poll-context>strong{display:block;font-size:14px}.applied-poll-context p{margin:7px 0}.applied-poll-context a{font-weight:650}.separate-scenario-preview{margin:10px 0;font-size:13px}.separate-scenario-preview>summary{cursor:pointer;font-weight:650;color:#465769;padding:6px 0}

/* The prediction tool is primary; contest entry is an optional secondary action. */
.challenge-page .challenge-entry-bar .contest-entry-button{background:#fffdf8;color:#29465f;border:1px solid #9babb9;box-shadow:none;font-size:14px;min-height:40px;padding:9px 14px}.challenge-page .challenge-entry-bar .contest-entry-button:hover{background:#edf2f6;border-color:#526b81}.challenge-page .challenge-entry-bar .contest-entry-action small{max-width:none;color:#596879;font-size:12px}.contest-invitation h2{font:400 24px/1.2 Georgia,serif;color:#10243e;margin:0 0 10px}.contest-invitation p{max-width:730px}.challenge-page .contest-invitation .contest-entry-button{font-size:15px;background:#29465f;border-color:#29465f;box-shadow:none;min-height:44px}.challenge-page .contest-invitation .contest-entry-button:hover{background:#10243e}

/* Owner-requested red entry action beside the tool heading. */
.tool-entry-header{display:grid;justify-items:end;align-content:start;gap:6px;min-width:165px}.challenge-page .tool-entry-header .contest-entry-button{background:#a82e2b;border-color:#932624;color:#fff;box-shadow:none;min-height:44px;padding:11px 20px;font-size:15px}.challenge-page .tool-entry-header .contest-entry-button:hover{background:#862320}.challenge-page .tool-entry-header .contest-entry-button:disabled{background:#66717b;border-color:#66717b}.tool-entry-header small{font-size:12px;color:#596879;line-height:1.4}.tool-entry-rules{font-size:12px;color:#465769;font-weight:600}
@media(min-width:801px){.challenge-entry-bar .challenge-progress{grid-template-columns:auto minmax(120px,1fr) auto;width:100%}}
@media(max-width:800px){.tool-entry-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 14px;min-width:0;margin-top:14px}.challenge-page .tool-entry-header .contest-entry-button{min-height:44px;font-size:14px;padding:11px 17px}.tool-entry-header small{font-size:12px}.tool-entry-rules{font-size:12px}}

/* Focused pick flow: a lean header, one reset, and a prominent next race. */
.challenge-page .leg-intro{padding-block:14px 12px;gap:16px}
.challenge-page .leg-intro h1{font-size:34px;margin:0 0 5px}
.challenge-page .leg-intro p{font-size:14px;line-height:1.45;margin:0}
.tool-entry-header{gap:5px;min-width:0;align-content:center}
.tool-entry-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.challenge-page .tool-entry-header .contest-entry-button{font-size:14px;min-height:44px;padding:9px 14px}
.challenge-page .leg-app .challenge-entry-bar{display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:18px;padding:8px 12px;margin-bottom:10px;background:#f6f8fa;border-color:#cbd7e0;box-shadow:0 3px 10px #10243e0a}
.challenge-page .leg-app .challenge-entry-bar .challenge-progress{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:100%;min-width:0}
.challenge-page .leg-app .challenge-entry-bar .challenge-progress strong{font-size:14px;line-height:1.3;white-space:normal}
.challenge-page .leg-app .challenge-entry-bar .challenge-progress progress{width:100%;max-width:none;min-width:0;height:6px;grid-column:auto;grid-row:auto}
.challenge-page .leg-app .challenge-progress-actions{display:flex;align-items:center;gap:10px;min-width:0}
.challenge-page .leg-app .challenge-entry-bar .challenge-next-pick{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 18px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:#fff;font:700 14px/1.25 Arial,sans-serif;text-align:center;text-decoration:none;white-space:nowrap;grid-column:auto;grid-row:auto}
.challenge-page .leg-app .challenge-entry-bar .challenge-next-pick:hover{background:#29465f}
.challenge-page .leg-app .challenge-entry-bar .challenge-next-pick[hidden]{display:none}
.challenge-page .leg-app .challenge-entry-bar #leg-clear-picks{min-width:155px;max-width:none;min-height:44px;padding:5px 10px;gap:2px;border:1px solid #b7c4d0;border-radius:4px;background:#fff;color:var(--navy);font:600 13px/1.25 Arial,sans-serif}
.challenge-page .leg-app .challenge-entry-bar #leg-clear-picks small{font-size:11px;font-weight:400;line-height:1.25}
.challenge-page .leg-app .challenge-tabs{gap:8px;margin-bottom:8px}
.challenge-page .leg-app .challenge-tabs button{min-height:48px;padding:9px 12px;font-size:15px}
.challenge-tools{margin-bottom:10px}
.challenge-page .leg-sidebar{top:84px}
.challenge-page .challenge-race,.challenge-page .leg-detail,.challenge-page #leg-selected-heading{scroll-margin-top:90px}
html:has(.challenge-page){scroll-padding-top:85px}
@media(max-width:800px){
 .challenge-page .leg-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding-block:12px}
 .challenge-page .leg-intro>div:first-child,.challenge-page .tool-entry-header{display:contents}
 .challenge-page .leg-intro h1{font-size:28px;grid-column:1;grid-row:1;margin:0;align-self:center}
 .challenge-page .tool-entry-header .contest-entry-button{grid-column:2;grid-row:1;padding:9px 12px;min-height:44px}
 .challenge-page .leg-intro>div:first-child>p:not(.eyebrow){grid-column:1/-1;grid-row:2;font-size:14px;margin:0}
 .tool-entry-meta{grid-column:1/-1;grid-row:3;justify-content:flex-start;gap:12px}
 .challenge-page .leg-app .challenge-entry-bar{grid-template-columns:minmax(0,1fr);gap:7px;padding:8px 10px;margin-bottom:8px}
 .challenge-page .leg-app .challenge-entry-bar .challenge-progress{grid-template-columns:auto minmax(50px,1fr);align-items:center;gap:12px}
 .challenge-page .leg-app .challenge-entry-bar #challenge-complete{grid-column:1/-1}
 .challenge-page .leg-app .challenge-progress-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.8fr);gap:8px}
 .challenge-page .leg-app .challenge-entry-bar .challenge-next-pick{padding:9px 10px;gap:7px;font-size:14px;white-space:normal}
 .challenge-page .leg-app .challenge-entry-bar #leg-clear-picks{min-width:0;padding:5px 6px}
 .challenge-page .leg-app .challenge-tabs button{font-size:13px;padding:8px;min-height:54px!important}
 .challenge-page .leg-app .challenge-tabs button span{font-size:12px;margin-top:3px}
 .challenge-tools{margin-bottom:8px}
 .challenge-page .challenge-race,.challenge-page .leg-detail,.challenge-page #leg-selected-heading{scroll-margin-top:110px}
 html:has(.challenge-page){scroll-padding-top:105px}
}
@media(max-width:360px){.challenge-page .leg-intro h1{font-size:24px}.challenge-page .leg-app .challenge-entry-bar .challenge-progress strong{font-size:13px}.challenge-page .leg-app .challenge-progress-actions{grid-template-columns:minmax(0,1fr) 130px}.challenge-page .leg-app .challenge-entry-bar .challenge-next-pick{font-size:13px}.challenge-page .leg-app .challenge-entry-bar #leg-clear-picks small{font-size:10px}}
