:root{--font-primary: "Outfit", sans-serif;--font-retro: "Orbitron", sans-serif;--bg-dark: #0b0914;--bg-card: rgba(20, 16, 38, .65);--bg-card-border: rgba(255, 255, 255, .08);--bg-input: rgba(7, 5, 15, .8);--color-primary: #9b5de5;--color-secondary: #00f5d4;--color-success: #70e000;--color-danger: #e63946;--color-warning: #ff9f1c;--color-white: #f8f9fa;--color-muted: #8e94a5;--glow-purple: 0 0 20px rgba(155, 93, 229, .4);--glow-cyan: 0 0 20px rgba(0, 245, 212, .4);--glow-green: 0 0 20px rgba(112, 224, 0, .5);--glow-red: 0 0 20px rgba(230, 57, 70, .4);--transition-smooth: all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}html,body{background-color:var(--bg-dark);color:var(--color-white);font-family:var(--font-primary);overflow-x:hidden;height:100vh;width:100%;position:relative}#app{position:relative;width:100%;height:100%;overflow:hidden}.ambient-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;background:radial-gradient(circle at center,#130f26,#06050b)}.nexus-particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;background:transparent}.ambient-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:40px 40px;background-position:center;-webkit-mask-image:radial-gradient(circle,black,transparent 80%);mask-image:radial-gradient(circle,black,transparent 80%);pointer-events:none;animation:gridScroll 35s linear infinite}.glow-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.22;pointer-events:none}.glow-1{width:500px;height:500px;background-color:var(--color-primary);top:-100px;left:-100px;animation:floatOrb1 25s infinite alternate ease-in-out}.glow-2{width:600px;height:600px;background-color:var(--color-secondary);bottom:-150px;right:-100px;animation:floatOrb2 30s infinite alternate ease-in-out -5s}.glow-3{width:400px;height:400px;background-color:var(--color-danger);top:40%;left:50%;animation:floatOrb3 20s infinite alternate ease-in-out -10s}@keyframes gridScroll{0%{background-position:0px 0px}to{background-position:40px 40px}}@keyframes floatOrb1{0%{transform:translate(0) scale(1)}50%{transform:translate(120px,-60px) scale(1.1)}to{transform:translate(-40px,80px) scale(.9)}}@keyframes floatOrb2{0%{transform:translate(0) scale(1.1)}50%{transform:translate(-100px,80px) scale(.95)}to{transform:translate(80px,-40px) scale(1.15)}}@keyframes floatOrb3{0%{transform:translate(-50%,-50%) scale(.9)}50%{transform:translate(-30%,-60%) scale(1.1)}to{transform:translate(-70%,-40%) scale(.95)}}.lobby-container{position:relative;z-index:1;width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:2rem;transition:opacity .5s ease;overflow-y:auto;overflow-x:hidden}.screen{display:none;width:100%;max-width:1100px;animation:fadeIn .4s ease-out forwards}.screen.active{display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.game-header{text-align:center;margin-bottom:2.5rem}.logo-text{font-family:var(--font-retro);font-size:4rem;font-weight:900;letter-spacing:4px;color:var(--color-white);text-shadow:0 0 20px rgba(255,255,255,.15);margin-bottom:.5rem}.logo-text-small{font-family:var(--font-retro);font-size:2rem;font-weight:900;letter-spacing:2px;color:var(--color-white)}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(155,93,229,.3))}.subtitle{color:var(--color-muted);font-size:1.1rem;letter-spacing:2px;text-transform:uppercase}.entry-card-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:460px;margin:0 auto}@media (max-width: 768px){.entry-card-container{max-width:100%}.lobby-container{padding:.75rem;overflow-y:auto;overflow-x:hidden}.screen.active{padding-bottom:2rem}.room-header{padding:1rem}.chat-panel.horizontal-chat{padding:.75rem 1rem}}.create-action-wrapper{width:100%;display:flex;flex-direction:column;gap:.75rem;align-items:center}.create-toggle-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.75rem 1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:var(--transition-smooth)}.create-toggle-row:hover{background:#ffffff0d;border-color:#ffffff14}.create-toggle-row .toggle-text{font-size:.85rem;font-family:var(--font-body);color:var(--color-muted);font-weight:500;-webkit-user-select:none;user-select:none}.btn-large-lobby{width:100%;padding:1.25rem 2rem;font-size:1.3rem;font-family:var(--font-retro);font-weight:800;border-radius:14px}.lobby-divider{display:flex;align-items:center;width:100%;color:var(--color-muted);font-size:.85rem;font-family:var(--font-retro);font-weight:800;letter-spacing:2px}.lobby-divider:before,.lobby-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.lobby-divider span{padding:0 1rem}.join-action-card{width:100%;background:var(--bg-card);border:1px solid var(--bg-card-border);border-radius:14px;padding:1.25rem 1.5rem!important}.join-form-row{display:flex;gap:.75rem;align-items:center;width:100%}.join-form-row .form-group{flex:1.2;margin-bottom:0}.join-form-row .code-input{width:100%;padding:.95rem 1rem;font-size:1.15rem;letter-spacing:4px;text-align:center;font-family:var(--font-retro);background:var(--bg-input);border:1px solid var(--bg-card-border);border-radius:10px;color:var(--color-white);outline:none;transition:var(--transition-smooth)}.join-form-row .code-input:focus{border-color:var(--color-secondary);box-shadow:0 0 10px #00f5d433}.btn-join-lobby{flex:1;padding:.95rem 1.5rem;font-size:1rem;border-radius:10px}.entry-card{background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;padding:2.5rem;display:flex;flex-direction:column;transition:var(--transition-smooth)}.entry-card h2{font-family:var(--font-retro);font-size:1.7rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;text-align:center;position:relative}.entry-card h2:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:50px;height:3px;border-radius:2px}.card-glow-purple h2:after{background-color:var(--color-primary);box-shadow:0 0 8px var(--color-primary)}.card-glow-cyan h2:after{background-color:var(--color-secondary);box-shadow:0 0 8px var(--color-secondary)}.entry-card:hover{transform:translateY(-5px);border-color:#ffffff26}.card-glow-purple:hover{box-shadow:var(--glow-purple)}.card-glow-cyan:hover{box-shadow:var(--glow-cyan)}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column}.form-group label,.avatar-selection-wrapper label{color:var(--color-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.6rem;font-weight:600}input[type=text]{background:var(--bg-input);border:1.5px solid rgba(255,255,255,.1);color:var(--color-white);padding:1rem 1.2rem;border-radius:12px;font-family:var(--font-primary);font-size:1.05rem;transition:var(--transition-smooth);width:100%}input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 10px #9b5de533}.card-glow-cyan input[type=text]:focus{border-color:var(--color-secondary);box-shadow:0 0 10px #00f5d433}.code-input{font-family:var(--font-retro)!important;font-size:1.8rem!important;text-align:center;letter-spacing:6px;font-weight:700}.avatar-selection-wrapper{margin-bottom:2rem}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.avatar-item{aspect-ratio:1;background:#ffffff08;border:2px solid transparent;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth);padding:8px}.avatar-item svg{width:80%;height:80%;transition:var(--transition-smooth)}.avatar-item:hover{background:#ffffff14;transform:scale(1.05)}.avatar-item.selected{background:#9b5de526;border-color:var(--color-primary);box-shadow:0 0 12px #9b5de54d}.card-glow-cyan .avatar-item.selected{background:#00f5d41f;border-color:var(--color-secondary);box-shadow:0 0 12px #00f5d44d}.avatar-item.selected svg{transform:scale(1.1)}.btn{font-family:var(--font-retro);font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:1.1rem 2rem;border:none;border-radius:12px;cursor:pointer;transition:var(--transition-smooth);position:relative;overflow:hidden}.btn span{position:relative;z-index:2}.btn-icon-left{display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.btn-icon-left svg{position:relative;z-index:2;flex-shrink:0}.btn-icon-only{padding:0;width:3.65rem;height:3.65rem;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.btn-icon-only svg{position:relative;z-index:2;transition:var(--transition-smooth)}.btn-icon-only:hover svg{transform:scale(1.18)}.btn-danger.btn-icon-only{color:#060e00!important}.btn-danger.btn-icon-only:hover{box-shadow:0 0 15px #e6394699}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:.5s;z-index:1}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,#823cd0 0%,var(--color-primary) 100%);color:var(--color-white)}.btn-secondary{background:linear-gradient(135deg,#00d2b4 0%,var(--color-secondary) 100%);color:#051412}.btn-success{background:linear-gradient(135deg,#5fc000 0%,var(--color-success) 100%);color:#060e00}.btn-danger{background:linear-gradient(135deg,#c42733 0%,var(--color-danger) 100%);color:var(--color-white)}.btn-glow-purple:hover:not(:disabled){box-shadow:var(--glow-purple)}.btn-glow-cyan:hover:not(:disabled){box-shadow:var(--glow-cyan)}.btn-glow-green:hover:not(:disabled){box-shadow:var(--glow-green)}.room-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:1.25rem 2rem;margin-bottom:1.5rem}.room-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem}.header-divider{width:1px;height:24px;background:#ffffff1a}.room-actions{display:flex;align-items:center;gap:.75rem}.room-actions .btn-success{padding:.6rem 1.25rem;font-size:.9rem}.room-actions .btn-icon-only{width:2.8rem;height:2.8rem}@media (max-width: 900px){.room-header{flex-direction:column;gap:1rem;padding:1.5rem}.room-header-actions{flex-direction:column;gap:1rem;width:100%}.header-divider{display:none}}.room-code-display{display:flex;align-items:center;gap:1rem}.code-label{font-size:.8rem;color:var(--color-muted);font-weight:800;letter-spacing:1.5px}.code-value-container{display:flex;align-items:center;background:var(--bg-input);border:1px solid rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:8px;gap:.75rem}.code-value{font-family:var(--font-retro);font-size:1.6rem;font-weight:900;color:var(--color-secondary);letter-spacing:2px;text-shadow:0 0 10px rgba(0,245,212,.3);width:100px;text-align:center;display:inline-block;text-transform:uppercase;font-variant-numeric:tabular-nums}.btn-copy{background:transparent;border:none;color:var(--color-muted);cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;position:relative}.btn-copy:hover{color:var(--color-white);transform:scale(1.1)}.btn-copy:after{content:"Copied!";position:absolute;bottom:135%;left:50%;transform:translate(-50%) translateY(5px);background:#141026f2;border:1px solid var(--bg-card-border);color:var(--color-success);padding:4px 8px;border-radius:6px;font-family:var(--font-primary);font-size:.7rem;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 4px 10px #0006;z-index:10}.btn-copy:before{content:"";position:absolute;bottom:120%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:var(--bg-card-border) transparent transparent transparent;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10}.btn-copy.copied{color:var(--color-success)}.btn-copy.copied:after{opacity:1;transform:translate(-50%) translateY(0)}.btn-copy.copied:before{opacity:1}.room-layout{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:.75rem}.players-panel{background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:1rem;height:420px;display:flex;flex-direction:column}.chat-panel.horizontal-chat{background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:1rem 1.5rem;height:380px;display:flex;flex-direction:column;margin-top:.75rem}.horizontal-chat .panel-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.5rem;margin-bottom:.5rem}.chat-messages{flex-grow:1;overflow-y:auto;margin-bottom:.75rem;padding-right:.5rem;display:flex;flex-direction:column;gap:.6rem}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff40}.chat-form{display:flex;gap:.75rem;flex-shrink:0}.chat-input{flex-grow:1;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.65rem 1rem;color:var(--color-white);font-family:var(--font-primary);font-size:.95rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.chat-input:focus{border-color:var(--color-cyan);box-shadow:0 0 10px #00f5d426}.chat-send-btn{padding:0 1.5rem;height:auto;font-family:var(--font-retro);font-size:.9rem}.chat-message-row{background:#ffffff05;border-radius:8px;padding:.25rem .6rem;border-left:3px solid rgba(255,255,255,.1);word-break:break-word;line-height:1.4;font-size:.9rem}.chat-message-sender{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;margin-right:.4rem}.chat-message-time{color:var(--color-muted);font-size:.75rem;font-weight:400;flex-shrink:0;margin-right:.5rem}.chat-message-body{color:#fffffff2;font-family:var(--font-primary);font-size:.9rem;line-height:1.4;display:inline}.chat-message-row.system-msg{border-left-color:var(--color-secondary);background:#00f5d40d}.chat-message-row.system-msg .chat-message-body{color:var(--color-secondary);font-style:italic}.panel-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:1rem;margin-bottom:1.5rem}.panel-header h3{font-family:var(--font-retro);font-size:1.1rem;font-weight:700;letter-spacing:1px}.player-count-badge{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);padding:.2rem .6rem;border-radius:6px;font-size:.85rem;font-weight:700;color:var(--color-white);font-family:var(--font-primary);letter-spacing:.5px;min-width:60px;text-align:center}.player-count-display{display:flex;flex-direction:column;gap:.25rem;align-items:center}.count-label{font-size:.65rem;font-weight:800;color:var(--color-muted);letter-spacing:1px}.code-actions{display:flex;gap:.5rem;margin-left:.75rem}.btn-toggle-code,.btn-copy{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--color-white);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-toggle-code:hover,.btn-copy:hover{background:#ffffff1f;transform:translateY(-1px)}.code-value.masked{cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s ease;letter-spacing:2px;color:var(--color-muted);opacity:.8;font-size:2.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;height:1.6rem;margin-top:-.2rem}.code-value.masked:hover{opacity:.7}.players-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(5,1fr);gap:.75rem;overflow-y:auto;flex-grow:1;padding:.5rem}@media (max-width: 800px){.players-grid{grid-template-columns:1fr;grid-template-rows:repeat(10,1fr);height:840px}.players-panel{height:auto;min-height:420px}}.players-grid::-webkit-scrollbar{width:6px}.players-grid::-webkit-scrollbar-track{background:transparent}.players-grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.players-grid::-webkit-scrollbar-thumb:hover{background:#ffffff40}.player-card{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:.45rem 1rem;display:flex;flex-direction:row;align-items:center;position:relative;transition:var(--transition-smooth);border-left:3px solid var(--color-muted);min-width:0;gap:1rem;overflow:hidden}.player-card.is-me{background:#ffffff14!important;position:relative}.player-card.is-me:after{content:"";position:absolute;top:15%;right:0;width:3px;height:70%;background:var(--player-glow-color, var(--color-primary));border-radius:3px 0 0 3px;box-shadow:0 0 8px var(--player-glow-color, var(--color-primary))}.player-card:hover{transform:translateY(-2px);background:#ffffff0f}.player-score-badge{background:#9b5de51a;border:1px solid rgba(155,93,229,.3);color:var(--color-primary);font-family:var(--font-retro);font-size:.7rem;font-weight:800;padding:.2rem .5rem;border-radius:4px;margin-left:auto;min-width:50px;text-align:center;text-transform:uppercase}.placeholder-card{opacity:.4;background:#ffffff03;cursor:default;border-left-style:solid}.placeholder-card:hover{transform:none;background:#ffffff03}.placeholder-avatar{background:#ffffff0d;border:1px dashed rgba(255,255,255,.1);border-radius:50%;width:48px;height:48px}.player-card-info{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1;min-width:0}.player-card-name{display:flex;align-items:center;gap:.35rem;font-weight:600;font-size:.95rem;text-align:left;width:100%;max-width:100%;margin-bottom:.15rem;box-sizing:border-box}.player-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.player-card-status{font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.5px;text-align:left}.host-badge{color:var(--color-warning);display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 3px rgba(255,159,28,.5));flex-shrink:0;margin-left:.5rem}.customizer-content{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto}.customizer-content .avatar-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.room-footer{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:1.5rem 2rem}@media (max-width: 640px){.room-footer{flex-direction:column;gap:1.25rem;text-align:center}}.lobby-status-msg{background:#0000004d;border:1px solid rgba(255,255,255,.05);padding:.6rem 1.25rem;border-radius:8px;color:var(--color-muted);font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:var(--font-primary);letter-spacing:.5px;min-height:40px;margin-bottom:.5rem}.lobby-status-msg .pulse{animation:statusPulse 1s infinite ease-in-out;display:inline-block;font-family:var(--font-retro)}@keyframes statusPulse{0%{transform:scale(1);opacity:1;filter:brightness(1)}50%{transform:scale(1.05);opacity:.8;filter:brightness(1.3)}to{transform:scale(1);opacity:1;filter:brightness(1)}}.lobby-status-msg:before{content:"";display:inline-block;width:8px;height:8px;background-color:var(--color-warning);border-radius:50%;box-shadow:0 0 10px var(--color-warning)}.lobby-countdown-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0b0914cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;justify-content:center;align-items:center;pointer-events:none}.countdown-card{background:var(--bg-card);border:2px solid var(--color-warning);padding:3rem 5rem;border-radius:24px;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 0 50px #ff9f1c4d;animation:countdownPop .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes countdownPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.countdown-label{font-family:var(--font-primary);font-size:1.25rem;font-weight:800;color:var(--color-warning);letter-spacing:4px;text-transform:uppercase}.countdown-number{font-family:var(--font-retro);font-size:8rem;font-weight:900;color:var(--color-white);line-height:1;text-shadow:0 0 30px rgba(255,255,255,.5);animation:numberPulse 1s infinite alternate ease-in-out}@keyframes numberPulse{0%{transform:scale(.95);opacity:.8}to{transform:scale(1.05);opacity:1}}.footer-actions{display:flex;align-items:stretch;gap:1rem}.game-container{display:none;width:100%;height:100%;position:absolute;top:0;left:0;z-index:10;background-color:#000}.game-container.active{display:block}.game-placeholder-screen{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at center,#1b0a2a,#06020c);color:var(--color-white);padding:2rem}.game-started-alert{text-align:center;max-width:500px}.font-large{font-size:3rem!important}.pulse{animation:textPulse 1.5s infinite alternate ease-in-out}@keyframes textPulse{0%{text-shadow:0 0 10px rgba(155,93,229,.4);transform:scale(.98)}to{text-shadow:0 0 30px rgba(155,93,229,.8),0 0 50px rgba(0,245,212,.4);transform:scale(1.02)}}.loading-bar{width:100%;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden;margin:1.5rem 0}.loading-progress{height:100%;width:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:3px;animation:loadingProgress 3s infinite linear;transform-origin:left}.results-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0b0914d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;padding:2rem;animation:fadeIn .4s ease-out forwards}.results-card{background:var(--bg-card);border:1px solid var(--bg-card-border);border-radius:24px;width:100%;max-width:800px;padding:3rem;box-shadow:0 20px 50px #00000080,var(--glow-purple)}.results-header{text-align:center;margin-bottom:2.5rem}.results-title{font-family:var(--font-retro);font-size:3rem;font-weight:900;letter-spacing:4px;margin-bottom:1rem;text-shadow:0 0 20px rgba(155,93,229,.4)}.results-divider{height:4px;width:120px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));margin:0 auto;border-radius:2px}.results-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.5rem;max-height:400px;overflow-y:auto;padding-right:8px}.results-list::-webkit-scrollbar{width:6px}.results-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.results-list::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.result-item{display:flex;align-items:center;padding:1rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:16px;gap:1.25rem;transition:var(--transition-smooth)}.result-item:hover{background:#ffffff0f;transform:translate(5px);border-color:#ffffff1a}.result-rank{font-family:var(--font-retro);font-size:1.75rem;font-weight:900;width:50px;text-align:center}.result-rank.rank-1{color:#ffca28;text-shadow:0 0 15px rgba(255,202,40,.4)}.result-rank.rank-2{color:#e0e0e0;text-shadow:0 0 15px rgba(224,224,224,.4)}.result-rank.rank-3{color:#cd7f32;text-shadow:0 0 15px rgba(205,127,50,.4)}.result-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.2);display:flex;justify-content:center;align-items:center;background:#ffffff0d}.result-avatar svg,.result-avatar img{width:100%;height:100%;object-fit:cover}.result-name{flex:1;font-size:1.25rem;font-weight:600;letter-spacing:.5px}.result-score{font-family:var(--font-retro);font-size:1.1rem;color:var(--color-secondary);font-weight:700;background:#00f5d41a;padding:.4rem .8rem;border-radius:10px}.results-footer{text-align:center;color:var(--color-muted);font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.85rem}#results-timer{color:var(--color-warning);font-family:var(--font-retro);font-size:1rem}@keyframes loadingProgress{0%{transform:scaleX(0)}50%{transform:scaleX(.7)}to{transform:scaleX(1)}}.profile-preview-wrapper{margin-top:1.5rem;display:flex;flex-direction:column}.profile-preview-card{background:var(--bg-input);border:1.5px dashed rgba(255,255,255,.15);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.avatar-preview-display{width:96px;height:96px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 10px rgba(255,255,255,.15));transition:var(--transition-smooth)}.avatar-preview-display svg{width:100%;height:100%}.avatar-preview-caption{font-size:.8rem;color:var(--color-muted);text-align:center;font-weight:500}.setup-container{display:flex;justify-content:center;width:100%}.setup-card{background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;padding:2.5rem;display:flex;flex-direction:column;align-items:center;max-width:450px;width:100%;box-shadow:var(--glow-purple)}.setup-card h2{font-family:var(--font-retro);font-size:1.5rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;text-align:center}.canvas-wrapper{margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center;width:100%}.canvas-container{background:#000;border:2px solid rgba(255,255,255,.15);border-radius:16px;overflow:hidden;box-shadow:inset 0 0 15px #000000e6;cursor:crosshair;position:relative;width:164px;height:164px}.canvas-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:10px 10px;pointer-events:none}.canvas-tools{display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:1rem;gap:1rem}.canvas-action-buttons{display:flex;gap:.5rem;align-items:center}.btn-tool-clear{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--color-white);padding:.5rem 1rem;border-radius:8px;font-family:var(--font-retro);font-size:.85rem;cursor:pointer;transition:var(--transition-smooth)}.btn-tool-clear:hover{background:var(--color-danger);border-color:var(--color-danger)}.btn-tool-random{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--color-white);padding:.4rem .8rem;border-radius:8px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.btn-tool-random:hover{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--glow-purple);animation:diceRoll .5s infinite linear}.color-palette-draw{display:flex;gap:.5rem}.color-swatch{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:var(--transition-smooth)}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:#fff;box-shadow:0 0 8px currentColor}.entry-top-bar{display:none;position:fixed;top:1.5rem;left:1.5rem;background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:.75rem 1.25rem;margin:0;width:auto;min-width:260px;z-index:100}#entry-screen.active~.entry-top-bar,#room-screen.active~.entry-top-bar{display:block}#room-screen.active~.entry-top-bar #btn-edit-profile{display:none}.profile-summary-header{display:flex;justify-content:space-between;align-items:center}.summary-info{display:flex;align-items:center;gap:1rem}.summary-avatar-img{width:56px;height:56px;background:#000;border-radius:8px;border:1px solid rgba(255,255,255,.15);overflow:hidden}.summary-avatar-img img{width:100%;height:100%;object-fit:contain}.summary-text-block{display:flex;align-items:center;gap:.5rem}#summary-nickname{font-family:var(--font-primary);font-size:1.25rem;font-weight:700;color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.player-tag-chip{display:inline-block;font-family:var(--font-primary);font-size:.7rem;font-weight:600;color:var(--color-muted);background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:2px 6px;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;line-height:1;flex-shrink:0}.summary-actions{display:flex;align-items:center;gap:.5rem;margin-left:1.5rem;flex-shrink:0}.btn-show-bans-icon{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-muted);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth);flex-shrink:0}.btn-show-bans-icon:hover{background:#e639461a;border-color:#e639464d;color:var(--color-danger)}.btn-edit-profile-icon{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-muted);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth);flex-shrink:0}@media (max-width: 768px){.entry-top-bar{top:1rem;left:1rem;padding:.5rem .75rem;min-width:0;max-width:calc(100% - 2rem)}.profile-summary-header{gap:1rem}.summary-avatar-img{width:40px;height:40px}#summary-nickname{font-size:1.05rem;max-width:160px}.summary-actions{margin-left:1rem;gap:.35rem}.btn-edit-profile-icon,.btn-show-bans-icon{width:28px;height:28px;margin-left:0}.btn-edit-profile-icon svg,.btn-show-bans-icon svg{width:14px;height:14px}}.btn-edit-profile-icon:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:var(--glow-purple);transform:scale(1.05)}.card-desc{color:var(--color-muted);font-size:.95rem;line-height:1.5;margin-bottom:2rem;text-align:center}.dual-avatar-container{position:relative;width:44px;height:44px}.player-drawn-avatar{width:38px;height:38px;background:#000;border-radius:6px;border:1.5px dashed rgba(255,255,255,.15);overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 6px #0000004d}.player-drawn-avatar img{width:100%;height:100%;object-fit:contain}.player-lobby-avatar{width:18px;height:18px;position:absolute;bottom:-2px;right:-2px;background:#0b0914;border-radius:50%;border:1.5px solid #141026;display:flex;align-items:center;justify-content:center;padding:1px;box-shadow:0 2px 4px #00000080}.player-lobby-avatar svg{width:100%;height:100%}@keyframes diceRoll{0%{transform:translate(0) scale(1.1) rotate(0)}15%{transform:translate(-2px,2px) rotate(-12deg) scale(1.1)}30%{transform:translate(2px,-2px) rotate(14deg) scale(1.1)}45%{transform:translate(-2px,-2px) rotate(-14deg) scale(1.1)}60%{transform:translate(2px,2px) rotate(12deg) scale(1.1)}75%{transform:translate(-1px,1px) rotate(-6deg) scale(1.1)}90%{transform:translate(1px,-1px) rotate(6deg) scale(1.1)}to{transform:translate(0) scale(1.1) rotate(0)}}.canvas-mode-selector{display:flex;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:3px;margin-bottom:1rem;width:100%;max-width:300px}.btn-mode{flex:1;background:transparent;border:none;color:var(--color-muted);padding:.5rem;border-radius:7px;font-family:var(--font-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-mode:hover{color:var(--color-white)}.btn-mode.active{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 10px #9b5de54d}.transform-controls{margin-top:1.25rem;width:100%;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:modeFadeIn .25s ease-out}@keyframes modeFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.slider-group{display:flex;flex-direction:column;width:100%;gap:.4rem}.slider-group label{font-size:.8rem;color:var(--color-muted);display:flex;justify-content:space-between;width:100%;font-weight:600;text-transform:uppercase;letter-spacing:.5px}#scale-value{color:var(--color-secondary);font-family:var(--font-retro);font-size:.9-rem}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;margin:.4rem 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-secondary);cursor:pointer;box-shadow:0 0 8px var(--color-secondary);transition:var(--transition-smooth)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);background:#fff;box-shadow:0 0 12px #fff}.transform-tip{font-size:.75rem;color:var(--color-muted);font-style:italic;margin-top:.2rem;text-align:center}.host-actions{display:flex;gap:.35rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%) translate(10px);opacity:0;pointer-events:none;transition:all .2s ease;z-index:5;background:#0a0a14cc;padding:.3rem;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.player-card:hover .host-actions{opacity:1;pointer-events:all;transform:translateY(-50%) translate(0)}.btn-kick,.btn-ban{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1rem;border-radius:6px;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:var(--transition-smooth);padding:0}.btn-kick{background:#ff9f1c1a;color:var(--color-warning);border-color:#ff9f1c33}.btn-kick:hover{background:var(--color-warning);color:#000;box-shadow:0 0 8px #ff9f1c4d}.btn-ban{background:#e639461a;color:var(--color-danger);border-color:#e6394633}.btn-ban:hover{background:var(--color-danger);color:#fff;box-shadow:0 0 8px #e639464d}.banned-section{margin-top:1.5rem;border-top:1px dashed rgba(255,255,255,.1);padding-top:1.25rem}.btn-toggle-banned{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--color-white);width:100%;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-primary);font-size:.85rem;font-weight:700;transition:var(--transition-smooth);box-sizing:border-box}.btn-toggle-banned:hover{background:#ffffff12;border-color:#ffffff26}.toggle-banned-title{display:flex;align-items:center;gap:.5rem}.banned-count-badge{background:var(--color-danger);color:#fff;font-size:.75rem;font-weight:700;padding:1px 6px;border-radius:10px;display:inline-block;line-height:1.2}.btn-toggle-banned .chevron-icon{transition:transform .3s ease;color:var(--color-muted)}.btn-toggle-banned.expanded .chevron-icon{transform:rotate(180deg)}.banned-players-content{margin-top:.75rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.banned-list{display:flex;flex-wrap:wrap;gap:.5rem}.banned-player-tag{background:#e639461a;border:1px solid rgba(230,57,70,.3);padding:.35rem .6rem .35rem .8rem;border-radius:20px;font-size:.8rem;display:flex;align-items:center;gap:.5rem;color:var(--color-white);box-shadow:0 2px 6px #0003}.btn-unban{background:transparent;border:none;color:var(--color-danger);cursor:pointer;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 2px;font-size:.95rem;transition:var(--transition-smooth)}.btn-unban:hover{color:var(--color-white);transform:scale(1.2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#07050fd1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{background:#141026d9;border:1px solid var(--bg-card-border);box-shadow:0 15px 40px #0009,0 0 30px #9b5de51a;border-radius:16px;padding:2.25rem 2.5rem;max-width:400px;width:90%;text-align:center;transform:scale(.9);transition:transform .3s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.modal-overlay.active .modal-card{transform:scale(1)}.modal-title{font-family:var(--font-retro);font-size:1.4rem;color:var(--color-white);margin-bottom:.8rem;letter-spacing:1px}.modal-message{color:var(--color-muted);font-size:.95rem;line-height:1.5;margin-bottom:2rem}.modal-actions{display:flex;justify-content:center;gap:1.25rem}.modal-actions .btn{padding:.8rem 1.8rem;font-size:1rem}.join-action-card{position:relative}.join-action-card:hover{transform:none}.join-error-msg{position:absolute;top:100%;left:0;width:100%;opacity:0;pointer-events:none;color:var(--color-danger);font-size:.95rem;font-weight:600;text-align:center;transition:opacity .3s ease,transform .3s cubic-bezier(.25,.8,.25,1);transform:translateY(0);text-shadow:0 0 8px rgba(230,57,70,.3);margin-top:0}.join-error-msg.show{opacity:1;transform:translateY(8px)}@keyframes cardShake{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(-8px)}30%,60%,90%{transform:translate(8px)}}.shake{animation:cardShake .4s ease-in-out}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;max-width:380px;width:90%;pointer-events:none}.toast{background:#141026e6;border:1px solid var(--bg-card-border);box-shadow:0 10px 25px #00000080;border-radius:10px;padding:1rem 1.25rem;color:var(--color-white);font-size:.95rem;font-weight:500;pointer-events:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translate(120%);opacity:0;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease}.toast.show{transform:translate(0);opacity:1}.toast.hide{transform:translate(120%) scale(.9);opacity:0}.toast-success{border-left:4px solid var(--color-success);box-shadow:0 10px 25px #00000080,0 0 15px #70e00026}.toast-danger{border-left:4px solid var(--color-danger);box-shadow:0 10px 25px #00000080,0 0 15px #e6394626}.toast-warning{border-left:4px solid var(--color-warning);box-shadow:0 10px 25px #00000080,0 0 15px #ff9f1c26}.toast-info{border-left:4px solid var(--color-secondary);box-shadow:0 10px 25px #00000080,0 0 15px #00f5d426}.banned-modal-list{display:flex;flex-direction:column;gap:.5rem}.banned-modal-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;border:1px solid rgba(255,255,255,.08);padding:.75rem 1rem;border-radius:10px;box-sizing:border-box}.banned-modal-item span{font-family:var(--font-primary);font-size:.95rem;font-weight:600;color:var(--color-white)}.settings-card{max-width:600px;width:90%;text-align:left;padding:2rem;background:#0f0c1cfa;border:1px solid rgba(155,93,229,.3);box-shadow:0 20px 50px #000000e6;overflow:hidden}.settings-card .modal-title{text-align:left;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem;font-size:1.4rem}.settings-scroll-area{max-height:65vh;overflow-y:auto;overflow-x:hidden;padding-right:1rem;margin:0;width:100%}.settings-scroll-area::-webkit-scrollbar{width:4px}.settings-scroll-area::-webkit-scrollbar-thumb{background:#9b5de580;border-radius:10px}.settings-section{margin-bottom:2rem}.settings-section h4{font-family:var(--font-retro);font-size:.7rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:1.25rem;display:flex;align-items:center;gap:1rem}.settings-section h4:after{content:"";flex-grow:1;height:1px;background:#ffffff1a}.setting-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:1rem;width:100%}.setting-info{display:flex;flex-direction:column;gap:.15rem;flex-grow:1;min-width:0}.setting-label{font-weight:700;font-size:.9rem;color:var(--color-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setting-desc{font-size:.7rem;color:var(--color-muted);line-height:1.2}.toggle-switch{position:relative;display:inline-block;width:36px;height:18px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.2s;border-radius:20px}.toggle-slider:before{position:absolute;content:"";height:12px;width:12px;left:3px;bottom:3px;background-color:var(--color-white);transition:.2s;border-radius:50%}input:checked+.toggle-slider{background-color:var(--color-primary)}input:checked+.toggle-slider:before{transform:translate(18px)}.slider-with-value{display:flex;align-items:center;gap:.75rem;flex-shrink:0;min-width:160px;justify-content:flex-end}.slider-value-label{font-family:var(--font-retro);font-size:.75rem;color:var(--color-primary);min-width:40px;text-align:right}.settings-slider{-webkit-appearance:none;width:100px;height:4px;background:#ffffff1a;border-radius:2px;outline:none;flex-shrink:0}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--color-white);cursor:pointer;border-radius:50%;border:2px solid var(--color-primary)}.settings-select{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:var(--color-white);padding:.3rem .6rem;border-radius:4px;font-family:var(--font-primary);font-size:.8rem;outline:none}.setting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;margin-top:.5rem}.checkbox-container{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.85rem;color:var(--color-muted);background:#ffffff08;padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}.checkbox-container:hover{background:#ffffff0f;border-color:#ffffff1a}.checkbox-container input{accent-color:var(--color-primary);width:16px;height:16px}.global-game-controls{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;gap:.8rem}.btn-mute-toggle{width:50px;height:50px;border-radius:50%;background:var(--bg-card);border:1px solid var(--bg-card-border);color:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #0000004d}.btn-mute-toggle:hover{transform:scale(1.1);border-color:var(--color-primary);box-shadow:0 0 15px #9b5de54d}.btn-mute-toggle.muted{color:var(--color-danger);border-color:#e639464d}.audio-icon{transition:transform .2s ease}.btn-mute-toggle:active .audio-icon{transform:scale(.8)}.btn-settings-icon{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--color-muted);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-settings-icon:hover{background:#ffffff1a;color:var(--color-white)}.font-small{font-size:.75rem!important}.font-normal{font-size:.9rem!important}.font-large{font-size:1.1rem!important}.high-contrast{--bg-card: #000000;--bg-input: #000000;--color-muted: #ffffff;--bg-card-border: #ffffff}.high-contrast .glow-orb,.high-contrast .ambient-bg{display:none}.profanity-chip{background:#e639461f;color:var(--color-danger);padding:.1rem .4rem;border-radius:4px;font-size:.65rem;font-weight:800;text-transform:uppercase;border:1px solid rgba(230,57,70,.25);display:inline-flex;align-items:center;margin:0 .15rem;vertical-align:middle;letter-spacing:.5px;line-height:1;-webkit-user-select:none;user-select:none;font-family:var(--font-retro)}.btn-hint{display:inline-flex;align-items:center;justify-content:center;background:#0006;color:#fff;font-size:10px;padding:2px 7px;border-radius:4px;border:1px solid rgba(255,255,255,.4);font-family:var(--font-secondary);font-weight:800;pointer-events:none;opacity:.9;letter-spacing:.8px;margin-left:10px;vertical-align:middle;transition:all .2s ease;box-shadow:0 2px 4px #0003}.btn:hover .btn-hint{opacity:1;color:var(--color-white);border-color:#fffc;background:#0009;transform:translateY(-1px)}.btn-large-lobby .btn-hint{font-size:14px;padding:3px 8px;margin-left:15px}.btn-large-lobby,.btn-join-lobby{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.chat-host-actionable-name{cursor:pointer;transition:all .2s ease;position:relative}.chat-host-actionable-name:hover{text-decoration:underline;filter:brightness(1.2)}.chat-context-menu{position:fixed;display:none;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 30px #00000080,0 0 20px #0003;z-index:10000;min-width:160px;padding:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:menuFadeIn .15s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.context-menu-item{padding:.75rem 1rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.75rem;font-family:var(--font-primary);font-size:.85rem;font-weight:600;color:var(--color-white);transition:all .2s ease}.context-menu-item:hover{background:#ffffff14}.context-menu-item.danger{color:#ff4d4d}.context-menu-item.danger:hover{background:#ff4d4d26}.context-menu-item .icon{font-size:1rem}.fullscreen-tooltip{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:#0b0914d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(155,93,229,.4);box-shadow:0 8px 32px #0000005e,0 0 15px #9b5de533;border-radius:50px;color:var(--color-white);font-family:var(--font-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);animation:tooltipSlideIn .5s ease-out}.fullscreen-tooltip:hover{border-color:var(--color-secondary);box-shadow:0 8px 32px #00000080,0 0 20px #00f5d466;transform:translate(-50%) translateY(-2px)}.fullscreen-tooltip kbd{background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:.2rem .4rem;font-family:inherit;font-size:.8rem;color:var(--color-secondary);box-shadow:0 2px #0003}.btn-fullscreen-dismiss{background:none;border:none;color:var(--color-muted);font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.btn-fullscreen-dismiss:hover{color:var(--color-danger)}@keyframes tooltipSlideIn{0%{opacity:0;transform:translate(-50%,-30px)}to{opacity:1;transform:translate(-50%)}}.version-badge{position:fixed;bottom:12px;left:12px;font-family:var(--font-retro);font-size:.7rem;font-weight:700;color:#ffffff40;background:#00000040;border:1px solid rgba(255,255,255,.04);padding:.25rem .5rem;border-radius:6px;pointer-events:auto;-webkit-user-select:none;user-select:none;z-index:9999;letter-spacing:.5px;transition:var(--transition-smooth)}.version-badge:hover{color:#ffffffa6;background:#00000073;border-color:#ffffff1f;box-shadow:0 0 10px #ffffff0d}.game-splash-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;pointer-events:none;display:flex;justify-content:center;align-items:center}.splash-card{background:#16122bd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:24px;width:420px;padding:2.5rem;box-shadow:0 20px 50px #00000080,var(--glow-cyan);display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:hidden;pointer-events:auto;animation:splashZoomIn .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes splashZoomIn{0%{opacity:0;transform:scale(.8) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.splash-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary))}.splash-header{display:flex;justify-content:space-between;align-items:center;width:100%;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.75rem}.splash-title{font-family:var(--font-retro);font-size:1.75rem;font-weight:900;letter-spacing:2px;margin:0;text-transform:uppercase;text-shadow:0 0 20px rgba(0,245,212,.3)}.splash-countdown-timer{font-family:var(--font-retro);font-size:2.5rem;font-weight:900;color:var(--color-primary);text-shadow:0 0 20px rgba(230,57,70,.5);background:#e639461a;border:1px solid rgba(230,57,70,.2);width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;line-height:1;animation:pulse 1s infinite alternate}.splash-description{font-family:var(--font-standard);font-size:.95rem;line-height:1.6;color:var(--color-text-muted);margin:0;text-align:left}.splash-controls{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid rgba(255,255,255,.08);padding-top:.75rem;text-align:left}.control-label{font-family:var(--font-retro);font-size:.75rem;font-weight:700;letter-spacing:2px;color:var(--color-secondary);text-transform:uppercase}.control-keys{display:flex;align-items:center;gap:.75rem}.key-group{display:flex;gap:.25rem}.key-badge{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:6px;font-family:var(--font-retro);font-size:.85rem;font-weight:700;padding:.25rem .5rem;min-width:24px;text-align:center;color:#fff;box-shadow:0 2px #0000004d}.control-or{font-family:var(--font-retro);font-size:.7rem;font-weight:700;color:#ffffff4d}.game-hud{position:absolute;top:0;left:0;right:0;height:70px;background:linear-gradient(180deg,#0b0914e6,#0b091466 70%,#0b091400);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center;padding:0 3rem;z-index:900;pointer-events:none}.hud-left,.hud-center,.hud-right{display:flex;align-items:center}.hud-phase{font-family:var(--font-retro);font-size:1.1rem;font-weight:700;letter-spacing:3px;color:var(--color-secondary);text-transform:uppercase;text-shadow:0 0 10px rgba(155,93,229,.3)}.hud-timer{font-family:var(--font-retro);font-size:2.2rem;font-weight:900;color:#fff;text-shadow:0 0 15px rgba(255,255,255,.25);letter-spacing:1px}.hud-shield{font-family:var(--font-retro);font-size:1.1rem;font-weight:900;color:#00f5d4;letter-spacing:2px;text-shadow:0 0 10px rgba(0,245,212,.3)}.game-picker-display{display:flex;align-items:center;gap:.75rem}.lobby-select{padding:.4rem .8rem;font-size:.85rem;min-width:160px;height:2.2rem;line-height:1.2}.lobby-select:disabled{opacity:.7;cursor:not-allowed;background:#ffffff05;border-color:#ffffff0d}.hud-laser-cast-container{position:absolute;bottom:-6px;left:25%;right:25%;height:12px;background:#0b0914cc;border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080,0 0 10px #00000080;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;z-index:901}.hud-laser-cast-bar{height:100%;width:0%;background:linear-gradient(90deg,#ff007f,#7928ca,#00f5d4);box-shadow:0 0 8px #00f5d4,0 0 15px #00f5d480;border-radius:6px;transition:width 33ms linear}.hud-laser-cast-label{position:absolute;width:100%;text-align:center;font-family:var(--font-retro);font-size:.55rem;font-weight:700;color:#fffc;letter-spacing:2px;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none;text-transform:uppercase}.countdown-carousel-display{width:100%;text-align:center}.carousel-viewport{width:380px;height:85px;margin:1.5rem auto 0;overflow:hidden;position:relative;border-radius:12px;background:#0b0914d9;border:2px solid rgba(255,255,255,.08);box-shadow:inset 0 2px 8px #000c,0 0 20px #9b5de526}.carousel-viewport:before,.carousel-viewport:after{content:"";position:absolute;left:0;right:0;height:20px;z-index:10;pointer-events:none}.carousel-viewport:before{top:0;background:linear-gradient(180deg,#0b0914e6,#0b091400)}.carousel-viewport:after{bottom:0;background:linear-gradient(360deg,#0b0914e6,#0b091400)}.carousel-strip{display:flex;flex-direction:column;width:100%}.carousel-item{display:flex;align-items:center;justify-content:center;gap:1rem;font-family:var(--font-retro);font-size:1.4rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;box-sizing:border-box}.carousel-item-icon{font-size:1.7rem;filter:drop-shadow(0 0 5px rgba(255,255,255,.2))}@keyframes item-glow-pulse{0%,to{transform:scale(1);filter:brightness(1) drop-shadow(0 0 10px currentColor)}50%{transform:scale(1.08);filter:brightness(1.3) drop-shadow(0 0 25px currentColor)}}.carousel-landed-pulse{animation:item-glow-pulse .5s ease-in-out infinite alternate}:root{--cursor-def-0: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L10,18 L14,14 L18,10 Z' fill='rgba(11,9,20,0.4)' stroke='rgb(0,245,212)' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M6,20 A 12,12 0 0,0 20,6' fill='none' stroke='rgb(0,245,212)' stroke-width='1.5' stroke-dasharray='2 2'/%3E%3Ccircle cx='14' cy='14' r='1.5' fill='rgb(255,0,127)'/%3E%3C/svg%3E") 2 2, default;--cursor-ptr-0: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L10,18 L14,14 L18,10 Z' fill='rgba(255,0,127,0.2)' stroke='rgb(255,0,127)' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M5,22 A 14,14 0 1,0 22,5' fill='none' stroke='rgb(0,245,212)' stroke-width='2'/%3E%3Ccircle cx='14' cy='14' r='1.5' fill='rgb(255,255,255)'/%3E%3C/svg%3E") 2 2, pointer;--cursor-def-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L6,22 L11,18 L22,11 L22,6 Z' fill='rgba(155,93,229,0.3)' stroke='rgb(241,250,55)' stroke-width='2' stroke-linejoin='round'/%3E%3Cline x1='5' y1='5' x2='14' y2='14' stroke='rgb(255,255,255)' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 2 2, default;--cursor-ptr-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L6,22 L11,18 L22,11 L22,6 Z' fill='rgba(241,250,55,0.3)' stroke='rgb(155,93,229)' stroke-width='2' stroke-linejoin='round'/%3E%3Cline x1='5' y1='5' x2='14' y2='14' stroke='rgb(155,93,229)' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M2,10 L10,2 M14,22 L22,14' fill='none' stroke='rgb(241,250,55)' stroke-width='1.5'/%3E%3C/svg%3E") 2 2, pointer;--cursor-def-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L6,24 L13,17 L15,20 L17,17 L24,6 Z' fill='rgb(30,30,40)' stroke='rgb(230,57,70)' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='15' cy='18.5' r='2.5' fill='rgb(230,57,70)'/%3E%3C/svg%3E") 2 2, default;--cursor-ptr-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L6,24 L13,17 L15,20 L17,17 L24,6 Z' fill='rgb(230,57,70)' stroke='rgb(255,255,255)' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='15' cy='18.5' r='2.5' fill='rgb(255,255,255)'/%3E%3C/svg%3E") 2 2, pointer;--cursor-def-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 Q 10,10 8,22 Q 6,12 2,2 M2,2 Q 10,10 22,8 Q 12,6 2,2' fill='rgba(112,224,0,0.15)' stroke='rgb(112,224,0)' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='10' r='3' fill='rgb(255,159,28)'/%3E%3C/svg%3E") 2 2, default;--cursor-ptr-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 Q 10,10 8,22 Q 6,12 2,2 M2,2 Q 10,10 22,8 Q 12,6 2,2' fill='rgba(255,159,28,0.25)' stroke='rgb(255,159,28)' stroke-width='2' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='10' r='3.5' fill='rgb(112,224,0)'/%3E%3C/svg%3E") 2 2, pointer;--cursor-def-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cellipse cx='16' cy='16' rx='11' ry='4' transform='rotate(-30 16 16)' fill='none' stroke='rgba(0,180,255,0.7)' stroke-width='1.5'/%3E%3Cellipse cx='16' cy='16' rx='11' ry='4' transform='rotate(45 16 16)' fill='none' stroke='rgb(255,255,255)' stroke-width='1'/%3E%3Ccircle cx='16' cy='16' r='3' fill='rgb(0,180,255)'/%3E%3Ccircle cx='8' cy='11' r='1.5' fill='rgb(255,255,255)'/%3E%3C/svg%3E") 16 16, default;--cursor-ptr-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='9' fill='none' stroke='rgb(0,180,255)' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='4' fill='rgb(255,255,255)'/%3E%3Cline x1='16' y1='2' x2='16' y2='6' stroke='rgb(0,180,255)' stroke-width='1.5'/%3E%3Cline x1='16' y1='26' x2='16' y2='30' stroke='rgb(0,180,255)' stroke-width='1.5'/%3E%3Cline x1='2' y1='16' x2='6' y2='16' stroke='rgb(0,180,255)' stroke-width='1.5'/%3E%3Cline x1='26' y1='16' x2='30' y2='16' stroke='rgb(0,180,255)' stroke-width='1.5'/%3E%3C/svg%3E") 16 16, pointer;--cursor-def-5: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L14,6 L10,10 L6,10 L2,14 Z' fill='rgba(230,57,70,0.3)' stroke='rgb(230,57,70)' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M8,8 L20,12 L16,16 L12,16 L8,20 Z' fill='rgba(255,255,255,0.1)' stroke='rgba(255,255,255,0.6)' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, default;--cursor-ptr-5: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L14,6 L10,10 L6,10 L2,14 Z' fill='rgb(255,255,255)' stroke='rgb(230,57,70)' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M8,8 L20,12 L16,16 L12,16 L8,20 Z' fill='rgb(230,57,70)' stroke='rgb(255,255,255)' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 2 2, pointer;--cursor-def-6: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L14,26 L18,17 L24,15 Z' fill='none' stroke='rgb(255,255,255)' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M4,4 L12,20 L15,15 L20,13 Z' fill='rgba(255,255,255,0.2)'/%3E%3Ccircle cx='16' cy='16' r='1.5' fill='rgb(255,255,255)'/%3E%3C/svg%3E") 2 2, default;--cursor-ptr-6: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M10,30 L6,26 L5,20 L9,18 L9,3 L13,3 L13,12 L17,12 L17,14 L21,14 L21,16 L25,16 L25,23 L19,30 Z' fill='rgb(255,255,255)' stroke='rgb(0,0,0)' stroke-width='2' stroke-linejoin='round'/%3E%3Cline x1='13' y1='12' x2='13' y2='20' stroke='rgb(0,0,0)' stroke-width='1.5'/%3E%3Cline x1='17' y1='14' x2='17' y2='21' stroke='rgb(0,0,0)' stroke-width='1.5'/%3E%3Cline x1='21' y1='16' x2='21' y2='22' stroke='rgb(0,0,0)' stroke-width='1.5'/%3E%3C/svg%3E") 11 3, pointer;--cursor-def-7: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16,2 L19,8 L13,8 Z M16,30 L19,24 L13,24 Z M2,16 L8,19 L8,13 Z M30,16 L24,19 L24,13 Z' fill='rgb(255,112,0)' stroke='rgb(255,220,0)' stroke-width='1'/%3E%3Ccircle cx='16' cy='16' r='8' fill='none' stroke='rgb(255,112,0)' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='2.5' fill='rgb(255,220,0)'/%3E%3C/svg%3E") 16 16, default;--cursor-ptr-7: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16,1 L19,10 L13,10 Z M16,31 L19,22 L13,22 Z M1,16 L10,19 L10,13 Z M31,16 L22,19 L22,13 Z' fill='rgb(255,220,0)' stroke='rgb(255,255,255)' stroke-width='1'/%3E%3Ccircle cx='16' cy='16' r='9' fill='rgba(255,220,0,0.2)' stroke='rgb(255,112,0)' stroke-width='2.5'/%3E%3Ccircle cx='16' cy='16' r='3' fill='rgb(255,255,255)'/%3E%3C/svg%3E") 16 16, pointer;--cursor-def-8: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L10,24 L16,24 L24,16 L24,10 L14,4 Z' fill='rgb(15,15,20)' stroke='rgb(255,255,255)' stroke-width='1.5' stroke-linejoin='round'/%3E%3Ccircle cx='13' cy='13' r='1.5' fill='rgb(255,255,255)'/%3E%3C/svg%3E") 2 2, default;--cursor-ptr-8: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M2,2 L10,24 L16,24 L24,16 L24,10 L14,4 Z' fill='rgb(255,255,255)' stroke='rgb(15,15,20)' stroke-width='1.5' stroke-linejoin='round'/%3E%3Ccircle cx='13' cy='13' r='1.5' fill='rgb(15,15,20)'/%3E%3C/svg%3E") 2 2, pointer;--cursor-def-9: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='6' fill='none' stroke='rgb(0,245,212)' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='2' fill='rgb(255,255,255)'/%3E%3Cline x1='16' y1='4' x2='16' y2='8' stroke='rgb(0,245,212)' stroke-width='2'/%3E%3Cline x1='16' y1='24' x2='16' y2='28' stroke='rgb(0,245,212)' stroke-width='2'/%3E%3Cline x1='4' y1='16' x2='8' y2='16' stroke='rgb(0,245,212)' stroke-width='2'/%3E%3Cline x1='24' y1='16' x2='28' y2='16' stroke='rgb(0,245,212)' stroke-width='2'/%3E%3C/svg%3E") 16 16, default;--cursor-ptr-9: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='6' fill='none' stroke='rgb(255,0,127)' stroke-width='2'/%3E%3Ccircle cx='16' cy='16' r='2' fill='rgb(255,255,255)'/%3E%3Cline x1='16' y1='4' x2='16' y2='8' stroke='rgb(255,0,127)' stroke-width='2'/%3E%3Cline x1='16' y1='24' x2='16' y2='28' stroke='rgb(255,0,127)' stroke-width='2'/%3E%3Cline x1='4' y1='16' x2='8' y2='16' stroke='rgb(255,0,127)' stroke-width='2'/%3E%3Cline x1='24' y1='16' x2='28' y2='16' stroke='rgb(255,0,127)' stroke-width='2'/%3E%3C/svg%3E") 16 16, pointer;--custom-cursor-default: var(--cursor-def-6);--custom-cursor-pointer: var(--cursor-ptr-6)}body.no-custom-cursor{--custom-cursor-default: auto;--custom-cursor-pointer: pointer}body.cursor-set-0{--custom-cursor-default: var(--cursor-def-0);--custom-cursor-pointer: var(--cursor-ptr-0)}body.cursor-set-1{--custom-cursor-default: var(--cursor-def-1);--custom-cursor-pointer: var(--cursor-ptr-1)}body.cursor-set-2{--custom-cursor-default: var(--cursor-def-2);--custom-cursor-pointer: var(--cursor-ptr-2)}body.cursor-set-3{--custom-cursor-default: var(--cursor-def-3);--custom-cursor-pointer: var(--cursor-ptr-3)}body.cursor-set-4{--custom-cursor-default: var(--cursor-def-4);--custom-cursor-pointer: var(--cursor-ptr-4)}body.cursor-set-5{--custom-cursor-default: var(--cursor-def-5);--custom-cursor-pointer: var(--cursor-ptr-5)}body.cursor-set-6{--custom-cursor-default: var(--cursor-def-6);--custom-cursor-pointer: var(--cursor-ptr-6)}body.cursor-set-7{--custom-cursor-default: var(--cursor-def-7);--custom-cursor-pointer: var(--cursor-ptr-7)}body.cursor-set-8{--custom-cursor-default: var(--cursor-def-8);--custom-cursor-pointer: var(--cursor-ptr-8)}body.cursor-set-9{--custom-cursor-default: var(--cursor-def-9);--custom-cursor-pointer: var(--cursor-ptr-9)}html,body,canvas,.game-container{cursor:var(--custom-cursor-default)!important}a,button,select,input[type=button],input[type=submit],[role=button],.btn,.btn-icon-only,.color-swatch,.btn-mode,.btn-tool-clear,.btn-tool-random,.btn-toggle-code,.btn-copy,.btn-fullscreen-dismiss,.lobby-chat-tab,.send-btn,.settings-toggle,.settings-close,.context-menu-item,.carousel-item,.carousel-spin-btn,.carousel-control,.settings-trigger,.game-select-card,.game-picker-back,.toggle-slider,.toggle-switch,input[type=range]{cursor:var(--custom-cursor-pointer)!important}.cursor-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.75rem;width:100%}.btn-cursor-toggle{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--color-muted);padding:.65rem .5rem;font-size:.8rem;font-weight:700;border-radius:6px;transition:var(--transition-smooth);text-align:center;letter-spacing:.5px;text-transform:uppercase}.btn-cursor-toggle:hover{background:#ffffff14;border-color:#fff3;color:var(--color-white);transform:translateY(-1px)}.btn-cursor-toggle.active{background:#00f5d41f;border-color:var(--color-secondary);color:var(--color-secondary);text-shadow:0 0 5px rgba(0,245,212,.5);box-shadow:var(--glow-cyan)}.voting-panel{background:var(--bg-card);border:1px solid var(--bg-card-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:1.5rem;height:420px;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;animation:fadeIn .4s cubic-bezier(.16,1,.3,1) forwards}.voting-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.75rem}.voting-header h2{font-family:var(--font-retro);font-size:1.15rem;color:var(--color-warning);margin:0;text-shadow:0 0 8px rgba(255,186,8,.4);letter-spacing:.5px}.voting-timer-badge{background:#ff4b4b26;border:2px solid var(--color-danger);color:var(--color-danger);font-family:var(--font-retro);font-weight:800;font-size:1.2rem;padding:.25rem .75rem;border-radius:20px;box-shadow:0 0 10px #ff4b4b66;animation:timer-pulse 1s infinite alternate}@keyframes timer-pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.05);opacity:1}}.voting-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;flex-grow:1}.voting-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;transition:var(--transition-smooth);text-align:center;position:relative;overflow:hidden;cursor:var(--custom-cursor-pointer)!important}.voting-card:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-3px)}.voting-card.local-voted{background:#00f5d40f;border-color:var(--color-secondary);box-shadow:0 0 15px #00f5d440,inset 0 0 8px #00f5d426}.voting-card-title{font-family:var(--font-retro);font-size:1.1rem;color:var(--color-white);margin-bottom:.25rem;text-transform:uppercase}.voting-card-desc{font-size:.75rem;color:var(--color-muted);line-height:1.3;margin-bottom:.75rem;max-width:180px}.voting-card-votes-badge{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-white);font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:10px;margin-bottom:.5rem}.voting-card.local-voted .voting-card-votes-badge{background:#00f5d426;border-color:var(--color-secondary);color:var(--color-secondary)}.voting-card-avatars{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;align-items:center;min-height:32px}.voting-avatar-circle{width:24px;height:24px;border-radius:50%;border:1.5px solid;overflow:hidden;background:#000;box-shadow:0 2px 4px #00000080}.voting-avatar-circle img{width:100%;height:100%;object-fit:cover}.voting-unvoted-container{display:flex;align-items:center;gap:1rem;background:#ffffff05;border-top:1px solid rgba(255,255,255,.05);padding-top:.75rem}.unvoted-label{font-family:var(--font-retro);font-size:.75rem;color:var(--color-muted);letter-spacing:.5px}.unvoted-avatars-list{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.roulette-overlay{z-index:1500;display:flex;justify-content:center;align-items:center}.roulette-card{background:var(--bg-modal);border:1px solid var(--bg-card-border);box-shadow:var(--glow-primary),0 10px 40px #000c;border-radius:20px;padding:2rem;width:90%;max-width:680px;text-align:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.roulette-title{font-family:var(--font-retro);color:var(--color-white);font-size:1.4rem;margin-top:0;margin-bottom:1.5rem;letter-spacing:1px}.roulette-wheel-container{position:relative;width:100%;height:140px;border:2px solid rgba(255,255,255,.08);border-radius:12px;background:#00000080;overflow:hidden;margin-bottom:1.5rem;box-shadow:inset 0 0 20px #000c}.roulette-pointer{position:absolute;left:50%;top:0;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:14px solid var(--color-danger);filter:drop-shadow(0 0 5px rgba(255,75,75,.8));z-index:10}.roulette-wheel{display:flex;gap:8px;position:absolute;left:0;top:20px;height:100px;will-change:transform}.roulette-ticket{width:120px;height:80px;flex-shrink:0;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff08;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;box-sizing:border-box}.roulette-ticket-avatar{width:32px;height:32px;border-radius:50%;border:1.5px solid #fff;overflow:hidden;background:#000}.roulette-ticket-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.roulette-ticket-name{font-size:.65rem;font-weight:700;color:var(--color-white);max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}.roulette-ticket-game{font-size:.65rem;font-family:var(--font-retro);color:var(--color-secondary);text-shadow:0 0 3px rgba(0,245,212,.4);text-transform:uppercase}.roulette-status{font-family:var(--font-retro);font-size:1.1rem;color:var(--color-warning);letter-spacing:.5px;text-shadow:0 0 5px rgba(255,186,8,.4)}.roulette-status.finished-winner{color:var(--color-secondary);text-shadow:0 0 10px rgba(0,245,212,.6);animation:winner-pulse .5s infinite alternate}@keyframes winner-pulse{0%{transform:scale(1)}to{transform:scale(1.03)}}.tournament-overlay{z-index:1600;display:flex;justify-content:center;align-items:center;overflow-y:auto}.tournament-card{background:var(--bg-modal);border:2px solid rgba(255,186,8,.3);box-shadow:0 0 30px #ffba0833,0 15px 50px #000000e6;border-radius:24px;padding:2.5rem;width:95%;max-width:780px;text-align:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.neon-title-gold{font-family:var(--font-retro);color:#ffba08;font-size:2rem;margin-top:0;margin-bottom:2rem;letter-spacing:2px;text-shadow:0 0 15px rgba(255,186,8,.6)}.podium-container{display:flex;justify-content:center;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem;height:250px}.podium-spot{display:flex;flex-direction:column;align-items:center;flex-grow:1;max-width:150px}.podium-avatar-wrapper{position:relative;width:64px;height:64px;border-radius:50%;border:3px solid;background:#000;box-shadow:0 4px 10px #00000080;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center}.podium-avatar-wrapper img{width:100%;height:100%;object-fit:cover;border-radius:50%}.podium-avatar-badge{position:absolute;bottom:-5px;right:-5px;background:#ffba08;color:#000;border-radius:50%;width:22px;height:22px;font-weight:800;font-size:.75rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0006}.spot-1 .podium-avatar-wrapper{width:80px;height:80px;border-color:#ffba08;box-shadow:0 0 15px #ffba0880}.spot-2 .podium-avatar-wrapper{border-color:#e5e5e5;box-shadow:0 0 10px #e5e5e54d}.spot-3 .podium-avatar-wrapper{border-color:#d88c51;box-shadow:0 0 10px #d88c514d}.podium-name{font-weight:700;color:var(--color-white);font-size:.85rem;margin-bottom:.15rem;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-score{font-family:var(--font-retro);font-size:.75rem;color:var(--color-muted);margin-bottom:.75rem}.spot-1 .podium-score{color:#ffba08;font-size:.85rem;font-weight:700}.podium-block{width:100%;border-radius:8px 8px 0 0;font-family:var(--font-retro);font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;color:#ffffffe6}.spot-1 .podium-block{height:110px;background:linear-gradient(180deg,#ffba0833,#ffba080d);border:1.5px solid #ffba08;border-bottom:none;box-shadow:0 0 15px #ffba081a;color:#ffba08}.spot-2 .podium-block{height:75px;background:linear-gradient(180deg,#e5e5e526,#e5e5e505);border:1.5px solid #e5e5e5;border-bottom:none;color:#e5e5e5}.spot-3 .podium-block{height:50px;background:linear-gradient(180deg,#d88c5126,#d88c5105);border:1.5px solid #d88c51;border-bottom:none;color:#d88c51}.scoreboard-container{background:#0006;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1rem;margin-bottom:2rem;text-align:left}.scoreboard-title{font-family:var(--font-retro);font-size:.9rem;color:var(--color-muted);margin-top:0;margin-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.5rem}.scoreboard-list{display:flex;flex-direction:column;gap:.5rem;max-height:180px;overflow-y:auto}.scoreboard-item{display:flex;align-items:center;justify-content:space-between;padding:.45rem .75rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:6px;font-size:.8rem}.scoreboard-item-rank{font-family:var(--font-retro);font-weight:700;color:var(--color-muted);width:25px}.scoreboard-item-player{display:flex;align-items:center;gap:8px;flex-grow:1}.scoreboard-item-avatar{width:22px;height:22px;border-radius:50%;border:1px solid #fff;overflow:hidden}.scoreboard-item-avatar img{width:100%;height:100%;object-fit:cover}.scoreboard-item-name{font-weight:700;color:var(--color-white);text-transform:uppercase}.scoreboard-item-score{font-family:var(--font-retro);font-weight:800;color:var(--color-secondary)}.tournament-waiting-msg{font-style:italic;color:var(--color-muted);font-size:.85rem;margin-top:.5rem}
