.politician-detail-page{display:flex;flex-direction:column;gap:var(--space-6)}.politician-detail-page .hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:var(--border-width) solid var(--color-border)}@media(max-width:767.98px){.politician-detail-page .hero{flex-direction:column}}.politician-detail-page .hero-text{display:flex;flex-direction:column;gap:var(--space-2)}.politician-detail-page .name{font-size:var(--font-size-2xl)}.politician-detail-page .kana{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}.politician-detail-page .affiliation,.politician-detail-page .position{font-size:var(--font-size-sm)}.politician-detail-page .muted,.politician-detail-page .position{color:var(--color-text-muted)}.politician-detail-page .official-link{flex-shrink:0;padding:var(--space-2) var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-decoration:none;white-space:nowrap}.politician-detail-page .statement-list{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;list-style:none}.politician-detail-page .statement-item{display:flex;flex-direction:column;gap:var(--space-1)}.politician-detail-page .statement-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline;color:var(--color-text-muted);font-size:var(--font-size-xs)}.politician-detail-page .statement-context{padding:0 var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full)}.politician-detail-page .statement-excerpt{max-width:var(--layout-reading-width);color:inherit;font-size:var(--font-size-sm);text-decoration:none}.politician-detail-page .statement-excerpt:hover{text-decoration:underline}.politician-detail-page .statement-more{font-size:var(--font-size-sm)}.politician-detail-page .pledge-group{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.politician-detail-page .pledge-group-title{font-size:var(--font-size-md)}.politician-detail-page .pledge-group-note{color:var(--color-text-muted);font-size:var(--font-size-xs)}.politician-detail-page .pledge-list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.politician-detail-page .pledge-item{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-3);border-top:var(--border-width) solid var(--color-border-subtle)}.politician-detail-page .pledge-title{font-weight:var(--font-weight-bold)}.politician-detail-page .pledge-summary{color:var(--color-text-muted);font-size:var(--font-size-sm)}.politician-detail-page .candidacies{display:flex;flex-direction:column;gap:var(--space-3)}.politician-detail-page .candidacy{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.politician-detail-page .candidacy-election{font-weight:var(--font-weight-bold)}.politician-detail-page .candidacy-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.politician-detail-page .candidacy-meta div{display:flex;gap:var(--space-2)}.politician-detail-page .candidacy-meta dt:after{content:":"}.politician-detail-page .history{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--font-size-sm)}.politician-detail-page .history li{display:flex;flex-direction:column;gap:var(--space-1)}.politician-detail-page .history-main{display:flex;align-items:baseline;gap:var(--space-2);font-weight:var(--font-weight-bold)}.politician-detail-page .history-note,.politician-detail-page .history-scope{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.politician-detail-page .bill-activity{display:flex;flex-direction:column;gap:var(--space-4)}.politician-detail-page .bill-activity-heading{font-size:var(--font-size-md)}.politician-detail-page .sponsorships,.politician-detail-page .vote-history{display:flex;flex-direction:column;gap:var(--space-2)}.politician-detail-page .sponsorship{display:flex;flex-direction:column;gap:var(--space-1)}.politician-detail-page .sponsorship .meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.politician-detail-page .vote-item{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:baseline}.politician-detail-page .vote-date{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.politician-detail-page .vote-value{font-weight:var(--font-weight-bold);white-space:nowrap}.politician-detail-page .vote-result{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.politician-detail-page .vote-summary{font-size:var(--font-size-sm)}.politician-detail-page .vote-note{color:var(--color-text-muted);font-size:var(--font-size-sm)}