:root{font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#261f1d;background:#fffaf4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.site-shell{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:24px}.brand{display:inline-block;font-family:Georgia,serif;font-size:1.05rem;font-weight:700;letter-spacing:-.04em}.hero{display:grid;align-content:center;min-height:calc(100vh - 72px);max-width:720px;padding:48px 0}.eyebrow{color:#e96945;font-size:.72rem;font-weight:800;letter-spacing:.12em}h1{margin:12px 0 24px;font-family:Georgia,serif;font-size:clamp(3rem,10vw,6.7rem);font-weight:500;letter-spacing:-.08em;line-height:.94}h1 em{color:#e96945;font-style:normal}.hero>p:not(.eyebrow){color:#806f68;font-size:1.1rem;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;width:fit-content;margin-top:18px;padding:0 22px;border-radius:999px;font-weight:800}.button--primary{color:#fffaf4;background:#e96945}.choice-grid{display:grid;gap:10px;grid-template-columns:1fr}.choice-card{display:grid;gap:4px;width:100%;min-height:72px;padding:16px;border:1px solid #eadfd5;border-radius:16px;color:#261f1d;background:#fffdfa;text-align:left;cursor:pointer}.choice-card--selected{border-color:#e96945;box-shadow:inset 0 0 0 1px #e96945;background:#fff0e8}.choice-card:disabled{cursor:not-allowed;opacity:.5}.choice-card small{color:#806f68}.progress-wrap{display:flex;align-items:center;gap:10px}.progress-bar{height:6px;flex:1;overflow:hidden;border-radius:999px;background:#eadfd5}.progress-bar span{display:block;height:100%;border-radius:inherit;background:#e96945;transition:width .2s ease}.progress-count{color:#806f68;font-size:.78rem;white-space:nowrap}@media(min-width:768px){.site-shell{padding:36px 48px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.survey,.result-card{width:min(100%,680px);margin:0 auto;padding:clamp(36px,8vw,80px) 0}.survey h2,.result-card h2,.admin h2{margin:16px 0 10px;font-family:Georgia,serif;font-size:clamp(2.3rem,7vw,4.6rem);font-weight:500;letter-spacing:-.07em;line-height:1}.survey__subtitle,.result-card>p{margin:0 0 28px;color:#806f68;line-height:1.65}.survey .choice-grid{margin:28px 0}.survey__actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.button--quiet{border:1px solid #eadfd5;background:transparent}.form-error{color:#c54325;font-size:.9rem}.survey--complete{text-align:center}.survey--complete .button{width:100%}.result-card{margin-top:clamp(35px,10vh,100px);padding:clamp(28px,6vw,56px);border:1px solid #eadfd5;border-radius:28px;background:#fffdfa;text-align:center}.result-number{color:#e96945;font-family:Georgia,serif;font-size:5.5rem;letter-spacing:-.12em;line-height:1}.status-row{display:inline-flex;align-items:center;gap:7px;margin:10px 0 24px;padding:10px 13px;border-radius:999px;background:#fff0e8;font-size:.86rem}.status-dot{width:8px;height:8px;border-radius:50%;background:#e96945}.status-muted{color:#806f68}.result-note{font-size:.9rem}.admin{padding:42px 0}.admin h2{font-size:2.5rem}.admin-grid{display:grid;gap:12px}.admin-panel{min-width:0;padding:17px;border:1px solid #eadfd5;border-radius:20px;background:#fffdfa}.panel-label,.person span{color:#806f68;font-size:.78rem}.panel-label{margin:0 0 12px;font-weight:800;letter-spacing:.05em}.person{display:grid;width:100%;gap:4px;padding:12px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer}.person:hover{background:#fff0e8}.candidate{padding:13px 0;border-bottom:1px solid #eee4dd}.candidate:last-child{border:0}.candidate b{float:right;color:#e96945;font-size:.8rem}.candidate p,.admin-panel p{font-size:.85rem;line-height:1.5}.admin-panel .button{width:100%;margin-top:18px}@media(min-width:768px){.admin-grid{grid-template-columns:minmax(150px,.8fr) minmax(210px,1.15fr) minmax(220px,1fr)}}.login-card{width:min(100%,580px);margin:clamp(38px,10vh,100px) auto;padding:clamp(28px,7vw,56px);border:1px solid #eadfd5;border-radius:28px;background:#fffdfa}.login-card h2{margin:16px 0 12px;font-family:Georgia,serif;font-size:clamp(2.5rem,8vw,4.8rem);font-weight:500;letter-spacing:-.07em;line-height:1}.login-card>p{color:#806f68;line-height:1.65}.login-card form{display:grid;gap:10px;margin-top:28px}.login-card label{font-size:.86rem;font-weight:800}.login-card input,.admin-controls input,.admin-controls select{width:100%;min-height:50px;border:1px solid #eadfd5;border-radius:12px;padding:0 14px;color:#261f1d;background:#fffaf4}.login-card .button{width:100%;margin-top:8px;border:0;cursor:pointer}.button:disabled{opacity:.55;cursor:wait}.form-success{color:#237b59;font-size:.9rem}.login-note{margin-top:24px;font-size:.82rem}.admin-intro{color:#806f68}.admin-controls{display:grid;gap:10px;margin:22px 0}.person--selected{background:#fff0e8}.candidate .button{min-height:38px;margin-top:4px;padding:0 12px;font-size:.78rem;cursor:pointer}@media(min-width:640px){.admin-controls{grid-template-columns:minmax(0,1fr) 180px}}
