:root{--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #0f172a;--color-muted: #64748b;--color-border: #e2e8f0;--color-primary: #1d4ed8;--color-primary-soft: #dbeafe;--color-accent: #0f766e;--color-warning-bg: #fffbeb;--color-warning-text: #92400e;--color-badge-official: #065f46;--color-badge-official-bg: #d1fae5;--color-badge-pretendant: #1e40af;--color-badge-pretendant-bg: #dbeafe;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--shadow-sm: 0 1px 2px rgb(15 23 42 / 6%);--shadow-md: 0 8px 24px rgb(15 23 42 / 8%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--max-width: 72rem;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-primary);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-4);z-index:1000}.skip-link:focus{left:var(--space-4);top:var(--space-4)}.container{width:min(100% - 2rem,var(--max-width));margin-inline:auto}.page-header{padding-block:var(--space-6) var(--space-4)}.page-header h1{margin:0 0 var(--space-3);font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.02em}.lead{margin:0;font-size:1.125rem;color:var(--color-muted);max-width:42rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-body{padding:var(--space-5)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge--official{background:var(--color-badge-official-bg);color:var(--color-badge-official)}.badge--pretendant{background:var(--color-badge-pretendant-bg);color:var(--color-badge-pretendant)}.source-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;white-space:nowrap}.source-link:after{content:"↗";font-size:.8em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.65rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#1e40af;color:#fff}.btn-ghost{background:transparent;border-color:var(--color-border);color:var(--color-text)}.empty-state{padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-warning-bg);color:var(--color-warning-text)}.section-title{margin:0 0 var(--space-4);font-size:1.25rem}.meta{color:var(--color-muted);font-size:.875rem}.grid-candidates{display:grid;gap:var(--space-4)}@media(min-width:640px){.grid-candidates{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}}.site-header{position:sticky;top:0;z-index:50;background:#f8fafceb;backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:3.75rem}.site-logo{font-weight:700;font-size:1rem;color:var(--color-text);text-decoration:none}.site-nav{display:flex;gap:var(--space-4);flex-wrap:wrap}.site-nav a{color:var(--color-muted);text-decoration:none;font-size:.9375rem;font-weight:500}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-primary)}.site-footer{margin-top:var(--space-8);padding-block:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.875rem}.site-footer p{margin:0 0 var(--space-2)}.search-box{display:flex;gap:var(--space-2);margin-top:var(--space-5)}.search-box input{flex:1;min-width:0;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;background:var(--color-surface)}.search-box input:focus{outline:2px solid var(--color-primary-soft);border-color:var(--color-primary)}.candidate-card{display:flex;flex-direction:column;gap:var(--space-3);height:100%;text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease}.candidate-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.candidate-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.candidate-card__name{margin:0;font-size:1.125rem}.candidate-card__party{margin:0;color:var(--color-muted);font-size:.875rem}.candidate-hero{display:grid;gap:var(--space-5);padding-block:var(--space-5)}@media(min-width:768px){.candidate-hero{grid-template-columns:auto 1fr;align-items:start}}.candidate-hero h1{margin:0 0 var(--space-2);font-size:clamp(1.5rem,4vw,2.25rem)}.candidate-hero__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.tabs{position:sticky;top:3.75rem;z-index:40;background:#f8fafcf2;backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4)}.tabs__list{display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none;list-style:none;margin:0;padding:0}.tabs__list::-webkit-scrollbar{display:none}.tabs__link{display:block;padding:var(--space-3) var(--space-4);color:var(--color-muted);text-decoration:none;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.tabs__link:hover,.tabs__link[aria-current=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-panel{padding-block:var(--space-6)}.tab-panel[hidden]{display:none}.position-list,.vote-list{display:grid;gap:var(--space-4);list-style:none;margin:0;padding:0}.position-item,.vote-item{padding:var(--space-5)}.position-item h3,.vote-item h3{margin:0 0 var(--space-2);font-size:1.05rem}.position-item blockquote{margin:0 0 var(--space-3);padding-left:var(--space-4);border-left:3px solid var(--color-primary-soft);font-style:normal}.context-box{margin-top:var(--space-3);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-md);font-size:.9375rem}.filters{display:grid;gap:var(--space-3);margin-bottom:var(--space-5)}@media(min-width:640px){.filters{grid-template-columns:repeat(3,1fr)}}.filters label{display:grid;gap:var(--space-1);font-size:.875rem;font-weight:600}.filters select,.filters input{padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;background:var(--color-surface)}.vote-item button{all:unset;cursor:pointer;display:block;width:100%}.vote-item button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-md)}.vote-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.tag{padding:.15rem .5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;font-size:.75rem;color:var(--color-muted)}.vote-detail{border:none;padding:0;max-width:40rem;width:calc(100% - 2rem);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.vote-detail::backdrop{background:#0f172a73}.vote-detail__inner{padding:var(--space-5)}.vote-detail__header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:start;margin-bottom:var(--space-4)}.vote-detail__close{border:none;background:var(--color-bg);border-radius:var(--radius-sm);width:2rem;height:2rem;cursor:pointer;font-size:1.25rem;line-height:1}@media(max-width:639px){.vote-detail{margin:auto auto 0;width:100%;max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.entourage-grid{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.entourage-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4)}.entourage-item h3{margin:.15rem 0;font-size:1rem}.entourage-item__content{min-width:0}.entourage-item__content .meta:last-child{margin:0}.search-results{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.search-result{padding:var(--space-4)}.search-result h3{margin:0 0 var(--space-2);font-size:1rem}.search-result a{text-decoration:none;color:inherit}.search-result a:hover h3{color:var(--color-primary)}.prose h2{margin-top:var(--space-6)}.prose ul{padding-left:1.25rem}
