@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{font-family:Inter,Arial,sans-serif;color:#202b24;background:#f7f2e5}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.screen[hidden]{display:none!important}.screen{min-height:calc(100vh - 75px);padding:58px 20px 65px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#fffaf0 0,#f7f2e5 67%)}.home-inner,.step-inner{width:min(100%,650px);margin:auto;text-align:center}.brand{color:#07502c;font-size:38px;font-weight:900;line-height:.9;letter-spacing:-.06em}.brand span{color:#141a17}.brand small{display:block;color:#137d45;font-size:13px;letter-spacing:.14em;margin-top:12px}.campaign-banner{height:185px;display:flex;justify-content:space-between;overflow:hidden;text-align:left;background:#07512d;border-radius:16px;margin:35px auto 36px;color:white;box-shadow:0 8px 22px #24392a18;position:relative}.campaign-banner>div{z-index:1;padding:20px 30px;display:flex;flex-direction:column}.campaign-banner span{font-size:12px;letter-spacing:.15em;font-weight:800}.campaign-banner strong{font-size:42px;letter-spacing:-.05em;line-height:.92;margin:10px 0 4px}.campaign-banner b{font-size:43px;color:#ffdc00;line-height:1}.campaign-banner img{width:47%;height:100%;object-fit:cover;object-position:center 40%;mask-image:linear-gradient(to right,transparent,#000 35%)}h1,h2{letter-spacing:-.045em;line-height:1.15;color:#1d2922}h1{font-weight:400;font-size:clamp(31px,4vw,43px);margin:0 0 15px}h1 strong{font-weight:900}.home p,.lead{color:#455149;font-size:17px;line-height:1.6;margin:0 auto 26px;max-width:610px}.cta{background:#07512d;color:#fff;border:0;border-radius:40px;min-height:62px;padding:10px 11px 10px 27px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:17px;font-weight:600;box-shadow:0 9px 22px #063d2829}.cta span{display:grid;place-items:center;background:#063e25;border-radius:50%;width:43px;height:43px;font-size:23px}.cta:hover{background:#086e3a}.cta:focus-visible,.text-button:focus-visible,.format-card:focus-within,.digit:focus-visible,.secondary:focus-visible{outline:3px solid #d4a900;outline-offset:3px}.social{margin-top:110px;color:#677069;font-size:16px}.social a{color:#07512d;font-weight:800;text-decoration:none}.step-inner h2{font-size:clamp(29px,4vw,37px);margin:0 0 31px}.format-options{display:grid;gap:14px;text-align:left;margin-bottom:31px}.format-card{background:#fffdf7;border:2px solid #d7dbd2;border-radius:13px;display:flex;align-items:center;gap:22px;min-height:169px;padding:20px 26px;cursor:pointer;position:relative;box-shadow:0 1px 0 #a2ab9e}.format-card:has(input:checked){border:5px solid #078447;padding:17px 23px}.format-card input{position:absolute;opacity:0;width:1px;height:1px}.format-card strong{display:block;color:#07512d;font-size:25px;font-weight:900;margin-bottom:9px}.format-card small{display:block;font-size:16px;color:#47544b;line-height:1.45}.format-preview{flex:none;border-radius:4px;background:linear-gradient(#132c1d 0 24%,#07512d 24% 82%,#ffdc00 82%);width:93px;height:120px;display:flex;align-items:center;justify-content:center;box-shadow:2px 3px 4px #0003}.format-preview.vert{width:82px;height:133px}.format-preview i{font-size:33px;font-weight:900;color:#ffdc00;font-style:normal}.text-button{border:0;background:transparent;color:#07512d;text-decoration:underline;display:block;margin:25px auto 0;padding:6px;font-size:16px}.candidate-screen,.result-screen{align-items:start;padding-top:55px}.candidate-inner{width:min(100%,740px)}.mini-brand{font-size:15px;letter-spacing:.1em;font-weight:900;color:#07512d;margin-bottom:22px}.mini-brand b{background:#ffdc00;border-radius:5px;padding:5px 7px;color:#18231c}.candidate-inner h2{margin-bottom:14px}.candidate-inner .lead{margin-bottom:26px}.ballot{background:#fff;border:1px solid #d7ded7;border-radius:17px;overflow:hidden;text-align:left;box-shadow:0 8px 24px #172e2214;margin-bottom:30px}.row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 17px;min-height:92px;border-top:1px solid #e5ebe5}.row:first-child{border-top:0}.avatar{width:56px;height:56px;background:#e6eee7;border-radius:9px;border:1px solid #aecab8;overflow:hidden;display:grid;place-items:center;color:#819588;font-size:25px}.avatar.sprite{background-repeat:no-repeat;background-size:calc(var(--cols)*100%) calc(var(--rows)*100%);background-position:calc(var(--tx)/max(var(--cols) - 1, 1)*100%) calc(var(--ty)/max(var(--rows) - 1, 1)*100%);font-size:0}.role{color:#007442;font-weight:800;font-size:11px;letter-spacing:.1em}.candidate{font-size:17px;font-weight:800;margin-top:4px}.candidate.empty{font-weight:500;color:#6c766f}.detail{font-size:12px;color:#69736e;margin-top:3px}.digits{display:flex;gap:5px}.digit{width:39px;height:48px;border:1px solid #9aa99e;border-radius:5px;background:#fff;color:#172019;text-align:center;font:800 28px Arial,sans-serif;line-height:1;padding:0;appearance:none;-webkit-appearance:none;-webkit-text-fill-color:#172019;opacity:1;outline:none}.digit.fixed{background:#ffdc00;border-color:#e5bd00;pointer-events:none}.note{color:#5b675f;font-size:13px;line-height:1.5;margin:25px auto;max-width:550px}.result-inner{width:min(100%,680px)}.result-inner h2{margin-bottom:8px}.result-inner .lead{margin-bottom:24px}.result-inner img{display:block;width:min(100%,510px);max-height:70vh;object-fit:contain;margin:0 auto 27px;border-radius:5px;box-shadow:0 8px 26px #19302134}.result-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px}.result-actions .text-button{margin:8px 3px}.secondary{border:1px solid #07512d;background:#fffdf7;color:#07512d;text-decoration:none;padding:18px 25px;border-radius:35px;font-weight:700}.open-image{display:block;color:#07512d;margin:12px auto 0;font-size:14px}.save-help{font-size:14px;line-height:1.5;color:#394b40}.subtle{margin-top:10px}footer{text-align:center;background:#0e1d14;color:#c8d4cb;font-size:10px;line-height:1.6;padding:20px 10px;min-height:75px}@media(max-width:650px){.screen{padding:32px 14px 48px}.brand{font-size:32px}.campaign-banner{height:157px;margin:28px auto}.campaign-banner>div{padding:20px}.campaign-banner strong{font-size:35px}.campaign-banner b{font-size:35px}.home p,.lead{font-size:15px}.social{margin-top:70px}.format-card{min-height:135px;padding:15px;gap:16px}.format-card:has(input:checked){padding:12px}.format-card strong{font-size:20px}.format-card small{font-size:14px}.format-preview{width:72px;height:99px}.format-preview.vert{width:63px;height:108px}.candidate-screen{padding-top:35px}.row{grid-template-columns:43px minmax(0,1fr);gap:6px 9px;padding:10px 12px}.avatar{width:43px;height:43px}.role{font-size:10px}.candidate{font-size:15px}.detail{font-size:11px}.digits{grid-column:1/-1;justify-content:flex-end}.digit{width:36px;height:40px;font-size:24px}.ballot{margin-bottom:22px}.result-inner img{max-height:64vh}}
