*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Courier New,Monaco,monospace;background:#0f0f0f;color:#888;min-height:100vh;overflow-x:hidden}html{overflow-x:hidden}@media (max-width: 600px){html,body{height:100%;overflow:hidden;position:fixed;width:100%}}#root{height:100dvh}.app{height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}@media (max-width: 600px){.app{padding:0;overflow:hidden}}.screen{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}@media (max-width: 600px){.screen{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;padding:12px;align-items:center}.screen.game-screen{padding:12px 12px 60px;align-items:center}}.container{width:100%;max-width:500px;margin:0 auto}@media (max-width: 600px){.container{height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}}.terminal-header{background:#1a1a1a;border:1px solid #2a2a2a;padding:12px 20px;font-size:11px;font-weight:400;letter-spacing:2px;margin-bottom:0;color:#666;text-transform:uppercase}.terminal-box{background:#0a0a0a;border:1px solid #2a2a2a;border-top:none;padding:30px 20px}.ascii-art{font-size:10px;line-height:1.3;color:#555;margin-bottom:30px;text-align:center;white-space:pre;overflow-x:auto;font-family:monospace;font-weight:400}.btn{width:100%;background:#1a1a1a;border:1px solid #2a2a2a;color:#888;padding:14px 20px;font-family:Courier New,monospace;font-size:11px;font-weight:400;cursor:pointer;margin-top:10px;transition:all .2s;letter-spacing:1px;text-transform:uppercase}.btn:hover:not(:disabled){background:#252525;border-color:#3a3a3a;color:#aaa}.btn:active:not(:disabled){background:#151515}.btn:disabled{opacity:.3;cursor:not-allowed}.btn-secondary{background:#151515;border-color:#252525;color:#666}.btn-secondary:hover:not(:disabled){background:#1a1a1a;border-color:#2a2a2a;color:#888}.btn-danger{background:#1a1a1a;border-color:#2a2a2a;color:#888}.btn-danger:hover:not(:disabled){background:#252525;border-color:#3a3a3a;color:#aaa}.btn-group{display:flex;flex-direction:column;gap:10px;margin-top:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#555;font-weight:400}.form-group input,.select{width:100%;background:#0a0a0a;border:1px solid #2a2a2a;color:#aaa;padding:12px 14px;font-family:Courier New,monospace;font-size:13px;outline:none;transition:all .2s}@media (max-width: 600px){.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px;font-size:11px;letter-spacing:1.5px}.form-group input{padding:14px 16px;font-size:14px}}@media (max-width: 450px){.form-group{margin-bottom:18px}.form-group label{margin-bottom:7px;font-size:10px;letter-spacing:1px}.form-group input{padding:12px 14px;font-size:13px}}.form-group input:focus,.select:focus{border-color:#3a3a3a;background:#151515}.form-group input::placeholder{color:#333}.select{margin-bottom:10px;cursor:pointer}.select option{background:#0a0a0a;color:#aaa}.error{color:#aaa;margin:15px 0;padding:10px 14px;border:1px solid #2a2a2a;background:#1a1a1a;font-size:11px}.info{color:#666;margin:15px 0;padding:10px 14px;border:1px solid #252525;background:#151515;font-size:11px}@media (max-width: 600px){.error,.info{margin:14px 0;padding:12px 14px;font-size:12px}}@media (max-width: 400px){.error,.info{margin:12px 0;padding:11px 12px;font-size:11px}}.room-code{font-size:12px;margin-bottom:30px;padding:16px;border:1px solid #2a2a2a;background:#1a1a1a;text-align:center;color:#666}.highlight{color:#ccc;font-weight:400;letter-spacing:4px;font-size:18px;display:block;margin-top:8px}@media (max-width: 600px){.room-code{font-size:12px;margin-bottom:24px;padding:16px}.highlight{font-size:18px;letter-spacing:3px;margin-top:8px}}@media (max-width: 400px){.room-code{font-size:11px;margin-bottom:20px;padding:14px}.highlight{font-size:16px;letter-spacing:2.5px;margin-top:7px}}.section{margin:25px 0}.section-title{font-size:10px;margin-bottom:10px;letter-spacing:2px;color:#555;text-transform:uppercase;font-weight:400}.player-list{border:1px solid #2a2a2a;background:#0a0a0a;max-height:128px;overflow:auto}.player-item{padding:12px 14px;border-bottom:1px solid #1a1a1a;font-size:12px;color:#888}.player-item:last-child{border-bottom:none}.badge{color:#aaa;font-size:9px;margin-left:6px;padding:2px 6px;background:#1a1a1a;border:1px solid #2a2a2a;font-weight:400;letter-spacing:1px}.score{float:right;color:#666;font-weight:400}.host-controls{margin-top:30px}@media (max-width: 600px){.host-controls{margin-top:28px}}@media (max-width: 400px){.host-controls{margin-top:24px}}.role-display{padding:24px;border:1px solid #2a2a2a;background:#1a1a1a;margin-bottom:30px;text-align:center}.role-title{font-size:11px;letter-spacing:2px;margin-bottom:16px;color:#666;text-transform:uppercase;font-weight:400}.role-title.spy{color:#aaa;font-size:13px}.location-name{font-size:20px;color:#ccc;font-weight:400;letter-spacing:1px;margin:16px 0;text-transform:uppercase}.role-info{font-size:10px;color:#555;margin-top:12px}.questions-list{border:1px solid #2a2a2a;background:#0a0a0a}.question-item{padding:12px 14px;border-bottom:1px solid #1a1a1a;font-size:11px;color:#888;line-height:1.5}.question-item:last-child{border-bottom:none}@media (max-width: 600px){.questions-list{max-height:none}.question-item{padding:12px 14px;font-size:12px;line-height:1.5}}@media (max-width: 400px){.question-item{padding:11px 12px;font-size:11px;line-height:1.4}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;overflow-y:auto}.modal{width:100%;max-width:500px;animation:slideIn .2s ease}.modal-large{max-width:600px}@media (max-width: 600px){.modal-overlay{padding:25px 15px 15px;align-items:center}.modal,.modal-large{max-width:100%}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.accusation-info{text-align:center;padding:24px;border:1px solid #2a2a2a;background:#1a1a1a;margin-bottom:20px}.accused-name{font-size:18px;color:#ccc;margin:14px 0;letter-spacing:2px;font-weight:400;text-transform:uppercase}.vote-status{margin-top:14px;color:#666;font-size:11px;font-weight:400}.vote-list{margin-top:16px;border:1px solid #2a2a2a;background:#0a0a0a;max-height:200px;overflow-y:auto}.vote-item{padding:10px 14px;border-bottom:1px solid #1a1a1a;font-size:11px;color:#888}.vote-item:last-child{border-bottom:none}@media (max-width: 600px){.accusation-info{padding:20px;margin-bottom:18px}.accused-name{font-size:17px;margin:14px 0;letter-spacing:1.5px}.vote-status{margin-top:14px;font-size:12px}.vote-list{margin-top:16px;max-height:180px}.vote-item{padding:12px 14px;font-size:12px}}@media (max-width: 400px){.accusation-info{padding:18px;margin-bottom:16px}.accused-name{font-size:15px;margin:12px 0;letter-spacing:1px}.vote-status{font-size:11px}.vote-item{padding:11px 12px;font-size:11px}}.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0;max-height:400px;overflow-y:auto;padding:12px;border:1px solid #2a2a2a;background:#0a0a0a}.location-grid::-webkit-scrollbar{width:6px}.location-grid::-webkit-scrollbar-track{background:#0a0a0a}.location-grid::-webkit-scrollbar-thumb{background:#2a2a2a}.location-grid::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.location-btn{background:#1a1a1a;border:1px solid #2a2a2a;color:#666;padding:12px 10px;font-family:Courier New,monospace;font-size:10px;font-weight:400;cursor:pointer;transition:all .2s;text-align:center;text-transform:uppercase;letter-spacing:.5px}.location-btn:hover{border-color:#3a3a3a;color:#aaa;background:#252525}.location-btn.selected{background:#252525;border-color:#3a3a3a;color:#ccc}@media (max-width: 600px){.location-grid{gap:10px;margin:18px 0;max-height:350px;padding:14px}.location-btn{padding:14px 12px;font-size:11px;letter-spacing:.5px}}@media (max-width: 400px){.location-grid{gap:8px;margin:16px 0;max-height:320px;padding:12px}.location-btn{padding:12px 10px;font-size:10px;letter-spacing:.4px}}.leaderboard-btn{position:fixed;bottom:20px;right:20px;background:#1a1a1a;border:1px solid #2a2a2a;color:#888;padding:12px 20px;font-family:Courier New,monospace;font-size:10px;font-weight:400;cursor:pointer;transition:all .2s;z-index:100;letter-spacing:2px;text-transform:uppercase}.leaderboard-btn:hover{background:#252525;border-color:#3a3a3a;color:#aaa}.leaderboard-list{border:1px solid #2a2a2a;background:#0a0a0a;margin-bottom:20px;max-height:400px;overflow-y:auto}.leaderboard-item{padding:14px;border-bottom:1px solid #1a1a1a;display:flex;align-items:center;gap:14px}.leaderboard-item:last-child{border-bottom:none}.rank{color:#aaa;font-weight:400;min-width:30px;font-size:13px}.name{flex:1;color:#888;font-size:12px}.leaderboard-item .score{color:#aaa;font-weight:400;float:none;font-size:13px}@media (max-width: 600px){.leaderboard-list{margin-bottom:18px;max-height:350px}.leaderboard-item{padding:14px;gap:14px}.rank{min-width:28px;font-size:13px}.name{font-size:12px}.leaderboard-item .score{font-size:13px}}@media (max-width: 400px){.leaderboard-list{max-height:320px}.leaderboard-item{padding:12px;gap:12px}.rank{min-width:26px;font-size:12px}.name{font-size:11px}.leaderboard-item .score{font-size:12px}}.result-message{text-align:center;padding:20px;font-size:12px;margin-bottom:16px;color:#888}.result-reveal{text-align:center;padding:24px;border:1px solid #2a2a2a;background:#1a1a1a;margin-bottom:20px;font-size:13px;line-height:1.6;font-weight:400;color:#aaa}.result-reveal.spy,.result-reveal.correct,.result-reveal.incorrect{border-color:#2a2a2a;color:#aaa}@media (max-width: 600px){.result-message{padding:18px;font-size:13px;margin-bottom:18px}.result-reveal{padding:20px;margin-bottom:18px;font-size:13px;line-height:1.6}}@media (max-width: 400px){.result-message{padding:16px;font-size:12px;margin-bottom:16px}.result-reveal{padding:18px;margin-bottom:16px;font-size:12px;line-height:1.5}}.accusation-banner{position:fixed;top:0;left:0;right:0;background:#1a1a1a;border-bottom:1px solid #2a2a2a;padding:16px;text-align:center;z-index:999;animation:slideDown .2s ease}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.accusation-banner-title{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#555;margin-bottom:6px;font-weight:400}.accusation-banner-text{font-size:13px;color:#aaa;font-weight:400;letter-spacing:1px}@media (max-width: 600px){.ascii-art{font-size:8px}.container{max-width:100%;margin-top:0}.location-grid{grid-template-columns:1fr}.terminal-header{font-size:11px;padding:12px 16px;letter-spacing:1.5px}.terminal-box{padding:20px 14px;max-height:calc(100dvh - 140px);overflow-y:auto;-webkit-overflow-scrolling:touch}.role-display{padding:18px;margin-bottom:20px}.role-title{font-size:11px;margin-bottom:14px;letter-spacing:1.5px}.role-title.spy{font-size:13px}.location-name{font-size:20px;margin:14px 0}.role-info{font-size:11px;margin-top:12px}.section{margin:18px 0}.section-title{font-size:11px;margin-bottom:12px;letter-spacing:1.5px}.player-list,.questions-list{border:1px solid #2a2a2a;max-height:140px;overflow-y:auto;-webkit-overflow-scrolling:touch}.player-item,.question-item{padding:12px 14px;font-size:12px;line-height:1.5}.badge{font-size:9px;padding:2px 6px;margin-left:6px}.score{font-size:12px}.select{padding:14px 16px;font-size:13px;margin-bottom:12px}.btn{font-size:11px;padding:14px 18px;margin-top:12px;letter-spacing:1px}.leaderboard-btn{bottom:16px;right:16px;padding:12px 18px;font-size:10px;letter-spacing:1.5px}.accusation-banner{padding:16px}.accusation-banner-title{font-size:10px;margin-bottom:6px;letter-spacing:1.5px}.accusation-banner-text{font-size:13px}.ascii-art{margin-bottom:24px}.btn-group{gap:12px;margin-top:20px}}@media (max-width: 450px){.ascii-art{font-size:clamp(9px,2.5vw,13px)}.terminal-header{font-size:10px;padding:10px 14px;letter-spacing:1px}.terminal-box{padding:20px 14px}.role-display{padding:18px;margin-bottom:20px}.role-title{font-size:10px;margin-bottom:12px;letter-spacing:1px}.role-title.spy{font-size:12px}.location-name{font-size:18px;margin:12px 0}.role-info{font-size:10px;margin-top:10px}.section{margin:18px 0}.section-title{font-size:10px;margin-bottom:10px;letter-spacing:1px}.player-item,.question-item{padding:11px 12px;font-size:11px;line-height:1.5}.badge{font-size:8px;padding:2px 5px;margin-left:5px}.score{font-size:11px}.select{padding:12px 14px;font-size:12px;margin-bottom:10px}.btn{font-size:11px;padding:12px 16px;margin-top:10px;letter-spacing:.5px}}
