:root{--color-background: #0d1117;--color-surface: #161b22;--color-surface-elevated: #21262d;--color-text-primary: #f0f6fc;--color-text-secondary: #8b949e;--color-text-muted: #6e7681;--color-border: #30363d;--color-accent: #7c3aed;--color-accent-secondary: #3b82f6;--color-interactive: #8b5cf6;--color-interactive-hover: #7c3aed;--color-success: #238636;--color-warning: #d29922;--color-error: #f85149;--color-modal-overlay: rgba(1, 4, 9, .85);--color-input-bg: #0d1117;--color-input-border: #30363d;--color-selection: #1f6feb;--font-family-base: "Outfit", system-ui, -apple-system, sans-serif;--font-family-heading: "Fredoka", "Outfit", sans-serif;--font-family-pixel: "Pixelify Sans", monospace;--font-scale: 1;--spacing-scale: 1;--radius-base: 16px;--border-width: 2px;--shadow-opacity: .6;--surface-opacity: .95;--density-multiplier: 1;--animation-multiplier: 1;--header-height: 68px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-base);font-size:calc(16px * var(--font-scale));background-color:var(--color-background);color:var(--color-text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .25s ease,color .25s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-interactive-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading, "Fredoka", "Outfit", sans-serif);font-weight:700;letter-spacing:-.01em;line-height:1.25}.container{width:100%;max-width:1200px;margin:0 auto;padding:calc(16px * var(--spacing-scale))}.card{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-base);padding:calc(22px * var(--spacing-scale) * var(--density-multiplier));box-shadow:0 6px 20px rgba(0,0,0,calc(.28 * var(--shadow-opacity))),inset 0 1px #ffffff0f;position:relative;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s ease,box-shadow .2s ease}.card-elevated{background-color:var(--color-surface-elevated);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-base);padding:calc(24px * var(--spacing-scale) * var(--density-multiplier));box-shadow:0 10px 32px rgba(0,0,0,calc(.38 * var(--shadow-opacity))),inset 0 1px #ffffff14;position:relative}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:calc(10px * var(--density-multiplier)) calc(22px * var(--density-multiplier));font-family:var(--font-family-heading, "Fredoka", sans-serif);font-weight:700;font-size:.95rem;letter-spacing:.02em;border-radius:9999px;border:2px solid transparent;position:relative;transition:transform .1s ease,box-shadow .1s ease,background-color .15s ease,filter .15s ease;-webkit-user-select:none;user-select:none;cursor:pointer;box-shadow:0 4px #0000004d}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #00000059}.btn:active:not(:disabled){transform:translateY(3px)!important;box-shadow:0 1px #00000059!important}.btn-primary{background:linear-gradient(180deg,var(--color-interactive-hover) 0%,var(--color-interactive) 100%);color:#fff;border-color:#ffffff40;box-shadow:0 4px #00000059,0 6px 16px #0003,inset 0 1px #fff6;text-shadow:0 1px 2px rgba(0,0,0,.35)}.btn-primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 6px #00000061,0 8px 20px #00000040,inset 0 1px #ffffff80}.btn-secondary{background:var(--color-surface-elevated);color:var(--color-text-primary);border:2px solid var(--color-border);box-shadow:0 4px 0 var(--color-border),0 4px 10px #00000026}.btn-secondary:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 6px 0 var(--color-accent),0 6px 14px #0003}.btn-accent{background:linear-gradient(180deg,var(--color-accent) 0%,var(--color-interactive) 100%);color:#fff;border-color:#ffffff4d;box-shadow:0 4px #00000059,0 6px 16px #0003,inset 0 1px #fff6;text-shadow:0 1px 2px rgba(0,0,0,.35)}.btn-accent:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px #00000061,0 8px 20px #00000040}.btn-danger{background:linear-gradient(180deg,#f87171,#ef4444);color:#fff;border-color:#ffffff4d;box-shadow:0 4px #991b1b,0 6px 16px #ef444440,inset 0 1px #fff6;text-shadow:0 1px 2px rgba(0,0,0,.35)}.btn-danger:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px #991b1b,0 8px 20px #ef44444d}.input-field{width:100%;padding:calc(10px * var(--density-multiplier)) 14px;background-color:var(--color-input-bg);border:var(--border-width) solid var(--color-input-border);border-radius:calc(var(--radius-base) * .7);color:var(--color-text-primary);font-family:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:inset 0 2px 4px #00000026}.input-field:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #ef44442e,inset 0 2px 4px #0000001a}.input-field::placeholder{color:var(--color-text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn calc(.2s * var(--animation-multiplier)) ease}.modal-content{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-base);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #00000080;animation:scaleUp calc(.25s * var(--animation-multiplier)) ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pokeball-spinner{width:48px;height:48px;border-radius:50%;border:4px solid #111827;position:relative;background:linear-gradient(to bottom,#ef4444 50%,#fff 50%);animation:spin calc(1.2s * var(--animation-multiplier)) infinite linear}.pokeball-spinner:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;background-color:#fff;border:3px solid #111827;border-radius:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html,body{overflow-x:hidden;max-width:100vw}.nav-desktop-links{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}.nav-desktop-links a{white-space:nowrap;flex-shrink:0}.nav-desktop-actions{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}.nav-mobile-toggle{display:none}.theme-editor-grid{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:24px}@media(max-width:1024px){.nav-desktop-links,.nav-desktop-actions{display:none!important}.nav-mobile-toggle{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:var(--color-surface-elevated);border:var(--border-width) solid var(--color-border);color:var(--color-text-primary);font-size:1.3rem}.container{padding:12px!important}.battle-scoreboard{grid-template-columns:1fr!important;gap:8px!important}.theme-editor-grid{grid-template-columns:1fr!important}}.dex-badge{font-family:var(--font-family-pixel, "Pixelify Sans", monospace);font-size:.85rem;letter-spacing:.08em;font-weight:700;display:inline-flex;align-items:center;gap:4px}.pokemon-font{font-family:var(--font-family-heading, "Fredoka", "Outfit", sans-serif)}.pokedex-sensor-bar{display:flex;align-items:center;gap:8px}.pokedex-lens-main{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#a5f3fc,#22d3ee,#0891b2 70%,#164e63);border:2.5px solid #ffffff;box-shadow:0 0 10px #22d3eeb3,inset 0 2px 4px #fffc;position:relative;flex-shrink:0;animation:pulseLens 3s infinite ease-in-out}@keyframes pulseLens{0%,to{box-shadow:0 0 8px #22d3ee80,inset 0 2px 4px #fffc}50%{box-shadow:0 0 16px #22d3eee6,inset 0 2px 4px #fff}}.pokedex-led{width:8px;height:8px;border-radius:50%;border:1px solid rgba(0,0,0,.25);box-shadow:0 0 6px currentColor}.pokedex-led-red{background-color:#ef4444;color:#ef4444}.pokedex-led-yellow{background-color:#facc15;color:#facc15}.pokedex-led-green{background-color:#22c55e;color:#22c55e}.vs-badge{font-family:var(--font-family-heading, "Fredoka", sans-serif);font-weight:800;font-size:1.15rem;font-style:italic;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#3b82f6);color:#fff;border:3px solid #ffffff;box-shadow:0 4px 12px #00000059;text-shadow:0 2px 4px rgba(0,0,0,.5);-webkit-user-select:none;user-select:none}.pokeball-watermark{position:absolute;right:-15px;bottom:-15px;width:130px;height:130px;opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='46' fill='none' stroke='%23ffffff' stroke-width='8'/%3E%3Cline x1='4' y1='50' x2='96' y2='50' stroke='%23ffffff' stroke-width='8'/%3E%3Ccircle cx='50' cy='50' r='14' fill='%23ffffff' stroke='%23ffffff' stroke-width='6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain}.game-card-hover{cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease}.game-card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,calc(.35 * var(--shadow-opacity))),0 0 0 2px var(--color-accent)!important;border-color:var(--color-accent)!important}.hp-gauge-bg{width:100%;height:8px;background:#00000040;border-radius:9999px;overflow:hidden;border:1px solid var(--color-border)}.hp-gauge-fill{height:100%;border-radius:9999px;transition:width .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-interactive) 100%)}@keyframes floatMascot{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}.stadium-mascot-img{animation:floatMascot 4s ease-in-out infinite;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}.stadium-pedestal{position:relative;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-base);overflow:hidden}.stadium-aura{position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(40px);opacity:.35;pointer-events:none}.pokedle-desktop-view{display:block}.pokedle-mobile-view{display:none}@media(max-width:860px){.pokedle-desktop-view{display:none!important}.pokedle-mobile-view{display:flex!important;flex-direction:column;gap:12px;width:100%}.pokedle-guesses-container{overflow-x:visible!important;padding:12px!important}}@keyframes soundwave{0%,to{height:6px}50%{height:30px}}.soundwave-bar{width:4px;height:6px;background:linear-gradient(180deg,#ec4899,#8b5cf6);border-radius:4px;display:inline-block;transition:height .2s ease}.soundwave-bar.playing{animation:soundwave .8s ease-in-out infinite}
