:root{--navy:#102846;--pink:#c12560;--paper:#fafaf7;--muted:#53647a}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.55 Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:var(--pink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pink);outline-offset:4px}h1{font-size:42px;line-height:1.12;letter-spacing:-1.2px;margin:0 0 25px;overflow-wrap:anywhere}h2{font-size:24px;line-height:1.3}.wordmark{font-size:30px;font-weight:bold;letter-spacing:-1.6px;margin:20px 0 28px}.eyebrow{font-size:14px;font-weight:bold;letter-spacing:1px;color:var(--pink);margin:0 0 14px}.organizer{max-width:790px;margin:auto;padding:35px 25px 65px}.voter{max-width:510px;margin:auto;padding:28px 23px 50px;min-height:100svh;display:flex;flex-direction:column;justify-content:center}.lead{font-size:21px;color:var(--muted);margin-bottom:28px}.back{font-size:15px}label{display:block;font-weight:bold;margin:24px 0 8px}input,textarea,select{width:100%;border:1px solid #bfc9d1;border-radius:10px;background:white;color:var(--navy);padding:13px}textarea{resize:vertical}select{min-height:50px}.hint{font-size:14px;color:var(--muted);line-height:1.6}.stage-box{background:#fff0f5;border:1px solid #ecd4de;border-radius:18px;padding:25px;margin:25px 0}.stage-box ol{padding-left:21px}.stage-box li{margin:14px 0}.primary,.secondary,.quiet{border:0;border-radius:10px;text-decoration:none;display:inline-block;font-weight:bold;padding:16px 21px;text-align:center;line-height:1.35}.primary{background:var(--navy);color:white}.secondary{background:white;border:1px solid #bac5ce;color:var(--navy)}.quiet{background:transparent;border:1px solid #cbd2d8;color:var(--navy);font-size:14px;padding:10px 15px}form>.primary{width:100%;margin-top:26px}button:disabled{opacity:.6;cursor:default}.tools{display:flex;flex-wrap:wrap;gap:12px}.tools>*{flex-grow:1}.error{color:#a42243;font-weight:bold;white-space:pre-wrap}.connection{font-size:14px;color:var(--muted)}.qr{background:white;max-width:310px;padding:10px;margin:auto}.qr svg{display:block;width:100%;height:auto}.choices{display:grid;gap:12px}.choice{background:white;border:1px solid #c3ccd4;border-radius:12px;margin:0;padding:16px;display:flex;align-items:center;gap:14px;font-weight:normal}.choice input{width:22px;height:22px;accent-color:var(--pink);flex-shrink:0}.choice:has(input:checked){border:2px solid var(--pink);padding:15px;background:#fff0f5}.success{font-size:60px;color:var(--pink);margin:20px 0}.submission{background:white;border:1px solid #d6dce1;border-radius:12px;padding:18px;margin:14px 0;overflow-wrap:anywhere}.submission p{margin:0 0 15px;white-space:pre-wrap}.submission .tools button{padding:10px;font-size:14px}.state-label{font-size:14px;color:var(--muted);margin:12px 0 0!important}.screen{max-width:1800px;margin:auto;padding:35px 55px;min-height:100svh}.screen header{display:flex;align-items:center;gap:24px}.screen header .wordmark{margin:0}.screen header .eyebrow{flex:1;margin:0}.screen-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;align-items:start;margin-top:65px}.screen h1{font-size:clamp(32px,3.8vw,66px);max-width:1100px;margin-bottom:40px}.screen aside{text-align:center}.screen .qr{max-width:300px}.scan{font-size:26px;font-weight:bold;margin:15px 0 8px}.bar-row{margin:22px 0}.bar-label{display:flex;justify-content:space-between;gap:20px;font-size:clamp(17px,1.7vw,29px);line-height:1.3;margin-bottom:10px}.bar-label span{overflow-wrap:anywhere}.bar-label strong{white-space:nowrap}.bar-track{background:#e8e6e7;border-radius:7px;height:24px;overflow:hidden}.bar-fill{background:var(--pink);height:100%;min-width:0;transition:width .6s}.screen-count{font-size:21px;font-weight:bold;margin:35px 0 5px}.empty{font-size:24px;color:var(--muted)}.text-wall{display:grid;grid-template-columns:1fr 1fr;gap:18px}.text-card{border-left:4px solid var(--pink);background:white;border-radius:8px;padding:20px;font-size:clamp(18px,1.7vw,29px);overflow-wrap:anywhere}.saved-link{display:block;padding:12px 0;overflow-wrap:anywhere}@media(max-width:750px){h1{font-size:32px}.screen{padding:24px}.screen-layout{grid-template-columns:1fr;gap:30px;margin-top:35px}.screen aside{max-width:250px;margin:auto}.text-wall{grid-template-columns:1fr}.tools>*{width:100%}.stage-box{padding:20px}.screen header{flex-wrap:wrap}.screen .eyebrow{font-size:13px}}
