@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--black: #0c0c0c;--black-light: #161616;--black-card: #1a1a1a;--black-hover: #222222;--white: #f5f0eb;--white-dim: #b0a89e;--white-muted: #6e6860;--gold: #c9a84c;--gold-bright: #e4c766;--gold-dim: rgba(201, 168, 76, .15);--gold-border: rgba(201, 168, 76, .3);--correct: #c9a84c;--wrong: #d45050;--wrong-dim: rgba(212, 80, 80, .12);--wrong-border: rgba(212, 80, 80, .4);--danger: #d45050;--border: #2a2723;--border-light: #3a362f}html{font-size:16px}body{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--black);color:var(--white);min-height:100dvh;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}.app{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.04) 0%,transparent 60%),var(--black)}.page{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1.25rem;max-width:480px;margin:0 auto;width:100%;gap:1.5rem}.logo-area{text-align:center;margin-top:3rem;margin-bottom:1rem}.logo-icon{font-size:2.5rem;margin-bottom:.5rem;display:block}.logo-area h1{font-size:2.2rem;font-weight:900;letter-spacing:6px;color:var(--white);text-transform:uppercase;position:relative;display:inline-block}.logo-area h1:after{content:"";display:block;width:60%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:.6rem auto 0}.subtitle{color:var(--gold);font-size:.95rem;margin-top:.75rem;letter-spacing:4px;font-weight:500;text-transform:uppercase}.home-divider{width:1px;height:40px;background:linear-gradient(180deg,transparent,var(--gold-border),transparent)}.button-group{display:flex;flex-direction:column;gap:.875rem;width:100%}.btn{display:block;width:100%;padding:1rem;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;min-height:52px;letter-spacing:2px;text-transform:uppercase;transition:all .25s ease}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--gold);color:var(--black)}.btn-primary:not(:disabled):hover{background:var(--gold-bright);box-shadow:0 0 20px #c9a84c4d}.btn-secondary{background:transparent;color:var(--white);border:1px solid var(--border-light)}.btn-secondary:hover{border-color:var(--gold-border);color:var(--gold)}.btn-ghost{background:transparent;color:var(--white-muted);letter-spacing:1px;font-weight:500}.btn-ghost:hover{color:var(--white)}.form{display:flex;flex-direction:column;gap:.875rem;width:100%}.form input{width:100%;padding:.875rem 1rem;background:var(--black-card);border:1px solid var(--border);border-radius:4px;color:var(--white);font-family:inherit;font-size:1rem;outline:none;transition:border-color .25s}.form input:focus{border-color:var(--gold)}.form input::placeholder{color:var(--white-muted)}.team-header{text-align:center;width:100%}.team-header h2{font-size:1.4rem;font-weight:900;letter-spacing:3px;margin-bottom:1.25rem}.team-code{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:var(--black-card);border:1px solid var(--border);border-radius:4px;padding:1.25rem;cursor:pointer;transition:border-color .25s}.team-code:hover{border-color:var(--gold-border)}.code-label{font-size:.7rem;color:var(--white-muted);text-transform:uppercase;letter-spacing:3px;font-weight:500}.code-value{font-size:2.2rem;font-weight:900;letter-spacing:8px;color:var(--gold)}.code-hint{font-size:.7rem;color:var(--white-muted);letter-spacing:1px}.player-list{width:100%}.player-list h3{font-size:.8rem;color:var(--white-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:2px;font-weight:500}.player-list ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.player-list li{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--black-card);border:1px solid var(--border);border-radius:4px;font-size:1rem;font-weight:500}.player-list li.me{border-color:var(--gold-border)}.badge{font-size:.65rem;padding:.2rem .55rem;border-radius:2px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.badge.host{background:var(--gold);color:var(--black)}.badge.me-badge{background:var(--gold-dim);color:var(--gold)}.lobby-actions{width:100%;margin-top:auto}.waiting-text{text-align:center;color:var(--white-muted);padding:1rem;font-size:.9rem;letter-spacing:1px}.writing-header{display:flex;justify-content:space-between;align-items:center;width:100%}.writing-header h2{font-size:1.2rem;font-weight:900;letter-spacing:2px}.timer{font-size:1.4rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--gold);letter-spacing:2px}.timer.urgent{color:var(--danger);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.instruction{color:var(--white-dim);text-align:center;line-height:1.7;font-size:.9rem}.instruction strong{color:var(--gold)}.statement-list{width:100%;display:flex;flex-direction:column;gap:.625rem}.statement-row{display:flex;align-items:center;gap:.5rem;background:var(--black-card);border:1px solid var(--border);border-radius:4px;padding:.5rem .625rem;transition:all .25s}.statement-row.lie-selected{border-color:var(--wrong-border);background:var(--wrong-dim)}.statement-num{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:2px;background:var(--border);font-size:.75rem;font-weight:900;flex-shrink:0;color:var(--white-dim)}.statement-row input{flex:1;background:transparent;border:none;color:var(--white);font-family:inherit;font-size:.9rem;padding:.5rem;outline:none}.statement-row input::placeholder{color:var(--white-muted)}.lie-btn{padding:.4rem .65rem;border-radius:2px;border:1px solid var(--border);background:transparent;color:var(--white-muted);font-family:inherit;font-size:.75rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:all .2s;letter-spacing:1px}.lie-btn.active{background:var(--wrong);color:#fff;border-color:var(--wrong)}.submitted-notice{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1rem}.check-icon{width:56px;height:56px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--gold)}.submitted-notice>p:first-of-type{font-weight:700;font-size:1.1rem;letter-spacing:2px}.progress-text{color:var(--white-muted);font-size:.9rem;letter-spacing:1px}.player-progress{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.progress-dot{padding:.35rem .75rem;border-radius:2px;font-size:.8rem;font-weight:500;background:var(--black-card);border:1px solid var(--border);color:var(--white-muted);transition:all .3s}.progress-dot.done{background:var(--gold-dim);border-color:var(--gold-border);color:var(--gold)}.presenter-info{text-align:center;width:100%}.round-badge{display:inline-block;padding:.3rem 1rem;background:transparent;border:1px solid var(--border);border-radius:2px;font-size:.7rem;font-weight:700;color:var(--white-muted);margin-bottom:1rem;letter-spacing:3px;text-transform:uppercase}.presenter-info h2{font-size:1.3rem;font-weight:900;letter-spacing:2px}.presenter-info h2 .chef-name{color:var(--gold)}.presenter-note{color:var(--white-muted);margin-top:.5rem;font-size:.85rem;letter-spacing:1px}.statements-display{width:100%;display:flex;flex-direction:column;gap:.625rem}.statement-card{display:flex;align-items:center;gap:.875rem;padding:1rem 1.125rem;background:var(--black-card);border:1px solid var(--border);border-radius:4px;cursor:pointer;text-align:left;color:var(--white);font-family:inherit;font-size:.95rem;transition:all .25s;width:100%}.statement-card:not(:disabled):hover{border-color:var(--gold-border);background:var(--black-hover)}.statement-card.selected{border-color:var(--gold);background:var(--gold-dim)}.statement-card:disabled{cursor:default;opacity:.7}.card-num{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:2px;background:var(--border);font-size:.8rem;font-weight:900;flex-shrink:0;color:var(--white-dim)}.card-text{flex:1;line-height:1.5}.vote-waiting{text-align:center;padding:2rem 1rem;color:var(--white-muted);letter-spacing:1px}.vote-waiting p:first-child{font-size:.95rem;margin-bottom:.5rem}.result-page h2{font-weight:900;letter-spacing:2px;font-size:1.3rem}.statements-result{width:100%;display:flex;flex-direction:column;gap:.5rem}.result-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--black-card);border:1px solid var(--border);border-radius:4px;font-size:.9rem;transition:all .3s}.result-card.is-lie{background:var(--wrong-dim);border-color:var(--wrong-border)}.lie-badge{margin-left:auto;padding:.25rem .6rem;border-radius:2px;background:var(--wrong);color:#fff;font-size:.7rem;font-weight:900;flex-shrink:0;letter-spacing:1px;text-transform:uppercase}.vote-result-section{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%}.result-group{background:var(--black-card);border:1px solid var(--border);border-radius:4px;padding:1rem}.result-group h3{font-size:.8rem;margin-bottom:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.result-group.correct{border-color:var(--gold-border)}.result-group.correct h3{color:var(--gold)}.result-group.wrong h3{color:var(--wrong)}.result-group ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}.result-group li{font-size:.9rem;font-weight:500}.result-group .empty{color:var(--white-muted);font-size:.8rem}.scoreboard-page h2{font-weight:900;font-size:1.4rem;letter-spacing:4px;text-transform:uppercase}.scoreboard{width:100%;display:flex;flex-direction:column;gap:.5rem}.score-row{display:flex;align-items:center;gap:.75rem;padding:1rem 1.125rem;background:var(--black-card);border:1px solid var(--border);border-radius:4px;transition:all .3s}.score-row.rank-1{background:linear-gradient(135deg,rgba(201,168,76,.12),var(--black-card));border-color:var(--gold);box-shadow:0 0 20px #c9a84c1a}.score-row.rank-2{background:linear-gradient(135deg,rgba(180,180,180,.08),var(--black-card));border-color:#b4b4b44d}.score-row.rank-3{background:linear-gradient(135deg,rgba(160,110,60,.08),var(--black-card));border-color:#a06e3c4d}.score-row.me{box-shadow:inset 0 0 0 1px var(--gold-border)}.rank{font-size:1.3rem;width:36px;text-align:center;flex-shrink:0}.score-name{flex:1;font-weight:700;font-size:1rem;letter-spacing:1px}.score-cards{display:flex;gap:.5rem}.correct-count,.wrong-count{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:2px;font-weight:900;font-size:.9rem}.correct-count{background:var(--gold-dim);color:var(--gold);border:1px solid var(--gold-border)}.wrong-count{background:var(--wrong-dim);color:var(--wrong);border:1px solid var(--wrong-border)}.score-legend{display:flex;gap:1.5rem;justify-content:center;font-size:.8rem;color:var(--white-muted);letter-spacing:1px}.score-legend span{display:flex;align-items:center;gap:.4rem}.score-legend .correct-count,.score-legend .wrong-count{width:20px;height:20px;font-size:.7rem}.error-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--danger);color:#fff;padding:.75rem 1.5rem;border-radius:2px;font-size:.85rem;font-weight:600;z-index:999;letter-spacing:1px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.admin-page{min-height:100dvh;padding:2rem 1.5rem;background:radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.04) 0%,transparent 60%),var(--black);max-width:960px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.admin-header h1{font-size:1.5rem;font-weight:900;letter-spacing:4px;color:var(--white)}.admin-meta{display:flex;align-items:center;gap:1rem}.admin-status{font-size:.75rem;font-weight:700;letter-spacing:1px;padding:.25rem .6rem;border-radius:2px}.admin-status.online{background:#50c87826;color:#50c878;border:1px solid rgba(80,200,120,.3)}.admin-status.offline{background:var(--wrong-dim);color:var(--wrong);border:1px solid var(--wrong-border)}.admin-team-count{font-size:.85rem;color:var(--white-muted);letter-spacing:1px}.admin-empty{text-align:center;color:var(--white-muted);padding:4rem 1rem;font-size:1rem;letter-spacing:1px}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.admin-card{background:var(--black-card);border:1px solid var(--border);border-radius:4px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .25s}.admin-card.phase-writing{border-color:var(--gold-border)}.admin-card.phase-presenting{border-color:#64b4ff4d}.admin-card.phase-result{border-color:#b482ff4d}.admin-card.phase-finished{border-color:#50c8784d}.admin-card-top{display:flex;justify-content:space-between;align-items:center}.admin-team-name{font-size:1.1rem;font-weight:900;letter-spacing:2px;color:var(--white)}.admin-phase-badge{font-size:.65rem;padding:.2rem .55rem;border-radius:2px;font-weight:700;letter-spacing:1px;white-space:nowrap}.admin-phase-badge.waiting{background:#ffffff14;color:var(--white-muted)}.admin-phase-badge.writing{background:var(--gold-dim);color:var(--gold)}.admin-phase-badge.presenting{background:#64b4ff1f;color:#64b4ff}.admin-phase-badge.result{background:#b482ff1f;color:#b482ff}.admin-phase-badge.finished{background:#50c8781f;color:#50c878}.admin-card-code{font-size:.8rem;color:var(--white-muted);letter-spacing:2px;font-weight:500}.admin-card-info{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--white-dim)}.admin-progress-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.admin-progress-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .3s ease}.admin-card-detail{min-height:1.25rem}.admin-detail{font-size:.8rem;color:var(--white-dim);letter-spacing:.5px}.admin-winner{color:var(--gold);font-weight:700}.admin-rankings{display:flex;flex-direction:column;gap:4px;margin-top:4px}.admin-rank-row{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--white-dim);padding:2px 0}.admin-rank-row.rank-1{color:var(--gold);font-weight:700}.admin-rank-row.rank-2{color:silver;font-weight:600}.admin-rank-row.rank-3{color:#cd7f32;font-weight:600}.admin-rank-num{min-width:24px;text-align:center}.admin-rank-name{flex:1}.admin-rank-score{display:flex;gap:6px}.admin-rank-score .correct-count,.admin-rank-score .wrong-count{font-size:.75rem;min-width:20px;text-align:center}.admin-players{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.admin-players-header{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--white-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.admin-players-legend{display:flex;gap:6px}.admin-players-legend .correct-count,.admin-players-legend .wrong-count{font-size:.65rem;min-width:20px;text-align:center}.admin-player-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:.8rem;color:var(--white-soft)}.admin-player-name{display:flex;align-items:center;gap:4px}.admin-host-badge{font-size:.6rem;background:var(--gold);color:var(--bg);padding:1px 4px;border-radius:3px;font-weight:700}.admin-player-cards{display:flex;gap:6px}.admin-player-cards .correct-count,.admin-player-cards .wrong-count{font-size:.75rem;min-width:20px;text-align:center}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:1px}
