@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root {color-scheme:dark;--bg:#0d1116;--panel:#151b22;--edge:#313c48;--ink:#f2f5f7;--muted:#9aa7b4;--accent:#a9d0d6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}.topbar{height:76px;border-bottom:1px solid #26313b;display:flex;justify-content:space-between;align-items:center;padding:0 max(6%,calc((100% - 1280px)/2));background:#0e141a}.brand{font-size:13px;font-weight:800;letter-spacing:.15em}.brand-mark{color:var(--accent);font-size:25px;vertical-align:middle;margin-right:12px}.year,.header-meta{color:#77909c}.header-meta{font-size:11px;letter-spacing:.2em}.wrap{max-width:1280px;margin:auto;padding:0 36px}.hero{min-height:495px;position:relative;padding:100px 0 75px;overflow:hidden}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.23em}.line{display:inline-block;width:24px;height:1px;background:var(--accent);vertical-align:middle;margin-right:8px}.hero h1,.success-page h1{font-size:clamp(64px,8vw,118px);line-height:1.04;letter-spacing:-.075em;margin:25px 0 28px;font-weight:800}.hero h1 em,.success-page em{font-style:normal;color:var(--accent)}.hero p{font-size:15px;max-width:470px;line-height:1.8;color:#a9b7c2}.hero-link{display:inline-flex;align-items:center;gap:25px;margin-top:30px;border-bottom:1px solid var(--accent);padding-bottom:15px;letter-spacing:.13em;font-size:12px;font-weight:800}.hero-link span{font-size:22px}.hero-number{position:absolute;right:0;bottom:-70px;color:#161e26;font-size:clamp(170px,29vw,390px);font-weight:800;letter-spacing:-.1em;z-index:-1}.section-line{border-top:1px solid #33404b;padding:26px 0 30px;display:flex;justify-content:space-between;align-items:center}.section-line h2{margin:0;font-size:13px;letter-spacing:.2em}.section-line span{color:#7b8996;font-size:11px;letter-spacing:.15em}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.category-card{min-height:550px;position:relative;overflow:hidden;background:#1c2933;border:1px solid #394550;isolation:isolate}.category-image{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(8,15,20,.08),rgba(8,15,20,.55) 40%,rgba(8,15,20,.97) 88%),var(--bg);background-size:cover;background-position:center;transform:scale(1.01);transition:transform .6s}.category-card:hover .category-image{transform:scale(1.055)}.category-content{position:relative;display:flex;flex-direction:column;min-height:550px;padding:26px}.category-upper{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.18em;color:#e4eff3}.pill{border:1px solid #b0c7cd66;padding:6px 12px}.category-main{margin-top:auto}.category-main h3{font-size:clamp(31px,3.2vw,47px);line-height:1.15;letter-spacing:-.04em;margin:0 0 10px}.category-main p{font-size:13px;color:#b5c6d0;margin:0 0 17px}.candidate-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:210px;overflow-y:auto;scrollbar-color:#687c89 #25313b}.candidate{display:flex;align-items:center;gap:9px;min-width:0;background:rgba(21,32,42,.82);border:1px solid #74879666;padding:12px;cursor:pointer;font-size:13px;transition:.15s}.candidate:hover{background:#334654}.candidate input{position:absolute;opacity:0;width:1px;height:1px}.check{display:grid;place-items:center;width:19px;height:19px;min-width:19px;border:1px solid #b4c5cb;color:transparent;font-size:11px}.candidate:has(input:checked){border-color:#b1d6df;background:rgba(54,87,100,.9)}.candidate:has(input:checked) .check{background:#c0dfe5;color:#14232b}.candidate:has(input:focus-visible){outline:2px solid white;outline-offset:2px}.candidate-bottom{margin-top:19px;padding-top:16px;border-top:1px solid #8599a04d;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#c9d9df;letter-spacing:.12em}.empty-note{background:#14212aba;padding:16px;font-size:13px;color:#b6c5cb}.submit-area{margin:70px 0 100px;border-top:1px solid #34424d;border-bottom:1px solid #34424d;padding:44px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.submit-area h2{font-size:38px;letter-spacing:-.04em;margin:12px 0}.submit-area p{color:var(--muted);font-size:14px}.submit-btn,.button{background:var(--accent);color:#101c24;padding:18px 28px;border:0;font-family:inherit;font-weight:800;letter-spacing:.08em;cursor:pointer}.submit-btn{min-width:270px;display:flex;justify-content:space-between}.submit-btn:disabled{opacity:.4;cursor:not-allowed}footer{border-top:1px solid #27323c;color:#81919c;display:flex;justify-content:space-between;padding:30px max(6%,calc((100% - 1280px)/2));font-size:10px;letter-spacing:.15em}.success-page{min-height:73vh;padding-top:120px}.success-page p{color:var(--muted)}.admin-page{padding-top:55px;padding-bottom:100px}.admin-title{display:flex;justify-content:space-between;align-items:center}.admin-title h1{font-size:48px;margin:10px 0 32px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.admin-stats>div{background:#17212b;border:1px solid #33424d;padding:22px}.admin-stats span{font-size:10px;letter-spacing:.15em;color:#9dacb9;display:block}.admin-stats strong{display:block;font-size:38px;margin-top:6px}.admin-download{display:grid;place-items:center}.admin-box{background:#141d25;border:1px solid #35434e;padding:26px;margin:24px 0}.admin-box h2{font-size:23px;margin:0 0 18px}.admin-box h3{margin-top:35px;font-size:16px}.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.form-row{display:flex;gap:9px;align-items:center}.form-row input{flex:1;min-width:0}input:not([type=checkbox]):not([type=file]),textarea{background:#101820;border:1px solid #41505d;color:white;padding:13px;font:inherit;font-size:14px;width:100%}input[type=file]{display:block;max-width:100%;margin:10px 0}label{display:block;font-size:12px;color:#b7c5ce}.button-secondary,.danger-btn,.text-btn{background:transparent;border:1px solid #5d7180;color:#e3eef2;padding:12px 16px;cursor:pointer;white-space:nowrap;font:inherit;font-size:11px;font-weight:800;letter-spacing:.07em}.danger-btn{border-color:#76504f;color:#dd9a96}.text-btn{border:0}.background-admin{display:flex;gap:25px;align-items:center;margin-top:25px;padding:22px 0;border-top:1px solid #34414c;border-bottom:1px solid #34414c}.background-admin .thumb{width:160px;min-width:160px;height:105px;background-size:cover;background-position:center;background-color:#253746}.candidate-admin-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.candidate-admin-row .form-row{flex:1}.candidate-admin-row .vote-total{width:90px;font-size:12px;color:#a4c4cb;text-align:right}.add-names{display:grid;gap:12px;justify-items:start;margin-top:25px}.add-names label{width:100%}textarea{display:block;margin-top:10px;resize:vertical}.muted{color:#94a5af;font-size:13px}.admin-note{margin-top:26px}.admin-login{max-width:600px;min-height:74vh;padding-top:110px}.admin-login h1{font-size:40px}.admin-login p{color:#9cabb6}.admin-login label input{margin:12px 0 18px}.flash{max-width:900px;margin:16px auto;padding:14px 22px;background:#34434a;color:white}.flash.error{background:#5b3434}
@media(max-width:850px){.category-grid{grid-template-columns:1fr}.hero{padding-top:80px}.admin-stats{grid-template-columns:1fr 1fr}.background-admin{align-items:flex-start}.hero-number{font-size:200px;bottom:0}.category-card,.category-content{min-height:480px}}
@media(max-width:580px){.wrap{padding:0 18px}.topbar{height:65px;padding:0 18px}.brand{font-size:10px}.brand-mark{font-size:16px;margin-right:6px}.header-meta{display:none}.hero{min-height:410px;padding:72px 0 45px}.hero h1{font-size:60px}.hero-number{font-size:160px;bottom:-15px}.category-card,.category-content{min-height:480px}.category-content{padding:18px}.category-main h3{font-size:34px}.candidate-list{grid-template-columns:1fr 1fr}.candidate{font-size:12px;padding:11px 8px}.category-bottom{font-size:8px}.submit-area{display:block;margin:45px 0 70px}.submit-area h2{font-size:29px}.submit-btn{width:100%;margin-top:20px}.admin-title h1{font-size:34px}.admin-stats{grid-template-columns:1fr 1fr}.admin-box{padding:17px}.form-row{flex-wrap:wrap}.form-row input{flex-basis:100%}.background-admin{display:block}.background-admin .thumb{margin-bottom:20px}.candidate-admin-row{flex-wrap:wrap;border-bottom:1px solid #33424b;padding-bottom:13px}.candidate-admin-row .form-row{flex-basis:100%}footer{padding:22px 18px}footer span{display:none}}

/* Customization panel */
.site-logo{max-width:46px;max-height:46px;vertical-align:middle;object-fit:contain;margin-right:12px}
.design-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.design-form label{display:block}.design-form input,.design-form textarea{margin-top:9px}.design-form .wide{grid-column:1/-1}
.design-form input[type=color]{width:100%;height:51px;cursor:pointer;border:1px solid #41505d;background:#101820;padding:5px;margin-top:9px}
.logo-settings{border-top:1px solid #34414c;margin-top:27px;padding-top:16px;display:flex;gap:25px;align-items:flex-end;flex-wrap:wrap}
.logo-settings>div{flex:1;min-width:200px}.logo-settings h3{margin:0 0 7px}.admin-logo-preview{display:block;max-width:150px;max-height:100px;object-fit:contain;margin-top:13px}
.move-buttons{display:flex;gap:7px;margin-top:10px}.move-buttons button:disabled{opacity:.3;cursor:not-allowed}
@media(max-width:580px){.design-form{grid-template-columns:1fr}.design-form .wide{grid-column:1}.site-logo{max-width:28px;max-height:28px;margin-right:4px}}
