/* 입장 대기열 (11.9 미팅): 정원이 가득 찼을 때의 대기 번호표 · 입장 QR 안내
   색·모서리 규칙은 style.css와 같다 (먹·종이·먹글씨·인주·부적, 모서리 2px, 그림자·그라데이션 없음) */

/* ---------- 대기 번호표 ---------- */
.gate-ticket{margin:22px 0 12px;padding:16px 18px 14px;text-align:center;border:2px solid #000}
.gate-ticket small{display:block;font:var(--t-body-sm-strong);letter-spacing:var(--t-body-sm-strong-ls);color:var(--ink2)}
.gate-ticket strong{display:block;font:var(--fw-solmoe) var(--fs-6xl)/var(--sl-lh-6xl) var(--font-solmoe);color:var(--ink);letter-spacing:var(--sl-ls-lg)}
.gate-ticket strong span{margin-left:4px;font-size:var(--fs-2xl);letter-spacing:var(--sl-ls)}
.gate-ticket p{margin:8px 0 0;padding-top:10px;border-top:1px dashed var(--rule);font:var(--t-body-strong);letter-spacing:var(--t-body-strong-ls);color:var(--ink)}
.gate-ticket p b{display:inline-block;min-width:1em;font:var(--fw-solmoe) var(--fs-2xl)/var(--sl-lh-2xl) var(--font-solmoe);color:var(--seal)}
/* 내 차례가 되면 번호표가 한 번 튀어 오른다 */
.gate-ticket.turn{border-color:var(--seal);animation:gateTurn .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes gateTurn{from{transform:scale(.94)}}
.gate-cap{margin:0 0 18px;text-align:center;font:var(--t-body-sm);letter-spacing:var(--t-body-sm-ls);color:var(--muted)}
@media (prefers-reduced-motion:reduce){.gate-ticket.turn{animation:none}}

/* ---------- 입장 QR 안내 (지옥문 결투 · 대형 화면 QR) ----------
   11.11: 결투 결과판·명부와 같은 찢어진 한지 한 장(.hanji-sheet, style.css) 가운데에 QR만. QR은 흰 바탕 그대로 */
h2.one-line{white-space:nowrap;font-size:clamp(19px,6.2vw,var(--fs-2xl))}
.gate-qr{position:relative;isolation:isolate;display:grid;place-items:center;height:clamp(210px,30dvh,260px);margin:22px 6px 0}
.gate-qr .hanji-sheet{filter:drop-shadow(4px 6px 0 #000)}
.gate-qr .g-qr{width:132px;height:132px;padding:8px;box-shadow:0 0 0 2px #16120e}
/* 입장 규칙 세 칸: 숫자를 크게, 설명은 짧게 (값은 live.js) */
.gate-rules{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0 20px;padding:0;list-style:none;border:1.5px solid var(--line2);border-radius:var(--r);background:var(--bg2)}
.gate-rules li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px 11px;text-align:center}
.gate-rules li+li{border-left:1px dashed var(--line2)}
.gate-rules b{display:block;height:var(--sl-lh-3xl);font:var(--fw-solmoe) var(--fs-3xl)/var(--sl-lh-3xl) var(--font-solmoe);color:var(--tal);white-space:nowrap}   /* 높이 고정: 칸마다 설명 줄 높이를 맞춘다 */
.gate-rules b small{margin-left:1px;font-size:var(--fs-lg)}
.gate-rules li:nth-child(2) b{font-size:var(--fs-2xl)}
.gate-rules span{font:var(--t-body-sm-strong);letter-spacing:var(--t-body-sm-strong-ls);color:var(--text);white-space:nowrap}
/* 대진 화면 아래 ‘결투장에서 나가기’ */
.gate-out{display:block;margin:10px auto 0}
.gate-deadline,.gate-notice{margin:18px 0;padding:14px 16px;border:2px solid var(--seal);background:var(--paper);color:var(--ink);font:var(--t-body);letter-spacing:var(--t-body-ls)}
.gate-deadline p{margin:0 0 6px;font:var(--t-body-strong);letter-spacing:var(--t-body-strong-ls)}
.gate-deadline b{font:var(--fw-bold) var(--fs-2xl)/var(--lh-2xl) var(--font-sans);color:var(--seal);font-variant-numeric:tabular-nums}
.gate-deadline span{font:var(--t-body-sm);letter-spacing:var(--t-body-sm-ls)}

/* ---------- 결투 대진 화면: [결투 시작]과 남은 시간은 화면 아래 고정 칸(.scr-foot, style.css 화면 틀)에 둔다 ----------
   입장 뒤 시작 제한 시간(live.js readySec)이 있어 스크롤하지 않아도 보여야 한다. 대진·안내는 그 위 본문에서 스크롤된다.
   알림(#toast)은 app.js toast가 고정 칸 위로 올려 띄운다 */
.gate-left{margin:0 0 8px;text-align:center;font:var(--t-body-strong);letter-spacing:var(--t-body-strong-ls);line-height:28px}   /* 줄 높이 28px: 막대 높이 유지 */
.gate-left b{display:inline-block;min-width:1.3em;font:var(--fw-bold) var(--fs-2xl)/28px var(--font-sans);color:var(--tal);font-variant-numeric:tabular-nums;vertical-align:bottom}
