:root{color-scheme:dark;--font-body: "Google Sans Flex", "Segoe UI", sans-serif;--font-display: "Google Sans Flex", "Segoe UI", sans-serif;--color-bg: #08100c;--color-bg-deep: #050a07;--color-surface: rgba(18, 30, 24, .9);--color-surface-strong: #122119;--color-surface-soft: rgba(255, 255, 255, .04);--color-surface-hover: rgba(255, 255, 255, .03);--color-surface-hover-strong: rgba(255, 255, 255, .05);--color-surface-highlight: rgba(214, 176, 120, .08);--color-border: rgba(176, 197, 183, .16);--color-border-strong: rgba(214, 176, 120, .22);--color-text: #edf3ee;--color-text-secondary: #c6d2c8;--color-text-muted: #93a495;--color-text-soft: #6f8374;--color-accent: #d6b078;--color-accent-light: #f7ddb4;--color-accent-dark: #b9853b;--color-accent-strong: #f3cf96;--color-accent-surface: rgba(214, 176, 120, .14);--color-primary: #7fb38f;--color-primary-surface: rgba(127, 179, 143, .14);--color-danger: #ef997c;--color-danger-surface: rgba(239, 153, 124, .14);--color-info: #84afd7;--color-info-surface: rgba(132, 175, 215, .14);--color-shadow: rgba(0, 0, 0, .28);--content-max-width: 1120px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--shadow-sm: 0 14px 36px rgba(0, 0, 0, .18);--shadow-md: 0 24px 60px rgba(0, 0, 0, .24);--shadow-glow: 0 20px 50px rgba(0, 0, 0, .2);--ease-standard: cubic-bezier(.32, .72, 0, 1);--transition-fast: .16s var(--ease-standard);--transition-base: .24s var(--ease-standard);--transition-slow: .34s var(--ease-standard);--transition-page: .35s var(--ease-standard);--touch-press-translate: 1px;--touch-press-scale-card: .992;--touch-press-scale-chip: .974;--touch-press-shadow-sm: 0 10px 24px rgba(0, 0, 0, .16);--touch-press-shadow-md: 0 14px 30px rgba(0, 0, 0, .18);--touch-press-border: rgba(214, 176, 120, .28)}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;font-size:17px;background:var(--color-bg);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;margin:0;font-family:var(--font-body);font-optical-sizing:auto;font-variation-settings:"ROND" 100;color:var(--color-text);text-transform:lowercase;background:radial-gradient(circle at top left,rgba(127,179,143,.12),transparent 28%),radial-gradient(circle at top right,rgba(214,176,120,.1),transparent 24%),linear-gradient(180deg,#0a120d 0%,var(--color-bg) 38%,var(--color-bg-deep) 100%);line-height:1.55;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-position var(--transition-page),background-color var(--transition-slow),color var(--transition-slow)}#root,.app-shell,.app-main,.route-stage{min-height:100dvh}.app-shell{position:relative;isolation:isolate}.app-main{isolation:isolate}.route-stage{animation:route-enter-forward var(--transition-page) both}.route-stage--back{animation-name:route-enter-back}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}html{-webkit-tap-highlight-color:transparent}:where(button,[role=button],summary,input[type=button],input[type=submit],input[type=reset]){-webkit-user-select:none;user-select:none;touch-action:manipulation}img{display:block;max-width:100%}::selection{color:var(--color-bg);background:var(--color-accent-strong)}:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:min(100% - 1.5rem,var(--content-max-width));margin:0 auto}.page-shell{padding-bottom:clamp(2.5rem,5vw,4rem)}.home-page{display:grid;gap:1.42rem}.home-hero{display:grid;gap:1rem;padding-top:max(1rem,env(safe-area-inset-top))}.home-copy{display:grid;gap:.4rem;max-width:44rem;margin:0 auto;justify-items:center;text-align:center;transition:transform var(--transition-slow),opacity var(--transition-slow)}.home-title{margin:0;font-family:var(--font-display);font-size:clamp(2.6rem,8vw,5rem);line-height:.96;letter-spacing:-.03em}.state-browser-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:stretch}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>*{--browse-reveal-step: 0;opacity:0;transform:translateY(.4rem);transform-origin:top center;animation:browse-first-paint-enter var(--transition-base) both;animation-delay:calc(50ms + (var(--browse-reveal-step) * 30ms))}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>:nth-child(2){--browse-reveal-step: 1}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>:nth-child(3){--browse-reveal-step: 2}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>:nth-child(4){--browse-reveal-step: 3}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>:nth-child(5){--browse-reveal-step: 4}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>:nth-child(6){--browse-reveal-step: 5}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>:nth-child(7){--browse-reveal-step: 6}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>:nth-child(n+8){--browse-reveal-step: 7}.state-browser-card{display:block;color:inherit}.state-browser-card-body{grid-template-rows:minmax(0,1fr) auto;min-height:100%;gap:1.38rem;padding-top:1.08rem}.home-loading-card .section-card-body{position:relative;overflow:hidden;padding-top:.8rem}.home-loading-card .section-card-body:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(214,176,120,.08),transparent 52%),linear-gradient(180deg,rgba(255,255,255,.04),transparent 44%);opacity:0;transform:translateY(.65rem) scale(.985);transform-origin:top center;animation:feedback-state-glow var(--transition-slow) both;pointer-events:none}.home-loading-card .section-card-body>*{position:relative;z-index:1}.home-loading-card .loading-line{opacity:0;transform:translateY(.4rem) scaleX(.985);transform-origin:left center;animation:feedback-state-enter var(--transition-base) both,shimmer 1.4s linear infinite}.home-loading-card .loading-line--wide{animation-delay:0ms,0ms}.home-loading-card .loading-line--medium{animation-delay:45ms,45ms}.home-loading-card .loading-line--narrow{animation-delay:90ms,90ms}.state-browser-copy,.state-browser-card-copy{display:grid;gap:.25rem}.state-browser-card-copy{gap:.96rem;align-content:start;grid-template-rows:auto minmax(4.2rem,auto)}.state-browser-card-head{display:grid;gap:.36rem}.state-browser-label{margin:0;color:var(--color-accent);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:lowercase}.state-browser-title{margin:0;font-family:var(--font-display);font-size:clamp(1.22rem,3vw,1.5rem);line-height:1.06}.state-browser-summary{margin:0;max-width:30ch;min-height:4.2rem;color:var(--color-text-secondary);font-size:.92rem;line-height:1.5}.state-browser-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:auto;padding-top:.12rem;color:var(--color-text-muted);font-size:.82rem}.state-browser-stats span{display:flex;align-items:center;justify-content:center;min-height:2.24rem;min-width:0;padding:.34rem .66rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#ffffff08;text-align:center;box-shadow:0 0 #0000;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.home-search-card .section-card-body{gap:1.24rem;padding-top:1.08rem}.runtime-status-card .section-card-body{gap:.42rem;padding-top:.9rem}.runtime-status-title,.runtime-status-copy{margin:0}.runtime-status-title{color:var(--color-accent);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:lowercase}.runtime-status-copy{max-width:48ch;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.home-search-card .page-search-copy{gap:.66rem}.home-search-card .page-count-strip{gap:.82rem}.home-search-card .page-count-chip{min-height:4.62rem;padding:.9rem .92rem}.home-search-card .global-search-shell{min-height:3.42rem;padding-left:1rem}.state-election-card .section-card-body{gap:.7rem;padding-top:.8rem}.state-election-copy{display:grid;gap:.55rem}.state-election-title{margin:0;color:var(--color-text);font-size:.92rem;font-weight:600}.state-election-meta{display:flex;flex-wrap:wrap;gap:.45rem}.state-election-source{margin:0;color:var(--color-text-secondary);font-size:.8rem}.state-election-source a{color:var(--color-accent-light)}.page-content{display:grid;gap:1rem;padding:clamp(1rem,3vw,1.75rem) 0}.route-topbar{position:sticky;top:0;z-index:40;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#08100cd1;border-bottom:1px solid var(--color-border);transition:background-color var(--transition-slow),border-color var(--transition-slow),box-shadow var(--transition-slow)}.route-topbar-inner{display:grid;grid-template-columns:minmax(6.5rem,auto) minmax(0,1fr) minmax(6.5rem,auto);gap:.85rem;align-items:center;min-height:4.35rem;padding:max(.85rem,env(safe-area-inset-top)) 0 .8rem;transition:min-height var(--transition-base),transform var(--transition-base)}.route-topbar-side,.route-topbar-balance{min-width:0}.route-back-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.55rem;min-width:6.5rem;padding:.35rem .95rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#ffffff0a;color:var(--color-text-secondary);box-shadow:0 0 #0000;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.route-back-button:focus-visible{background:var(--color-surface-hover-strong);border-color:var(--color-border-strong);color:var(--color-text);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.route-back-button:active{transform:translateY(0);box-shadow:0 0 #0000}.route-back-button svg{width:1rem;height:1rem}.route-topbar-copy{display:grid;gap:.16rem;min-width:0;max-width:min(100%,28rem);justify-self:center;text-align:center;transition:transform var(--transition-base),opacity var(--transition-base)}.route-topbar-eyebrow{margin:0 0 .1rem;color:var(--color-accent);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:lowercase}.route-topbar-title{margin:0;color:var(--color-text);font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-topbar-balance{min-height:2.55rem}.quiet-breadcrumbs{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;color:var(--color-text-muted);font-size:.82rem}.quiet-breadcrumbs--compact{gap:.28rem;font-size:.78rem;line-height:1.2}.quiet-breadcrumbs--topbar{max-width:100%;justify-content:center;color:var(--color-text-secondary);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.quiet-breadcrumbs--topbar::-webkit-scrollbar{display:none}.quiet-breadcrumbs--topbar a{color:var(--color-text-muted)}.quiet-breadcrumbs--topbar .is-current{color:var(--color-text);font-weight:700}.quiet-breadcrumbs-item{display:inline-flex;align-items:center;gap:.35rem}.quiet-breadcrumbs a{color:var(--color-text-secondary);position:relative;transition:color var(--transition-fast),transform var(--transition-fast)}.quiet-breadcrumbs a:after{content:"";position:absolute;left:0;right:0;bottom:-.12rem;height:1px;background:currentColor;opacity:0;transform:scaleX(.35);transform-origin:center;transition:opacity var(--transition-fast),transform var(--transition-fast)}.quiet-breadcrumbs a:focus-visible:after{opacity:.78;transform:scaleX(1)}.quiet-breadcrumbs .is-current{color:var(--color-text)}.quiet-breadcrumbs-separator{color:var(--color-text-soft)}.section-card{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%),var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-slow),transform var(--transition-base)}.section-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(214,176,120,.28),transparent)}.section-card:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(214,176,120,.08),transparent 32%),radial-gradient(circle at top right,rgba(127,179,143,.08),transparent 28%);opacity:0;transform:translateY(.4rem);transition:opacity var(--transition-slow),transform var(--transition-slow);pointer-events:none}.section-card:focus-within:after{opacity:1;transform:translateY(0)}.section-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1rem .4rem}.section-card-heading{display:grid;gap:.2rem;min-width:0}.section-card-eyebrow{margin:0;color:var(--color-accent);font-size:.73rem;font-weight:600;letter-spacing:.08em;text-transform:lowercase}.section-card-title{margin:0;font-family:var(--font-display);font-size:clamp(1.12rem,2.8vw,1.5rem);line-height:1.1;letter-spacing:-.01em}.section-card-description{margin:0;color:var(--color-text-secondary);font-size:.9rem;max-width:62ch}.section-card-actions{flex-shrink:0}.section-card-body{display:grid;gap:.85rem;padding:.4rem 1rem 1rem}.page-search-card .section-card-body{gap:.8rem;padding-top:.8rem}.page-search-copy{display:grid;gap:.38rem}.page-search-title{margin:0;font-family:var(--font-display);font-size:clamp(1.05rem,2.4vw,1.2rem);line-height:1.08}.page-search-description{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.page-count-strip{display:flex;flex-wrap:wrap;gap:.55rem}.page-count-strip--balanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.page-count-chip{display:grid;gap:.14rem;min-width:5rem;min-height:4rem;width:100%;padding:.55rem .72rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff08;box-shadow:0 0 #0000;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.page-count-chip strong{font-size:1.08rem;line-height:1}.page-count-chip span{color:var(--color-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:lowercase}.global-search-form{margin:0}.global-search-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:3rem;padding:.2rem .2rem .2rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffff05;box-shadow:0 0 #0000;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.global-search-icon{color:var(--color-accent);font-size:1.05rem;line-height:1;transition:color var(--transition-fast),transform var(--transition-fast)}.global-search-input{width:100%;min-width:0;border:0;background:transparent;color:var(--color-text);padding:0}.global-search-input::placeholder{color:var(--color-text-muted)}.global-search-input:focus{outline:none}.global-search-shell:focus-within{border-color:var(--color-border-strong);background:var(--color-surface-hover);box-shadow:0 0 0 1px #d6b0781f,var(--shadow-sm);transform:translateY(-1px)}.global-search-shell:focus-within .global-search-icon{color:var(--color-accent-light);transform:translateY(-1px)}.global-search-clear{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.2rem .85rem;border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) - 8px);background:#ffffff08;color:var(--color-text-secondary);box-shadow:0 0 #0000;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.global-search-clear:focus-visible{background:var(--color-surface-hover-strong);border-color:var(--color-border-strong);color:var(--color-text);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.search-results{display:grid;gap:.55rem}.search-feedback{display:grid;gap:.55rem;transform-origin:top center}.search-feedback--entering{animation:search-feedback-enter var(--transition-base) both}.search-feedback--exiting{opacity:0;transform:translateY(-.25rem) scale(.996);transition:opacity var(--transition-fast),transform var(--transition-fast);pointer-events:none}.search-result-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff05;box-shadow:0 0 #0000;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.search-result-link:focus-visible{border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.search-result-link:focus-visible .search-result-kind{border-color:#d6b07852;background:#d6b07829;color:var(--color-accent-strong);transform:translateY(-1px)}.search-result-copy{display:grid;gap:.28rem;min-width:0}.search-result-title,.search-result-subtitle{margin:0}.search-result-title{font-weight:600}.search-result-subtitle,.search-empty-state{color:var(--color-text-secondary);font-size:.88rem}.search-result-watchout{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;min-width:0;font-size:.82rem}.search-result-watchout-copy{min-width:0;color:var(--color-text-primary)}.search-result-watchout--mixed .search-result-watchout-copy{color:var(--color-text-secondary)}.search-result-kind{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;padding:.16rem .65rem;border:1px solid rgba(214,176,120,.24);border-radius:var(--radius-pill);background:#d6b0781f;color:var(--color-accent-light);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:lowercase;box-shadow:0 0 #0000;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.search-empty-state{margin:0}.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2rem;padding:.2rem .7rem;border-radius:var(--radius-pill);border:1px solid transparent;font-size:.76rem;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:inset 0 0 0 1px transparent;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.tap-help{position:relative}.tap-help--open{z-index:11}.tap-help--inline{display:inline-flex}.tap-help--surface{display:grid;gap:.6rem}.tap-help-backdrop{position:fixed;inset:0;z-index:10;background:#050a0738;animation:tap-help-backdrop-enter var(--transition-fast) both}.tap-help-trigger{outline:none}.tap-help--open .tap-help-trigger{position:relative;z-index:11}.tap-help--open .tap-help-note{position:relative;z-index:12}.tap-help-trigger[role=button]{cursor:help}.tap-help-trigger--inline{display:inline-flex;border-radius:var(--radius-pill)}.tap-help-trigger--surface{display:block;border-radius:var(--radius-lg)}.tap-help-trigger:focus-visible{outline:2px solid rgba(214,176,120,.38);outline-offset:3px}.tap-help--open .tap-help-trigger--inline .status-pill,.tap-help-trigger--inline:focus-visible .status-pill{box-shadow:0 0 0 1px #d6b07857,0 12px 24px #0003;transform:translateY(-1px)}.tap-help--open .tap-help-trigger--inline .party-badge,.tap-help--open .tap-help-trigger--inline .front-chip,.tap-help-trigger--inline:focus-visible .party-badge,.tap-help-trigger--inline:focus-visible .front-chip{box-shadow:0 0 0 1px #d6b07857,0 12px 24px #0003;transform:translateY(-1px)}.tap-help--open .tap-help-trigger--inline .page-count-chip,.tap-help-trigger--inline:focus-visible .page-count-chip{border-color:#d6b07842;background:#d6b07814;box-shadow:0 8px 18px #00000029}.tap-help--open .seat-browser-row.is-disabled{border-color:var(--color-border-strong);background:#ffffff0a;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.tap-help--open .candidate-seat-card-link.is-disabled .candidate-seat-card{border-color:var(--color-border-strong);background:var(--color-surface-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.tap-help--open .candidate-seat-card-link.is-disabled .candidate-seat-card:before{opacity:1;transform:translateY(0)}.tap-help-note{z-index:12;padding:.62rem .76rem;border:1px solid rgba(214,176,120,.24);border-radius:var(--radius-md);background:#0b1012f5;color:var(--color-text-secondary);font-size:.82rem;line-height:1.45;box-shadow:var(--shadow-md);transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.tap-help--open .tap-help-note{border-color:#d6b07857;background:#090e0bf5;box-shadow:0 28px 64px #0000004d;transform:translateY(0)}.tap-help-note--inline{position:fixed;min-width:min(16rem,calc(100vw - 2rem));max-width:min(22rem,calc(100vw - 2rem));width:max-content}.tap-help-note--surface{position:static}.status-pill--soft.status-pill--neutral{color:var(--color-text-secondary);background:#ffffff0d;border-color:#ffffff14}.status-pill--soft.status-pill--verified,.status-pill--soft.status-pill--filing-final,.status-pill--soft.status-pill--confidence-high{color:#a6ddb7;background:#7fb38f29;border-color:#7fb38f3d}.status-pill--soft.status-pill--supportable,.status-pill--soft.status-pill--mixed,.status-pill--soft.status-pill--filing-live,.status-pill--soft.status-pill--confidence-medium,.status-pill--soft.status-pill--historical{color:#f0d39e;background:#d6b07829;border-color:#d6b07842}.status-pill--soft.status-pill--under-review,.status-pill--soft.status-pill--confidence-low,.status-pill--soft.status-pill--none{color:#efbfad;background:#ef997c26;border-color:#ef997c42}.status-pill--soft.status-pill--current{color:#b8d8f1;background:#84afd729;border-color:#84afd73d}.status-pill--soft.status-pill--scaffold{color:var(--color-text-muted);background:#ffffff0a;border-color:#ffffff14}.party-badge,.front-chip{display:inline-flex;align-items:center;justify-content:center;min-height:1.9rem;padding:.18rem .6rem;border-radius:var(--radius-pill);border:1px solid transparent;font-size:.75rem;font-weight:700;line-height:1.1;box-shadow:inset 0 0 0 1px transparent;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.party-badge{letter-spacing:.03em;text-transform:lowercase}.party-badge--bjp{color:#ffb073;background:#ff6b0029;border-color:#ff6b0042}.party-badge--dmk{color:#ffbeb8;background:#dc404029;border-color:#dc404047}.party-badge--inc{color:#a6e7ee;background:#00bcd429;border-color:#00bcd442}.party-badge--cpim{color:#ffb4b0;background:#f4433629;border-color:#f4433642}.party-badge--cpi{color:#ffb9d0;background:#e91e6329;border-color:#e91e6342}.party-badge--default{color:#dde5dd;background:#ffffff12;border-color:#ffffff1a}.party-badge--aiadmk{color:#bce8d3;background:#3a94622e;border-color:#3a946247}.party-badge--ntk{color:#ffd59d;background:#bc432b2e;border-color:#f2924c4d}.party-badge--tvk{color:#ffe2a0;background:#d6b0782e;border-color:#d6b07847}.party-badge--dynamic,.front-chip--dynamic{color:var(--badge-fg, #dde5dd);background:var(--badge-bg, rgba(255, 255, 255, .07));border-color:var(--badge-border, rgba(255, 255, 255, .1))}.front-chip{color:var(--color-text);background:#ffffff0a;border-color:#ffffff14;text-transform:lowercase}.front-chip--spa{color:#a6e7ee;background:#00bcd429;border-color:#00bcd43d}.front-chip--dmk{color:#ffbeb8;background:#dc404029;border-color:#dc404047}.front-chip--ldf{color:#a6ddb7;background:#7fb38f26;border-color:#7fb38f3d}.front-chip--udf{color:#b8d8f1;background:#84afd726;border-color:#84afd73d}.front-chip--nda{color:#f0d39e;background:#d6b07829;border-color:#d6b07842}.front-chip--aiadmk{color:#bce8d3;background:#3a94622e;border-color:#3a946247}.front-chip--ntk{color:#ffd59d;background:#bc432b29;border-color:#f2924c4d}.front-chip--tvk{color:#ffe2a0;background:#d6b07829;border-color:#d6b07842}.front-chip--independent,.front-chip--other{color:var(--color-text-secondary)}.source-link-list{display:flex;flex-wrap:wrap;gap:.45rem}.source-link{display:inline-flex;align-items:center;min-height:1.95rem;padding:.18rem .62rem;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-pill);background:#ffffff0a;color:var(--color-text-secondary);font-size:.76rem;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.source-link:active{transform:translateY(0);box-shadow:0 0 #0000}.source-link-list.is-compact .source-link{min-height:1.75rem;font-size:.72rem}.source-link-more{display:inline-flex;align-items:center;color:var(--color-text-muted);font-size:.74rem}.loading-stack{display:grid;gap:.65rem}.loading-line{display:block;height:.85rem;border-radius:var(--radius-pill);background:linear-gradient(90deg,#ffffff0f,#ffffff29,#ffffff0f);background-size:220% 100%;animation:shimmer 1.4s linear infinite}.loading-line--wide{width:100%}.loading-line--medium{width:72%}.loading-line--narrow{width:44%}.empty-state{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;gap:.45rem;min-height:14rem;padding:2rem 1.2rem;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-lg);background:#ffffff05;text-align:center}.empty-state:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(214,176,120,.08),transparent 54%),linear-gradient(180deg,rgba(255,255,255,.03),transparent 48%);opacity:0;transform:translateY(.7rem) scale(.985);transform-origin:top center;animation:feedback-state-glow var(--transition-slow) both;pointer-events:none}.empty-state>*{position:relative;z-index:1;opacity:0;transform:translateY(.45rem) scale(.992);animation:feedback-state-enter var(--transition-base) both}.empty-state>*:nth-child(2){animation-delay:45ms}.empty-state>*:nth-child(3){animation-delay:90ms}.empty-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-md);background:#ffffff0f;color:var(--color-accent-strong);font-size:1.15rem;font-weight:700}.empty-state h3{margin:0;font-family:var(--font-display);font-size:1.28rem}.empty-state p{margin:0;max-width:32ch;color:var(--color-text-secondary)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes feedback-state-enter{0%{opacity:0;transform:translateY(.45rem) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes feedback-state-glow{0%{opacity:0;transform:translateY(.7rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes browse-first-paint-enter{0%{opacity:0;transform:translateY(.4rem);filter:saturate(.96) brightness(.98)}to{opacity:1;transform:translateY(0);filter:saturate(1) brightness(1)}}@keyframes route-enter-forward{0%{opacity:0;transform:translate3d(56px,0,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes route-enter-back{0%{opacity:0;transform:translate3d(-36px,0,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@supports (view-transition-name: none){.route-stage{animation:none;view-transition-name:route-stage}::view-transition-group(route-stage){animation-duration:.3s;animation-timing-function:var(--ease-standard)}::view-transition-old(route-stage),::view-transition-new(route-stage){animation-duration:.3s;animation-timing-function:var(--ease-standard);animation-fill-mode:both}:root[data-route-direction=back]::view-transition-old(route-stage){animation-name:route-slide-out-back}:root[data-route-direction=back]::view-transition-new(route-stage){animation-name:route-slide-in-back}:root:not([data-route-direction=back])::view-transition-old(route-stage){animation-name:route-slide-out-forward}:root:not([data-route-direction=back])::view-transition-new(route-stage){animation-name:route-slide-in-forward}}@keyframes route-slide-in-forward{0%{opacity:0;transform:translate3d(56px,0,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes route-slide-out-forward{0%{opacity:1;transform:translateZ(0) scale(1);filter:brightness(1)}to{opacity:0;transform:translate3d(-18px,0,0) scale(.97);filter:brightness(.88)}}@keyframes route-slide-in-back{0%{opacity:0;transform:translate3d(-36px,0,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes route-slide-out-back{0%{opacity:1;transform:translateZ(0) scale(1);filter:brightness(1)}to{opacity:0;transform:translate3d(24px,0,0) scale(.97);filter:brightness(.88)}}@keyframes search-feedback-enter{0%{opacity:0;transform:translateY(-.28rem) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tap-help-backdrop-enter{0%{opacity:0}to{opacity:1}}@media(hover:hover){.route-back-button:hover{background:var(--color-surface-hover-strong);border-color:var(--color-border-strong);color:var(--color-text);transform:translateY(-1px);box-shadow:var(--shadow-sm)}a.section-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}a.section-card:hover:after{opacity:1;transform:translateY(0)}a.section-card:hover .state-browser-stats span{border-color:#d6b07833;background:var(--color-surface-hover-strong);color:var(--color-text-secondary);transform:translateY(-1px)}.global-search-shell:hover{background:var(--color-surface-hover);border-color:#d6b0782e}.global-search-clear:hover{background:var(--color-surface-hover-strong);border-color:#d6b0782e;color:var(--color-text);transform:translateY(-1px)}.search-result-link:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.search-result-link:hover .search-result-kind{border-color:#d6b07852;background:#d6b07829;color:var(--color-accent-strong);transform:translateY(-1px)}}@media(hover:none)and (pointer:coarse){.route-back-button:active{background:var(--color-surface-hover-strong);border-color:var(--touch-press-border);color:var(--color-text);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-chip));box-shadow:var(--touch-press-shadow-sm)}a.section-card:active{border-color:var(--touch-press-border);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-card));box-shadow:var(--touch-press-shadow-md)}a.section-card:active:after{opacity:.72;transform:translateY(.12rem)}a.section-card:active .state-browser-stats span{border-color:var(--touch-press-border);background:var(--color-surface-hover-strong);color:var(--color-text-secondary);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-chip));box-shadow:var(--touch-press-shadow-sm)}.global-search-shell:active{border-color:var(--touch-press-border);background:var(--color-surface-hover);box-shadow:var(--touch-press-shadow-sm);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-card))}.global-search-shell:active .global-search-icon{color:var(--color-accent-light);transform:translateY(var(--touch-press-translate)) scale(.97)}.global-search-clear:active{background:var(--color-surface-hover-strong);border-color:var(--touch-press-border);color:var(--color-text);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-chip));box-shadow:var(--touch-press-shadow-sm)}.search-result-link:active{border-color:var(--touch-press-border);background:var(--color-surface-hover);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-card));box-shadow:var(--touch-press-shadow-sm)}.search-result-link:active .search-result-kind{border-color:#d6b07857;background:#d6b0782e;color:var(--color-accent-strong);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-chip));box-shadow:var(--touch-press-shadow-sm)}.source-link:active{border-color:var(--touch-press-border);background:var(--color-surface-hover-strong);color:var(--color-text);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-chip));box-shadow:var(--touch-press-shadow-sm)}}a.section-card:focus-visible{border-color:var(--color-border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}a.section-card:focus-visible:after{opacity:1;transform:translateY(0)}a.section-card:focus-visible .state-browser-stats span{border-color:#d6b07833;background:var(--color-surface-hover-strong);color:var(--color-text-secondary);transform:translateY(-1px)}@media(max-width:720px){html{font-size:16px}.container{width:min(100% - 1rem,var(--content-max-width))}.route-topbar-inner{min-height:4rem;grid-template-columns:minmax(5.7rem,auto) minmax(0,1fr) minmax(5.7rem,auto)}.route-back-button{min-width:5.7rem}.section-card-header,.section-card-body{padding-left:.9rem;padding-right:.9rem}.home-page{gap:1.48rem}.home-search-card .section-card-body{gap:1.26rem;padding-top:1.14rem}.state-browser-card-body{min-height:auto;grid-template-rows:auto auto;gap:1.42rem}.state-browser-card-copy{grid-template-rows:auto auto}.state-browser-summary{max-width:none;min-height:0}.state-browser-stats{margin-top:0}.page-count-strip--balanced{grid-template-columns:repeat(2,minmax(0,1fr))}.global-search-shell{grid-template-columns:auto minmax(0,1fr)}.global-search-clear{grid-column:1 / -1;width:100%}.search-result-link{grid-template-columns:1fr;justify-items:start}}html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}:is(.state-browser-grid,.seat-browser-list,.candidate-compare-grid)>*,.home-loading-card .loading-line,.empty-state>*{opacity:1!important;transform:none!important;filter:none!important}@supports (view-transition-name: none){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.district-lede-meta{display:flex;flex-wrap:wrap;gap:.55rem}.seat-browser-list{display:grid;gap:.85rem}.seat-browser-row{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffff05;box-shadow:0 0 #0000;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.seat-browser-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(214,176,120,.08),transparent 26%,transparent 74%,rgba(127,179,143,.08));opacity:0;transform:translate(-3%);transition:opacity var(--transition-slow),transform var(--transition-slow);pointer-events:none}.seat-browser-row:focus-visible:before{opacity:1;transform:translate(0)}.seat-browser-row:focus-visible{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.seat-browser-row:not(.is-disabled):focus-visible{background:var(--color-surface-hover);transform:translateY(-2px)}.seat-browser-row:active{transform:translateY(0);box-shadow:0 0 #0000}.seat-browser-row.is-disabled{border-style:dashed;border-color:var(--color-border-soft);background:#ffffff03;cursor:help}.seat-browser-row.is-disabled:before{display:none}.seat-browser-row.is-disabled .seat-browser-name{color:var(--color-text-secondary)}.seat-browser-row.is-disabled .seat-browser-summary{color:var(--color-text-muted)}.seat-browser-main{display:flex;align-items:center;gap:.95rem;min-width:0}.seat-browser-number{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:var(--radius-md);background:#ffffff0d;color:var(--color-text-muted);font-size:.9rem;font-weight:700;flex-shrink:0;transition:transform var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.seat-browser-row:focus-visible .seat-browser-number{transform:translateY(-1px) scale(1.04);background:#ffffff14;color:var(--color-text);box-shadow:var(--shadow-sm)}.seat-browser-copy{display:grid;gap:.16rem;min-width:0}.seat-browser-name{margin:0;font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.05}.seat-browser-summary{margin:0;color:var(--color-text-secondary);font-size:.87rem}.seat-browser-party-preview{display:flex;flex-wrap:wrap;gap:.38rem;align-items:center}.seat-browser-party-overflow{color:var(--color-text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.02em}.seat-browser-meta{display:grid;gap:.4rem;justify-items:end;flex-shrink:0}.seat-browser-view{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.state-district-row .seat-browser-main{gap:0}.state-district-row .seat-browser-copy{gap:.2rem}.district-page .seat-browser-row{padding:1.08rem 1.05rem 1rem}@media(min-width:920px){.district-page .seat-browser-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.district-page .seat-browser-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:100%}}.seat-summary-card .section-card-body{gap:.7rem;padding-top:.8rem}.seat-summary-strip{display:flex;flex-wrap:wrap;gap:.55rem}.seat-summary-copy{margin:0;color:var(--color-text-secondary)}.constituency-outcome-card .section-card-body{gap:.72rem;padding-top:.8rem}.constituency-outcome-strip{display:flex;flex-wrap:wrap;gap:.55rem}.constituency-outcome-summary{margin:0;color:var(--color-text-secondary);font-size:.92rem;line-height:1.55}.constituency-outcome-evidence{border-top:1px solid var(--color-border);padding-top:.6rem}.constituency-outcome-evidence summary{cursor:pointer;color:var(--color-accent-strong);font-size:.9rem;font-weight:600;list-style:none}.constituency-outcome-evidence summary::-webkit-details-marker{display:none}.constituency-outcome-evidence summary:after{content:"+";margin-left:.45rem}.constituency-outcome-evidence[open] summary:after{content:"-"}.constituency-outcome-evidence-body{display:grid;gap:.6rem;margin-top:.65rem}.constituency-outcome-evidence-copy{margin:0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.55}.constituency-outcome-card .source-link-list{gap:.5rem}.candidate-compare-grid{display:grid;gap:.9rem}.candidate-seat-card-link{display:block;height:100%}.candidate-seat-card-link.is-disabled{cursor:help}.candidate-seat-card{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.95rem;min-height:100%;padding:1.08rem 1rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffff05;box-shadow:0 0 #0000;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.candidate-seat-card:before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(214,176,120,.1),transparent 34%),radial-gradient(circle at top right,rgba(127,179,143,.08),transparent 32%);opacity:0;transform:translateY(.5rem);transition:opacity var(--transition-slow),transform var(--transition-slow);pointer-events:none}.candidate-seat-card-link:focus-visible .candidate-seat-card:before{opacity:1;transform:translateY(0)}.candidate-seat-card-link:focus-visible .candidate-seat-card{border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.candidate-seat-card-link:active .candidate-seat-card{transform:translateY(0);box-shadow:0 0 #0000}.candidate-seat-card.is-disabled{opacity:.6;filter:grayscale(.28)}.candidate-seat-card-avatar{display:grid;place-items:center;width:4rem;height:4rem;border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(255,255,255,.08);font-size:1rem;font-weight:700;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast)}.candidate-seat-card-avatar>*{grid-area:1 / 1}.candidate-seat-card-avatar img{width:100%;height:100%;object-fit:cover;opacity:0;transition:transform var(--transition-slow),filter var(--transition-slow),opacity var(--transition-fast)}.candidate-seat-card-avatar img.is-ready{opacity:1}.candidate-seat-card-avatar.party-badge--bjp{background:#ff6b0029;color:#ffb073}.candidate-seat-card-avatar.party-badge--dmk{background:#dc404029;color:#ffbeb8}.candidate-seat-card-avatar.party-badge--aiadmk{background:#3a94622e;color:#bce8d3}.candidate-seat-card-avatar.party-badge--inc{background:#00bcd429;color:#a6e7ee}.candidate-seat-card-avatar.party-badge--cpim{background:#f4433629;color:#ffb4b0}.candidate-seat-card-avatar.party-badge--cpi{background:#e91e6329;color:#ffb9d0}.candidate-seat-card-avatar.party-badge--tvk{background:#d6b0782e;color:#ffe2a0}.candidate-seat-card-avatar.party-badge--ntk{background:#bc432b2e;color:#ffd59d}.candidate-seat-card-avatar.party-badge--dynamic{background:var(--badge-bg, rgba(255, 255, 255, .07));color:var(--badge-fg, var(--color-text))}.candidate-seat-card-avatar.party-badge--default{background:#ffffff12;color:var(--color-text)}.candidate-seat-card-avatar-fallback{display:grid;place-items:center;min-width:100%;min-height:100%;font-family:var(--font-display);font-size:1.08rem;letter-spacing:.04em;line-height:1;text-transform:uppercase;transition:transform var(--transition-fast),opacity var(--transition-fast)}.candidate-seat-card-link:focus-visible .candidate-seat-card-avatar{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.candidate-seat-card-link:focus-visible .candidate-seat-card-avatar img{transform:scale(1.05)}.candidate-seat-card-body{display:grid;gap:.58rem .75rem;min-width:0}.candidate-seat-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.52rem .75rem;align-items:start;min-width:0}.candidate-seat-card-name{margin:0;font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.06}.candidate-seat-card-rail{display:grid;gap:.42rem;justify-items:end;align-content:start;min-width:0}.candidate-seat-card-badges{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.candidate-seat-card-meta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;color:var(--color-text-muted);font-size:.8rem}.candidate-seat-card-rail .front-chip,.candidate-seat-card-rail .party-badge,.candidate-seat-card-rail .status-pill{min-height:2rem;font-size:.8rem}.candidate-seat-card-preview{margin:0;grid-column:1 / -1;color:var(--color-text-secondary);font-size:.9rem;transition:color var(--transition-fast),transform var(--transition-fast)}.candidate-seat-card-watchout{display:grid;gap:.2rem;margin:0;grid-column:1 / -1;padding:.6rem .7rem;border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-danger-surface);color:var(--color-text-secondary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.candidate-seat-card-watchout--mixed{background:var(--color-accent-surface);border-color:#d6b0782e}.candidate-seat-card-watchout--under-review{border-color:#ef997c33}.candidate-seat-card-watchout-label{color:var(--color-danger);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:lowercase}.candidate-seat-card-watchout--mixed .candidate-seat-card-watchout-label{color:var(--color-accent-strong)}.candidate-seat-card-watchout-copy{font-size:.88rem;line-height:1.45}.candidate-seat-card-link:focus-visible .candidate-seat-card-preview{color:var(--color-text);transform:translateY(-1px)}.candidate-seat-card-link:focus-visible .candidate-seat-card-watchout{box-shadow:inset 0 0 0 1px #ffffff08}@media(hover:hover){.seat-browser-row:not(.is-disabled):hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.seat-browser-row:not(.is-disabled):hover:before{opacity:1;transform:translate(0)}.seat-browser-row:not(.is-disabled):hover .seat-browser-number{transform:translateY(-1px) scale(1.04);background:#ffffff14;color:var(--color-text);box-shadow:var(--shadow-sm)}.candidate-seat-card-link:not(.is-disabled):hover .candidate-seat-card{border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.candidate-seat-card-link:not(.is-disabled):hover .candidate-seat-card:before{opacity:1;transform:translateY(0)}.candidate-seat-card-link:not(.is-disabled):hover .candidate-seat-card-avatar{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.candidate-seat-card-link:not(.is-disabled):hover .candidate-seat-card-avatar img{transform:scale(1.05)}.candidate-seat-card-link:not(.is-disabled):hover .candidate-seat-card-preview{color:var(--color-text);transform:translateY(-1px)}.candidate-seat-card-link:not(.is-disabled):hover .candidate-seat-card-watchout{box-shadow:inset 0 0 0 1px #ffffff08}}@media(hover:none)and (pointer:coarse){.seat-browser-row:not(.is-disabled):active{border-color:var(--touch-press-border);background:var(--color-surface-hover);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-card));box-shadow:var(--touch-press-shadow-sm)}.seat-browser-row:not(.is-disabled):active:before{opacity:1;transform:translate(-1%)}.seat-browser-row:not(.is-disabled):active .seat-browser-number{transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-chip));background:#ffffff14;color:var(--color-text);box-shadow:var(--touch-press-shadow-sm)}.candidate-seat-card-link:not(.is-disabled):active .candidate-seat-card{border-color:var(--touch-press-border);background:var(--color-surface-hover);transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-card));box-shadow:var(--touch-press-shadow-sm)}.candidate-seat-card-link:not(.is-disabled):active .candidate-seat-card:before{opacity:1;transform:translateY(.15rem)}.candidate-seat-card-link:not(.is-disabled):active .candidate-seat-card-avatar{transform:translateY(var(--touch-press-translate)) scale(var(--touch-press-scale-chip));box-shadow:var(--touch-press-shadow-sm)}.candidate-seat-card-link:not(.is-disabled):active .candidate-seat-card-avatar img{transform:scale(1.03)}.candidate-seat-card-link:not(.is-disabled):active .candidate-seat-card-preview{color:var(--color-text);transform:translateY(var(--touch-press-translate))}.candidate-seat-card-link:not(.is-disabled):active .candidate-seat-card-watchout{box-shadow:inset 0 0 0 1px #ffffff08,var(--touch-press-shadow-sm)}}@media(min-width:920px){.candidate-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.home-page .state-browser-card-body{min-height:auto;grid-template-rows:auto auto}.home-page .state-browser-card-copy{grid-template-rows:auto auto}.home-page .state-browser-summary{max-width:none;min-height:0}.home-page .state-browser-stats{margin-top:0}.seat-browser-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.8rem;padding:.9rem .95rem}.district-page .seat-browser-row{padding:.98rem .95rem .9rem}.seat-browser-meta{justify-items:end;align-self:start}.seat-browser-main{align-items:flex-start;gap:.8rem}.seat-browser-number{width:2.6rem;height:2.6rem}.seat-browser-name{font-size:clamp(1rem,4.8vw,1.18rem)}.seat-browser-party-preview{gap:.32rem}.candidate-seat-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.candidate-seat-card-avatar{width:3.5rem;height:3.5rem}.candidate-seat-card-body{gap:.52rem .65rem}.candidate-seat-card-header{gap:.48rem .65rem}}.candidate-summary-card .section-card-body{gap:.9rem;padding-top:.8rem;min-width:0}.candidate-hero{display:flex;gap:.9rem;align-items:flex-start;min-width:0;width:100%}.candidate-portrait-shell{display:grid;place-items:center;flex:0 0 auto;width:clamp(4.8rem,24vw,6rem);aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;box-shadow:0 0 #0000;transition:transform var(--transition-slow),border-color var(--transition-base),box-shadow var(--transition-slow),background-color var(--transition-slow)}.candidate-portrait-shell>*{grid-area:1 / 1}.candidate-portrait-shell.is-placeholder{background:radial-gradient(circle at top,rgba(214,176,120,.16),transparent 56%),#ffffff0a}.candidate-photo{width:100%;height:100%;object-fit:cover;opacity:0;transition:transform var(--transition-page),filter var(--transition-slow),opacity var(--transition-fast)}.candidate-photo.is-ready{opacity:1}.candidate-photo-fallback{display:grid;place-items:center;min-width:100%;min-height:100%;font-family:var(--font-display);font-size:2.3rem;color:var(--color-accent-strong);line-height:1;text-transform:uppercase;transition:transform var(--transition-base),color var(--transition-base),opacity var(--transition-base)}.candidate-hero-copy{display:grid;flex:1 1 0%;gap:.45rem;align-content:start;min-width:0}.candidate-hero-copy>*{min-width:0;max-width:100%}.candidate-summary-meta{display:grid;gap:.7rem;min-width:0}.candidate-summary-meta>*{min-width:0;max-width:100%}.candidate-track-record-strip{display:grid;gap:.45rem;padding-top:.2rem;border-top:1px solid rgba(255,255,255,.07);min-width:0}.candidate-track-record-strip-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;min-width:0}.candidate-track-record-strip-label{color:var(--color-text-muted);font-size:.78rem;line-height:1.35;letter-spacing:.01em}.candidate-track-record-strip-list{display:flex;flex-wrap:wrap;gap:.4rem .45rem;min-width:0}.candidate-track-record-strip-item{display:inline-flex;align-items:center;min-height:1.85rem;padding:.18rem .62rem;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-pill);background:#ffffff05;color:var(--color-text-secondary);font-size:.78rem;line-height:1.25;overflow-wrap:break-word;word-break:normal;min-width:0;max-width:100%}.candidate-track-record-strip-item--accent{border-color:#d6b07838;background:#d6b0780f;color:var(--color-text)}.candidate-track-record-strip-item--muted{color:var(--color-text-muted)}.candidate-route-meta{margin:0;color:var(--color-text-muted);font-size:.8rem;line-height:1.45;min-width:0;overflow-wrap:break-word;word-break:normal}.candidate-name-main{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,6vw,2.8rem);line-height:1.01;letter-spacing:-.03em;overflow-wrap:break-word;word-break:normal}.candidate-party-line{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:0;min-width:0}.candidate-party-line>*{min-width:0;max-width:100%}.candidate-related-contests{display:grid;gap:.35rem;min-width:0}.candidate-related-contests-label{color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.candidate-related-contests-list{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0}.candidate-related-contests-list>*{min-width:0;max-width:100%}.candidate-related-contest-link{display:inline-flex;align-items:center;min-height:2rem;padding:.2rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-secondary);text-decoration:none;background:#ffffff06;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast);min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal}.candidate-meta-cluster{display:flex;flex-wrap:wrap;gap:.45rem;transition:transform var(--transition-base),opacity var(--transition-base);min-width:0}.candidate-meta-cluster>*{min-width:0;max-width:100%}.candidate-summary-watchout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem .7rem;padding:.65rem .8rem;border:1px solid rgba(239,153,124,.2);border-radius:var(--radius-md);background:linear-gradient(180deg,#ef997c14,#ffffff06);min-width:0}.candidate-summary-watchout--mixed{border-color:#d6b07838;background:linear-gradient(180deg,#d6b07814,#ffffff06)}.candidate-summary-watchout-copy{flex:1 1 12rem;min-width:0;margin:0;color:var(--color-text);font-size:.92rem;line-height:1.45;overflow-wrap:break-word;word-break:normal}.candidate-summary-card .tap-help--inline,.candidate-summary-card .tap-help-trigger--inline,.candidate-summary-card .status-pill,.candidate-summary-card .party-badge,.candidate-summary-card .front-chip,.candidate-summary-card .source-link-list,.candidate-summary-card .source-link,.candidate-summary-card .source-link-more{min-width:0;max-width:100%}.candidate-summary-card .source-link{white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left}.candidate-watchouts-card .source-link-list,.candidate-watchouts-card .source-link,.candidate-watchouts-card .source-link-more,.candidate-chronology-card .source-link-list,.candidate-chronology-card .source-link,.candidate-chronology-card .source-link-more{min-width:0;max-width:100%}.candidate-watchouts-card .source-link,.candidate-chronology-card .source-link{white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left}.candidate-summary-read{display:grid;gap:.75rem;padding-top:.2rem;border-top:1px solid rgba(255,255,255,.07);min-width:0}.candidate-detail-grid{display:grid;gap:1rem;align-items:start}.candidate-detail-aside,.candidate-detail-main{display:grid;gap:1rem}.current-read-stack{display:grid;gap:.7rem;min-width:0}.current-read-copy,.evidence-note,.candidate-side-copy{margin:0;color:var(--color-text-secondary)}.current-read-copy{font-size:.98rem;line-height:1.55;overflow-wrap:break-word;word-break:normal}.evidence-note{overflow-wrap:break-word;word-break:normal}.detail-toggle-button,.timeline-toggle-button{display:inline-flex;align-items:center;justify-content:center;position:relative;min-height:2.4rem;padding:.28rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#ffffff08;color:var(--color-text-secondary);box-shadow:0 0 #0000;overflow:hidden;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.detail-toggle-button:active,.timeline-toggle-button:active{transform:translateY(0);box-shadow:0 0 #0000}.candidate-watchouts-card .section-card-body{gap:.8rem;padding-top:.8rem}.candidate-chronology-card .section-card-body{gap:1rem;padding-top:.8rem}.candidate-voice-shell{display:grid;gap:.85rem}.candidate-voice-note{margin:0;color:var(--color-text-secondary);font-size:.92rem;line-height:1.5}.candidate-voice-list{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-voice-card{display:grid;gap:.6rem;padding:.9rem;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff0b,#ffffff05)}.candidate-voice-card--current{border-color:#6db7ff33}.candidate-voice-card--record{border-color:#d6b07838}.candidate-voice-card--caution,.candidate-voice-card--review{border-color:#ef997c38}.candidate-voice-card--source{border-color:#71c19738}.candidate-voice-head{display:flex;align-items:center;gap:.65rem}.candidate-voice-badge{display:inline-grid;place-items:center;width:1.95rem;aspect-ratio:1;border-radius:999px;background:#ffffff14;color:var(--color-text);font-family:var(--font-display);font-size:.98rem;line-height:1}.candidate-voice-speaker{display:grid;gap:.08rem;min-width:0}.candidate-voice-name,.candidate-voice-role,.candidate-voice-summary,.candidate-voice-anchor{margin:0}.candidate-voice-name{font-family:var(--font-display);font-size:1rem;line-height:1.1}.candidate-voice-role{color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.candidate-voice-summary{color:var(--color-text);font-size:.96rem;line-height:1.5}.candidate-voice-anchor{color:var(--color-text-secondary);font-size:.82rem;line-height:1.45}.candidate-watchouts-note{margin:0;color:var(--color-text-secondary);font-size:.92rem;line-height:1.45}.candidate-watchout-list{display:grid;gap:.7rem}.candidate-watchout{display:grid;gap:.55rem;padding:.85rem .9rem;border:1px solid rgba(239,153,124,.2);border-radius:var(--radius-md);background:linear-gradient(180deg,#ef997c14,#ffffff06)}.candidate-watchout--affidavit{border-color:#d6b07838;background:linear-gradient(180deg,#d6b07814,#ffffff06)}.candidate-watchout-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.candidate-watchout-date{color:var(--color-text-muted);font-size:.8rem;font-weight:600;line-height:1.3}.candidate-watchout-title{margin:0;font-size:.98rem;line-height:1.45;color:var(--color-text)}.timeline-toggle{display:inline-flex;flex-wrap:wrap;gap:.45rem}.timeline-depth-note{margin:.55rem 0 0;color:var(--color-text-secondary);font-size:.9rem;line-height:1.45}.timeline-toggle-button.is-active{color:var(--color-bg);background:var(--color-accent);border-color:var(--color-accent)}.detail-toggle-button.control-settle-a,.timeline-toggle-button.control-settle-a{animation:candidate-control-settle-a var(--transition-base) both}.detail-toggle-button.control-settle-b,.timeline-toggle-button.control-settle-b{animation:candidate-control-settle-b var(--transition-base) both}.evidence-stack{display:grid;gap:.65rem;min-height:0;overflow:hidden}.evidence-stack.control-settle-a{animation:candidate-panel-settle-a var(--transition-base) both}.evidence-stack.control-settle-b{animation:candidate-panel-settle-b var(--transition-base) both}.candidate-overlay-help-note{transform-origin:top center;will-change:transform,opacity}.candidate-overlay-help.tap-help--open .candidate-overlay-help-note,.candidate-overlay-help .candidate-overlay-help-note.tap-help-note--closing{border-color:#d6b07857;background:#090e0bf5;box-shadow:0 28px 64px #0000004d}.candidate-overlay-help .candidate-overlay-help-note.tap-help-note--opening{animation:candidate-overlay-note-enter var(--transition-base) both}.candidate-overlay-help .candidate-overlay-help-note.tap-help-note--closing{animation:candidate-overlay-note-exit .18s both}.evidence-disclosure{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transform:translateY(-.45rem);transition:grid-template-rows var(--transition-slow),opacity var(--transition-base),transform var(--transition-base),visibility 0s linear var(--transition-base);pointer-events:none}.evidence-disclosure.is-open{grid-template-rows:1fr;opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s,0s,0s,0s;pointer-events:auto}.evidence-disclosure.is-open .evidence-stack{padding-top:.1rem}.detail-warning{margin:0;color:#efbfad;font-size:.88rem}.candidate-side-meta{display:flex;flex-wrap:wrap;gap:.55rem}.coverage-metric-list{display:grid;gap:.75rem}.coverage-metric{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid rgba(255,255,255,.07);transition:border-color var(--transition-fast),transform var(--transition-fast)}.coverage-metric:last-child{border-bottom:none;padding-bottom:0}.coverage-metric span{color:var(--color-text-secondary)}.coverage-metric strong{font-size:1.12rem;transition:color var(--transition-fast),transform var(--transition-fast)}.timeline-list{display:grid;gap:.8rem}.timeline-event-card{display:grid;gap:.65rem;padding:.95rem;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:#ffffff06;box-shadow:0 0 #0000;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.timeline-event-card--full{background:#ffffff05}.timeline-event-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.timeline-event-date{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.timeline-event-title{margin:0;font-family:var(--font-display);font-size:clamp(1rem,2vw,1.22rem);line-height:1.12}.timeline-event-description{margin:0;color:var(--color-text-secondary)}@keyframes candidate-control-settle-a{0%{opacity:.88;transform:translateY(.16rem) scale(.992);filter:saturate(.96)}65%{opacity:1;transform:translateY(-.05rem) scale(1.01);filter:saturate(1.03)}to{opacity:1;transform:translateY(0) scale(1);filter:saturate(1)}}@keyframes candidate-control-settle-b{0%{opacity:.88;transform:translateY(.16rem) scale(.992);filter:saturate(.96)}65%{opacity:1;transform:translateY(-.05rem) scale(1.01);filter:saturate(1.03)}to{opacity:1;transform:translateY(0) scale(1);filter:saturate(1)}}@keyframes candidate-panel-settle-a{0%{opacity:.72;transform:translateY(-.12rem) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes candidate-panel-settle-b{0%{opacity:.72;transform:translateY(-.12rem) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes candidate-overlay-note-enter{0%{opacity:0;transform:translateY(-.2rem) scale(.985)}62%{opacity:1;transform:translateY(.05rem) scale(1.006)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes candidate-overlay-note-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.12rem) scale(.992)}}.candidate-summary-card:focus-within .candidate-portrait-shell{transform:translateY(-2px);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.candidate-summary-card:focus-within .candidate-photo{transform:scale(1.04)}.candidate-summary-card:focus-within .candidate-photo-fallback{transform:translateY(-1px) scale(1.03)}@supports (view-transition-name: none){.evidence-disclosure{view-transition-name:candidate-evidence}.timeline-list{view-transition-name:candidate-timeline}}@media(min-width:760px){.candidate-hero{gap:1rem}.candidate-portrait-shell{width:min(100%,6.5rem)}}@media(min-width:1100px){.candidate-detail-grid{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr)}}@media(max-width:640px){.candidate-summary-card .section-card-body,.candidate-hero{gap:.8rem}.candidate-portrait-shell{width:4.6rem}.candidate-photo-fallback{font-size:2.05rem}.candidate-route-meta{font-size:.76rem}.candidate-track-record-strip{gap:.35rem;padding-top:.15rem}.candidate-track-record-strip-head{gap:.25rem .45rem}.candidate-track-record-strip-label,.candidate-track-record-strip-item{font-size:.75rem}.candidate-track-record-strip-item{min-height:1.75rem;padding:.16rem .55rem}.candidate-related-contest-link{min-height:1.9rem;font-size:.88rem}.candidate-name-main{font-size:clamp(1.45rem,7vw,2.2rem)}.candidate-watchout{gap:.5rem;padding:.8rem .85rem}.candidate-watchout-title{font-size:.94rem}.timeline-toggle{width:100%}.candidate-voice-list{grid-template-columns:minmax(0,1fr);gap:.7rem}.candidate-voice-card{gap:.55rem;padding:.85rem}.timeline-toggle-button{flex:1 1 0}.timeline-list{gap:.75rem}.timeline-event-card{gap:.55rem;padding:.9rem}}@media(prefers-reduced-motion:reduce){.detail-toggle-button.control-settle-a,.detail-toggle-button.control-settle-b,.timeline-toggle-button.control-settle-a,.timeline-toggle-button.control-settle-b,.evidence-stack.control-settle-a,.evidence-stack.control-settle-b,.candidate-overlay-help .candidate-overlay-help-note.tap-help-note--opening,.candidate-overlay-help .candidate-overlay-help-note.tap-help-note--closing{animation:none}}
