:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:900px;margin:0 auto;padding:2rem;text-align:left}.card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem}.card h2{margin-top:0;font-size:1rem;color:#aaa;text-transform:uppercase;letter-spacing:.05em}@media(prefers-color-scheme:light){.card{background:#00000008;border-color:#00000014}.card h2{color:#666}}.landing{text-align:center}.landing h1{font-size:2rem;margin-bottom:.5rem}.tagline{color:#888;margin-bottom:.5rem}.landing-desc{color:#999;max-width:420px;margin:0 auto 2rem;font-size:.95rem;line-height:1.5}.landing nav{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.page{padding:1rem 0}.page h1{font-size:1.75rem;margin-bottom:1rem}.page h2{font-size:1.1rem;margin:1rem 0 .5rem}.page section{margin-bottom:1.5rem}.page section label{display:block;margin:.25rem 0}.page .hint{color:#888;font-size:.9rem}.btn{display:inline-block;padding:.6em 1.2em;border-radius:8px;border:1px solid transparent;font-size:1em;font-weight:500;cursor:pointer;text-decoration:none;margin-right:.5rem;margin-bottom:.5rem}.btn.primary{background:#646cff;color:#fff}.btn.primary:hover{background:#535bf2}.btn.secondary{background:transparent;border-color:#646cff;color:#646cff}.btn.secondary:hover{background:#646cff1a}button.btn{border:none}.error{color:#e74c3c;margin-bottom:1rem}.page select,.setup select,select.styled,.setup .segment-select,.rally-target select{min-width:120px;padding:.5rem 2rem .5rem .75rem;font-size:.95rem;color:var(--text, #eee);background:#1a1a2af2;border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='%23888'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.page select:hover,.page select:focus,.setup select:hover,.setup select:focus{border-color:#646cff80;outline:none}.page select option,.setup select option{background:#1a1a2a;color:#eee}.setup select[multiple]{min-width:200px;background-image:none}.setup form button[type=submit]{margin-top:1rem}.setup-split{display:grid;grid-template-columns:1fr 380px;grid-template-rows:auto 1fr;gap:0 2rem;max-width:1200px;margin:0 auto;align-items:start}.setup-split .setup-header{grid-column:1 / -1;grid-row:1;display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:1rem}.setup-split .setup-header .error{text-align:center}.setup-split .setup-left{grid-column:1;grid-row:2;min-width:0}.setup-split .setup-right-wrap{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:0;align-items:stretch;min-height:0}.setup-split .setup-right-spacer{display:none}.setup-split .setup-right-wrap .setup-right{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.setup-right{display:flex;flex-direction:column;gap:1rem}@media(max-width:900px){.setup-split{grid-template-columns:1fr;grid-template-rows:auto auto auto}.setup-split .setup-header{grid-column:1;grid-row:1}.setup-split .setup-left{grid-column:1;grid-row:2}.setup-split .setup-right-wrap{grid-column:1;grid-row:3}.setup-split .setup-right-spacer{min-height:0;display:none}}.setup-map-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;margin-bottom:0}@media(prefers-color-scheme:light){.setup-map-card{background:#00000008;border-color:#00000014}}.setup-map-card h3{margin:0 0 .75rem;font-size:1rem;color:#aaa}.setup-map-card-sketch{border:1px solid rgba(100,149,237,.35);background:#ffffff08}.setup-map-card-sketch .map-name-below{margin:.75rem 0 0;font-size:1rem;font-weight:700;color:#1e3a5f}@media(prefers-color-scheme:dark){.setup-map-card-sketch .map-name-below{color:#93c5fd}}.setup-map-card-sketch .map-backstory{margin:.35rem 0 0;font-size:.8rem;color:#666}.fictional-map{border-radius:8px;overflow:hidden}.map-svg{width:100%;height:auto;display:block}.map-svg .map-region-label{font-size:6px;fill:#fffffff2;font-weight:600;pointer-events:none}.map-svg .map-capital-star{font-size:10px;fill:#fcd34d;pointer-events:none}.map-legend{font-size:.75rem;color:#666;margin:.5rem 0 0}.setup-right-content,.setup-right-single{width:100%}.opposition-card-wrap{margin-top:1rem}.setup-field-inline{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}.setup-field-inline .label{font-size:.85rem;color:#888}.name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.name-row .candidate-display-name{font-weight:600;font-size:1.05rem}.name-row .btn-edit{padding:.35rem .6rem;font-size:.8rem}.setup-name-input{padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#0003;color:inherit;font-size:1rem;width:100%;max-width:200px}.party-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.party-row .party-name{font-weight:600}.party-row .party-short{font-size:.9rem;color:#888}.party-row .btn.small{padding:.35rem .6rem;font-size:.8rem}.candidate-bio{font-size:.9rem;color:#aaa;line-height:1.45;margin:.5rem 0 0}.archetype-label{font-size:.8rem;color:#666;margin:.25rem 0 0}.archetype-attrs-compact{margin-top:1rem;display:grid;gap:.4rem}.setup-manifesto-card{background:linear-gradient(145deg,#282837f2,#191923fa);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;box-shadow:0 4px 20px #0000004d}.setup-manifesto-card .manifesto-header{border-bottom:2px solid rgba(100,108,255,.4);padding-bottom:.75rem;margin-bottom:1rem}.setup-manifesto-card .manifesto-title{display:block;font-size:1.1rem;font-weight:700;color:#c4b5fd;letter-spacing:.02em}.setup-manifesto-card .manifesto-subtitle{font-size:.8rem;color:#888}.manifesto-list{list-style:none;padding:0;margin:0}.manifesto-item{display:flex;gap:.75rem;margin:.75rem 0;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.manifesto-item:last-child{border-bottom:0}.manifesto-num{width:1.5rem;height:1.5rem;border-radius:50%;background:#646cff;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.manifesto-desc{margin:.25rem 0 0;font-size:.85rem;color:#999;line-height:1.4}.manifesto-empty{color:#666;font-size:.9rem;font-style:italic;margin:1rem 0}.setup-segments-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem}.setup-segments-card .segments-card-title{margin:0 0 1rem;font-size:1rem;color:#ccc}.segments-visual-list{list-style:none;padding:0;margin:0}.segments-visual-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem}.segments-visual-item:last-child{border-bottom:0}.segments-rank{font-weight:700;color:#646cff;min-width:2rem}.setup-media-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem}.setup-media-card .media-card-title{margin:0 0 1rem;font-size:1rem;color:#ccc}.setup-summary-card .summary-heading{margin:0 0 1rem;font-size:1.1rem;color:#ccc}.setup-summary-card .summary-list{margin:0;padding:0;display:grid;gap:.35rem 1rem;grid-template-columns:auto 1fr}.setup-summary-card .summary-list dt{color:#888;font-size:.9rem}.setup-summary-card .summary-list dd{margin:0;font-size:.95rem}.setup-summary-card .summary-details{margin-top:1rem}.setup-summary-right-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem}.setup-summary-right-card .summary-ready-text{margin:0;color:#aaa;font-size:.95rem;line-height:1.5}.avatar-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem}.avatar-card.user{border-color:#646cff}.avatar-card.opposition{border-color:#f59e0b}.avatar-placeholder{width:56px;height:56px;border-radius:50%;background:#646cff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;margin-bottom:.5rem}.avatar-placeholder.opp{background:#f59e0b}.avatar-card h4{margin:0 0 .25rem;font-size:1rem}.party-short{font-size:.8rem;color:#888;margin:0 0 .35rem}.archetype-name{font-size:.9rem;color:#aaa;margin:0}.candidate-name{font-size:.9rem;font-weight:600;margin:.35rem 0}.backstory{font-size:.8rem;color:#999;line-height:1.4;margin:.5rem 0 0}.opp-strength-opt{display:block;padding:.6rem .75rem;margin:.35rem 0;border-radius:8px;border:1px solid rgba(255,255,255,.15);cursor:pointer}.opp-strength-opt.selected{border-color:#646cff;background:#646cff1f}.opp-strength-opt .opt-label{font-weight:600;display:block}.opp-strength-opt .opt-hint{font-size:.8rem;color:#888}.setup .row{display:flex;align-items:center;gap:.75rem;margin:.5rem 0;flex-wrap:wrap}.setup .row span:first-child{min-width:140px}.setup .range-val{font-weight:600}.archetype-card{margin-top:1rem}.archetype-desc{color:#aaa;font-size:.95rem;margin-bottom:1rem}.archetype-attrs{display:grid;gap:.5rem}.attr-row{display:grid;grid-template-columns:140px 1fr 40px;align-items:center;gap:.5rem}.attr-label{font-size:.9rem}.attr-bar{height:6px;background:#333;border-radius:3px;overflow:hidden}.attr-fill{height:100%;background:#646cff;border-radius:3px}.attr-value{font-size:.85rem;color:#888}.policy-grid{display:flex;flex-wrap:wrap;gap:.5rem}.policy-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);cursor:pointer;font-size:.9rem}.policy-chip.selected{border-color:#646cff;background:#646cff26}.media-grid{display:flex;flex-wrap:wrap;gap:1rem}.media-grid label{display:flex;align-items:center;gap:.5rem}.media-label{text-transform:capitalize;min-width:80px}.media-pie-wrap{margin:1rem 0;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.media-pie{width:160px;height:160px;border-radius:50%;flex-shrink:0}.media-pie.empty{background:#333;display:flex;align-items:center;justify-content:center;color:#666;font-size:1.25rem}.media-pie-legend{list-style:none;padding:0;margin:0;font-size:.9rem}.media-pie-legend li{display:flex;align-items:center;gap:.5rem;margin:.25rem 0}.media-pie-legend .dot{width:10px;height:10px;border-radius:50%}.media-pie-hint{color:#666;font-size:.9rem;margin:.5rem 0}.media-total{font-weight:600;margin-top:.5rem}.media-allocation-rows{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0}.media-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.media-row .media-label{text-transform:capitalize;min-width:90px;font-size:.9rem}.media-slider-wrap{flex:1;min-width:100px}.media-slider{width:100%;height:8px;border-radius:4px;background:#ffffff1a;appearance:none;-webkit-appearance:none}.media-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#646cff;cursor:pointer;border:2px solid rgba(255,255,255,.3);box-shadow:0 1px 3px #0000004d}.media-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#646cff;cursor:pointer;border:2px solid rgba(255,255,255,.3)}.media-row .media-number{width:3.5rem;padding:.4rem .5rem;text-align:right;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0003;color:inherit;font-size:.95rem}.media-row .media-pct{color:#888;font-size:.9rem}.media-total-ok{color:#4ade80}.media-total-hint{margin-top:.25rem;color:#f59e0b;font-size:.85rem}.budget-how{margin-bottom:1rem}.budget-how summary{cursor:pointer;color:#aaa;font-size:.95rem}.budget-how ul{margin:.5rem 0 0 1rem;padding:0;font-size:.9rem;color:#bbb;line-height:1.45}.budget-how li{margin:.35rem 0}.map-backstory{font-size:.9rem;color:#999;margin:.25rem 0 .5rem;line-height:1.4}.setup-stepper{margin-bottom:1.25rem}.setup-stepper .step-indicator{font-size:.9rem;color:#888;display:block;margin-bottom:.5rem}.setup-stepper .step-dots{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}.setup-stepper .step-dot{width:10px;height:10px;border-radius:50%;border:1px solid #555;background:#2a2a2a;cursor:pointer;padding:0;transition:background .2s,border-color .2s}.setup-stepper .step-dot:hover{background:#444;border-color:#666}.setup-stepper .step-dot.active{background:#646cff;border-color:#646cff}.setup-stepper .step-dot.done{background:#333;border-color:#555}.setup-stepper .step-title{margin:0;font-size:1.05rem;color:#ccc}.setup-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;gap:1rem}.setup-actions .btn{min-width:120px}.segment-row{display:flex;align-items:center;gap:.5rem;margin:.35rem 0}.segment-row .rank{font-weight:600;width:1.5rem}.segment-priorities-card .segment-priority-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.segment-priority-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px}.segment-rank{font-weight:700;color:#646cff;min-width:1.75rem;font-size:.9rem}.segment-priority-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.segment-priority-body .segment-label-text{font-weight:500;font-size:.95rem}.segment-trait{font-size:.75rem;color:#888}.segment-move-btns{display:flex;flex-direction:column;gap:.15rem}.btn-icon{width:28px;height:24px;padding:0;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#aaa;border-radius:4px;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){background:#646cff33;color:#fff;border-color:#646cff}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.region-launch-highlight{filter:drop-shadow(0 0 4px rgba(255,255,255,.6))}.btn-launch{margin-top:.5rem;padding:.75em 1.5em;font-size:1.05rem}.dashboard .metrics{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.dashboard .metric{min-width:140px}.dashboard .metric .label{display:block;color:#888;font-size:.9rem}.dashboard .metric .value{font-weight:600}.dashboard .bar{height:8px;background:#333;border-radius:4px;overflow:hidden;margin:.25rem 0}.dashboard .bar .fill{height:100%;background:#646cff;transition:width .3s}.momentum-curve{display:flex;align-items:flex-end;gap:2px;height:24px;margin-top:.35rem}.momentum-curve .curve-bar{flex:1;min-width:4px;background:#646cff;border-radius:2px;opacity:.8}.dashboard .regional ul,.dashboard .events ul{list-style:none;padding:0;margin:.5rem 0}.dashboard .regional li,.dashboard .events li{padding:.25rem 0}.dashboard .actions{margin-top:2rem}.opponent-line{color:#999;font-size:.95rem;margin:-.5rem 0 1rem}.dashboard-top-shared{display:grid;grid-template-columns:50% 50%;gap:1.5rem;align-items:stretch;margin:1rem 0;max-width:100%;min-height:320px}.dashboard-top-shared .dashboard-map-card{min-width:0;display:flex;flex-direction:column}.dashboard-top-shared .dashboard-map-card h3{margin:0 0 .5rem;flex-shrink:0}.dashboard-top-shared .campaign-map-wrap{flex:1;min-height:240px;display:flex;align-items:stretch;justify-content:center}.dashboard-top-shared .campaign-map-wrap .map-svg,.dashboard-top-shared .campaign-map-wrap .campaign-map-svg{width:100%;height:100%;min-height:220px;object-fit:contain}.dashboard-top-shared .campaign-map-wrap svg{width:100%;height:100%;min-height:220px}.dashboard-top-shared .map-placeholder{width:100%;height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;color:#666;font-size:.9rem}.dashboard-top-right{display:flex;flex-direction:column;gap:.2rem;min-width:0;min-height:0}.dashboard-top-right .dashboard-metrics-card,.dashboard-top-right .dashboard-key-dates{flex:1 1 0;min-height:0;overflow:visible}.dashboard-top-right .card{padding:.5rem .65rem}.dashboard-metrics-card{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-content:flex-start}.dashboard-metrics-card .metric{min-width:90px}.dashboard-metrics-card .metric .label{display:block;color:#888;font-size:.8rem}.dashboard-metrics-card .metric .value{font-weight:600;font-size:.9rem}.dashboard-metrics-card .bar{height:5px;background:#333;border-radius:3px;overflow:hidden;margin:.15rem 0}.dashboard-metrics-card .bar .fill{height:100%;border-radius:3px;transition:width .2s}.dashboard-metrics-card .momentum-curve{display:flex;align-items:flex-end;gap:2px;height:14px;margin-top:.2rem}.dashboard-metrics-card .curve-bar{flex:1;min-width:3px;border-radius:2px;opacity:.8}.dashboard-top-shared .dashboard-key-dates{min-width:0}.dashboard-top-shared .dashboard-key-dates h3{margin:0 0 .2rem;font-size:.9rem}.dashboard-top-shared .dashboard-key-dates ul{list-style:none;padding:0;margin:.15rem 0 0;font-size:.85rem}.dashboard-top-shared .dashboard-key-dates li{padding:.1rem 0}.dashboard-top-shared .dashboard-key-dates li.past{color:#666}.dashboard-top-shared .dashboard-key-dates li.current{color:#646cff;font-weight:500}@media(max-width:700px){.dashboard-top-shared{grid-template-columns:1fr;min-height:0}.dashboard-top-right{min-width:0}.dashboard-top-right .dashboard-metrics-card,.dashboard-top-right .dashboard-key-dates{flex:0 0 auto}.dashboard-top-shared .campaign-map-wrap{min-height:200px}}.dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;margin-top:1rem}@media(max-width:900px){.dashboard-split{grid-template-columns:1fr}}.dashboard-half{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem}.dashboard-half h2{margin:0 0 1rem;font-size:1.1rem;color:#aaa;border-bottom:2px solid;padding-bottom:.5rem}.dashboard-half h3{font-size:.95rem;margin:1rem 0 .35rem;color:#888}.opposition-panel .opposition-card{border-left-width:3px;border-left-style:solid}.dashboard-sticky-card{position:sticky;bottom:0;margin-top:2rem;padding:1rem 1rem 1.25rem;background:#1e1e2e;border:1px solid rgba(255,255,255,.12);border-radius:12px;z-index:10}.sticky-card-inner{max-width:100%;margin:0 auto}.sticky-card-row{display:flex;flex-direction:column;gap:.75rem}.sticky-card-title-row{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.sticky-card-title-row h3{margin:0;font-size:1rem}.sticky-card-title-row .hint{margin:0;font-size:.9rem;color:#888}.sticky-card-options-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sticky-card-options-row .focus-options{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}.sticky-card-options-row .rally-target{margin:0;display:flex;align-items:center;gap:.5rem}.sticky-card-options-row .rally-target select{min-width:140px}.sticky-card-options-row .btn.primary{flex-shrink:0}.sticky-card-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.sticky-settings-wrap{position:relative;margin-left:auto}.btn-icon-settings{width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;border-radius:8px;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#aaa}.btn-icon-settings:hover{background:#ffffff1a;color:#fff}.settings-dropdown{position:absolute;bottom:100%;right:0;margin-bottom:.35rem;background:#1e1e2e;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.35rem 0;min-width:160px;box-shadow:0 4px 12px #0006;z-index:20}.settings-dropdown .settings-item{display:block;width:100%;padding:.5rem 1rem;border:none;background:none;color:#eee;font-size:.9rem;text-align:left;cursor:pointer}.settings-dropdown .settings-item:hover{background:#ffffff14}.sticky-card-resolved{margin:0;color:#888}.settings-backdrop{position:fixed;inset:0;z-index:5}.opposition-name{font-weight:600;margin:0 0 .15rem}.opposition-party{color:#888;font-size:.9rem;margin:0 0 .75rem}.opposition-this-week{margin-bottom:1rem}.opposition-activity{margin:.35rem 0 0;color:#ccc;font-size:.95rem;line-height:1.4}.opposition-events ul{list-style:none;padding:0;margin:.35rem 0 0;font-size:.9rem;color:#999}.opposition-events li{padding:.2rem 0}.opposition-quote{font-style:italic;color:#aaa;margin:.5rem 0 0;font-size:.9rem}.week-review{border-left:3px solid #646cff}.week-review-headline{font-weight:600;margin:0 0 .35rem}.week-review-line{margin:0;color:#bbb;font-size:.95rem}.milestone-msg{background:#22c55e26;border:1px solid rgba(34,197,94,.4);border-radius:8px;padding:.5rem 1rem;margin-bottom:1rem;font-size:.95rem}.metric-tip-link{font-size:.75rem;color:#666;margin-left:.25rem;text-decoration:none}.metric-tip-link:hover{color:#646cff}.distance-to-win .value{color:#22c55e}.poll-line .poll-status{font-size:.85rem;margin-left:.25rem}.poll-line .poll-status.ahead{color:#22c55e}.poll-line .poll-status.behind{color:#ef4444}.poll-line .poll-status.toss-up{color:#eab308}.key-date-reminder{margin:.5rem 0;padding:.35rem .75rem;background:#646cff1a;border-radius:8px;font-size:.9rem}.key-dates ul{list-style:none;padding:0;margin:.35rem 0 0;font-size:.9rem}.key-dates li{padding:.2rem 0}.key-dates li.past{color:#666}.key-dates li.current{color:#646cff;font-weight:500}.adviser-hint .hint{margin:0;color:#eab308}.campaign-map-wrap{margin-top:.5rem;border-radius:8px;overflow:hidden}.campaign-map-svg{width:100%;height:auto;display:block}.difficulty-badge{font-size:.7rem;padding:.15rem .4rem;border-radius:4px;background:#ffffff1a;color:#888;margin-left:.35rem}.results-summary{color:#999;font-size:1rem;margin-bottom:1rem}.btn.sound-toggle{font-size:.85rem;padding:.4em .8em;color:#888}.dashboard .metrics.card{display:flex;flex-wrap:wrap;gap:1.5rem}.segment-support .segment-bars{list-style:none;padding:0;margin:0}.segment-support .segment-bars li{display:grid;grid-template-columns:120px 1fr 44px;align-items:center;gap:.5rem;margin:.35rem 0}.seg-name{text-transform:capitalize;font-size:.9rem}.seg-pct{font-weight:600;font-size:.9rem}.bar.small{height:6px}.week-decision .focus-options{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.focus-chip{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);cursor:pointer;font-size:.9rem}.focus-chip.selected{border-color:#646cff;background:#646cff33}.rally-target{margin-top:.75rem;display:flex;align-items:center;gap:.5rem}.rally-target select{min-width:160px}.muted{color:#666;font-style:italic}.results .outcome{font-size:1.5rem;font-weight:700;margin:1rem 0}.results .outcome.win{color:#27ae60}.results .outcome.loss{color:#e74c3c}.results .vote-pct{font-size:1.2rem}.results .breakdown{margin:1rem 0;padding-left:1.5rem}.results .actions{margin-top:2rem}.guide .lead{color:#999;margin-bottom:1.5rem}.guide section.card{margin-bottom:1.5rem}.guide h2{margin-top:0}.guide h3{font-size:1rem;margin:1rem 0 .5rem;color:#aaa}.guide ul{padding-left:1.25rem;margin:.5rem 0}.guide .back-link{margin-top:1.5rem}
