*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);background:var(--color-bg);color:var(--color-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");min-height:100vh;line-height:1.6;overflow-x:hidden}img{display:block}button{cursor:pointer;font:inherit;background:0 0;border:none}a{color:inherit;text-decoration:none}input,select{font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#app{flex-direction:column;min-height:100vh;display:flex}.type-badge{border-radius:var(--radius-pill);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:9px;font-weight:700;display:inline-flex}.type-badge.dark-text{color:#1a1a1a}.type-normal{background:#a8a878}.type-fire{background:#f08030}.type-water{background:#6890f0}.type-electric{color:#333;background:#f8d030}.type-grass{background:#78c850}.type-ice{color:#333;background:#98d8d8}.type-fighting{background:#c03028}.type-poison{background:#a040a0}.type-ground{color:#333;background:#e0c068}.type-flying{background:#a890f0}.type-psychic{background:#f85888}.type-bug{background:#a8b820}.type-rock{background:#b8a038}.type-ghost{background:#705898}.type-dragon{background:#7038f8}.type-dark{background:#705848}.type-steel{color:#333;background:#b8b8d0}.type-fairy{color:#333;background:#ee99ac}.app-nav{z-index:200;background:var(--nav-bg);border-bottom:1px solid var(--color-border-2);-webkit-backdrop-filter:blur(16px)saturate(160%);padding:0 var(--space-6);position:sticky;top:0}.app-nav__inner{align-items:center;gap:var(--space-4);max-width:1540px;height:60px;margin:0 auto;display:flex}.app-nav__logo{flex-shrink:0;align-items:center;gap:10px;display:flex}.app-nav__ball{border:2.5px solid var(--color-border);width:32px;height:32px;transition:transform var(--transition-fast);background:radial-gradient(circle at 50% 48%,#fff 0% 38%,#0000 39%),radial-gradient(circle at 50% 48%,#0000 44%,#1a1a1a 44% 46%,#0000 47%),linear-gradient(#ef4444 0% 50%,#e8edf5 50% 100%);border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1.5px #ffffff26,0 2px 8px #0006}.app-nav__logo:hover .app-nav__ball{transition:transform .6s;transform:rotate(360deg)}.app-nav__title{font-family:var(--font-display);color:var(--color-accent);letter-spacing:-.02em;font-size:18px;font-weight:800}.app-nav__links{gap:var(--space-1);align-items:center;display:flex}.app-nav__links a{border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast), background var(--transition-fast);padding:5px 14px;font-weight:500}.app-nav__links a:hover,.app-nav__links a.active{color:var(--color-text);background:var(--color-surface-2)}.app-nav__actions{gap:var(--space-2);align-items:center;margin-left:auto;display:flex}.icon-btn{border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border-2);width:36px;height:36px;color:var(--color-text-muted);transition:color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{color:var(--color-text);background:var(--color-surface-3);transform:scale(1.06)}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}@media (width<=640px){.app-nav{padding:0 var(--space-3)}.app-nav__links a{padding:5px 9px}}@media (width<=400px){.app-nav__title{display:none}.app-nav__ball{width:28px;height:28px}.app-nav__inner{gap:var(--space-2)}.app-nav__links a{font-size:var(--text-sm);padding:5px 10px}}@media (width<=320px){.app-nav{padding:0 var(--space-2)}.app-nav__links a{padding:4px 8px;font-size:12px}}.app-footer{background:var(--color-surface);border-top:1px solid var(--color-border-2);padding:var(--space-8) var(--space-6) var(--space-6);margin-top:auto}.app-footer__inner{gap:var(--space-5);flex-direction:column;max-width:1540px;margin:0 auto;display:flex}.app-footer__top{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.app-footer__logo{align-items:center;gap:10px;display:flex}.app-footer__logo-ball{border:2px solid var(--color-border);background:radial-gradient(circle at 50% 48%,#fff 0% 38%,#0000 39%),radial-gradient(circle at 50% 48%,#0000 44%,#1a1a1a 44% 46%,#0000 47%),linear-gradient(#ef4444 0% 50%,#e8edf5 50% 100%);border-radius:50%;flex-shrink:0;width:24px;height:24px}.app-footer__logo-title{font-family:var(--font-display);color:var(--color-accent);letter-spacing:-.02em;font-size:15px;font-weight:800}.app-footer__nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.app-footer__nav a{border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast), background var(--transition-fast);padding:5px 12px;font-weight:500}.app-footer__nav a:hover{color:var(--color-text);background:var(--color-surface-2)}.app-footer__bottom{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-2);flex-wrap:wrap;display:flex}.app-footer__copy{font-size:var(--text-xs);color:var(--color-text-dim)}.app-footer__copy a{color:var(--color-text-dim);transition:text-decoration-color var(--transition-fast);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.app-footer__copy a:hover{text-decoration-color:currentColor}.app-footer__credit{font-size:var(--text-xs);color:var(--color-text-dim);align-items:center;gap:var(--space-2);display:flex}@media (width<=640px){.app-footer{padding:var(--space-5) var(--space-4) var(--space-4);text-align:center}.app-footer__top{align-items:center;gap:var(--space-3);flex-direction:column}.app-footer__logo,.app-footer__nav{justify-content:center}.app-footer__bottom{align-items:center;gap:var(--space-2);flex-direction:column}.app-footer__credit{justify-content:center}}
