.app{max-width:1000px;margin:0 auto;padding:2rem 1rem 4rem}.app__header{text-align:center;margin-bottom:2rem}.app__logo{width:56px;height:56px}.app__title{margin:.25rem 0 0;font-size:2rem;letter-spacing:-.02em}.app__subtitle{margin:.25rem 0 0;color:var(--muted)}.app__error{background:#ef444426;border:1px solid var(--accent);color:#fecaca;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center}.app__grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:start}.app__column{display:flex;flex-direction:column;gap:1rem}.app__versus{align-self:center;font-size:1.5rem;font-weight:800;color:var(--accent-2);padding-top:3rem}@media (max-width: 720px){.app__grid{grid-template-columns:1fr}.app__versus{padding-top:0;text-align:center}}.selector{display:flex;flex-direction:column;gap:.5rem}.selector__label{font-weight:700;color:var(--accent-2);text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.selector__search{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.95rem}.selector__search:focus{outline:2px solid var(--accent-2);outline-offset:1px}.selector__list{list-style:none;margin:0;padding:.25rem;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.selector__option{width:100%;text-align:left;padding:.45rem .6rem;border:none;background:transparent;color:var(--text);border-radius:6px;text-transform:capitalize}.selector__option:hover{background:var(--panel-2)}.selector__option--active{background:var(--accent);color:#fff}.selector__empty{padding:.6rem;color:var(--muted);text-align:center;list-style:none}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem;min-height:320px}.card--empty{display:flex;align-items:center;justify-content:center}.card__placeholder{color:var(--muted)}.card__header{display:flex;align-items:baseline;gap:.5rem}.card__id{color:var(--muted);font-variant-numeric:tabular-nums}.card__name{margin:0;text-transform:capitalize;font-size:1.3rem}.card__sprite{display:block;width:180px;height:180px;object-fit:contain;margin:.5rem auto;image-rendering:auto}.card__sprite--missing{display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px dashed var(--border);border-radius:8px}.card__types{display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem}.type-badge{text-transform:capitalize;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;color:#fff;background:#64748b}.type-badge--fire{background:#f08030}.type-badge--water{background:#6890f0}.type-badge--grass{background:#78c850}.type-badge--electric{background:#f8d030;color:#333}.type-badge--psychic{background:#f85888}.type-badge--ice{background:#98d8d8;color:#333}.type-badge--dragon{background:#7038f8}.type-badge--dark{background:#705848}.type-badge--fairy{background:#ee99ac;color:#333}.type-badge--fighting{background:#c03028}.type-badge--flying{background:#a890f0}.type-badge--poison{background:#a040a0}.type-badge--ground{background:#e0c068;color:#333}.type-badge--rock{background:#b8a038}.type-badge--bug{background:#a8b820}.type-badge--ghost{background:#705898}.type-badge--steel{background:#b8b8d0;color:#333}.type-badge--normal{background:#a8a878}.card__stats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.card__stat{display:grid;grid-template-columns:90px 1fr 36px;align-items:center;gap:.5rem;font-size:.8rem}.card__stat-name{color:var(--muted);text-transform:capitalize}.card__stat-bar{background:var(--panel-2);border-radius:999px;height:8px;overflow:hidden}.card__stat-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent))}.card__stat-value{text-align:right;font-variant-numeric:tabular-nums}.card__spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.arena{margin-top:2rem;text-align:center}.arena__button{font-size:1.2rem;font-weight:800;padding:.9rem 2.5rem;border:none;border-radius:999px;color:#fff;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 8px 20px #ef44444d;transition:transform .1s ease,opacity .2s ease}.arena__button:hover:not(:disabled){transform:translateY(-2px)}.arena__button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.arena__hint{color:var(--muted);margin-top:.75rem}.arena__error{margin:1.25rem auto 0;max-width:640px;background:#f59e0b1f;border:1px solid var(--accent-2);color:#fde68a;padding:.85rem 1rem;border-radius:8px}.arena__result{margin:1.5rem auto 0;max-width:640px;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.arena__winner{margin:0 0 .75rem;text-align:center;text-transform:capitalize}.arena__transcript{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.4rem}.arena__actor{font-weight:700;text-transform:capitalize;color:var(--accent-2)}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light dark;--bg: #0f172a;--panel: #1e293b;--panel-2: #273449;--text: #e2e8f0;--muted: #94a3b8;--accent: #ef4444;--accent-2: #f59e0b;--border: #334155}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at top,#1e293b,var(--bg));color:var(--text);min-height:100vh}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}
