:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a1a;--card: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .08);--text: #fafafa;--muted: rgba(255, 255, 255, .55);--accent: #f59e0b;--grass: #7ac74c;--fire: #ee8130;--water: #6390f0;--electric: #f7d02c}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text);overflow-x:hidden}.star-field{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle 2s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.1}to{opacity:.8}}.screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;position:relative;z-index:1}.screen-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.02em}.screen-sub{color:var(--muted);margin-bottom:2rem;font-size:1rem}.btn{padding:.7rem 1.5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card);color:var(--text);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn:hover:not(:disabled){background:#ffffff1a;transform:translateY(-1px);box-shadow:0 4px 20px #ffffff0d}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-start{font-size:1.2rem;padding:1rem 2.5rem;background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;color:#000;font-weight:700;border-radius:2rem}.btn-start:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f87171);box-shadow:0 0 30px #f59e0b66}.btn-attack{background:linear-gradient(135deg,#ef4444,#b91c1c);border-color:#ef4444}.btn-catch{background:linear-gradient(135deg,#dc2626,#991b1b);border-color:#dc2626}.btn-potion{background:linear-gradient(135deg,#10b981,#065f46);border-color:#10b981}.btn-run{background:linear-gradient(135deg,#6366f1,#4338ca);border-color:#6366f1}.btn-shop{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#f59e0b;color:#000}.btn-heal{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981}.btn-pokedex{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#3b82f6}.btn-back{margin-top:1.5rem;padding:.6rem 2rem}.btn-buy{background:linear-gradient(135deg,#10b981,#059669);border:none;padding:.5rem 1.2rem}.title-screen{justify-content:center;gap:1rem;background:radial-gradient(ellipse at 50% 30%,rgba(245,158,11,.08),transparent 60%),radial-gradient(ellipse at 30% 70%,rgba(99,144,240,.06),transparent 50%),var(--bg)}.title-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.title-pokemon.parade{display:flex;gap:.5rem;margin-bottom:1rem}.parade-emoji{font-size:2.5rem;animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.game-title{font-size:3.5rem;font-weight:900;letter-spacing:-.04em;display:flex;gap:.1em}.title-poke{color:#f59e0b;text-shadow:0 0 30px rgba(245,158,11,.3)}.title-evo{color:#ef4444;text-shadow:0 0 30px rgba(239,68,68,.3)}.title-quest{color:#8b5cf6;text-shadow:0 0 30px rgba(139,92,246,.3)}.subtitle{font-size:1.1rem;color:var(--muted);letter-spacing:.1em}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #f59e0b33}50%{box-shadow:0 0 40px #f59e0b80,0 0 60px #ef444433}}.title-hint{font-size:.85rem;color:var(--muted);margin-top:.5rem}.select-screen{justify-content:center;gap:.5rem;background:radial-gradient(ellipse at 50% 50%,rgba(139,92,246,.08),transparent 60%),var(--bg)}.starter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:700px;width:100%;padding:0 1rem}.starter-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;border:2px solid var(--border);border-radius:1rem;background:var(--card);cursor:pointer;transition:all .3s}.starter-card:hover{transform:translateY(-6px);box-shadow:0 8px 30px #ffffff0d,0 0 20px var(--glow, #fff);border-color:var(--glow, #fff)}.starter-emoji{font-size:3.5rem}.starter-name{font-weight:700;font-size:1rem}.starter-type{font-size:.7rem;padding:.2rem .6rem;border-radius:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.starter-arrow{font-size:.8rem;color:var(--muted)}.starter-preview{margin-top:1rem;padding:1rem 2rem;border:1px solid var(--border);border-radius:.75rem;background:var(--card);display:flex;gap:2rem}.preview-stat{font-size:.85rem;color:var(--muted)}.map-screen{background:radial-gradient(ellipse at 50% 20%,rgba(74,222,128,.05),transparent 50%),var(--bg)}.map-header{width:100%;max-width:800px;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border:1px solid var(--border);border-radius:.75rem;background:var(--card);margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.trainer-info,.trainer-pokemon{display:flex;align-items:center;gap:.75rem}.mini-emoji{font-size:2rem}.trainer-poke-name{font-weight:700;font-size:.95rem}.lv-badge{font-size:.75rem;background:#ffffff1a;padding:.1rem .4rem;border-radius:.3rem;font-weight:600}.trainer-stats{display:flex;gap:1rem}.stat-item{font-size:.85rem;font-weight:600;padding:.3rem .7rem;background:#ffffff0d;border-radius:.4rem}.map-title{font-size:1.4rem;margin-bottom:1rem}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;max-width:800px;width:100%;margin-bottom:1.5rem}.location-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.2rem 1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--card);cursor:pointer;transition:all .3s;position:relative}.location-card:hover:not(.locked){transform:translateY(-3px);border-color:var(--loc-color, #fff);box-shadow:0 6px 25px #ffffff0a,0 0 15px color-mix(in srgb,var(--loc-color, #fff) 30%,transparent)}.location-card.locked{opacity:.45;cursor:not-allowed}.loc-emoji{font-size:2rem}.loc-name{font-weight:700;font-size:.95rem}.loc-desc{font-size:.75rem;color:var(--muted);text-align:center}.loc-levels{font-size:.7rem;color:var(--accent);font-weight:600}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;border-radius:.75rem;font-size:.85rem;font-weight:600}.map-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.health-bar-bg{width:130px;height:12px;background:#ffffff14;border-radius:6px;position:relative;overflow:hidden}.health-bar-fill{height:100%;border-radius:6px;transition:width .4s ease}.health-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;text-shadow:0 0 2px #000}.xp-bar-bg{width:130px;height:8px;background:#ffffff0f;border-radius:4px;position:relative;overflow:hidden;margin-top:3px}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:4px;transition:width .4s ease}.xp-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:600;text-shadow:0 0 2px #000}.battle-screen{justify-content:center;gap:1rem;background:radial-gradient(ellipse at 50% 30%,rgba(239,68,68,.06),transparent 50%),var(--bg)}.battle-arena{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center}.battle-pokemon{display:flex;flex-direction:column;align-items:center;gap:.5rem}.battle-info{text-align:center}.battle-name{font-weight:700;font-size:1rem;margin-bottom:.3rem}.battle-vs{font-size:2rem;animation:vsPulse 1s ease-in-out infinite}@keyframes vsPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.battle-log{width:100%;max-width:500px;max-height:120px;overflow-y:auto;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card);font-size:.85rem}.log-entry{padding:.2rem 0;color:var(--muted)}.log-entry:last-child{color:var(--text);font-weight:600}.battle-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.pokemon-display{display:flex;flex-direction:column;align-items:center;gap:.3rem}.pokemon-emoji{font-size:4rem;line-height:1}.pokemon-large .pokemon-emoji{font-size:5rem}.pokemon-medium .pokemon-emoji{font-size:3.5rem}.pokemon-small .pokemon-emoji{font-size:2rem}.pokemon-name-label{font-weight:700;font-size:.9rem}.pokemon-bounce .pokemon-emoji{animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.evolution-screen{justify-content:center;gap:2rem;background:radial-gradient(ellipse at 50% 50%,rgba(139,92,246,.15),transparent 60%),radial-gradient(ellipse at 50% 50%,rgba(245,158,11,.1),transparent 40%),var(--bg)}.evo-container{display:flex;flex-direction:column;align-items:center;gap:2rem}.evo-title{font-size:2rem;font-weight:800}.evolving-text{animation:evoFlash .5s ease-in-out infinite alternate;color:#fbbf24;text-shadow:0 0 20px rgba(251,191,36,.5)}@keyframes evoFlash{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.done-text{color:#10b981}.evo-morph{display:flex;align-items:center;gap:2rem;font-size:5rem;position:relative}.morph-from{animation:morphOut 3s ease-in forwards}.morph-to{animation:morphIn 3s ease-in forwards}@keyframes morphOut{0%{opacity:1;transform:scale(1);filter:none}50%{opacity:.5;transform:scale(1.2);filter:blur(2px)}to{opacity:0;transform:scale(.5);filter:blur(8px)}}@keyframes morphIn{0%{opacity:0;transform:scale(.5);filter:blur(8px)}50%{opacity:.5;transform:scale(1.2);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:none}}.evo-sparks{font-size:2rem;animation:sparkle .6s ease-in-out infinite alternate;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}@keyframes sparkle{0%{opacity:.3;transform:translate(-50%,-50%) rotate(0) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) rotate(20deg) scale(1.2)}}.evo-message{font-size:1.3rem;font-weight:700}.pokedex-screen{background:radial-gradient(ellipse at 50% 30%,rgba(239,68,68,.06),transparent 50%),var(--bg)}.pokedex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;max-width:700px;width:100%}.pokedex-entry{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.8rem .5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card);transition:all .2s}.pokedex-entry.caught{border-color:#ffffff26}.pokedex-entry.missing{opacity:.35}.dex-emoji{font-size:1.8rem}.dex-name{font-size:.8rem;font-weight:600}.dex-type{font-size:.6rem;padding:.15rem .4rem;border-radius:.8rem;font-weight:600;text-transform:uppercase}.shop-screen{justify-content:center;gap:1rem;background:radial-gradient(ellipse at 50% 30%,rgba(245,158,11,.08),transparent 50%),var(--bg)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;max-width:600px;width:100%}.shop-item{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.2rem;border:1px solid var(--border);border-radius:.75rem;background:var(--card)}.shop-emoji{font-size:2.5rem}.shop-name{font-weight:700;font-size:1rem}.shop-desc{font-size:.75rem;color:var(--muted);text-align:center}@media(max-width:640px){.starter-grid{grid-template-columns:repeat(2,1fr)}.game-title{font-size:2.5rem}.parade-emoji{font-size:1.8rem}.battle-arena{gap:1rem}.pokemon-large .pokemon-emoji{font-size:3.5rem}.location-grid{grid-template-columns:repeat(2,1fr)}}
