:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--bg-dark:#09131f;--bg-card:#142335;--bg-glass:#0d1b2a;--border-glass:#34485f;--text-primary:#f7f9fc;--text-secondary:#bdc9d8;--text-muted:#9eacbd;--primary-accent:#0b6b78;--accent-hover:#108292;--focus:#ffd166;--red:#ef4b53;--blue:#4a86df;--green:#2cc28d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:var(--bg-dark);color:var(--text-primary);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}.app-container{width:100%;max-width:100%;height:100vh;min-height:620px;display:flex;position:relative;overflow:hidden}.glass{background:var(--bg-glass);border:1px solid var(--border-glass)}.simulator-sidebar{z-index:10;border-width:0 1px 0 0;flex-direction:column;flex:0 0 430px;gap:20px;width:430px;padding:24px;display:flex;overflow-y:auto}.app-header{padding-bottom:2px}.app-header h1{color:var(--text-primary);letter-spacing:-.035em;line-height:1.08}.eyebrow{color:#77c8d1;letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800}.intro-copy,.card-note{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.data-as-at{color:#9eb8c5;margin:8px 0 0;font-size:12px;font-weight:650}.seat-search{position:relative}.search-field{min-height:42px;color:var(--text-secondary);border:1px solid var(--border-glass);background:#101f30;border-radius:7px;align-items:center;gap:9px;padding:8px 12px;display:flex}.search-field:focus-within{border-color:#77c8d1}.search-field input{width:100%;color:var(--text-primary);background:0 0;border:0;outline:0}.search-field input::placeholder{color:var(--text-muted)}.seat-search-results{z-index:50;border:1px solid var(--border-glass);background:#101f30;border-radius:7px;max-height:260px;padding:4px;position:absolute;top:46px;left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #00000059}.seat-search-result,.tipping-seat,.path-seat-list button{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.seat-search-result:hover,.tipping-seat:hover,.path-seat-list button:hover{background:#203249}.view-tabs{border:1px solid var(--border-glass);background:#101f30;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:5px;padding:4px;display:grid}.toggle-btn{min-height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 5px;font-size:13px;font-weight:700}.toggle-btn:hover{color:var(--text-primary);background:#203249}.toggle-btn.active{color:#fff;background:var(--primary-accent)}.glass-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:10px;padding:20px}.controls-card{margin:0}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading h2{letter-spacing:.055em;text-transform:uppercase;margin:0;font-size:14px}.text-button{color:#8edbe4;cursor:pointer;background:0 0;border:0;padding:3px;font-size:12px;font-weight:700}.text-button:hover{text-decoration:underline}.party-control{margin-bottom:15px}.party-control label{margin-bottom:7px}.party-label{align-items:center;gap:8px;font-weight:650;display:flex}.party-dot{border:1px solid #ffffff59;border-radius:50%;width:10px;height:10px}input[type=range]{accent-color:#8edbe4;cursor:pointer;width:100%;height:22px;margin:0}.path-card{border-top:4px solid #77c8d1}.path-heading-row{flex-direction:column;align-items:stretch}.path-heading-row .eyebrow{margin-bottom:2px}.path-heading-row select{width:100%;color:var(--text-primary);border:1px solid var(--border-glass);background:#101f30;border-radius:6px;padding:7px 28px 7px 9px}.status-message{color:var(--text-secondary);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.path-summary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.path-summary>div{background:#101f30;border:1px solid #2b4057;border-radius:7px;padding:10px}.path-summary span,.path-summary strong{display:block}.path-summary span{color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px;font-size:11px}.path-summary strong{font-size:17px}.path-result{color:var(--text-secondary);margin:14px 0 8px;font-size:13px;line-height:1.45}.path-result strong{color:var(--text-primary)}.scenario-votes{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.scenario-votes span{color:var(--text-secondary);background:#101f30;border-radius:5px;padding:5px 7px;font-size:12px}.scenario-votes strong{color:var(--text-primary)}.btn{color:#fff;background:var(--primary-accent);cursor:pointer;border:1px solid #4baeb8;border-radius:6px;padding:9px 14px;font-weight:750}.btn:hover{background:var(--accent-hover)}.path-apply{width:100%}.path-details{color:var(--text-secondary);margin-top:12px;font-size:12px}.path-details summary{color:#8edbe4;cursor:pointer;font-weight:700}.path-details p{margin:8px 0 0;line-height:1.5}.methodology-card{color:var(--text-secondary);font-size:12px}.methodology-card summary{color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:750}.methodology-card p,.methodology-card ul{margin:10px 0 0;line-height:1.5}.methodology-card ul{padding-left:18px}.path-seat-list{margin-top:7px}.path-seat-list button{color:var(--text-secondary);padding:6px 7px;font-size:12px}.error-message{color:#ffd9d9;background:#4a2028;border:1px solid #a94c5a;border-radius:7px;padding:10px 12px;font-size:13px;line-height:1.45}.model-badge{color:#7ce3bd;text-align:right;background:#153b36;border-radius:5px;max-width:140px;padding:3px 8px;font-size:11px;font-weight:750;line-height:1.25}.stat-box{background:#1c2c42;border-radius:7px;flex-direction:column;align-items:center;padding:14px;display:flex}.stat-value{font-size:2rem;font-weight:750}.stat-label{color:var(--text-secondary);letter-spacing:.04em;text-align:center;text-transform:uppercase;margin-top:4px;font-size:.78rem}.tipping-seat{margin-bottom:4px;font-size:13px}.workspace{background:#08111d;flex:auto;min-width:0;position:relative;overflow:auto}.map-workspace{overflow:hidden}.senate-workspace{padding:24px}.selected-seat-panel{z-index:10;pointer-events:auto;background:#142335;width:300px;padding:20px;position:absolute;top:24px;right:24px}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.25s ease-out both fadeIn}.animate-spin{animation:.9s linear infinite spin}@media (width<=900px){.app-container{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.simulator-sidebar{border-width:0 0 1px;flex:none;width:100%;max-height:none;overflow:visible}.workspace,.map-workspace{flex:none;width:100%;min-height:70vh}.simulator-sidebar,.workspace,.map-workspace{min-width:0;max-width:100%}}@media (width<=520px){.simulator-sidebar{gap:16px;padding:16px}.path-summary{grid-template-columns:1fr 1fr}.glass-card{padding:16px}.selected-seat-panel{width:auto;top:12px;left:12px;right:12px}.senate-workspace{padding:16px}.senate-summary-grid,.senate-state-grid{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pref-flow{border-top:1px solid #ffffff1a;margin-top:16px;padding-top:16px}.pref-flow-head{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.pref-flow-toggle{border:1px solid var(--border-glass);color:var(--text-secondary);cursor:pointer;letter-spacing:.03em;text-transform:none;background:0 0;border-radius:4px;padding:4px 8px;font-size:11px}.pref-flow-toggle:hover,.pref-flow-toggle[aria-pressed=true]{border-color:var(--accent-hover);color:#fff}.pref-flow-track{margin:10px 0 4px;position:relative}.pref-flow-row{grid-template-columns:84px 1fr 48px;align-items:center;gap:8px;margin-bottom:6px;display:grid}.pref-flow-party{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.pref-flow-bar{background:#ffffff0f;border-radius:3px;height:16px;display:flex;overflow:hidden}.pref-flow-seg{height:100%;display:block}.pref-flow-transfer{opacity:.62;transition:width .55s cubic-bezier(.22,.61,.36,1)}.pref-flow-value{font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.pref-flow-majority{background:#ffffff8c;width:1px;position:absolute;top:0;bottom:6px;left:calc(50% + 22px)}.pref-flow-list{color:var(--text-secondary);margin:10px 0 0;padding-left:16px;font-size:12px;line-height:1.5}.pref-flow-note{color:var(--text-secondary);margin:8px 0 0;font-size:12px}@media (prefers-reduced-motion:reduce){.pref-flow-transfer{transition:none}}.map-modes{border:1px solid var(--border-glass);z-index:2;background:#0c141ec7;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;top:16px;left:16px}.map-mode{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:5px 10px;font-size:12px}.map-mode:hover{color:#fff}.map-mode.active{border-color:var(--accent-hover);color:#fff;background:#ffffff14}.map-mode-hint{color:var(--text-secondary);flex-basis:100%;padding:0 4px 2px;font-size:11px}.seat-delta{border-left:2px solid var(--accent-hover);color:var(--text-secondary);margin-top:10px;padding-left:8px;font-size:12px;line-height:1.5}@media (width<=640px){.map-modes{top:8px;left:8px;right:8px}.map-mode{flex:1}}.results-view{box-sizing:border-box;background:#090f1a;width:100%;height:100%;padding:24px;overflow:auto}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.results-header h2{margin:2px 0 4px}.results-sub{color:var(--text-secondary);margin:0;font-size:14px}.results-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.results-toggle{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.results-toggle input{accent-color:var(--accent-hover)}.results-totals{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.results-total{border:1px solid var(--border-glass);background:#ffffff0a;border-radius:6px;align-items:baseline;gap:8px;padding:8px 12px;display:flex}.results-total-party{font-size:12px;font-weight:600}.results-total-seats{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.results-total-delta{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.results-total-delta.up{color:#4ade80}.results-total-delta.down{color:#f87171}.results-total-note{color:var(--text-secondary);font-size:11px}.results-table-scroll{overflow-x:auto}.results-table{border-collapse:collapse;text-align:left;width:100%;min-width:480px;font-size:14px}.results-table th,.results-table td{padding:10px 12px}.results-table thead th{border-bottom:1px solid var(--border-glass);letter-spacing:.04em;text-transform:uppercase;z-index:2;background:#141928;font-size:12px;position:sticky;top:0}.results-table tbody tr{border-bottom:1px solid #ffffff0d}.results-table tbody tr.changed{background:#ffffff09}.results-table tbody th{font-weight:500}.results-table tbody th button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px dotted #ffffff4d;padding:0}.results-table tbody th button:hover{color:#fff;border-bottom-color:#fff}.results-state,.results-arrow{color:var(--text-secondary)}.results-empty{color:var(--text-secondary);text-align:center;padding:32px 0}.results-note{color:var(--text-secondary);max-width:60ch;margin-top:16px;font-size:12px}@media (width<=640px){.results-view{padding:16px}.results-table{font-size:13px}.results-table th,.results-table td{padding:8px 6px}.results-state,.results-table thead th:nth-child(2){display:none}}
