*{box-sizing:border-box}
:root{
  --bg:#0b0c10;
  --panel:#14161d;
  --line:rgba(255,255,255,.13);
  --text:#f5f2eb;
  --muted:#aaa9b0;
  --accent:#d6c4a8;
}
body{
  margin:0;
  background:
    radial-gradient(circle at 20% 0%,rgba(119,95,66,.19),transparent 33%),
    radial-gradient(circle at 80% 20%,rgba(85,53,75,.16),transparent 30%),
    var(--bg);
  color:var(--text);
  font-family:Arial,"Noto Sans KR",sans-serif;
}
.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:64px 0 32px}
.hero{text-align:center;margin-bottom:44px}
.eyebrow{letter-spacing:.2em;font-size:12px;color:var(--accent);margin:0 0 12px}
h1{font-family:Georgia,serif;font-size:clamp(42px,8vw,82px);font-weight:500;margin:0}
.subtitle{color:var(--muted);margin:16px 0 0}
.match{display:grid;grid-template-columns:1fr 72px 1fr;gap:18px;align-items:center}
.candidate{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
  border:1px solid var(--line);border-radius:24px;padding:16px;
  box-shadow:0 22px 65px rgba(0,0,0,.35)
}
.video-wrap{aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden}
video{width:100%;height:100%;display:block;background:#000}
.candidate-copy{padding:20px 4px 16px}
.tag{font-size:12px;letter-spacing:.16em;color:var(--accent)}
.candidate h2{font-size:24px;margin:8px 0}
.candidate p{color:var(--muted);margin:0}
.pick,.restart{
  width:100%;border:1px solid var(--accent);background:transparent;color:var(--text);
  border-radius:999px;padding:15px 18px;font-size:16px;cursor:pointer;
  transition:.2s ease
}
.pick:hover,.restart:hover{background:var(--accent);color:#151515;transform:translateY(-1px)}
.vs{text-align:center;font-family:Georgia,serif;color:var(--accent);font-size:28px}
.result{text-align:center;padding:20px 0 10px}
.result h2{font-family:Georgia,serif;font-size:48px;font-weight:500}
.winner-video{width:min(760px,100%);aspect-ratio:16/9;margin:24px auto;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.restart{max-width:280px}
.hidden{display:none}
footer{text-align:center;color:var(--muted);font-size:12px;margin-top:44px}
@media(max-width:760px){
  .page{padding-top:38px}
  .match{grid-template-columns:1fr;gap:14px}
  .vs{padding:4px 0}
  .candidate{border-radius:18px}
  .result h2{font-size:36px}
}
