:root{--bg-primary: #0a0d16;--bg-surface: #111728;--bg-card: rgba(20, 28, 48, .7);--bg-card-hover: rgba(28, 39, 68, .85);--bg-glass: rgba(16, 23, 41, .75);--bg-overlay: rgba(5, 8, 15, .82);--border-subtle: rgba(255, 255, 255, .08);--border-active: rgba(255, 255, 255, .2);--accent-cyan: #00f2fe;--accent-purple: #9d4edd;--accent-red: #ff3366;--accent-gold: #ffbe0b;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--stat-hp: #2ecc71;--stat-atk: #e74c3c;--stat-def: #f39c12;--stat-spa: #3498db;--stat-spd: #1abc9c;--stat-spe: #e056fd;--type-normal: #a8a878;--type-fire: #ff4422;--type-water: #3399ff;--type-electric: #ffcc33;--type-grass: #77cc55;--type-ice: #66ccff;--type-fighting: #bb5544;--type-poison: #aa5599;--type-ground: #e0c068;--type-flying: #8899ff;--type-psychic: #ff5599;--type-bug: #aabb22;--type-rock: #bbaa66;--type-ghost: #775599;--type-dragon: #7766ee;--type-steel: #aaaabb;--type-dark: #775544;--type-fairy: #ee99ee;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 242, 254, .25);--font-main: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-main);min-height:100vh;line-height:1.5;overflow-x:hidden;background-image:radial-gradient(circle at 15% 10%,rgba(157,78,221,.12) 0%,transparent 40%),radial-gradient(circle at 85% 80%,rgba(0,242,254,.1) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(255,51,102,.06) 0%,transparent 60%);background-attachment:fixed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0a0d1699}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;color:var(--text-main)}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none;transition:all .2s cubic-bezier(.4,0,.2,1)}input,select{font-family:inherit;outline:none}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:1540px;margin:0 auto;padding:0 1.5rem 3rem}.header-wrapper{position:sticky;top:0;z-index:50;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0a0d16d9;border-bottom:1px solid var(--border-subtle);margin:0 -1.5rem 1.5rem;padding:1rem 2rem}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:1540px;margin:0 auto;gap:1.5rem;flex-wrap:wrap}.brand-section{display:flex;align-items:center;gap:.85rem;text-decoration:none}.pokeball-logo{width:40px;height:40px;background:linear-gradient(180deg,#f36 50%,#fff 50%);border-radius:50%;border:3px solid #1a2035;position:relative;box-shadow:0 0 16px #f366;animation:floatBall 4s ease-in-out infinite}.pokeball-logo:before{content:"";position:absolute;top:50%;left:0;width:100%;height:4px;background:#1a2035;transform:translateY(-50%)}.pokeball-logo:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border:3px solid #1a2035;border-radius:50%;box-shadow:0 0 6px #0006}@keyframes floatBall{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(5deg)}}.brand-title{font-size:1.6rem;font-weight:800;background:linear-gradient(135deg,#fff 30%,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:.5rem}.brand-badge{font-size:.65rem;font-family:var(--font-mono);font-weight:700;padding:.15rem .5rem;background:#00f2fe26;border:1px solid rgba(0,242,254,.4);color:var(--accent-cyan);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.nav-tabs{display:flex;background:#ffffff0a;border:1px solid var(--border-subtle);padding:.35rem;border-radius:var(--radius-full);gap:.35rem}.nav-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.15rem;border-radius:var(--radius-full);color:var(--text-muted);font-size:.9rem;font-weight:600;transition:all .2s ease}.nav-tab-btn:hover{color:var(--text-main);background:#ffffff0f}.nav-tab-btn.active{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 16px #6366f166}.header-actions{display:flex;align-items:center;gap:.75rem}.tier-select-btn{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-main);padding:.55rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.tier-select-btn:hover{border-color:var(--border-active);background:#ffffff0f}.filter-toolbar{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.search-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-input-box{flex:1;min-width:260px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none}.search-input{width:100%;background:#0a0d1699;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.75rem 1rem .75rem 2.75rem;color:#fff;font-size:.95rem;transition:all .2s ease}.search-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 12px #00f2fe33;background:#0a0d16d9}.filter-select{background:#0a0d1699;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--text-main);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-select:focus{border-color:var(--accent-purple)}.filter-select option{background:var(--bg-surface);color:var(--text-main)}.type-pills-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.type-filter-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-right:.5rem;letter-spacing:.05em}.type-pill{font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;opacity:.6;border:1px solid transparent;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.type-pill:hover{opacity:.9;transform:translateY(-1px)}.type-pill.active{opacity:1;box-shadow:0 0 12px currentColor;border-color:#fff6}.type-badge{font-size:.75rem;font-weight:700;padding:.2rem .65rem;border-radius:var(--radius-full);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);display:inline-flex;align-items:center;gap:.3rem;letter-spacing:.02em}.type-normal{background:var(--type-normal)}.type-fire{background:var(--type-fire)}.type-water{background:var(--type-water)}.type-electric{background:var(--type-electric);color:#222!important;text-shadow:none!important}.type-grass{background:var(--type-grass)}.type-ice{background:var(--type-ice);color:#111!important;text-shadow:none!important}.type-fighting{background:var(--type-fighting)}.type-poison{background:var(--type-poison)}.type-ground{background:var(--type-ground)}.type-flying{background:var(--type-flying)}.type-psychic{background:var(--type-psychic)}.type-bug{background:var(--type-bug)}.type-rock{background:var(--type-rock)}.type-ghost{background:var(--type-ghost)}.type-dragon{background:var(--type-dragon)}.type-steel{background:var(--type-steel)}.type-dark{background:var(--type-dark)}.type-fairy{background:var(--type-fairy)}.tier-board{display:flex;flex-direction:column;gap:1.25rem}.tier-row{display:flex;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .2s ease;min-height:150px}.tier-row:hover{border-color:#ffffff26}.tier-header{width:140px;min-width:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;text-align:center;position:relative;-webkit-user-select:none;user-select:none;box-shadow:4px 0 12px #0000004d}.tier-label{font-size:2.2rem;font-weight:900;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);line-height:1}.tier-sublabel{font-size:.72rem;font-weight:600;color:#ffffffd9;margin-top:.35rem;text-transform:uppercase;letter-spacing:.04em}.tier-content{flex:1;padding:1rem;display:flex;flex-wrap:wrap;align-content:flex-start;gap:1rem;background:#0d111e99;min-height:140px;transition:background .2s ease}.tier-content.drag-over{background:#6366f126;outline:2px dashed rgba(99,102,241,.5);outline-offset:-4px}.tier-empty-placeholder{display:flex;align-items:center;justify-content:center;width:100%;color:var(--text-dim);font-size:.875rem;font-style:italic;min-height:110px}.pokemon-card{width:175px;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.75rem;display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none}.pokemon-card:hover{transform:translateY(-5px);border-color:#ffffff40;box-shadow:0 12px 28px #0006,0 0 16px #00f2fe26;background:var(--bg-card-hover)}.card-top-row{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.card-dex-id{font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--text-dim)}.card-quick-tier{font-size:.7rem;font-weight:800;padding:.1rem .45rem;border-radius:var(--radius-full);color:#fff}.card-sprite-container{width:110px;height:110px;display:flex;align-items:center;justify-content:center;margin:.25rem 0;position:relative}.card-sprite{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.4));transition:transform .25s ease}.pokemon-card:hover .card-sprite{transform:scale(1.08)}.card-name{font-size:.95rem;font-weight:700;text-align:center;color:#fff;margin-bottom:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.card-types{display:flex;gap:.3rem;margin-bottom:.5rem}.card-type-badge{font-size:.65rem;padding:.15rem .5rem;border-radius:var(--radius-full)}.card-nature-badge{width:100%;background:#00f2fe14;border:1px solid rgba(0,242,254,.25);border-radius:var(--radius-sm);padding:.3rem .4rem;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--text-main);margin-top:auto}.nature-title{font-weight:700;color:var(--accent-cyan)}.nature-stat-effect{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted)}.dex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.25rem}.unranked-pool{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;margin-top:2rem}.unranked-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.unranked-grid{display:flex;flex-wrap:wrap;gap:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#111728;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-xl);max-width:960px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg),0 0 30px #0009;position:relative;display:flex;flex-direction:column}.modal-header-banner{padding:2rem 2.5rem 1.5rem;border-bottom:1px solid var(--border-subtle);position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.modal-close-btn{position:absolute;top:1.25rem;right:1.25rem;background:#ffffff14;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s ease}.modal-close-btn:hover{background:#f363;color:var(--accent-red)}.modal-body{padding:2rem 2.5rem;display:flex;flex-direction:column;gap:2rem}.pokemon-hero-row{display:grid;grid-template-columns:280px 1fr;gap:2.5rem}.pokemon-visual-col{display:flex;flex-direction:column;align-items:center;background:#10172999;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;text-align:center}.hero-sprite-box{width:200px;height:200px;display:flex;align-items:center;justify-content:center;position:relative}.hero-sprite{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.5))}.shiny-toggle-btn{margin-top:1rem;display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:.4rem 1rem;font-size:.8rem;font-weight:600;color:var(--text-muted)}.shiny-toggle-btn.active{background:#ffbe0b26;border-color:#ffbe0b66;color:var(--accent-gold)}.stats-container{display:flex;flex-direction:column;gap:.75rem}.stat-row{display:grid;grid-template-columns:85px 45px 1fr;align-items:center;gap:1rem}.stat-label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.stat-value{font-family:var(--font-mono);font-weight:700;font-size:.95rem;color:#fff;text-align:right}.stat-bar-track{width:100%;height:8px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden;position:relative}.stat-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .8s cubic-bezier(.16,1,.3,1)}.modal-subnav-tabs{display:flex;border-bottom:1px solid var(--border-subtle);gap:1.5rem;margin-bottom:1rem}.modal-subnav-btn{padding:.75rem .25rem;font-weight:700;font-size:1.05rem;color:var(--text-muted);position:relative}.modal-subnav-btn.active{color:#fff}.modal-subnav-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-purple));border-radius:3px}.nature-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.nature-card{background:#141c3099;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;position:relative}.nature-card.primary{border-color:#00f2fe66;background:#00f2fe0d}.nature-card-header{display:flex;justify-content:space-between;align-items:center}.nature-name{font-size:1.25rem;font-weight:800;color:#fff}.nature-star-badge{font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:var(--radius-full);background:#00f2fe33;color:var(--accent-cyan);border:1px solid rgba(0,242,254,.4)}.nature-stat-tags{display:flex;gap:.5rem}.stat-tag-boost{font-size:.75rem;font-family:var(--font-mono);font-weight:700;background:#2ecc7126;border:1px solid rgba(46,204,113,.35);color:#2ecc71;padding:.2rem .6rem;border-radius:var(--radius-sm)}.stat-tag-drop{font-size:.75rem;font-family:var(--font-mono);font-weight:700;background:#e74c3c26;border:1px solid rgba(231,76,60,.35);color:#e74c3c;padding:.2rem .6rem;border-radius:var(--radius-sm)}.nature-reason-text{font-size:.875rem;color:var(--text-muted);line-height:1.6}.moveset-card{background:#141c3099;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.moveset-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.75rem}.moveset-title{font-size:1.2rem;font-weight:700;color:#fff}.moveset-format-badge{font-size:.75rem;font-weight:600;color:var(--accent-purple);background:#9d4edd26;border:1px solid rgba(157,78,221,.35);padding:.2rem .65rem;border-radius:var(--radius-full)}.moveset-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;background:#0a0d1666;padding:.85rem 1rem;border-radius:var(--radius-md)}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-item-label{font-size:.72rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.meta-item-val{font-size:.875rem;font-weight:600;color:#fff}.moves-table{display:flex;flex-direction:column;gap:.5rem}.move-row{display:grid;grid-template-columns:180px 85px 85px 70px 1fr;align-items:center;gap:1rem;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.65rem 1rem;font-size:.875rem}.move-name{font-weight:700;color:#fff}.move-category-badge{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:var(--radius-sm);text-align:center}.cat-physical{background:#e74c3c;color:#fff}.cat-special{background:#3498db;color:#fff}.cat-status{background:#95a5a6;color:#fff}.move-desc{font-size:.8rem;color:var(--text-muted)}.nature-matrix-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:2rem;display:flex;flex-direction:column;gap:2rem}.nature-table{width:100%;border-collapse:collapse;text-align:left}.nature-table th,.nature-table td{padding:1rem;border-bottom:1px solid var(--border-subtle)}.nature-table th{font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.nature-table tr:hover{background:#ffffff05}.matchup-grid{display:flex;flex-direction:column;gap:1rem}.matchup-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.matchup-title{width:120px;font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.matchup-pills{display:flex;flex-wrap:wrap;gap:.4rem}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px 14px #6366f159}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.btn-secondary{background:#ffffff0f;border:1px solid var(--border-subtle);color:var(--text-main);padding:.65rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary:hover{background:#ffffff1f;border-color:var(--border-active)}@media(max-width:900px){.pokemon-hero-row{grid-template-columns:1fr}.move-row{grid-template-columns:1fr 80px;gap:.5rem}.move-desc{grid-column:1 / -1}.header-content{flex-direction:column;align-items:stretch}.tier-row{flex-direction:column}.tier-header{width:100%;min-height:60px}}
