:root {
    --lp-bg: var(--lb-bg, #080906);
    --lp-panel: var(--lb-panel, rgba(15,17,13,.96));
    --lp-border: var(--lb-border, #4b412e);
    --lp-gold: var(--lb-gold, #caa85c);
    --lp-gold-light: var(--lb-gold-light, #ead28d);
    --lp-green: var(--lb-green, #476f28);
    --lp-text: var(--lb-text, #d8d2c6);
    --lp-muted: var(--lb-muted, #9c978c);
    --lp-serif: var(--lb-serif, Georgia, "Times New Roman", serif);
    --lp-sans: var(--lb-sans, Inter, ui-sans-serif, sans-serif);
}
.lb-polls-hero, .lb-poll-hero { position: relative; overflow: hidden; border-bottom: 1px solid #51462f; background: url('../images/polls-hero.webp'), linear-gradient(135deg,#13160f,#060704); background-size: cover; background-position: center; }
.lb-polls-hero { min-height: 390px; }
.lb-poll-hero { min-height: 370px; }
.lb-polls-hero__shade, .lb-poll-hero__shade { position:absolute; inset:0; background: linear-gradient(90deg,rgba(4,5,3,.97),rgba(5,6,4,.72) 58%,rgba(5,6,4,.84)); }
.lb-polls-hero__inner, .lb-poll-hero__inner { position:relative; z-index:1; min-height:inherit; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:center; padding-block:55px; }
.lb-polls-hero h1, .lb-poll-hero h1 { max-width:900px; margin:0; color:var(--lp-gold-light); font:500 clamp(3rem,7vw,5.7rem)/1 var(--lp-serif); text-transform:uppercase; text-shadow:0 4px 0 #2b2012,0 15px 38px #000; }
.lb-polls-hero__inner > div:first-child > p:last-child, .lb-poll-hero__inner > div:first-child > p:last-child { max-width:700px; margin:20px 0 0; color:#d3cdc0; font:1.04rem/1.7 var(--lp-serif); }
.lb-polls-hero__summary { min-height:205px; display:grid; place-content:center; text-align:center; border:1px solid #68573a; background:rgba(10,12,8,.93); box-shadow:inset 0 0 0 4px rgba(0,0,0,.48),0 18px 40px rgba(0,0,0,.4); }
.lb-polls-hero__summary span { color:var(--lp-gold-light); font:500 4rem/1 var(--lp-serif); }
.lb-polls-hero__summary strong { margin-top:7px; color:var(--lp-gold); font:700 .9rem var(--lp-serif); letter-spacing:.12em; text-transform:uppercase; }
.lb-polls-hero__summary small { max-width:210px; margin:10px auto 0; color:#8f8b82; }
.lb-polls-archive { padding:32px 0 58px; }
.lb-poll-tabs { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:18px; border:1px solid var(--lp-border); background:#0c0e0a; }
.lb-poll-tabs a { min-height:68px; display:flex; align-items:center; justify-content:center; gap:10px; color:#a9a398; border-right:1px solid #373125; font:700 .86rem var(--lp-serif); letter-spacing:.06em; text-transform:uppercase; }
.lb-poll-tabs a:last-child { border-right:0; }
.lb-poll-tabs a strong { min-width:26px; height:26px; display:grid; place-items:center; color:#8f897d; border:1px solid #4b4434; border-radius:50%; font:700 .72rem var(--lp-sans); }
.lb-poll-tabs a.is-active { color:var(--lp-gold-light); background:linear-gradient(#29371e,#13190f); box-shadow:inset 0 -3px var(--lp-green); }
.lb-poll-tabs a.is-active strong { color:#e5d497; border-color:#77934d; background:#314a20; }
.lb-polls-intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px; align-items:center; margin-bottom:22px; padding:24px 28px; }
.lb-polls-intro h2 { margin:0; font-size:1.9rem; }
.lb-polls-intro > p { margin:0; color:var(--lp-muted); }
.lb-poll-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.lb-poll-card { overflow:hidden; }
.lb-poll-card__media { position:relative; min-height:180px; display:grid; place-items:center; overflow:hidden; color:var(--lp-gold); background:radial-gradient(circle at 50% 30%,rgba(202,168,92,.14),transparent 45%),#090a07; }
.lb-poll-card__media img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; opacity:.75; }
.lb-poll-card__media > span { font:500 4.6rem/1 var(--lp-serif); transform:rotate(90deg); }
.lb-poll-card__media em { position:absolute; top:14px; left:14px; padding:6px 9px; color:#dbeacb; border:1px solid #628341; background:rgba(31,53,18,.92); font:700 .68rem var(--lp-sans); font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.lb-poll-card.is-upcoming .lb-poll-card__media em { color:#e8d79d; border-color:#806b38; background:rgba(76,58,19,.92); }
.lb-poll-card.is-closed .lb-poll-card__media em { color:#c0bcb3; border-color:#5c584d; background:rgba(37,37,34,.92); }
.lb-poll-card__body { padding:19px 20px 20px; }
.lb-poll-card__meta { display:flex; justify-content:space-between; gap:12px; color:#817d74; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; }
.lb-poll-card h2 { margin:12px 0 9px; font-size:1.5rem; }
.lb-poll-card h2 a { color:var(--lp-gold-light); }
.lb-poll-card__excerpt { min-height:70px; color:#aaa499; font-size:.84rem; }
.lb-poll-card__body footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:17px; padding-top:14px; border-top:1px solid #302c22; color:#807b71; font-size:.72rem; }
.lb-poll-card__body footer a { color:var(--lp-gold); font:700 .8rem var(--lp-serif); white-space:nowrap; }
.lb-poll-pagination { display:flex; justify-content:center; gap:8px; margin-top:25px; }
.lb-poll-pagination .page-numbers { min-width:42px; min-height:42px; display:grid; place-items:center; color:#aaa397; border:1px solid var(--lp-border); background:#0c0e0a; }
.lb-poll-pagination .current { color:#161207; background:var(--lp-gold); }
.lb-poll-empty { padding:55px 25px; text-align:center; }
.lb-poll-empty > span { display:block; color:var(--lp-gold); font-size:4rem; transform:rotate(90deg); }
.lb-poll-empty h2 { margin:12px 0 8px; }
.lb-poll-empty p { color:var(--lp-muted); }
.lb-poll-rules { display:grid; grid-template-columns:repeat(3,1fr); margin-top:25px; }
.lb-poll-rules > div { padding:25px; border-right:1px solid #343024; }
.lb-poll-rules > div:last-child { border-right:0; }
.lb-poll-rules strong { width:36px; height:36px; display:grid; place-items:center; color:#171309; border:1px solid #9c8148; background:var(--lp-gold); font-family:var(--lp-serif); }
.lb-poll-rules h3 { margin:14px 0 7px; }
.lb-poll-rules p { margin:0; color:var(--lp-muted); font-size:.82rem; }

.lb-poll-back { display:inline-flex; margin-bottom:18px; color:#bda96f; font:700 .8rem var(--lp-serif); letter-spacing:.05em; text-transform:uppercase; }
.lb-poll-state { display:inline-flex; margin-bottom:13px; padding:6px 10px; color:#cfe6b7; border:1px solid #5d803e; background:rgba(42,72,23,.72); font-size:.7rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.lb-poll-state.is-upcoming { color:#e7d495; border-color:#806b38; background:rgba(76,58,19,.72); }
.lb-poll-state.is-closed { color:#c7c2b7; border-color:#5c584d; background:rgba(37,37,34,.72); }
.lb-poll-hero__stats { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid #68573a; background:rgba(10,12,8,.93); box-shadow:inset 0 0 0 4px rgba(0,0,0,.48); }
.lb-poll-hero__stats > span { min-height:150px; display:grid; place-content:center; gap:7px; color:var(--lp-gold-light); text-align:center; font:500 2.7rem/1 var(--lp-serif); border-right:1px solid #393326; }
.lb-poll-hero__stats > span:last-child { border-right:0; }
.lb-poll-hero__stats small { color:#8d897f; font:700 .68rem var(--lp-sans); letter-spacing:.08em; text-transform:uppercase; }
.lb-poll-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:24px; padding:32px 0 60px; align-items:start; }
.lb-poll-main { min-width:0; }
.lb-poll-notice { margin-bottom:18px; padding:14px 17px; border:1px solid #695632; background:#12130f; }
.lb-poll-notice.is-success { color:#cce5b4; border-color:#52763b; background:rgba(55,91,31,.22); }
.lb-poll-notice.is-error { color:#efb1a7; border-color:#87473f; background:rgba(103,34,28,.2); }
.lb-poll-proposal { margin-bottom:20px; padding:clamp(23px,4vw,38px); }
.lb-poll-proposal .lb-eyebrow { margin-bottom:13px; }
.lb-poll-ballot { border:1px solid var(--lp-border); background:#0d0f0b; box-shadow:inset 0 0 0 3px rgba(0,0,0,.34),0 15px 35px rgba(0,0,0,.22); }
.lb-poll-ballot__header { display:flex; align-items:end; justify-content:space-between; gap:22px; padding:24px 27px; border-bottom:1px solid #3d3628; background:linear-gradient(90deg,rgba(202,168,92,.08),transparent); }
.lb-poll-ballot__header h2 { margin:0; font-size:2rem; }
.lb-poll-ballot__header > span { color:#8d887e; font-size:.75rem; }
.lb-poll-question { margin:0; padding:27px; border:0; border-bottom:1px solid #373126; }
.lb-poll-question.has-error { outline:2px solid #9d4a3f; outline-offset:-3px; }
.lb-poll-question legend { width:100%; display:flex; align-items:center; gap:13px; padding:0; }
.lb-poll-question legend > span { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; color:#171309; background:var(--lp-gold); font:700 .78rem var(--lp-sans); }
.lb-poll-question legend strong { color:var(--lp-gold-light); font:500 1.35rem/1.3 var(--lp-serif); }
.lb-poll-question legend em { margin-left:auto; color:#8f8a80; font-size:.64rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.lb-poll-question__description { margin:13px 0 18px 49px; color:#9f998e; }
.lb-poll-options { display:grid; gap:10px; margin-left:49px; }
.lb-poll-option { position:relative; display:grid; grid-template-columns:24px minmax(0,1fr); gap:13px; align-items:start; padding:14px 15px; color:#c4bdb1; border:1px solid #403a2c; background:#0a0b08; cursor:pointer; }
.lb-poll-option:hover { border-color:#77633e; background:rgba(202,168,92,.045); }
.lb-poll-option input { position:absolute; opacity:0; pointer-events:none; }
.lb-poll-option__control { width:20px; height:20px; display:block; margin-top:1px; border:1px solid #6a5b3d; background:#050604; box-shadow:inset 0 0 0 3px #0a0b08; }
.lb-poll-option input[type="radio"] + .lb-poll-option__control { border-radius:50%; }
.lb-poll-option input:checked + .lb-poll-option__control { border-color:#a98a4b; background:var(--lp-gold); }
.lb-poll-option:has(input:checked) { color:#ece0bd; border-color:#8c7444; background:rgba(92,117,54,.13); }
.lb-poll-option > span:last-child { display:grid; gap:3px; }
.lb-poll-option strong { color:inherit; font:700 .92rem var(--lp-serif); }
.lb-poll-option small { color:#888278; line-height:1.45; }
.lb-poll-option.is-neutral { opacity:.78; }
.lb-poll-question__limit { display:block; margin:10px 0 0 49px; color:#7f7a71; }
.lb-poll-ballot__footer { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:23px 27px; background:#090a07; }
.lb-poll-ballot__footer p { max-width:590px; margin:0; color:#858078; font-size:.76rem; }
.lb-poll-submit, .lb-poll-login { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:11px 23px; color:#f1dc9d; border:1px solid #77934d; background:linear-gradient(#567b32,#284316); box-shadow:inset 0 0 0 2px #10150c; font:700 .9rem var(--lp-serif); cursor:pointer; }
.lb-poll-submit:hover, .lb-poll-login:hover { color:#fff1b8; background:linear-gradient(#658d3a,#304e1a); }
.lb-poll-status-card { display:grid; grid-template-columns:62px minmax(0,1fr); gap:18px; align-items:center; margin-bottom:20px; padding:27px; }
.lb-poll-status-card > span { width:58px; height:58px; display:grid; place-items:center; color:var(--lp-gold-light); border:1px solid #76613c; border-radius:50%; font:500 1.7rem var(--lp-serif); }
.lb-poll-status-card h2 { margin:0 0 7px; }
.lb-poll-status-card p { margin:0; color:var(--lp-muted); }
.lb-poll-status-card.is-complete { border-color:#536e3d; }
.lb-poll-status-card.is-complete > span { color:#b8de93; border-color:#628543; }
.lb-poll-results { margin-top:28px; }
.lb-poll-results > header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:15px; }
.lb-poll-results > header h2 { margin:0; font-size:2rem; }
.lb-poll-results > header > span { color:#858078; font-size:.76rem; }
.lb-poll-result { margin-bottom:16px; padding:25px; }
.lb-poll-result__heading { display:grid; grid-template-columns:40px minmax(0,1fr); gap:13px; align-items:start; margin-bottom:20px; }
.lb-poll-result__heading > span { width:38px; height:38px; display:grid; place-items:center; color:#171309; background:var(--lp-gold); font-weight:800; }
.lb-poll-result__heading h3 { margin:0; font-size:1.35rem; }
.lb-poll-result__heading p { margin:5px 0 0; color:#b79155; font-size:.74rem; }
.lb-poll-result__heading p.is-passed { color:#91c86a; }
.lb-poll-result__heading p.is-not-passed { color:#d4897f; }
.lb-poll-result__options { display:grid; gap:12px; }
.lb-poll-result-row { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(180px,1fr) 62px; gap:14px; align-items:center; }
.lb-poll-result-row > div:first-child { display:grid; }
.lb-poll-result-row strong { color:#d4cdbf; font:700 .86rem var(--lp-serif); }
.lb-poll-result-row span { color:#79756d; font-size:.67rem; }
.lb-poll-result-bar { height:13px; overflow:hidden; border:1px solid #40392b; background:#070805; }
.lb-poll-result-bar i { height:100%; display:block; background:linear-gradient(90deg,#3d6124,#8aa45d); }
.lb-poll-result-row.is-neutral .lb-poll-result-bar i { background:#6a655b; }
.lb-poll-result-row em { color:var(--lp-gold-light); text-align:right; font:700 .8rem var(--lp-sans); font-style:normal; }
.lb-poll-sidebar { display:grid; gap:16px; position:sticky; top:18px; }
.lb-poll-sidecard { padding:20px; }
.lb-poll-sidecard h2 { margin:0 0 10px; font-size:1.25rem; }
.lb-poll-sidecard p { color:var(--lp-muted); font-size:.8rem; }
.lb-poll-sidecard dl { margin:0; }
.lb-poll-sidecard dl > div { display:flex; justify-content:space-between; gap:15px; padding:10px 0; border-bottom:1px solid #302c22; }
.lb-poll-sidecard dl > div:last-child { border-bottom:0; }
.lb-poll-sidecard dt { color:#8a857c; }
.lb-poll-sidecard dd { margin:0; color:#d8cfba; font-weight:700; text-align:right; }

@media (max-width:1050px) { .lb-poll-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .lb-poll-layout { grid-template-columns:minmax(0,1fr) 270px; } }
@media (max-width:820px) { .lb-polls-hero__inner,.lb-poll-hero__inner { grid-template-columns:1fr; } .lb-polls-hero__summary,.lb-poll-hero__stats { max-width:420px; } .lb-poll-layout { grid-template-columns:1fr; } .lb-poll-sidebar { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); } .lb-poll-sidecard:first-child { grid-column:1/-1; } }
@media (max-width:680px) { .lb-poll-tabs { grid-template-columns:1fr; } .lb-poll-tabs a { border-right:0; border-bottom:1px solid #373125; } .lb-poll-tabs a:last-child { border-bottom:0; } .lb-polls-intro { grid-template-columns:1fr; gap:12px; } .lb-poll-card-grid,.lb-poll-rules,.lb-poll-sidebar { grid-template-columns:1fr; } .lb-poll-rules > div { border-right:0; border-bottom:1px solid #343024; } .lb-poll-rules > div:last-child { border-bottom:0; } .lb-poll-sidecard:first-child { grid-column:auto; } .lb-poll-ballot__header,.lb-poll-ballot__footer,.lb-poll-results > header { align-items:flex-start; flex-direction:column; } .lb-poll-submit { width:100%; } .lb-poll-question { padding:22px 18px; } .lb-poll-question__description,.lb-poll-options,.lb-poll-question__limit { margin-left:0; } .lb-poll-result-row { grid-template-columns:1fr 55px; } .lb-poll-result-bar { grid-row:2; grid-column:1/-1; } }
@media (max-width:430px) { .lb-polls-hero h1,.lb-poll-hero h1 { font-size:2.8rem; } .lb-poll-hero__stats { grid-template-columns:1fr; } .lb-poll-hero__stats > span { min-height:105px; border-right:0; border-bottom:1px solid #393326; } .lb-poll-hero__stats > span:last-child { border-bottom:0; } .lb-poll-question legend { align-items:flex-start; flex-wrap:wrap; } .lb-poll-question legend em { margin-left:49px; } .lb-poll-status-card { grid-template-columns:1fr; } }
