:root{--ink:#171717;--muted:#666;--line:#dedede;--paper:#fff;--bg:#1e1e1e;--accent:#e8552f;--accent-dark:#ba3719;--danger:#9b2318;--soft:#f8e8e3;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
*{box-sizing:border-box}
body{margin:0}
.site-header{max-width:900px;margin:0 auto;padding:56px 24px 32px;display:flex;justify-content:center}
.brand{display:block;text-decoration:none}
.brand img{display:block;width:176px;height:auto}
.shell{max-width:900px;margin:0 auto;padding:20px 24px 72px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,5vw,58px);box-shadow:0 18px 50px rgba(20,20,20,.06)}
.card--compact{max-width:620px;margin:8vh auto}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--accent)}
h1{font-size:clamp(32px,6vw,54px);line-height:1.02;letter-spacing:-.045em;margin:.25em 0 .7em}
h2{font-size:22px;margin-top:2em}
h3{font-size:17px;margin-top:1.7em}
p,li{max-width:72ch}
.brief{border-top:1px solid var(--line);margin-top:28px;padding-top:6px}
.notice,.alert{border-radius:12px;padding:16px 18px;margin:24px 0}
.notice{background:#f1efe9}
.alert{background:var(--soft);color:var(--danger);border:1px solid #efc1b6}
.stage-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:32px}
.timer--overtime{color:var(--danger);font-weight:700}
.form{display:grid;gap:12px;margin-top:32px;padding-top:30px;border-top:1px solid var(--line)}
label{font-weight:750;margin-top:14px}
label small{display:block;color:var(--muted);font-weight:500}
input,textarea{width:100%;border:1px solid #bdbdbd;border-radius:10px;padding:13px 14px;font:inherit;background:#fff}
input:focus,textarea:focus{outline:3px solid rgba(232,85,47,.18);border-color:var(--accent)}
input[type=file]{padding:18px;border-style:dashed}
.file-info,.word-count{color:var(--muted);font-size:14px}
.word-count--over{color:var(--danger);font-weight:700}
.lock-warning{font-size:14px;color:var(--muted)}
button{justify-self:start;border:0;border-radius:999px;background:var(--accent);color:#fff;padding:14px 24px;font:inherit;font-weight:800;cursor:pointer}
button:hover{background:var(--accent-dark)}
dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px}
dt{font-weight:800}
dd{margin:0}
.admin-card{background:var(--paper);border-radius:var(--radius);padding:clamp(22px,4vw,44px);box-shadow:0 18px 50px rgba(0,0,0,.18)}
.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.admin-heading h1{margin-bottom:.15em}
.admin-heading p{margin-top:0}
.admin-actions{display:flex;align-items:center;gap:10px}
.button-link{display:inline-flex;align-items:center;border-radius:999px;background:var(--accent);color:#fff;padding:14px 24px;font-weight:800;text-decoration:none;white-space:nowrap}
.button-link:hover{background:var(--accent-dark)}
.admin-search{display:block;margin-top:24px}
.admin-list{display:grid;gap:10px;margin-top:24px}
.candidate-row{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.candidate-row[hidden]{display:none}
.candidate-row summary{display:grid;grid-template-columns:minmax(220px,1fr) 130px 130px;gap:18px;align-items:center;padding:18px;cursor:pointer;list-style:none}
.candidate-row summary::-webkit-details-marker{display:none}
.candidate-row summary:hover{background:#fafafa}
.candidate-row summary small{display:block;color:var(--muted);font-size:13px;font-weight:500}
.candidate-detail{border-top:1px solid var(--line);padding:22px;background:#fcfcfc}
.admin-dates{grid-template-columns:120px 1fr;max-width:520px}
.status{display:inline-flex;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;background:#eee}
.status--completed{background:#dff3e5;color:#176232}
.status--part_1,.status--part_2,.status--closing{background:#fff0db;color:#854b00}
.overtime{color:var(--danger);font-weight:800}
.muted{color:var(--muted)}
.submission{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.submission h2{margin:0}
.submission-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.answer{white-space:normal;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;max-width:80ch}
.download-link{color:var(--accent-dark);font-weight:800}
.button--secondary{background:#333}
.button--secondary:hover{background:#111}
@media(max-width:760px){.candidate-row summary{grid-template-columns:1fr;gap:8px}.status{justify-self:start}.admin-heading{align-items:flex-end}.admin-actions{align-items:stretch;flex-direction:column}.admin-dates{grid-template-columns:100px 1fr}}
@media(max-width:600px){.site-header{padding:32px 18px 16px}.brand img{width:150px}.shell{padding:12px 12px 48px}.card{padding:25px 20px;border-radius:14px}.stage-bar{display:grid}h1{font-size:36px}}
