*,*:before,*:after{box-sizing:border-box}:root{font-family:system-ui,-apple-system,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:#f5f5f5;color:#222;min-height:100vh}button{font-family:inherit}.pokemon-card{position:relative;background:var(--card-bg, #fff);border-radius:16px;padding:16px 12px 12px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease;border-top:4px solid var(--type-color, #aaa)}.pokemon-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.pokemon-card.type-fire{--type-color: #f08030}.pokemon-card.type-water{--type-color: #6890f0}.pokemon-card.type-grass{--type-color: #78c850}.pokemon-card.type-electric{--type-color: #f8d030}.pokemon-card.type-psychic{--type-color: #f85888}.pokemon-card.type-normal{--type-color: #a8a878}.pokemon-card.type-ghost{--type-color: #705898}.pokemon-card.type-dragon{--type-color: #7038f8}.pokemon-card.type-fighting{--type-color: #c03028}.pokemon-card.type-rock{--type-color: #b8a038}.favorite-btn{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;color:#ccc;transition:color .15s ease,transform .15s ease;line-height:1}.favorite-btn:hover{transform:scale(1.2);border-color:transparent}.favorite-btn.active{color:#e74c3c}.pokemon-sprite{width:96px;height:96px;image-rendering:pixelated}.pokemon-name{margin:4px 0 6px;font-size:.95rem;font-weight:600;text-align:center;color:#333}.type-badge{display:inline-block;padding:2px 10px;border-radius:99px;background:var(--type-color, #aaa);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px}.stats{width:100%;display:flex;flex-direction:column;gap:6px}.stat{display:flex;align-items:center;gap:6px}.stat-label{font-size:.65rem;font-weight:700;color:#888;width:24px;text-align:right;flex-shrink:0}.stat-bar{flex:1;height:6px;background:#eee;border-radius:3px;overflow:hidden}.stat-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.stat-bar-fill.hp{background:#4caf50}.stat-bar-fill.atk{background:#f44336}.stat-value{font-size:.68rem;color:#666;width:22px;text-align:right;flex-shrink:0}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}.type-filters{display:flex;flex-wrap:wrap;gap:6px;flex:1}.filter-btn{padding:5px 14px;border-radius:99px;border:2px solid #ddd;background:#fff;color:#555;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.filter-btn:hover{border-color:#999;color:#222}.filter-btn.active{background:#333;border-color:#333;color:#fff}.type-btn.type-fire.active{background:#f08030;border-color:#f08030}.type-btn.type-water.active{background:#6890f0;border-color:#6890f0}.type-btn.type-grass.active{background:#78c850;border-color:#78c850}.type-btn.type-electric.active{background:#f8d030;border-color:#f8d030;color:#333}.type-btn.type-psychic.active{background:#f85888;border-color:#f85888}.type-btn.type-normal.active{background:#a8a878;border-color:#a8a878}.type-btn.type-ghost.active{background:#705898;border-color:#705898}.type-btn.type-dragon.active{background:#7038f8;border-color:#7038f8}.type-btn.type-fighting.active{background:#c03028;border-color:#c03028}.type-btn.type-rock.active{background:#b8a038;border-color:#b8a038}.favorites-toggle{padding:5px 16px;border-radius:99px;border:2px solid #e74c3c;background:#fff;color:#e74c3c;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.favorites-toggle:hover{background:#ffeaea;border-color:#e74c3c}.favorites-toggle.active{background:#e74c3c;color:#fff}.search-sort{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.search-input{flex:1;min-width:160px;padding:8px 14px;border:2px solid #ddd;border-radius:8px;font-size:.9rem;font-family:inherit;color:#333;background:#fff;transition:border-color .15s ease;outline:none}.search-input:focus{border-color:#7038f8}.sort-select{padding:8px 12px;border:2px solid #ddd;border-radius:8px;font-size:.9rem;font-family:inherit;color:#333;background:#fff;cursor:pointer;outline:none;transition:border-color .15s ease}.sort-select:focus{border-color:#7038f8}.footer{margin-top:48px;padding:24px 20px 32px;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;align-items:center;gap:12px}.footer__links{display:flex;gap:12px}.footer__btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:#555;background:transparent;transition:color .2s ease,background .2s ease,transform .2s ease}.footer__btn:hover{transform:scale(1.1)}.footer__btn--primary:hover{color:#fff;background:#0077b5}.footer__btn--secondary:hover{color:#fff;background:#333}.footer__credit{color:#000;margin:0}.app{max-width:1100px;margin:0 auto;padding:24px 20px 0}.app-header{text-align:center;margin-bottom:32px}.app-header h1{font-size:2.2rem;font-weight:800;margin:0 0 4px;color:#222}.subtitle{color:#000;margin:0}.pokemon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.empty-state{text-align:center;color:#000;font-size:1.1rem;padding:60px 0}
