body{margin:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#fff;-webkit-user-select:none;user-select:none;background:#000;width:100vw;height:100vh;font-family:Arial,sans-serif;overflow:hidden}#root{width:100%;height:100vh}.lobby-view{background:radial-gradient(at 50% 30%,#1a1a2e 0%,#0a0a14 60%,#050510 100%);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.lobby-table{pointer-events:none;background:radial-gradient(#2a2018 0%,#1a1410 50%,#0000 70%);border-radius:50%;width:70%;height:25%;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.lobby-content{z-index:2;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.lobby-title{letter-spacing:6px;color:#e2e8f0;text-transform:uppercase;text-shadow:0 0 40px #ffffff1a;font-size:36px;font-weight:900}.lobby-sub{letter-spacing:4px;color:#64748b;text-transform:uppercase;margin-top:-8px;font-size:14px}.lobby-count{color:#475569;font-size:13px}.lobby-players{flex-wrap:wrap;justify-content:center;gap:8px;max-width:400px;display:flex}.lobby-chip{letter-spacing:.5px;color:#fff;text-shadow:0 1px 2px #0006;text-transform:uppercase;border-radius:20px;align-items:center;gap:6px;padding:4px 14px 4px 4px;font-size:10px;font-weight:700;display:flex}.start-btn{color:#fff;cursor:pointer;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;margin-top:10px;padding:14px 40px;font-size:16px;font-weight:900;transition:all .15s;box-shadow:0 6px 30px #ef44444d}.start-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px #ef444466}.start-btn:active{transform:translateY(0)}.alert-phase{background:radial-gradient(at 50% 30%,#1a1a2e 0%,#0a0a14 60%,#050510 100%);justify-content:center;align-items:center;width:100%;height:100vh;animation:.3s alertFadeIn;display:flex;position:relative;overflow:hidden}@keyframes alertFadeIn{0%{opacity:0}to{opacity:1}}.alert-glow{background:radial-gradient(at 50% 60%,#ef444414 0%,#0000 60%);position:absolute;inset:0}.alert-body{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.alert-title{letter-spacing:8px;color:#ef4444;text-transform:uppercase;text-shadow:0 0 40px #ef44444d;font-size:36px;font-weight:900;animation:.8s infinite alternate alertPulse}@keyframes alertPulse{0%{transform:scale(1)}to{transform:scale(1.04)}}.alert-sub{letter-spacing:3px;color:#94a3b8;text-transform:uppercase;font-size:14px}.vote-page{background:#0a0a12;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:visible}.scale-wrap{transform-origin:50%;justify-content:center;align-items:center;display:flex}.tablet-frame{z-index:2;aspect-ratio:960/660;background:#9fa3a6;border:5px solid #5a5d61;border-radius:24px;width:min(88vw,116.364vh,720px);padding:20px 55px 20px 20px;position:relative;box-shadow:inset -3px -3px #707376,inset 3px 3px #cfd2d4,0 12px 30px #000000b3}.tablet-home-btn{background:#d1d4d6;border:3px solid #5a5d61;border-radius:50%;width:28px;height:28px;position:absolute;top:50%;right:12px;transform:translateY(-50%);box-shadow:inset -2px -2px #9fa3a6,1px 1px 2px #0006}.tablet-screen{background:#a9c7e3 linear-gradient(115deg,#fff3 15%,#0000 15% 22%,#fff3 22% 35%,#0000 35%);border:4px solid #31353a;border-radius:4px;flex-direction:column;width:100%;height:100%;padding:14px 16px;display:flex;position:relative;overflow:hidden}.vote-bg-lines{pointer-events:none;background-image:repeating-linear-gradient(115deg,#0000 0 60px,#ffffff0a 60px 61px);position:absolute;inset:0}.vote-title{text-align:center;color:#fff;letter-spacing:.5px;text-shadow:0 0 20px #fff6,0 0 40px #fff3;z-index:1;flex-shrink:0;margin:0 0 1.4vh;font-size:clamp(1.1rem,2.8vw,2.2rem);font-weight:900;position:relative}.vote-grid{z-index:1;flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:clamp(4px,.7vh,8px);width:100%;min-height:0;padding-bottom:2px;display:grid;position:relative;overflow-y:auto}.vote-card{cursor:pointer;background:#fff;border:2px solid #72767d;border-radius:4px;justify-content:space-between;align-items:center;height:clamp(34px,5vh,48px);padding:0 clamp(4px,.8vw,8px);transition:background .1s;display:flex;position:relative;box-shadow:0 2px #00000026}.vote-card:hover:not(.ejected-card){background:#f0f4f8;border-color:#000}.vote-card-left{align-items:center;gap:clamp(4px,.6vw,8px);min-width:0;display:flex}.vote-card-name{color:#000;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.3px;font-size:clamp(.6rem,1.2vw,1rem);font-weight:800;overflow:hidden}.vote-card-warn{color:#888;margin-top:1px;font-size:clamp(.4rem,.7vw,.6rem);font-weight:600}.vote-card-right{flex-shrink:0;align-items:center;display:flex}.vote-badge{clip-path:polygon(14% 46%,0 60%,37% 100%,100% 16%,84% 0%,37% 66%);background:#4d4;border:2px solid #000;width:clamp(10px,1.4vh,16px);height:clamp(11px,1.5vh,17px);display:none}.vote-badge.show{display:block}.vote-tokens{gap:2px;display:flex;position:absolute;bottom:1px;left:clamp(36px,5vw,48px)}.vote-token{border:1px solid #000;border-radius:2px;width:clamp(6px,.7vh,9px);height:clamp(6px,.7vh,9px)}.vote-pill{z-index:10;background:#3e4347;border:2px solid #000;border-radius:20px;gap:6px;padding:3px 8px;display:flex;position:absolute;box-shadow:3px 3px #0000004d}.pill-btn{cursor:pointer;border:2px solid #000;border-radius:12px;justify-content:center;align-items:center;width:clamp(28px,2.8vh,36px);height:clamp(22px,2.4vh,28px);font-family:inherit;font-size:clamp(.8rem,1.2vw,1.1rem);font-weight:900;transition:filter .1s;display:flex}.pill-btn:hover{filter:brightness(1.15)}.pill-yes{color:#fff;background:#4d4}.pill-no{color:#fff;background:#f44}.vote-footer{z-index:1;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding:.5vh 0 0;display:flex;position:relative}.skip-pill{cursor:pointer;background:#fff;border:2px solid #000;border-radius:30px;align-items:center;gap:clamp(4px,.5vw,8px);padding:clamp(3px,.5vh,6px) clamp(10px,1.2vw,16px);transition:background .1s;display:flex;box-shadow:0 2px #00000026}.skip-pill:hover{background:#f0f4f8}.skip-text{color:#000;letter-spacing:.5px;font-size:clamp(.55rem,1vw,.85rem);font-weight:800}.vote-timer{color:#fff;text-shadow:0 0 12px #ffffff80;letter-spacing:1px;font-size:clamp(.65rem,1.2vw,1rem);font-weight:900;transition:color .5s,text-shadow .5s}.timer-critical{color:#f44;text-shadow:0 0 16px #ff4444b3;animation:1s ease-in-out infinite alternate timerPulse}@keyframes timerPulse{0%{opacity:.7}to{opacity:1}}.vote-mycheck{color:#2f4;text-shadow:0 0 12px #2f49;z-index:5;font-size:clamp(1.4rem,2.5vh,2.2rem);font-weight:700;animation:.3s checkPop;position:absolute;bottom:2vh;right:2vw}@keyframes checkPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.css-crewmate{--s:22px;width:var(--s);height:calc(var(--s) * 1.125);border-radius:calc(var(--s) * .375) calc(var(--s) * .375) calc(var(--s) * .188) calc(var(--s) * .188);border:calc(var(--s) * .094) solid #000;flex-shrink:0;display:inline-block;position:relative}.css-crewmate:before{content:"";left:calc(var(--s) * -.28);top:calc(var(--s) * .28);width:calc(var(--s) * .188);height:calc(var(--s) * .625);background:inherit;border:calc(var(--s) * .094) solid #000;border-radius:calc(var(--s) * .125) 0 0 calc(var(--s) * .125);border-right:none;position:absolute}.css-crewmate:after{content:"";right:calc(var(--s) * -.094);top:calc(var(--s) * .125);width:calc(var(--s) * .5);height:calc(var(--s) * .344);border:calc(var(--s) * .094) solid #000;border-radius:calc(var(--s) * .188);box-shadow:inset calc(var(--s) * -.094) calc(var(--s) * -.094) 0px #6ecad9;background:#b5f6ff;position:absolute}.reveal-overlay{z-index:20;background:#0000008c;justify-content:center;align-items:center;animation:.3s revealFadeIn;display:flex;position:absolute;inset:0}@keyframes revealFadeIn{0%{opacity:0}to{opacity:1}}.reveal-text{color:#fff;letter-spacing:3px;text-transform:uppercase;-webkit-text-stroke:1.5px #000;text-shadow:0 0 40px #00000080;font-size:clamp(1rem,2.5vh,1.8rem);font-weight:900;animation:.6s infinite alternate revealPulse}@keyframes revealPulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.eject-page{z-index:100;background:#000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.space-bg{background:radial-gradient(circle,#0b111e 0%,#000 100%);position:absolute;inset:0}.star-layer{pointer-events:none;border-radius:50%;position:absolute;inset:0}.star-small{background:#fffc;width:2px;height:2px;animation:90s linear infinite starDrift;box-shadow:6vw 60vh #ffffffb3,97vw 65vh #fffc,86vw 13vh #ffffffe6,18vw 8vh #fffc,29vw 11vh #fffc,23vw 10vh #ffffffe6,7vw 52vh #ffffffe6,38vw 65vh #fffc,42vw 89vh #ffffffe6,96vw 28vh #fffc,56vw 84vh #fffc,16vw 14vh #ffffffe6,60vw 85vh #fffc,87vw 73vh #fffc,3vw 80vh #ffffffb3,71vw 13vh #fffc,75vw 69vh #ffffffb3,30vw 96vh #ffffffb3,39vw 4vh #ffffffb3,76vw 97vh #ffffffb3,44vw 69vh #ffffffe6,80vw 95vh #fffc,70vw 4vh #fffc,40vw 53vh #ffffffb3,46vw 73vh #ffffffb3,76vw 92vh #ffffffe6,50vw 1vh #ffffffe6,4vw 23vh #ffffffe6,56vw 54vh #ffffffb3,81vw 14vh #ffffffe6,78vw 84vh #ffffffe6,23vw 73vh #ffffffe6,33vw 96vh #ffffffe6,54vw 74vh #fffc,21vw 9vh #ffffffb3,98vw 77vh #ffffffe6,16vw 66vh #ffffffe6,33vw 63vh #fffc,73vw 68vh #ffffffb3,55vw 34vh #ffffffe6,83vw 35vh #ffffffb3,59vw 57vh #ffffffe6,87vw 15vh #ffffffe6,92vw 69vh #ffffffb3,2vw 88vh #ffffffe6,13vw 77vh #ffffffb3,67vw 14vh #fffc,38vw 56vh #ffffffb3,80vw 15vh #fffc,62vw 31vh #ffffffb3,44vw 65vh #fffc,88vw 28vh #fffc,24vw 96vh #fffc,37vw 27vh #ffffffe6,17vw 94vh #ffffffe6,57vw 34vh #fffc,69vw 38vh #fffc,28vw 41vh #ffffffe6,87vw 5vh #fffc,3vw 30vh #ffffffe6,7vw 92vh #ffffffb3,28vw 54vh #ffffffe6,82vw 64vh #ffffffb3,21vw 52vh #ffffffe6,48vw 87vh #ffffffe6,41vw 2vh #fffc,63vw 29vh #fffc,97vw 51vh #ffffffe6,80vw 97vh #ffffffe6,50vw 67vh #ffffffe6,14vw 91vh #ffffffb3,38vw 6vh #fffc,73vw 71vh #ffffffb3,85vw 69vh #fffc,72vw 2vh #fffc,41vw 32vh #fffc,8vw 94vh #ffffffe6,54vw 73vh #ffffffe6,42vw 5vh #fffc,92vw 92vh #ffffffe6}.star-medium{background:#c8e1ffcc;width:3px;height:3px;animation:55s linear infinite starDrift;box-shadow:58vw 61vh #c8e1ffe6,86vw 49vh #c8e1ffcc,53vw 39vh #c8e1ffe6,80vw 76vh #c8e1ffe6,82vw 46vh #c8e1ffe6,93vw 54vh #c8e1ffcc,14vw 35vh #c8e1ffe6,93vw 69vh #c8e1ffcc,87vw 11vh #c8e1ffcc,28vw 1vh #c8e1ffcc,7vw 5vh #c8e1ffe6,52vw 40vh #c8e1ffcc,88vw 77vh #c8e1ffcc,73vw 0 #c8e1ffcc,29vw 19vh #c8e1ffcc,70vw 40vh #c8e1ffcc,53vw 75vh #c8e1ffe6,76vw 38vh #c8e1ffe6,46vw 2vh #c8e1ffcc,42vw 1vh #c8e1ffe6,36vw 79vh #c8e1ffcc,80vw 56vh #c8e1ffcc,50vw 43vh #c8e1ffcc,5vw 17vh #c8e1ffcc,91vw 61vh #c8e1ffcc,5vw 54vh #c8e1ffe6,14vw 23vh #c8e1ffe6,56vw 10vh #c8e1ffe6,87vw 58vh #c8e1ffcc,8vw 54vh #c8e1ffe6,45vw 6vh #c8e1ffcc,86vw 28vh #c8e1ffe6,36vw 27vh #c8e1ffe6,56vw 22vh #c8e1ffe6,61vw 92vh #c8e1ffe6,78vw 98vh #c8e1ffe6,79vw 52vh #c8e1ffcc,62vw 37vh #c8e1ffcc,44vw 87vh #c8e1ffcc,5vw 58vh #c8e1ffe6}.star-large{background:0 0;width:4px;height:4px;animation:120s linear infinite starDrift;box-shadow:78vw 51vh 0 1px #ffffff80,78vw 51vh #fff,28vw 46vh 0 1px #ffffff80,28vw 46vh #fff,52vw 65vh 0 1px #ffffff80,52vw 65vh #fff,15vw 35vh 0 1px #ffffff80,15vw 35vh #fff,35vw 0 0 1px #ffffff80,35vw 0 #fff,97vw 52vh 0 1px #ffffff80,97vw 52vh #fff,11vw 34vh 0 1px #ffffff80,11vw 34vh #fff,8vw 52vh 0 1px #ffffff80,8vw 52vh #fff,3vw 39vh 0 1px #ffffff80,3vw 39vh #fff,50vw 94vh 0 1px #ffffff80,50vw 94vh #fff,64vw 50vh 0 1px #ffffff80,64vw 50vh #fff,31vw 48vh 0 1px #ffffff80,31vw 48vh #fff,45vw 71vh 0 1px #ffffff80,45vw 71vh #fff,44vw 47vh 0 1px #ffffff80,44vw 47vh #fff,21vw 67vh 0 1px #ffffff80,21vw 67vh #fff,83vw 50vh 0 1px #ffffff80,83vw 50vh #fff,31vw 32vh 0 1px #ffffff80,31vw 32vh #fff,20vw 77vh 0 1px #ffffff80,20vw 77vh #fff}@keyframes starDrift{0%{transform:translateY(0)}to{transform:translateY(-100vh)}}.eject-msg{color:#fff;text-align:center;text-shadow:3px 3px #000;z-index:2;letter-spacing:.5px;max-width:750px;min-height:70px;margin-bottom:30px;padding:0 30px;font-size:clamp(1.2rem,3.5vw,2.2rem);font-weight:900;line-height:1.7;position:relative}.name-input{color:#fff;text-align:center;background:#1e293b;border:2px solid #475569;border-radius:8px;outline:none;width:220px;padding:10px 16px;font-family:inherit;font-size:18px}.name-input:focus{border-color:#3b82f6}.color-picker{flex-wrap:wrap;justify-content:center;gap:6px;max-width:200px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:30px;height:30px;transition:all .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:#fff;box-shadow:0 0 8px #ffffff4d}.color-swatch.taken{opacity:.3;cursor:not-allowed;filter:grayscale()}.admin-stats{color:#94a3b8;flex-wrap:wrap;justify-content:center;gap:16px;font-size:13px;display:flex}.admin-eject{color:#ef4444;font-weight:700}.admin-player-list{max-width:320px}.admin-results{background:#0000004d;border-radius:8px;min-width:200px;padding:12px 16px}.admin-results-title{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px;font-weight:700}.admin-result-row{align-items:center;gap:8px;margin:4px 0;font-size:13px;display:flex}.admin-dev-tools{background:#0006;border:1px solid #475569;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px 16px;display:flex}.admin-dev-tools label{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;font-size:11px}.admin-scale-row{align-items:center;gap:8px;display:flex}.admin-scale-btn{color:#fff;cursor:pointer;background:#1e293b;border:1px solid #64748b;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:700;display:flex}.admin-scale-btn:hover{background:#334155}.admin-scale-val{color:#e2e8f0;text-align:center;min-width:32px;font-size:14px;font-weight:700}.display-frame{z-index:2;aspect-ratio:960/660;width:min(92vw,123.636vh,960px);position:relative}.crew-wrapper{align-items:center;display:inline-flex;position:relative}.eject-x{color:#ef4444;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;pointer-events:none;z-index:2;justify-content:center;align-items:center;font-size:clamp(14px,2vw,24px);font-weight:900;line-height:1;display:flex;position:absolute;inset:-4px}.ejected-card{pointer-events:none;background:#f5f5f5;border-color:#d4d4d4;cursor:not-allowed!important}.ejected-card:hover{background:#f5f5f5}.ejected-card .vote-card-name{color:#ef4444!important}.lobby-chip.ejected{cursor:default;opacity:.65;background:#1e293b}.lobby-x{color:#ef4444;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;font-size:14px;font-weight:900}.fullscreen-btn{z-index:200;color:#ffffff4d;cursor:pointer;background:#0000004d;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-family:inherit;font-size:14px;line-height:1;transition:all .15s;display:flex;position:fixed;bottom:8px;right:8px}.fullscreen-btn:hover{color:#ffffffb3;background:#00000080;border-color:#fff6}.scale-adjust{z-index:15;opacity:.25;align-items:center;gap:3px;transition:opacity .15s;display:flex;position:absolute;bottom:4px;left:12px}.scale-adjust:hover{opacity:.7}.scale-btn{color:#333;cursor:pointer;background:#b0b4b7;border:1px solid #5a5d61;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-family:inherit;font-size:12px;font-weight:700;line-height:1;display:flex}.scale-btn:hover{background:#c8cbce}.confirm-overlay{z-index:300;background:#000000b3;justify-content:center;align-items:center;animation:.2s confirmFadeIn;display:flex;position:fixed;inset:0}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:#1e293b;border:1px solid #475569;border-radius:12px;flex-direction:column;align-items:center;gap:14px;width:90%;max-width:380px;padding:24px 28px;display:flex;box-shadow:0 12px 40px #00000080}.confirm-modal h3{text-transform:uppercase;letter-spacing:1px;color:#ef4444;font-size:16px;font-weight:900}.confirm-modal p{color:#94a3b8;text-align:center;font-size:12px;line-height:1.5}.confirm-modal code{color:#e2e8f0;background:#0f172a;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px}.confirm-input{color:#fff;text-align:center;background:#0f172a;border:1px solid #475569;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:13px}.confirm-input:focus{border-color:#ef4444}.confirm-actions{gap:8px;width:100%;display:flex}.confirm-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:6px;flex:1;padding:8px 0;font-family:inherit;font-size:12px;font-weight:700}.confirm-btn-danger{color:#fff;background:#ef4444}.confirm-btn-danger:disabled{cursor:not-allowed;background:#475569}.confirm-btn-cancel{color:#94a3b8;background:#334155}.confirm-btn-cancel:hover{background:#475569}.vote-detail-table{border-collapse:collapse;width:100%;font-size:11px}.vote-detail-table th{color:#64748b;text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid #334155;padding:3px 6px;font-weight:700}.vote-detail-table td{color:#e2e8f0;border-bottom:1px solid #1e293b;padding:3px 6px}.vote-detail-dot{vertical-align:middle;border:1px solid #000;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.vote-detail-skip{color:#94a3b8;font-style:italic}.round-badge{color:#e2e8f0;letter-spacing:.5px;text-transform:uppercase;background:#1e293b;border:1px solid #475569;border-radius:6px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.round-badge strong{color:#fbbf24}.offline-card{pointer-events:none;background:#d1d5db;border-color:#9ca3af;cursor:not-allowed!important}.offline-card:hover{background:#d1d5db}.offline-card .vote-card-name{color:#1e293b!important}.lobby-chip.offline{opacity:.5;cursor:default}
