:root{--poke-red: #E53935;--poke-red-dark: #B71C1C;--poke-white: #F5F5F5;--poke-black: #1A1A2E;--poke-gray: #2D2D44;--bg-dark: #060A10;--bg-card: #0E1420;--accent-blue: #FF6D00;--accent-cyan: #FF8C00;--accent-yellow: #FFAB40;--success: #22C55E;--error: #EF4444;--text: #FFFFFF;--text-muted: rgba(255, 255, 255, .6)}.pokeball-login-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2rem 1rem;background:linear-gradient(180deg,#060a10,#0e1420,#060a10);position:relative;overflow:hidden;font-family:"Exo 2",Segoe UI,system-ui,-apple-system,sans-serif}.particles-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:var(--accent-cyan);border-radius:50%;opacity:0;animation:float-up 5s ease-in-out infinite}@keyframes float-up{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-20vh) scale(1)}}.login-header{text-align:center;margin-bottom:1.5rem;z-index:10;transition:all .6s cubic-bezier(.4,0,.2,1)}.login-header.header-up{transform:translateY(-20px);margin-bottom:1rem}.login-title{display:flex;flex-direction:column;gap:.25rem;margin:0}.title-pokemon{font-family:Orbitron,"Exo 2",sans-serif;font-size:2.5rem;font-weight:900;color:var(--accent-yellow);letter-spacing:.15em;text-shadow:0 0 30px rgba(251,191,36,.5),0 2px 0 #B45309;line-height:1}.title-arena{font-family:Orbitron,"Exo 2",sans-serif;font-size:.85rem;font-weight:600;color:var(--text-muted);letter-spacing:.4em;text-transform:uppercase}.pokeball-container{position:relative;width:180px;height:180px;z-index:20;margin-bottom:1rem;transition:all .6s cubic-bezier(.4,0,.2,1)}.pokeball-container.opened{transform:scale(.7) translateY(-20px);margin-bottom:0}.pokeball{width:100%;height:100%;position:relative;cursor:pointer;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5));transition:transform .3s ease}.pokeball:hover{transform:scale(1.05)}.pokeball-container.opened .pokeball{cursor:default}.pokeball-container.opened .pokeball:hover{transform:none}.pokeball-top{position:absolute;top:0;left:0;right:0;height:50%;overflow:hidden;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-origin:center bottom}.pokeball-container.opened .pokeball-top{transform:translateY(-25px) rotate(-15deg)}.pokeball-top-inner{width:100%;height:200%;background:linear-gradient(180deg,#FF4444 0%,var(--poke-red) 40%,var(--poke-red-dark) 100%);border-radius:50%;border:6px solid var(--poke-gray);box-sizing:border-box;position:relative}.shine{position:absolute;top:15%;left:18%;width:35%;height:25%;background:linear-gradient(135deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.1) 50%,transparent 100%);border-radius:50%;transform:rotate(-30deg)}.pokeball-bottom{position:absolute;bottom:0;left:0;right:0;height:50%;overflow:hidden;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-origin:center top}.pokeball-container.opened .pokeball-bottom{transform:translateY(25px) rotate(10deg)}.pokeball-bottom-inner{width:100%;height:200%;background:linear-gradient(0deg,#E8E8E8 0%,var(--poke-white) 40%,#FFFFFF 100%);border-radius:50%;border:6px solid var(--poke-gray);box-sizing:border-box;transform:translateY(-50%)}.pokeball-middle{position:absolute;top:50%;left:0;right:0;height:16px;background:var(--poke-gray);transform:translateY(-50%);z-index:30;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.pokeball-container.opened .pokeball-middle{opacity:0}.pokeball-button{width:56px;height:56px;background:linear-gradient(145deg,#4A4A6A,var(--poke-gray));border:5px solid var(--poke-gray);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #ffffff1a,0 4px 15px #0000004d,inset 0 2px 4px #ffffff1a;animation:button-glow 2s ease-in-out infinite;transition:all .3s ease}.pokeball:hover .pokeball-button{transform:scale(1.1)}@keyframes button-glow{0%,to{box-shadow:0 0 0 4px #ffffff1a,0 4px 15px #0000004d,0 0 20px #ff6d004d}50%{box-shadow:0 0 0 4px #fff3,0 4px 20px #0006,0 0 40px #ff6d0099}}.button-inner{width:36px;height:36px;background:radial-gradient(circle at 30% 30%,#fff,#e0e0e0,#ccc);border-radius:50%;display:flex;align-items:center;justify-content:center}.button-spinner{width:20px;height:20px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--poke-red);border-radius:50%;animation:spin .8s linear infinite}.open-flash{position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:none}.pokeball-container.opened .open-flash{animation:flash-burst .6s ease-out forwards}@keyframes flash-burst{0%{width:0;height:0;opacity:1}50%{opacity:.8}to{width:300px;height:300px;opacity:0}}.click-hint{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem;animation:hint-bounce 2s ease-in-out infinite}@keyframes hint-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}.hint-ring{width:60px;height:60px;border:2px solid var(--accent-blue);border-radius:50%;position:absolute;top:-105px;animation:ring-pulse 2s ease-out infinite;opacity:0}@keyframes ring-pulse{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.5);opacity:0}}.login-form-container{width:100%;max-width:360px;z-index:10;opacity:0;transform:translateY(30px) scale(.95);pointer-events:none;transition:all .5s cubic-bezier(.4,0,.2,1);transition-delay:.2s}.login-form-container.form-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.form-card{background:var(--bg-card);border:1px solid rgba(255,109,0,.2);border-radius:24px;padding:2rem;position:relative;overflow:hidden;box-shadow:0 20px 50px #0009,0 0 30px #ff6d0014,inset 0 1px #ff6d001a}.form-glow{position:absolute;top:-50%;left:50%;transform:translate(-50%);width:200%;height:100%;background:radial-gradient(ellipse at center,rgba(255,109,0,.1) 0%,transparent 60%);pointer-events:none}.form-title{font-family:Orbitron,"Exo 2",sans-serif;text-align:center;color:var(--text);font-size:1.3rem;font-weight:700;margin:0 0 1.5rem;letter-spacing:.05em}.login-error{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:12px;margin-bottom:1.25rem;color:#fca5a5;font-size:.9rem}.error-icon{width:20px;height:20px;flex-shrink:0}.login-form{display:flex;flex-direction:column;gap:1rem}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;width:20px;height:20px;color:var(--text-muted);pointer-events:none;transition:color .3s ease}.input-icon svg{width:100%;height:100%}.login-input{width:100%;padding:1rem 1rem 1rem 3rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:14px;color:var(--text);font-size:1rem;outline:none;transition:all .3s ease}.login-input:focus{border-color:var(--accent-blue);background:#ff6d000d;box-shadow:0 0 0 4px #ff6d0026,0 0 20px #ff6d001a}.login-input:focus+.input-icon,.input-group:focus-within .input-icon{color:var(--accent-blue)}.login-input::-moz-placeholder{color:#ffffff59}.login-input::placeholder{color:#ffffff59}.login-input:disabled{opacity:.5;cursor:not-allowed}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--poke-red) 0%,var(--poke-red-dark) 100%);border:none;border-radius:14px;color:var(--text);font-family:Orbitron,"Exo 2",sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;margin-top:.5rem;box-shadow:0 4px 20px #e5393566}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #e5393580}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon{width:20px;height:20px}.btn-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.divider{display:flex;align-items:center;margin:1.25rem 0;color:var(--text-muted);font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.divider span{padding:0 1rem}.guest-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;background:transparent;border:2px solid rgba(255,255,255,.15);border-radius:14px;color:var(--text-muted);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.guest-btn:hover:not(:disabled){border-color:#ffffff4d;color:var(--text);background:#ffffff0d}.guest-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2rem;max-width:380px;width:100%;text-align:center;box-shadow:0 25px 60px #00000080;animation:slide-up .3s ease}@keyframes slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-icon{width:64px;height:64px;margin:0 auto 1rem;color:var(--accent-yellow)}.modal-icon svg{width:100%;height:100%}.modal-card h3{color:var(--text);font-size:1.25rem;font-weight:700;margin:0 0 .75rem}.modal-card p{color:var(--text-muted);font-size:.95rem;line-height:1.6;margin:0 0 1.5rem}.modal-actions{display:flex;gap:1rem}.btn-cancel,.btn-confirm{flex:1;padding:.875rem 1rem;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-cancel{background:#ffffff1a;color:var(--text)}.btn-cancel:hover{background:#ffffff26}.btn-confirm{background:linear-gradient(135deg,var(--poke-red) 0%,var(--poke-red-dark) 100%);color:var(--text)}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e5393566}.login-footer{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem;background:linear-gradient(0deg,rgba(6,10,16,.95) 0%,transparent 100%);z-index:50}.server-status{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 10px var(--success);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-dot.offline{background:var(--error);box-shadow:0 0 10px var(--error)}.version{color:var(--text-muted);font-size:.8rem;font-family:monospace;opacity:.7}@media (max-width: 480px){.pokeball-login-container{padding:1.5rem 1rem}.title-pokemon{font-size:2rem}.title-arena{font-size:.85rem;letter-spacing:.3em}.pokeball-container{width:150px;height:150px}.pokeball-container.opened{transform:scale(.6) translateY(-15px)}.form-card{padding:1.5rem;border-radius:20px}.form-title{font-size:1.25rem}.login-input{padding:.875rem .875rem .875rem 2.75rem}.submit-btn,.guest-btn{padding:.875rem 1rem}}@media (max-height: 700px){.login-header{margin-bottom:1rem}.pokeball-container{width:140px;height:140px;margin-bottom:.5rem}.pokeball-container.opened{transform:scale(.5) translateY(-10px)}.form-card{padding:1.25rem}.login-form{gap:.75rem}.divider{margin:.75rem 0}}.pokeball-login-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(rgba(255,109,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,109,0,.025) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:1}.pokeball-login-container:after{content:"";position:absolute;left:0;right:0;top:-15%;height:15%;background:linear-gradient(180deg,transparent 0%,rgba(255,109,0,.02) 25%,rgba(255,109,0,.08) 48%,rgba(255,140,0,.14) 50%,rgba(255,109,0,.08) 52%,rgba(255,109,0,.02) 75%,transparent 100%);animation:loginScanLine 10s linear infinite;pointer-events:none;z-index:1}@keyframes loginScanLine{0%{transform:translateY(0)}to{transform:translateY(800%)}}:root{--pokedex-red: #E53935;--pokedex-red-dark: #B71C1C;--pokedex-blue: #1E88E5;--pokedex-yellow: #FFD700;--pokedex-cyan: #00BCD4;--pokedex-green: #4CAF50;--bg-primary: #0F172A;--bg-secondary: #1E293B;--bg-card: #1A1F2E;--bg-hover: #252B3D;--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #64748B;--border-color: rgba(255, 255, 255, .1);--glow-blue: rgba(30, 136, 229, .5);--glow-red: rgba(229, 57, 53, .5);--sidebar-width: 240px;--sidebar-collapsed: 70px;--header-height: 70px;--footer-height: 50px}.pokedex-dashboard{height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);font-family:"Exo 2",Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}.pokedex-header{height:var(--header-height);background:linear-gradient(180deg,var(--pokedex-red) 0%,var(--pokedex-red-dark) 100%);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;box-shadow:0 4px 20px #0000004d;z-index:100;position:relative}.pokedex-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.5) 50%,transparent 100%)}.pokedex-logo{display:flex;align-items:center;gap:.75rem}.logo-ball{position:relative;width:40px;height:40px;border-radius:50%;overflow:hidden;box-shadow:0 2px 10px #0000004d}.logo-ball-top{position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#dc2626,#b91c1c)}.logo-ball-bottom{position:absolute;bottom:0;left:0;right:0;height:50%;background:#fff}.logo-ball-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border:2px solid #1F2937;border-radius:50%;z-index:10}.logo-text{display:flex;flex-direction:column}.logo-title{font-family:Orbitron,"Exo 2",sans-serif;font-size:1.25rem;font-weight:900;letter-spacing:.1em;color:#fff;line-height:1}.logo-subtitle{font-family:Orbitron,"Exo 2",sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.25em;color:#fffc;text-transform:uppercase}.header-leds{display:flex;gap:.5rem}.led{width:10px;height:10px;border-radius:50%;border:2px solid rgba(0,0,0,.3);animation:ledPulse 2s ease-in-out infinite}.led-blue{background:var(--pokedex-blue);box-shadow:0 0 10px var(--pokedex-blue);animation-delay:0s}.led-red{background:var(--pokedex-red);box-shadow:0 0 10px var(--pokedex-red);animation-delay:.3s}.led-yellow{background:var(--pokedex-yellow);box-shadow:0 0 10px var(--pokedex-yellow);animation-delay:.6s}@keyframes ledPulse{0%,to{opacity:.5}50%{opacity:1}}.header-right{display:flex;align-items:center;gap:1rem}.header-time{font-family:Orbitron,Courier New,monospace;font-size:1rem;font-weight:700;color:#ffffffe6;background:#0003;padding:.5rem 1rem;border-radius:8px;border:2px solid rgba(255,255,255,.1)}.header-profile-btn{display:flex;align-items:center;gap:.5rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:.5rem 1rem;color:#fff;cursor:pointer;transition:all .3s ease}.header-profile-btn:hover{background:#fff3;border-color:#ffffff4d}.profile-avatar{font-size:1.25rem}.profile-name{font-weight:600;font-size:.9rem}.pokedex-body{flex:1;display:flex;overflow:hidden;min-height:0}.pokedex-sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s ease;z-index:50}.pokedex-sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.5rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:12px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;position:relative}.sidebar-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pokedex-red);transform:scaleY(0);transition:transform .3s ease}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:linear-gradient(90deg,rgba(229,57,53,.2) 0%,transparent 100%);color:var(--text-primary)}.sidebar-item.active:before{transform:scaleY(1)}.sidebar-icon{font-size:1.5rem;width:32px;text-align:center}.sidebar-label{font-weight:600;font-size:.95rem;flex:1;text-align:left}.sidebar-badge{font-size:.65rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;background:var(--pokedex-red);color:#fff;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{opacity:.8}50%{opacity:1;box-shadow:0 0 10px var(--pokedex-red)}}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-color)}.sidebar-toggle{width:100%;padding:.75rem;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;font-size:1.25rem}.sidebar-toggle:hover{background:var(--pokedex-red);color:#fff;border-color:var(--pokedex-red)}.pokedex-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary);min-height:0}.main-header{height:70px;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.main-header-left{display:flex;align-items:baseline;gap:1rem}.main-title{font-family:Orbitron,"Exo 2",sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.75rem}.main-subtitle{font-size:.85rem;color:var(--text-muted);font-weight:400}.player-quick-stats{display:flex;gap:1rem}.quick-stat{display:flex;align-items:center;gap:.5rem;background:var(--bg-secondary);padding:.5rem 1rem;border-radius:10px;border:1px solid var(--border-color)}.quick-stat-icon{font-size:1.1rem}.quick-stat-value{font-weight:700;color:var(--text-primary)}.scroll-indicator{height:2px;background:transparent;transition:background .3s ease,box-shadow .3s ease;flex-shrink:0}.scroll-indicator.visible{background:linear-gradient(90deg,transparent,var(--pokedex-blue),transparent);box-shadow:0 2px 8px #1e88e54d}.main-content{flex:1;padding:2rem;overflow-y:auto;min-height:0;position:relative}.pokedex-sidebar.collapsed .sidebar-item{position:relative}.pokedex-sidebar.collapsed .sidebar-item:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(-4px);background:var(--bg-card);color:var(--text-primary);padding:.4rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap;border:1px solid var(--border-color);box-shadow:0 4px 15px #0000004d;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:200}.pokedex-sidebar.collapsed .sidebar-item:hover:after{opacity:1;transform:translateY(-50%) translate(0)}.sidebar-badge.new-achievements{background:linear-gradient(135deg,#ff6d00,#ff3d00);animation:badgePulse 2s ease-in-out infinite}.sidebar-badge-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#ff3d00;box-shadow:0 0 6px #ff3d00;animation:dotPulse 1.5s ease-in-out infinite}@keyframes dotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.header-greeting{font-size:.85rem;color:#ffffffbf;font-weight:500;letter-spacing:.02em}.lcd-time{display:flex;align-items:center;gap:0}.lcd-digit{display:inline-block;min-width:.65em;text-align:center;animation:lcdTick .3s cubic-bezier(.22,.61,.36,1)}.lcd-colon{animation:colonBlink 1s steps(1) infinite;opacity:1}@keyframes lcdTick{0%{opacity:.3;transform:translateY(-2px)}50%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes colonBlink{0%,49%{opacity:1}50%,to{opacity:.3}}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;padding:1rem 0}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-list{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.skeleton-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-line-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-line{border-radius:4px;background:var(--bg-hover)}.skeleton-icon{width:48px;height:48px;border-radius:12px}.skeleton-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-title{height:14px;width:70%}.skeleton-text{height:10px;width:50%}@keyframes skeletonPulse{0%,to{opacity:.5}50%{opacity:1}}.pokedex-footer{height:var(--footer-height);background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}.connection-status{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.85rem}.status-led{width:8px;height:8px;border-radius:50%;background:var(--pokedex-green);box-shadow:0 0 8px var(--pokedex-green);animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:.6}50%{opacity:1}}.footer-info{display:flex;align-items:center;gap:1rem;color:var(--text-secondary);font-size:.9rem;font-weight:600}.info-divider{opacity:.3}.footer-version{font-family:monospace;color:var(--text-muted);font-size:.85rem}.tab-transition{animation:tabSlideDown .35s cubic-bezier(.22,.61,.36,1) both}.tab-transition.tab-up{animation-name:tabSlideUp}.tab-transition.tab-down{animation-name:tabSlideDown}@keyframes tabSlideDown{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tabSlideUp{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.action-cards>*,.modes-grid>*,.stats-grid>*,.games-actions>*,.achievements-grid>*,.difficulty-grid>*{animation:staggerFadeIn .35s cubic-bezier(.22,.61,.36,1) both}.action-cards>*:nth-child(1),.modes-grid>*:nth-child(1),.stats-grid>*:nth-child(1),.games-actions>*:nth-child(1),.achievements-grid>*:nth-child(1),.difficulty-grid>*:nth-child(1){animation-delay:.04s}.action-cards>*:nth-child(2),.modes-grid>*:nth-child(2),.stats-grid>*:nth-child(2),.games-actions>*:nth-child(2),.achievements-grid>*:nth-child(2),.difficulty-grid>*:nth-child(2){animation-delay:.08s}.action-cards>*:nth-child(3),.modes-grid>*:nth-child(3),.stats-grid>*:nth-child(3),.games-actions>*:nth-child(3),.achievements-grid>*:nth-child(3),.difficulty-grid>*:nth-child(3){animation-delay:.12s}.action-cards>*:nth-child(4),.modes-grid>*:nth-child(4),.stats-grid>*:nth-child(4),.games-actions>*:nth-child(4),.achievements-grid>*:nth-child(4),.difficulty-grid>*:nth-child(4){animation-delay:.16s}.action-cards>*:nth-child(n+5),.modes-grid>*:nth-child(n+5),.stats-grid>*:nth-child(n+5),.games-actions>*:nth-child(n+5),.achievements-grid>*:nth-child(n+5),.difficulty-grid>*:nth-child(n+5){animation-delay:.2s}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar-item{transition:all .25s cubic-bezier(.22,.61,.36,1)}.sidebar-item:before{transition:transform .25s cubic-bezier(.22,.61,.36,1)}.sidebar-item.active .sidebar-icon{transform:scale(1.15);transition:transform .25s cubic-bezier(.22,.61,.36,1)}.main-title{transition:opacity .25s ease}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.action-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease}.action-card:hover{transform:translateY(-5px);border-color:var(--pokedex-blue);box-shadow:0 10px 30px #1e88e533}.action-card.create{border-top:4px solid var(--pokedex-red)}.action-card.join{border-top:4px solid var(--pokedex-blue)}.action-icon{font-size:3rem;margin-bottom:1rem}.action-card h3{font-family:Orbitron,"Exo 2",sans-serif;margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.action-card p{margin:0 0 1.5rem;color:var(--text-secondary)}.action-btn{padding:.875rem 2rem;background:linear-gradient(135deg,var(--pokedex-blue) 0%,#1565C0 100%);border:none;border-radius:12px;color:#fff;font-family:Orbitron,"Exo 2",sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.1em;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1e88e566}.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #1e88e580}.action-btn:disabled{opacity:.5;cursor:not-allowed}.join-input-group{display:flex;gap:.5rem}.join-input{flex:1;padding:.875rem 1rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1rem;font-weight:700;text-align:center;letter-spacing:.1em;text-transform:uppercase;outline:none;transition:all .3s ease}.join-input:focus{border-color:var(--pokedex-blue);box-shadow:0 0 15px #1e88e54d}.current-game{margin-bottom:2rem}.section-title{font-family:Orbitron,"Exo 2",sans-serif;display:flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.live-indicator{width:10px;height:10px;background:var(--pokedex-red);border-radius:50%;animation:livePulse 1s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 5px var(--pokedex-red)}50%{opacity:.5;box-shadow:0 0 20px var(--pokedex-red)}}.game-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;display:flex;align-items:center;justify-content:space-between;border-left:4px solid var(--pokedex-green)}.game-info{display:flex;flex-direction:column;gap:.5rem}.game-code{font-weight:700;color:var(--text-primary);font-size:1.1rem}.game-phase,.game-round{color:var(--text-secondary);font-size:.9rem}.resume-btn{padding:.75rem 1.5rem;background:var(--pokedex-green);border:none;border-radius:10px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease}.resume-btn:hover{background:#45a049;box-shadow:0 4px 15px #4caf5066}.games-list{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1rem}.game-list-item{padding:1rem;text-align:center;color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;text-align:center;transition:all .3s ease}.stat-card:hover{transform:translateY(-3px);border-color:var(--pokedex-blue)}.stat-card.large{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;justify-content:center}.stat-icon{font-size:2.5rem;margin-bottom:.75rem}.stat-value{font-size:2.5rem;font-weight:900;color:var(--text-primary);font-family:Orbitron,"Exo 2",sans-serif}.stat-card.large .stat-value{font-size:4rem}.stat-label{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem}.coming-soon{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:4rem 2rem;text-align:center}.coming-soon-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.coming-soon h3{font-size:1.5rem;color:var(--text-primary);margin:0 0 .5rem}.coming-soon p{color:var(--text-secondary);margin:0 0 1.5rem}.coming-soon-badge{display:inline-block;padding:.5rem 1rem;background:#ffd7001a;border:1px solid var(--pokedex-yellow);border-radius:20px;color:var(--pokedex-yellow);font-size:.85rem;font-weight:600}.settings-section{margin-bottom:2rem}.settings-section .section-title{margin-bottom:1rem}.settings-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem}.profile-info{display:flex;align-items:center;gap:1rem}.profile-large-avatar{width:64px;height:64px;background:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;border:3px solid var(--pokedex-blue)}.profile-details{display:flex;flex-direction:column}.profile-username{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.profile-role{color:var(--text-secondary);font-size:.9rem}.settings-actions{display:flex;gap:1rem}.setting-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .3s ease}.setting-btn:hover{background:var(--bg-hover);border-color:var(--pokedex-red)}.setting-btn.danger{color:var(--pokedex-red);border-color:#e539354d}.setting-btn.danger:hover{background:#e539351a;border-color:var(--pokedex-red)}.about-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem;text-align:center}.about-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.about-icon{font-size:2rem}.about-name{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.about-version{color:var(--pokedex-blue);font-weight:600;font-size:.9rem;margin-bottom:.5rem}.about-desc{color:var(--text-secondary);font-size:.9rem}.match-history{margin-top:2rem}.history-list{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden}.history-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border-color);border-left:4px solid transparent;transition:background .2s ease}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--bg-hover)}.history-item.win{border-left-color:var(--pokedex-green)}.history-item.loss{border-left-color:var(--pokedex-red)}.history-item.draw{border-left-color:var(--pokedex-yellow)}.history-result{font-weight:700;font-size:.9rem;min-width:80px}.history-item.win .history-result{color:var(--pokedex-green)}.history-item.loss .history-result{color:var(--pokedex-red)}.history-item.draw .history-result{color:var(--pokedex-yellow)}.history-details{flex:1;display:flex;flex-direction:column;gap:.2rem}.history-mode{font-weight:600;font-size:.9rem;color:var(--text-primary)}.history-info{font-size:.8rem;color:var(--text-secondary)}.history-date{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.no-data{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.no-data-icon{font-size:3rem;display:block;margin-bottom:1rem}.games-tab{max-width:900px;margin:0 auto}.games-welcome{text-align:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-secondary) 100%);border-radius:20px;border:1px solid var(--border-color)}.welcome-title{font-family:Orbitron,"Exo 2",sans-serif;font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0 0 .5rem}.welcome-subtitle{color:var(--text-secondary);font-size:1rem;margin:0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-badge{font-size:.75rem;font-weight:700;padding:.35rem .75rem;background:var(--pokedex-blue);color:#fff;border-radius:20px}.modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.mode-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--bg-card);border:2px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .3s ease;text-align:left;position:relative}.mode-card:hover{border-color:var(--mode-color);transform:translateY(-2px);box-shadow:0 8px 25px #0003}.mode-card.selected{border-color:var(--mode-color);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(30,136,229,.1) 100%);box-shadow:0 0 20px var(--mode-color) 40}.mode-icon{font-size:2.5rem;flex-shrink:0}.mode-info{flex:1}.mode-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.ranked-badge{font-size:.85rem}.mode-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.mode-players{font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;gap:.35rem}.mode-selected-indicator{position:absolute;top:.75rem;right:.75rem;width:24px;height:24px;background:var(--pokedex-green);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;font-weight:700}.games-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.game-action-btn{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:none;border-radius:16px;cursor:pointer;transition:all .3s ease;text-align:left}.game-action-btn:disabled{opacity:.5;cursor:not-allowed}.game-action-btn.primary{background:linear-gradient(135deg,var(--pokedex-red) 0%,var(--pokedex-red-dark) 100%);color:#fff}.game-action-btn.primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #e5393566}.game-action-btn.secondary{background:linear-gradient(135deg,var(--pokedex-blue) 0%,#1565C0 100%);color:#fff}.game-action-btn.secondary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #1e88e566}.btn-icon{font-size:2rem}.btn-content{display:flex;flex-direction:column}.btn-title{font-size:1.1rem;font-weight:700}.btn-subtitle{font-size:.8rem;opacity:.9}.available-rooms{margin-bottom:2rem}.rooms-list{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden}.room-list-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);transition:background .2s ease}.room-list-item:last-child{border-bottom:none}.room-list-item:hover{background:var(--bg-hover)}.room-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.room-host{font-weight:600;color:var(--text-primary)}.room-mode{font-size:.8rem;color:var(--text-secondary)}.room-players{font-size:.9rem;color:var(--text-muted);font-weight:600}.room-join-btn{padding:.5rem 1rem;background:var(--pokedex-green);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease}.room-join-btn:hover{background:#45a049;box-shadow:0 4px 15px #4caf504d}.games-error{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#e539351a;border:1px solid rgba(229,57,53,.3);border-radius:12px;color:var(--pokedex-red);margin-bottom:1rem}.connection-info{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted);font-size:.85rem}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.connection-dot.online{background:var(--pokedex-green);box-shadow:0 0 8px var(--pokedex-green)}.connection-dot.offline{background:var(--pokedex-red);box-shadow:0 0 8px var(--pokedex-red)}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.back-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--pokedex-blue)}.room-setup,.room-join{max-width:500px;margin:0 auto;padding:2rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;text-align:center}.setup-header,.join-header{margin-bottom:2rem}.setup-icon,.join-icon{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1rem;box-shadow:0 8px 30px #0003}.join-icon{background:linear-gradient(135deg,var(--pokedex-yellow) 0%,#FFA000 100%)}.setup-title,.join-title{font-family:Orbitron,"Exo 2",sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.setup-subtitle,.join-subtitle{color:var(--text-secondary);font-size:1rem}.setup-details{background:var(--bg-primary);border-radius:16px;padding:1.5rem;margin-bottom:2rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--text-secondary);font-size:.9rem}.detail-value{color:var(--text-primary);font-weight:600}.ranked-tag{background:linear-gradient(135deg,#f59e0b,#d97706);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;color:#fff}.create-room-btn,.join-room-btn{width:100%;padding:1rem;background:linear-gradient(135deg,var(--pokedex-green) 0%,#45A049 100%);border:none;border-radius:14px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.create-room-btn:hover:not(:disabled),.join-room-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #4caf5066}.create-room-btn:disabled,.join-room-btn:disabled{opacity:.5;cursor:not-allowed}.join-form{margin-bottom:2rem}.code-input-wrapper{position:relative;margin-bottom:1rem}.code-input{width:100%;padding:1.25rem;background:var(--bg-primary);border:3px solid var(--border-color);border-radius:16px;color:var(--text-primary);font-size:2rem;font-weight:800;text-align:center;letter-spacing:.3em;text-transform:uppercase;outline:none;transition:all .3s ease;font-family:Courier New,monospace}.code-input:focus{border-color:var(--pokedex-yellow);box-shadow:0 0 30px #ffd70033}.code-input::-moz-placeholder{color:var(--text-muted);opacity:.5}.code-input::placeholder{color:var(--text-muted);opacity:.5}.copy-code-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-code-btn:hover{background:var(--pokedex-blue);color:#fff}.quick-join h4{color:var(--text-secondary);font-size:.9rem;margin:0 0 1rem}.quick-rooms{display:flex;flex-direction:column;gap:.5rem}.quick-room-btn{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.quick-room-btn:hover{border-color:var(--pokedex-blue);background:var(--bg-hover)}.quick-room-code{font-family:Courier New,monospace;font-weight:700;color:var(--pokedex-yellow)}.quick-room-host{font-size:.85rem;color:var(--text-secondary)}.pve-setup{max-width:500px;margin:0 auto;padding:2rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;text-align:center}.pve-header{margin-bottom:2rem}.pve-icon{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1rem;background:linear-gradient(135deg,#ec4899,#a855f7);box-shadow:0 8px 30px #ec48994d}.pve-title{font-family:Orbitron,"Exo 2",sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.pve-subtitle{color:var(--text-secondary);font-size:1rem}.difficulty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.difficulty-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .3s ease}.difficulty-card:hover{border-color:var(--pokedex-blue);transform:translateY(-2px)}.difficulty-card.selected{border-color:#ec4899;background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(236,72,153,.1) 100%);box-shadow:0 0 20px #ec48994d}.difficulty-icon{font-size:2rem}.difficulty-name{font-size:1rem;font-weight:700;color:var(--text-primary)}.difficulty-desc{font-size:.75rem;color:var(--text-secondary)}.difficulty-check{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#ec4899;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:700}.start-pve-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#ec4899,#a855f7);border:none;border-radius:14px;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.start-pve-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ec489966}.start-pve-btn:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.pokedex-sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:70px;width:100%!important;flex-direction:row;border-right:none;border-top:1px solid var(--border-color)}.sidebar-nav{flex-direction:row;justify-content:space-around;padding:.5rem}.sidebar-item{flex-direction:column;padding:.5rem;gap:.25rem}.pokedex-sidebar.collapsed .sidebar-item:after{display:none}.header-greeting,.main-subtitle{display:none}.sidebar-icon{font-size:1.25rem}.sidebar-label{font-size:.7rem}.sidebar-footer{display:none}.pokedex-main{padding-bottom:70px}.pokedex-footer{display:none}.modes-grid{grid-template-columns:1fr}.mode-card{padding:1rem}.mode-icon{font-size:2rem}.games-actions{grid-template-columns:1fr}.game-action-btn{padding:1rem}.btn-icon{font-size:1.5rem}.room-setup,.room-join{padding:1.5rem}.code-input{font-size:1.5rem;letter-spacing:.2em}.main-content{padding:1rem}}.settings-toast{position:fixed;top:calc(var(--header-height) + 1rem);right:1rem;padding:.75rem 1.25rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;font-weight:500;z-index:1000;animation:slideIn .3s ease}.settings-toast.success{background:#166534;color:#4ade80;border:1px solid #22c55e}.settings-toast.error{background:#7f1d1d;color:#fca5a5;border:1px solid #ef4444}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.settings-form{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.form-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-row{display:flex;gap:.5rem}.settings-input{flex:1;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;transition:all .2s}.settings-input:focus{outline:none;border-color:var(--pokedex-blue);box-shadow:0 0 0 3px #1e88e533}.settings-input::-moz-placeholder{color:var(--text-muted)}.settings-input::placeholder{color:var(--text-muted)}.settings-select{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9rem;cursor:pointer;min-width:160px}.settings-select:focus{outline:none;border-color:var(--pokedex-blue)}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.settings-btn.primary{background:var(--pokedex-blue);color:#fff}.settings-btn.primary:hover:not(:disabled){background:#1976d2;transform:translateY(-1px)}.settings-btn.secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.settings-btn.secondary:hover:not(:disabled){background:var(--bg-secondary)}.settings-btn.danger{background:#dc2626;color:#fff}.settings-btn.danger:hover:not(:disabled){background:#b91c1c}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.avatar-selector{display:flex;flex-direction:column;align-items:center;gap:.75rem}.current-avatar{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:50%;border:3px solid var(--pokedex-yellow);box-shadow:0 0 20px #ffd7004d}.avatar-grid{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;max-width:280px}.avatar-option{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.avatar-option:hover{background:var(--bg-hover);transform:scale(1.1)}.avatar-option.selected{border-color:var(--pokedex-yellow);background:#ffd7001a}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.setting-row:last-child{border-bottom:none}.setting-info{display:flex;flex-direction:column;gap:.25rem}.setting-label{font-weight:500;color:var(--text-primary)}.setting-desc{font-size:.8rem;color:var(--text-muted)}.speed-buttons,.quality-buttons{display:flex;gap:.25rem}.speed-btn,.quality-btn{padding:.4rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.speed-btn:hover,.quality-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.speed-btn.active,.quality-btn.active{background:var(--pokedex-blue);border-color:var(--pokedex-blue);color:#fff}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:26px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background:var(--text-secondary);border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--pokedex-green);border-color:var(--pokedex-green)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px);background:#fff}.volume-control{display:flex;align-items:center;gap:.75rem}.volume-slider{width:120px;height:6px;-webkit-appearance:none;background:var(--bg-secondary);border-radius:3px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--pokedex-blue);border-radius:50%;cursor:pointer;-webkit-transition:transform .2s;transition:transform .2s}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-value{font-size:.85rem;color:var(--text-secondary);min-width:40px;text-align:right}.theme-selector{display:flex;gap:.75rem;flex-wrap:wrap}.theme-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s;min-width:100px}.theme-btn:hover{background:var(--bg-hover);border-color:var(--theme-color)}.theme-btn.active{border-color:var(--theme-color);box-shadow:0 0 15px color-mix(in srgb,var(--theme-color) 30%,transparent)}.theme-icon{font-size:1.75rem}.theme-label{font-size:.85rem;color:var(--text-secondary)}.theme-btn.active .theme-label{color:var(--text-primary);font-weight:500}.danger-zone{border:1px solid rgba(220,38,38,.3)!important;background:#7f1d1d1a!important}.danger-actions{display:flex;gap:1rem;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem;max-width:400px;width:90%;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-content h3{margin:0 0 1rem;color:#fca5a5}.modal-content p{margin:0 0 1.5rem;color:var(--text-secondary);line-height:1.5}.modal-content .settings-input{margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.collection-tab{padding:1.5rem}.collection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.collection-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.collection-title{display:flex;align-items:center;gap:.75rem}.season-name{font-size:.875rem;color:var(--pokedex-yellow);background:#ffd70026;padding:.25rem .75rem;border-radius:20px;font-weight:500}.collection-stats{display:flex;align-items:center;gap:1rem}.unlocked-count{font-size:.875rem;color:var(--text-secondary)}.progress-bar{width:150px;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--pokedex-green),var(--pokedex-cyan));border-radius:4px;transition:width .3s ease}.pokemon-count{font-size:.875rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.5rem 1rem;border-radius:20px}.collection-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:12px}.collection-filters .filter-group{display:flex;align-items:center;gap:.5rem}.collection-filters label{font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.search-input{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.875rem;min-width:200px}.search-input::-moz-placeholder{color:var(--text-muted)}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--pokedex-blue)}.tier-buttons{display:flex;gap:.5rem}.tier-btn{padding:.4rem .75rem;border-radius:6px;border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s}.tier-btn:hover{background:var(--bg-hover)}.tier-btn.active{background:var(--bg-hover);color:var(--text-primary);border-color:currentColor}.tier-btn.tier-1{color:#9ca3af}.tier-btn.tier-2{color:#22c55e}.tier-btn.tier-3{color:#3b82f6}.tier-btn.tier-4{color:#a855f7}.type-select{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.875rem;cursor:pointer}.type-select:focus{outline:none;border-color:var(--pokedex-blue)}.pokemon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;max-height:calc(100vh - 380px);overflow-y:auto;padding-right:.5rem}.pokemon-card{position:relative;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .2s;cursor:pointer}.pokemon-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.card-tier{position:absolute;top:.5rem;right:.5rem;padding:.2rem .5rem;border-radius:4px;font-size:.65rem;font-weight:700;color:#000}.pokemon-sprite{width:64px;height:64px;image-rendering:pixelated}.pokemon-name{font-size:.8rem;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.2}.pokemon-types{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:center}.type-badge{padding:.15rem .4rem;border-radius:4px;font-size:.6rem;font-weight:600;color:#fff;text-transform:uppercase}.pokemon-range{font-size:.65rem;color:var(--text-muted);margin-top:.25rem}.toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--pokedex-blue)}.pokemon-card.locked{opacity:.6;background:var(--bg-secondary)}.pokemon-card.locked:hover{transform:none;box-shadow:none}.locked-sprite{filter:grayscale(100%) brightness(.3)}.locked-text{font-size:.6rem;color:var(--text-muted);margin-top:.5rem}.times-played{position:absolute;top:.5rem;left:.5rem;padding:.15rem .4rem;border-radius:4px;font-size:.6rem;font-weight:700;background:var(--pokedex-blue);color:#fff}.new-badge{position:absolute;bottom:.5rem;right:.5rem;padding:.15rem .4rem;border-radius:4px;font-size:.55rem;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#ffe66d);color:#000;animation:pulse-new 2s ease-in-out infinite}@keyframes pulse-new{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.no-results{text-align:center;padding:3rem;color:var(--text-muted)}.items-tab{padding:1.5rem}.items-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.items-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.item-count{font-size:.875rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.5rem 1rem;border-radius:20px}.items-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:12px}.items-filters .filter-group{display:flex;align-items:center;gap:.5rem}.type-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.type-btn{padding:.4rem .75rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s}.type-btn:hover{background:var(--bg-hover)}.type-btn.active{background:var(--pokedex-blue);color:#fff;border-color:var(--pokedex-blue)}.items-categories{display:flex;flex-direction:column;gap:1.5rem;max-height:calc(100vh - 350px);overflow-y:auto;padding-right:.5rem}.item-category{background:var(--bg-secondary);border-radius:12px;padding:1rem}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.category-icon{font-size:1.25rem}.category-name{font-weight:600;color:var(--text-primary)}.category-desc{font-size:.8rem;color:var(--text-muted);flex:1}.category-count{font-size:.75rem;color:var(--text-secondary);background:var(--bg-card);padding:.25rem .5rem;border-radius:10px}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.item-card{position:relative;background:var(--bg-card);border:2px solid var(--border-color);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .2s;cursor:pointer}.item-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.item-rarity{position:absolute;top:.4rem;right:.4rem;font-size:.5rem;padding:.15rem .3rem;border-radius:3px;color:#000;font-weight:700}.item-icon{font-size:1.75rem}.item-name{font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center}.item-description{font-size:.65rem;color:var(--text-muted);text-align:center;line-height:1.3}.achievements-tab{padding:1rem}.achievements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.achievements-header h2{font-size:1.5rem;color:var(--text-primary)}.achievements-progress{display:flex;align-items:center;gap:.75rem}.achievements-progress .progress-text{font-size:.875rem;color:var(--text-secondary)}.achievements-progress .progress-bar{width:120px;height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.achievements-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--pokedex-yellow),#FFA000);border-radius:4px;transition:width .3s ease}.achievements-section{margin-bottom:2rem}.achievements-section .section-title{font-size:1rem;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.achievement-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border-radius:10px;border:2px solid var(--border-color);transition:all .2s ease}.achievement-card.earned{border-color:var(--pokedex-yellow);background:linear-gradient(135deg,var(--bg-card),rgba(255,215,0,.1))}.achievement-card.locked{opacity:.6}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.achievement-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:10px}.achievement-icon.locked-icon{filter:grayscale(1)}.achievement-info{flex:1}.achievement-name{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.achievement-desc{font-size:.8rem;color:var(--text-secondary)}.achievement-date{font-size:.7rem;color:var(--text-muted);margin-top:.25rem}.achievement-badge{font-size:1.25rem;color:var(--pokedex-yellow)}.no-achievements{text-align:center;padding:3rem;color:var(--text-secondary)}.no-achievements-icon{font-size:3rem;display:block;margin-bottom:1rem}.no-achievements .hint{font-size:.875rem;color:var(--text-muted);margin-top:.5rem}.capture-stats-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.capture-stats-section .section-title{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.capture-grid{grid-template-columns:repeat(4,1fr)}.capture-breakdown{margin-top:1.5rem;padding:1rem;background:var(--bg-card);border-radius:10px}.capture-breakdown h4{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.ball-stats,.tier-stats{display:flex;gap:1rem;flex-wrap:wrap}.ball-stat,.tier-stat{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:8px}.ball-icon{font-size:1.25rem}.ball-count,.tier-count{font-size:.95rem;font-weight:600;color:var(--text-primary)}.tier-stat{border-left:3px solid}.tier-label{font-size:.875rem;color:var(--text-secondary)}[data-theme=pokemon] .pokedex-header{background:linear-gradient(180deg,#1a0800,#0e1420);border-bottom:2px solid #FF6D00;box-shadow:0 4px 30px #ff6d0040,0 1px #ff6d0099}[data-theme=pokemon] .pokedex-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,#FF6D00 20%,#FFAB40 50%,#FF6D00 80%,transparent 100%);z-index:1}[data-theme=pokemon] .pokedex-header:after{background:linear-gradient(90deg,transparent 0%,rgba(255,109,0,.4) 50%,transparent 100%);height:1px}[data-theme=pokemon] .led-blue{background:#ff6d00;box-shadow:0 0 8px #ff6d00,0 0 20px #ff6d0066}[data-theme=pokemon] .led-red{background:#ff3d00;box-shadow:0 0 8px #ff3d00,0 0 20px #ff3d0066}[data-theme=pokemon] .led-yellow{background:#ffab40;box-shadow:0 0 8px #ffab40,0 0 20px #ffab4066}[data-theme=pokemon] .header-time{background:#00000080;border:1px solid rgba(255,109,0,.35);color:#ff8c00;text-shadow:0 0 8px rgba(255,140,0,.6);box-shadow:inset 0 1px 6px #00000080,0 0 10px #ff6d001a}[data-theme=pokemon] .logo-title{text-shadow:0 0 10px rgba(255,109,0,.4)}[data-theme=pokemon] .header-profile-btn{border-color:#ff6d004d}[data-theme=pokemon] .header-profile-btn:hover{border-color:#ff6d0099;box-shadow:0 0 15px #ff6d0026}[data-theme=pokemon] .pokedex-sidebar{border-right-color:#ff6d001f}[data-theme=pokemon] .sidebar-item:before{background:#ff6d00;box-shadow:0 0 8px #ff6d00}[data-theme=pokemon] .sidebar-item.active{background:linear-gradient(90deg,rgba(255,109,0,.15) 0%,transparent 100%);color:#ff8c00}[data-theme=pokemon] .sidebar-item:hover{background:#ff6d000f}[data-theme=pokemon] .sidebar-badge{background:#ff6d00;box-shadow:0 0 8px #ff6d0080;animation:badgePulseNeon 2s ease-in-out infinite}[data-theme=pokemon] .sidebar-toggle:hover{background:#ff6d00;border-color:#ff6d00;box-shadow:0 0 15px #ff6d004d}[data-theme=pokemon] .pokedex-main{position:relative;background:linear-gradient(rgba(255,109,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,109,0,.03) 1px,transparent 1px),var(--bg-primary);background-size:32px 32px}[data-theme=pokemon] .pokedex-main:before{content:"";position:absolute;left:0;right:0;top:-10%;height:10%;background:linear-gradient(180deg,transparent 0%,rgba(255,109,0,.03) 30%,rgba(255,109,0,.1) 48%,rgba(255,140,0,.16) 50%,rgba(255,109,0,.1) 52%,rgba(255,109,0,.03) 70%,transparent 100%);animation:rotomScanLine 8s linear infinite;pointer-events:none;z-index:0}[data-theme=pokemon] .pokedex-main:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 0% 0%,rgba(255,109,0,.06) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(255,61,0,.04) 0%,transparent 50%);animation:rotomGlowPulse 6s ease-in-out infinite;pointer-events:none;z-index:0}[data-theme=pokemon] .pokedex-main>*{position:relative;z-index:1}@keyframes rotomScanLine{0%{transform:translateY(0)}to{transform:translateY(1200%)}}@keyframes rotomGlowPulse{0%,to{opacity:.4}50%{opacity:1}}[data-theme=pokemon] .main-header{border-bottom-color:#ff6d0026;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}[data-theme=pokemon] .action-card,[data-theme=pokemon] .stat-card,[data-theme=pokemon] .settings-card,[data-theme=pokemon] .game-card,[data-theme=pokemon] .games-list,[data-theme=pokemon] .history-list,[data-theme=pokemon] .rooms-list,[data-theme=pokemon] .about-card,[data-theme=pokemon] .achievement-card,[data-theme=pokemon] .item-card,[data-theme=pokemon] .pokemon-card,[data-theme=pokemon] .capture-breakdown,[data-theme=pokemon] .room-setup,[data-theme=pokemon] .room-join,[data-theme=pokemon] .pve-setup,[data-theme=pokemon] .games-welcome{border-color:#ff6d0026;box-shadow:0 0 15px #ff6d000a,inset 0 1px #ff6d000f}[data-theme=pokemon] .action-card:hover,[data-theme=pokemon] .stat-card:hover,[data-theme=pokemon] .pokemon-card:hover,[data-theme=pokemon] .item-card:hover,[data-theme=pokemon] .achievement-card:hover{border-color:#ff6d0066;box-shadow:0 0 25px #ff6d001f,0 8px 30px #0000004d,inset 0 1px #ff6d001a}[data-theme=pokemon] .action-card.create{border-top-color:#ff3d00}[data-theme=pokemon] .action-card.join{border-top-color:#ff6d00}[data-theme=pokemon] .action-btn{background:linear-gradient(135deg,#ff6d00,#e65100);box-shadow:0 4px 20px #ff6d0066}[data-theme=pokemon] .action-btn:hover:not(:disabled){box-shadow:0 6px 30px #ff6d008c,0 0 15px #ff6d0033}[data-theme=pokemon] .game-action-btn.secondary{background:linear-gradient(135deg,#ff6d00,#e65100)}[data-theme=pokemon] .game-action-btn.secondary:hover:not(:disabled){box-shadow:0 10px 30px #ff6d0066,0 0 15px #ff6d0026}[data-theme=pokemon] .section-badge{background:#ff6d00;box-shadow:0 0 8px #ff6d004d}[data-theme=pokemon] .settings-input:focus{border-color:#ff6d00;box-shadow:0 0 0 3px #ff6d0033,0 0 15px #ff6d001a}[data-theme=pokemon] .settings-select:focus{border-color:#ff6d00;box-shadow:0 0 10px #ff6d0026}[data-theme=pokemon] .join-input:focus{border-color:#ff6d00;box-shadow:0 0 20px #ff6d0040}[data-theme=pokemon] .search-input:focus{border-color:#ff6d00;box-shadow:0 0 10px #ff6d0026}[data-theme=pokemon] .type-select:focus{border-color:#ff6d00}[data-theme=pokemon] .code-input:focus{border-color:#ff6d00;box-shadow:0 0 30px #ff6d0033}[data-theme=pokemon] .settings-btn.primary{background:#ff6d00;box-shadow:0 0 10px #ff6d0033}[data-theme=pokemon] .settings-btn.primary:hover:not(:disabled){background:#ff8c00;box-shadow:0 0 20px #ff6d0059}[data-theme=pokemon] .speed-btn.active,[data-theme=pokemon] .quality-btn.active{background:#ff6d00;border-color:#ff6d00;box-shadow:0 0 8px #ff6d004d}[data-theme=pokemon] .toggle-switch input:checked+.toggle-slider{background:#ff6d00;border-color:#ff6d00;box-shadow:0 0 10px #ff6d004d}[data-theme=pokemon] .volume-slider::-webkit-slider-thumb{background:#ff6d00;box-shadow:0 0 8px #ff6d0066}[data-theme=pokemon] .toggle-label input[type=checkbox]{accent-color:#FF6D00}[data-theme=pokemon] .profile-large-avatar{border-color:#ff6d00;box-shadow:0 0 15px #ff6d0033}[data-theme=pokemon] .current-avatar{border-color:#ff6d00;box-shadow:0 0 20px #ff6d004d}[data-theme=pokemon] .avatar-option.selected{border-color:#ff6d00;background:#ff6d001a;box-shadow:0 0 8px #ff6d0033}[data-theme=pokemon] .back-btn:hover,[data-theme=pokemon] .setting-btn:hover{border-color:#ff6d00;box-shadow:0 0 10px #ff6d001a}[data-theme=pokemon] .copy-code-btn:hover{background:#ff6d00;box-shadow:0 0 10px #ff6d004d}[data-theme=pokemon] .type-btn.active{background:#ff6d00;border-color:#ff6d00;box-shadow:0 0 8px #ff6d0040}[data-theme=pokemon] .times-played{background:#ff6d00;box-shadow:0 0 6px #ff6d004d}[data-theme=pokemon] .progress-fill,[data-theme=pokemon] .achievements-progress .progress-fill{background:linear-gradient(90deg,#ff3d00,#ff6d00,#ffab40);box-shadow:0 0 8px #ff6d0066}[data-theme=pokemon] .achievement-card.earned{border-color:#ff6d0066;background:linear-gradient(135deg,var(--bg-card),rgba(255,109,0,.08));box-shadow:0 0 15px #ff6d0014}[data-theme=pokemon] .achievement-badge{color:#ff8c00;text-shadow:0 0 8px rgba(255,140,0,.5)}[data-theme=pokemon] .season-name{color:#ff8c00;background:#ff6d001f;border:1px solid rgba(255,109,0,.2);text-shadow:0 0 6px rgba(255,140,0,.3)}[data-theme=pokemon] .coming-soon-badge{background:#ff6d001a;border-color:#ff6d00;color:#ff8c00;box-shadow:0 0 10px #ff6d001a}[data-theme=pokemon] .about-version{color:#ff6d00;text-shadow:0 0 6px rgba(255,109,0,.3)}[data-theme=pokemon] .quick-room-code{color:#ff8c00;text-shadow:0 0 8px rgba(255,140,0,.4)}[data-theme=pokemon] .quick-room-btn:hover{border-color:#ff6d00;box-shadow:0 0 10px #ff6d001a}[data-theme=pokemon] .mode-card:hover{border-color:#ff6d0066;box-shadow:0 0 20px #ff6d001a}[data-theme=pokemon] .mode-card.selected{border-color:#ff6d00;box-shadow:0 0 25px #ff6d0026}[data-theme=pokemon] .pokedex-footer{border-top-color:#ff6d0026}[data-theme=pokemon] .status-led{background:#ff6d00;box-shadow:0 0 8px #ff6d00}[data-theme=pokemon] .main-content::-webkit-scrollbar-thumb{background:#ff6d0033}[data-theme=pokemon] .main-content::-webkit-scrollbar-thumb:hover{background:#ff6d0059}[data-theme=pokemon] .pokedex-sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none}@keyframes badgePulseNeon{0%,to{opacity:.8;box-shadow:0 0 6px #ff6d004d}50%{opacity:1;box-shadow:0 0 14px #ff6d0099}}[data-theme=pokemon] .stat-value{text-shadow:0 0 6px rgba(255,109,0,.15)}[data-theme=pokemon] .games-welcome{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(255,109,0,.04) 100%)}[data-theme=pokemon] .tab-transition{animation:rotomTabDown .4s cubic-bezier(.22,.61,.36,1) both}[data-theme=pokemon] .tab-transition.tab-up{animation-name:rotomTabUp}[data-theme=pokemon] .tab-transition.tab-down{animation-name:rotomTabDown}@keyframes rotomTabDown{0%{opacity:0;transform:translateY(25px);filter:brightness(1.8) saturate(.3)}40%{filter:brightness(1.2) saturate(.7)}to{opacity:1;transform:translateY(0);filter:brightness(1) saturate(1)}}@keyframes rotomTabUp{0%{opacity:0;transform:translateY(-25px);filter:brightness(1.8) saturate(.3)}40%{filter:brightness(1.2) saturate(.7)}to{opacity:1;transform:translateY(0);filter:brightness(1) saturate(1)}}[data-theme=pokemon] .action-cards>*,[data-theme=pokemon] .modes-grid>*,[data-theme=pokemon] .stats-grid>*,[data-theme=pokemon] .games-actions>*,[data-theme=pokemon] .achievements-grid>*,[data-theme=pokemon] .difficulty-grid>*{animation-name:rotomStagger}@keyframes rotomStagger{0%{opacity:0;transform:translateY(15px) scale(.96);box-shadow:0 0 #ff6d0000}50%{box-shadow:0 0 12px #ff6d0026}to{opacity:1;transform:translateY(0) scale(1);box-shadow:none}}[data-theme=pokemon] .sidebar-item.active .sidebar-icon{filter:drop-shadow(0 0 6px rgba(255,109,0,.5))}[data-theme=pokemon] .pokedex-sidebar.collapsed .sidebar-item:after{background:#0e1420;border-color:#ff6d004d;color:#ff8c00;box-shadow:0 4px 20px #0006,0 0 10px #ff6d001a}[data-theme=pokemon] .scroll-indicator.visible{background:linear-gradient(90deg,transparent,#FF6D00,transparent);box-shadow:0 2px 10px #ff6d004d}[data-theme=pokemon] .header-greeting{color:#ff8c00;text-shadow:0 0 6px rgba(255,140,0,.3)}[data-theme=pokemon] .lcd-digit,[data-theme=pokemon] .lcd-colon{text-shadow:0 0 8px rgba(255,140,0,.5)}[data-theme=pokemon] .skeleton-card,[data-theme=pokemon] .skeleton-row{border-color:#ff6d001a}[data-theme=pokemon] .skeleton-line{background:#ff6d0014}@keyframes rotomSkeletonPulse{0%,to{opacity:.4;box-shadow:0 0 #ff6d0000}50%{opacity:1;box-shadow:0 0 8px #ff6d000d}}[data-theme=pokemon] .skeleton-card,[data-theme=pokemon] .skeleton-row{animation-name:rotomSkeletonPulse}[data-theme=pokemon] .main-subtitle{color:#ff8c00;text-shadow:0 0 4px rgba(255,140,0,.2)}[data-theme=pokemon] .sidebar-badge.new-achievements{background:linear-gradient(135deg,#ff6d00,#ff3d00);box-shadow:0 0 8px #ff6d0080}[data-theme=pokemon] .sidebar-badge-dot{background:#ff6d00;box-shadow:0 0 8px #ff6d00}:root{--admin-bg-deep: #080f0c;--admin-bg: #0c1512;--admin-bg-elevated: #101d18;--admin-surface: #142822;--admin-surface-hover: #1a352d;--admin-surface-active: #1f4038;--admin-primary: #4ade80;--admin-primary-hover: #22c55e;--admin-primary-muted: rgba(74, 222, 128, .15);--admin-primary-glow: rgba(74, 222, 128, .25);--admin-accent: #86efac;--admin-accent-soft: #bbf7d0;--admin-success: #34d399;--admin-warning: #fbbf24;--admin-danger: #f87171;--admin-info: #67e8f9;--admin-text: #ecfdf5;--admin-text-secondary: #a7f3d0;--admin-text-muted: #6ee7b7;--admin-text-dim: #4ade80;--admin-border: #1e3f34;--admin-border-subtle: #163029;--admin-border-glow: rgba(74, 222, 128, .3);--admin-gradient-leaf: linear-gradient(135deg, #142822 0%, #1a352d 50%, #142822 100%);--admin-gradient-glow: radial-gradient(ellipse at top, rgba(74, 222, 128, .08) 0%, transparent 60%);--admin-gradient-shine: linear-gradient(90deg, transparent, rgba(74, 222, 128, .1), transparent);--admin-shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--admin-shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--admin-shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--admin-shadow-glow: 0 0 20px rgba(74, 222, 128, .15);--admin-shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .2);--admin-radius-sm: 6px;--admin-radius: 10px;--admin-radius-lg: 14px;--admin-radius-xl: 20px;--admin-transition-fast: all .15s ease;--admin-transition: all .25s cubic-bezier(.4, 0, .2, 1);--admin-transition-slow: all .4s cubic-bezier(.4, 0, .2, 1);--tier-1: #6ee7b7;--tier-2: #22d3ee;--tier-3: #fbbf24;--type-fire: #fb923c;--type-water: #38bdf8;--type-grass: #4ade80;--type-electric: #facc15;--type-rock: #a8a29e;--type-ground: #d6b370;--type-poison: #c084fc;--type-ghost: #a78bfa;--type-psychic: #f472b6;--type-fighting: #f87171;--type-ice: #67e8f9;--type-dragon: #818cf8;--type-dark: #78716c;--type-steel: #94a3b8;--type-fairy: #f9a8d4;--type-flying: #a5b4fc;--type-bug: #a3e635;--type-normal: #d4d4d4}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--admin-primary-muted)}50%{box-shadow:0 0 20px var(--admin-primary-glow)}}@keyframes leafSway{0%,to{transform:rotate(0)}25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--admin-bg-deep);padding:20px;position:relative;overflow:hidden}.admin-login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 20%,rgba(74,222,128,.05) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(34,197,94,.04) 0%,transparent 40%);animation:breathe 8s ease-in-out infinite}.admin-login-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5 Q35 15 30 25 Q25 15 30 5' fill='none' stroke='%234ade80' stroke-width='0.5' opacity='0.05'/%3E%3C/svg%3E");opacity:.5}.admin-login-box{background:var(--admin-surface);border-radius:var(--admin-radius-xl);padding:48px 40px;width:100%;max-width:420px;box-shadow:var(--admin-shadow-lg),var(--admin-shadow-glow);border:1px solid var(--admin-border);position:relative;z-index:1;animation:slideUp .6s ease-out}.admin-login-box:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(135deg,var(--admin-primary-muted),transparent,var(--admin-primary-muted));border-radius:var(--admin-radius-xl);z-index:-1;opacity:0;transition:var(--admin-transition)}.admin-login-box:hover:before{opacity:1}.admin-login-header{text-align:center;margin-bottom:36px}.admin-logo{font-size:56px;margin-bottom:16px;display:inline-block;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(74,222,128,.3))}.admin-login-header h1{color:var(--admin-text);font-size:26px;font-weight:700;margin:0 0 8px;letter-spacing:-.5px}.admin-login-header p{color:var(--admin-text-muted);margin:0;font-size:14px}.admin-login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--admin-border-subtle)}.admin-login-footer p{color:var(--admin-text-dim);font-size:12px;margin:0;font-family:monospace;background:var(--admin-bg);padding:8px 16px;border-radius:var(--admin-radius-sm);display:inline-block}.admin-alert{padding:14px 18px;border-radius:var(--admin-radius);margin-bottom:24px;display:flex;align-items:center;gap:12px;font-size:14px;animation:slideIn .3s ease}.admin-alert-error{background:#f871711a;border:1px solid rgba(248,113,113,.25);color:#fca5a5}.admin-alert-success{background:#34d3991a;border:1px solid rgba(52,211,153,.25);color:var(--admin-success)}.admin-alert-warning{background:#fbbf241a;border:1px solid rgba(251,191,36,.25);color:var(--admin-warning)}.admin-login-form{display:flex;flex-direction:column;gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:8px}.admin-form-group.full-width{grid-column:1 / -1}.admin-form-group label{color:var(--admin-text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-input,.admin-form-group input,.admin-form-group select,.admin-form-group textarea{padding:14px 18px;background:var(--admin-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius);color:var(--admin-text);font-size:15px;transition:var(--admin-transition);box-shadow:var(--admin-shadow-inner)}.admin-input:hover,.admin-form-group input:hover,.admin-form-group select:hover,.admin-form-group textarea:hover{border-color:var(--admin-border-glow)}.admin-input:focus,.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{outline:none;border-color:var(--admin-primary);box-shadow:var(--admin-shadow-inner),0 0 0 3px var(--admin-primary-muted);background:var(--admin-bg-elevated)}.admin-input::-moz-placeholder,.admin-form-group input::-moz-placeholder,.admin-form-group textarea::-moz-placeholder{color:var(--admin-text-dim);opacity:.5}.admin-input::placeholder,.admin-form-group input::placeholder,.admin-form-group textarea::placeholder{color:var(--admin-text-dim);opacity:.5}.admin-form-group textarea{resize:vertical;min-height:100px}.admin-form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234ade80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:44px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 24px;border:none;border-radius:var(--admin-radius);font-size:14px;font-weight:600;cursor:pointer;transition:var(--admin-transition);position:relative;overflow:hidden}.admin-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--admin-gradient-shine);background-size:200% 100%;opacity:0;transition:var(--admin-transition)}.admin-btn:hover:before{opacity:1;animation:shimmer 1.5s infinite}.admin-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.admin-btn:disabled:before{display:none}.admin-btn-primary{background:linear-gradient(135deg,var(--admin-primary) 0%,var(--admin-primary-hover) 100%);color:var(--admin-bg-deep);box-shadow:0 4px 15px #4ade8040}.admin-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4ade8059}.admin-btn-primary:active:not(:disabled){transform:translateY(0)}.admin-btn-secondary{background:var(--admin-surface);color:var(--admin-text);border:1px solid var(--admin-border)}.admin-btn-secondary:hover:not(:disabled){background:var(--admin-surface-hover);border-color:var(--admin-primary-muted)}.admin-btn-ghost{background:transparent;color:var(--admin-text-muted);border:1px solid var(--admin-border)}.admin-btn-ghost:hover:not(:disabled){background:var(--admin-surface);color:var(--admin-text);border-color:var(--admin-border-glow)}.admin-btn-danger{background:transparent;color:var(--admin-danger);border:1px solid var(--admin-danger)}.admin-btn-danger:hover:not(:disabled){background:var(--admin-danger);color:var(--admin-bg-deep);box-shadow:0 4px 15px #f871714d}.admin-btn-success{background:linear-gradient(135deg,var(--admin-success) 0%,#10b981 100%);color:var(--admin-bg-deep);box-shadow:0 4px 15px #34d39940}.admin-btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #34d39959}.admin-btn-block{width:100%;padding:16px 24px}.admin-btn-sm{padding:8px 16px;font-size:13px}.admin-btn-icon{padding:10px;min-width:40px;height:40px}.admin-panel{display:flex;height:100vh;background:var(--admin-bg);position:relative;overflow:hidden}.admin-panel:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--admin-gradient-glow);pointer-events:none;z-index:0}.admin-sidebar{width:280px;background:var(--admin-surface);border-right:1px solid var(--admin-border);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:10;box-shadow:var(--admin-shadow-md)}.admin-sidebar.collapsed{width:76px}.admin-sidebar-header{padding:24px 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--admin-border);background:var(--admin-gradient-leaf)}.admin-sidebar-logo{font-size:36px;min-width:40px;text-align:center;filter:drop-shadow(0 2px 8px rgba(74,222,128,.4));animation:leafSway 4s ease-in-out infinite}.admin-sidebar-title{color:var(--admin-text);font-weight:700;font-size:20px;white-space:nowrap;overflow:hidden;background:linear-gradient(90deg,var(--admin-text),var(--admin-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-sidebar.collapsed .admin-sidebar-title{display:none}.admin-sidebar-nav{flex:1;padding:20px 14px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.admin-nav-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border:none;background:transparent;color:var(--admin-text-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--admin-radius);transition:var(--admin-transition);width:100%;text-align:left;position:relative}.admin-nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--admin-primary);border-radius:0 2px 2px 0;transition:var(--admin-transition)}.admin-nav-item:hover{background:var(--admin-surface-hover);color:var(--admin-text)}.admin-nav-item:hover:before{height:50%}.admin-nav-item.active{background:var(--admin-primary-muted);color:var(--admin-primary)}.admin-nav-item.active:before{height:70%;box-shadow:0 0 10px var(--admin-primary-glow)}.admin-nav-icon{font-size:22px;min-width:28px;text-align:center;transition:var(--admin-transition)}.admin-nav-item:hover .admin-nav-icon{transform:scale(1.1)}.admin-nav-item.active .admin-nav-icon{filter:drop-shadow(0 0 8px var(--admin-primary-glow))}.admin-nav-label{white-space:nowrap;overflow:hidden}.admin-sidebar.collapsed .admin-nav-label{display:none}.admin-sidebar.collapsed .admin-nav-item{justify-content:center;padding:14px}.admin-sidebar-footer{padding:16px 14px;border-top:1px solid var(--admin-border);display:flex;flex-direction:column;gap:10px;background:var(--admin-bg-elevated)}.admin-sidebar.collapsed .admin-sidebar-footer .admin-btn{padding:12px;justify-content:center}.admin-sidebar.collapsed .admin-sidebar-footer .admin-btn span:last-child{display:none}.admin-main{flex:1;display:flex;flex-direction:column;min-height:0;position:relative;z-index:1}.admin-header{padding:24px 32px;background:var(--admin-surface);border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--admin-shadow-sm)}.admin-header h2{color:var(--admin-text);margin:0;font-size:26px;font-weight:700;display:flex;align-items:center;gap:12px}.admin-header h2:before{content:"";width:4px;height:28px;background:var(--admin-primary);border-radius:2px;box-shadow:0 0 12px var(--admin-primary-glow)}.admin-header-actions{display:flex;gap:14px;align-items:center}.admin-badge{padding:10px 18px;background:var(--admin-bg);border-radius:var(--admin-radius-xl);color:var(--admin-text-secondary);font-size:14px;font-weight:500;border:1px solid var(--admin-border);display:flex;align-items:center;gap:8px}.admin-content{flex:1;padding:32px;overflow-y:auto;background:var(--admin-bg)}.admin-content::-webkit-scrollbar{width:8px}.admin-content::-webkit-scrollbar-track{background:var(--admin-bg-deep)}.admin-content::-webkit-scrollbar-thumb{background:var(--admin-border);border-radius:4px}.admin-content::-webkit-scrollbar-thumb:hover{background:var(--admin-primary-muted)}.admin-tab-content{display:none;animation:fadeIn .4s ease}.admin-tab-content.active{display:block}.admin-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);overflow:hidden;transition:var(--admin-transition);box-shadow:var(--admin-shadow-sm)}.admin-card:hover{border-color:var(--admin-border-glow);box-shadow:var(--admin-shadow-md)}.admin-card-header{padding:20px 24px;border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center;background:var(--admin-gradient-leaf)}.admin-card-title{color:var(--admin-text);font-size:18px;font-weight:600;margin:0;display:flex;align-items:center;gap:10px}.admin-card-body{padding:24px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.admin-stat-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);padding:24px;border:1px solid var(--admin-border);transition:var(--admin-transition);position:relative;overflow:hidden}.admin-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--admin-primary),var(--admin-accent));opacity:0;transition:var(--admin-transition)}.admin-stat-card:hover{transform:translateY(-4px);box-shadow:var(--admin-shadow-lg),var(--admin-shadow-glow);border-color:var(--admin-border-glow)}.admin-stat-card:hover:before{opacity:1}.admin-stat-value{font-size:36px;font-weight:800;color:var(--admin-primary);margin:0 0 6px;line-height:1;text-shadow:0 0 20px var(--admin-primary-glow)}.admin-stat-label{color:var(--admin-text-muted);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.admin-table-container{overflow-x:auto;border-radius:var(--admin-radius)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--admin-border-subtle)}.admin-table th{color:var(--admin-text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.8px;background:var(--admin-bg);position:sticky;top:0}.admin-table tbody tr{transition:var(--admin-transition)}.admin-table tbody tr:hover{background:var(--admin-surface-hover)}.admin-table td{color:var(--admin-text);font-size:14px}.admin-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--admin-radius-xl);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-tag-tier-1{background:#6ee7b726;color:var(--tier-1);border:1px solid rgba(110,231,183,.3)}.admin-tag-tier-2{background:#22d3ee26;color:var(--tier-2);border:1px solid rgba(34,211,238,.3)}.admin-tag-tier-3{background:#fbbf2426;color:var(--tier-3);border:1px solid rgba(251,191,36,.3)}.admin-tag-difficulty-easy{background:#34d39926;color:var(--admin-success);border:1px solid rgba(52,211,153,.3)}.admin-tag-difficulty-medium{background:#fbbf2426;color:var(--admin-warning);border:1px solid rgba(251,191,36,.3)}.admin-tag-difficulty-hard{background:#f8717126;color:var(--admin-danger);border:1px solid rgba(248,113,113,.3)}.admin-tag-difficulty-legendary{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.admin-tag-active{background:#4ade8026;color:var(--admin-primary);border:1px solid rgba(74,222,128,.3)}.admin-tag-inactive{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.admin-tag-new{background:#67e8f926;color:var(--admin-info);border:1px solid rgba(103,232,249,.3);animation:pulse 2s infinite}.admin-tag-rotating{background:#fbbf2426;color:var(--admin-warning);border:1px solid rgba(251,191,36,.3)}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080f0cd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.admin-modal{background:var(--admin-surface);border-radius:var(--admin-radius-xl);width:100%;max-width:720px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--admin-shadow-lg),0 0 60px #4ade801a;border:1px solid var(--admin-border);animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.admin-modal-header{padding:24px 28px;border-bottom:1px solid var(--admin-border);display:flex;justify-content:space-between;align-items:center;background:var(--admin-gradient-leaf)}.admin-modal-title{color:var(--admin-text);font-size:22px;font-weight:700;margin:0;display:flex;align-items:center;gap:12px}.admin-modal-close{background:var(--admin-bg);border:1px solid var(--admin-border);color:var(--admin-text-muted);font-size:20px;cursor:pointer;padding:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--admin-radius);transition:var(--admin-transition)}.admin-modal-close:hover{color:var(--admin-danger);border-color:var(--admin-danger);background:#f871711a}.admin-modal-body{padding:28px;overflow-y:auto;flex:1}.admin-modal-footer{padding:20px 28px;border-top:1px solid var(--admin-border);display:flex;justify-content:flex-end;gap:14px;background:var(--admin-bg-elevated)}.admin-search{position:relative}.admin-search input{padding:12px 18px 12px 48px;background:var(--admin-bg);border:1px solid var(--admin-border);border-radius:var(--admin-radius-xl);color:var(--admin-text);font-size:14px;width:320px;transition:var(--admin-transition)}.admin-search input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--admin-primary-muted);width:380px}.admin-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--admin-text-dim);font-size:18px}.admin-empty{text-align:center;padding:80px 20px;color:var(--admin-text-muted)}.admin-empty-icon{font-size:64px;margin-bottom:20px;opacity:.5;animation:float 3s ease-in-out infinite}.admin-empty h3{color:var(--admin-text);font-size:20px;margin:0 0 8px}.admin-empty p{color:var(--admin-text-muted);font-size:14px;margin:0}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;gap:20px;color:var(--admin-text-muted)}.admin-spinner{width:48px;height:48px;border:3px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:spin 1s linear infinite;box-shadow:0 0 20px var(--admin-primary-glow)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.admin-grid-compact{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.admin-synergy-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);padding:24px;border:1px solid var(--admin-border);transition:var(--admin-transition);position:relative;overflow:hidden}.admin-synergy-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--synergy-color, var(--admin-primary));transition:var(--admin-transition)}.admin-synergy-card:hover{transform:translateY(-4px);box-shadow:var(--admin-shadow-lg);border-color:var(--synergy-color, var(--admin-border-glow))}.admin-synergy-card:hover:before{height:6px;box-shadow:0 0 20px var(--synergy-color, var(--admin-primary-glow))}.admin-synergy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-synergy-title{color:var(--admin-text);font-size:20px;font-weight:700;text-transform:capitalize;margin:0;display:flex;align-items:center;gap:10px}.admin-synergy-bonuses{display:flex;flex-direction:column;gap:10px}.admin-synergy-bonus{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--admin-bg);border-radius:var(--admin-radius);font-size:14px;border:1px solid var(--admin-border-subtle);transition:var(--admin-transition)}.admin-synergy-bonus:hover{border-color:var(--admin-border-glow);background:var(--admin-bg-elevated)}.admin-synergy-threshold{color:var(--admin-primary);font-weight:700;font-size:16px;display:flex;align-items:center;gap:6px}.admin-synergy-effect{color:var(--admin-text-secondary)}.admin-synergy-card[data-type=fire]{--synergy-color: var(--type-fire)}.admin-synergy-card[data-type=water]{--synergy-color: var(--type-water)}.admin-synergy-card[data-type=grass]{--synergy-color: var(--type-grass)}.admin-synergy-card[data-type=electric]{--synergy-color: var(--type-electric)}.admin-synergy-card[data-type=rock]{--synergy-color: var(--type-rock)}.admin-synergy-card[data-type=ground]{--synergy-color: var(--type-ground)}.admin-synergy-card[data-type=poison]{--synergy-color: var(--type-poison)}.admin-synergy-card[data-type=ghost]{--synergy-color: var(--type-ghost)}.admin-synergy-card[data-type=psychic]{--synergy-color: var(--type-psychic)}.admin-synergy-card[data-type=fighting]{--synergy-color: var(--type-fighting)}.admin-synergy-card[data-type=ice]{--synergy-color: var(--type-ice)}.admin-synergy-card[data-type=dragon]{--synergy-color: var(--type-dragon)}.admin-synergy-card[data-type=dark]{--synergy-color: var(--type-dark)}.admin-synergy-card[data-type=steel]{--synergy-color: var(--type-steel)}.admin-synergy-card[data-type=fairy]{--synergy-color: var(--type-fairy)}.admin-synergy-card[data-type=flying]{--synergy-color: var(--type-flying)}.admin-synergy-card[data-type=bug]{--synergy-color: var(--type-bug)}.admin-synergy-card[data-type=normal]{--synergy-color: var(--type-normal)}.admin-pokemon-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);overflow:hidden;transition:var(--admin-transition);cursor:pointer}.admin-pokemon-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--admin-shadow-lg),var(--admin-shadow-glow);border-color:var(--admin-border-glow)}.admin-pokemon-card-header{padding:20px;background:var(--admin-bg);display:flex;justify-content:center;align-items:center;position:relative}.admin-pokemon-sprite{width:72px;height:72px;image-rendering:pixelated;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));transition:var(--admin-transition)}.admin-pokemon-card:hover .admin-pokemon-sprite{transform:scale(1.1);filter:drop-shadow(0 4px 12px var(--admin-primary-glow))}.admin-pokemon-card-body{padding:16px}.admin-pokemon-name{color:var(--admin-text);font-size:16px;font-weight:600;margin:0 0 8px;text-align:center}.admin-pokemon-types{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.admin-pokemon-type{padding:4px 10px;border-radius:var(--admin-radius-sm);font-size:11px;font-weight:600;text-transform:uppercase}.admin-viz-container{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.admin-viz-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);padding:24px;border:1px solid var(--admin-border);transition:var(--admin-transition)}.admin-viz-card:hover{box-shadow:var(--admin-shadow-md)}.admin-viz-card h3{color:var(--admin-text);font-size:16px;font-weight:600;margin:0 0 20px;display:flex;align-items:center;gap:10px}.admin-viz-full{grid-column:1 / -1}.admin-evolution-tree{display:flex;flex-direction:column;gap:12px}.admin-evolution-branch{display:flex;align-items:center;gap:16px;padding:16px;background:var(--admin-bg);border-radius:var(--admin-radius);border:1px solid var(--admin-border-subtle);transition:var(--admin-transition)}.admin-evolution-branch:hover{border-color:var(--admin-border-glow);background:var(--admin-bg-elevated)}.admin-evolution-arrow{color:var(--admin-primary);font-size:24px;filter:drop-shadow(0 0 8px var(--admin-primary-glow))}.admin-type-bar{display:flex;align-items:center;gap:14px;margin-bottom:14px}.admin-type-label{width:90px;color:var(--admin-text);font-size:14px;text-transform:capitalize;font-weight:500}.admin-type-progress{flex:1;height:10px;background:var(--admin-bg);border-radius:5px;overflow:hidden;border:1px solid var(--admin-border-subtle)}.admin-type-fill{height:100%;border-radius:5px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.admin-type-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}.admin-type-count{width:50px;text-align:right;color:var(--admin-text-secondary);font-size:14px;font-weight:600}.admin-boss-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);overflow:hidden;transition:var(--admin-transition)}.admin-boss-card:hover{transform:translateY(-2px);box-shadow:var(--admin-shadow-lg);border-color:var(--admin-border-glow)}.admin-boss-card.legendary{border-color:#a855f766;box-shadow:0 0 30px #a855f726}.admin-boss-card.legendary:hover{box-shadow:0 0 40px #a855f740}.admin-wave-card{background:var(--admin-surface);border-radius:var(--admin-radius);padding:16px;border:1px solid var(--admin-border);transition:var(--admin-transition)}.admin-wave-card:hover{border-color:var(--admin-border-glow)}.admin-wave-card.milestone{border-color:var(--admin-warning);background:#fbbf240d}.admin-wave-card.boss{border-color:var(--admin-danger);background:#f871710d}.admin-season-card{background:var(--admin-surface);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border);padding:24px;transition:var(--admin-transition);cursor:pointer}.admin-season-card:hover{border-color:var(--admin-border-glow);box-shadow:var(--admin-shadow-md)}.admin-season-card.active{border-color:var(--admin-primary);box-shadow:var(--admin-shadow-glow)}.admin-season-card.active:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--admin-primary),var(--admin-accent))}.admin-sim-panel{display:grid;grid-template-columns:1fr 1fr;gap:24px}.admin-sim-result{padding:24px;background:var(--admin-bg);border-radius:var(--admin-radius-lg);border:1px solid var(--admin-border)}.admin-sim-result.win{border-color:var(--admin-success);background:#34d3990d}.admin-sim-result.loss{border-color:var(--admin-danger);background:#f871710d}.admin-chart-container{background:var(--admin-bg);border-radius:var(--admin-radius);padding:20px;border:1px solid var(--admin-border-subtle)}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--admin-border-subtle)}.recharts-text{fill:var(--admin-text-muted)}.admin-tabs{display:flex;gap:4px;background:var(--admin-bg);padding:6px;border-radius:var(--admin-radius);margin-bottom:24px;border:1px solid var(--admin-border-subtle)}.admin-tab{padding:10px 20px;background:transparent;border:none;color:var(--admin-text-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--admin-radius-sm);transition:var(--admin-transition)}.admin-tab:hover{color:var(--admin-text);background:var(--admin-surface)}.admin-tab.active{background:var(--admin-primary);color:var(--admin-bg-deep)}.admin-toggle{position:relative;width:52px;height:28px;cursor:pointer}.admin-toggle input{opacity:0;width:0;height:0}.admin-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--admin-bg);border:1px solid var(--admin-border);border-radius:14px;transition:var(--admin-transition)}.admin-toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:var(--admin-text-muted);border-radius:50%;transition:var(--admin-transition)}.admin-toggle input:checked+.admin-toggle-slider{background:var(--admin-primary-muted);border-color:var(--admin-primary)}.admin-toggle input:checked+.admin-toggle-slider:before{transform:translate(24px);background:var(--admin-primary);box-shadow:0 0 10px var(--admin-primary-glow)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:8px 14px;background:var(--admin-bg-deep);color:var(--admin-text);font-size:12px;white-space:nowrap;border-radius:var(--admin-radius-sm);border:1px solid var(--admin-border);opacity:0;pointer-events:none;transition:var(--admin-transition);z-index:100;box-shadow:var(--admin-shadow-md)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(-4px)}@media (max-width: 1024px){.admin-viz-container,.admin-sim-panel{grid-template-columns:1fr}}@media (max-width: 768px){.admin-sidebar{position:fixed;left:-280px;z-index:100;height:100vh}.admin-sidebar.open{left:0}.admin-form-grid{grid-template-columns:1fr}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.admin-header{padding:16px 20px}.admin-header h2{font-size:20px}.admin-content{padding:20px}.admin-search input{width:100%}.admin-search input:focus{width:100%}}@media (max-width: 480px){.admin-stats-grid{grid-template-columns:1fr}.admin-login-box{padding:32px 24px}.admin-modal{max-height:100vh;border-radius:0}}.admin-flex{display:flex}.admin-flex-center{display:flex;align-items:center;justify-content:center}.admin-flex-between{display:flex;align-items:center;justify-content:space-between}.admin-gap-sm{gap:8px}.admin-gap-md{gap:16px}.admin-gap-lg{gap:24px}.admin-mt-sm{margin-top:8px}.admin-mt-md{margin-top:16px}.admin-mt-lg{margin-top:24px}.admin-mb-sm{margin-bottom:8px}.admin-mb-md{margin-bottom:16px}.admin-mb-lg{margin-bottom:24px}.admin-text-center{text-align:center}.admin-text-right{text-align:right}.admin-text-primary{color:var(--admin-primary)}.admin-text-success{color:var(--admin-success)}.admin-text-warning{color:var(--admin-warning)}.admin-text-danger{color:var(--admin-danger)}.admin-text-muted{color:var(--admin-text-muted)}.admin-leaf-decoration{position:absolute;width:100px;height:100px;opacity:.05;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 10 Q70 30 50 50 Q30 30 50 10' fill='%234ade80'/%3E%3Cpath d='M50 50 L50 90' stroke='%234ade80' stroke-width='2'/%3E%3C/svg%3E") no-repeat center;pointer-events:none}@media print{.admin-sidebar,.admin-header-actions,.admin-btn{display:none!important}.admin-main{background:#fff}.admin-card,.admin-stat-card{border:1px solid #ddd;box-shadow:none}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:"Exo 2",Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;color:#f1f5f9;overflow:hidden}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a);gap:1.5rem}.loading-ball{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;animation:loadingBounce 1s ease-in-out infinite}@keyframes loadingBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.loading-ball-top{position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#dc2626,#b91c1c);border:4px solid #1F2937;border-bottom:none;border-radius:40px 40px 0 0}.loading-ball-bottom{position:absolute;bottom:0;left:0;right:0;height:50%;background:#fff;border:4px solid #1F2937;border-top:none;border-radius:0 0 40px 40px}.loading-ball-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:#fff;border:3px solid #1F2937;border-radius:50%;z-index:10;animation:loadingPulse 1s ease-in-out infinite}@keyframes loadingPulse{0%,to{box-shadow:0 0 #22d3ee66}50%{box-shadow:0 0 0 10px #22d3ee00}}.app-loading p{color:#94a3b8;font-size:1.1rem;letter-spacing:.1em}.app-container{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);position:relative}.error-toast{position:fixed;top:1rem;right:1rem;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 10px 40px #dc262666;z-index:1000;display:flex;align-items:center;gap:.75rem;font-weight:500;animation:slideInRight .3s ease,fadeOut .3s ease 4.7s;cursor:pointer;border:1px solid rgba(255,255,255,.1)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.error-icon{font-size:1.25rem}.control-buttons{position:fixed;bottom:1rem;right:1rem;z-index:100;display:flex;gap:.5rem;align-items:center}.models-status{font-size:.75rem;padding:.5rem .75rem;border-radius:8px;font-weight:600;background:#0000004d;transition:all .3s ease}.models-status.loaded{color:#4ade80;background:#4ade801a;border:1px solid rgba(74,222,128,.2)}.models-status.loading{color:#fbbf24;background:#fbbf241a;border:1px solid rgba(251,191,36,.2);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.toggle-3d-btn,.test-btn,.admin-btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.toggle-3d-btn{background:#6b7280;color:#fff}.toggle-3d-btn.active{background:#3b82f6;box-shadow:0 0 15px #3b82f666}.toggle-3d-btn:hover{transform:translateY(-2px)}.test-btn{background:#22c55e;color:#fff}.test-btn:hover{background:#16a34a;transform:translateY(-2px)}.admin-btn{background:#8b5cf6;color:#fff}.admin-btn:hover{background:#7c3aed;transform:translateY(-2px)}.admin-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s ease}.close-admin-btn{position:fixed;top:1rem;right:1rem;z-index:1001;padding:.75rem 1.25rem;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.close-admin-btn:hover{background:#dc2626;transform:scale(1.05)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0003;border-radius:4px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}@media (max-width: 768px){.control-buttons{bottom:.5rem;right:.5rem;flex-wrap:wrap;justify-content:flex-end}.control-buttons>*{font-size:.7rem;padding:.4rem .75rem}.error-toast{left:1rem;right:1rem;top:auto;bottom:5rem}}.hidden{display:none!important}.invisible{opacity:0;pointer-events:none}button:focus-visible,input:focus-visible{outline:2px solid #22D3EE;outline-offset:2px}::-moz-selection{background:#22d3ee4d;color:#fff}::selection{background:#22d3ee4d;color:#fff}[data-theme=pokemon] button:focus-visible,[data-theme=pokemon] input:focus-visible{outline-color:#ff6d00;outline-offset:2px}[data-theme=pokemon] ::-moz-selection{background:#ff6d0059;color:#fff}[data-theme=pokemon] ::selection{background:#ff6d0059;color:#fff}[data-theme=pokemon] .loading-ball-button{animation:loadingPulseNeon 1s ease-in-out infinite}@keyframes loadingPulseNeon{0%,to{box-shadow:0 0 #ff6d0080}50%{box-shadow:0 0 0 12px #ff6d0000}}[data-theme=pokemon] .app-loading{background:linear-gradient(135deg,#0e1420,#080c12)}[data-theme=pokemon] ::-webkit-scrollbar-thumb{background:#ff6d002e}[data-theme=pokemon] ::-webkit-scrollbar-thumb:hover{background:#ff6d0059}[data-theme=pokemon] ::-webkit-scrollbar-track{background:#ff6d000a}.waiting-room{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f172a,#1e293b)}.waiting-header{background:linear-gradient(180deg,#e53935,#b71c1c);padding:1rem 2rem;box-shadow:0 4px 20px #0000004d}.header-content{max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#0003;border:2px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.back-button:hover{background:#0000004d;border-color:#fff6;transform:translate(-3px)}.room-status{display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:600;font-size:.9rem}.status-led{width:10px;height:10px;border-radius:50%;background:#fbbf24;box-shadow:0 0 10px #fbbf24;animation:waitingPulse 2s ease-in-out infinite}@keyframes waitingPulse{0%,to{opacity:1;box-shadow:0 0 10px #fbbf24}50%{opacity:.5;box-shadow:0 0 20px #fbbf24}}.waiting-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.waiting-card{width:100%;max-width:500px;background:linear-gradient(180deg,#1a1f2e,#1e293b);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:2.5rem;box-shadow:0 25px 50px -12px #00000080}.code-section{text-align:center;margin-bottom:2rem}.code-label{display:block;color:#94a3b8;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.code-display{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:1.25rem;background:linear-gradient(135deg,#0f172a,#1e293b);border:3px solid #FFD700;border-radius:16px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.code-display:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,215,0,.1),transparent);transform:translate(-100%);transition:transform .5s ease}.code-display:hover:before{transform:translate(100%)}.code-display:hover{box-shadow:0 0 30px #ffd7004d;transform:translateY(-2px)}.code-text{font-family:Courier New,monospace;font-size:2.5rem;font-weight:900;color:gold;letter-spacing:.2em;text-shadow:0 0 20px rgba(255,215,0,.3)}.copy-icon{font-size:1.5rem;color:#94a3b8;transition:color .3s ease}.code-display:hover .copy-icon{color:gold}.code-hint{margin-top:.75rem;font-size:.85rem;color:#64748b}.game-info-section{background:#0003;border-radius:16px;padding:1.25rem;margin-bottom:2rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.info-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05)}.info-label{color:#64748b;font-size:.9rem}.info-value{color:#f1f5f9;font-weight:600}.mode-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);padding:.35rem 1rem;border-radius:20px;font-size:.85rem;text-transform:capitalize}.players-section{margin-bottom:2rem}.section-header-waiting{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title-waiting{display:flex;align-items:center;gap:.5rem;color:#f1f5f9;font-weight:700;font-size:1rem}.connection-indicator{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#4ade80}.players-list{display:flex;flex-direction:column;gap:.75rem}.player-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff08;border:2px solid transparent;border-radius:14px;transition:all .3s ease}.player-item.is-me{background:linear-gradient(90deg,rgba(59,130,246,.1) 0%,transparent 100%);border-color:#3b82f64d}.player-item.empty{opacity:.5;border-style:dashed;border-color:#ffffff1a}.player-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;color:#fff;flex-shrink:0}.player-avatar.empty{background:#ffffff0d;border:2px dashed rgba(255,255,255,.2)}.player-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.player-name{font-weight:600;color:#f1f5f9}.player-tag{font-size:.75rem;padding:.15rem .5rem;border-radius:4px;font-weight:600;width:-moz-fit-content;width:fit-content}.player-tag.me{background:#3b82f633;color:#60a5fa}.empty-text{color:#64748b;font-style:italic}.host-badge{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:8px;font-size:.8rem;font-weight:700;color:#fff}.action-section{text-align:center}.start-btn{width:100%;padding:1.25rem;border:none;border-radius:14px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem}.start-btn.ready{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 10px 30px #22c55e4d}.start-btn.ready:hover{transform:translateY(-3px);box-shadow:0 15px 40px #22c55e66}.start-btn.waiting{background:#ffffff0d;color:#64748b;cursor:not-allowed}.waiting-message{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem;background:#ffffff08;border-radius:14px;color:#94a3b8;font-weight:500}.waiting-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.waiting-footer{text-align:center;padding:1rem;color:#475569;font-size:.85rem}@media (max-width: 640px){.waiting-header{padding:1rem}.header-content{flex-direction:column;gap:1rem}.waiting-content{padding:1rem}.waiting-card{padding:1.5rem}.code-text{font-size:2rem;letter-spacing:.15em}.player-item{padding:.75rem}.player-avatar{width:40px;height:40px;font-size:1rem}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-1\/2{bottom:-50%}.-left-1\/2{left:-50%}.-right-1\/2{right:-50%}.-top-1\/2{top:-50%}.bottom-16{bottom:4rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-2{top:.5rem}.top-20{top:5rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[55\]{z-index:55}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2 / span 2}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-8{margin-left:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-64{height:16rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[140px\]{height:140px}.h-\[72px\]{height:72px}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[100px\]{width:100px}.w-\[500px\]{width:500px}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-br{border-bottom-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-700\/30{border-color:#3741514d}.border-gray-700\/50{border-color:#37415180}.border-green-500\/50{border-color:#22c55e80}.border-green-600\/30{border-color:#16a34a4d}.border-red-500\/50{border-color:#ef444480}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-500\/50{border-color:#eab30880}.border-yellow-600\/30{border-color:#ca8a044d}.border-t-transparent{border-top-color:transparent}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/5{background-color:#3b82f60d}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/40{background-color:#2563eb66}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-blue-900\/40{background-color:#1e3a8a66}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-600\/80{background-color:#4b5563cc}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-700\/30{background-color:#3741514d}.bg-gray-700\/50{background-color:#37415180}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-800\/20{background-color:#1f293733}.bg-gray-800\/30{background-color:#1f29374d}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-800\/80{background-color:#1f2937cc}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-900\/95{background-color:#111827f2}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-600\/30{background-color:#16a34a4d}.bg-green-600\/80{background-color:#16a34acc}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.bg-green-900\/80{background-color:#14532dcc}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-500\/5{background-color:#a855f70d}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/20{background-color:#ef444433}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-600\/80{background-color:#dc2626cc}.bg-red-900\/40{background-color:#7f1d1d66}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/80{background-color:#eab308cc}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-yellow-900\/80{background-color:#713f12cc}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-600{--tw-gradient-from: #db2777 var(--tw-gradient-from-position);--tw-gradient-to: rgb(219 39 119 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-gray-800{--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-400{--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #c084fc var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-700{--tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)}.to-emerald-400{--tw-gradient-to: #34d399 var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to: #111827 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #15803d var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to: #f472b6 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to: #be185d var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-tight{line-height:1.25}.tracking-\[0\.5em\]{letter-spacing:.5em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-600::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(75 85 99 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-600::placeholder{--tw-placeholder-opacity: 1;color:rgb(75 85 99 / var(--tw-placeholder-opacity, 1))}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-900\/30{--tw-shadow-color: rgb(30 58 138 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-900\/30{--tw-shadow-color: rgb(20 83 45 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-900\/30{--tw-shadow-color: rgb(131 24 67 / .3);--tw-shadow: var(--tw-shadow-colored)}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e)}.hex-tile{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.pokemon-bounce{animation:bounce 1s ease-in-out infinite}@keyframes flash{0%,to{opacity:1}50%{opacity:.5}}.combat-flash{animation:flash .2s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.damage-shake{animation:shake .3s ease-in-out}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-out}@keyframes shake-error{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-shake{animation:shake-error .5s ease-in-out}.star{color:#fbbf24;text-shadow:0 0 5px #fbbf24}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-500:hover{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700\/50:hover{background-color:#37415180}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-700:hover{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-400:hover{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.hover\:from-blue-500:hover{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-green-500:hover{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-pink-500:hover{--tw-gradient-from: #ec4899 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-blue-600:hover{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.hover\:to-green-600:hover{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.hover\:to-pink-600:hover{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-600:disabled{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.disabled\:bg-gray-800:disabled{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:scale-100:hover:disabled{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:block{display:block}
