:root{--type-normal: #a8a77a;--type-fire: #ee8130;--type-water: #6390f0;--type-electric: #f7d02c;--type-grass: #7ac74c;--type-ice: #96d9d6;--type-fighting: #c22e28;--type-poison: #a33ea1;--type-ground: #e2bf65;--type-flying: #a98ff3;--type-psychic: #f95587;--type-bug: #a6b91a;--type-rock: #b6a136;--type-ghost: #735797;--type-dragon: #6f35fc;--type-dark: #705746;--type-steel: #b7b7ce;--type-fairy: #d685ad;--bg: #f1f5f9;--surface: #ffffff;--text: #1e293b;--text-secondary: #64748b;--accent: #dc2626;--accent-dark: #b91c1c;--border: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--radius-md: 12px;--radius-lg: 16px;--radius-pill: 9999px;--font-family: system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}img{display:block;max-width:100%}body{font-family:var(--font-family);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 24px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.app-header svg{width:28px;height:28px}.app-header-title{font-size:1.5rem;font-weight:700;letter-spacing:.5px}.type-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;color:#fff;text-transform:capitalize;letter-spacing:.3px}.type-badge[data-type=normal]{background:var(--type-normal)}.type-badge[data-type=fire]{background:var(--type-fire)}.type-badge[data-type=water]{background:var(--type-water)}.type-badge[data-type=electric]{background:var(--type-electric);color:#1e293b}.type-badge[data-type=grass]{background:var(--type-grass)}.type-badge[data-type=ice]{background:var(--type-ice);color:#1e293b}.type-badge[data-type=fighting]{background:var(--type-fighting)}.type-badge[data-type=poison]{background:var(--type-poison)}.type-badge[data-type=ground]{background:var(--type-ground);color:#1e293b}.type-badge[data-type=flying]{background:var(--type-flying)}.type-badge[data-type=psychic]{background:var(--type-psychic)}.type-badge[data-type=bug]{background:var(--type-bug)}.type-badge[data-type=rock]{background:var(--type-rock)}.type-badge[data-type=ghost]{background:var(--type-ghost)}.type-badge[data-type=dragon]{background:var(--type-dragon)}.type-badge[data-type=dark]{background:var(--type-dark)}.type-badge[data-type=steel]{background:var(--type-steel);color:#1e293b}.type-badge[data-type=fairy]{background:var(--type-fairy)}.pokedex-container{max-width:1200px;margin:0 auto;padding:24px 16px}.generation-button-container{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:24px}.gen-button{padding:6px 16px;border:2px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-family:var(--font-family);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.gen-button:hover{border-color:var(--accent);color:var(--accent)}.gen-button--active{background:var(--accent);border-color:var(--accent);color:#fff}.gen-button--active:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.pokemon-card-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.pokemon-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:32px 12px 16px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}.pokemon-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.pokemon-card[data-type=normal]:before{background:var(--type-normal)}.pokemon-card[data-type=fire]:before{background:var(--type-fire)}.pokemon-card[data-type=water]:before{background:var(--type-water)}.pokemon-card[data-type=electric]:before{background:var(--type-electric)}.pokemon-card[data-type=grass]:before{background:var(--type-grass)}.pokemon-card[data-type=ice]:before{background:var(--type-ice)}.pokemon-card[data-type=fighting]:before{background:var(--type-fighting)}.pokemon-card[data-type=poison]:before{background:var(--type-poison)}.pokemon-card[data-type=ground]:before{background:var(--type-ground)}.pokemon-card[data-type=flying]:before{background:var(--type-flying)}.pokemon-card[data-type=psychic]:before{background:var(--type-psychic)}.pokemon-card[data-type=bug]:before{background:var(--type-bug)}.pokemon-card[data-type=rock]:before{background:var(--type-rock)}.pokemon-card[data-type=ghost]:before{background:var(--type-ghost)}.pokemon-card[data-type=dragon]:before{background:var(--type-dragon)}.pokemon-card[data-type=dark]:before{background:var(--type-dark)}.pokemon-card[data-type=steel]:before{background:var(--type-steel)}.pokemon-card[data-type=fairy]:before{background:var(--type-fairy)}.pokemon-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.pokemon-card:hover .pokemon-sprite{transform:scale(1.1)}.pokemon-id{position:absolute;top:10px;right:12px;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.pokemon-sprite{width:96px;height:96px;image-rendering:pixelated;transition:transform .25s ease}.pokemon-name{margin-top:4px;font-size:1rem;font-weight:600;text-transform:capitalize;color:var(--text)}.type-container{display:flex;gap:6px;margin-top:8px}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;gap:16px}.pokeball-container{color:var(--accent);animation:spin-pokeball 1.2s linear infinite}@keyframes spin-pokeball{to{transform:rotate(360deg)}}.loading-text{font-size:1.125rem;font-weight:500;color:var(--text-secondary);letter-spacing:1px}.detail-page{max-width:800px;margin:0 auto}.detail-nav{position:sticky;top:52px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text);cursor:pointer;transition:background .15s ease}.nav-btn:hover{background:var(--bg)}.nav-center{display:flex;align-items:center;gap:12px}.nav-pokemon-id{font-size:1.125rem;font-weight:700;color:var(--text);min-width:50px;text-align:center}.detail-content{padding:16px;display:flex;flex-direction:column;gap:16px}.detail-section{background:var(--surface);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.section-title{font-size:1.125rem;font-weight:700;margin-bottom:16px;color:var(--text)}.detail-hero{display:flex;flex-direction:column;align-items:center;text-align:center}.detail-hero-sprite{width:160px;height:160px;image-rendering:pixelated}.detail-hero-name{font-size:2rem;font-weight:700;text-transform:capitalize;margin-top:8px}.detail-hero-types{display:flex;gap:8px;margin-top:12px}.detail-hero-types .type-badge{font-size:.875rem;padding:4px 14px}.cries-grid{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.cry-item{display:flex;flex-direction:column;gap:6px}.cry-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.cry-item audio{height:36px}.sprites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.sprite-item{display:flex;flex-direction:column;align-items:center;gap:4px}.sprite-item img{width:80px;height:80px;image-rendering:pixelated}.sprite-label{font-size:.75rem;color:var(--text-secondary);text-align:center}.evolution-chain{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}.evolution-stage-wrapper{display:flex;align-items:center;gap:4px}.evolution-arrow{color:var(--text-secondary);flex-shrink:0}.evolution-stage{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.evolution-stage:hover{background:var(--bg)}.evolution-stage img{width:72px;height:72px;image-rendering:pixelated}.evolution-name{font-size:.875rem;font-weight:500;text-transform:capitalize;margin-top:4px}.language-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.lang-btn{padding:4px 12px;border:2px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font-family:var(--font-family);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.lang-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.flavor-text-list{display:flex;flex-direction:column;gap:10px}.flavor-text-card{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg);border-radius:var(--radius-md)}.version-badge{flex-shrink:0;padding:2px 10px;border:2px solid var(--accent);border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;color:var(--accent);text-transform:capitalize}.flavor-text-content{font-size:.875rem;line-height:1.6;color:var(--text)}@media (max-width: 768px){.pokemon-card-container{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pokemon-sprite{width:72px;height:72px}.pokedex-container{padding:16px 12px}.detail-section{padding:16px}.detail-hero-sprite{width:120px;height:120px}.detail-hero-name{font-size:1.5rem}.sprite-item img{width:64px;height:64px}}@media (max-width: 480px){.pokemon-card-container{grid-template-columns:repeat(2,1fr);gap:10px}.pokemon-card{padding:24px 8px 12px}.pokemon-sprite{width:64px;height:64px}.pokemon-name{font-size:.875rem}.gen-button{padding:4px 10px;font-size:.75rem}.generation-button-container{gap:6px;margin-bottom:16px}.detail-content{padding:10px;gap:12px}.detail-hero-sprite{width:100px;height:100px}.detail-hero-name{font-size:1.25rem}.sprites-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.evolution-stage img{width:56px;height:56px}.flavor-text-card{flex-direction:column;gap:8px}.app-header-title{font-size:1.25rem}}
