*{margin:0;padding:0;box-sizing:border-box}:root{--locked-vh: 100vh}@supports (height: 100dvh){:root{--locked-vh: 100dvh}}html,body{background-color:#0f0d1b;margin:0;padding:0;height:100%;min-height:var(--locked-vh)}body{font-family:Orbitron,monospace;background:radial-gradient(ellipse at center,#1a1a2e,#0a0a0f);color:#fff;overflow:hidden;position:relative;opacity:0;transition:opacity .4s ease-in}body.menu-active{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable both-edges}body.skin-panel-open{overflow:hidden}#graphics-toggle,#graphics-toggle-low{height:clamp(60px,12vw,120px);cursor:pointer;transition:transform .2s ease,filter .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none}#graphics-toggle:hover,#graphics-toggle-low:hover{transform:scale(1.05);filter:brightness(1.2)}#graphics-toggle-low{display:none}body.page-loaded{opacity:1}.skill-indicator{position:fixed;bottom:12%;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:999px;background:#0a0e19b8;box-shadow:0 12px 28px #00000059;color:#f2f7ff;font-family:Montserrat,sans-serif;font-size:.95rem;letter-spacing:.05em;pointer-events:none;opacity:0;transition:opacity .16s ease;z-index:50;will-change:opacity}.skill-indicator .key{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border-radius:.45rem;background:#ffffff2e;color:#0a101d;font-weight:700;font-size:1rem;box-shadow:inset 0 1px 3px #ffffff40}.skill-indicator .text{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#f2f7ffd9}.skill-indicator[aria-hidden=true]{opacity:0}.skill-indicator[aria-hidden=false]{opacity:1}.page-loaded.menu-active #game-container{height:var(--locked-vh)}#game-container{position:relative;width:100vw;height:var(--locked-vh);background:#0a0a0ff2}.page-loaded.menu-active #game-container #game-canvas{display:none}#game-canvas{z-index:9999;width:100%;height:100%;cursor:default;background:radial-gradient(ellipse at center,#1a1a2e,#0a0a0f);opacity:1;transition:opacity 1s ease}.menu-screen{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#090910;z-index:100;contain:layout paint;box-sizing:border-box}#main-menu{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:0;position:relative;opacity:0;transition:opacity .45s ease}#main-menu .menu-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;flex:1}#main-menu .menu-overlay-controls{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px;pointer-events:none;z-index:2}#main-menu .menu-overlay-row{display:flex;justify-content:space-between;align-items:center;width:100%;pointer-events:none}#main-menu .menu-overlay-top{align-items:flex-start}#main-menu .menu-overlay-bottom{align-items:flex-end}#main-menu .menu-overlay-slot{display:flex;align-items:center;gap:12px;pointer-events:none}#main-menu .menu-overlay-row .menu-overlay-slot:first-child{flex:1}#main-menu .menu-overlay-slot--top-right,#main-menu .menu-overlay-slot--bottom-right{justify-content:flex-end}#main-menu .menu-overlay-slot--top-left,#main-menu .menu-overlay-slot--bottom-left{justify-content:flex-start}#main-menu .menu-overlay-slot>*{pointer-events:auto}#main-menu.visible{opacity:1}.game-title{text-align:center;margin-bottom:60px;animation:float 3s ease-in-out infinite;width:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none}.game-title .glow{display:inline-block;font-size:0;line-height:0}.game-title .glow img{display:block;max-width:min(80vw,600px);width:100%;height:auto;margin:0 auto;filter:drop-shadow(0 0 40px rgba(255,0,255,.5));user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;pointer-events:none}.tip-rotator{font-size:min(1.1rem,2.2vh);color:#0fc;display:block;margin-top:min(-5px,-.5vh);margin-bottom:min(35px,3.5vh);text-align:center;opacity:0;transition:opacity .6s ease-in-out;min-height:1.2em;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none}.tip-rotator.show{opacity:1}.premium-food{position:relative;display:inline-block}.pizza-slice,.sosis-slice{background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:50%}.pizza-slice{background-image:url(./assets/images/foods/pixelpizza.png);box-shadow:0 0 12px #ffd70099}.sosis-slice{background-image:url(./assets/images/foods/pixelsosis.png);box-shadow:0 0 12px #ff8c0099}.player-setup{background:none;padding:0;border-radius:0;border:none;box-shadow:none;max-width:600px;width:min(90vw,600px);overflow-x:hidden}#player-name{width:min(100%,360px);padding:min(12px,1.8vh) min(18px,3vw);font-size:min(1.1rem,2.3vh);background:#121226f2;border:2px solid rgba(0,255,204,.8);border-radius:8px;color:#fff;display:block;margin:0 auto min(20px,2.5vh);text-align:center;font-family:Orbitron,monospace;transition:border-color .15s ease,background-color .15s ease}#player-name:focus{outline:none;background:#1c1c34f2;border-color:#f6f}.room-status{margin-bottom:min(24px,3vh);padding:12px 16px;border-radius:12px;border:1px solid rgba(0,255,204,.4);background:#141428d9;text-align:center;font-size:min(1rem,2.2vh);color:#0fc;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 0 20px #00ffcc26;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.room-status span{display:block;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.skin-selector{margin-top:0;margin-bottom:min(20px,2.5vh)}.skin-selector label{margin-top:-10px;display:block;margin-bottom:min(15px,2vh);color:#0fc;text-align:center;font-size:min(1rem,2vh)}.skin-options{display:grid;grid-template-columns:repeat(3,1fr);gap:min(10px,1.5vh)}.skin-btn{padding:min(10px,1.5vh);background:#28283ccc;border:2px solid #444;border-radius:10px;color:#fff;cursor:pointer;font-size:min(1rem,2vh);font-family:Orbitron,monospace;transition:filter .12s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease}.skin-btn:hover{border-color:#0fc;box-shadow:0 0 15px #00ffcc80;filter:brightness(1.06) saturate(1.04)}.skin-btn.selected{border-color:#f0f;background:#f0f3;animation:glow 1s ease infinite}#skin-preview{background:#0a0a0f;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;border-radius:0;display:block;max-width:none;max-height:none}.skin-preview-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:15px}.skin-preview-nav .arrow-btn{width:40px;height:40px;cursor:pointer;transition:transform .1s ease,filter .1s ease}.skin-preview-nav .arrow-btn:hover{transform:scale(1.05);filter:drop-shadow(0 0 4px #00ffcc)}.room-controls{margin:min(20px,2.5vh) 0;padding:min(15px,2vh);background:#28143c99;border-radius:15px;border:2px solid #ff00ff}.room-controls h3{text-align:center;color:#f0f;margin-bottom:min(15px,2vh);font-size:min(1.1rem,2.2vh)}.room-buttons{display:flex;gap:min(10px,1.5vh);justify-content:center;margin-bottom:min(15px,2vh);flex-wrap:wrap}.room-btn{padding:min(10px,1.5vh) min(20px,2.5vh);background:#f0f3;border:2px solid #ff00ff;color:#fff;border-radius:10px;cursor:pointer;font-family:Orbitron,monospace;font-size:min(1rem,2vh);transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,filter .12s ease}.room-btn:hover{background:#ff00ff59;filter:brightness(1.04)}#room-info{display:none;width:100%;text-align:center;padding:10px;background:#00ffcc1a;border:2px solid #00ffcc;border-radius:10px;margin-bottom:10px}#room-code-display{font-size:min(2rem,4vh);font-weight:700;color:#0fc;margin:10px 0;letter-spacing:5px}#room-link-input{width:100%;padding:8px;margin:5px 0;background:#00000080;border:1px solid #00ffcc;color:#fff;border-radius:5px;font-family:Orbitron,monospace;text-align:center}.copy-btn{padding:8px 15px;background:#0fc;color:#000;border:none;border-radius:5px;cursor:pointer;font-family:Orbitron,monospace;margin:5px;transition:background-color .12s ease,box-shadow .12s ease,filter .12s ease}.copy-btn:hover{background:#0f9;filter:brightness(1.03)}#join-room-section{text-align:center;margin-top:10px}#room-code-input{padding:min(10px,1.5vh);width:150px;background:#141428e6;border:2px solid #00ffcc;color:#fff;border-radius:10px;font-family:Orbitron,monospace;text-align:center;text-transform:uppercase;letter-spacing:2px}#join-room-btn{padding:min(10px,1.5vh) min(20px,2.5vh);margin-left:10px;background:#0fc3;border:2px solid #00ffcc;color:#fff;border-radius:10px;cursor:pointer;font-family:Orbitron,monospace;transition:background-color .12s ease,border-color .12s ease,filter .12s ease}#join-room-btn:hover{background:#00ffcc59;filter:brightness(1.03)}.play-button{padding:min(15px,2vh) min(40px,5vh);font-size:min(1.3rem,2.6vh);font-weight:700;background:linear-gradient(45deg,#f0f,#0fc);border:none;border-radius:50px;color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:2px;margin:min(10px,1.5vh) auto;display:block;font-family:Orbitron,monospace;transition:background .15s ease-out,filter .15s ease-out;will-change:auto;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.play-button:hover{background:linear-gradient(45deg,#ff6bff,#b366ff);filter:brightness(1.02)}.menu-layout{display:inline-flex;align-items:flex-start;justify-content:center;gap:20px;position:relative}.menu-layout>.side-logo{position:absolute;left:0;top:0;transform:translate(calc(-100% - 20px))}.side-logo{cursor:pointer;height:clamp(80px,12vw,160px);width:auto;display:block;transition:filter .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none}.menu-overlay-icon--discord{height:clamp(48px,7vw,112px)}.side-logo:hover{filter:drop-shadow(0 0 10px #00ffcc)}.rooms-logo{cursor:pointer;height:clamp(80px,12vw,160px);width:auto;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;transition:filter .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.rooms-logo img{height:100%;width:auto;display:block;pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none}.rooms-logo:hover,.rooms-logo:focus-visible{filter:drop-shadow(0 0 10px #00ffcc)}.modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0a0f;display:none;align-items:center;justify-content:center;z-index:150;opacity:0;pointer-events:none;transform:translateY(-16px) scale(.98);transition:opacity .2s ease-in-out,transform .22s ease-in-out}.modal.visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}#skin-panel{flex-direction:column;align-items:center;justify-content:center;width:100vw;height:var(--locked-vh);box-sizing:border-box;padding:max(env(safe-area-inset-top),clamp(12px,3vh,32px)) max(env(safe-area-inset-right),clamp(16px,4vw,40px)) max(env(safe-area-inset-bottom),clamp(16px,4vh,40px)) max(env(safe-area-inset-left),clamp(16px,4vw,40px));gap:clamp(16px,4vh,40px);overflow:hidden}.room-dropdown{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#06081499;opacity:0;pointer-events:none;z-index:140;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;transition:opacity .2s ease-in-out}.room-dropdown.open{opacity:1;pointer-events:auto}.room-dropdown-panel{width:min(420px,100%);max-height:min(80vh,540px);background:#0a0a14f2;border:2px solid #00ffcc;border-radius:18px;display:flex;flex-direction:column;gap:16px;padding:28px;overflow-y:auto;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .2s ease-in-out,transform .22s ease-in-out;will-change:opacity,transform}.room-dropdown.open .room-dropdown-panel{opacity:1;transform:translateY(0) scale(1)}.room-dropdown-header h4{margin-bottom:6px;font-size:1.1rem;color:#fff;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.room-dropdown-header p{font-size:.85rem;color:#ffffffb3;line-height:1.4;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.room-options{display:flex;flex-direction:column;gap:10px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.room-option{width:100%;padding:12px 16px;border-radius:12px;border:1px solid rgba(0,255,204,.25);background:#141428d9;color:#fff;font-family:Orbitron,monospace;font-size:.9rem;text-align:left;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.room-option:hover{border-color:#0fc9;background:#141428f2}.room-option.active{border-color:#f0f9;background:#141428f2}#skin-panel .skin-preview-nav{position:absolute;left:50%;bottom:clamp(140px,28vh,320px);width:clamp(180px,60vw,260px);display:flex;justify-content:space-between;align-items:center;gap:clamp(16px,6vw,48px);transform:translate(-50%)}#skin-panel .skin-preview-nav .arrow-btn{width:clamp(28px,10vmin,52px);height:clamp(28px,10vmin,52px);cursor:pointer}#skin-panel #save-skin-btn{position:absolute;left:50%;bottom:clamp(48px,12vh,140px);transform:translate(-50%)}#skin-panel .build-logo{position:absolute;bottom:clamp(16px,8vh,40px);right:clamp(16px,6vw,40px);height:clamp(72px,18vmin,150px);cursor:pointer;transition:filter .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none}#skin-panel .build-logo:hover{filter:drop-shadow(0 0 10px rgba(255,255,255,.4))}#skin-panel .build-logo.clicked{animation:build-halo .6s ease}@keyframes build-halo{0%{filter:drop-shadow(0 0 0 rgba(255,255,255,.8))}to{filter:drop-shadow(0 0 20px rgba(255,255,255,0))}}.build-color-row,.build-actions{position:absolute;left:50%;transform:translate(-50%) translateY(20px);opacity:0;transition:opacity .3s ease,transform .3s ease;display:none;width:min(520px,92vw);justify-content:center;align-items:center;gap:10px;z-index:10}.build-color-row{top:50%;transform:translate(-50%) translateY(calc(-50% - min(400px,32vh)));flex-direction:column}.build-actions{bottom:clamp(20px,13vh,96px)}.build-color-row.visible,.build-actions.visible{display:flex;opacity:1;transform:translate(-50%) translateY(0)}.build-color-row.visible{transform:translate(-50%) translateY(calc(-50% - min(400px,32vh)))}@media (max-aspect-ratio: 3 / 4){#skin-panel .skin-preview-nav{bottom:clamp(120px,32vh,280px)}#skin-panel #save-skin-btn{bottom:clamp(40px,15vh,120px)}.build-actions{bottom:clamp(24px,16vh,120px)}}@media (min-aspect-ratio: 4 / 3){#skin-panel .skin-preview-nav{bottom:clamp(110px,22vh,220px)}#skin-panel #save-skin-btn{bottom:clamp(36px,10vh,96px)}.build-actions{bottom:clamp(20px,12vh,80px)}}.color-swatches{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.color-swatch{width:40px;height:40px;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.25);box-shadow:inset -3px -3px 6px #0009,inset 3px 3px 6px #ffffff4d;transition:transform .1s,box-shadow .1s}.color-swatch:hover{transform:scale(1.1);box-shadow:inset -2px -2px 4px #0009,0 0 5px #ffffffb3}.build-actions .secondary{background:#ffffff1a}@media (max-width: 700px){.menu-layout{flex-direction:column;align-items:center}.menu-layout>.side-logo{position:static;transform:none;margin-bottom:20px}}#hud{position:fixed;top:0;right:0;bottom:0;left:0;padding:clamp(12px,1.5vw,20px);pointer-events:none}.top-bar{position:relative;display:flex;align-items:center;gap:12px;justify-content:flex-start;pointer-events:all}@media (max-width: 768px){.top-bar{top:14px;left:14px}}.leaderboard{position:fixed;top:80px;right:20px;background:#141428e6;padding:20px;border-radius:15px;border:2px solid #00ffcc;min-width:250px;max-width:300px;pointer-events:all}.leaderboard h3{text-align:center;margin-bottom:15px;color:#0fc;font-size:1.1rem}#leaderboard-list{list-style:none}#leaderboard-list li{padding:8px;margin:5px 0;background:#1e1e3299;border-radius:8px;display:flex;justify-content:space-between;align-items:center}#leaderboard-list li.current-player{animation:glow 2s ease infinite}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0a0a0ffa;display:flex;align-items:center;justify-content:center;z-index:200}.loading-spinner{width:80px;height:80px;border:5px solid rgba(0,255,204,.3);border-top-color:#0fc;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}#death-screen{background:none;opacity:0;transition:opacity 1s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#death-screen.visible{opacity:1}#death-screen *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.death-title{font-size:min(3rem,6vh);color:#ff6b6b;margin-bottom:min(30px,4vh);font-weight:600}.death-title .glow{color:inherit}.death-stats{background:none;padding:0;border-radius:0;border:none;margin-bottom:min(20px,3vh)}.death-stats p{font-size:min(1.2rem,2.4vh);margin:min(10px,1.5vh) 0}.footer-links{display:flex;justify-content:center;gap:12px;margin-top:24px;width:100%;background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;padding:20px 0 40px;user-select:none;-webkit-user-select:none;-moz-user-select:none}.footer-links a{color:#ccc;text-decoration:none}#main-menu .footer-links{display:flex}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes glow{0%,to{box-shadow:0 0 10px #ff00ff80}50%{box-shadow:0 0 30px #f0fc}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (hover: none){.menu-screen *{transition:none!important}}@media (max-width: 768px){.game-title .glow{font-size:0}.skin-options{grid-template-columns:repeat(2,1fr)}.leaderboard{top:60px;right:10px;min-width:200px;padding:15px}.menu-screen{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#main-menu .menu-overlay-controls{padding:16px}}@media (max-width: 480px){.leaderboard{top:18px;right:10px;bottom:auto;left:auto;transform:none;width:min(260px,88vw);max-width:min(260px,88vw);min-width:0}.leaderboard h3{font-size:1rem}#main-menu .menu-overlay-controls{padding:12px 8px}}.blind-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#500078;pointer-events:none;opacity:0;visibility:hidden;z-index:1200;transition:opacity .35s ease-in-out}@media (min-height: 900px){.game-title .glow{font-size:0}}@media (min-height: 1400px){.game-title .glow{font-size:0}}@media (min-width: 768px) and (max-width: 1023px){.game-title .glow img{max-width:min(80vw,450px)}.game-title{margin-bottom:20px}}@media (min-width: 576px) and (max-width: 767px){.game-title .glow img{max-width:min(80vw,320px)}.game-title{margin-top:0;margin-bottom:20px}}@media (min-width: 320px) and (max-width: 575px){.game-title .glow img{max-width:60%}.game-title{margin-top:-10px;margin-bottom:20px}#join-room-btn{display:block;margin:12px auto 0}#graphics-toggle{right:8px}.room-controls h3,.room-btn{font-size:1rem}.play-button{font-size:16px;padding:12px 20px}.side-logo{left:8px}.rooms-logo{right:8px}.color-swatches{padding:20px}}@media (max-width: 389px){#player-name{width:100%;padding:12px;font-size:1rem}.game-title{margin-top:0;margin-bottom:20px}.tip-rotator{font-size:14px}.room-controls{padding:12px}.room-controls h3{font-size:15px}.room-btn{font-size:14px;padding:10px 16px}.play-button{font-size:14px;padding:12px 16px}.rooms-logo{right:6px;bottom:12px;height:clamp(70px,18vw,110px)}.room-dropdown{padding:16px}.room-dropdown-panel{width:min(92vw,360px);padding:24px}}@media (max-width: 768px) and (orientation: portrait){body.menu-active{overflow-y:hidden;height:100vh}body.menu-active #game-container,body.menu-active .menu-screen{height:100vh;min-height:100vh}@supports (height: 100dvh){body.menu-active{height:100dvh}body.menu-active #game-container,body.menu-active .menu-screen{height:100dvh;min-height:100dvh}}}
