.annual-poll-page{max-width:960px;min-height:65vh;padding-top:38px}.annual-poll-heading{max-width:760px;margin-bottom:28px}.annual-poll-eyebrow{color:#8b262b;letter-spacing:.11em;margin-bottom:12px;font-size:10px;font-weight:700;display:block}.annual-poll-heading h1{max-width:620px;font-size:32px;line-height:1.2}.annual-poll-heading>p{color:var(--muted);margin-top:12px;font-size:14px}.annual-poll-heading .annual-poll-rules{max-width:640px;font-size:12px;line-height:1.8}.annual-poll-progress{margin-bottom:16px}.annual-poll-progress>div{color:var(--muted);justify-content:space-between;gap:14px;margin-bottom:8px;font-size:11px;display:flex}.annual-poll-progress>div>span:first-child{color:var(--foreground);font-weight:600}.annual-poll-progress progress{appearance:none;background:var(--border);border:0;border-radius:8px;width:100%;height:5px;display:block;overflow:hidden}.annual-poll-progress progress::-webkit-progress-bar{background:var(--border)}.annual-poll-progress progress::-webkit-progress-value{background:#8b262b;border-radius:8px}.annual-poll-progress progress::-moz-progress-bar{background:#8b262b;border-radius:8px}.annual-poll-overview{background:var(--card);border:1px solid var(--border);border-radius:10px;font-size:12px}.annual-poll-overview summary{cursor:pointer;padding:13px 16px;font-weight:500}.annual-poll-overview nav{padding:0 10px 10px}.annual-poll-overview ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.annual-poll-overview button{text-align:left;width:100%;min-height:45px;color:var(--foreground);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:9px;font-size:11px;line-height:1.5;display:flex}.annual-poll-overview button:hover,.annual-poll-overview button[aria-current]{background:#faf1f0;border-color:#c9a7aa}.annual-poll-category-number{background:var(--background);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;display:flex}.annual-poll-category-state{color:#397156;flex-shrink:0;justify-content:flex-end;align-items:center;gap:3px;margin-left:auto;font-size:9px;display:inline-flex}.annual-poll-notice{color:#397156;min-height:0;margin:13px 0;font-size:12px;line-height:1.7}.annual-poll-notice:empty{margin:18px 0 0}.annual-poll-question{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:26px}.annual-poll-question-category{color:#8b262b;margin-bottom:9px;font-size:10px;font-weight:600;display:block}.annual-poll-question h2{outline-offset:6px;font-size:23px;line-height:1.35}.annual-poll-candidates{border:0;min-width:0;margin:22px 0 0;padding:0}.annual-poll-candidate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.annual-poll-candidate{border:1px solid var(--border);cursor:pointer;background:var(--card);border-radius:9px;flex-direction:column;min-width:0;padding:14px 12px 16px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.annual-poll-candidate:hover{border-color:#b98a8e}.annual-poll-candidate.is-selected{border-color:#8b262b;box-shadow:inset 0 0 0 1px #8b262b}.annual-poll-candidate:focus-within{outline:2px solid var(--primary);outline-offset:3px}.annual-poll-candidate input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.annual-poll-candidate-photo{justify-content:center;align-items:center;height:130px;margin-bottom:13px;display:flex}.annual-poll-candidate-photo img{object-fit:contain;width:auto;max-width:100%;height:115px}.annual-poll-candidate-copy{overflow-wrap:anywhere;flex-direction:column;gap:5px;display:flex}.annual-poll-candidate-copy>span{color:var(--muted);font-size:10px;line-height:1.4}.annual-poll-candidate-copy strong{font-size:12px;font-weight:500;line-height:1.5}.annual-poll-candidate-check{border:1px solid var(--border);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:8px;right:8px}.is-selected .annual-poll-candidate-check{background:#8b262b;border-color:#8b262b}.annual-poll-question-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:20px;display:flex}.annual-poll-question-actions .button-primary,.annual-poll-complete-actions .button-primary{background:#8b262b;border-color:#8b262b;min-height:43px}.annual-poll-question-actions .button-primary:hover,.annual-poll-complete-actions .button-primary:hover{background:#712025}.annual-poll-secondary{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;min-height:43px;padding:10px 15px;font-size:12px;line-height:1.5;display:inline-flex}.annual-poll-secondary:hover{color:var(--foreground);border-color:#b9bfc8}.annual-poll-finish{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;min-height:32px;margin:15px auto 0;padding:4px 7px;font-size:10px;text-decoration:underline;display:block}.annual-poll-vote-error{color:#a13b39;background:#fff2f1;border-radius:7px;margin-top:18px;padding:12px;font-size:12px;line-height:1.7}.annual-poll-loading,.annual-poll-error,.annual-poll-complete{border:1px solid var(--border);background:var(--card);text-align:center;color:var(--muted);border-radius:13px;padding:45px 25px;font-size:13px}.annual-poll-error button{margin-top:18px}.annual-poll-empty,.annual-poll-already-voted{color:var(--muted);padding-top:23px;font-size:13px}.annual-poll-already-voted button{margin-top:20px}.annual-poll-complete-mark{color:#397156;background:#e9f1eb;border:1px solid #c7dbcc;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 19px;font-size:12px;font-weight:600;display:flex}.annual-poll-complete h2{color:var(--foreground);font-size:24px}.annual-poll-complete p{max-width:440px;margin:12px auto 0;font-size:13px;line-height:1.8}.annual-poll-complete-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}@media (max-width:700px){.annual-poll-page{padding-top:26px}.annual-poll-heading h1{font-size:27px}.annual-poll-heading>p{font-size:13px}.annual-poll-heading .annual-poll-rules{font-size:11px}.annual-poll-overview ol{grid-template-columns:minmax(0,1fr)}.annual-poll-question{padding:20px 15px}.annual-poll-question h2{font-size:21px}.annual-poll-candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.annual-poll-candidate{padding:12px 8px}.annual-poll-candidate-photo{height:112px;margin-bottom:10px}.annual-poll-candidate-photo img{height:96px}.annual-poll-candidate-copy>span{font-size:9px}.annual-poll-candidate-copy strong{font-size:11px}.annual-poll-progress>div{font-size:10px}.annual-poll-question-actions{align-items:stretch}.annual-poll-question-actions .button-primary{flex:1}.annual-poll-question-actions .annual-poll-secondary{padding-inline:10px}.annual-poll-notice{font-size:11px}}@media (max-width:370px){.annual-poll-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-poll-question-actions{flex-direction:column}.annual-poll-progress>div{flex-wrap:wrap;gap:3px}}@media (prefers-reduced-motion:reduce){.annual-poll-candidate{transition:none}}[data-theme=dark] .annual-poll-eyebrow,[data-theme=dark] .annual-poll-question-category{color:#e39b9e}[data-theme=dark] .annual-poll-overview button:hover,[data-theme=dark] .annual-poll-overview button[aria-current]{background:#38252a;border-color:#946268}[data-theme=dark] .annual-poll-notice,[data-theme=dark] .annual-poll-category-state{color:#9ac7a8}[data-theme=dark] .annual-poll-vote-error{color:#f1afb0;background:#3b262a}[data-theme=dark] .annual-poll-complete-mark{color:#b4d4bd;background:#253a2c;border-color:#4d7159}
