@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#081725;--card:#112332;--line:#29404e;--gold:#e8c78b;--text:#f6f2e9;--muted:#9ab0bc;--green:#8cdbb7;--red:#ffaeae}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans KR',sans-serif;min-height:100vh}.glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 0%,#7f623a25,transparent 40%),radial-gradient(ellipse at 0% 80%,#0f4d5c25,transparent 45%);z-index:-1}header{height:88px;margin:0 auto;max-width:1440px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit}.brand{text-decoration:none;font-weight:900;font-size:25px;letter-spacing:-1px}.brand span{color:var(--gold);font-size:11px;letter-spacing:2px;margin-left:16px}.connection{font-size:12px;color:var(--muted)}.connection.ok:before{content:'●';color:var(--green);margin-right:8px}main{max-width:1320px;margin:auto;padding:48px 32px 80px;min-height:calc(100vh - 160px)}footer{border-top:1px solid var(--line);max-width:1360px;margin:auto;padding:24px 40px;color:var(--muted);font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between}h1{font-size:clamp(42px,6.5vw,88px);letter-spacing:-3px;line-height:1.1;margin:18px 0 28px}h2{font-size:clamp(24px,3.5vw,42px);letter-spacing:-1px;margin:12px 0 22px}h3{margin:0 0 14px;font-size:21px}p{line-height:1.8;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;color:var(--gold)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:center;min-height:65vh}.hero h1 span{color:var(--gold)}.hero .lead{font-size:18px;max-width:420px}.card{background:linear-gradient(140deg,#142a3b,#0d1e2c);border:1px solid var(--line);border-radius:24px;padding:32px}.join-card{max-width:440px;width:100%;justify-self:end}.small{font-size:13px}.muted{color:var(--muted)}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.chip,.badge{font-size:12px;border:1px solid var(--line);padding:7px 12px;border-radius:100px;color:var(--muted)}.badge{color:var(--gold);border-color:#e8c78b55}.links{display:flex;gap:24px;margin-top:28px;font-size:13px;color:var(--muted)}label{display:block;font-size:13px;font-weight:600;margin:22px 0 10px}input,select{background:#081725;border:1px solid #3b5361;border-radius:12px;padding:15px;color:var(--text);font:inherit;width:100%;outline:none}input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8c78b20}button{font:inherit;border:0;border-radius:12px;padding:14px 20px;cursor:pointer;background:var(--gold);color:#172330;font-weight:800;transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}button:disabled{cursor:default;opacity:.45}.wide{width:100%;margin-top:24px}.secondary{border:1px solid var(--line);background:#152b3b;color:var(--text)}.danger{border:1px solid #ad6161;background:transparent;color:var(--red)}.error{font-size:14px;color:var(--red);min-height:20px;margin:12px 0 0;line-height:1.6}.notice{border-left:2px solid var(--gold);padding-left:16px;font-size:13px;color:var(--muted);line-height:1.9;margin:28px 0}.question-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.progress{height:3px;background:#263b48;border-radius:3px;margin:22px 0 32px}.progress i{display:block;background:var(--gold);height:100%;transition:width .3s}.timer{font-size:36px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--gold);white-space:nowrap}.timer small{font-size:14px;margin-left:4px}.timer.urgent{color:var(--red)}.quiz-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.photo-frame{height:min(57vh,500px);background:#05111b;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.photo-frame img{height:100%;width:100%;object-fit:contain}.photo-frame:has(img:not([src])):before{content:'사진을 불러오는 중…';position:absolute;color:var(--muted)}.photo-caption{text-align:center;font-size:12px;color:var(--muted);margin:10px}.options{display:grid;gap:14px}.option{text-align:left;display:flex;align-items:center;gap:18px;background:#112737;color:var(--text);border:1px solid #355064;padding:19px;font-size:23px;font-weight:700}.option .letter{background:#233e50;border-radius:9px;width:40px;height:40px;display:grid;place-items:center;color:var(--gold);font-size:18px;flex-shrink:0}.option.selected{border-color:var(--gold);background:#554a302f}.option.correct{border-color:var(--green);background:#22634245}.option.wrong{border-color:#a05b5b}.option:disabled{opacity:1}.option .count{font-size:14px;color:var(--muted);margin-left:auto}.status{margin:20px 0;padding:14px 18px;border-radius:12px;background:#1e514333;color:var(--green);font-size:14px}.wait{text-align:center;max-width:660px;margin:8vh auto}.wait-icon{font-size:52px;width:110px;height:110px;display:grid;place-items:center;border:1px solid #e8c78b50;border-radius:50%;margin:0 auto 32px;color:var(--gold)}.metrics{display:flex;gap:12px;margin-top:30px}.metric{flex:1;border:1px solid var(--line);border-radius:14px;padding:16px}.metric strong{font-size:28px;display:block;color:var(--text)}.metric span{font-size:12px;color:var(--muted)}.answer-name{font-size:52px;color:var(--gold);font-weight:900;margin:0 0 18px;letter-spacing:-2px}.twist{font-size:64px;font-weight:900;color:var(--gold);margin:12px 0}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.answer-grid .photo-frame{height:400px}.board{max-width:880px;margin:auto}.board-top{display:flex;justify-content:space-between;align-items:center}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.podium .card{text-align:center;padding:26px 10px}.podium .card:first-child{border-color:var(--gold);background:linear-gradient(140deg,#65513155,#102332)}.podium .rank{color:var(--gold);font-size:40px;font-weight:900}.podium .name{font-size:23px;font-weight:800;margin:12px 0}.podium .score{font-size:16px;color:var(--muted)}.board-row{display:grid;grid-template-columns:60px 1fr 100px;gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);align-items:center}.board-row.me{background:#e8c78b15;color:var(--gold)}.board-row strong:last-child{text-align:right}.admin-bar{padding:24px;background:#122937;border:1px solid #446079;border-radius:18px;margin-bottom:30px}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-actions select{width:120px}.admin-label{display:flex;justify-content:space-between;margin-bottom:18px;color:var(--muted);font-size:13px}.admin-label a{color:var(--gold)}details{margin-top:24px;color:var(--muted);font-size:13px}summary{cursor:pointer}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:15px 24px;background:#f5e7c9;color:#142330;border-radius:12px;z-index:10;max-width:90%;display:none;box-shadow:0 8px 35px #0006}#toast.show{display:block}.screen main{max-width:1500px}.screen .option{font-size:30px}.screen .photo-frame{height:58vh}.screen .answer-name{font-size:72px}.screen .brand span{font-size:14px}.empty{padding:24px;text-align:center;color:var(--muted)}.setup{max-width:600px;margin:7vh auto}.setup code{word-break:break-all}.screen a.brand{pointer-events:none}
@media(max-width:760px){header{height:68px;padding:0 22px}.brand{font-size:22px}.brand span{font-size:9px;margin-left:10px}.connection{font-size:10px}main{padding:32px 20px 60px}.hero{grid-template-columns:1fr;gap:28px;min-height:auto}.hero h1{font-size:64px;margin:16px 0}.hero .lead{font-size:15px;margin:0}.join-card{justify-self:stretch;max-width:none}.card{padding:24px}.chips{margin-top:18px}.quiz-grid{grid-template-columns:1fr;gap:22px}.photo-frame{height:32vh;min-height:210px}.question-head h2{font-size:23px;margin-bottom:10px}.timer{font-size:28px}.options{grid-template-columns:1fr 1fr;gap:10px}.option{font-size:17px;padding:14px 10px;gap:8px;align-items:flex-start;flex-direction:column}.option .letter{height:29px;width:29px;font-size:14px}.option .count{margin-left:0;font-size:12px}.answer-grid{gap:12px}.answer-grid .photo-frame{height:260px;min-height:0}.answer-name{font-size:38px}.podium{gap:8px}.podium .name{font-size:17px}.podium .rank{font-size:30px}.board-row{padding:16px 12px;grid-template-columns:40px 1fr 70px;gap:8px}.admin-actions button{flex:1;white-space:nowrap}.admin-actions select{width:100px}.progress{margin:16px 0 24px}footer{padding:22px;font-size:8px}.notice{font-size:12px}.twist{font-size:48px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.qr{width:160px;background:white;padding:8px;border-radius:12px;margin:20px auto}.qr svg{display:block;width:100%;height:auto}
