@font-face{font-family:'Wanted Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/fonts/WantedSansVariable.woff2') format('woff2')}
:root{font-family:"Wanted Sans",sans-serif;color:#f5f0e3;background:#252720;font-synthesis:none;--gold:#c0a770;--red:#81473f;--green:#3d6057}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid #c0a77044}.brand{display:flex;align-items:center;gap:12px;color:#f5f0e3;text-decoration:none;font-size:17px;letter-spacing:2px}.brand svg{width:38px;height:38px;color:var(--gold)}.connection{display:flex;align-items:center;gap:8px;font-size:11px;color:#b7b8ac}.connection i{width:5px;height:5px;border-radius:50%;background:#b98f59}.connection.online i{background:#abc19a}main.dashboard{min-height:calc(100svh - 86px);display:flex;flex-direction:column;position:relative;padding:5vh 5% 65px}.total{text-align:center}.total h1{font-size:17px;font-weight:400;color:#bcbcad;letter-spacing:3px;margin:0 0 12px}.total p{margin:0;display:flex;justify-content:center;align-items:baseline;gap:12px}.total strong{font-family:"Wanted Sans",sans-serif;font-size:clamp(60px,8vw,110px);font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}.total p span{font-size:16px;color:#a8aa9c}.verdicts{display:grid;grid-template-columns:1fr 1fr;align-content:center;flex:1;margin:35px auto 0;width:100%;max-width:1400px;min-height:280px}.verdicts article{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 5%;position:relative}.verdicts article+article{border-left:1px solid #c0a77066}.verdicts h2{font-size:clamp(30px,3.5vw,56px);font-family:"Wanted Sans",sans-serif;font-weight:400;letter-spacing:8px;margin:0 0 22px}.verdicts p{display:flex;align-items:baseline;gap:15px;margin:0}.verdicts strong{font-family:"Wanted Sans",sans-serif;font-size:clamp(88px,13vw,200px);font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}.verdicts .guilty{color:#d69b8c}.verdicts .innocent{color:#a9c6b7}.verdicts p span{font-size:19px;color:#a1a698}.admin-trigger{position:absolute;right:4%;bottom:22px;background:transparent;border:0;color:#9b9c8d;font-size:11px;padding:10px}.voter{min-height:calc(100svh - 86px);background:#f6f4ed;color:#292a24;display:flex;flex-direction:column;justify-content:center;padding:45px 22px 24px}.ballot{display:grid;grid-template-columns:1fr 1fr;gap:0;width:100%;max-width:850px;margin:0 auto}.vote{border:0;background:transparent;min-height:340px;color:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 15px;transition:background .2s,opacity .2s}.vote.innocent{color:var(--green);border-left:1px solid #b2a88d88}.vote .seal{font-family:"Wanted Sans",sans-serif;border:1px solid currentColor;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font-size:30px;opacity:.6;margin-bottom:28px}.vote strong{font-family:"Wanted Sans",sans-serif;font-size:52px;font-weight:500;letter-spacing:6px}.english{font-size:10px;letter-spacing:2px;margin-top:14px}.vote:not(:disabled):hover{background:#eae5d8}.vote:disabled{cursor:default;opacity:.35}.vote.selected{opacity:1;background:#eae7da}.vote.selected:after{content:'투표 완료';font-size:12px;margin-top:22px}#ballot-note{text-align:center;font-size:13px;color:#777969;margin:35px 0 10px;line-height:1.6}#message{text-align:center;font-size:12px;line-height:1.6;color:#ba9d68;margin:12px 15px;min-height:20px}.dashboard>#message:empty{display:none}dialog{border:1px solid #b4a585;background:#f6f3e9;color:#303329;max-width:calc(100% - 36px);width:370px;border-radius:3px;padding:28px}dialog::backdrop{background:#151812b0;backdrop-filter:blur(4px)}dialog h2{font-size:21px;font-weight:500;line-height:1.5;margin:18px 0}dialog p{font-size:13px;color:#807867;line-height:1.8}.eyebrow{font-size:9px;letter-spacing:3px;color:#8a7447}.actions{display:flex;gap:10px;margin-top:26px}button:not(.vote):not(.admin-trigger){border:1px solid #cfc7b2;border-radius:2px;background:#faf8ef;padding:12px 17px;color:#504d3f;font-size:13px}.actions button{flex:1}.primary{background:#343d30!important;color:#f8f5e9!important;border-color:#343d30!important}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-heading h2{margin:0}.dialog-heading button{border:0!important;background:transparent!important;font-size:24px!important;padding:0 5px!important}label{display:block;font-size:12px;margin-bottom:10px;color:#736e5d}input{width:100%;border:1px solid #d5cfbd;padding:12px;background:#fffdf5;border-radius:2px;margin-bottom:12px}#login>.primary,#reset{width:100%}#controls p{margin:0 0 24px}#admin-message{margin:16px 0 0;min-height:0;color:#8a513b}#admin-message:empty{display:none}[hidden]{display:none!important}@media(max-width:600px){header{height:72px;padding:0 22px}.brand{font-size:14px;gap:10px;letter-spacing:1px}.brand svg{width:30px;height:30px}.connection{font-size:9px}main.dashboard{min-height:calc(100svh - 72px);padding:6vh 15px 65px}.total h1{font-size:13px;letter-spacing:2px}.total strong{font-size:64px}.verdicts{min-height:230px;margin-top:25px}.verdicts article{padding:28px 5px}.verdicts h2{font-size:32px;margin-bottom:30px;letter-spacing:5px}.verdicts strong{font-size:clamp(52px,15vw,86px)}.verdicts p{gap:7px}.verdicts p span{font-size:13px}.voter{min-height:calc(100svh - 72px);padding:25px 18px}.vote{min-height:320px;padding:25px 10px}.vote strong{font-size:41px}.vote .seal{width:48px;height:48px;font-size:26px}.english{font-size:9px}#ballot-note{font-size:12px;margin-top:28px}}

/* One uninterrupted color field on each half of the dashboard. */
body.dashboard-page{background:linear-gradient(to right,#a23934 0%,#a23934 var(--guilty-share,50%),#24674e var(--guilty-share,50%),#24674e 100%);color:#fffaf1}
.dashboard-page header{background:transparent;border-bottom-color:#ffffff2b}
.dashboard-page .brand,.dashboard-page .brand svg{color:#fff7e8}
.dashboard-page .connection{color:#fff7e8c9}
.dashboard-page .connection.online i{background:#fff4cf}
.dashboard-page main.dashboard{background:transparent}
.dashboard-page .total h1,.dashboard-page .total p span{color:#fff7e8d9}
.dashboard-page .total strong{font-weight:650;letter-spacing:-.055em}
.dashboard-page .verdicts .guilty,.dashboard-page .verdicts .innocent{color:#fffaf1}
.dashboard-page .verdicts article+article{border-left-color:#ffffff5c}
.dashboard-page .verdicts h2{font-weight:600;letter-spacing:-.04em}
.dashboard-page .verdicts strong{font-weight:650;letter-spacing:-.06em}
.dashboard-page .verdicts p span{color:#fff7e8d9}
.dashboard-page .admin-trigger{color:#fff7e8c9}
.dashboard-page #message{color:#fff7e8}

.brand img{display:block;width:72px;height:72px;object-fit:contain}@media(max-width:600px){.brand img{width:60px;height:60px}}

@property --guilty-share{syntax:"<percentage>";inherits:true;initial-value:50%}body.dashboard-page{transition:--guilty-share .65s ease}.dashboard-page .verdicts article+article{border-left:0}

body.dashboard-page main.dashboard{min-height:100svh;padding-top:16px}.dashboard-logo{display:block;width:150px;height:150px;object-fit:contain;margin:0 auto 10px}.dashboard-page .verdicts{margin-top:15px}@media(max-width:600px){.dashboard-logo{width:120px;height:120px}.dashboard-page main.dashboard{padding-top:12px}}

/* Keep each verdict centered inside its live background rectangle. */
.dashboard-page .verdicts{width:100vw;max-width:none;align-self:center;grid-template-columns:var(--guilty-share,50%) minmax(0,1fr);transition:grid-template-columns .65s ease}
.dashboard-page .verdicts article{min-width:0;padding-left:0;padding-right:0;overflow:hidden}
.dashboard-page .verdicts article>h2,.dashboard-page .verdicts article>p{flex-shrink:0}
.dashboard-page .verdicts{position:absolute;inset:0;width:100%;height:100%;margin:0;min-height:0;align-content:stretch;transition:none;pointer-events:none}.dashboard-page .dashboard-logo,.dashboard-page .total{position:relative;z-index:1}.dashboard-page .admin-trigger{z-index:2}
/* Give the court emblem room, with turnout anchored below the verdicts. */
.dashboard-page .dashboard-logo{width:230px;height:230px;margin:0 auto;flex-shrink:0}
.dashboard-page .total{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);width:max-content;text-align:center}
.dashboard-page .total h1{font-size:15px;letter-spacing:1px;margin-bottom:8px}
.dashboard-page .total strong{font-size:56px;line-height:1}
.dashboard-page .total p{gap:9px}
.dashboard-page .total p span{font-size:14px}
@media(max-width:600px){.dashboard-page .dashboard-logo{width:185px;height:185px}.dashboard-page .total{bottom:42px}.dashboard-page .total h1{font-size:12px}.dashboard-page .total strong{font-size:44px}}
@media(max-height:650px){.dashboard-page .dashboard-logo{width:145px;height:145px}.dashboard-page .total{bottom:20px}.dashboard-page .total h1{font-size:11px;margin-bottom:5px}.dashboard-page .total strong{font-size:36px}}
