@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@600;700;800&display=swap";:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-card: #1e1e2a;--bg-hover: #252535;--accent-primary: #ff4d4d;--accent-primary-rgb: 255, 77, 77;--accent-secondary: #ffd700;--accent-tertiary: #00ff88;--accent-purple: #9945ff;--accent-blue: #14f4ff;--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #666680;--border-color: #2a2a3a;--shadow-glow: 0 0 20px rgba(255, 77, 77, .3);--gradient-fire: linear-gradient(135deg, #ff4d4d 0%, #ff9500 100%);--gradient-gold: linear-gradient(135deg, #ffd700 0%, #ff9500 100%);--gradient-dark: linear-gradient(180deg, #12121a 0%, #0a0a0f 100%);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-full: 0;--font-main: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Outfit", var(--font-main)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-main);background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease}.loading-screen.hidden{opacity:0;pointer-events:none}.loader{text-align:center}.loader .mic-icon{font-size:4rem;animation:bounce 1s ease infinite}.loading-logo{width:120px;height:auto;animation:bounce 1s ease infinite}.loader h1{font-family:var(--font-display);font-size:2.5rem;font-weight:800;background:var(--gradient-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:var(--space-md) 0;letter-spacing:2px}.loading-bar{width:250px;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin:var(--space-md) auto}.loading-progress{width:0%;height:100%;background:var(--gradient-fire);transition:width .15s ease-out}.loader #loading-percent{font-size:1.5rem;font-weight:700;color:var(--accent-primary);margin-top:var(--space-sm);display:block}.loader #loading-text{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--space-xs)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:420px;width:100%;box-shadow:var(--shadow-glow)}.auth-modal-content{max-width:380px}.profile-modal-content{max-width:480px;max-height:85vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close:hover{background:var(--accent-primary);color:#fff}.profile-header{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg)}.profile-avatar{width:80px;height:80px;background:var(--bg-tertiary);border:2px solid var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.profile-info{flex:1;min-width:0}.profile-username{font-size:1.25rem;font-weight:700;margin:0 0 var(--space-xs) 0;color:var(--text-primary)}.profile-bio{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}.profile-rank{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.profile-progression{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);margin-bottom:var(--space-lg)}.profile-level-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;background:var(--gradient-gold);flex-shrink:0}.profile-level-badge .level-number{font-size:1.5rem;font-weight:800;color:var(--bg-primary);line-height:1}.profile-level-badge .level-label{font-size:.5rem;font-weight:700;color:var(--bg-primary);letter-spacing:1px}.profile-xp-container{flex:1;min-width:0}.profile-xp-bar{height:12px;background:var(--bg-primary);border:1px solid var(--border-color);margin-bottom:var(--space-xs);overflow:hidden}.profile-xp-fill{height:100%;background:var(--gradient-gold);transition:width .3s ease}.profile-xp-text{font-size:.75rem;color:var(--text-muted)}.profile-coins-display{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--accent-secondary);color:var(--accent-secondary);font-weight:700;font-size:1rem}.profile-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color)}.profile-stat{text-align:center}.profile-stat .stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.profile-stat .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-actions{margin-bottom:var(--space-lg)}.profile-follow-btn.following{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.profile-follow-btn.following:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.profile-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md);border-bottom:1px solid var(--border-color)}.profile-tab{flex:1;padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.profile-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.profile-tab:hover:not(.active){color:var(--text-primary)}.profile-section{min-height:100px}.no-tracks,.no-activity{text-align:center;color:var(--text-muted);font-size:.875rem;padding:var(--space-xl)}.tracks-list{display:flex;flex-direction:column;gap:var(--space-xs)}.track-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);transition:all .15s ease}.track-item:hover{border-color:var(--accent-primary)}.track-play-btn{width:36px;height:36px;background:var(--accent-primary);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s ease}.track-play-btn:hover{background:var(--accent-secondary)}.track-play-btn svg{width:16px;height:16px}.track-info{flex:1;min-width:0}.track-title{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:.8rem;color:var(--text-secondary)}.track-duration{font-size:.8rem;color:var(--text-muted);flex-shrink:0}.track-source-badge{font-size:.65rem;padding:2px 6px;background:var(--bg-secondary);color:var(--text-muted);text-transform:uppercase;flex-shrink:0}.track-source-badge.spotify{background:#1ed76033;color:#1ed760}.track-source-badge.youtube{background:#f003;color:red}.track-source-badge.soundcloud{background:#f503;color:#f50}.profile-edit-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.profile-edit-section textarea{width:100%;min-height:80px;padding:var(--space-sm);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;resize:vertical;margin-bottom:var(--space-sm)}.profile-edit-section textarea:focus{outline:none;border-color:var(--accent-primary)}.auth-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xl);background:var(--bg-tertiary);padding:var(--space-xs);border-radius:var(--radius-lg)}.auth-tab{flex:1;padding:var(--space-sm) var(--space-md);border:none;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease}.auth-tab.active{background:var(--accent-primary);color:#fff}.auth-tab:hover:not(.active){color:var(--text-primary)}.auth-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input{padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--accent-primary)}.form-group input::placeholder{color:var(--text-muted)}.error-message{color:var(--accent-primary);font-size:.875rem;text-align:center;min-height:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--gradient-fire);color:#fff;box-shadow:0 4px 15px #ff4d4d66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff4d4d80}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-small{padding:var(--space-sm) var(--space-md);font-size:.75rem}.btn-full{width:100%}.btn-icon{font-size:1.1em}.header{position:fixed;top:0;left:0;right:0;height:60px;background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);z-index:100}.logo{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:240px}.logo-icon{font-size:1.5rem}.logo-text{font-family:var(--font-display);font-size:1.25rem;font-weight:700;background:var(--gradient-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px}.header-logo{height:102px;width:auto}.forgot-link{display:block;text-align:center;margin-top:12px;color:var(--color-fire);font-size:.85rem;text-decoration:none;cursor:pointer}.forgot-link:hover{text-decoration:underline}.user-info{display:flex;align-items:center;gap:var(--space-lg)}.mic-status{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:.875rem}.mic-status.active{background:#0f83;color:var(--accent-tertiary)}.user-profile{display:flex;align-items:center;gap:var(--space-md)}.user-profile .username.clickable{cursor:pointer;transition:color .15s ease}.user-profile .username.clickable:hover{color:var(--accent-primary);text-decoration:underline}.avatar-mini{width:36px;height:36px;border-radius:var(--radius-full);background:var(--gradient-fire)}.user-stats{display:flex;gap:var(--space-md);font-size:.875rem}.user-stats .stat{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-secondary)}.user-name-rank{display:flex;flex-direction:column;gap:2px}.user-rank{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-level-container{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color)}.user-level{font-size:.75rem;font-weight:700;color:var(--accent-secondary);min-width:40px}.xp-bar-mini{width:80px;height:6px;background:var(--bg-primary);border:1px solid var(--border-color);overflow:hidden}.xp-bar-fill{height:100%;background:var(--gradient-gold);transition:width .3s ease}.xp-text{font-size:.65rem;color:var(--text-muted);min-width:60px}.user-currencies{display:flex;align-items:center;gap:var(--space-xs)}.user-credits,.user-coins{display:flex;align-items:center;gap:3px;padding:2px 6px;background:var(--bg-tertiary);font-weight:600;font-size:.8rem}.user-credits{border:1px solid #00cc66;color:#0c6}.user-coins{border:1px solid var(--accent-secondary);color:var(--accent-secondary)}.currency-icon{font-weight:800;font-size:.75rem}.rank-novato{color:gray}.rank-amateur{color:#0c6}.rank-pro{color:#39f}.rank-master{color:#9945ff}.rank-legend{color:gold}.rank-mythic{color:#ff4d4d}.rank-god{background:linear-gradient(90deg,gold,#ff4d4d,#9945ff,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:godRankShine 3s linear infinite}@keyframes godRankShine{0%{background-position:0% 50%}to{background-position:200% 50%}}.notification-container{position:relative}.notification-bell{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;position:relative}.notification-bell:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.notification-bell svg{fill:var(--text-secondary);transition:fill .2s ease}.notification-bell:hover svg{fill:var(--accent-primary)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:var(--accent-primary);color:var(--bg-primary);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:400px;background:var(--bg-card);border:1px solid var(--border-color);box-shadow:0 8px 24px #0006;z-index:1000;overflow:hidden}.notification-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.notification-header h4{margin:0;font-size:.9rem;color:var(--text-primary)}.notification-mark-all{background:none;border:none;color:var(--accent-primary);font-size:.75rem;cursor:pointer;padding:var(--space-xs)}.notification-mark-all:hover{text-decoration:underline}.notification-list{overflow-y:auto;max-height:350px}.notification-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);font-size:.85rem}.notification-item{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .15s ease}.notification-item:hover{background:var(--bg-secondary)}.notification-item.unread{background:rgba(var(--accent-primary-rgb),.05);border-left:3px solid var(--accent-primary)}.notification-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);font-size:1rem;flex-shrink:0}.notification-icon.follow{background:#0c63;color:#0c6}.notification-icon.level_up{background:#ffd70033;color:gold}.notification-icon.like{background:#ff4d4d33;color:#ff4d4d}.notification-icon.reward{background:#9945ff33;color:#9945ff}.notification-icon.message{background:#39f3;color:#39f}.notification-icon.system{background:#80808033;color:gray}.notification-content{flex:1;min-width:0}.notification-title{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.notification-message{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-time{font-size:.65rem;color:var(--text-muted);margin-top:4px}.notification-toast{position:fixed;top:80px;right:20px;width:300px;background:var(--bg-card);border:1px solid var(--accent-primary);box-shadow:0 8px 24px #0006;z-index:9500;animation:notifSlideIn .3s ease,notifSlideOut .3s ease 4.7s forwards;cursor:pointer}.notification-toast:hover{border-color:var(--accent-secondary)}.notification-toast-content{display:flex;gap:var(--space-sm);padding:var(--space-md)}.notification-toast .notification-icon{width:40px;height:40px}.notification-toast-close{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--bg-tertiary);border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1}@keyframes notifSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes notifSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.messages-btn-container{position:relative}.messages-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease;position:relative}.messages-btn:hover{background:var(--bg-secondary);border-color:var(--accent-tertiary)}.messages-btn svg{fill:var(--text-secondary);transition:fill .2s ease}.messages-btn:hover svg{fill:var(--accent-tertiary)}.messages-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:var(--accent-tertiary);color:var(--bg-primary);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.messages-panel{position:fixed;top:60px;right:0;width:360px;height:calc(100vh - 60px);background:var(--bg-card);border-left:1px solid var(--border-color);box-shadow:-4px 0 16px #0000004d;z-index:2000;display:flex;flex-direction:column;animation:slideInRight .25s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.messages-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.messages-panel-header h3{margin:0;font-size:1rem;color:var(--text-primary)}.messages-panel-close{width:32px;height:32px;background:var(--bg-tertiary);border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.messages-panel-close:hover{background:var(--accent-primary);color:var(--text-primary)}.messages-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.messages-search{padding:var(--space-sm);border-bottom:1px solid var(--border-color)}.messages-search input{width:100%;padding:var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem}.messages-search input:focus{outline:none;border-color:var(--accent-tertiary)}.conversations-list{flex:1;overflow-y:auto}.conversations-empty{padding:var(--space-xl);text-align:center;color:var(--text-muted);font-size:.85rem}.conversation-item{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .15s ease}.conversation-item:hover{background:var(--bg-secondary)}.conversation-item.has-unread{background:#00ff880d;border-left:3px solid var(--accent-tertiary)}.conversation-avatar{width:44px;height:44px;background:var(--gradient-fire);flex-shrink:0}.conversation-info{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.conversation-username{font-size:.9rem;font-weight:600;color:var(--text-primary)}.conversation-time{font-size:.7rem;color:var(--text-muted)}.conversation-preview{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-unread-badge{min-width:20px;height:20px;background:var(--accent-tertiary);color:var(--bg-primary);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;margin-left:auto}.conversation-online-dot{width:8px;height:8px;background:var(--accent-tertiary);border-radius:50%;margin-left:var(--space-xs)}.chat-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.chat-back-btn{width:32px;height:32px;background:var(--bg-tertiary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-back-btn svg{fill:var(--text-secondary)}.chat-back-btn:hover{background:var(--bg-hover)}.chat-back-btn:hover svg{fill:var(--text-primary)}.chat-user-info{display:flex;flex-direction:column}.chat-username{font-size:.9rem;font-weight:600;color:var(--text-primary)}.chat-status{font-size:.7rem;color:var(--accent-tertiary)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.chat-message{max-width:80%;padding:var(--space-sm) var(--space-md);font-size:.85rem;line-height:1.4;word-wrap:break-word}.chat-message.sent{align-self:flex-end;background:var(--accent-tertiary);color:var(--bg-primary)}.chat-message.received{align-self:flex-start;background:var(--bg-tertiary);color:var(--text-primary)}.chat-message-time{font-size:.65rem;margin-top:4px;opacity:.7}.chat-message.sent .chat-message-time{text-align:right}.chat-typing{padding:var(--space-xs) var(--space-md);font-size:.75rem;color:var(--text-muted);font-style:italic}.chat-input-form{display:flex;gap:var(--space-sm);padding:var(--space-sm);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.chat-input-form input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem}.chat-input-form input:focus{outline:none;border-color:var(--accent-tertiary)}.chat-send-btn{width:40px;height:40px;background:var(--accent-tertiary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-send-btn svg{fill:var(--bg-primary)}.chat-send-btn:hover{background:var(--accent-secondary)}.chat-send-btn:disabled{background:var(--bg-tertiary);cursor:not-allowed}.chat-send-btn:disabled svg{fill:var(--text-muted)}.dm-toast{position:fixed;bottom:20px;right:20px;width:300px;background:var(--bg-card);border:1px solid var(--accent-tertiary);box-shadow:0 8px 24px #0006;z-index:9500;cursor:pointer;animation:dmSlideIn .3s ease}.dm-toast:hover{border-color:var(--accent-secondary)}.dm-toast-content{display:flex;gap:var(--space-sm);padding:var(--space-md)}.dm-toast-avatar{width:40px;height:40px;background:var(--gradient-fire);flex-shrink:0}.dm-toast-info{flex:1;min-width:0}.dm-toast-username{font-size:.85rem;font-weight:600;color:var(--text-primary)}.dm-toast-message{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes dmSlideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.xp-toast{position:fixed;top:70px;right:20px;background:var(--bg-card);border:2px solid var(--accent-secondary);padding:var(--space-sm) var(--space-md);z-index:9000;animation:xpToastIn .3s ease,xpToastOut .3s ease 2.7s forwards}.xp-toast .xp-amount{color:var(--accent-secondary);font-weight:700;font-size:1.1rem}.xp-toast .xp-source{color:var(--text-secondary);font-size:.8rem}@keyframes xpToastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes xpToastOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.level-up-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-card);border:3px solid var(--accent-secondary);padding:var(--space-xl);z-index:9500;text-align:center;animation:levelUpPop .5s ease}.level-up-notification h2{color:var(--accent-secondary);font-size:2rem;margin-bottom:var(--space-sm)}.level-up-notification .new-level{font-size:3rem;font-weight:800;color:var(--text-primary)}.level-up-notification .close-btn{margin-top:var(--space-md)}@keyframes levelUpPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}70%{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.app-container{height:100vh;padding-top:60px;box-sizing:border-box}.main-content{display:flex;height:calc(100vh - 60px)}.scene-container{flex:1;min-width:0;position:relative;background:var(--bg-primary);height:100%;overflow:hidden;transition:flex .25s ease}.lobby-panel{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:width .25s ease,padding .25s ease}.lobby-panel.collapsed{width:32px;min-width:32px}.lobby-panel.collapsed .lobby-content{opacity:0;visibility:hidden;pointer-events:none}.lobby-panel.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-toggle{position:absolute;top:8px;right:6px;width:22px;height:22px;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--accent-primary);border-color:var(--accent-primary)}.sidebar-toggle svg{width:14px;height:14px;transition:transform .25s ease}.lobby-content{padding:var(--space-md);padding-top:var(--space-sm);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-md);flex:1;transition:opacity .2s ease,visibility .2s ease}.lobby-panel h2{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-xs);padding-right:24px}.location-selector{display:flex;flex-wrap:wrap;gap:4px}.location-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.8rem;flex:1;min-width:80px;justify-content:center}.location-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.location-btn.active{background:#ff4d4d26;border-color:var(--accent-primary)}.location-icon{font-size:1rem}.location-name{font-weight:500;font-size:.75rem}.rooms-section{flex:1;min-height:0;display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.section-header h3{font-size:.8rem;color:var(--text-secondary)}.rooms-list{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;overflow-y:auto;flex:1;max-height:320px;padding-right:2px}.no-rooms{grid-column:1 / -1;text-align:center;color:var(--text-muted);font-size:.75rem;padding:var(--space-md);background:var(--bg-tertiary);border:1px dashed var(--border-color)}.room-card{padding:6px 8px;background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;transition:all .12s ease;position:relative;min-height:52px}.room-card:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:translateY(-1px)}.room-card:hover .room-card-name{color:var(--accent-primary)}.room-card.live:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent-tertiary);animation:livePulse 2s ease infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.4}}.room-card-header{display:flex;align-items:center;gap:4px;margin-bottom:4px}.room-card-name{font-weight:600;font-size:.72rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;transition:color .12s ease}.room-card-badges{display:flex;align-items:center;gap:3px;flex-shrink:0}.room-card-mode{font-size:.6rem;padding:1px 4px;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.room-card-mode.competition{background:#ffd70040;color:gold;border:1px solid rgba(255,215,0,.4)}.room-card-mode.free{background:#00ff8826;color:var(--accent-tertiary);border:1px solid rgba(0,255,136,.25)}.room-card-status{font-size:.55rem;padding:1px 3px;font-weight:700;text-transform:uppercase}.room-card-status.live{background:#00ff8840;color:var(--accent-tertiary)}.room-card-status.waiting{background:#ffa50033;color:orange}.room-card-info{display:flex;gap:8px;font-size:.65rem;color:var(--text-muted);align-items:center}.room-card-info-item{display:flex;align-items:center;gap:2px}.room-card-info-item .icon{width:10px;height:10px;opacity:.5}.room-card-host{font-size:.6rem;color:var(--text-secondary);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-card-host strong{color:var(--text-primary);font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.tournaments-section{border-top:1px solid var(--border-color);padding-top:var(--space-sm)}.tournaments-section h3{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--space-xs)}.tournament-card{padding:8px;background:linear-gradient(135deg,#9945ff1a,#ffd7001a);border:1px solid var(--accent-purple);border-radius:var(--radius-md);font-size:.8rem}.tournament-card.upcoming{opacity:.6;text-align:center;color:var(--text-muted)}.game-modes-section{border-top:1px solid var(--border-color);padding-top:var(--space-sm);display:flex;flex-direction:column;gap:4px}.game-modes-section h3{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.game-mode-btn{width:100%;display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#ff4d4d1a,#ff96001a);border:1px solid var(--accent-primary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.game-mode-btn:hover{background:linear-gradient(135deg,#ff4d4d33,#ff960033);box-shadow:0 0 10px #ff4d4d33}.game-mode-btn .mode-icon{font-size:1.2rem}.game-mode-btn .mode-icon-img{width:32px;height:32px;object-fit:contain;filter:invert(1)}.game-mode-btn .mode-name{font-weight:600;color:var(--text-primary);font-size:.85rem}.game-mode-btn .mode-desc{display:none}.game-mode-btn.fps-mode{background:linear-gradient(135deg,#00c8ff1a,#6400ff1a);border-color:#00c8ff}.game-mode-btn.fps-mode:hover{background:linear-gradient(135deg,#00c8ff33,#6400ff33);box-shadow:0 0 10px #00c8ff33}.game-mode-btn.practice-mode{background:linear-gradient(135deg,#ffa5001a,#ff64001a);border-color:orange}.game-mode-btn.practice-mode:hover{background:linear-gradient(135deg,#ffa50033,#ff640033);box-shadow:0 0 10px #ffa50033}@keyframes damageFlash{0%{opacity:1}to{opacity:0}}#three-canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important;display:block}.scene-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;padding:var(--space-lg);display:flex;flex-direction:column}.scene-overlay>*{pointer-events:auto}.room-info{background:#0a0a0fe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);max-width:320px}.room-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.room-header h2{font-size:.9rem;margin:0;margin-right:var(--space-sm)}.room-status{font-size:.7rem;padding:2px 6px;background:#0f83;color:var(--accent-tertiary);border-radius:var(--radius-full);animation:pulse 2s infinite}.room-participants{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.participant-group{display:flex;gap:var(--space-xs)}.audio-controls{position:absolute;bottom:var(--space-lg);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-lg);background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.control-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.control-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.control-btn.active{background:#0f83;border-color:var(--accent-tertiary)}.control-btn .btn-icon{font-size:1.5rem}.control-btn .btn-label{font-size:.75rem;color:var(--text-secondary)}.audio-visualizer{width:200px;height:50px}#visualizer-canvas{width:100%;height:100%}.beat-selector{position:absolute;left:var(--space-lg);top:200px;background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--border-color);z-index:100;min-width:280px}.beat-selector h4{margin:0 0 var(--space-sm) 0;color:var(--text-primary)}.beat-selector.hidden{display:none}.beat-select{width:100%;padding:var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;margin-bottom:var(--space-sm)}.beat-controls{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.beat-controls .btn-small{padding:var(--space-xs) var(--space-sm);font-size:.85rem}.bpm-controls{display:flex;align-items:center;gap:var(--space-md);font-size:.85rem;color:var(--text-secondary)}.bpm-input{width:60px;padding:var(--space-xs);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);text-align:center}.bar-mode-select{padding:var(--space-xs);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem}.manual-beat-input{display:flex;gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap}.beat-url-input{flex:1;min-width:150px;padding:var(--space-xs);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem}.beat-admin-controls{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:var(--space-xs)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:4px;transition:width .3s ease}.progress-text{font-size:.85rem;color:var(--text-secondary)}.bar-counter{position:absolute;top:70px;left:50%;transform:translate(-50%);background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-color);z-index:100;display:flex;flex-direction:column;gap:var(--space-sm)}.bar-counter.hidden{display:none}.beat-indicator,.bar-indicator{display:flex;align-items:center;gap:var(--space-sm)}.beat-label,.bar-label{font-size:.8rem;color:var(--text-secondary);min-width:60px}.beat-dots{display:flex;gap:4px}.beat-dot{width:16px;height:16px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color);transition:all .1s ease}.beat-dot.active{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary)}.bar-numbers{display:flex;gap:4px}.bar-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;color:var(--text-secondary);transition:all .1s ease}.bar-number.active{background:var(--accent-secondary);border-color:var(--accent-secondary);color:#fff}.bar-number.pulse{animation:barPulse .2s ease}@keyframes barPulse{0%{transform:scale(1)}50%{transform:scale(1.2);box-shadow:0 0 15px var(--accent-secondary)}to{transform:scale(1)}}.turn-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));padding:var(--space-xl) var(--space-2xl);border-radius:var(--radius-xl);font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);z-index:1000;opacity:0;transition:all .3s ease}.turn-overlay.show{transform:translate(-50%,-50%) scale(1);opacity:1;animation:turnPulse 1.5s ease}@keyframes turnPulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}20%{transform:translate(-50%,-50%) scale(1.1);opacity:1}40%{transform:translate(-50%,-50%) scale(1)}80%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.8);opacity:0}}.participants-mixer{position:absolute;right:var(--space-lg);top:200px;background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--border-color);z-index:100;min-width:220px;max-height:300px;overflow-y:auto}.participants-mixer.hidden{display:none}.participants-mixer h4{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:.9rem}.participant-volume-control{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color)}.participant-volume-control:last-child{border-bottom:none}.participant-volume-control .participant-name{font-size:.85rem;color:var(--text-primary);font-weight:500}.volume-controls{display:flex;align-items:center;gap:var(--space-xs)}.mute-btn{width:32px;height:32px;border:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:all .2s ease}.mute-btn:hover{background:var(--bg-hover)}.mute-btn.muted{background:var(--accent-primary)}.volume-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:3px;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-secondary);cursor:pointer;transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-display{font-size:.75rem;color:var(--text-secondary);min-width:35px;text-align:right}.reactions-bar{position:absolute;bottom:var(--space-lg);left:var(--space-lg);display:flex;gap:var(--space-sm);background:#0a0a0fe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-sm);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.reaction-btn{width:48px;height:48px;border:none;background:var(--bg-tertiary);border-radius:var(--radius-lg);font-size:1.5rem;cursor:pointer;transition:all .2s ease}.reaction-btn:hover{background:var(--bg-hover);transform:scale(1.1)}.reaction-btn:active{transform:scale(.95)}.chat-container{position:absolute;right:var(--space-lg);bottom:var(--space-lg);width:320px;max-height:300px;background:#0a0a0fe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:600;font-size:.9rem;color:var(--text-primary)}.chat-messages{flex:1;padding:var(--space-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.chat-message{font-size:.875rem}.chat-message .username{color:var(--accent-secondary);font-weight:600}.chat-message .text{color:var(--text-primary)}.chat-form{display:flex;padding:var(--space-sm);border-top:1px solid var(--border-color);gap:var(--space-sm)}.chat-form input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem}.chat-form input:focus{outline:none;border-color:var(--accent-primary)}.location-radio-group{display:flex;gap:var(--space-sm)}.location-radio{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.location-radio:has(input:checked){background:#ff4d4d1a;border-color:var(--accent-primary)}.location-radio input{display:none}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-lg)}@media(max-width:768px){.lobby-panel{position:fixed;left:0;top:60px;bottom:0;z-index:50;width:280px}.lobby-panel.collapsed{width:36px}.sidebar-toggle{right:4px;top:10px}.chat-container{width:100%;right:0;bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.role-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.role-option-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.role-option-btn:hover:not(:disabled){border-color:var(--accent-primary);background:var(--bg-hover);transform:translateY(-2px)}.role-option-btn:disabled{opacity:.4;cursor:not-allowed}.role-option-btn .role-icon{font-size:2rem}.role-option-btn .role-name{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.role-option-btn .role-slots{font-size:.8rem;color:var(--text-secondary)}.role-option-btn.audience-btn{grid-column:span 2;background:var(--bg-secondary)}#join-as-rapper:hover:not(:disabled){border-color:var(--accent-primary);box-shadow:0 0 15px #ff4d4d4d}#join-as-judge:hover:not(:disabled){border-color:var(--accent-secondary);box-shadow:0 0 15px #ffd7004d}#join-as-dj:hover:not(:disabled){border-color:var(--accent-purple);box-shadow:0 0 15px #9945ff4d}.my-role{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:.85rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-color)}.my-role.role-rapper{background:linear-gradient(135deg,#ff4d4d33,#ff4d4d1a);border-color:var(--accent-primary);color:var(--accent-primary)}.my-role.role-dj{background:linear-gradient(135deg,#9945ff33,#9945ff1a);border-color:var(--accent-purple);color:var(--accent-purple)}.my-role.role-judge{background:linear-gradient(135deg,#ffd70033,#ffd7001a);border-color:var(--accent-secondary);color:var(--accent-secondary)}.my-role.role-audience{background:var(--bg-secondary);color:var(--text-secondary)}.role-radio-group{display:flex;gap:var(--space-md);flex-wrap:wrap}.role-radio{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all .2s ease}.role-radio:hover{border-color:var(--accent-primary)}.role-radio input[type=radio]:checked+span{color:var(--accent-primary)}.host-controls{display:flex;gap:var(--space-sm);margin-left:auto}.btn-danger{background:linear-gradient(135deg,#f44,#c00);border:none;color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#f66,red);box-shadow:0 0 15px #ff00004d}.mute-btn{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:2px 6px;font-size:.8rem;cursor:pointer;margin-left:4px;transition:all .2s ease}.mute-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.mute-btn.muted{background:#ff4d4d33;border-color:var(--accent-primary)}.participant-name{display:inline-flex;align-items:center;background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm);margin-right:4px;font-size:.9rem}.transfer-list{display:flex;flex-direction:column;gap:var(--space-sm)}.transfer-option{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;width:100%}.transfer-option:hover{border-color:var(--accent-secondary);background:var(--bg-hover)}.transfer-name{font-weight:600;color:var(--text-primary)}.transfer-role{font-size:1.2rem}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent-secondary)}.avatar-selector{position:absolute;right:var(--space-lg);top:var(--space-lg);background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--border-color);z-index:100}.avatar-selector h4{margin:0 0 var(--space-sm) 0;color:var(--text-primary);font-size:.9rem;text-align:center}.avatar-options{display:flex;gap:var(--space-sm)}.avatar-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;min-width:70px}.avatar-option:hover{background:var(--bg-hover);border-color:var(--accent-tertiary);transform:translateY(-2px)}.avatar-option.active{background:#00ff881a;border-color:var(--accent-tertiary);box-shadow:0 0 15px #00ff884d}.avatar-preview{width:50px;height:50px;border-radius:var(--radius-md);background-size:cover;background-position:center}.avatar-preview.avatar-1{background:linear-gradient(135deg,var(--accent-tertiary) 0%,var(--accent-blue) 100%)}.avatar-preview.avatar-2{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%)}.avatar-preview.avatar-erreeme{background:linear-gradient(135deg,#552583,#fdb927)}.avatar-preview.avatar-skar{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.avatar-preview.avatar-dona{background:linear-gradient(135deg,#ff6b6b,#c44569,#6c5ce7)}.avatar-preview.avatar-kevin{background:linear-gradient(135deg,#00b894,#00cec9,#0984e3)}.avatar-preview.avatar-roska{background:linear-gradient(135deg,#f04,#000,#fc0);border:2px solid #ffcc00}.avatar-option span{font-size:.75rem;color:var(--text-secondary);font-weight:500}.avatar-option.active span{color:var(--accent-tertiary)}.avatar-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:.75rem;color:var(--accent-tertiary)}.loading-spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--accent-tertiary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.paint-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2000;display:flex;flex-direction:column;padding:var(--space-xl)}.paint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.paint-header h2{font-family:var(--font-display);font-size:1.5rem;background:var(--gradient-fire);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.credits-display{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-full);font-weight:600;color:var(--accent-secondary)}.credits-icon{font-size:1.2rem}.paint-container{flex:1;display:flex;gap:var(--space-xl);justify-content:center;align-items:center}.paint-tools{display:flex;flex-direction:column;gap:var(--space-lg);background:var(--bg-card);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-color);min-width:180px}.tool-group{display:flex;flex-direction:column;gap:var(--space-sm)}.tool-group label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.tool-buttons{display:flex;flex-direction:column;gap:var(--space-xs)}.tool-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.tool-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.tool-btn.active{background:#ff4d4d33;border-color:var(--accent-primary);color:var(--accent-primary)}.color-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xs)}.color-btn{width:36px;height:36px;border-radius:var(--radius-md);border:3px solid transparent;cursor:pointer;transition:all .2s ease}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#fff;box-shadow:0 0 10px #ffffff80}.brush-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:var(--radius-full);cursor:pointer}.brush-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gradient-fire);cursor:pointer;transition:all .2s ease}.brush-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.canvas-wrapper{position:relative;background:linear-gradient(45deg,#222 25%,transparent 25%),linear-gradient(-45deg,#222 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#222 75%),linear-gradient(-45deg,transparent 75%,#222 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#1a1a1a;border-radius:var(--radius-lg);border:2px solid var(--border-color);overflow:hidden}#paint-canvas{display:block;cursor:crosshair}.paint-actions{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-lg)}.paint-actions .btn{min-width:140px}.cost-badge{font-size:.75rem;padding:2px 8px;background:#0000004d;border-radius:var(--radius-full);margin-left:var(--space-xs)}.wall-indicator{position:fixed;bottom:150px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);border:2px solid var(--accent-tertiary);box-shadow:0 0 30px #00ff884d;animation:indicatorPulse 2s ease infinite;z-index:500}.wall-indicator .key{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent-tertiary);color:var(--bg-primary);font-weight:700;font-size:1.2rem;border-radius:var(--radius-md)}.wall-indicator .indicator-text{font-weight:600;color:var(--text-primary)}@keyframes indicatorPulse{0%,to{box-shadow:0 0 20px #00ff884d;border-color:var(--accent-tertiary)}50%{box-shadow:0 0 40px #00ff8880;border-color:#0f8c}}.credits-info{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:.85rem;color:var(--accent-secondary)}.graffiti-notification{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,#9945ffe6,#ff4d4de6);border-radius:var(--radius-xl);font-weight:600;color:#fff;z-index:1500;animation:notificationSlide 3s ease forwards}@keyframes notificationSlide{0%{transform:translate(-50%) translateY(-100px);opacity:0}15%{transform:translate(-50%) translateY(0);opacity:1}85%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(-100px);opacity:0}}.admin-modal{max-width:600px;max-height:80vh;overflow-y:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color)}.admin-header h2{color:var(--accent-secondary);font-family:var(--font-display)}.admin-header .close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:color .2s}.admin-header .close-btn:hover{color:var(--accent-primary)}.admin-section h3{margin-bottom:var(--space-md);color:var(--text-primary)}.admin-users-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:250px;overflow-y:auto;padding:var(--space-sm);background:var(--bg-tertiary);border-radius:var(--radius-md)}.admin-user-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--bg-card);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;border:2px solid transparent}.admin-user-item:hover{background:var(--bg-hover);border-color:var(--accent-purple)}.admin-user-item.selected{border-color:var(--accent-tertiary);background:#00ff881a}.admin-user-item .user-info{display:flex;align-items:center;gap:var(--space-sm)}.admin-user-item .username{font-weight:600}.admin-user-item .admin-badge{font-size:.7rem;padding:2px 6px;background:var(--accent-secondary);color:var(--bg-primary);border-radius:var(--radius-full)}.admin-user-item .user-credits{display:flex;align-items:center;gap:var(--space-xs);color:var(--accent-secondary);font-weight:600}.give-credits-form{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.give-credits-form .selected-user{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.give-credits-form .current-credits{color:var(--text-secondary);font-size:.9rem}.credits-input-group label{display:block;margin-bottom:var(--space-sm);color:var(--text-secondary)}.credits-buttons{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.credits-amount-btn{padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--accent-tertiary);font-weight:600;cursor:pointer;transition:all .2s}.credits-amount-btn:hover{background:var(--accent-tertiary);color:var(--bg-primary);border-color:var(--accent-tertiary)}.custom-amount{display:flex;gap:var(--space-sm);align-items:center}.custom-amount input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem}.custom-amount input:focus{outline:none;border-color:var(--accent-purple)}.loading-users{text-align:center;padding:var(--space-lg);color:var(--text-secondary)}.admin-modal-full{max-width:900px;max-height:85vh;overflow-y:auto;width:95%}.admin-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:2px solid var(--border-color);padding-bottom:var(--space-sm)}.admin-tab{padding:var(--space-sm) var(--space-lg);background:transparent;border:none;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-2px}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-tertiary);border-bottom-color:var(--accent-tertiary)}.admin-tab-content{display:none}.admin-tab-content.active{display:block}.admin-toolbar{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;align-items:center}.admin-toolbar input,.admin-toolbar select{padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.admin-toolbar input{flex:1;min-width:200px}.admin-toolbar select{min-width:150px}.admin-table-container{overflow-x:auto;margin-bottom:var(--space-md)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border-color)}.admin-table th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;white-space:nowrap}.admin-table tbody tr:hover{background:var(--bg-hover)}.admin-table .user-cell{display:flex;align-items:center;gap:var(--space-sm)}.admin-table .user-cell .username{font-weight:600;color:var(--text-primary);cursor:pointer}.admin-table .user-cell .username:hover{color:var(--accent-tertiary)}.admin-table .admin-badge{font-size:.65rem;padding:2px 5px;background:var(--accent-secondary);color:var(--bg-primary)}.admin-table .mod-badge{font-size:.65rem;padding:2px 5px;background:var(--accent-purple);color:var(--bg-primary);margin-left:var(--space-xs)}.admin-table .online-dot{width:8px;height:8px;background:var(--accent-tertiary);display:inline-block;margin-right:var(--space-xs)}.admin-table .location-cell{color:var(--text-secondary);font-size:.8rem}.admin-table .time-cell{color:var(--accent-purple);font-weight:500}.admin-table .actions-cell{display:flex;gap:var(--space-xs)}.admin-table .action-btn{padding:4px 8px;font-size:.75rem;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all .2s}.admin-table .action-btn:hover{background:var(--bg-hover)}.admin-table .action-btn.danger{border-color:var(--accent-primary);color:var(--accent-primary)}.admin-table .action-btn.danger:hover{background:var(--accent-primary);color:var(--bg-primary)}.admin-table .loading-row{text-align:center;color:var(--text-secondary);padding:var(--space-xl)}.backup-status{padding:10px 16px;margin-bottom:12px;font-size:.85rem}.backup-status-info{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.backup-status-ok{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.backup-status-error{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-danger{background:#ef444433!important;color:#f87171!important;border:1px solid rgba(239,68,68,.4)!important}.btn-danger:hover{background:#ef444466!important}.badge-gold{background:#f59e0b33;color:#fbbf24;padding:2px 8px;font-size:.75rem}.badge-green{background:#22c55e33;color:#4ade80;padding:2px 8px;font-size:.75rem}.mod-perms-list{display:flex;flex-direction:column;gap:8px}.mod-perm-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);font-size:.9rem}.mod-perm-item:hover{border-color:var(--color-fire)}.mod-perm-item input[type=checkbox]{accent-color:var(--color-fire);width:18px;height:18px}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-md)}.admin-pagination .btn{padding:var(--space-xs) var(--space-md)}.admin-pagination span{color:var(--text-secondary);font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.stat-card{background:var(--bg-tertiary);padding:var(--space-lg);text-align:center;border:1px solid var(--border-color)}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--accent-tertiary);font-family:var(--font-display)}.stat-card .stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:var(--space-xs)}.stats-countries h3{margin-bottom:var(--space-md);color:var(--text-primary)}.countries-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.country-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:.85rem}.country-item .count{color:var(--accent-secondary);font-weight:600}.sessions-list{display:flex;flex-direction:column;gap:var(--space-sm)}.session-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color)}.session-item .session-user{font-weight:600;color:var(--text-primary)}.session-item .session-mode{padding:2px 8px;background:var(--accent-purple);color:var(--bg-primary);font-size:.75rem;text-transform:uppercase}.session-item .session-mode.fps{background:var(--accent-primary)}.session-item .session-mode.survival{background:var(--accent-secondary)}.session-item .session-mode.practice{background:#9b59b6}.session-item .session-mode.pvp{background:#e74c3c}.session-item .session-mode.rapping{background:var(--accent-tertiary)}.session-item .session-info{display:flex;gap:var(--space-md);color:var(--text-secondary);font-size:.85rem}.user-detail-modal{max-width:600px;max-height:80vh;overflow-y:auto}.user-detail-content{display:flex;flex-direction:column;gap:var(--space-md)}.user-detail-section{padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color)}.user-detail-section h4{margin-bottom:var(--space-sm);color:var(--accent-secondary);font-size:.9rem}.user-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.user-detail-item{display:flex;flex-direction:column}.user-detail-item .label{font-size:.75rem;color:var(--text-secondary)}.user-detail-item .value{font-weight:600;color:var(--text-primary)}.user-detail-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.user-detail-actions .btn.success{background:var(--accent-tertiary);border-color:var(--accent-tertiary);color:var(--bg-primary)}.user-detail-actions .btn.success:hover{background:#27ae60}.user-detail-actions .btn.warning{background:var(--accent-secondary);border-color:var(--accent-secondary);color:var(--bg-primary)}.user-detail-actions .btn.warning:hover{background:#d35400}.mod-modal{max-width:600px;max-height:80vh;overflow-y:auto}.mod-panel-content{display:flex;flex-direction:column;gap:var(--space-md)}.mod-users-list{min-height:200px;max-height:400px;overflow-y:auto;background:var(--bg-tertiary);border:1px solid var(--border-color);padding:var(--space-md)}.mod-users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-sm)}.mod-user-item{padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border-color)}.mod-username{font-weight:500;color:var(--text-primary)}.credits-input-inline{display:flex;gap:var(--space-xs);align-items:center}.credits-input-inline input{width:100px;padding:var(--space-xs) var(--space-sm);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}#no-credits-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000}.no-credits-content{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-xl);text-align:center;max-width:400px;border:1px solid var(--border-color)}.no-credits-icon{font-size:4rem;margin-bottom:var(--space-md)}.no-credits-content h2{margin-bottom:var(--space-md);color:var(--accent-primary)}.no-credits-content p{margin-bottom:var(--space-sm);color:var(--text-secondary)}.no-credits-content .current-credits{margin-bottom:var(--space-lg)}.buy-credits-btn{position:relative;width:100%;margin-bottom:var(--space-md);opacity:.6;cursor:not-allowed}.buy-credits-btn .coming-soon{display:block;font-size:.75rem;color:var(--accent-secondary);margin-top:4px}.close-modal-btn{width:100%}.leave-btn{background:#ff4d4d33!important;border:1px solid var(--accent-primary)!important;color:var(--accent-primary)!important;margin-left:auto}.leave-btn:hover{background:var(--accent-primary)!important;color:#fff!important}.settings-modal{max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.settings-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg)}.settings-header h2{font-family:var(--font-display);color:var(--accent-secondary);margin:0}.settings-header .close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:color .2s}.settings-header .close-btn:hover{color:var(--accent-primary)}.settings-content{display:flex;gap:var(--space-xl);flex:1;overflow:hidden}.avatar-preview-3d{position:relative;width:280px;height:350px;background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-radius:var(--radius-lg);border:2px solid var(--border-color);overflow:hidden;flex-shrink:0}.avatar-preview-3d canvas{width:100%;height:100%;display:block;cursor:grab}.avatar-preview-3d canvas:active{cursor:grabbing}.preview-hint{position:absolute;bottom:var(--space-sm);left:50%;transform:translate(-50%);font-size:.75rem;color:var(--text-muted);background:#00000080;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full)}.avatar-preview-3d .avatar-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0a0a0fe6;padding:var(--space-md);border-radius:var(--radius-md)}.avatar-selection{flex:1;display:flex;flex-direction:column;overflow:hidden}.avatar-selection h3{margin:0 0 var(--space-md) 0;color:var(--text-primary);font-size:1rem}.avatar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);overflow-y:auto;padding-right:var(--space-sm);max-height:300px}.avatar-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-sm);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.avatar-card:hover{background:var(--bg-hover);border-color:var(--accent-tertiary);transform:translateY(-2px)}.avatar-card.active{background:#00ff881a;border-color:var(--accent-tertiary);box-shadow:0 0 15px #00ff884d}.avatar-image{width:70px;height:70px;border-radius:var(--radius-md);object-fit:cover;margin-bottom:var(--space-xs);background:var(--bg-secondary)}.avatar-name{font-size:.8rem;color:var(--text-secondary);font-weight:500;text-align:center}.avatar-card.active .avatar-name{color:var(--accent-tertiary)}.custom-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));font-size:1.8rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.custom-badge{font-size:.6rem;background:var(--accent-secondary);color:#fff;padding:2px 6px;border-radius:3px;margin-top:4px;text-transform:uppercase;font-weight:600}.avatar-card[data-custom=true]{position:relative;border-style:dashed}.avatar-card[data-custom=true]:hover{border-color:var(--accent-secondary)}.avatar-card[data-custom=true].active{border-style:solid;border-color:var(--accent-secondary);box-shadow:0 0 15px #ff66004d}.settings-actions{display:flex;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.settings-actions .btn{min-width:120px}@media(max-width:600px){.settings-content{flex-direction:column}.avatar-preview-3d{width:100%;height:250px}.avatar-grid{grid-template-columns:repeat(3,1fr);max-height:200px}.avatar-image{width:50px;height:50px}}.weapon-editor-content{max-width:900px;width:95%}.weapon-editor-layout{display:flex;gap:20px}.weapon-preview-3d{flex:1;min-width:400px;height:500px;background:#15151f;position:relative}.weapon-preview-3d canvas{width:100%;height:100%;cursor:grab}.weapon-preview-3d canvas:active{cursor:grabbing}.weapon-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#888}.weapon-editor-controls{width:300px;max-height:500px;overflow-y:auto;padding-right:10px}.weapon-editor-controls .control-group{display:flex;align-items:center;gap:10px;margin-bottom:10px}.weapon-editor-controls label{width:90px;font-size:12px;color:#aaa}.weapon-editor-controls input[type=range]{flex:1;height:6px;-webkit-appearance:none;background:#333}.weapon-editor-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#0f0;cursor:pointer}.weapon-editor-controls select{flex:1;padding:8px;background:#222;border:1px solid #444;color:#fff;font-size:13px}.weapon-editor-controls span{width:45px;font-size:11px;color:#0f0;font-family:monospace}#we-config-output{margin-top:5px;font-family:monospace;color:#0f0}@media(max-width:800px){.weapon-editor-layout{flex-direction:column}.weapon-preview-3d{min-width:100%;height:300px}.weapon-editor-controls{width:100%}}.damage-editor-content{max-width:95vw;width:1100px;max-height:90vh;overflow-y:auto}.damage-editor-layout{display:grid;grid-template-columns:1fr 1fr 220px;gap:12px;padding:12px}.damage-preview-area{display:flex;flex-direction:column;align-items:center}.damage-preview-area canvas{width:100%;height:220px;background:#0a0a12;border:1px solid #333}.damage-legend{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center}.legend-item{display:flex;align-items:center;gap:3px;font-size:9px;color:#888}.legend-color{width:10px;height:10px;border:1px solid #555}.body-damage-area{display:flex;flex-direction:column;align-items:center}.body-damage-area h4{margin:0 0 8px;font-size:11px;color:#888;text-transform:uppercase}.body-damage-canvas-container{position:relative;width:100%;height:220px;background:#0a0a12;border:1px solid #333}#body-damage-canvas{width:100%;height:100%}.body-damage-legend{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap;justify-content:center}.body-zone-controls{display:flex;flex-direction:column;gap:6px;margin-top:8px;width:100%}.zone-control{display:flex;align-items:center;gap:6px;font-size:10px}.zone-control .zone-indicator{width:14px;height:14px;border:1px solid #555}.zone-control label{width:50px;color:#aaa}.zone-control input[type=range]{flex:1;height:4px;background:#333}.zone-control span{width:35px;text-align:right;font-size:10px;font-weight:700}.damage-editor-controls{width:100%;max-height:calc(90vh - 100px);overflow-y:auto;padding-right:5px}.damage-editor-controls .control-group{display:flex;align-items:center;gap:6px;margin-bottom:8px}.damage-editor-controls label{width:75px;font-size:10px;color:#aaa}.damage-editor-controls input[type=range]{flex:1;height:4px;background:#333;border:none}.damage-editor-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--primary);border-radius:0;cursor:pointer}.damage-editor-controls select{flex:1;padding:5px;background:#1a1a28;border:1px solid #333;color:#fff;font-size:10px}.damage-editor-controls span{width:35px;font-size:10px;color:#0f0;text-align:right}.stats-display{background:#1a1a28;padding:6px 8px;margin:6px 0}.stat-row{display:flex;justify-content:space-between;font-size:10px;padding:2px 0}.stat-row span:first-child{color:#888}.stat-row span:last-child{color:#0f0;font-weight:700}.damage-graph-container{margin-top:10px}.damage-graph-container label{display:block;margin-bottom:4px;font-size:10px;color:#aaa}.damage-graph-container canvas{width:100%;height:60px;background:#111;border:1px solid #333}#de-config-output{font-size:8px!important;max-height:60px!important}#de-copy-config{padding:6px;font-size:10px}@media(max-width:900px){.damage-editor-layout{grid-template-columns:1fr 1fr}.damage-editor-controls{grid-column:1 / -1}}@media(max-width:600px){.damage-editor-layout{grid-template-columns:1fr}.damage-preview-area canvas,.body-damage-canvas-container{height:180px}}.map-admin-content{max-width:95vw;width:1000px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.map-admin-layout{display:grid;grid-template-columns:300px 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.map-admin-sidebar{background:#0d0d14;border-right:1px solid #2a2a3a;display:flex;flex-direction:column;overflow:hidden}.map-admin-tabs{display:flex;border-bottom:1px solid #2a2a3a}.map-tab{flex:1;padding:12px 8px;background:transparent;border:none;color:#888;font-size:12px;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.map-tab:hover{color:#fff;background:#ffffff08}.map-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#00ff880d}.map-admin-search{padding:10px;border-bottom:1px solid #2a2a3a}.map-admin-search input{width:100%;padding:8px 12px;background:#1a1a28;border:1px solid #333;color:#fff;font-size:12px}.map-admin-search input:focus{border-color:var(--primary);outline:none}.map-list-container{flex:1;overflow-y:auto;padding:8px}.map-list-loading{text-align:center;padding:40px 20px;color:#666;font-size:12px}.map-list-empty{text-align:center;padding:40px 20px;color:#555;font-size:12px}.map-list-empty .empty-icon{font-size:32px;margin-bottom:10px;opacity:.5}.map-list-item{display:flex;flex-direction:column;padding:12px;margin-bottom:6px;background:#15151f;border:1px solid #2a2a3a;cursor:pointer;transition:all .15s ease}.map-list-item:hover{background:#1a1a28;border-color:#444}.map-list-item.active{background:#00ff8814;border-color:var(--primary)}.map-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.map-item-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.map-item-badges{display:flex;gap:4px}.map-badge{font-size:9px;padding:2px 5px;font-weight:600;text-transform:uppercase}.map-badge.public{background:#00ff8826;color:#0f8}.map-badge.private{background:#ff646426;color:#f88}.map-badge.featured{background:#ffd70033;color:gold}.map-item-stats{display:flex;gap:12px;font-size:10px;color:#666}.map-item-stat{display:flex;align-items:center;gap:3px}.map-item-stat svg{width:12px;height:12px;opacity:.7}.map-create-btn{margin:10px;padding:12px;font-size:13px;font-weight:600}.map-admin-main{display:flex;flex-direction:column;overflow:hidden;background:#0a0a12}.map-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center}.map-empty-state .empty-icon{font-size:64px;margin-bottom:20px;opacity:.4}.map-empty-state h3{margin:0 0 10px;font-size:18px;color:#888}.map-empty-state p{margin:0;font-size:13px;color:#555;max-width:280px}.map-form-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.map-form-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #2a2a3a;background:#0d0d14}.map-form-header h3{margin:0;font-size:16px;color:#fff}.map-id-badge{font-size:10px;padding:3px 8px;background:#1a1a28;color:#666;font-family:monospace}.map-form-grid{flex:1;overflow-y:auto;padding:20px}.map-form-grid .form-group{margin-bottom:16px}.map-form-grid .form-group label{display:block;margin-bottom:6px;font-size:12px;color:#888;font-weight:500}.map-form-grid .form-group input[type=text],.map-form-grid .form-group input[type=number],.map-form-grid .form-group textarea,.map-form-grid .form-group select{width:100%;padding:10px 12px;background:#15151f;border:1px solid #2a2a3a;color:#fff;font-size:13px;transition:border-color .2s ease}.map-form-grid .form-group input:focus,.map-form-grid .form-group textarea:focus,.map-form-grid .form-group select:focus{border-color:var(--primary);outline:none}.map-form-grid .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.map-stats-section{margin-top:20px;padding:16px;background:#15151f;border:1px solid #2a2a3a}.map-stats-section h4{margin:0 0 12px;font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.map-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.map-stats-grid .stat-item{text-align:center}.map-stats-grid .stat-value{display:block;font-size:20px;font-weight:700;color:var(--primary);margin-bottom:2px}.map-stats-grid .stat-label{font-size:10px;color:#666;text-transform:uppercase}.map-data-preview{margin-top:20px;padding:16px;background:#15151f;border:1px solid #2a2a3a}.map-data-preview h4{margin:0 0 12px;font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.map-content-summary{display:flex;gap:20px}.map-content-summary .content-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#aaa}.map-content-summary .content-icon{font-size:16px}.map-form-actions{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #2a2a3a;background:#0d0d14}.map-form-actions .btn{padding:10px 20px;font-size:12px;font-weight:600}.map-form-actions .btn-ghost{margin-right:auto}.map-form-actions .btn-danger{background:#ff444426;color:#f44;border:1px solid rgba(255,68,68,.3)}.map-form-actions .btn-danger:hover{background:#ff444440}.map-form-actions .btn-accent{background:linear-gradient(135deg,var(--primary),var(--accent-secondary));color:#000;border:none}.map-form-actions .btn-accent:hover{filter:brightness(1.1)}.map-admin-btn{background:linear-gradient(135deg,#00ff881a,#9945ff1a);border:1px solid rgba(0,255,136,.3)}.map-admin-btn:hover{background:linear-gradient(135deg,#0f83,#9945ff33);border-color:var(--primary)}@media(max-width:768px){.map-admin-layout{grid-template-columns:1fr}.map-admin-sidebar{max-height:250px;border-right:none;border-bottom:1px solid #2a2a3a}.map-stats-grid{grid-template-columns:repeat(2,1fr)}.map-form-grid .form-row{grid-template-columns:1fr}}.hud-top-left{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;z-index:100;max-width:200px}.hud-top-right{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;z-index:100;align-items:flex-end}.fixed-panel{background:#0a0a0fd9;border:1px solid var(--border-color);padding:6px 10px;font-size:.75rem}.fixed-panel.hidden{display:none!important}#room-info.fixed-panel{min-width:160px}.fp-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.fp-title{font-weight:600;font-size:.8rem;color:var(--text-primary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-badge{font-size:.6rem;padding:1px 4px;background:var(--accent-primary);color:#fff;font-weight:700}.fp-role{font-size:.65rem;color:var(--accent-secondary)}.fp-row{display:flex;gap:8px;margin-bottom:4px}.fp-info{display:flex;gap:3px;font-size:.7rem}.fp-label{color:var(--text-muted)}.fp-info .participant-names{color:var(--text-primary);max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-actions{display:flex;gap:4px;margin-top:4px;padding-top:4px;border-top:1px solid var(--border-color)}.fp-btn{padding:2px 6px;font-size:.65rem;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer}.fp-btn:hover{background:var(--bg-hover)}.fp-btn-danger:hover{background:#ff4d4d4d;border-color:var(--accent-primary)}.fp-btn-exit{margin-left:auto;color:var(--text-muted)}.mic-toggle-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all .15s}.mic-toggle-btn:hover{border-color:var(--accent-primary)}.mic-toggle-btn.active{background:var(--accent-primary);border-color:var(--accent-primary)}.mic-icon{font-size:.9rem}.mic-visualizer{width:40px;height:16px;background:var(--bg-secondary)}.beat-display{display:flex;align-items:center;gap:8px}.beat-display .beat-name{font-size:.75rem;font-weight:600;color:var(--accent-secondary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beat-display .beat-bpm{font-size:.7rem;color:var(--accent-tertiary);font-weight:600}.bar-display{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.beat-dots{display:flex;gap:3px}.beat-dot{width:8px;height:8px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.beat-dot.active{background:var(--accent-tertiary);border-color:var(--accent-tertiary)}.bar-numbers{display:flex;gap:2px}.bar-number{width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:.6rem;background:var(--bg-tertiary);color:var(--text-muted)}.bar-number.active{background:var(--accent-primary);color:#fff}#participants-mixer .mixer-content{max-height:120px;overflow-y:auto}.mixer-item{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:.7rem}.mixer-item .name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mixer-item input[type=range]{width:50px;height:3px}#beat-selector.fixed-panel{max-width:180px}.beat-panel-content{font-size:.7rem}.beat-panel-content p{margin:0 0 6px}.beat-panel-content select,.beat-panel-content input[type=text],.beat-panel-content input[type=number]{width:100%;padding:3px 5px;margin-bottom:4px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.65rem}.beat-panel-content .beat-controls,.beat-panel-content .beat-admin-controls,.beat-panel-content .manual-beat-input{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.beat-panel-content button{padding:3px 6px;font-size:.65rem}.chat-fixed{position:absolute;bottom:10px;right:10px;width:220px;height:180px;background:#0a0a0fe6;border:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;transition:height .2s ease}.chat-fixed.minimized{height:28px}.chat-fixed.minimized .chat-body{display:none}.chat-fixed .chat-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:.75rem;font-weight:600;color:var(--text-primary)}.chat-fixed .chat-minimize{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:0 4px}.chat-fixed .chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-fixed .chat-messages{flex:1;overflow-y:auto;padding:6px;font-size:.7rem}.chat-fixed .chat-form{display:flex;gap:4px;padding:4px;border-top:1px solid var(--border-color)}.chat-fixed .chat-form input{flex:1;padding:4px 6px;font-size:.7rem;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.chat-fixed .chat-form button{padding:4px 8px;font-size:.7rem;background:var(--accent-primary);border:none;color:#fff;cursor:pointer}#build-mode-ui{position:fixed;top:80px;left:20px;width:280px;background:#0a0a0ff2;border:2px solid #00ff00;font-family:Courier New,monospace;font-size:13px;color:#fff;z-index:1000;-webkit-user-select:none;user-select:none}#build-mode-ui .bm-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:linear-gradient(90deg,#0f0,#080);color:#000;font-weight:700;font-size:14px}#build-mode-ui .bm-close{background:#000;color:#0f0;border:1px solid #00ff00;width:24px;height:24px;cursor:pointer;font-weight:700}#build-mode-ui .bm-close:hover{background:#0f0;color:#000}#build-mode-ui .bm-section{padding:10px 12px;border-bottom:1px solid #333}#build-mode-ui .bm-section label{display:block;margin-bottom:6px;color:#aaa;font-size:11px;text-transform:uppercase}#build-mode-ui .bm-type-buttons{display:flex;gap:6px}#build-mode-ui .bm-type-btn{flex:1;padding:8px 4px;background:#1a1a1a;border:1px solid #444;color:#888;cursor:pointer;font-size:11px;transition:all .15s}#build-mode-ui .bm-type-btn:hover{border-color:#0f0;color:#fff}#build-mode-ui .bm-type-btn.active{background:#0f0;border-color:#0f0;color:#000;font-weight:700}#build-mode-ui .bm-floor-btn{background:#1a2a1a;border-color:#0a6}#build-mode-ui .bm-floor-btn:hover{border-color:#0fa;color:#0fa}#build-mode-ui .bm-floor-btn.active{background:#0fa;border-color:#0fa;color:#000}#build-mode-ui .bm-floor-controls{background:#00aa661a;border:1px solid #00aa66;padding:8px;margin-bottom:8px}#build-mode-ui .bm-level-buttons{display:flex;gap:4px;margin-top:4px}#build-mode-ui .bm-level-btn{flex:1;padding:6px 4px;background:#1a1a1a;border:1px solid #444;color:#888;cursor:pointer;font-size:11px;font-weight:700;transition:all .15s}#build-mode-ui .bm-level-btn:hover{border-color:#0fa;color:#fff}#build-mode-ui .bm-level-btn.active{background:#0fa;border-color:#0fa;color:#000}#build-mode-ui input[type=range]{width:100%;height:6px;background:#333;outline:none;-webkit-appearance:none}#build-mode-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#0f0;cursor:pointer}#build-mode-ui input[type=color]{width:100%;height:30px;border:1px solid #444;background:#1a1a1a;cursor:pointer}#build-mode-ui .bm-points-section{background:#111;text-align:center;font-size:14px}#build-mode-ui .bm-points-section strong{color:#0f0;font-size:18px}#build-mode-ui .bm-buttons{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid #333}#build-mode-ui .bm-btn{flex:1;padding:10px 6px;border:none;cursor:pointer;font-size:12px;font-weight:700;transition:all .15s}#build-mode-ui .bm-btn-secondary{background:#333;color:#fff}#build-mode-ui .bm-btn-secondary:hover{background:#444}#build-mode-ui .bm-btn-primary{background:#0f0;color:#000}#build-mode-ui .bm-btn-primary:hover{background:#0c0}#build-mode-ui .bm-btn-delete{background:#a00;color:#fff;width:100%}#build-mode-ui .bm-btn-delete:hover{background:#c00}#build-mode-ui .bm-btn-delete.active{background:#f44;color:#000;box-shadow:0 0 10px #f44}#build-mode-ui .bm-options{display:grid;grid-template-columns:1fr 1fr;gap:4px}#build-mode-ui .bm-options label{display:flex;align-items:center;gap:6px;margin:0;font-size:10px;color:#888;cursor:pointer}#build-mode-ui .bm-options input[type=checkbox]{width:14px;height:14px;accent-color:#00ff00}#build-mode-ui .bm-message{padding:8px 12px;text-align:center;font-size:12px;min-height:20px;transition:opacity .3s}#build-mode-ui .bm-help{padding:8px 12px;background:#111;color:#666;font-size:10px;line-height:1.4;text-align:center}.lobby-chat-input{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100}.lobby-chat-input form{display:flex}.lobby-chat-input input{width:400px;padding:12px 20px;background:#000000b3;border:2px solid var(--accent-tertiary);color:#fff;font-size:1rem;text-align:center;outline:none;transition:border-color .2s,box-shadow .2s}.lobby-chat-input input:focus{border-color:var(--accent-secondary);box-shadow:0 0 10px #00ff884d}.lobby-chat-input input::placeholder{color:#ffffff80}.game-mode-btn.house-mode{border-color:var(--accent-purple);background:linear-gradient(135deg,#9945ff1a,#9945ff0d)}.game-mode-btn.house-mode:hover{border-color:var(--accent-purple);box-shadow:0 0 15px #9945ff4d}.game-mode-btn.house-mode.locked{opacity:.6;cursor:not-allowed}.game-mode-btn.house-mode.locked:hover{transform:none;box-shadow:none}.house-level-req{color:var(--accent-purple);font-weight:600}.house-modal .modal-content{max-width:900px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.house-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.house-modal-header h2{margin:0;color:var(--text-primary)}.house-locked-view{text-align:center;padding:var(--space-2xl)}.house-locked-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.8}.house-locked-view h3{color:var(--text-primary);margin-bottom:var(--space-md)}.house-locked-view p{color:var(--text-secondary);margin-bottom:var(--space-xl)}.house-level-progress{max-width:400px;margin:0 auto}.house-progress-bar{height:8px;background:var(--bg-tertiary);margin:var(--space-md) 0;overflow:hidden}.house-progress-fill{height:100%;background:var(--gradient-gold);transition:width .5s ease}.house-main-view{flex:1;overflow:hidden;display:flex;flex-direction:column}.house-tabs{display:flex;border-bottom:1px solid var(--border-color);padding:0 var(--space-lg);gap:var(--space-xs)}.house-tab{padding:var(--space-md) var(--space-lg);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;position:relative;transition:color .2s}.house-tab:hover{color:var(--text-primary)}.house-tab.active{color:var(--accent-purple)}.house-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent-purple)}.house-tab-content{flex:1;padding:var(--space-lg);overflow-y:auto}.house-type-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.house-type-btn{display:flex;flex-direction:column;align-items:center;padding:var(--space-lg);background:var(--bg-tertiary);border:2px solid var(--border-color);cursor:pointer;transition:all .2s}.house-type-btn:hover{border-color:var(--accent-purple);transform:translateY(-2px)}.house-type-btn.selected{border-color:var(--accent-purple);background:#9945ff1a;box-shadow:0 0 15px #9945ff33}.house-type-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}.house-type-name{color:var(--text-primary);font-weight:600;margin-bottom:var(--space-xs)}.house-type-desc{color:var(--text-secondary);font-size:.8rem;text-align:center}.house-create-form{display:flex;gap:var(--space-md);max-width:500px;margin:0 auto}.house-create-form input{flex:1;padding:var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:1rem}.house-create-form input:focus{outline:none;border-color:var(--accent-purple)}.house-info-card{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:var(--space-lg)}.house-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.house-info-header h3{margin:0;color:var(--text-primary)}.house-type-badge{padding:var(--space-xs) var(--space-md);background:var(--accent-purple);color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase}.house-stats{display:flex;justify-content:space-around;padding:var(--space-lg) 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg)}.house-stat{text-align:center}.house-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.house-stat-label{color:var(--text-secondary);font-size:.8rem}.house-actions{display:flex;gap:var(--space-md)}.house-actions .btn{flex:1}.shop-categories{display:flex;gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg);flex-wrap:wrap}.shop-category-btn{padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all .2s}.shop-category-btn:hover{color:var(--text-primary);border-color:var(--accent-purple)}.shop-category-btn.active{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff}.shop-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.shop-item{background:var(--bg-card);border:1px solid var(--border-color);padding:var(--space-md);transition:all .2s}.shop-item:hover{border-color:var(--accent-purple);transform:translateY(-2px)}.shop-item-preview{height:120px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);font-size:3rem;color:var(--text-muted)}.shop-item-name{font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs);font-size:.9rem}.shop-item-category{color:var(--text-muted);font-size:.75rem;margin-bottom:var(--space-sm)}.shop-item-price{display:flex;justify-content:space-between;align-items:center}.shop-price{display:flex;align-items:center;gap:var(--space-xs);color:var(--accent-secondary);font-weight:600}.shop-item-buy{padding:var(--space-xs) var(--space-md);background:var(--accent-purple);border:none;color:#fff;cursor:pointer;font-size:.8rem;transition:all .2s}.shop-item-buy:hover{background:#7a35cc}.shop-item-buy:disabled{background:var(--text-muted);cursor:not-allowed}.shop-item.owned{border-color:var(--accent-tertiary)}.shop-item.owned .shop-item-buy{background:var(--accent-tertiary)}.shop-item[data-rarity=rare]{border-color:#39f}.shop-item[data-rarity=epic]{border-color:var(--accent-purple)}.shop-item[data-rarity=legendary]{border-color:var(--accent-secondary);box-shadow:0 0 10px #ffd70033}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md)}.inventory-item{background:var(--bg-card);border:1px solid var(--border-color);padding:var(--space-md);text-align:center}.inventory-item-preview{height:100px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-sm);font-size:2.5rem}.inventory-item-name{color:var(--text-primary);font-size:.85rem;margin-bottom:var(--space-xs)}.inventory-item-qty{color:var(--text-secondary);font-size:.75rem}.inventory-empty,.shop-loading,.popular-loading{grid-column:1 / -1;text-align:center;color:var(--text-secondary);padding:var(--space-2xl)}.popular-houses-list{display:flex;flex-direction:column;gap:var(--space-md)}.popular-house-card{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--border-color);padding:var(--space-md);cursor:pointer;transition:all .2s}.popular-house-card:hover{border-color:var(--accent-purple);transform:translate(5px)}.popular-house-info{display:flex;align-items:center;gap:var(--space-md)}.popular-house-rank{width:30px;height:30px;background:var(--gradient-gold);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--bg-primary)}.popular-house-details h4{margin:0 0 var(--space-xs) 0;color:var(--text-primary)}.popular-house-owner{color:var(--text-secondary);font-size:.8rem}.popular-house-stats{display:flex;gap:var(--space-lg);color:var(--text-secondary);font-size:.85rem}.popular-house-stats span{display:flex;align-items:center;gap:var(--space-xs)}.character-editor-content{width:95vw;max-width:1400px;height:85vh;display:flex;flex-direction:column}.character-editor-layout{display:flex;flex:1;gap:var(--space-lg);overflow:hidden}.character-editor-sidebar{width:320px;display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;padding-right:var(--space-sm)}.character-editor-main{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-color);position:relative}.character-editor-main canvas{width:100%;height:100%;display:block}.editor-steps{display:flex;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-color)}.editor-steps .step{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm);opacity:.5;cursor:pointer;transition:opacity .2s}.editor-steps .step.active{opacity:1}.editor-steps .step.completed{opacity:.8}.editor-steps .step.completed .step-number{background:var(--accent-tertiary);color:var(--bg-primary)}.editor-steps .step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:2px solid var(--border-color);font-weight:700;font-size:.85rem}.editor-steps .step.active .step-number{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.editor-steps .step-label{font-size:.75rem;color:var(--text-secondary);text-align:center}.editor-panel{background:var(--bg-secondary);border:1px solid var(--border-color);padding:var(--space-md)}.editor-panel h3{margin:0 0 var(--space-md) 0;font-size:1rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-sm)}.upload-dropzone{border:2px dashed var(--border-color);padding:var(--space-xl);text-align:center;cursor:pointer;transition:all .2s}.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.05)}.dropzone-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}.dropzone-content p{margin:0;color:var(--text-secondary);font-size:.9rem}.mesh-info{margin-top:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);font-size:.85rem}.mesh-info p{margin:var(--space-xs) 0}.transform-group{margin-bottom:var(--space-md)}.transform-group label{display:block;margin-bottom:var(--space-xs);font-size:.85rem;color:var(--text-secondary)}.transform-row{display:flex;align-items:center;gap:var(--space-sm)}.transform-row span{font-size:.8rem;color:var(--text-muted);width:15px}.transform-row input[type=number]{flex:1;width:60px;padding:var(--space-xs) var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem}.transform-row input[type=range]{flex:2}.bone-selector{margin-bottom:var(--space-md)}.skeleton-adjust{margin-bottom:var(--space-md);padding:var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color)}.skeleton-adjust>label{display:block;margin-bottom:var(--space-sm);font-size:.85rem;color:var(--text-secondary)}.skeleton-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.skeleton-row span{font-size:.8rem;color:var(--text-muted);min-width:45px}.skeleton-row span:last-child{min-width:35px;text-align:right}.skeleton-row input[type=range]{flex:1}.bone-selector select{width:100%;padding:var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.paint-mode-selector{margin-bottom:var(--space-md);padding:var(--space-sm);background:var(--bg-tertiary)}.paint-mode-selector>label{display:block;margin-bottom:var(--space-xs);font-size:.85rem;color:var(--text-secondary)}.paint-mode-btns{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xs)}.paint-mode-btn{flex:1;padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .15s}.paint-mode-btn:hover{background:var(--bg-primary);border-color:var(--accent-color)}.paint-mode-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:var(--bg-primary)}.mode-icon-small{font-weight:700;font-size:.9rem}.paint-mode-hint{font-size:.75rem;color:var(--text-muted);font-style:italic;padding:var(--space-xs);background:var(--bg-secondary);border-left:2px solid var(--accent-color)}.brush-controls{margin-bottom:var(--space-md)}.brush-controls label{display:block;margin-bottom:var(--space-xs);font-size:.85rem;color:var(--text-secondary)}.brush-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.brush-row span{font-size:.8rem;color:var(--text-muted);min-width:50px}.brush-row input[type=range]{flex:1}.brush-mode{display:flex;gap:var(--space-md);margin:var(--space-sm) 0}.brush-mode label{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;cursor:pointer;margin-top:var(--space-sm)}.animation-preview{margin-bottom:var(--space-md);padding:var(--space-sm);background:var(--bg-tertiary)}.animation-preview label{display:block;margin-bottom:var(--space-xs);font-size:.85rem;color:var(--text-secondary)}.animation-preview select{width:100%;padding:var(--space-xs);margin-bottom:var(--space-xs);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.animation-preview .btn-small{padding:var(--space-xs) var(--space-sm);font-size:.8rem;margin-right:var(--space-xs)}.weight-actions,.save-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.weight-actions .btn,.save-actions .btn{flex:1}.editor-panel .form-group{margin-bottom:var(--space-md)}.editor-panel .form-group label{display:block;margin-bottom:var(--space-xs);font-size:.85rem;color:var(--text-secondary)}.editor-panel .form-group input,.editor-panel .form-group textarea{width:100%;padding:var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.editor-panel .form-group small{display:block;margin-top:var(--space-xs);font-size:.75rem;color:var(--text-muted)}.existing-characters{margin-top:auto;background:var(--bg-secondary);border:1px solid var(--border-color);padding:var(--space-md)}.existing-characters h3{margin:0 0 var(--space-sm) 0;font-size:.9rem;color:var(--text-secondary)}.characters-list{max-height:200px;overflow-y:auto}.characters-list .empty-list{color:var(--text-muted);font-size:.85rem;text-align:center;padding:var(--space-md)}.character-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm);background:var(--bg-tertiary);margin-bottom:var(--space-xs);cursor:pointer;transition:background .2s}.character-item:hover{background:var(--bg-hover)}.character-item-name{font-size:.9rem;color:var(--text-primary)}.character-item-id{font-size:.75rem;color:var(--text-muted)}.character-item-actions{display:flex;gap:var(--space-xs)}.character-item-actions button{padding:var(--space-xs);font-size:.75rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer}.character-item-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}.character-item-actions button.delete:hover{background:#ff4d4d33;border-color:var(--accent-primary);color:var(--accent-primary)}.animation-editor-container{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:10000;display:none;flex-direction:column}.animation-editor-container.active{display:flex}.animation-editor-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.animation-editor-header h2{margin:0;font-size:1.2rem;color:var(--accent-secondary)}.animation-editor-header .controls{display:flex;gap:var(--space-sm)}.animation-editor-main{display:flex;flex:1;overflow:hidden}.animation-list-panel{width:250px;background:var(--bg-tertiary);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.animation-list-header{padding:var(--space-md);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.animation-list-header h3{margin:0;font-size:.95rem;color:var(--text-secondary)}.animation-list{flex:1;overflow-y:auto;padding:var(--space-sm)}.animation-item{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);margin-bottom:var(--space-xs);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s,border-color .2s;border:1px solid transparent}.animation-item:hover{background:var(--bg-hover)}.animation-item.selected{background:#ffd7001a;border-color:var(--accent-secondary)}.animation-item-name{font-size:.9rem;color:var(--text-primary)}.animation-item-duration{font-size:.75rem;color:var(--text-muted)}.animation-center-area{flex:1;display:flex;flex-direction:column}.animation-preview{flex:1;background:#1a1a2e;position:relative;min-height:300px;overflow:hidden}.animation-preview canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.preview-controls{position:absolute;bottom:var(--space-md);left:50%;transform:translate(-50%);display:flex;gap:var(--space-sm);background:#000000d9;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);z-index:100}.preview-controls button{padding:var(--space-xs) var(--space-sm);font-size:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;min-width:40px}.preview-controls button:hover{background:var(--bg-hover)}.preview-controls button.active{background:var(--accent-secondary);color:var(--bg-primary)}.animation-timeline{height:300px;min-height:200px;background:var(--bg-secondary);border-top:2px solid var(--accent-secondary);display:flex;flex-direction:column;position:relative}.timeline-ruler{height:30px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:relative;overflow:hidden}.timeline-ruler-content{position:absolute;top:0;left:80px;right:0;height:100%}.timeline-mark{position:absolute;top:0;width:1px;height:100%;background:var(--border-color)}.timeline-mark-label{position:absolute;top:2px;font-size:.7rem;color:var(--text-muted);transform:translate(-50%)}.timeline-tracks{flex:1;overflow:auto;position:relative;background:var(--bg-secondary)}.timeline-track{display:flex;height:28px;border-bottom:1px solid var(--border-color)}.timeline-track-label{width:80px;min-width:80px;flex-shrink:0;padding:4px 8px;background:var(--bg-tertiary);border-right:1px solid var(--border-color);font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.timeline-track-content{flex:1;position:relative;background:var(--bg-secondary)}.keyframe{position:absolute;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--accent-tertiary);cursor:pointer;transition:transform .1s,background .1s}.keyframe:hover{transform:translate(-50%,-50%) scale(1.3)}.keyframe.selected{background:var(--accent-secondary);box-shadow:0 0 8px var(--accent-secondary)}.keyframe.rotation{background:var(--accent-purple);border-radius:50%}.keyframe.rotation.selected{background:var(--accent-secondary)}.timeline-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--accent-primary);z-index:10;pointer-events:none}.timeline-playhead:before{content:"";position:absolute;top:-5px;left:-5px;width:12px;height:12px;background:var(--accent-primary);transform:rotate(45deg)}.keyframe-editor-panel{width:280px;background:var(--bg-tertiary);border-left:1px solid var(--border-color);padding:var(--space-md);overflow-y:auto}.keyframe-editor-panel h3{margin:0 0 var(--space-md) 0;font-size:.95rem;color:var(--text-secondary)}.keyframe-editor-section{margin-bottom:var(--space-lg)}.keyframe-editor-section h4{margin:0 0 var(--space-sm) 0;font-size:.85rem;color:var(--accent-secondary)}.keyframe-editor-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.keyframe-editor-row label{width:30px;font-size:.8rem;color:var(--text-secondary)}.keyframe-editor-row input[type=number]{flex:1;padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.85rem}.keyframe-editor-row input[type=number]:focus{outline:none;border-color:var(--accent-secondary)}.keyframe-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.keyframe-actions button{flex:1;padding:var(--space-sm);font-size:.85rem}.new-animation-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-card);padding:var(--space-xl);border:1px solid var(--border-color);z-index:10001;min-width:350px;display:none}.new-animation-modal.active{display:block}.new-animation-modal h3{margin:0 0 var(--space-lg) 0;color:var(--accent-secondary)}.new-animation-modal .form-group{margin-bottom:var(--space-md)}.new-animation-modal label{display:block;margin-bottom:var(--space-xs);font-size:.9rem;color:var(--text-secondary)}.new-animation-modal input{width:100%;padding:var(--space-sm);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:.9rem}.new-animation-modal .modal-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.new-animation-modal .modal-actions button{flex:1;padding:var(--space-sm)}.animation-editor-container .btn-new{background:var(--accent-tertiary);color:var(--bg-primary)}.animation-editor-container .btn-save{background:var(--accent-secondary);color:var(--bg-primary)}.animation-editor-container .btn-close{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.animation-editor-container .btn-delete{background:var(--accent-primary);color:#fff}.animation-empty-state{padding:var(--space-xl);text-align:center;color:var(--text-muted)}.animation-empty-state p{margin-bottom:var(--space-md)}
