.portal[data-mode=prediction] .portal-layout{max-width:none}
.category-pending{display:inline-block;margin-top:12px;padding:4px 8px;border:1px solid var(--line);border-radius:3px;color:var(--panel-muted);font-size:10px;font-weight:500;letter-spacing:.03em}
.prediction-pending{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,88px);padding:24px 0 56px}
.prediction-pending-art{width:100%;max-width:570px;margin-inline:auto}
.prediction-pending-copy{max-width:480px}
.prediction-pending-status{display:flex;align-items:center;gap:8px;margin:0 0 22px;color:var(--panel-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.prediction-pending-status svg{width:18px;height:18px;flex:0 0 18px}
.prediction-pending h3{font-size:clamp(36px,4.5vw,62px);font-weight:350;letter-spacing:-.055em;line-height:1.04;text-wrap:balance;margin:0 0 22px}
.prediction-pending-copy>p:not(.prediction-pending-status){font-size:14px;line-height:1.75;color:var(--panel-muted);margin:0 0 26px}
.prediction-pending .portal-secondary{display:inline-flex;align-items:center;gap:20px;min-height:48px}
.prediction-pending .portal-secondary:focus-visible{outline:2px solid #68745c;outline-offset:4px}
@media(max-width:760px){.prediction-pending{grid-template-columns:minmax(0,1fr);gap:28px;padding:12px 0 36px}.prediction-pending-art{max-width:330px}.prediction-pending-copy{max-width:520px}.prediction-pending h3{font-size:38px}.prediction-pending-status{margin-bottom:16px}}
.prediction-provisional{font-size:12px;line-height:1.65;color:var(--panel-muted);margin:0 0 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.prediction-pacts{margin-top:16px;min-height:44px}
.prediction-party-name{overflow-wrap:anywhere}
.prediction-remove{grid-column:1/-1;justify-self:start;min-height:36px;border:0;background:transparent;text-decoration:underline;color:var(--panel-muted);font-size:11px;padding:0}
.custom-party-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.custom-party-form h5{font-size:16px;font-weight:500;margin:0 0 8px}
.custom-party-form p{font-size:12px;line-height:1.6;color:var(--panel-muted);margin:0 0 14px}
.custom-party-fields{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:12px;margin-bottom:12px}
.custom-party-fields label{display:grid;gap:8px;font-size:11px;min-width:0}
.custom-party-fields input{width:100%;min-width:0;height:44px;padding:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:3px;font:inherit;font-size:16px}
.custom-party-fields input[type=color]{padding:4px;cursor:pointer}
.custom-party-form button{min-height:44px}
.custom-party-form :is(input,button):focus-visible,.pact-editor summary:focus-visible{outline:2px solid #68745c;outline-offset:4px}
.custom-party-form #custom-party-feedback{margin-top:10px;min-height:20px}
.pact-editor{margin-top:24px;border-top:1px solid var(--line)}
.pact-editor>summary{min-height:52px;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:13px}
.pact-editor .prediction-editor{border-left:0;padding-left:0}
.pact-customize{width:100%;min-height:44px;margin-bottom:14px;font-size:12px}
.prediction-builder{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:clamp(36px,6vw,90px);align-items:start;padding:12px 0 40px}
.prediction-preview{position:sticky;top:168px;min-width:0;padding-top:14px}
.prediction-kicker{font-size:10px;letter-spacing:.14em;color:var(--panel-muted);margin:0 0 14px}
.prediction-preview h3{font-size:clamp(34px,4.6vw,62px);font-weight:350;letter-spacing:-.055em;line-height:1.03;max-width:520px;margin:0 0 34px;text-wrap:balance}
.prediction-chamber{display:block;width:100%;height:auto;overflow:visible}
.prediction-chamber circle{transition:fill 180ms ease}
.prediction-map{position:relative;container-type:inline-size;max-width:600px;margin-inline:auto}
.prediction-tally{position:absolute;left:50%;top:53%;transform:translateX(-50%);z-index:1;text-align:center;margin:0;pointer-events:none}
.prediction-tally>div{display:flex;align-items:baseline;justify-content:center;gap:8px}
.prediction-tally strong{font-size:clamp(24px,7cqw,46px);font-weight:300;letter-spacing:-.07em;line-height:1;font-variant-numeric:tabular-nums}
.prediction-tally span{font-size:clamp(10px,2.3cqw,14px);color:var(--panel-muted);white-space:nowrap}
.prediction-tally p{font-size:clamp(8px,1.8cqw,11px);color:var(--panel-muted);margin:7px 0 0;max-width:110px;line-height:1.5}
.prediction-progress{display:flex;height:6px;position:relative;background:#e1e2db;margin-top:24px}
.prediction-progress i{height:100%;transition:width 150ms ease}
.prediction-progress b{position:absolute;left:50.2857%;top:-5px;height:16px;width:1px;background:var(--ink)}
.prediction-summary{display:flex;justify-content:space-between;gap:12px;margin:12px 0 20px;line-height:1.5;font-size:11px}
.prediction-summary>span{color:var(--panel-muted)}
.prediction-summary strong{font-weight:500;text-align:right;max-width:60%}
.prediction-legend{display:flex;flex-wrap:wrap;gap:10px 18px;min-height:24px;font-size:11px;margin-bottom:26px}
.prediction-legend>span{display:inline-flex;gap:6px;align-items:center}
.prediction-legend i{width:7px;height:7px;border-radius:50%}
.prediction-legend strong{font-weight:600;font-variant-numeric:tabular-nums}
.prediction-publish{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:20px}
.prediction-publish .portal-primary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:50px;white-space:nowrap;font-size:14px}
.prediction-publish p{font-size:11px;line-height:1.6;color:var(--panel-muted);margin:0;max-width:190px}
.prediction-note{font-size:11px;line-height:1.7;color:var(--panel-muted);margin:16px 0 0}
.prediction-editor{border-left:1px solid var(--line);padding-left:clamp(24px,3vw,44px);min-width:0}
.prediction-editor h4{font-size:22px;font-weight:450;letter-spacing:-.035em;margin:12px 0}
.prediction-hint{font-size:13px;line-height:1.65;color:var(--panel-muted);margin:0 0 18px}
.prediction-presets{display:flex;flex-wrap:wrap;gap:2px 16px;align-items:center}
.prediction-presets button{font-size:11px;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 0;min-height:44px;text-align:left}
.prediction-feedback{font-size:12px;line-height:1.6;min-height:39px;margin:17px 0 0;color:var(--panel-muted)}
.prediction-party{display:grid;grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:0 10px;padding:12px 0 2px;border-top:1px solid var(--line)}
.prediction-party-name{display:flex;align-items:center;gap:9px;font-size:15px;line-height:1.3;min-width:0}
.prediction-party-name i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--party)}
.prediction-stepper{display:grid;grid-template-columns:42px 56px 42px;align-items:center}
.prediction-stepper button{height:44px;border:1px solid var(--line);border-radius:50%;background:none;font-size:20px}
.prediction-stepper input{font-size:21px;text-align:center;width:100%;min-width:0;height:44px;border:0;border-radius:4px;background:transparent;appearance:textfield;-moz-appearance:textfield;font-variant-numeric:tabular-nums;padding:0 2px}
.prediction-stepper input::-webkit-inner-spin-button,.prediction-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.prediction-stepper input[aria-invalid=true]{outline:2px solid #a95043;outline-offset:-2px}
.prediction-range{grid-column:1/-1;width:100%;height:36px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;touch-action:pan-y;accent-color:var(--party)}
.prediction-range::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--party) var(--fill),#e1e2db var(--fill));border-radius:2px}
.prediction-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-6.5px;border:3px solid var(--paper);border-radius:50%;background:var(--party);box-shadow:0 0 0 1px var(--party)}
.prediction-range::-moz-range-track{height:3px;background:#e1e2db}
.prediction-range::-moz-range-progress{height:3px;background:var(--party)}
.prediction-range::-moz-range-thumb{width:11px;height:11px;border:3px solid var(--paper);border-radius:50%;background:var(--party);box-shadow:0 0 0 1px var(--party)}
.prediction-more summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer;list-style:none;font-size:12px;border-top:1px solid var(--line)}
.prediction-more summary::-webkit-details-marker{display:none}
.prediction-more summary span{font-size:20px;font-weight:300}
.prediction-more[open] summary span{transform:rotate(45deg)}
.prediction-builder button:disabled{opacity:.38;cursor:default}
.prediction-builder :is(button,input,summary):focus-visible{outline:2px solid #68745c;outline-offset:4px}
@media(max-width:1000px){.prediction-builder{gap:28px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}.prediction-editor{padding-left:24px}.prediction-publish{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:760px){
 .prediction-builder{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:0}
 .prediction-preview{position:relative;top:auto;padding-top:4px}
 .prediction-kicker{font-size:9px;margin-bottom:12px}
 .prediction-preview h3{font-size:38px;max-width:320px;margin-bottom:24px}
 .prediction-editor{padding-left:0;border-left:0;border-top:1px solid var(--line)}
 .prediction-editor h4{margin-top:24px}
 .prediction-publish{flex-direction:row;align-items:center;gap:14px;padding-top:16px}.prediction-publish .portal-primary{padding-inline:15px;font-size:13px;gap:16px}
 .prediction-publish p{font-size:10px}.prediction-summary{font-size:10px}
 .prediction-stepper input{font-size:21px}.prediction-party{padding-top:10px}.prediction-party-name{font-size:16px}
}
@media(max-width:380px){.prediction-publish{flex-direction:column;align-items:stretch}.prediction-publish p{max-width:none}.prediction-preview h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){.prediction-chamber circle,.prediction-progress i{transition:none}}
@media(max-height:740px) and (min-width:761px){.prediction-preview{position:relative;top:auto}}

/* A shared workspace for distributing seats and trying coalitions. */
.portal[data-direct-editor=true]{padding-top:20px;--direct-nav-height:54px}
.portal[data-direct-editor=true] .portal-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 28px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.portal[data-direct-editor=true] .portal-intro{padding:0;border:0;min-width:0}
.portal[data-direct-editor=true] .portal-intro h2{font-size:clamp(32px,3.5vw,46px);max-width:none;letter-spacing:-.05em}
.portal[data-direct-editor=true] .portal-intro p:last-child{margin-top:8px;font-size:14px;line-height:1.55;max-width:60ch}
.portal[data-direct-editor=true] .portal-tabs{position:static;min-height:44px;margin:0;padding:0;border:0;gap:16px;background:none;min-width:0}
.portal[data-direct-editor=true] .portal-tabs .portal-field{width:180px;flex:0 0 180px;margin:0}
.portal[data-direct-editor=true] .portal-tabs .portal-field>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portal[data-direct-editor=true] .portal-tabs .portal-field select{min-height:44px}
.portal[data-direct-editor=true] .portal-tabs .back-categories{min-height:44px;padding-inline:4px}
.portal[data-direct-editor=true][data-wide=true] .portal-layout{max-width:1160px;padding-top:20px;padding-bottom:36px}
.portal[data-direct-editor=true] .portal-panel{padding-top:0;padding-bottom:0}
.direct-editor{min-width:0}
.direct-editor-tabs{display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);margin:0;padding:0}
.direct-editor-tabs button{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;border:0;padding:8px 0;background:none;color:var(--panel-muted);font-size:14px;line-height:1.4}
.direct-editor-tabs button::after{content:'';position:absolute;inset:auto 0 -1px;height:2px;background:var(--ink);transform:scaleX(0);transition:transform 180ms ease}
.direct-editor-tabs button[aria-pressed=true]{color:var(--ink);font-weight:600}
.direct-editor-tabs button[aria-pressed=true]::after{transform:scaleX(1)}
.direct-editor-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;min-height:55px;border-bottom:1px solid var(--line);background:var(--paper);font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums}
.direct-editor-status strong{font-weight:500;letter-spacing:-.015em}
.direct-editor-status>span{color:var(--panel-muted);font-size:13px;text-align:right}
.direct-editor .prediction-builder{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(28px,4vw,56px);padding:28px 0 0}
.direct-editor .prediction-preview{top:calc(var(--portal-nav-top) + 24px);padding-top:10px}
.direct-editor .prediction-kicker{margin-bottom:18px;font-size:10px;letter-spacing:.1em}
.direct-editor .prediction-map{max-width:570px}
.direct-editor .prediction-tally strong{font-size:clamp(28px,8cqw,48px);font-weight:350}
.direct-editor .prediction-tally span{font-size:clamp(10px,2.5cqw,14px)}
.direct-editor .prediction-tally p{max-width:150px;font-size:clamp(9px,2.1cqw,12px)}
.direct-editor .prediction-progress{height:7px;margin-top:24px}
.direct-editor .prediction-progress b{height:18px;top:-5px}
.direct-editor .prediction-progress [data-prediction-bar]{position:static;display:block;min-width:0;height:100%;transition:width 180ms ease}
.direct-editor .prediction-summary{align-items:baseline;margin:13px 0 18px;font-size:12px;line-height:1.5}
.direct-editor .prediction-summary>span{flex:0 0 auto}
.direct-editor .prediction-summary strong{max-width:65%;overflow-wrap:anywhere}
.direct-editor .prediction-summary .coalition-state{margin:0;font-size:12px;line-height:1.5;font-weight:500;text-align:right}
.direct-editor .prediction-summary .coalition-state.has-majority{color:#356848;font-weight:600}
.direct-editor .prediction-legend{gap:10px 16px;margin-bottom:20px;font-size:12px;line-height:1.5}
.direct-editor .prediction-legend>span{min-width:0;overflow-wrap:anywhere}
.direct-editor .prediction-legend i{flex:0 0 8px;width:8px;height:8px}
.direct-editor .prediction-editor{border:0;padding-left:0}
.prediction-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px;min-width:0}
.direct-editor .prediction-editor-heading h4{font-size:20px;font-weight:450;letter-spacing:-.035em;margin:0;min-width:0}
.direct-editor .custom-party-toggle{flex:0 0 auto;min-height:44px;border:1px solid var(--line);border-radius:4px;background:none;padding:9px 12px;font-size:12px;line-height:1.4}
.direct-editor .custom-party-toggle[aria-expanded=true]{border-color:#7b866d;background:#eef0e8}
.direct-editor .custom-party-form{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:4px;background:#f0f1eb}
.direct-editor .custom-party-form h5{font-size:15px;margin:0 0 7px}
.direct-editor .custom-party-form p{font-size:12px;line-height:1.5}
.direct-editor .custom-party-fields{grid-template-columns:minmax(0,1fr) 52px;gap:10px}
.direct-editor .custom-party-fields label{font-size:12px;gap:7px}
.direct-editor .custom-party-fields input{border-color:#c7cac0}
.direct-editor .custom-party-form button{margin:0}
.direct-editor .custom-party-form #custom-party-feedback{margin-bottom:0;min-height:0}
.direct-editor .prediction-hint{font-size:13px;margin-bottom:12px}
.direct-editor .prediction-presets{gap:0 18px;margin-bottom:2px}
.direct-editor .prediction-presets button{border:0;color:var(--panel-muted);font-size:12px;text-decoration:underline;text-decoration-color:#b6b9ae;text-underline-offset:4px}
.direct-editor .prediction-feedback{font-size:12px;min-height:22px;margin:6px 0 12px}
.direct-editor .prediction-party{grid-template-columns:minmax(0,1fr) 144px;gap:0 12px;padding:14px 0 4px}
.direct-editor .prediction-party-name{font-size:16px;line-height:1.4}
.direct-editor .prediction-party-name i{width:9px;height:9px;flex-basis:9px}
.direct-editor .prediction-stepper{grid-template-columns:44px 56px 44px}
.direct-editor .prediction-stepper button{min-width:44px;min-height:44px;line-height:1;border-color:#c7cac0}
.direct-editor .prediction-stepper input{font-size:24px;font-weight:450;letter-spacing:-.025em}
.direct-editor .prediction-units{grid-column:2;grid-row:2;font-size:10px;line-height:1.3;color:var(--panel-muted);font-weight:400;text-align:center}
.direct-editor .prediction-range{height:44px}
.direct-editor .prediction-remove{min-height:44px;max-width:100%;font-size:12px;line-height:1.4;text-decoration-color:#b6b9ae;text-underline-offset:4px}
.direct-editor .prediction-more summary{min-height:52px;font-size:13px}
.direct-pact-base{margin:0 0 18px}
.direct-pact-base .portal-field{margin:0;gap:7px}
.direct-pact-base .portal-field select{min-height:48px;font-size:14px}
.direct-pact-editor .interaction-hint{margin:0 0 16px;font-size:13px;line-height:1.6;color:var(--panel-muted)}
.direct-pact-editor .data-list{margin:0;border-top:1px solid var(--line)}
.direct-pact-editor .party-row{min-height:64px;gap:10px;border-left:2px solid transparent;padding:12px 10px;font-size:15px;line-height:1.4}
.direct-pact-editor .party-name{min-width:0;overflow-wrap:anywhere}
.direct-pact-editor .party-row strong{font-size:24px;font-weight:450;min-width:36px}
.direct-pact-editor .party-secondary{font-size:11px}
.direct-pact-editor .party-dot{width:9px;height:9px;flex-basis:9px}
.direct-pact-editor .party-check{width:26px;flex:0 0 26px;margin-left:2px}
.direct-pact-editor .party-row[aria-pressed=true]{border-left-color:var(--party);background:color-mix(in srgb,var(--party) 7%,var(--paper))}
.direct-pact-empty{padding:24px 0;border-block:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--panel-muted)}
.direct-pact-empty p{margin:0 0 12px}
.direct-pact-empty .portal-secondary{margin:0;min-height:44px}
.direct-editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:28px;padding-top:18px}
.direct-editor-actions :is(.portal-primary,.portal-secondary){min-height:48px;margin:0;padding:11px 18px;font-size:13px!important;gap:20px}
.direct-editor-actions .prediction-pacts{margin-top:0}
.direct-editor-actions .prediction-publish{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px;border:0;padding:0;margin:0}
.direct-editor-actions .prediction-publish p{max-width:260px;font-size:11px;line-height:1.6}
.direct-editor .prediction-provisional{margin:16px 0 0;padding:0;border:0;font-size:11px;line-height:1.7;max-width:80ch}
.direct-editor .prediction-note{font-size:11px;line-height:1.7;margin-top:10px;max-width:80ch}
.direct-editor :is(button,input,summary,select):focus-visible{outline:2px solid #4b6548;outline-offset:3px}
.direct-editor button:disabled{opacity:.4;cursor:default}
@media(hover:hover){
 .direct-editor-tabs button:hover{color:var(--ink)}
 .direct-editor .custom-party-toggle:hover{background:#eef0e8;border-color:#a5b197}
 .direct-editor .prediction-stepper button:not(:disabled):hover{background:#eeefe8}
 .direct-editor .prediction-presets button:hover,.direct-editor .prediction-remove:hover{color:var(--ink)}
}
@media(max-width:1000px) and (min-width:761px){
 .portal[data-direct-editor=true] .portal-heading{gap:14px 20px}
 .portal[data-direct-editor=true] .portal-tabs{gap:10px}
 .portal[data-direct-editor=true] .portal-tabs .portal-field{width:156px;flex-basis:156px}
 .direct-editor .prediction-builder{grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:28px}
 .direct-editor .prediction-editor-heading h4{font-size:18px}
 .direct-editor .custom-party-toggle{padding-inline:9px;font-size:11px}
}
@media(max-width:760px){
 .portal[data-direct-editor=true]{padding-top:14px;--direct-nav-height:0px}
 .portal[data-direct-editor=true] .portal-heading{display:contents}
 .portal[data-direct-editor=true] .portal-intro{padding-bottom:16px;border-bottom:1px solid var(--line)}
 .portal[data-direct-editor=true] .portal-intro h2{font-size:clamp(28px,7.3vw,34px);max-width:none;line-height:1.08}
 .portal[data-direct-editor=true] .portal-intro p:last-child{font-size:13px;line-height:1.6;max-width:40ch;margin-top:8px}
 .portal[data-direct-editor=true] .portal-tabs{position:sticky;top:var(--portal-nav-top);min-height:var(--direct-nav-height);padding:5px 22px;margin-inline:-22px;border-bottom:1px solid var(--line);background:var(--paper);gap:12px}
 .portal[data-direct-editor=true] .portal-tabs .portal-field{width:145px;flex-basis:145px}
 .portal[data-direct-editor=true] .portal-tabs .back-categories{font-size:12px;padding-inline:0;gap:6px;min-width:0}
 .portal[data-direct-editor=true] .portal-tabs .portal-field select{padding-left:8px;padding-right:24px;font-size:16px}
 .portal[data-direct-editor=true][data-wide=true] .portal-layout{padding-top:8px;padding-bottom:28px}
 .direct-editor-tabs{gap:26px}
 .direct-editor-tabs button{font-size:13px;min-height:48px}
 .direct-editor-status{position:sticky;top:calc(var(--portal-nav-top) + var(--direct-nav-height));z-index:6;min-height:56px;margin-inline:-22px;padding:12px 22px;font-size:13px;gap:10px;box-shadow:0 7px 12px -12px #24252266}
 .direct-editor-status>span{font-size:12px;max-width:50%}
 .direct-editor .prediction-builder{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:20px}
 .direct-editor .prediction-preview{position:relative;top:auto;padding-top:0}
 .direct-editor .prediction-kicker{font-size:9px;margin-bottom:10px}
 .direct-editor .prediction-map{max-width:440px}
 .direct-editor .prediction-progress{margin-top:18px}
 .direct-editor .prediction-summary{font-size:11px;margin-bottom:14px;gap:10px}
 .direct-editor .prediction-summary .coalition-state{font-size:11px}
 .direct-editor .prediction-legend{font-size:11px;margin-bottom:0;gap:8px 14px}
 .direct-editor .prediction-editor{padding-top:20px;border-top:1px solid var(--line)}
 .direct-editor .prediction-editor-heading{margin-bottom:14px;gap:8px}
 .direct-editor .prediction-editor-heading h4{font-size:19px;margin:0}
 .direct-editor .custom-party-toggle{font-size:12px;padding-inline:10px}
 .direct-editor .custom-party-form{padding:14px}
 .direct-editor .prediction-party{padding-top:14px;gap:0 10px}
 .direct-editor .prediction-party-name{font-size:15px}
 .direct-editor .prediction-stepper input{font-size:24px}
 .direct-pact-base .portal-field select{font-size:16px}
 .direct-pact-editor .party-row{min-height:64px;font-size:15px;padding-inline:8px;gap:8px}
 .direct-editor-actions{margin-top:22px;padding-top:16px;gap:10px}
 .direct-editor-actions .portal-primary{flex:1 1 100%;justify-content:space-between}
 .direct-editor-actions .portal-secondary{min-height:44px}
 .direct-editor .prediction-provisional{font-size:11px;margin-top:16px}
}
@media(max-width:380px){
 .direct-editor .prediction-editor-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}
 .direct-editor .prediction-editor-heading h4{flex:1;align-self:center;font-size:18px}
 .direct-editor .custom-party-toggle{font-size:11px;padding-inline:8px}
 .direct-editor .prediction-party{grid-template-columns:minmax(0,1fr) 136px;gap:0 8px}
 .direct-editor .prediction-stepper{grid-template-columns:44px 48px 44px}
 .direct-editor .prediction-party-name{font-size:14px;gap:7px}
 .direct-editor-status{font-size:12px}
 .direct-editor-status>span{font-size:11px}
 .direct-pact-editor .party-secondary{display:none}
}
@media(max-height:480px) and (orientation:landscape){
 .portal[data-direct-editor=true] .portal-tabs,.direct-editor-status{position:relative;top:auto}
 .direct-editor .prediction-preview{position:relative;top:auto}
}
@media(max-height:740px) and (min-width:761px){.direct-editor .prediction-preview{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.direct-editor-tabs button::after,.direct-editor .prediction-progress [data-prediction-bar]{transition:none}}

.prediction-allocation-editor{min-width:0}
.prediction-allocation-mode{border:0;padding:0;margin:0 0 20px;min-width:0}
.prediction-allocation-mode legend{font-size:12px;color:var(--panel-muted);margin-bottom:10px}
.prediction-allocation-mode .segmented{display:flex;flex-wrap:wrap;gap:4px}
.prediction-allocation-mode button{min-height:44px;flex:1;font-size:12px;white-space:normal}
.prediction-territory{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}
.prediction-territory>label{display:block;font-size:12px;margin-bottom:8px}
.prediction-territory select{width:100%;min-height:48px;font:inherit;font-size:16px;color:var(--ink);background:var(--panel-bg,#fafaf8);border:1px solid #c7cac0;border-radius:4px;padding:10px}
.prediction-territory-nav{display:flex;justify-content:space-between;gap:12px;margin:8px 0}
.prediction-territory-nav button{min-height:44px;background:none;border:0;font:inherit;font-size:12px;color:var(--ink);cursor:pointer}
.prediction-territory-nav button:disabled{opacity:.4;cursor:default}
.prediction-territory-nav button:active{transform:scale(.97)}
#prediction-district-status{font-size:14px;margin:8px 0}
#prediction-district-progress{font-size:12px;color:var(--panel-muted);margin:8px 0}
.direct-editor .prediction-allocation-editor .prediction-editor{border-top:0;padding-top:0}

.direct-editor>.prediction-allocation-mode{max-width:500px;margin:24px 0 0}
.prediction-start{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;margin:20px 0 0;padding:16px;border:1px solid var(--line);border-radius:4px;background:#eef0e8}
.prediction-start .portal-secondary{flex:0 1 auto;min-height:48px;margin:0;gap:16px;padding:11px 16px;background:var(--paper);font-size:13px;line-height:1.5;text-align:left}
.prediction-start p{flex:1 1 280px;min-width:0;margin:0;color:var(--panel-muted);font-size:12px;line-height:1.6}
@media(max-width:760px){.prediction-start{gap:12px;padding:14px}.prediction-start .portal-secondary{width:100%;justify-content:space-between}.prediction-start p{flex-basis:100%}}
.direct-editor[data-allocation-mode=districts] .prediction-preview{position:relative;top:auto;padding-top:0}
.prediction-map-heading h3{margin:0 0 7px;font-size:24px;font-weight:450;letter-spacing:-.035em;line-height:1.15}
.prediction-map-heading p{margin:0;color:var(--panel-muted);font-size:12px;line-height:1.6}
.prediction-map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:20px 0 16px;font-size:11px}
.prediction-map-legend>span{display:flex;align-items:center;gap:6px}
.prediction-map-legend i{width:9px;height:9px;border-radius:50%;background:#e1e3da;border:1px solid #bdc2b4}
.prediction-map-legend [data-map-legend=partial] i{background:#dec180;border-color:#ac8842}
.prediction-map-legend [data-map-legend=done] i{background:#6e8970;border-color:#6e8970}
.prediction-map-legend strong{font-weight:550;margin-left:2px}
.prediction-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.prediction-map-toolbar .segmented{flex:0 0 auto;display:flex}
.prediction-map-toolbar .segmented button{white-space:nowrap;min-height:40px;font-size:12px;padding:8px 12px}
.prediction-next-pending{border:0;background:none;color:var(--ink);font:inherit;font-size:12px;min-height:44px;cursor:pointer;padding:6px 0}
.prediction-next-pending span{margin-left:7px}
.prediction-next-pending:disabled{color:var(--panel-muted);opacity:.45;cursor:default}
.prediction-territory-map{display:block;width:100%;height:auto;margin:8px 0;overflow:visible}
.prediction-map-district{cursor:pointer;outline:none;--territory-fill:#e1e3da}
.prediction-map-district[data-state=partial]{--territory-fill:#dec180}
.prediction-map-district[data-state=done]{--territory-fill:#6e8970}
.prediction-map-district>path{fill:var(--territory-fill);stroke:#fafaf8;stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke;paint-order:fill stroke}
.prediction-map-district[aria-pressed=true]>path{stroke:var(--ink);stroke-width:2.5}
.prediction-map-district[aria-pressed=true]{filter:drop-shadow(0 2px 2px #24252225)}
.prediction-map-district:focus-visible>path{stroke:#242522;stroke-width:3.5}
.prediction-map-district:focus-visible .prediction-map-city-hit{stroke:var(--ink);stroke-width:2}
.prediction-map-mark circle{fill:#fafaf8;stroke:none}
.prediction-map-mark text{fill:#30352c;font:600 12px var(--font-body,Arial,sans-serif)}
.prediction-map-district[data-state=empty] .prediction-map-mark{display:none}
.prediction-map-district[data-state=done] .prediction-map-mark circle{fill:none}
.prediction-map-district[data-state=done] .prediction-map-mark text{fill:#fff;font-size:17px}
.prediction-geography[data-map-filter=pending] .prediction-map-district[data-state=done]:not([aria-pressed=true]){opacity:.24}
.prediction-map-city-hit{fill:transparent;stroke:#c7cac0;stroke-width:1;vector-effect:non-scaling-stroke}
.prediction-map-city-name,.prediction-map-inset-name{font-family:inherit;fill:var(--panel-muted);font-size:15px;pointer-events:none}
.prediction-map-inset{fill:none;stroke:#c7cac0;stroke-dasharray:4 5;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.prediction-map-footnote{font-size:10px;color:var(--panel-muted);line-height:1.6;margin:6px 0 18px}
.prediction-map-footnote a{color:inherit;text-underline-offset:3px}
.prediction-pending-territories{border-block:1px solid var(--line)}
.prediction-pending-territories summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:12px;cursor:pointer;list-style:none}
.prediction-pending-territories summary::-webkit-details-marker{display:none}
.prediction-pending-territories summary::after{content:'＋';font-size:18px}
.prediction-pending-territories[open] summary::after{content:'−'}
.prediction-pending-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:242px;overflow:auto;padding:0 3px 14px 0;scrollbar-width:thin}
.prediction-pending-list:empty{display:none}
.prediction-pending-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;text-align:left;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-size:12px;padding:9px 10px;cursor:pointer}
.prediction-pending-list button[aria-pressed=true]{border-color:#73806b;background:#eef0e8}
.prediction-pending-list button small{white-space:nowrap;color:var(--panel-muted);font-size:10px}
.prediction-national-details{margin-top:18px}
.prediction-national-details>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:12px;cursor:pointer;list-style:none}
.prediction-national-details>summary::-webkit-details-marker{display:none}
.prediction-national-details[open]>summary span{transform:rotate(45deg)}
.prediction-national-details .prediction-map{max-width:400px;margin:15px auto 0}
#prediction-editor-title{scroll-margin-top:190px;outline:none}
@media(hover:hover) and (pointer:fine){
 .prediction-map-district:hover>path{stroke:var(--ink);stroke-width:2}
 .prediction-pending-list button:hover{background:#eef0e8}
 .prediction-next-pending:not(:disabled):hover{text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:760px){
 .direct-editor[data-allocation-mode=districts] .prediction-builder{gap:20px}
 .direct-editor[data-allocation-mode=districts] .prediction-allocation-editor{border-top:1px solid var(--line);padding-top:20px}
 .direct-editor[data-allocation-mode=districts] .prediction-preview{padding-top:0}
 .prediction-map-heading h3{font-size:22px}
 .prediction-map-legend{gap:8px 14px;margin-top:16px}
 .prediction-map-toolbar{gap:4px 8px}
 .prediction-pending-list{grid-template-columns:1fr;max-height:230px}
 .prediction-territory-map{margin-block:14px}
 .prediction-next-pending{font-size:11px}
}

/* Soft surfaces shared with the refreshed portal, scoped to the prediction. */
.portal[data-mode=prediction]{--prediction-surface:#f5f5f7;--prediction-line:#e5e5e9;--panel-muted:#6e6e73}
.portal[data-mode=prediction] .portal-heading{border:0;padding-bottom:24px}
.portal[data-mode=prediction] .portal-intro h2{font-weight:350}
.portal[data-mode=prediction] .portal-tabs .back-categories{display:none}
.portal[data-mode=prediction] select{border:1px solid var(--prediction-line);border-radius:13px;background:#f5f5f7;padding:12px 16px}
.portal[data-mode=prediction] .direct-editor-tabs{display:inline-flex;padding:5px;gap:4px;background:#eeeef0;border:0;border-radius:16px;max-width:100%}
.portal[data-mode=prediction] .direct-editor-tabs button{padding:10px 20px;border-radius:12px;min-height:44px;font-size:13px;justify-content:center}
.portal[data-mode=prediction] .direct-editor-tabs button::after{display:none}
.portal[data-mode=prediction] .direct-editor-tabs button[aria-pressed=true]{background:#fff;box-shadow:0 2px 7px #0000000a}
.portal[data-mode=prediction] .direct-editor-status{border:0;background:transparent;padding-block:20px;font-size:16px}
.portal[data-mode=prediction] .direct-editor-status strong{font-weight:500}
.portal[data-mode=prediction] .prediction-start{margin:0;padding:18px 22px;border:1px solid var(--prediction-line);border-radius:20px;background:var(--prediction-surface)}
.portal[data-mode=prediction] :is(.portal-primary,.portal-secondary){border-radius:13px;transition:background 150ms ease,transform 150ms ease}
.portal[data-mode=prediction] .portal-primary{background:#242522;color:#fff;border-color:#242522}
.portal[data-mode=prediction] .portal-secondary{background:#fff;border-color:var(--prediction-line)}
.portal[data-mode=prediction] .prediction-allocation-mode{margin-top:24px}
.portal[data-mode=prediction] .prediction-allocation-mode legend{font-size:11px;color:var(--panel-muted);margin-bottom:10px}
.portal[data-mode=prediction] .segmented{border-radius:14px;background:#eeeef0;padding:4px;overflow:visible}
.portal[data-mode=prediction] .segmented button{min-width:0;border-radius:10px}
.portal[data-mode=prediction] .segmented button[aria-pressed=true]{background:#fff}
.portal[data-mode=prediction] .prediction-builder{gap:24px;padding-top:24px;grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr)}
.portal[data-mode=prediction] .prediction-preview{background:var(--prediction-surface);border:1px solid var(--prediction-line);border-radius:28px;padding:28px;overflow:hidden}
.portal[data-mode=prediction] .prediction-allocation-editor{padding:24px;border:1px solid var(--prediction-line);border-radius:28px;background:#fff}
.portal[data-mode=prediction] .prediction-editor-heading h4{font-weight:450;font-size:20px}
.portal[data-mode=prediction] .custom-party-toggle{border-radius:12px;border-color:var(--prediction-line);background:var(--prediction-surface)}
.portal[data-mode=prediction] .custom-party-toggle[aria-expanded=true]{background:#242522;color:#fff;border-color:#242522}
.portal[data-mode=prediction] .custom-party-form{border-radius:16px;background:var(--prediction-surface);border-color:var(--prediction-line)}
.portal[data-mode=prediction] .custom-party-fields input{border-radius:10px;border-color:var(--prediction-line)}
.portal[data-mode=prediction] .prediction-presets{gap:8px}
.portal[data-mode=prediction] .prediction-presets button{background:var(--prediction-surface);border-radius:10px;padding:9px 12px;text-decoration:none}
.portal[data-mode=prediction] .prediction-feedback{padding-block:4px}
.portal[data-mode=prediction] .prediction-party{border:0;background:color-mix(in srgb,var(--party) 5%,#fff);border-radius:16px;padding:14px 14px 3px;margin-bottom:10px}
.portal[data-mode=prediction] .prediction-party-name{font-weight:400;font-size:15px}
.portal[data-mode=prediction] .prediction-stepper button{background:#fff;border-color:#0000000d}
.portal[data-mode=prediction] .prediction-stepper input{font-weight:450}
.portal[data-mode=prediction] .prediction-range::-webkit-slider-runnable-track{height:4px;border-radius:4px}
.portal[data-mode=prediction] .prediction-range::-webkit-slider-thumb{background:#fff;border:0;width:20px;height:20px;margin-top:-8px;box-shadow:0 1px 5px #00000030}
.portal[data-mode=prediction] .prediction-range::-moz-range-thumb{background:#fff;border:0;width:20px;height:20px;box-shadow:0 1px 5px #00000030}
.portal[data-mode=prediction] .prediction-progress{border-radius:10px;background:#dedee3}
.portal[data-mode=prediction] .prediction-more summary{border-color:var(--prediction-line);padding-inline:5px}
.portal[data-mode=prediction] .prediction-legend>span{background:#fff;padding:6px 10px;border-radius:9px}
.portal[data-mode=prediction] .prediction-territory{border-color:var(--prediction-line)}
.portal[data-mode=prediction] .prediction-territory-nav button{background:var(--prediction-surface);border-radius:10px;padding-inline:10px}
.portal[data-mode=prediction] .prediction-pending-list button{background:#fff;border-color:var(--prediction-line);border-radius:11px}
.portal[data-mode=prediction] .prediction-pending-list button[aria-pressed=true]{border-color:#242522;background:#e8e8ec}
.portal[data-mode=prediction] .prediction-pending-territories{border-color:var(--prediction-line)}
.portal[data-mode=prediction] .direct-editor-actions{border-color:var(--prediction-line);padding-top:24px}
.portal[data-mode=prediction] :is(button,input,select,summary):focus-visible{outline:2px solid #242522;outline-offset:4px}
@media(hover:hover){
 .portal[data-mode=prediction] .portal-primary:hover{background:#414147}
 .portal[data-mode=prediction] :is(.portal-secondary,.prediction-stepper button,.custom-party-toggle,.prediction-presets button):not(:disabled):hover{background:#e8e8ed;color:#242522}
}
.portal[data-mode=prediction] button:not(:disabled):active{transform:scale(.98)}
@media(max-width:760px){
 .portal[data-mode=prediction] .portal-heading{padding-bottom:18px}
 .portal[data-mode=prediction] .prediction-builder{grid-template-columns:minmax(0,1fr);gap:18px}
 .portal[data-mode=prediction] .prediction-preview{padding:20px;border-radius:22px}
 .portal[data-mode=prediction] .prediction-allocation-editor{padding:18px;border-radius:22px}
 .portal[data-mode=prediction] .prediction-start{padding:16px}
 .portal[data-mode=prediction] .direct-editor-tabs{display:flex}
 .portal[data-mode=prediction] .direct-editor-tabs button{flex:1;padding-inline:12px}
 .portal[data-mode=prediction] .direct-editor-status{font-size:14px;align-items:baseline}
 .portal[data-mode=prediction] .direct-editor-status>span{font-size:12px}
 .portal[data-mode=prediction] .prediction-party{padding-inline:10px;gap:0 6px}
 .portal[data-mode=prediction] .prediction-editor-heading{flex-wrap:wrap}
 .portal[data-mode=prediction] .prediction-summary{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.portal[data-mode=prediction] :is(button,.portal-primary,.portal-secondary){transition:none;transform:none}}
@media(prefers-contrast:more){.portal[data-mode=prediction]{--prediction-line:#76767c}.portal[data-mode=prediction] .prediction-party{border:1px solid var(--prediction-line)}}
@media(max-width:760px){.portal[data-mode=prediction] .direct-editor-status{background:var(--paper);box-shadow:0 8px 14px #00000004}}

/* Compact seat entry: one row per party, with optional inline dragging on wide screens. */
.prediction-party-logo{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:34px;padding:3px;border-radius:8px;background:#fff}
.prediction-party-logo img{display:block;width:100%;height:100%;object-fit:contain}
.prediction-party-logo:is([data-logo=bildu],[data-logo=bng],[data-logo=adelante]){background:#343438}
.portal[data-mode=prediction] .prediction-party{grid-template-columns:minmax(0,1fr) 136px;gap:0 10px;min-height:58px;padding:6px 10px;margin-bottom:6px;border-radius:13px}
.portal[data-mode=prediction] .prediction-party-name{gap:8px;font-size:13px}
.portal[data-mode=prediction] .prediction-stepper{grid-template-columns:44px 48px 44px}
.portal[data-mode=prediction] .prediction-stepper input{font-size:21px}
.portal[data-mode=prediction] .prediction-units{display:none}
.portal[data-mode=prediction] .prediction-range{display:none}
.portal[data-mode=prediction] .prediction-editor-heading{margin-bottom:8px}
.portal[data-mode=prediction] .prediction-hint{margin-bottom:8px;font-size:12px}
.portal[data-mode=prediction] .prediction-feedback{min-height:0;margin:6px 0 10px;padding:0;font-size:11px}
.portal[data-mode=prediction] .prediction-presets button{min-height:36px;padding:6px 10px;font-size:11px}
.portal[data-mode=prediction] .prediction-more summary{min-height:44px}
@media(min-width:1200px){
 .portal[data-mode=prediction] .prediction-party{grid-template-columns:minmax(110px,1fr) minmax(55px,.65fr) 136px}
 .portal[data-mode=prediction] .prediction-range{display:block;grid-column:2;grid-row:1;height:44px}
 .portal[data-mode=prediction] .prediction-stepper{grid-column:3;grid-row:1}
}
@media(max-width:760px){
 .portal[data-mode=prediction] .direct-editor[data-allocation-mode=simple] .prediction-preview{padding:14px 18px}
 .portal[data-mode=prediction] .direct-editor[data-allocation-mode=simple] .prediction-map{max-width:240px}
 .portal[data-mode=prediction] .direct-editor[data-allocation-mode=simple] .prediction-progress{margin-top:10px}
 .portal[data-mode=prediction] .prediction-allocation-editor{padding:14px}
 .portal[data-mode=prediction] .prediction-party-name{gap:6px}
 .portal[data-mode=prediction] .prediction-party-logo{flex-basis:36px;width:36px;height:30px}
}

/* Put the workspace first: one compact toolbar instead of introductory panels. */
.portal[data-mode=prediction] .direct-editor-tabs{display:none}
.prediction-toolbar svg{width:20px;height:20px;flex:0 0 20px}
.portal[data-mode=prediction] .prediction-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.portal[data-mode=prediction] .prediction-toolbar .prediction-allocation-mode{margin:0;max-width:none;min-width:0;flex:0 1 auto}
.portal[data-mode=prediction] .prediction-toolbar legend,
.portal[data-mode=prediction] #prediction-start-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.portal[data-mode=prediction] .prediction-toolbar .segmented{margin:0}
.portal[data-mode=prediction] .prediction-toolbar .segmented button{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 16px;min-height:44px;text-transform:none}
.portal[data-mode=prediction] .prediction-start{padding:0;margin:0;border:0;background:none;display:block}
.portal[data-mode=prediction] .prediction-start .portal-secondary{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 12px;border:0;background:transparent;color:var(--panel-muted);font-size:12px}
.portal[data-mode=prediction] .direct-editor-status{position:static;margin-inline:0;min-height:0;padding:14px 2px 0;font-size:12px;box-shadow:none;background:transparent}
.portal[data-mode=prediction] .direct-editor-status>span{font-size:11px}
.portal[data-mode=prediction] .prediction-builder{padding-top:16px}
@media(max-width:760px){
 .portal[data-mode=prediction] .prediction-toolbar{gap:6px}
 .portal[data-mode=prediction] .prediction-toolbar .prediction-allocation-mode{flex:1 1 100%}
 .portal[data-mode=prediction] .prediction-start{margin-left:auto}
 .portal[data-mode=prediction] .prediction-start .portal-secondary{min-height:36px;padding-block:5px}
 .portal[data-mode=prediction] .direct-editor-status{padding-top:8px}
 .portal[data-mode=prediction] .prediction-toolbar .segmented button{padding-inline:12px}
}

.prediction-feedback:empty{display:none}
/* The geography communicates party leadership; progress stays in the counters. */
.prediction-map-mark{display:none}
.prediction-map-viewport{position:relative;overflow:hidden;border-radius:16px;margin-block:8px}
.prediction-map-viewport .prediction-territory-map{margin:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.prediction-map-viewport .prediction-territory-map:active{cursor:grabbing}

/* Coalition workspace: compact party choices and the shared neutral surfaces. */
.portal[data-mode=pacts]{--panel-muted:#6e6e73}
.portal[data-mode=pacts] .portal-heading{border:0;padding-bottom:22px}
.portal[data-mode=pacts] .portal-intro h2{font-weight:350}
.portal[data-mode=pacts] .portal-tabs .back-categories,
.portal[data-mode=pacts] .direct-editor-tabs{display:none}
.portal[data-mode=pacts] select{border:1px solid #e5e5e9;border-radius:13px;background:#f5f5f7;padding:12px 16px}
.portal[data-mode=pacts] .direct-pact-base{margin:0;max-width:480px}
.portal[data-mode=pacts] .direct-pact-base .portal-field{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.portal[data-mode=pacts] .direct-pact-base .portal-field>span{font-size:12px;color:var(--panel-muted)}
.portal[data-mode=pacts] .direct-pact-base select{flex:1;min-width:220px;width:auto}
.portal[data-mode=pacts] .direct-editor-status{position:static;margin:0;padding:16px 0 0;min-height:0;border:0;background:none;box-shadow:none;font-size:12px}
.portal[data-mode=pacts] .direct-editor-status>span{font-size:12px}
.portal[data-mode=pacts] .prediction-builder{padding-top:16px;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr)}
.portal[data-mode=pacts] .prediction-preview{padding:24px;border:1px solid #e5e5e9;background:#f5f5f7;border-radius:28px;overflow:hidden}
.portal[data-mode=pacts] .direct-pact-editor{padding:18px;border:1px solid #e5e5e9;background:#fff;border-radius:28px}
.portal[data-mode=pacts] .direct-pact-editor .data-list{display:grid;gap:7px;border:0}
.portal[data-mode=pacts] .direct-pact-editor .party-row{display:flex;gap:9px;min-height:58px;padding:8px 10px;border:1px solid transparent;border-radius:13px;background:color-mix(in srgb,var(--party) 5%,#fff);text-align:left}
.portal[data-mode=pacts] .direct-pact-editor .party-row[aria-pressed=true]{background:color-mix(in srgb,var(--party) 13%,#fff);border-color:color-mix(in srgb,var(--party) 45%,#fff)}
.portal[data-mode=pacts] .party-name{flex:1;font-size:15px;font-weight:400}
.portal[data-mode=pacts] .party-row strong{font-size:24px;font-weight:450;min-width:28px;font-variant-numeric:tabular-nums}
.portal[data-mode=pacts] .party-row .party-check{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:0;border-radius:50%;background:#fff;color:#6e6e73;font-size:18px}
.portal[data-mode=pacts] .party-row[aria-pressed=true] .party-check{background:#242522;color:#fff}
.portal[data-mode=pacts] .prediction-progress{border-radius:8px;background:#dedee3}
.portal[data-mode=pacts] .prediction-legend{margin-bottom:0}
.portal[data-mode=pacts] .prediction-legend>span{background:#fff;padding:6px 10px;border-radius:9px}
.portal[data-mode=pacts] :is(.portal-primary,.portal-secondary){min-height:44px;border-radius:13px;border-color:#e5e5e9}
.portal[data-mode=pacts] .portal-primary{background:#242522;color:#fff;border-color:#242522}
.portal[data-mode=pacts] .portal-secondary{background:#f5f5f7}
.portal[data-mode=pacts] .pact-customize{margin:14px 0 0;font-size:12px}
.portal[data-mode=pacts] .direct-editor-actions{border-color:#e5e5e9;margin-top:22px}
.portal[data-mode=pacts] :is(button,select):focus-visible{outline:2px solid #242522;outline-offset:3px}
@media(hover:hover){.portal[data-mode=pacts] .party-row:hover{border-color:var(--party)}.portal[data-mode=pacts] .portal-primary:hover{background:#414147}}
@media(min-width:1200px){.portal[data-mode=pacts] .direct-pact-editor .data-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portal[data-mode=pacts] .party-row .party-check{width:23px;flex-basis:23px;height:23px}.portal[data-mode=pacts] .prediction-party-logo{width:34px;flex-basis:34px}}
@media(max-width:760px){
 .portal[data-mode=pacts] .prediction-builder{grid-template-columns:minmax(0,1fr);gap:16px}
 .portal[data-mode=pacts] .prediction-preview{padding:14px 18px;border-radius:22px}
 .portal[data-mode=pacts] .prediction-map{max-width:250px}
 .portal[data-mode=pacts] .prediction-progress{margin-top:12px}
 .portal[data-mode=pacts] .direct-pact-editor{padding:14px;border-radius:22px}
 .portal[data-mode=pacts] .direct-editor-status{gap:10px;font-size:11px}
 .portal[data-mode=pacts] .direct-editor-status>span{font-size:11px}
 .portal[data-mode=pacts] .direct-pact-base select{width:100%;font-size:14px}
}
@media(prefers-contrast:more){.portal[data-mode=pacts] .party-row{border-color:#76767c}.portal[data-mode=pacts] .party-row[aria-pressed=true]{border-color:#242522}}
.portal[data-mode=pacts] .direct-pact-base{max-width:620px}
.portal[data-mode=pacts] .direct-pact-base .portal-field{display:grid;grid-template-columns:auto minmax(0,1fr);text-align:left;margin:0}
.portal[data-mode=pacts] .direct-pact-base .portal-field>span{width:auto;margin:0}
.portal[data-mode=pacts] .direct-pact-base select{width:100%;margin:0}
@media(max-width:760px){.portal[data-mode=pacts] .direct-pact-base .portal-field{grid-template-columns:minmax(0,1fr);gap:7px}}
