:root{--bg:#ffffff;--surface:#ffffff;--text:#191f28;--text-secondary:#4e5968;--text-tertiary:#8b95a1;--primary:#4e5968;--primary-light:rgba(25,31,40,0.045);--brand-accent:#c7ea46;--brand-accent-soft:rgba(199,234,70,0.28);--brand-accent-border:rgba(151,184,28,0.42);--border:#edf0f2;--card-shadow:none}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Pretendard,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}body{min-height:100vh}.nav-bar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(237,240,242,.95)}.nav-inner{display:flex;align-items:center;justify-content:flex-start;gap:14px;max-width:760px;margin:0 auto;padding:0;height:56px}@media (max-width:792px){.nav-inner{padding:0 16px}}.nav-brand{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none}.nav-logo{font-weight:850;font-size:1.1rem;color:var(--text);letter-spacing:-.02em}.service-tabs{display:flex;align-items:center;gap:6px;position:relative;padding-left:10px}.service-tabs:before{position:absolute;left:0;top:50%;width:1px;height:12px;background:var(--border);content:"";transform:translateY(-50%)}.service-tab{position:relative;display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:.82rem;font-weight:800;letter-spacing:0;transition:background .15s,color .15s}.service-tab.active,.service-tab:hover{background:var(--brand-accent-soft);color:var(--text)}.service-tab.active:after{display:none}.nav-links{display:flex;gap:4px}.nav-link{padding:6px 14px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.nav-link:hover{background:var(--primary-light);color:var(--primary)}.page{max-width:640px;margin:0 auto;padding:24px 16px 80px}.local-election-page{padding-bottom:calc(108px + env(safe-area-inset-bottom))}.hero{padding:24px 20px;background:transparent;border-radius:16px;box-shadow:var(--card-shadow)}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:.82rem;font-weight:700;letter-spacing:0}.hero h1{margin:0;font-size:1.3rem;font-weight:800;letter-spacing:-.03em;line-height:1.25}.lead{margin:6px 0 0;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.region-section{display:grid;grid-gap:8px;gap:8px;width:100%;max-width:760px;min-width:0;min-height:76px;margin:0 auto 4px}.search-wrap{display:flex;align-items:center;gap:8px;margin-bottom:12px}.search-input{flex:1 1;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:14px;color:var(--text);outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--primary)}.search-input::placeholder{color:var(--text-tertiary)}.search-count{font-size:13px;color:var(--text-tertiary);white-space:nowrap}.region-filter-shell{position:relative;width:100%;max-width:760px;margin-inline:auto;min-width:0}@media (hover:hover) and (pointer:fine){.region-filter-shell{width:100%;margin-inline:auto}}.region-filter-wrap{width:100%;max-width:100%;min-width:0;min-height:34px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;cursor:-webkit-grab;cursor:grab;overscroll-behavior-x:contain;scrollbar-color:rgba(78,89,104,.22) transparent;scrollbar-width:thin;-webkit-user-select:none;-moz-user-select:none;user-select:none}.region-filter-wrap::-webkit-scrollbar{height:5px}.region-filter-wrap::-webkit-scrollbar-track{background:transparent}.region-filter-wrap::-webkit-scrollbar-thumb{background:rgba(78,89,104,.22);border-radius:999px}.region-filter-wrap:active{cursor:-webkit-grabbing;cursor:grabbing}.region-filter{display:flex;gap:6px;width:max-content;min-height:34px}.region-chip{position:relative;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid rgba(229,232,235,.88);background:var(--surface);color:var(--text-secondary);text-decoration:none;font-size:.82rem;font-weight:500;white-space:nowrap;flex-shrink:0;transition:all .15s}.party-chip-count{color:var(--text-tertiary);font-size:.76rem;font-weight:760}.region-chip.active,.region-chip:hover{border-color:var(--brand-accent-border);color:var(--text)}.region-chip.active{background:var(--brand-accent-soft);box-shadow:none;font-weight:850}.region-chip.pending{opacity:.78}.region-chip.active .party-chip-count{color:var(--text-secondary)}.filter-chip-pending-dot,.party-chip-pending-dot{position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:999px;background:var(--text-secondary);animation:party-chip-pulse .8s ease-in-out infinite}@keyframes party-chip-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.filter-chip-pending-dot,.party-chip-pending-dot{animation:none}}.topic-filter-notice{display:flex;align-items:center;gap:7px;min-width:0;margin:2px 0 4px}.topic-filter-label{color:var(--text-tertiary);font-size:.76rem;font-weight:820}.topic-filter-clear{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:5px 10px;border-radius:999px;border:1px solid var(--brand-accent-border);background:var(--brand-accent-soft);color:var(--text);text-decoration:none;font-size:.82rem;font-weight:850}.topic-filter-clear:after{content:"×";color:var(--text-secondary);font-size:.9em;font-weight:900}.home-page{display:flex;flex-direction:column;gap:22px;padding-bottom:56px}.about-page{max-width:760px;padding-bottom:calc(128px + env(safe-area-inset-bottom))}.home-hero{padding:34px 4px 10px}.home-hero h1{max-width:560px;margin:0;font-size:2.2rem;font-weight:850;line-height:1.16;letter-spacing:0;word-break:keep-all}.home-hero p:last-of-type{max-width:600px;margin-top:14px;color:var(--text-secondary);font-size:1rem;line-height:1.7;word-break:keep-all}.home-section{padding:20px 0 0;border-top:1px solid var(--border)}.home-steps{display:grid;grid-gap:8px;gap:8px;margin-top:14px;list-style:none}.home-steps li{display:grid;grid-gap:3px;gap:3px;padding:14px 0;border-bottom:1px solid var(--border)}.home-steps li:last-child{border-bottom:none}.home-steps strong{font-size:.95rem}.home-steps span{color:var(--text-secondary);font-size:.9rem}.about-feedback{display:flex;align-items:center;justify-content:space-between;gap:14px}.about-feedback p{margin:0;color:var(--text-secondary);font-size:.92rem;line-height:1.6;word-break:keep-all}.about-feedback-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 13px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:.84rem;font-weight:850;text-decoration:none;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}.about-feedback-link:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.policy-link-section{padding-bottom:18px}.policy-link-list{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.policy-link-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:14px 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.policy-link-item:last-child{border-bottom:none}.policy-link-item span:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.policy-link-item strong{color:var(--text);font-size:.98rem;font-weight:900;line-height:1.25}.policy-link-item small{color:var(--text-secondary);font-size:.86rem;font-weight:500;line-height:1.45;word-break:keep-all}.policy-link-item span:last-child{color:var(--text-tertiary);font-size:1.2rem;font-weight:800;line-height:1}.policy-page{max-width:720px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.policy-hero{display:grid;grid-gap:10px;gap:10px;padding:28px 0 24px}.policy-hero h1{margin:0;color:var(--text);font-size:2rem;font-weight:930;line-height:1.12;letter-spacing:0;word-break:keep-all}.policy-hero p,.policy-section p{margin:0;color:var(--text-secondary);font-size:.94rem;font-weight:450;line-height:1.65;word-break:keep-all}.policy-section{display:grid;grid-gap:10px;gap:10px;padding:20px 0;border-top:1px solid var(--border)}.policy-section h2{margin:0;color:var(--text);font-size:1.06rem;font-weight:900;line-height:1.3;letter-spacing:0}.people-start{display:flex;flex-direction:column;gap:18px}.people-start-hero{padding:24px 4px 4px}.people-start-hero h1{margin:0;font-size:1.8rem;font-weight:850;line-height:1.2;letter-spacing:0;word-break:keep-all}.people-start-hero p:not(.eyebrow){margin-top:12px;color:var(--text-secondary);font-size:.98rem;line-height:1.65;word-break:keep-all}.start-data-as-of{margin:14px 0 0}.people-region-panel{padding:20px 0 0;border-top:1px solid var(--border)}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading-row h2{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:0}.text-link{color:var(--primary);font-size:.9rem;font-weight:700;text-decoration:none;white-space:nowrap}.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.region-tile{display:flex;flex-direction:column;justify-content:center;min-height:74px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.region-tile:hover{border-color:var(--primary);box-shadow:var(--card-shadow);transform:translateY(-1px)}.region-tile span:first-child{font-size:.98rem;font-weight:800}.region-count{margin-top:2px;color:var(--text-tertiary);font-size:.78rem;font-weight:700}.bottom-tab-bar{position:fixed;left:50%;bottom:10px;z-index:120;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(340px,calc(100% - 32px));height:58px;padding:5px;border:1px solid rgba(237,240,242,.95);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 14px 36px rgba(25,31,40,.14);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:translateX(-50%)}.bottom-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:48px;border-radius:12px;color:var(--text-tertiary);text-decoration:none;font-size:.76rem;font-weight:800;transition:background .15s,color .15s}.bottom-tab.active{background:var(--brand-accent-soft);color:var(--text)}.bottom-tab.active:after{display:none}.bottom-tab-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.record-feed-view{display:flex;flex-direction:column;gap:8px;min-height:720px}.local-election-loading-page{padding-top:18px}.loading-filter-row{display:flex;gap:8px;min-height:34px;overflow:hidden}.loading-filter-row span{display:block;width:72px;height:34px;border-radius:999px;background:linear-gradient(90deg,#f2f4f6,#fbfbfc 50%,#f2f4f6);background-size:200% 100%;animation:loading-shimmer 1.3s ease-in-out infinite;flex:0 0 auto}.loading-filter-row-secondary span{width:92px}.loading-card{display:grid;grid-gap:12px;gap:12px;min-height:260px;padding:18px 16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.loading-card-featured{min-height:520px;background:linear-gradient(180deg,rgba(248,249,250,.96),#ffffff)}.loading-line,.loading-pill{display:block;border-radius:999px;background:linear-gradient(90deg,#eef1f4,#fbfbfc 50%,#eef1f4);background-size:200% 100%;animation:loading-shimmer 1.3s ease-in-out infinite}.loading-pill{width:86px;height:24px}.loading-line{width:100%;height:13px}.loading-line-title{width:76%;height:18px}.loading-line-short{width:54%}.loading-copy{margin:2px 0 0;color:var(--text-tertiary);font-size:.86rem;font-weight:700;text-align:center}@keyframes loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.top-search-button{position:fixed;top:10px;right:max(16px,calc((100vw - 760px) / 2));z-index:150;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.top-search-button:hover{background:var(--primary-light);color:var(--primary)}.candidate-search-overlay{position:fixed;inset:0;z-index:300}.candidate-search-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.18);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.candidate-search-sheet{position:relative;display:grid;grid-gap:8px;gap:8px;width:min(520px,calc(100% - 24px));margin:68px auto 0;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 18px 60px rgba(15,23,42,.16)}.candidate-search-box{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 2px 10px rgba(15,23,42,.03)}.candidate-search-icon{width:19px;height:19px;color:currentColor;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.candidate-search-input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);font-size:.92rem;font-weight:650;outline:none}.candidate-search-input::placeholder{color:var(--text-tertiary);font-weight:600}.candidate-search-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:999px;background:var(--bg);color:var(--text-tertiary);cursor:pointer;font-size:1.1rem;font-weight:750;line-height:1}.candidate-search-results{display:grid;grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--card-shadow)}.candidate-search-result{display:flex;align-items:center;gap:10px;min-width:0;padding:8px;border-radius:10px;color:inherit;text-decoration:none}.candidate-search-result:hover{background:var(--bg)}.candidate-search-party-token{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;flex-shrink:0;font-size:.72rem;font-weight:900;letter-spacing:0}.candidate-search-party-token-democratic{background:rgba(26,104,199,.1);color:#1a68c7}.candidate-search-party-token-ppp{background:rgba(224,52,43,.1);color:#e0342b}.candidate-search-party-token-reform{background:rgba(245,130,32,.1);color:#d06a10}.candidate-search-party-token-progressive{background:rgba(214,28,94,.1);color:#d61c5e}.candidate-search-kind-token,.candidate-search-party-token-other{background:var(--bg);color:var(--text-secondary)}.candidate-search-kind-token{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:28px;padding:5px 8px;border:1px solid rgba(229,232,235,.95);border-radius:999px;flex-shrink:0;font-size:.72rem;font-weight:900;line-height:1;white-space:nowrap}.candidate-search-kind-token-comparison,.candidate-search-kind-token-thread{border-color:var(--brand-accent-border);background:var(--brand-accent-soft);color:var(--text)}.candidate-search-kind-token-topic{min-width:38px;min-height:38px;border-color:var(--brand-accent-border);background:#fff;color:var(--text);font-size:.68rem}.candidate-search-body{display:grid;grid-gap:2px;gap:2px;min-width:0}.candidate-search-name-row{display:flex;align-items:center;gap:6px;min-width:0}.candidate-search-name-row strong{font-size:.92rem;font-weight:850}.candidate-search-empty,.candidate-search-meta,.candidate-search-snippet{color:var(--text-tertiary);font-size:.78rem;font-weight:700}.candidate-search-snippet{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-weight:650;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.candidate-search-empty{margin:0;padding:8px}.candidate-search-hint{padding:10px 12px 6px}.record-feed-list{display:grid;grid-gap:8px;gap:8px;min-height:520px}.candidate-comparison-section{margin-top:24px}.candidate-comparison-section .record-feed-list{margin-top:12px}.record-feed-sentinel{min-height:44px;padding:12px 0;color:var(--text-tertiary);font-size:.8rem;font-weight:700;text-align:center}.record-card{position:relative;padding:16px;border:1px solid rgba(237,240,242,.96);border-radius:12px;touch-action:pan-y;transition:border-color .15s,box-shadow .15s;overflow-anchor:none}.record-card,.record-thread-card{background:var(--surface);box-shadow:var(--card-shadow)}.record-thread-card{border-width:2px;border-color:rgba(25,31,40,.22)}.record-thread-card.record-party-surface-democratic{border-color:rgba(26,104,199,.24);background:linear-gradient(180deg,rgba(26,104,199,.055),rgba(255,255,255,0) 150px),var(--surface)}.record-thread-card.record-party-surface-ppp{border-color:rgba(224,52,43,.24);background:linear-gradient(180deg,rgba(224,52,43,.052),rgba(255,255,255,0) 150px),var(--surface)}.record-thread-card.record-party-surface-reform{border-color:rgba(245,130,32,.24);background:linear-gradient(180deg,rgba(245,130,32,.055),rgba(255,255,255,0) 150px),var(--surface)}.record-thread-card.record-party-surface-progressive{border-color:rgba(214,28,94,.24);background:linear-gradient(180deg,rgba(214,28,94,.052),rgba(255,255,255,0) 150px),var(--surface)}.record-comparison-card{padding-inline:10px;border-width:2px;border-color:rgba(25,31,40,.24);background:var(--surface);box-shadow:inset 0 0 0 3px var(--surface),inset 0 0 0 4px rgba(25,31,40,.12)}.record-card.show-comparison,.record-card.show-news,.record-card.show-scenes{border-color:rgba(25,31,40,.14)}.record-card-top{justify-content:space-between;min-height:28px}.record-card-top,.record-card-top-left{display:flex;align-items:center;gap:8px}.record-card-top-left{min-width:0;flex-wrap:wrap}.record-region-meta{margin-left:auto;color:var(--text-tertiary);font-size:.75rem;line-height:1;white-space:nowrap}.record-person,.record-region-meta{display:inline-flex;align-items:center;min-height:26px;font-weight:850}.record-person{gap:4px;text-decoration:none;font-size:.76rem;box-shadow:0 3px 10px rgba(15,23,42,.1)}.record-person:after{content:"›";color:currentColor;font-size:.92em;font-weight:900;line-height:1;opacity:.72}.record-person{color:var(--text-secondary)}.record-person-democratic{color:#1a68c7}.record-person-ppp{color:#e0342b}.record-person-reform{color:#d06a10}.record-person-progressive{color:#d61c5e}.record-axis-meta{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;border:1px solid rgba(229,232,235,.9);background:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:850;line-height:1}.record-topic-context{display:inline-flex;align-items:center;line-height:1.15}.record-topic-filter{min-height:26px;padding:4px 9px;border:1px solid rgba(25,31,40,.14);border-radius:999px;background:#f8f9fa;color:var(--text);font-size:.76rem;font-weight:880;line-height:1;text-decoration:none;cursor:pointer}.record-topic-filter:after{content:"›";margin-left:4px;color:currentColor;font-size:.92em;font-weight:900;line-height:1;opacity:.62}.record-event-meta{min-height:26px;color:var(--text-tertiary);font-size:.75rem;font-weight:800}.record-direction-icon,.record-event-meta{display:inline-flex;align-items:center;line-height:1}.record-direction-icon{justify-content:center;min-width:26px;height:26px;font-size:.98rem}.record-thread-meta{border-radius:999px;border:1px solid rgba(25,31,40,.22);background:transparent;color:var(--text)}.record-comparison-label,.record-comparison-meta,.record-comparison-region,.record-thread-meta{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;font-size:.75rem;font-weight:850;line-height:1}.record-comparison-label,.record-comparison-meta,.record-comparison-region{border-radius:999px}.record-comparison-label{border:1px solid var(--brand-accent-border);background:var(--brand-accent-soft)}.record-event-comparison-label{border-color:var(--brand-accent-border);background:var(--brand-accent-soft)}.record-event-comparison-person-row{display:inline-flex;align-items:center;gap:6px;min-width:0}.record-event-role-pill{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border:1px solid rgba(25,31,40,.12);border-radius:999px;background:rgba(255,255,255,.72);color:var(--text-secondary);font-size:.74rem;font-weight:850;line-height:1;white-space:nowrap}.record-comparison-region{border:1px solid rgba(229,232,235,.9);background:transparent;color:var(--text-secondary)}.record-comparison-meta{border:1px solid rgba(25,31,40,.22);background:transparent;color:var(--text)}.record-card h2{margin:11px 0 7px;font-size:1.04rem;font-weight:900;line-height:1.35;letter-spacing:0;word-break:keep-all}.record-card-main-link{display:block;color:inherit;text-decoration:none;border-radius:12px}.record-card-main-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.record-thread-main{padding-left:0}.record-card-top,.record-comparison-list,.record-news-side,.record-page-arrow,.record-thread-side{position:relative;z-index:1}.record-card p,.record-description-blocks{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.6;word-break:keep-all}.record-comparison-description,.record-description-blocks,.record-thread-event-note{display:grid;grid-gap:.34em;gap:.34em}.record-thread-change{margin:8px 0 7px!important;color:var(--text)!important;font-size:1rem!important;font-weight:850;line-height:1.45!important}.record-thread-period{margin-top:12px;color:var(--text-tertiary);font-size:.78rem;font-weight:800}.record-thread-actions{display:flex;justify-content:flex-start;margin-top:12px}.record-evidence-toggle,.record-scene-toggle,.record-thread-expand-button{display:inline-flex;align-items:center;cursor:pointer;font:inherit;line-height:1}.record-thread-expand-button{min-height:32px;padding:7px 11px;border:1px solid rgba(25,31,40,.18);border-radius:999px;background:transparent;color:var(--text);font-size:.78rem;font-weight:850}.record-thread-expand-button:hover{border-color:rgba(25,31,40,.28);background:var(--primary-light)}.record-scene-toggle{justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:9px 12px;border:1px solid rgba(25,31,40,.12);border-radius:12px;background:var(--surface);color:var(--text);font-size:.84rem;font-weight:880}.record-scene-toggle:hover{border-color:rgba(25,31,40,.12);background:var(--surface)}.record-scene-toggle-text{display:inline-flex;align-items:center;gap:6px;min-width:0;margin-right:auto;color:var(--text-secondary);font-weight:850}.record-scene-toggle-label{color:var(--text-tertiary);font-size:.76rem}.record-evidence-toggle{gap:4px;width:-moz-fit-content;width:fit-content;min-height:22px;padding:0;border:0;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:700}.record-evidence-toggle:hover{color:var(--text)}.candidate-section-chevron,.record-toggle-chevron{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;border:0;background:transparent;color:currentColor;font-size:0;line-height:1;opacity:1;flex-shrink:0}.candidate-section-chevron:before,.record-toggle-chevron:before{content:"";width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:translateY(-2px) rotate(45deg)}button[aria-expanded=true] .candidate-section-chevron:before,button[aria-expanded=true] .record-toggle-chevron:before{transform:translateY(2px) rotate(225deg)}.record-comparison-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.record-comparison-row.record-party-surface-democratic{border-color:rgba(26,104,199,.22);background:linear-gradient(180deg,rgba(26,104,199,.075),rgba(255,255,255,0) 118px),var(--surface)}.record-comparison-row.record-party-surface-ppp{border-color:rgba(224,52,43,.22);background:linear-gradient(180deg,rgba(224,52,43,.072),rgba(255,255,255,0) 118px),var(--surface)}.record-comparison-row.record-party-surface-reform{border-color:rgba(245,130,32,.23);background:linear-gradient(180deg,rgba(245,130,32,.078),rgba(255,255,255,0) 118px),var(--surface)}.record-comparison-row.record-party-surface-progressive{border-color:rgba(214,28,94,.22);background:linear-gradient(180deg,rgba(214,28,94,.072),rgba(255,255,255,0) 118px),var(--surface)}.record-comparison-row.record-party-surface-other{border-color:rgba(78,89,104,.14);background:linear-gradient(180deg,rgba(78,89,104,.055),rgba(255,255,255,0) 118px),var(--surface)}.record-comparison-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;grid-gap:8px;gap:8px;min-height:52px;padding:12px 10px;border:2px solid rgba(25,31,40,.12);border-radius:14px;background:#f8f9fa;color:inherit;text-decoration:none}.record-comparison-missing-note{padding:10px 12px;border:1px dashed rgba(78,89,104,.24);border-radius:12px;background:#ffffff;color:var(--text-tertiary);font-size:.82rem;font-weight:850}.record-comparison-text{display:grid;justify-items:start;grid-gap:7px;gap:7px;min-width:0}.record-comparison-topic{display:grid;grid-gap:4px;gap:4px;margin-top:10px;color:var(--text-tertiary);font-size:.78rem;font-weight:850;line-height:1.35}.record-comparison-candidate-title{color:var(--text);font-size:1rem;font-weight:900;line-height:1.35;text-decoration:none;word-break:keep-all}.record-comparison-description{color:var(--text-secondary);font-size:.9rem;font-weight:400;line-height:1.6;word-break:keep-all}.record-comparison-scene-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;padding:8px 10px;border:1px solid rgba(25,31,40,.12);border-radius:12px;background:rgba(255,255,255,.62);color:var(--text);cursor:pointer;font:inherit;font-size:.84rem;font-weight:880;line-height:1}.record-comparison-scene-toggle:hover{border-color:rgba(25,31,40,.18);background:rgba(255,255,255,.78)}.record-page-arrow{position:absolute;top:50%;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.92);color:var(--text-secondary);font-size:1rem;font-weight:850;cursor:pointer;transform:translateY(-50%);box-shadow:0 5px 16px rgba(15,23,42,.1)}.record-page-arrow-left{left:-8px}.record-page-arrow-right{right:-8px}.record-page-arrow-with-count{overflow:visible}.record-page-arrow-count{position:absolute;right:0;bottom:calc(100% + 5px);display:inline-flex;align-items:center;min-height:19px;padding:3px 6px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.96);color:var(--text-tertiary);font-size:.68rem;font-weight:850;line-height:1;white-space:nowrap;box-shadow:0 4px 12px rgba(15,23,42,.08)}.record-page-arrow:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.record-news-side{display:grid;grid-gap:12px;gap:12px;margin-top:4px;min-height:156px;padding:0}.record-thread-side{display:grid;grid-gap:10px;gap:10px;min-height:280px;margin-top:14px;padding:12px 0 0;border-top:1px solid rgba(229,232,235,.9)}.record-thread-topic{flex-shrink:0}.record-thread-event-list{display:grid;grid-gap:8px;gap:8px}.record-thread-event-list.compact-timeline{gap:9px}.record-thread-event-rail{display:grid;grid-auto-columns:minmax(210px,72%);grid-auto-flow:column;grid-gap:10px;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 -24px;padding:0 24px 4px}.record-thread-event-rail::-webkit-scrollbar{display:none}.record-thread-event{display:grid;grid-gap:5px;gap:5px;min-height:0;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:inherit;text-decoration:none}.record-thread-event:hover{border-color:rgba(25,31,40,.18);background:var(--primary-light)}.record-thread-event-card{display:grid;align-content:start;grid-gap:8px;gap:8px;min-height:148px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg);color:inherit;text-decoration:none;scroll-snap-align:start}.record-thread-event-card:hover{border-color:rgba(25,31,40,.18);background:var(--primary-light)}.record-thread-date{color:var(--text-tertiary);font-size:.74rem;font-weight:800}.record-thread-event-stance{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:25px;padding:4px 9px;border:1px solid rgba(25,31,40,.12);border-radius:999px;background:rgba(25,31,40,.04);color:var(--text);font-size:.76rem;font-weight:900;line-height:1}.record-thread-event-title{color:var(--text);font-size:.92rem;font-weight:850;line-height:1.45;word-break:keep-all}.record-thread-event-note{color:var(--text-secondary);font-size:.9rem;font-weight:400;line-height:1.6;word-break:keep-all}.record-thread-event-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.record-thread-event-dot{color:var(--text-tertiary);font-size:.86rem;font-weight:700;line-height:1}.record-detail-loading{color:var(--text-tertiary);font-size:.9rem;font-weight:700;line-height:1.6;min-height:144px;padding:10px 0}.record-thread-scene-list{display:grid;grid-gap:0;gap:0}.record-thread-scene-wrap{position:relative;display:grid}.record-thread-scene-wrap:not(:last-child):after{content:"";position:absolute;left:15px;top:34px;bottom:-25px;width:1px;transform:translateX(-50%);background:rgba(139,149,161,.22)}.record-thread-scene{position:relative;z-index:1;display:grid;grid-template-columns:30px minmax(0,1fr);grid-gap:10px;width:100%;padding:10px 0;color:inherit;text-decoration:none}.record-thread-scene-index{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(139,149,161,.24);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:.74rem;font-weight:900}.record-thread-scene-body{display:grid;grid-gap:6px;gap:6px;min-width:0;padding:2px 0 10px;border-bottom:1px solid rgba(229,232,235,.72)}.record-thread-scene-wrap:last-child .record-thread-scene-body{border-bottom:0}.record-thread-scene-detail{position:relative;z-index:1;display:grid;grid-gap:10px;gap:10px;margin:-2px 0 12px 40px;padding:0 0 12px;border-bottom:1px solid rgba(229,232,235,.72)}.record-thread-scene-wrap:last-child .record-thread-scene-detail{border-bottom:0}.record-news-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-tertiary);font-size:.8rem;font-weight:800}.record-news-header>span:first-child{min-width:0}.record-share-button{display:inline-flex;align-items:center;flex-shrink:0;gap:5px;min-height:28px;padding:6px 10px;border:1px solid rgba(229,232,235,.95);border-radius:999px;background:var(--surface);color:var(--text-secondary);cursor:pointer;font:inherit;font-size:.78rem;font-weight:850;line-height:1;white-space:nowrap}.record-share-button:hover{border-color:rgba(25,31,40,.18);background:var(--primary-light);color:var(--text)}.record-share-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.record-news-list{display:grid;grid-gap:8px;gap:8px}.record-news-item{display:grid;grid-gap:4px;gap:4px;min-height:0;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:inherit;text-decoration:none}.record-news-title{color:var(--text);font-size:.92rem;font-weight:800;line-height:1.45;word-break:keep-all}.record-news-meta{color:var(--text-tertiary);font-size:.78rem;font-weight:700}.record-news-empty,.record-news-snippet{color:var(--text-secondary);font-size:.84rem;line-height:1.5;word-break:keep-all}.record-news-more-button{width:100%;min-height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-secondary);cursor:pointer;font:inherit;font-size:.84rem;font-weight:850}.record-news-more-button:hover{border-color:rgba(25,31,40,.18);background:var(--primary-light);color:var(--primary)}.record-feed-list{gap:0;border-top:1px solid rgba(229,232,235,.86)}.record-card{display:grid;grid-gap:10px;gap:10px;padding:18px 0;border:0;border-bottom:1px solid rgba(229,232,235,.86);border-radius:0;background:transparent;box-shadow:none}.record-card.record-party-surface-democratic,.record-card.record-party-surface-other,.record-card.record-party-surface-ppp,.record-card.record-party-surface-progressive,.record-card.record-party-surface-reform{border-color:rgba(229,232,235,.86)}.record-comparison-card,.record-thread-card,.record-thread-card.record-party-surface-democratic,.record-thread-card.record-party-surface-ppp,.record-thread-card.record-party-surface-progressive,.record-thread-card.record-party-surface-reform{background:transparent;box-shadow:none}.record-comparison-card{padding-left:0;border-left:0}.record-card.show-comparison,.record-card.show-news,.record-card.show-scenes{border-color:rgba(229,232,235,.86);box-shadow:none}.record-card-top{align-items:flex-start}.record-card-top-left{gap:6px}.record-region-meta{min-height:22px;font-size:.74rem}.record-person{min-height:0;padding:4px 9px;border:1px solid rgba(25,31,40,.14);border-radius:999px;background:#f8f9fa;box-shadow:none;font-size:.78rem;font-weight:900}.record-person-democratic,.record-person-ppp,.record-person-progressive,.record-person-reform{background:transparent}.record-person-democratic{border-color:rgba(26,104,199,.2);background:rgba(26,104,199,.1)}.record-person-ppp{border-color:rgba(224,52,43,.2);background:rgba(224,52,43,.1)}.record-person-reform{border-color:rgba(245,130,32,.2);background:rgba(245,130,32,.1)}.record-person-progressive{border-color:rgba(214,28,94,.2);background:rgba(214,28,94,.1)}.record-person:after{font-size:.86rem;opacity:.45}.record-axis-meta,.record-comparison-label,.record-event-meta{min-height:0;padding:0;border:0;background:transparent;color:var(--text-tertiary);font-size:.78rem;font-weight:780}.record-topic-context{color:var(--text-tertiary);font-size:.78rem;font-weight:780}.record-comparison-label{color:var(--text);font-size:1.08rem;font-weight:930;line-height:1.35;background:linear-gradient(180deg,transparent 56%,var(--brand-accent-soft) 0)}.record-axis-meta.record-topic-filter,.record-comparison-label.record-topic-filter{min-height:26px;padding:4px 9px;border:1px solid var(--brand-accent-border);border-radius:999px;background:var(--brand-accent-soft);color:var(--text);font-size:.76rem;font-weight:880;line-height:1}.record-card h2{margin:2px 0 7px;font-size:1.08rem;line-height:1.38}.record-card p,.record-description-blocks{font-size:.94rem;line-height:1.68}.record-thread-period{margin-top:10px}.record-thread-actions{margin-top:2px}.record-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding-top:2px;color:var(--text-tertiary);font-size:.8rem;font-weight:760}.record-card-footer>span{min-width:0}.record-card-footer-date{color:var(--text-tertiary);font-size:.8rem;font-weight:760;text-align:right;white-space:nowrap}.voice-post-experiment{display:grid;grid-gap:0;gap:0;margin:8px 0 18px;border-top:1px solid rgba(229,232,235,.86)}.voice-post-experiment-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 0 12px;border-bottom:1px solid rgba(229,232,235,.86)}.voice-post-experiment-head h2{margin:2px 0 0;color:var(--text);font-size:1.08rem;font-weight:930;letter-spacing:0;line-height:1.35}.voice-post-count,.voice-post-kicker{color:var(--text-tertiary);font-size:.76rem;font-weight:820}.voice-post-list{display:grid;grid-gap:0;gap:0}.voice-post-card{display:grid;grid-gap:10px;gap:10px;padding:18px 0;border-bottom:1px solid rgba(229,232,235,.86)}.voice-post-context,.voice-post-speaker-row,.voice-post-top{display:flex;align-items:center;gap:7px;min-width:0}.voice-post-top{justify-content:space-between;align-items:flex-start}.voice-post-speaker-row{flex-wrap:wrap}.voice-post-context,.voice-post-meta,.voice-post-topic{color:var(--text-tertiary);font-size:.78rem;font-weight:780}.voice-post-context{flex-wrap:wrap;line-height:1.45}.voice-post-context span+span:before{content:"·";margin-right:7px;color:var(--text-tertiary)}.voice-post-body{display:grid;grid-gap:6px;gap:6px;color:var(--text)}.voice-post-body p{margin:0;color:var(--text);font-size:1rem;font-weight:450;line-height:1.68}.voice-post-body mark{padding:0 1px;background:linear-gradient(180deg,transparent 58%,rgba(255,214,102,.72) 0);color:inherit}.voice-post-empty{color:var(--text-tertiary)}.voice-post-news-toggle{justify-self:start;min-height:30px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-secondary);font:inherit;font-size:.8rem;font-weight:820;cursor:pointer}.voice-post-news-list{display:grid;grid-gap:8px;gap:8px;padding:10px 0 0}.voice-post-news{display:grid;grid-gap:3px;gap:3px;padding:10px 0;border-top:1px solid rgba(229,232,235,.72);color:inherit;text-decoration:none}.voice-post-news-title{color:var(--text);font-size:.88rem;font-weight:760;line-height:1.45}.voice-post-news-meta{color:var(--text-tertiary);font-size:.76rem;font-weight:720}.record-scene-toggle{min-height:0;width:-moz-fit-content;width:fit-content;padding:0;border:0;border-radius:0;color:var(--text-secondary);font-size:.86rem;justify-content:flex-start}.record-scene-toggle,.record-scene-toggle:hover{background:transparent}.record-scene-toggle .record-scene-toggle-text{gap:4px;margin-right:0}.record-scene-toggle-label{color:var(--text-secondary);font-size:inherit;font-weight:850}.record-evidence-toggle{font-size:.86rem;font-weight:820}.record-thread-side{margin-top:2px;padding-top:12px;border-top:0}.record-news-side{margin-top:2px}.record-card>.record-news-side{margin-left:24px;padding-left:14px;border-left:2px solid rgba(139,149,161,.2)}.record-thread-scene-wrap:not(:last-child):after{left:13px}.record-thread-scene{grid-template-columns:26px minmax(0,1fr);gap:10px;padding:9px 0}.record-thread-scene-index{width:26px;height:26px;font-size:.7rem}.record-thread-scene-detail{margin-left:38px;padding-left:14px;border-left:2px solid rgba(139,149,161,.2)}.record-card>.record-news-side .record-news-title,.record-thread-scene-detail .record-news-title{font-size:.94rem}.record-card>.record-news-side .record-news-snippet,.record-thread-scene-detail .record-news-snippet{font-size:.94rem;line-height:1.6}.record-comparison-list{gap:0;margin-top:4px;padding-left:14px;border-left:5px solid rgba(25,31,40,.82)}.record-comparison-row,.record-comparison-row.record-party-surface-democratic,.record-comparison-row.record-party-surface-other,.record-comparison-row.record-party-surface-ppp,.record-comparison-row.record-party-surface-progressive,.record-comparison-row.record-party-surface-reform{padding:8px 0 18px;border:0;border-radius:0;background:transparent}.record-comparison-row+.record-comparison-row{padding-top:20px}.record-comparison-candidate-line{display:grid;justify-items:start;grid-gap:7px;gap:7px;min-width:0}.record-comparison-candidate-title{font-size:1.04rem}.record-comparison-candidate-detail{display:grid;grid-gap:10px;gap:10px;min-height:180px;min-width:0}.record-event-comparison-card .record-comparison-candidate-detail{margin-left:24px;padding-left:14px;border-left:2px solid rgba(139,149,161,.2)}.record-comparison-scene-toggle{width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-size:.86rem;justify-content:flex-start}.record-comparison-scene-toggle:hover,.record-news-item{background:transparent}.record-news-item{padding:10px 0;border:0;border-bottom:1px solid rgba(229,232,235,.76);border-radius:0}.record-news-item:last-child{border-bottom:0}@media (min-width:768px){.candidate-thread-sub-list,.record-feed-list{max-width:720px;margin-inline:auto;padding-inline:28px;border-right:1px solid rgba(229,232,235,.86);border-left:1px solid rgba(229,232,235,.86)}.record-card{padding-right:0}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-top:20px}.card{padding:20px;border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}.district,.party{margin:0;color:var(--text-tertiary);font-size:.82rem}.card h2{margin:6px 0 4px;font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tags span{padding:4px 10px;border-radius:6px;background:var(--bg);font-size:.8rem;font-weight:500}.back-link,.bill-link,.card-link,.tags span{display:inline-flex;align-items:center;color:var(--text-secondary)}.back-link,.bill-link,.card-link{min-height:30px;margin-top:14px;padding:5px 10px;border:1px solid rgba(25,31,40,.12);border-radius:999px;background:var(--surface);text-decoration:none;font-size:.82rem;font-weight:850;gap:4px}.back-link:hover,.card-link:hover{border-color:rgba(25,31,40,.2);color:var(--text);text-decoration:none}.party-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:.8rem;font-weight:700}.party-badge-democratic{background:rgba(26,104,199,.1);color:#1a68c7}.party-badge-ppp{background:rgba(224,52,43,.1);color:#e0342b}.party-badge-reform{background:rgba(245,130,32,.1);color:#d06a10}.party-badge-progressive{background:rgba(214,28,94,.1);color:#d61c5e}.party-badge-other{background:var(--bg);color:var(--text-secondary)}.status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px}.status-inactive{background:#fee2e2;color:#dc2626}.candidate-inactive{opacity:.55}.stat-pending{opacity:.5}.stat-pending-label{font-size:11px;color:var(--text-tertiary)}.stat-analyzing{opacity:.8}.stat-analyzing .stat-pending-label{color:#242b36;font-weight:600}.stat-insufficient{opacity:.5}.stat-insufficient .stat-pending-label{color:var(--text-tertiary)}.detail-page{padding-top:8px;padding-bottom:108px}.detail-page>.back-link:first-child{margin-top:0;margin-bottom:12px}.profile-shell{display:grid;grid-template-columns:1fr 300px;grid-gap:16px;gap:16px;align-items:start}.bill-card,.profile-card,.profile-note{border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--card-shadow)}.profile-card,.profile-note{padding:28px}.profile-card h1{margin:0;font-size:1.75rem;font-weight:800;letter-spacing:-.03em}.profile-subtitle{margin-top:4px;color:var(--text-secondary);font-size:.95rem}.profile-meta{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:24px}.profile-meta div{padding:14px;border-radius:12px;background:var(--bg)}.profile-meta span{display:block;color:var(--text-tertiary);font-size:.78rem;font-weight:500}.profile-meta strong{display:block;margin-top:4px;font-size:1rem;font-weight:700}.profile-note p{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.candidate-profile-shell{grid-template-columns:1fr auto;align-items:start}.candidate-info-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.candidate-info-section p{margin:0;line-height:1.7}.career-list{margin:8px 0 0;padding-left:20px;line-height:1.9;color:var(--text-secondary);font-size:.92rem}.alignment-section,.scores-section{margin-top:28px}.alignment-list{gap:20px;margin-top:16px}.alignment-list,.alignment-row{display:flex;flex-direction:column}.alignment-row{gap:6px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--card-shadow)}.alignment-label{font-weight:700;font-size:.92rem;color:var(--text)}.alignment-bar-wrap{display:flex;align-items:center;gap:10px}.alignment-pole{font-size:.78rem;color:var(--text-tertiary);min-width:50px;text-align:center;font-weight:500}.alignment-bar{flex:1 1;position:relative;height:6px;border-radius:3px;background:var(--bg)}.alignment-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid var(--surface);box-shadow:0 0 0 2px var(--primary)}.alignment-result{font-size:.85rem;font-weight:600;color:var(--text)}.alignment-count{font-weight:400;color:var(--text-tertiary)}.section-heading h2{margin:0;font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.bill-section{margin-top:28px}.bill-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.bill-card{padding:20px}.bill-badge-row,.bill-topline{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-tertiary);font-size:.85rem}.bill-card h3{margin:10px 0 8px;font-size:1.1rem;font-weight:700;line-height:1.4}.bill-meta{color:var(--text-tertiary);line-height:1.7}.bill-badge-row span{padding:4px 10px;border-radius:6px;background:var(--bg);font-weight:500}.diligence-badge{display:inline-block;margin-top:10px;padding:4px 12px;border-radius:6px;font-size:.85rem;font-weight:700}.grade-A{background:rgba(34,197,94,.1);color:#16a34a}.grade-B{background:rgba(59,130,246,.1);color:#2563eb}.grade-C{background:rgba(234,179,8,.1);color:#a16207}.grade-D{background:rgba(249,115,22,.1);color:#c2410c}.grade-F{background:rgba(239,68,68,.1);color:#dc2626}.news-section{margin-top:28px}.news-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.news-card{padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--card-shadow);transition:box-shadow .15s}.news-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.06)}.news-meta{display:flex;gap:8px;color:var(--text-tertiary);font-size:.8rem;font-weight:500}.news-card h3{margin:6px 0 4px;font-size:1rem;font-weight:600;line-height:1.5}.news-card h3 a{color:var(--text);text-decoration:none}.news-card h3 a:hover{color:var(--primary)}.news-snippet{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.6}.axis-drilldown-section{margin-top:28px}.axis-tab-list{display:flex;gap:8px;margin-top:16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.axis-tab-list::-webkit-scrollbar{display:none}.axis-tab{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 24px) / 4);min-width:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--card-shadow);padding:14px 8px;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.axis-tab:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06)}.axis-tab.active{border-color:var(--primary);background:linear-gradient(180deg,rgba(25,31,40,.07),rgba(25,31,40,.02))}.axis-tab-label{display:block;font-size:.86rem;font-weight:850;color:var(--text);letter-spacing:0;white-space:nowrap}.axis-tab-signal{margin-top:10px;min-height:24px;padding-right:7px;padding-left:7px;font-size:.76rem}.axis-tab-empty{display:block;margin-top:10px;font-size:.8rem;color:var(--text-tertiary)}.axis-drilldown-panel{margin-top:14px}.axis-drilldown-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.axis-drilldown-title{font-size:1rem;font-weight:800;color:var(--text)}.axis-drilldown-help{margin-top:4px;font-size:.88rem;line-height:1.6;color:var(--text-secondary)}.axis-drilldown-chip{flex-shrink:0;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.axis-drilldown-chip,.axis-drilldown-empty{background:var(--bg);color:var(--text-secondary)}.axis-drilldown-empty{margin-top:16px;padding:18px;border-radius:14px;font-size:.9rem}.axis-event-list{display:flex;flex-direction:column;gap:12px;margin-top:18px}.axis-event-sentinel{min-height:1px}.axis-event-more-button{margin-top:12px}.axis-event-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface);scroll-margin-top:88px}.axis-event-card.negative{border-color:rgba(220,38,38,.16)}.axis-event-card.positive{border-color:rgba(22,163,74,.16)}.axis-event-button{width:100%;border:none;background:none;text-align:left;padding:18px 18px 14px;cursor:pointer}.axis-event-topline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.axis-event-axis{min-height:22px;padding:3px 8px;border-radius:999px;background:var(--bg);color:var(--text-secondary);font-size:.72rem;font-weight:850}.axis-event-axis,.axis-event-thumb{display:inline-flex;align-items:center}.axis-event-thumb{min-height:20px;color:var(--text);font-size:.95rem;font-weight:800;line-height:1}.axis-event-meta{font-size:.78rem;color:var(--text-tertiary);font-weight:600}.axis-event-button h3{margin-top:10px;font-size:1.03rem;font-weight:800;line-height:1.4;color:var(--text)}.axis-event-link{display:block;color:inherit;text-decoration:none}.axis-event-link:hover .axis-event-preview p,.axis-event-link:hover h3{color:var(--primary)}.axis-event-desc{margin-top:6px;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.axis-event-cross{margin-top:8px;font-size:.8rem;color:var(--text-tertiary)}.axis-event-preview{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--bg)}.axis-event-preview.single-news{padding:14px 15px}.axis-event-preview-label{display:inline-block;margin-bottom:4px;font-size:.74rem;font-weight:700;color:var(--primary)}.axis-event-preview p{color:var(--text);font-size:.9rem;line-height:1.55}.axis-event-preview-snippet{display:block;margin-top:6px;color:var(--text-secondary);font-size:.84rem;line-height:1.65;word-break:keep-all}.axis-event-toggle{display:inline-flex;align-items:center;gap:4px;margin-top:12px;color:var(--text-secondary);font-size:.82rem;font-weight:700}.axis-event-people-wrap{padding:0 18px 8px}.axis-event-people-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.axis-event-subtitle{font-size:.82rem;font-weight:800;color:var(--text-secondary)}.axis-event-people-list{display:flex;flex-wrap:wrap;gap:8px}.axis-person-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);text-decoration:none}.axis-person-pill.clickable:hover{border-color:var(--primary);background:rgba(25,31,40,.04)}.axis-person-tone{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:800}.axis-person-tone.positive{background:rgba(22,163,74,.08);color:#16a34a}.axis-person-tone.negative{background:rgba(220,38,38,.08);color:#dc2626}.axis-person-tone.mentioned{background:var(--bg);color:var(--text-tertiary)}.axis-person-name{font-size:.82rem;font-weight:700;color:var(--text)}.axis-person-role{font-size:.75rem;color:var(--text-tertiary)}.axis-event-news-list{display:flex;flex-direction:column;gap:8px;padding:0}.axis-event-news-groups{display:flex;flex-direction:column;gap:12px;margin-top:4px;padding:0 18px 18px}.axis-event-news-groups.compact{padding-bottom:0}.axis-event-news-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px 8px;color:var(--text-tertiary);font-size:.78rem;font-weight:800}.axis-event-news-group-title{margin:0;font-size:.84rem;font-weight:900}.axis-event-news-group-title.negative{color:#dc2626}.axis-event-news-group-title.positive{color:#16a34a}.axis-event-news-group-title.neutral{color:var(--text)}.axis-event-news-group .axis-event-news-list{padding-bottom:0}.axis-event-news-card{padding:11px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--border)}.axis-event-news-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-tertiary);font-size:.76rem;font-weight:600}.axis-event-news-card h4{margin-top:6px;font-size:.95rem;font-weight:700;line-height:1.5}.axis-event-news-card h4 a{color:var(--text);text-decoration:none}.axis-event-news-card h4 a:hover{color:var(--primary)}.axis-event-news-snippet{margin-top:4px;color:var(--text-secondary);font-size:.84rem;line-height:1.6}.politician-photo,.profile-photo{display:block;object-fit:cover;border-radius:12px;background:var(--bg)}.politician-photo{width:100%;aspect-ratio:4/5;margin-bottom:12px}.profile-photo{width:min(200px,100%);aspect-ratio:4/5;margin-bottom:20px}.axis-guide{margin-bottom:16px}.data-as-of{margin:-4px 0 14px;color:var(--text-tertiary);font-size:.8rem;font-weight:600}.detail-data-as-of{margin:18px 0 0}.axis-guide-toggle{background:none;border:none;font:inherit;font-size:13px;color:var(--text-tertiary);cursor:pointer;padding:0;display:flex;align-items:center;gap:6px}.axis-guide-arrow{font-size:10px}.axis-guide-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 16px;gap:8px 16px;margin-top:10px;padding:12px;background:var(--surface);border-radius:10px;box-shadow:var(--card-shadow)}.axis-guide-list dt{font-size:13px;font-weight:700;color:var(--text)}.axis-guide-list dd{font-size:12px;color:var(--text-tertiary);margin:0}.candidate-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:760px;margin:16px auto 0}.candidate-card{position:relative;padding:16px;border-radius:12px;border:1px solid rgba(237,240,242,.96);background:var(--surface);box-shadow:var(--card-shadow);transition:border-color .15s,box-shadow .15s,transform .15s}.candidate-list-card-democratic{border-color:rgba(26,104,199,.18);background:linear-gradient(180deg,rgba(26,104,199,.04),rgba(255,255,255,0) 118px),var(--surface)}.candidate-list-card-ppp{border-color:rgba(224,52,43,.18);background:linear-gradient(180deg,rgba(224,52,43,.038),rgba(255,255,255,0) 118px),var(--surface)}.candidate-list-card-reform{border-color:rgba(245,130,32,.19);background:linear-gradient(180deg,rgba(245,130,32,.04),rgba(255,255,255,0) 118px),var(--surface)}.candidate-list-card-progressive{border-color:rgba(214,28,94,.18);background:linear-gradient(180deg,rgba(214,28,94,.038),rgba(255,255,255,0) 118px),var(--surface)}.candidate-list-card:hover{border-color:rgba(25,31,40,.22);box-shadow:none}.candidate-card-summary-link{display:block;color:inherit;text-decoration:none}.candidate-feed-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.candidate-feed-title{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.candidate-party-token{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 9px;border:1px solid rgba(229,232,235,.9);border-radius:999px;background:#f8f9fa;color:var(--text-secondary);font-size:.75rem;font-weight:900;line-height:1;letter-spacing:0}.candidate-party-token-democratic{border-color:rgba(26,104,199,.2);background:rgba(26,104,199,.075);color:#1a4f95}.candidate-party-token-ppp{border-color:rgba(224,52,43,.2);background:rgba(224,52,43,.075);color:#a22b24}.candidate-party-token-reform{border-color:rgba(245,130,32,.22);background:rgba(245,130,32,.08);color:#9a4f10}.candidate-party-token-progressive{border-color:rgba(214,28,94,.2);background:rgba(214,28,94,.075);color:#9d174d}.candidate-feed-body{display:grid;grid-gap:8px;gap:8px;margin-top:9px;min-width:0}.candidate-feed-title h2{margin:0;color:var(--text);font-size:1.04rem;font-weight:900;line-height:1.35;letter-spacing:0}.candidate-meta-brief{display:flex;flex-wrap:wrap;gap:6px;color:var(--text-secondary);font-size:.8rem;font-weight:750}.candidate-meta-brief span:before{content:"·";margin-right:6px;color:var(--text-tertiary)}.candidate-meta-brief span:first-child:before{display:none}.candidate-career{margin:0;color:var(--text-secondary);font-size:.78rem;line-height:1.4;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-record-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.candidate-record-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:7px;min-height:25px;padding:4px 9px;border-radius:999px;background:var(--bg);color:var(--text-secondary);font-size:.74rem;font-weight:850;line-height:1}.candidate-record-pill strong{color:var(--text);font-size:.78rem;font-weight:900}.candidate-record-pill-primary{border:1px solid rgba(25,31,40,.14);background:transparent;color:var(--text)}.candidate-record-pill-primary strong{color:var(--text)}.candidate-topic-pill{border:1px solid rgba(25,31,40,.14);background:var(--surface);color:var(--text)}.candidate-scores{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.score-row{display:grid;grid-template-columns:68px 1fr auto;align-items:center;grid-gap:8px;gap:8px}.score-label{font-size:.78rem;font-weight:700;color:var(--text)}.score-bar-wrap{display:flex;align-items:center;gap:8px}.score-pole{font-size:.68rem;color:var(--text-tertiary);min-width:28px;text-align:center;font-weight:500}.score-bar{flex:1 1;position:relative;height:5px;border-radius:3px;background:var(--bg)}.score-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--primary);border:2.5px solid var(--surface);box-shadow:0 0 0 1.5px var(--primary)}.score-result{font-size:.75rem;font-weight:600;color:var(--text-secondary);min-width:80px;text-align:right}.score-count{font-weight:400;color:var(--text-tertiary)}.score-insufficient .score-bar{opacity:.3}.score-insufficient .score-marker{background:var(--text-tertiary);box-shadow:0 0 0 1.5px var(--text-tertiary)}.score-insufficient-label{color:var(--text-tertiary);font-weight:500}.candidate-no-scores{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--border);color:var(--text-tertiary);font-size:.82rem}.empty-state{margin-top:60px;text-align:center;color:var(--text-tertiary);font-size:.95rem}@media (min-width:768px){.page{max-width:960px;padding:32px 20px 80px}.about-page{max-width:760px}.hero{padding:36px 32px}.hero h1{font-size:1.6rem}.lead{font-size:.95rem}.candidate-card{padding:24px 28px}.candidate-feed-title h2{font-size:1.3rem}.score-row{grid-template-columns:80px 1fr auto;gap:12px}.axis-tab-list{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-meta{grid-template-columns:repeat(4,1fr)}.graph-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:767px){.home-hero h1,.people-start-hero h1{font-size:1.65rem}.about-feedback,.section-heading-row{align-items:flex-start}.about-feedback{flex-direction:column}.region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-profile-shell,.profile-shell{grid-template-columns:1fr}.profile-card,.profile-note{padding:18px 16px}.profile-meta{grid-template-columns:repeat(2,1fr)}.alignment-row{padding:14px}.candidate-record-pill{gap:5px;padding:4px 7px;font-size:.7rem}.candidate-record-pill strong{font-size:.74rem}.axis-event-people-header,.candidate-detail-actions,.graph-filter-bar,.graph-page-actions{flex-direction:column;align-items:flex-start}.candidate-profile-header,.feedback-section{align-items:flex-start}.feedback-section{flex-direction:column}.feedback-actions{justify-content:flex-start;width:100%}.graph-event-cluster-list,.graph-layout,.graph-summary-grid{grid-template-columns:1fr}.graph-candidate-node-center{min-width:0;width:100%}}.score-card-section{width:100%;max-width:760px;margin:24px auto 0}.score-card{background:var(--bg);border-radius:16px;padding:24px;color:var(--text);max-width:320px}.score-card-pending{text-align:center;background:rgba(25,31,40,.04);border:1px dashed rgba(25,31,40,.3)}.score-card-pending-title{font-size:16px;font-weight:700;color:#242b36;margin-bottom:8px}.score-card-pending-desc{font-size:13px;color:var(--text-secondary,var(--text-tertiary));line-height:1.5}.score-card-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.score-card-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.score-card-photo-placeholder{background:var(--border)}.score-card-name{display:flex;flex-direction:column;gap:2px}.score-card-candidate{font-size:20px;font-weight:700}.score-card-region{font-size:13px;color:var(--text-tertiary)}.score-card-stats{display:flex;flex-direction:column;gap:10px}.score-card-stat{display:flex;align-items:center;gap:10px}.stat-label{font-size:13px;font-weight:600;color:var(--text-secondary);width:56px;flex-shrink:0}.stat-abbr{font-size:12px;font-weight:700;color:var(--text-tertiary);width:32px;flex-shrink:0}.signal-label{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:25px;padding:4px 8px;border-radius:999px;font-size:.75rem;font-weight:850;line-height:1.25;word-break:keep-all}.signal-label-positive,.signal-label-positive-strong{background:rgba(25,31,40,.1);color:var(--primary)}.signal-label-mixed{background:var(--bg);color:var(--text-secondary)}.signal-label-limited{background:rgba(139,149,161,.14);color:var(--text-secondary)}.signal-label-negative,.signal-label-negative-strong{background:rgba(224,52,43,.1);color:#d92d20}.signal-label-large{min-height:32px;padding:7px 11px;font-size:.9rem}.stat-highlight .stat-abbr,.stat-highlight .stat-label{font-weight:800;color:var(--text)}.profile-meta-line{font-size:14px;color:var(--text-secondary)}.candidate-profile-section{position:relative;overflow:hidden;width:100%;max-width:760px;margin-inline:auto;padding:22px 20px 18px;border:1px solid rgba(229,232,235,.96);border-radius:18px;background:linear-gradient(180deg,rgba(25,31,40,.035),rgba(255,255,255,0) 150px),var(--surface);box-shadow:var(--card-shadow)}.candidate-thread-section{margin-top:28px}.candidate-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:56px;padding:12px 4px;border:0;border-bottom:1px solid rgba(25,31,40,.12);background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.candidate-section-toggle-copy{display:grid;grid-gap:0;gap:0;min-width:0}.candidate-section-toggle-title{color:var(--text);font-size:1.18rem;font-weight:920;line-height:1.25;letter-spacing:0;word-break:keep-all}.candidate-section-toggle-meta{color:var(--text-tertiary);font-size:.78rem;font-weight:800;line-height:1.2}.candidate-section-toggle:hover .candidate-section-chevron{color:var(--text)}.candidate-thread-list{display:grid;grid-gap:24px;gap:24px;margin-top:14px}.candidate-thread-parent-group{scroll-margin-top:84px;display:grid;grid-gap:12px;gap:12px}.candidate-thread-parent-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px 10px;border-bottom:1px solid rgba(25,31,40,.12)}.candidate-thread-parent-head h3{margin:0;color:var(--text);font-size:1.1rem;font-weight:920;line-height:1.2;letter-spacing:0;word-break:keep-all}.candidate-thread-parent-head span{color:var(--text-tertiary);font-size:.76rem;font-weight:850;white-space:nowrap}.candidate-thread-card{scroll-margin-top:84px;position:relative;padding:16px;border:2px solid rgba(25,31,40,.22);border-radius:12px;background:var(--surface);box-shadow:var(--card-shadow)}.candidate-thread-card-democratic{border-color:rgba(26,104,199,.24);background:linear-gradient(180deg,rgba(26,104,199,.055),rgba(255,255,255,0) 150px),var(--surface)}.candidate-thread-card-ppp{border-color:rgba(224,52,43,.24);background:linear-gradient(180deg,rgba(224,52,43,.052),rgba(255,255,255,0) 150px),var(--surface)}.candidate-thread-card-reform{border-color:rgba(245,130,32,.24);background:linear-gradient(180deg,rgba(245,130,32,.055),rgba(255,255,255,0) 150px),var(--surface)}.candidate-thread-card-progressive{border-color:rgba(214,28,94,.24);background:linear-gradient(180deg,rgba(214,28,94,.052),rgba(255,255,255,0) 150px),var(--surface)}.candidate-thread-card.highlighted{border-color:rgba(25,31,40,.42);box-shadow:0 0 0 3px rgba(25,31,40,.08)}.candidate-thread-count{color:var(--text-tertiary);font-size:.75rem;font-weight:850;white-space:nowrap}.candidate-thread-sub-list{display:grid;grid-gap:10px;gap:10px}.candidate-thread-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.candidate-thread-card h3{margin:11px 0 7px;font-size:1.04rem;font-weight:900;line-height:1.35;letter-spacing:0;word-break:keep-all}.candidate-thread-change{margin:8px 0 7px;color:var(--text);font-size:1rem;font-weight:850;line-height:1.45}.candidate-thread-summary{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.6;word-break:keep-all}.candidate-thread-expand-button{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;margin-top:12px;padding:9px 12px;border:1px solid rgba(25,31,40,.1);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:.84rem;font-weight:880}.candidate-thread-expand-button:hover{border-color:rgba(25,31,40,.12);background:var(--surface)}.candidate-thread-expand-meta{margin-left:auto;color:var(--text-tertiary);font-size:.76rem;font-weight:850}.candidate-thread-body{margin-top:12px}.candidate-thread-events{display:grid;grid-gap:0;gap:0;margin-top:14px}.candidate-thread-event-wrap{position:relative;display:grid;grid-gap:8px;gap:8px}.candidate-thread-event-wrap:not(:last-child):after{content:"";position:absolute;left:13px;top:36px;bottom:-4px;width:1px;background:rgba(25,31,40,.14)}.candidate-thread-event{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;min-width:0;padding:12px 0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;text-decoration:none}.candidate-thread-event.open,.candidate-thread-event:hover{background:transparent}.candidate-thread-event-index{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(25,31,40,.18);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:.74rem;font-weight:900}.candidate-thread-event-body{display:grid;grid-gap:6px;gap:6px;min-width:0;padding:2px 0}.candidate-thread-event-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.candidate-thread-event-date{color:var(--text-tertiary);font-size:.74rem;font-weight:800;white-space:nowrap}.candidate-thread-event-title{min-width:0;color:var(--text);font-size:.88rem;font-weight:800;line-height:1.45;word-break:keep-all}.candidate-thread-event-detail{display:grid;grid-gap:10px;gap:10px;margin:-2px 0 8px 38px;padding:10px 0 2px;border-top:1px solid rgba(229,232,235,.9)}.candidate-thread-event-desc,.candidate-thread-event-note{margin:0;color:var(--text-secondary);font-size:.9rem;font-weight:400;line-height:1.6;word-break:keep-all}.candidate-thread-news-panel{position:relative;display:grid;grid-gap:12px;gap:12px;margin-top:4px;padding:0;border:0;border-radius:0;background:transparent}.candidate-thread-news-header{color:var(--text-tertiary);font-size:.76rem;font-weight:850}.candidate-thread-news-list{display:grid;grid-gap:8px;gap:8px}.candidate-thread-news-item{display:grid;grid-gap:4px;gap:4px;min-height:0;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:inherit;text-decoration:none}.candidate-thread-news-title{color:var(--text);font-size:.92rem;font-weight:800;line-height:1.45;word-break:keep-all}.candidate-thread-news-empty,.candidate-thread-news-meta,.candidate-thread-news-snippet{color:var(--text-tertiary);font-size:.78rem;line-height:1.45;word-break:keep-all}.candidate-thread-news-snippet{color:var(--text-secondary)}.candidate-thread-news-empty{margin:0;font-weight:800}.candidate-profile-header{display:block;padding-right:44px}.candidate-profile-title-block{display:grid;grid-gap:7px;gap:7px;min-width:0}.candidate-profile-kicker{gap:7px}.candidate-profile-kicker,.candidate-profile-title-line{display:flex;align-items:center;flex-wrap:wrap;min-width:0}.candidate-profile-title-line{gap:8px}.candidate-profile-title-line h1{margin:0;color:var(--text);font-size:2rem;font-weight:930;line-height:1.1;letter-spacing:0}.share-control{position:absolute;top:18px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:1}.share-icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.share-icon-button:hover{border-color:rgba(25,31,40,.24);background:rgba(25,31,40,.06);color:var(--primary)}.share-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.share-status{max-width:150px;color:var(--text-tertiary);font-size:.8rem;font-weight:600;text-align:right}.feedback-section{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--card-shadow)}.feedback-title{margin:0;color:var(--text);font-size:.94rem;font-weight:800}.feedback-desc{margin:4px 0 0;color:var(--text-tertiary);font-size:.82rem;line-height:1.5}.feedback-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0}.feedback-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.feedback-button:hover{border-color:rgba(25,31,40,.24);background:rgba(25,31,40,.06);color:var(--primary)}.candidate-detail-party-token{justify-content:center;border-radius:999px;flex-shrink:0;font-weight:900;letter-spacing:0}.candidate-detail-party-token,.candidate-detail-region-token{display:inline-flex;align-items:center;min-height:27px;padding:5px 10px;font-size:.78rem;word-break:keep-all}.candidate-detail-region-token{border:1px solid rgba(229,232,235,.96);border-radius:999px;background:rgba(255,255,255,.72);color:var(--text-secondary);font-weight:850;line-height:1}.candidate-brief-careers{margin-top:17px;padding-top:14px;border-top:1px solid rgba(229,232,235,.9)}.candidate-brief-careers ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.candidate-brief-careers li{margin:0;color:var(--text-secondary);font-size:.92rem;font-weight:650;line-height:1.5;word-break:keep-all}.stat-value{font-size:14px;font-weight:700;color:var(--text-tertiary);width:28px;text-align:right;flex-shrink:0}.score-card-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:11px;color:var(--text-tertiary);text-align:center}.candidate-detail-actions,.graph-page-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.primary-link-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:var(--primary);color:#fff;text-decoration:none;font-size:.86rem;font-weight:800;transition:transform .15s,box-shadow .15s}.primary-link-button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(25,31,40,.18)}.candidate-graph-hero{margin-top:12px}.candidate-graph-hero-copy{display:flex;flex-direction:column;gap:4px}.candidate-graph-hero-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.graph-explorer-section{margin-top:28px}.graph-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.graph-summary-card{padding:18px;border-radius:18px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow)}.graph-summary-card-primary{background:linear-gradient(180deg,rgba(25,31,40,.08),rgba(25,31,40,.02));border-color:rgba(25,31,40,.12)}.graph-summary-card h2,.graph-summary-card strong{display:block;margin-top:8px;color:var(--text)}.graph-summary-card h2{font-size:1.1rem;font-weight:800}.graph-summary-card strong{font-size:.96rem;font-weight:800}.graph-summary-card p{margin-top:6px;color:var(--text-secondary);font-size:.84rem;line-height:1.5}.graph-summary-kicker{font-size:.76rem;font-weight:800;color:var(--primary)}.graph-score-list{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.graph-score-item{color:var(--text-secondary);font-size:.82rem}.graph-filter-bar,.graph-score-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.graph-filter-bar{margin-top:16px}.graph-filter-group{display:flex;flex-wrap:wrap;gap:8px}.graph-filter-chip{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:.8rem;font-weight:700;padding:8px 12px;cursor:pointer}.graph-filter-chip.active{border-color:rgba(25,31,40,.18);background:rgba(25,31,40,.08);color:var(--primary)}.graph-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.95fr);grid-gap:16px;gap:16px;margin-top:16px;align-items:start}.graph-canvas,.graph-side-panel{min-width:0}.graph-canvas{padding:22px;border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,245,247,.92));box-shadow:var(--card-shadow)}.graph-canvas-center{display:flex;justify-content:center}.graph-candidate-node,.graph-event-node{border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow)}.graph-candidate-node{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:16px;color:var(--text);text-align:left}.graph-candidate-node-center{min-width:260px;align-items:center;text-align:center;padding:18px 22px;background:linear-gradient(180deg,rgba(25,31,40,.08),rgba(255,255,255,.96))}.graph-candidate-node strong{font-size:.92rem;font-weight:800}.graph-candidate-node span{font-size:.76rem;color:var(--text-secondary)}.graph-node-kicker{color:var(--primary)!important;font-weight:800}.graph-event-cluster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.graph-event-cluster{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:18px;border:1px solid var(--border);background:rgba(255,255,255,.88)}.graph-event-cluster:before{content:"";position:absolute;top:-18px;left:50%;width:1px;height:18px;background:rgba(139,149,161,.35)}.graph-event-cluster.negative{border-color:rgba(220,38,38,.14)}.graph-event-cluster.positive{border-color:rgba(22,163,74,.14)}.graph-event-cluster.selected{box-shadow:0 10px 24px rgba(15,23,42,.08)}.graph-event-node{width:100%;padding:16px;border-radius:16px;text-align:left;cursor:pointer}.graph-event-node h3{margin-top:8px;font-size:.98rem;font-weight:800;color:var(--text);line-height:1.45}.graph-event-node p{margin-top:6px;color:var(--text-secondary);font-size:.82rem}.graph-event-node-topline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.graph-node-meta{font-size:.74rem;font-weight:700;color:var(--text-tertiary)}.graph-direction-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:800}.graph-direction-badge.negative{background:rgba(220,38,38,.08);color:#dc2626}.graph-direction-badge.positive{background:rgba(22,163,74,.08);color:#16a34a}.graph-person-node-list{display:grid;grid-gap:8px;gap:8px}.graph-candidate-node.positive{border-color:rgba(22,163,74,.18)}.graph-candidate-node.negative{border-color:rgba(220,38,38,.18)}.graph-candidate-node.mentioned{background:var(--bg)}.graph-candidate-node.selected{border-color:var(--primary);box-shadow:0 8px 18px rgba(25,31,40,.12)}.graph-candidate-node:disabled{opacity:.75;cursor:default}.graph-person-direction{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:800}.graph-person-direction.positive{background:rgba(22,163,74,.08);color:#16a34a}.graph-person-direction.negative{background:rgba(220,38,38,.08);color:#dc2626}.graph-person-direction.mentioned{background:var(--surface);color:var(--text-secondary)}.graph-side-panel{display:flex;flex-direction:column;gap:12px}.graph-panel-card{padding:20px;border-radius:20px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow)}.graph-panel-kicker{font-size:.76rem;font-weight:800;color:var(--primary)}.graph-panel-card h3{margin-top:8px;font-size:1.05rem;font-weight:800;color:var(--text);line-height:1.45}.graph-panel-copy{margin-top:10px;color:var(--text-secondary);font-size:.88rem;line-height:1.6}.graph-panel-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.graph-panel-chip,.graph-panel-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--bg);color:var(--text-secondary);font-size:.76rem;font-weight:700}.graph-panel-pill{border:none;cursor:pointer}.graph-panel-pill.static{cursor:default}.graph-panel-section{margin-top:16px}.graph-panel-section h4{font-size:.82rem;font-weight:800;color:var(--text)}.graph-panel-event-list,.graph-panel-pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.graph-panel-event-button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);padding:8px 10px;border-radius:12px;color:var(--text);font-size:.8rem;font-weight:700;cursor:pointer}.graph-direction-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.graph-direction-dot.negative{background:#dc2626}.graph-direction-dot.positive{background:#16a34a}.graph-panel-news-list{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.graph-panel-news-card{padding:12px 14px;border-radius:14px;background:var(--bg)}.graph-panel-news-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-tertiary);font-size:.72rem;font-weight:700}.graph-panel-news-card a{display:block;margin-top:6px;color:var(--text);text-decoration:none;font-size:.88rem;font-weight:700;line-height:1.5}.graph-panel-news-card a:hover{color:var(--primary)}.graph-panel-link{margin-top:18px}.graph-empty-state{margin-top:18px;padding:20px;border-radius:18px;background:var(--bg);color:var(--text-secondary);font-size:.92rem;line-height:1.6}.highlight-section{margin-top:32px}.highlight-section h2{font-size:18px;font-weight:700;margin-bottom:12px}.highlight-list{display:flex;flex-direction:column;gap:8px}.highlight-card{padding:12px 16px;border-radius:10px;border-left:3px solid}.highlight-positive{border-left-color:#242b36;background:rgba(25,31,40,.04)}.highlight-negative{border-left-color:#e0342b;background:rgba(224,52,43,.04)}.highlight-tag{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase}.highlight-card h3{font-size:14px;font-weight:600;margin-top:4px;line-height:1.4}.highlight-card h3 a{color:var(--text);text-decoration:none}.highlight-card h3 a:hover{text-decoration:underline}.highlight-card .news-meta{margin-top:4px}.event-section{margin-top:32px}.event-section h2{font-size:18px;font-weight:700;margin-bottom:12px}.event-list{display:flex;flex-direction:column;gap:10px}.event-card{padding:14px 16px;border-radius:10px;border-left:3px solid;background:var(--surface,rgba(0,0,0,.02))}.event-positive{border-left-color:#242b36;background:rgba(25,31,40,.04)}.event-negative{border-left-color:#e0342b;background:rgba(224,52,43,.04)}.event-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.event-axis-tag{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.event-article-count{font-size:11px;font-weight:500;color:var(--text-secondary,var(--text-tertiary));padding:2px 6px;border-radius:8px;background:rgba(0,0,0,.05)}.event-card h3{font-size:15px;font-weight:600;margin-top:2px;line-height:1.4;color:var(--text)}.event-desc{font-size:13px;color:var(--text-secondary,var(--text-tertiary));margin-top:6px;line-height:1.5}.event-cross-info{font-size:11px;color:var(--text-tertiary);margin-top:6px;font-style:italic}.reaction-feed{display:grid;grid-gap:16px;gap:16px;max-width:760px;margin:0 auto;min-width:0;padding:8px 0 84px;width:100%}.reaction-feed-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.reaction-feed-head h2{margin:4px 0 0;font-size:1.35rem;letter-spacing:0}.reaction-filter-button{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:9px 12px;font-size:.82rem;font-weight:800;cursor:pointer}.reaction-feed-summary{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-tertiary);font-size:.76rem;font-weight:700}.reaction-debug-row span,.reaction-feed-summary span,.reaction-relation-row span{border:1px solid var(--border);border-radius:999px;padding:4px 8px;background:var(--surface)}.reaction-card-list{display:grid;grid-gap:14px;gap:14px;min-width:0;width:100%}.reaction-record-card{gap:12px;min-width:0;max-width:100%;overflow-x:hidden}.reaction-record-card .record-card-top{margin-bottom:6px}.reaction-record-main{cursor:default}.reaction-mention-text{color:var(--text);font-weight:900;text-decoration:none;text-underline-offset:3px}.reaction-mention-text:hover{text-decoration:underline}.reaction-card-top-topic,.reaction-trending-topic{color:var(--text-secondary);font-size:.78rem;font-weight:820;line-height:1.2;text-decoration:none}.reaction-card-top-topic{align-items:center;display:inline-flex;gap:4px;min-height:28px;padding:4px 9px;border:1px solid rgba(25,31,40,.14);border-radius:999px;background:var(--surface);font-size:.78rem;font-weight:900;line-height:1.5;white-space:nowrap}.reaction-card-top-topic:after{content:"›";color:currentColor;font-size:.86rem;font-weight:900;line-height:1;opacity:.45}.reaction-card-top-topic:hover{border-color:var(--brand-accent-border);color:var(--text)}.reaction-card-top-topic-text{color:inherit;text-decoration:underline;text-decoration-thickness:auto;text-underline-offset:auto}.reaction-card-top-topic-text,.reaction-card-top-topic:hover .reaction-card-top-topic-text,.reaction-trending-topic:hover .reaction-card-top-topic-text{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.reaction-trending-row{display:flex;gap:10px;width:max-content}.reaction-trending-scroll-row{margin:-2px 0 10px}.reaction-trending-group{display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;white-space:nowrap}.reaction-trending-topic{border:1px solid var(--border);border-radius:999px;padding:4px 9px;background:var(--surface)}.reaction-sequence-loading{color:var(--text-muted);font-size:.82rem;font-weight:780;padding-left:0}.reaction-sequence-full{border-top:1px solid var(--border);display:grid;grid-gap:10px;gap:10px;max-width:100%;min-width:0;overflow-x:hidden;padding:14px 0 0;position:relative}.reaction-context-queue-shell{contain:inline-size;margin:-2px 0 0;overflow:hidden;position:relative}.reaction-context-queue,.reaction-context-queue-shell{box-sizing:border-box;inline-size:100%;max-inline-size:100%;max-width:100%;min-width:0;width:100%}.reaction-context-queue{align-items:center;display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;white-space:nowrap}.reaction-context-queue::-webkit-scrollbar{display:none}.reaction-context-pill{align-items:center;background:transparent;border:0;color:var(--text-muted);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;gap:6px;min-height:32px;padding:0;scroll-snap-align:start;white-space:nowrap}.reaction-context-pill.active,.reaction-context-pill.selected,.reaction-context-pill:hover{color:var(--text)}.reaction-context-dot{background:var(--surface);border:2px solid color-mix(in srgb,var(--border) 70%,var(--text) 30%);border-radius:999px;box-shadow:inset 0 0 0 2px var(--surface);display:inline-block;height:17px;width:17px}.reaction-context-copy{display:grid;grid-gap:2px;gap:2px;line-height:1;text-align:left}.reaction-context-name{font-size:.78rem;font-weight:900}.reaction-context-date{color:var(--text-muted);font-size:.67rem;font-weight:780}.reaction-context-pill.active .reaction-context-dot,.reaction-context-pill.selected .reaction-context-dot{background:var(--text);border-color:var(--text)}.reaction-context-pill-democratic.active .reaction-context-dot,.reaction-context-pill-democratic.selected .reaction-context-dot{background:#1f6feb;border-color:#1f6feb}.reaction-context-pill-ppp.active .reaction-context-dot,.reaction-context-pill-ppp.selected .reaction-context-dot{background:#d92d20;border-color:#d92d20}.reaction-context-pill-reform.active .reaction-context-dot,.reaction-context-pill-reform.selected .reaction-context-dot{background:#f97316;border-color:#f97316}.reaction-context-pill-progressive.active .reaction-context-dot,.reaction-context-pill-progressive.selected .reaction-context-dot{background:#16a34a;border-color:#16a34a}.reaction-context-expanded{display:grid;max-width:100%;margin-top:12px;min-width:0;overflow-x:hidden;padding-left:14px;position:relative}.reaction-context-expanded:before{background:color-mix(in srgb,var(--border) 72%,var(--text) 28%);border-radius:999px;content:"";height:calc(100% - 14px);left:0;min-height:34px;position:absolute;top:14px;width:3px}.reaction-action-row{display:flex;align-items:center;gap:8px;margin-top:4px;min-height:32px}.reaction-action-chip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:34px;height:30px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);padding:0 9px;font:inherit;font-size:.78rem;font-weight:820;line-height:1;cursor:pointer;position:relative}.reaction-action-chip:disabled{cursor:default;opacity:.5}.reaction-context-toggle.has-context{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}.reaction-context-toggle.active,.reaction-context-toggle.has-context:hover{background:var(--surface);border-color:var(--brand-accent-border);color:var(--text)}.reaction-context-toggle.has-context:after{position:absolute;top:-3px;right:-3px;width:8px;height:8px;border:2px solid var(--surface);border-radius:999px;background:#9ee600;content:""}.reaction-context-toggle:disabled{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}.reaction-context-toggle:disabled:after{display:none}.reaction-action-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.reaction-share-chip{min-width:30px;padding:0 8px}.reaction-news-panel{margin-top:0}.reaction-action-row+.reaction-context-queue,.reaction-action-row+.reaction-context-queue-shell{margin-top:8px}@media (max-width:720px){.reaction-feed{padding:0 0 72px}.reaction-feed-head{align-items:flex-start;flex-direction:column}.reaction-context-queue-shell{margin-left:0;margin-right:0;max-inline-size:min(100%,calc(100dvw - 32px))}}