:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-pill:999px;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-raised:#f8fafc;--color-surface-sunken:#f1f5f9;--color-border:#e2e8f0;--color-border-hover:#94a3b8;--color-text-primary:#0f172a;--color-text-body:#1e293b;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-faint:#94a3b8;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-accent-subtle:#eff6ff;--color-accent-border:#93c5fd;--color-interactive:#0f172a;--color-interactive-hover:#1e293b;--color-interactive-text:#fff;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--font-sans:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace;--transition-fast:.12s ease;--transition-normal:.2s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text-body);line-height:1.5}h1{color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 .35em;font-size:2rem;font-weight:700;line-height:1.15}h2{color:var(--color-text-primary);letter-spacing:-.01em;margin:0 0 .4em;font-size:1.35rem;font-weight:650;line-height:1.2}h3{color:var(--color-text-primary);margin:0 0 .35em;font-size:1.08rem;font-weight:600;line-height:1.3}h4{color:var(--color-text-primary);margin:0 0 .25em;font-size:.94rem;font-weight:600;line-height:1.35}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--color-bg);-webkit-tap-highlight-color:#0f172a14;min-width:320px;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit;border-radius:var(--radius-md)}.encyclopedia-shell{max-width:1440px;padding:var(--space-4);margin:0 auto}.site-header,.hero-panel,.content-card,.entity-infobox{border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.site-header{gap:var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;grid-template-columns:auto 1fr auto auto;align-items:center;padding:14px 18px;display:grid}.site-header-sticky{z-index:100;transition:padding var(--transition-normal), border-radius var(--transition-normal), box-shadow var(--transition-normal);position:sticky;top:8px}.site-header-scrolled{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:10px 16px}.site-header-scrolled .brand-tagline{display:none}.shell-subnav{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.game-context-bar{margin-bottom:var(--space-3);padding:10px var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs);grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.game-context-copy{gap:var(--space-1);display:grid}.game-context-copy strong{color:var(--color-text-primary)}.game-context-links{gap:var(--space-2);scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;align-items:center;padding-bottom:2px;display:flex;overflow-x:auto}.game-context-links::-webkit-scrollbar{height:4px}.game-context-links::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.game-gen-group{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.game-gen-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);white-space:nowrap;padding:4px 0;font-size:.7rem;font-weight:700}.subnav-link,.feature-panel{padding:var(--space-2) 10px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);font-size:.85rem}.search-results-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.search-result-card{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);display:grid}.search-result-card strong,.dex-card-meta{color:var(--color-text-primary)}.search-result-card span,.dex-card-meta span{color:var(--color-text-muted)}.search-result-card .result-detail{color:var(--color-text-muted);font-variant-numeric:tabular-nums;border-top:1px solid var(--color-border);padding-top:var(--space-2);margin-top:var(--space-1);font-size:.78rem}.subnav-link{color:var(--color-text-secondary);transition:all var(--transition-fast)}.subnav-link.active-context{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-interactive-text);font-weight:600;box-shadow:0 2px 8px #3b82f640}.mobile-menu-trigger{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:none}.header-actions{justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.utility-menu{position:relative}.utility-menu-trigger,.quick-search-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:.88rem;display:inline-flex}.utility-menu-trigger{cursor:pointer}.utility-menu-trigger.active,.utility-menu-trigger:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.utility-menu-panel{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);min-width:220px;box-shadow:var(--shadow-lg);z-index:120;gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.utility-menu-link{padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--transition-fast);display:block}.utility-menu-link:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.brand-lockup{align-items:center;gap:var(--space-3);display:inline-flex}.brand-lockup strong,.entity-infobox h1,.hero-panel h1,.content-card h1,.content-card h2,.content-card h3{color:var(--color-text-primary)}.brand-lockup span:not(.brand-mark){color:var(--color-text-muted);font-size:.85rem;display:block}.brand-mark{border-radius:var(--radius-md);background:var(--color-interactive);width:36px;height:36px;color:var(--color-interactive-text);place-items:center;font-weight:800;display:grid}.primary-nav{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.nav-pill,.primary-link,.secondary-link,.tab-pill,.entity-chip,.type-chip,.move-row,.dex-card{transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast)}.nav-pill,.secondary-link{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);font-size:.88rem;font-weight:500}.nav-pill.active,.primary-link{background:var(--color-interactive);color:var(--color-interactive-text);border-color:var(--color-interactive)}.encyclopedia-page,.stack{gap:var(--space-4);flex-direction:column;display:flex}.article-support-panel{gap:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-raised);padding:14px;display:grid}.support-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);padding:14px}.support-link-list,.support-source-list{gap:var(--space-2);display:grid}.support-link,.support-source{padding:10px var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;gap:10px;display:flex}.support-link{color:var(--color-text-secondary)}.support-link-text{min-width:0}.support-source strong{color:var(--color-text-primary)}.support-source span{color:var(--color-text-muted)}.support-source-link:hover,.support-link:hover{border-color:var(--color-border-hover)}.hero-panel,.content-card,.entity-infobox{border-radius:var(--radius-xl);padding:var(--space-6);background:var(--color-surface)}.hero-panel{gap:var(--space-6);background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-accent-subtle) 100%);border-color:var(--color-accent-border);grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);display:grid}.hero-panel h1{letter-spacing:-.02em;color:var(--color-interactive);font-size:2.4rem;font-weight:800}.hero-panel .lead{color:var(--color-text-secondary);font-size:1.05rem;line-height:1.6}.lead,.muted,.entity-infobox p{color:var(--color-text-muted)}.eyebrow{margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);font-size:.72rem;font-weight:700}.hero-actions,.chip-grid,.type-chip-row,.entity-badge-row,.section-tabs,.inline-filter-row,.breadcrumbs{flex-wrap:wrap;gap:10px;display:flex}.stats-cluster{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stats-cluster div,.entity-chip,.placeholder-block,.tab-pill,.type-chip,.move-row,.dex-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.entity-chip{border-left:3px solid var(--color-accent)}.stats-cluster div{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md)}.stats-cluster strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:1.7rem;display:block}.stats-cluster span{color:var(--color-text-muted);font-size:.85rem}.primary-link,.secondary-link{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.primary-link{background:var(--color-interactive);color:var(--color-interactive-text);border:1px solid var(--color-interactive)}.primary-link:hover{background:var(--color-interactive-hover)}.secondary-link{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.secondary-link:hover{background:var(--color-surface-raised);color:var(--color-text-primary);border-color:var(--color-border-hover)}.content-grid.two-up,.content-layout,.compare-grid{gap:var(--space-4);display:grid}.content-grid.two-up{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.content-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}.entity-infobox{padding:var(--space-5);align-self:start;position:sticky;top:20px}.entity-infobox-media{border-radius:var(--radius-xl);background:var(--color-surface-sunken);place-items:center;min-height:240px;margin-bottom:14px;display:grid}.hero-art{width:min(100%,260px);height:auto}.pokemon-title-deck{gap:var(--space-5);grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);align-items:start;display:grid}.topic-title-deck{gap:var(--space-5);grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);align-items:start;display:grid}.title-deck-metrics,.overview-metric-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.title-deck-metrics div,.overview-metric-grid div,.overview-panel{padding:14px var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-raised)}.feature-panel{gap:6px;display:grid}.feature-panel-primary{padding:var(--space-5);gap:10px}.feature-panel strong{color:var(--color-text-primary)}.feature-panel span{color:var(--color-text-muted);font-size:.88rem}.homepage-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.title-deck-metrics strong,.overview-metric-grid strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:1.5rem;display:block}.title-deck-metrics span,.overview-metric-grid span{color:var(--color-text-muted);font-size:.85rem}.infobox-grid,.stat-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.encyclopedia-overview-grid,.reference-grid,.info-columns{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reference-grid.compact{margin-bottom:var(--space-3)}.overview-panel h2,.reference-grid h3{margin-top:0}.infobox-grid div,.stat-grid div{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-raised)}.infobox-grid dt,.stat-grid dt{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:.74rem}.infobox-grid dd,.stat-grid dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:6px 0 0;font-weight:700}.section-tabs{z-index:1;border-radius:var(--radius-xl);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;padding:10px;position:sticky;top:20px}.tab-pill,.entity-chip,.type-chip,.move-row{align-items:center;gap:var(--space-2);padding:10px var(--space-3);display:inline-flex}.tab-pill{cursor:pointer;color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.tab-pill.active-tab,.tab-pill.tab-pill-active{border-color:var(--color-accent-border);background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600}.entity-chip{min-width:0}.entity-chip strong,.move-row strong{color:var(--color-text-primary)}.entity-chip span,.move-row span{color:var(--color-text-muted);font-size:.88rem}.entity-chip,.move-row{justify-content:space-between}.move-table,.dex-grid{gap:10px;display:grid}.learnset-group{gap:var(--space-3);display:grid}.learnset-group+.learnset-group{margin-top:var(--space-5)}.learnset-group-header{justify-content:space-between;gap:var(--space-3);align-items:flex-start;display:flex}.learnset-group-header h3{margin-bottom:var(--space-1)}.learnset-count{padding:var(--space-2) 10px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.85rem}.learnset-table{gap:var(--space-2);display:grid}.learnset-table-head,.learnset-row{grid-template-columns:minmax(160px,1.7fr) minmax(90px,.8fr) minmax(110px,.9fr) minmax(72px,.5fr) minmax(72px,.5fr);align-items:center;gap:10px;display:grid}.learnset-table-head{padding:0 var(--space-3);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.learnset-row{padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.learnset-move-link strong,.learnset-game-link{color:var(--color-text-primary)}.learnset-row span,.learnset-row a{min-width:0}.learnset-row .type-chip{justify-self:start}.location-table{gap:var(--space-2);display:grid}.location-table-head,.location-row{grid-template-columns:minmax(180px,1.4fr) minmax(100px,.8fr) minmax(120px,1fr) minmax(120px,1fr);align-items:center;gap:10px;display:grid}.location-table-head{padding:0 var(--space-3);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.location-row{padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.location-name-link strong,.location-row strong{color:var(--color-text-primary)}.location-row span,.location-row a{min-width:0;color:var(--color-text-secondary)}.dex-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dex-card{padding:var(--space-4);gap:10px;display:grid}.dex-card-meta{justify-content:space-between;gap:10px;font-size:.88rem;display:flex}.dex-card img{aspect-ratio:1;object-fit:contain;border-radius:var(--radius-lg);background:var(--color-surface-sunken);width:100%}.search-panel input,.inline-filter-row input,.inline-filter-row select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-body);transition:border-color var(--transition-fast);padding:10px 14px}.inline-filter-row input:focus,.inline-filter-row select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);outline:none}.inline-filter-row label{color:var(--color-text-secondary);gap:6px;font-size:.82rem;font-weight:600;display:grid}.browse-toolbar{margin-bottom:var(--space-4);gap:14px;display:grid}.quick-filter-strip{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.quick-filter-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:700}.quick-filter-chip,.filter-reset-button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:.85rem;font-weight:500;display:inline-flex}.quick-filter-chip{cursor:pointer}.quick-filter-chip span{color:var(--color-text-faint);font-variant-numeric:tabular-nums}.quick-filter-chip.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-interactive-text)}.quick-filter-chip.active span{color:#ffffffbf}.filter-reset-button{cursor:pointer;color:var(--color-text-muted);margin-left:auto}.filter-reset-button:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.results-note{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:.88rem}.empty-results-panel{gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);border:1px dashed var(--color-border-hover);background:var(--color-surface-raised);text-align:center;display:grid}.empty-results-panel strong{color:var(--color-text-primary)}.section-topline{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2);align-items:flex-start;display:flex}.breadcrumbs{color:var(--color-text-muted);align-items:center;font-size:.85rem}.breadcrumb-item{align-items:center;gap:var(--space-2);display:inline-flex}.placeholder-block{background:#fffbeb;border-style:dashed;border-color:#fbbf24;padding:14px}.placeholder-block:before{content:"Planned";padding:3px var(--space-2);margin-bottom:var(--space-2);border-radius:var(--radius-pill);color:#92400e;letter-spacing:.08em;text-transform:uppercase;background:#fef3c7;border:1px solid #fbbf24;font-size:.7rem;font-weight:700;display:inline-block}.section-status-note{gap:var(--space-3);padding:14px var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-raised);grid-template-columns:auto 1fr;align-items:start;display:grid}.section-status-note strong{color:var(--color-text-primary);margin-bottom:var(--space-1);display:block}.section-status-note p{color:var(--color-text-secondary);margin:0;line-height:1.5}.status-badge{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-raised);min-width:74px;color:var(--color-text-secondary);letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.status-complete .status-badge{color:#166534;background:#f0fdf4;border-color:#86efac}.status-partial .status-badge{border-color:var(--color-accent-border);background:var(--color-accent-subtle);color:#1e40af}.status-missing .status-badge,.status-planned .status-badge,.status-unverified .status-badge{color:#854d0e;background:#fefce8;border-color:#fde047}.placeholder-block p,.text-list,.text-list li{color:var(--color-text-secondary)}.text-list{color:var(--color-text-secondary);padding-left:18px;line-height:1.8}.text-list p,.text-list li{line-height:1.55}.text-list li+li{margin-top:var(--space-1)}.type-chip{background:color-mix(in srgb, var(--type-color,#475569) 15%, var(--color-surface-sunken));text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-body);font-size:.76rem;font-weight:600}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nested{padding:var(--space-5);background:var(--color-surface-raised)}.pagination{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4) 0;flex-wrap:wrap;display:flex}.pagination button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-body);cursor:pointer;transition:all var(--transition-fast);font-size:.85rem;font-weight:500}.pagination button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination button.active-page{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-interactive-text);font-weight:600}.pagination-info{color:var(--color-text-muted);text-align:center;font-variant-numeric:tabular-nums;width:100%;font-size:.82rem}.pagination-pages{gap:var(--space-1);display:flex}.pagination-ellipsis{padding:var(--space-2) var(--space-2);color:var(--color-text-faint)}.trainer-result-card,.trainer-team-card{gap:var(--space-3);display:grid}.trainer-result-card{padding:var(--space-5);align-content:start}.trainer-result-top,.trainer-team-card-top{justify-content:space-between;align-items:center;gap:14px;display:flex}.trainer-result-top{justify-content:flex-start}.trainer-result-top>div{gap:var(--space-1);display:grid}.trainer-result-card strong,.trainer-team-card strong{color:var(--color-text-primary)}.trainer-team-list{gap:var(--space-4);display:grid}.trainer-team-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.trainer-team-card .chip-grid{gap:10px}.trainer-overview-grid{margin-bottom:14px}.trainer-meta-list{gap:10px;margin:0;display:grid}.trainer-meta-list.compact{gap:var(--space-2)}.trainer-meta-list div{grid-template-columns:minmax(110px,.8fr) minmax(0,1.4fr);align-items:start;gap:10px;display:grid}.trainer-meta-list dt{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:700}.trainer-meta-list dd{color:var(--color-text-body);margin:0;line-height:1.45}.trainer-team-card .entity-chip{min-height:58px}.trainer-appearance-link{width:100%}.trainer-filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}.trainer-table{gap:var(--space-2);margin-top:var(--space-4);display:grid}.trainer-table-head,.trainer-table-row{gap:var(--space-3);grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);align-items:center;display:grid}.trainer-table-head{padding:0 var(--space-3) var(--space-2);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.trainer-table-row{padding:14px var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);transition:border-color var(--transition-fast), background var(--transition-fast)}.trainer-table-row strong{color:var(--color-text-primary)}.trainer-table-row span{color:var(--color-text-secondary)}.trainer-table-head-expanded,.trainer-table-row-expanded{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) minmax(0,.9fr)}.browse-table{gap:var(--space-2);display:grid}.browse-table-head,.browse-table-row{gap:var(--space-3);align-items:center;display:grid}.browse-table-head{padding:0 var(--space-3) var(--space-2);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.browse-table-row{padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast)}.browse-table-head-pokemon,.browse-table-row-pokemon{grid-template-columns:minmax(92px,.6fr) minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,1fr) minmax(72px,.5fr)}.browse-table-head-search,.browse-table-row-search{grid-template-columns:minmax(110px,.7fr) minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr)}.browse-table-metric{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:700}.browse-table-row-title{gap:var(--space-3);grid-template-columns:64px minmax(0,1fr);align-items:center;display:grid}.browse-table-row-title-plain{grid-template-columns:minmax(0,1fr)}.browse-table-row-title strong{color:var(--color-text-primary)}.browse-table-row-title img,.browse-table-row-title .pokemon-image-fallback{object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface-sunken);width:64px;height:64px}.browse-table-row-subtle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.85rem;line-height:1.35;display:block}.browse-table-row-types{flex-wrap:wrap;gap:6px;display:flex}.mini-badge{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-primary);letter-spacing:.06em;text-transform:uppercase;justify-content:center;justify-self:start;align-items:center;padding:5px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.trainer-sprite-image{object-fit:contain;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-sunken);width:72px;height:72px;padding:var(--space-2)}.trainer-infobox .entity-infobox-media{min-height:360px;padding:var(--space-3) var(--space-5) 0;background:linear-gradient(180deg, var(--color-surface-sunken), var(--color-border));align-items:end;overflow:hidden}.trainer-infobox .trainer-sprite-image{object-fit:contain;object-position:center bottom;transform-origin:bottom;filter:drop-shadow(0 20px 28px #0000001a);background:0 0;border:0;border-radius:0;width:min(100%,340px);min-width:260px;height:min(100%,340px);min-height:260px;padding:0;transform:scale(1.45)translateY(22px)}.trainer-infobox .trainer-sprite{width:260px;height:260px}.stat-bar-list{gap:var(--space-2);display:grid}.stat-bar-row{gap:var(--space-3);grid-template-columns:90px 1fr 44px;align-items:center;display:grid}.stat-bar-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-size:.78rem;font-weight:600}.stat-bar-track{border-radius:var(--radius-pill);background:var(--color-surface-sunken);height:10px;overflow:hidden}.stat-bar-fill{border-radius:var(--radius-pill);background:var(--stat-color,var(--color-accent));height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.stat-bar-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:right;font-size:.85rem;font-weight:700}.stat-bar-total{padding-top:var(--space-2);border-top:1px solid var(--color-border);margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.stat-bar-total-label{color:var(--color-text-secondary);font-size:.82rem;font-weight:600}.stat-bar-total-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}@media (hover:hover){.nav-pill:hover,.subnav-link:hover:not(.active-context),.quick-search-link:hover,.utility-menu-trigger:hover,.tab-pill:hover,.feature-panel:hover,.search-result-card:hover,.move-row:hover,.dex-card:hover,.quick-filter-chip:hover:not(.active),.filter-reset-button:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.entity-chip:hover{border-color:var(--color-accent-border);border-left-color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.type-chip:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.browse-table-row:hover{border-color:var(--color-accent-border);background:var(--color-accent-subtle);box-shadow:var(--shadow-sm)}.trainer-table-row:hover{border-color:var(--color-accent-border);background:var(--color-accent-subtle)}.primary-link:hover{background:var(--color-interactive-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.secondary-link:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}}@media (hover:none){.nav-pill:active,.quick-search-link:active,.primary-link:active,.secondary-link:active,.entity-chip:active,.dex-card:active{border-color:var(--color-border-hover);transform:scale(.97)}}@media (width<=1000px){.site-header,.hero-panel,.topic-title-deck,.pokemon-title-deck,.content-grid.two-up,.content-layout,.compare-grid,.encyclopedia-overview-grid,.reference-grid,.info-columns,.section-topline{grid-template-columns:1fr;display:grid}.homepage-primary-grid{grid-template-columns:1fr}.learnset-table-head,.learnset-row{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,.8fr))}.location-table-head,.location-row{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,.9fr))}.site-header{justify-items:start}.game-context-bar{grid-template-columns:1fr}.entity-infobox,.section-tabs{position:static}}@media (width<=768px){.primary-nav,.utility-menu{display:none}.mobile-menu-trigger{display:flex}.site-header{gap:var(--space-2);grid-template-columns:1fr auto auto}.hero-panel,.homepage-primary-grid{grid-template-columns:1fr}}@media (width<=640px){.encyclopedia-shell{padding:10px}.site-header,.hero-panel,.content-card,.entity-infobox{padding:var(--space-4);border-radius:var(--radius-lg)}.infobox-grid,.stat-grid,.title-deck-metrics,.overview-metric-grid{grid-template-columns:1fr}.stats-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}.search-results-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dex-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.trainer-filter-grid{grid-template-columns:1fr}.filter-reset-button{margin-left:0}.reference-grid,.homepage-primary-grid{grid-template-columns:1fr}.inline-filter-row{flex-direction:column;align-items:stretch}.inline-filter-row label{width:100%}.search-panel input,.inline-filter-row input,.inline-filter-row select{padding:14px;font-size:16px}.section-topline{gap:var(--space-3);flex-direction:column}.learnset-group-header{display:grid}.learnset-table-head{display:none}.learnset-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.location-table-head{display:none}.location-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.trainer-result-top,.trainer-team-card-top{flex-direction:column;align-items:flex-start}.trainer-table-head{display:none}.trainer-table-row{grid-template-columns:1fr;gap:6px}.browse-table-head{display:none}.browse-table-row,.browse-table-row-pokemon{gap:var(--space-2);grid-template-columns:1fr}.browse-table-row-title{grid-template-columns:56px minmax(0,1fr)}.trainer-meta-list div{gap:var(--space-1);grid-template-columns:1fr}.section-status-note{grid-template-columns:1fr}.trainer-infobox .trainer-sprite-image{width:min(100%,240px);min-width:180px;height:min(100%,240px);min-height:180px;transform:scale(1.25)translateY(14px)}.mobile-menu-trigger{padding:var(--space-3);min-width:44px;min-height:44px}.site-header-sticky{top:4px}.site-header-scrolled{padding:10px var(--space-3);border-radius:var(--radius-md)}.nav-pill,.quick-search-link,.tab-pill,.entity-chip,.type-chip{padding:var(--space-3) 14px;min-height:44px}.primary-link,.secondary-link{padding:14px var(--space-5);min-height:44px;font-size:.95rem}.dex-card{gap:var(--space-1);padding:10px}h1{font-size:1.5rem}h2{font-size:1.15rem}.stats-cluster strong{font-size:1.3rem}.title-deck-metrics strong{font-size:1.2rem}.eyebrow{font-size:.7rem}.dex-card h2{font-size:.9rem}.dex-card p{font-size:.78rem}.dex-card-meta{font-size:.75rem}.breadcrumbs{gap:var(--space-1);font-size:.82rem}.hero-panel{grid-template-columns:1fr}.hero-showcase-art{max-width:120px;max-height:120px}.game-context-bar{padding:10px var(--space-3);border-radius:var(--radius-md)}.game-context-links{scrollbar-width:none;gap:6px}.game-context-links::-webkit-scrollbar{display:none}.subnav-link{padding:10px var(--space-3);white-space:nowrap;min-height:44px;font-size:.82rem}.site-footer{margin-top:var(--space-8);padding:var(--space-6) 10px var(--space-5)}.footer-links{gap:var(--space-2) var(--space-4)}.footer-link{align-items:center;min-height:44px;display:inline-flex}.scroll-to-top{bottom:var(--space-4);right:var(--space-4);width:44px;height:44px}.chip-grid,.type-chip-row{gap:6px}.compare-grid{grid-template-columns:1fr}.stat-bar-row{gap:var(--space-2);grid-template-columns:70px 1fr 36px}.stat-bar-label{font-size:.72rem}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.skip-link{padding:var(--space-2) var(--space-4);background:var(--color-interactive);color:var(--color-interactive-text);z-index:200;border-radius:6px;font-weight:600;text-decoration:none;position:absolute;top:auto;left:-9999px}.skip-link:focus{left:var(--space-3);top:var(--space-3);position:fixed}.mobile-menu-trigger:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.body-scroll-lock{width:100%;position:fixed;overflow:hidden}.mobile-drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0000004d;position:fixed;inset:0}.mobile-drawer{background:var(--color-surface);border-left:1px solid var(--color-border);z-index:101;flex-direction:column;width:min(320px,85vw);display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.mobile-drawer-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);color:var(--color-text-primary);justify-content:space-between;align-items:center;display:flex}.mobile-drawer-nav{padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.mobile-drawer-link{padding:var(--space-3) 14px;color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:block}.mobile-drawer-link:hover,.mobile-drawer-link.active{background:var(--color-surface-sunken);color:var(--color-text-primary)}.mobile-drawer-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-1) var(--space-5)}@keyframes spin{to{transform:rotate(360deg)}}.spinner-ring{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.loading-spinner-page{align-items:center;gap:var(--space-4);text-align:center;padding:60px var(--space-5);flex-direction:column;display:flex}.loading-spinner-inline{align-items:center;gap:var(--space-3);padding:var(--space-5);display:flex}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-block{background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-border) 50%, var(--color-surface-sunken) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s infinite skeleton-shimmer}.pokemon-image-fallback{background:var(--color-surface-sunken);border-radius:var(--radius-md);color:var(--color-border-hover);aspect-ratio:1;justify-content:center;align-items:center;width:100%;max-width:200px;font-size:1.5rem;font-weight:700;display:flex}.search-empty-state{align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-12) var(--space-5);color:var(--color-text-muted);flex-direction:column;display:flex}.search-empty-state h3{color:var(--color-text-primary);margin:0}.search-suggestion-chips{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.not-found-card{text-align:center;padding:60px var(--space-5)}.not-found-links{gap:var(--space-4);margin-top:var(--space-4);justify-content:center;display:flex}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hero-showcase{padding:var(--space-3) 0;justify-content:center;display:flex}.hero-showcase-art{filter:drop-shadow(0 8px 24px #3b82f61f);max-width:200px;max-height:200px;animation:4s ease-in-out infinite hero-float}.site-footer{margin-top:var(--space-12);padding:var(--space-8) var(--space-6) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface)}.footer-inner{gap:var(--space-5);max-width:1440px;margin:0 auto;display:grid}.footer-brand{color:var(--color-text-primary);align-items:center;gap:10px;display:inline-flex}.footer-brand strong{color:var(--color-text-primary);display:block}.footer-brand span{color:var(--color-text-faint);font-size:.82rem}.brand-mark-sm{background:var(--color-interactive);width:32px;height:32px;color:var(--color-interactive-text);border-radius:10px;place-items:center;font-size:.75rem;font-weight:800;display:grid}.footer-links{gap:6px var(--space-4);flex-wrap:wrap;display:flex}.footer-link{color:var(--color-text-faint);transition:color var(--transition-fast);font-size:.85rem}.footer-link:hover{color:var(--color-text-primary)}.footer-legal{color:var(--color-text-faint);max-width:640px;font-size:.78rem;line-height:1.5}.scroll-to-top{bottom:var(--space-6);right:var(--space-6);z-index:90;border-radius:var(--radius-md);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), color var(--transition-fast), border-color var(--transition-fast);animation:scroll-top-in var(--transition-normal);background:#fffffff2;place-items:center;display:grid;position:fixed}.scroll-to-top:hover{color:var(--color-accent);border-color:var(--color-accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes scroll-top-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dex-card{padding:var(--space-3);text-align:center;transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);gap:6px;display:grid}.dex-card:hover{box-shadow:var(--shadow-md)}.dex-card img,.dex-card .pokemon-image-fallback{aspect-ratio:1;object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface-sunken);width:100%}.feature-panel-primary{padding:var(--space-5);border-radius:var(--radius-lg);gap:6px;display:grid}.feature-panel-primary strong{color:var(--color-text-primary);font-size:1.05rem}.feature-panel-cta{color:var(--color-accent);font-size:.85rem;font-weight:600}.dialog-close{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);border-radius:10px;place-items:center;padding:0;display:grid}.dialog-close:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:var(--color-surface-raised)}.compact-learnset-table{margin-top:var(--space-3);gap:6px;display:grid}.compact-learnset-head{padding:0 var(--space-3) var(--space-1);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr);gap:10px;font-size:.74rem;font-weight:700;display:grid}.compact-learnset-row{padding:10px var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);transition:border-color var(--transition-fast), background var(--transition-fast);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr);align-items:center;gap:10px;display:grid}.compact-learnset-row:hover{border-color:var(--color-accent-border);background:var(--color-accent-subtle)}.compact-learnset-row span{color:var(--color-text-muted);font-size:.85rem}@media (width<=640px){.compact-learnset-head{display:none}.compact-learnset-row{gap:var(--space-1);grid-template-columns:1fr}}.encyclopedia-page{animation:.25s page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary::marker{content:"";display:none}details[open]>summary .learnset-count:after{content:" ▾"}details:not([open])>summary .learnset-count:after{content:" ▸"}.relevance-badge{border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.relevance-exact{color:#166534;background:#dcfce7}.relevance-strong{background:var(--color-accent-subtle);color:#1e40af}.relevance-partial{background:var(--color-surface-sunken);color:var(--color-text-muted)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.battle-sim-panel{margin-top:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.battle-empty-state{text-align:center;padding:var(--space-8) var(--space-4);align-items:center;gap:var(--space-3);color:var(--color-text-muted);flex-direction:column;display:flex}.battle-empty-state h2{color:var(--color-text-primary);margin:0}.battle-empty-links{gap:var(--space-3);margin-top:var(--space-3);display:flex}.battle-your-team{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.battle-your-team h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3) 0;display:flex}.battle-team-header-row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.battle-team-count{margin-left:var(--space-2);font-size:.85rem;font-weight:400}.battle-share-btn{gap:var(--space-1)!important;font-size:.78rem!important}.battle-team-roster{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.battle-roster-member{padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-direction:column;font-size:.85rem;display:flex}.battle-tabs{margin-top:var(--space-4)}.battle-opponent-header{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.battle-label-input{flex-direction:column;flex:1;gap:4px;min-width:160px;display:flex}.battle-label-input span{font-size:.8rem}.battle-label-input input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.9rem}.battle-opponent-actions{gap:var(--space-2);display:flex}.battle-team-slots{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.battle-slot{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:center;min-height:44px;font-size:.85rem;display:flex}.battle-slot-info{flex-direction:column;gap:2px;display:flex}.battle-slot-info strong{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.battle-slot-remove{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px;font-size:1.1rem}.battle-slot-remove:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.battle-pokemon-search{position:relative}.battle-add-trigger{gap:var(--space-2)}.battle-search-dropdown{margin-top:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.battle-search-input{width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-primary);box-sizing:border-box;font-size:.9rem}.battle-search-input:focus{background:var(--color-surface);outline:none}.battle-search-results{max-height:240px;overflow-y:auto}.battle-search-option{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text-body);cursor:pointer;text-align:left;background:0 0;border:none;font-size:.85rem;display:flex}.battle-search-option:hover,.battle-search-option-active{background:var(--color-surface-sunken)}.battle-search-option .mono{color:var(--color-text-muted);min-width:52px}.battle-search-empty{padding:var(--space-4);text-align:center}.battle-simulate-button{align-items:center;gap:var(--space-2);align-self:flex-start;display:inline-flex}.battle-simulate-button.disabled{opacity:.45;cursor:not-allowed}.battle-prereq-hint{font-size:.85rem}.battle-result{gap:var(--space-4);margin-top:var(--space-3);flex-direction:column;display:flex}.battle-verdict-banner{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border)}.battle-verdict-banner>div{align-items:center;gap:var(--space-2);display:flex}.battle-verdict-win{background:color-mix(in srgb, #22c55e 12%, var(--color-surface));border-color:color-mix(in srgb, #22c55e 30%, var(--color-border))}.battle-verdict-lose{background:color-mix(in srgb, #ef4444 12%, var(--color-surface));border-color:color-mix(in srgb, #ef4444 30%, var(--color-border))}.battle-verdict-tie{background:color-mix(in srgb, #eab308 10%, var(--color-surface));border-color:color-mix(in srgb, #eab308 25%, var(--color-border))}.battle-verdict-win strong{color:#22c55e}.battle-verdict-lose strong{color:#ef4444}.battle-verdict-tie strong{color:#eab308}.battle-section{gap:var(--space-2);flex-direction:column;display:flex}.battle-section h3{align-items:center;gap:var(--space-2);margin:0;display:flex}.battle-coverage-table{border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.battle-coverage-head{gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);grid-template-columns:1fr 1fr 1.5fr .8fr;font-size:.75rem;font-weight:600;display:grid}.battle-coverage-row{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr 1.5fr .8fr;align-items:center;font-size:.85rem;display:grid}.battle-effectiveness-strong{background:#22c55e14}.battle-effectiveness-weak{background:#ef44440f}.battle-effectiveness-neutral{background:0 0}.battle-effectiveness-immune{background:#64748b14}.battle-badge-se{background:color-mix(in srgb, #22c55e 18%, var(--color-surface));color:#22c55e}.battle-badge-nve{background:color-mix(in srgb, #ef4444 18%, var(--color-surface));color:#ef4444}.battle-weakness-critical{background:#ef44441f}.battle-analysis{gap:var(--space-5);margin-top:var(--space-4);flex-direction:column;display:flex}.battle-synergy-bar{background:var(--color-surface-sunken);border-radius:var(--radius-pill);height:8px;overflow:hidden}.battle-synergy-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg,#22c55e,#38bdf8);height:100%;transition:width .4s}.battle-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid}.battle-alert strong{margin-bottom:4px;display:block}.battle-alert.battle-weakness-critical{border-color:color-mix(in srgb, #ef4444 40%, var(--color-border))}.muted-chip{background:var(--color-surface-sunken)}@media (width<=640px){.battle-coverage-head,.battle-coverage-row{grid-template-columns:1fr 1fr 1fr;font-size:.78rem}.battle-coverage-head span:nth-child(4),.battle-coverage-row span:nth-child(4){display:none}.battle-team-roster,.battle-team-slots{grid-template-columns:repeat(2,1fr)}.battle-opponent-header{flex-direction:column;align-items:stretch}}@media (width>=768px){.stats-cluster{grid-template-columns:repeat(4,minmax(0,1fr))}.battle-team-roster,.battle-team-slots{grid-template-columns:repeat(3,1fr)}}.battle-type-badge{letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb, var(--type-color,#475569) 22%, var(--color-surface-sunken));color:var(--type-color,#475569);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.battle-type-badge-md{padding:2px 8px;font-size:.72rem}.battle-roster-types,.battle-duel-types{flex-wrap:wrap;gap:4px;display:flex}.battle-roster-member{align-items:center;gap:var(--space-3);flex-direction:row}.battle-roster-art,.battle-roster-member .pokemon-image-fallback{border-radius:var(--radius-sm);object-fit:contain;background:var(--color-surface);flex-shrink:0;width:48px;height:48px}.battle-roster-info{flex-direction:column;gap:2px;min-width:0;display:flex}.battle-slot-art,.battle-slot .pokemon-image-fallback{border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0;width:32px;height:32px}.battle-view-toggle{gap:var(--space-2);display:flex}.battle-duel-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.battle-duel-toolbar h3{margin:0}.battle-duel-controls{gap:var(--space-2);display:flex}.battle-duel-control-btn{padding:var(--space-1) var(--space-3)!important;gap:var(--space-1)!important;font-size:.78rem!important}.battle-duel-list{gap:var(--space-2);flex-direction:column;display:flex}.battle-duel{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.battle-duel-header{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:var(--color-text-body);cursor:pointer;text-align:left;background:0 0;border:none;font-size:.9rem;display:flex}.battle-duel-header:hover{background:var(--color-surface-sunken)}.battle-duel-matchup{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.battle-duel-name{flex-direction:column;gap:1px;min-width:0;display:flex}.battle-duel-name strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.battle-duel-types{font-size:.75rem}.battle-duel-vs{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.battle-duel-summary{align-items:center;gap:var(--space-2);flex-shrink:0;font-size:.85rem;display:flex}.battle-duel-result{letter-spacing:.05em;border-radius:var(--radius-sm);padding:2px 6px;font-size:.7rem;font-weight:700}.duel-win{background:color-mix(in srgb, #22c55e 18%, var(--color-surface));color:#22c55e}.duel-lose{background:color-mix(in srgb, #ef4444 18%, var(--color-surface));color:#ef4444}.duel-tie{background:color-mix(in srgb, #eab308 15%, var(--color-surface));color:#eab308}.battle-duel-detail{border-top:1px solid var(--color-border);padding:var(--space-4);gap:var(--space-4);background:var(--color-surface-sunken);flex-direction:column;display:flex}.battle-duel-stats{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.battle-duel-side h4{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2) 0;font-size:.85rem;display:flex}.battle-duel-meta{padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:.8rem}.battle-move-options{margin-top:var(--space-2);flex-direction:column;gap:4px;display:flex}.battle-move-option{align-items:center;gap:var(--space-2);padding:4px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);font-size:.8rem;display:flex}.battle-move-option .mono{margin-left:auto;font-weight:600}.battle-matrix{gap:var(--space-3);flex-direction:column;display:flex}.battle-matrix-verdict{align-items:center;gap:var(--space-2);font-size:.9rem;display:flex}.battle-matrix-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.battle-matrix-table{border-collapse:collapse;width:100%;min-width:500px;font-size:.78rem}.battle-matrix-table th,.battle-matrix-table td{padding:var(--space-2) var(--space-3);text-align:center;border:1px solid var(--color-border);white-space:nowrap}.battle-matrix-corner{background:var(--color-surface-sunken);vertical-align:bottom;min-width:100px;text-align:left!important}.battle-matrix-axis-a,.battle-matrix-axis-b{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.7rem;font-weight:600;display:block}.battle-matrix-col-header{background:var(--color-surface-sunken);font-size:.75rem;font-weight:600;padding:var(--space-2) var(--space-2)!important}.battle-matrix-row-header{background:var(--color-surface-sunken);font-size:.78rem;font-weight:600;text-align:left!important;padding:var(--space-2) var(--space-3)!important}.matrix-header-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.matrix-header-cell-row{gap:var(--space-2);flex-direction:row}.matrix-header-cell-row>div{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.matrix-header-art{object-fit:contain;width:28px;height:28px}.matrix-header-types{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.battle-matrix-cell{vertical-align:middle;position:relative;padding:var(--space-1) var(--space-2)!important}.matrix-cell-bidirectional{flex-direction:column;gap:1px;margin-bottom:2px;display:flex}.matrix-cell-attack,.matrix-cell-defend{font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:.72rem;display:flex}.matrix-cell-arrow{color:var(--color-text-faint);text-align:center;width:8px;font-size:.6rem;font-weight:700}.matrix-ko{color:var(--color-text-muted);text-transform:uppercase;font-size:.58rem;font-weight:700}.matrix-result-badge{letter-spacing:.05em;border-radius:3px;padding:1px 5px;font-size:.58rem;font-weight:800;display:inline-block}.matrix-badge-win{color:#22c55e;background:#22c55e40}.matrix-badge-loss{color:#ef4444;background:#ef444440}.matrix-badge-tie{color:#a16207;background:#eab30833}.battle-matrix-summary-header{background:var(--color-surface-sunken);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.battle-matrix-summary-cell,.battle-matrix-footer-cell{background:var(--color-surface-raised);vertical-align:middle}.matrix-summary-record{justify-content:center;gap:var(--space-1);font-size:.72rem;font-weight:600;display:flex}.matrix-summary-win{color:#22c55e}.matrix-summary-loss{color:#ef4444}.matrix-summary-dmg{font-size:.65rem;display:block}.battle-matrix-footer-row th,.battle-matrix-footer-row td{background:var(--color-surface-sunken)}.battle-matrix-footer-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.7rem;font-weight:600;text-align:left!important}.battle-matrix-total-cell{font-size:.85rem}.battle-matrix-legend-bar{align-items:center;gap:var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;font-size:.75rem;display:flex}.matrix-legend-item{align-items:center;gap:var(--space-1);display:flex}.matrix-legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.matrix-legend-win{background:color-mix(in srgb, #22c55e 35%, var(--color-surface))}.matrix-legend-loss{background:color-mix(in srgb, #ef4444 25%, var(--color-surface))}.matrix-legend-tie{background:color-mix(in srgb, #eab308 20%, var(--color-surface))}.matrix-legend-hint{font-size:.72rem}.battle-type-badge-xs{padding:0 4px;font-size:.55rem;line-height:1.4}.battle-counter-suggestion{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-body);margin-bottom:var(--space-3);background:#3b82f614;border:1px solid #3b82f633;font-size:.82rem;display:flex}.battle-counter-suggestion svg{color:#3b82f6;flex-shrink:0}.battle-synergy-header{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.battle-synergy-score-group{align-items:baseline;gap:var(--space-3);display:flex}.battle-synergy-grade{border-radius:var(--radius-pill);padding:2px 10px;font-size:.85rem;font-weight:700}.synergy-excellent{color:#16a34a;background:#22c55e26}.synergy-good{color:#2563eb;background:#3b82f626}.synergy-fair{color:#a16207;background:#eab30826}.synergy-poor{color:#dc2626;background:#ef444426}.battle-synergy-number{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.battle-synergy-number .muted{font-size:.85rem;font-weight:400}.battle-synergy-fill.synergy-excellent{background:#22c55e}.battle-synergy-fill.synergy-good{background:#3b82f6}.battle-synergy-fill.synergy-fair{background:#eab308}.battle-synergy-fill.synergy-poor{background:#ef4444}.battle-alert-types{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.battle-chip-grid{gap:var(--space-1);flex-wrap:wrap;display:flex}.battle-coverage-members{font-size:.78rem}.team-compare{gap:var(--space-3);flex-direction:column;display:flex}.team-compare h3{align-items:center;gap:var(--space-2);display:flex}.team-compare-labels{padding:0 var(--space-2);justify-content:space-between;display:flex}.team-compare-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.78rem;font-weight:600}.team-compare-label-a{color:#3b82f6}.team-compare-label-b{color:#f97316}.team-compare-bars{gap:var(--space-2);flex-direction:column;display:flex}.team-compare-row{align-items:center;gap:var(--space-2);display:flex}.team-compare-value{text-align:center;width:32px;color:var(--color-text-secondary);font-size:.78rem}.team-compare-leading{color:var(--color-text-primary);font-weight:700}.team-compare-bar-group{align-items:center;gap:var(--space-2);flex:1;display:flex}.team-compare-bar{background:var(--color-surface-sunken);border-radius:var(--radius-pill);flex:1;height:10px;overflow:hidden}.team-compare-bar-a{direction:rtl}.team-compare-fill{border-radius:var(--radius-pill);height:100%;transition:width .3s}.team-compare-fill-a{background:#3b82f6}.team-compare-fill-b{background:#f97316}.team-compare-stat-label{text-align:center;width:28px;color:var(--color-text-muted);flex-shrink:0;font-size:.7rem;font-weight:600}.team-compare-summary{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.team-compare-summary-row{padding:0 var(--space-2);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.team-compare-summary-row .muted{text-align:center;flex:1}.battle-stat-bars{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;gap:3px;display:flex}.battle-stat-row{align-items:center;gap:var(--space-2);grid-template-columns:28px 1fr 30px;font-size:.7rem;display:grid}.battle-stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-weight:700}.battle-stat-track{background:var(--color-surface-sunken);border-radius:var(--radius-pill);height:6px;overflow:hidden}.battle-stat-fill{border-radius:var(--radius-pill);height:100%;transition:width .3s}.battle-stat-value{font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text-body);font-weight:600}.battle-highlights{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.battle-perf-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.battle-perf-header{align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-2);font-size:.75rem;font-weight:700;display:flex}.battle-perf-body{align-items:center;gap:var(--space-3);display:flex}.battle-perf-art,.battle-perf-card .pokemon-image-fallback{object-fit:contain;flex-shrink:0;width:48px;height:48px}.battle-perf-info{flex-direction:column;gap:2px;min-width:0;font-size:.85rem;display:flex}.battle-perf-record{font-size:.78rem;font-weight:600}.battle-perf-toggle{align-items:center;gap:var(--space-2);font-size:.85rem;display:inline-flex}.battle-perf-tables{gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.battle-perf-table h4{margin:0 0 var(--space-2) 0;font-size:.85rem}.battle-perf-list{gap:var(--space-2);flex-direction:column;display:flex}.battle-perf-row{align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.8rem;display:flex}.battle-perf-row-art,.battle-perf-row .pokemon-image-fallback{object-fit:contain;flex-shrink:0;width:32px;height:32px}.battle-perf-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.battle-roster-member{position:relative}.battle-roster-remove{background:var(--color-surface-sunken);width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.battle-roster-member:hover .battle-roster-remove{opacity:1}.battle-roster-remove:hover{background:color-mix(in srgb, #ef4444 20%, var(--color-surface));color:#ef4444}.battle-quick-add{margin-top:var(--space-3)}.battle-quick-add-centered{flex-direction:column;align-items:center;display:flex}.battle-quick-add-centered .battle-search-dropdown{width:100%;max-width:400px}.battle-ability-line{font-size:.78rem;font-style:italic}.battle-speed-tier{gap:var(--space-2);flex-direction:column;display:flex}.battle-speed-tier h4{align-items:center;gap:var(--space-2);margin:0;font-size:.85rem;display:flex}.speed-tier-list{gap:var(--space-1);flex-direction:column;display:flex}.speed-tier-row{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);grid-template-columns:28px 90px 1fr 40px;font-size:.8rem;display:grid}.speed-tier-a{background:#3b82f60f}.speed-tier-b{background:#f973160f}.speed-tier-art,.speed-tier-row .pokemon-image-fallback{object-fit:contain;flex-shrink:0;width:28px;height:28px}.speed-tier-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.speed-tier-bar-track{background:var(--color-surface-sunken);border-radius:var(--radius-pill);height:8px;overflow:hidden}.speed-tier-bar-fill{border-radius:var(--radius-pill);height:100%;transition:width .3s}.speed-fill-a{background:#3b82f6}.speed-fill-b{background:#f97316}.speed-tier-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.battle-export-bar{padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.battle-export-bar .ghost-button{gap:var(--space-2);font-size:.82rem}:root{--heatmap-se4:color-mix(in srgb, #22c55e 45%, var(--color-surface));--heatmap-se:color-mix(in srgb, #22c55e 22%, var(--color-surface));--heatmap-neutral:var(--color-surface);--heatmap-nve:color-mix(in srgb, #ef4444 12%, var(--color-surface));--heatmap-immune:color-mix(in srgb, #64748b 20%, var(--color-surface));--heatmap-def-4x:color-mix(in srgb, #ef4444 35%, var(--color-surface));--heatmap-def-2x:color-mix(in srgb, #ef4444 18%, var(--color-surface));--heatmap-def-resist:color-mix(in srgb, #22c55e 18%, var(--color-surface));--heatmap-def-immune:color-mix(in srgb, #3b82f6 22%, var(--color-surface))}.heatmap-header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.heatmap-toggle{gap:var(--space-1);display:flex}.heatmap-toggle-btn{padding:var(--space-1) var(--space-2)!important;gap:var(--space-1)!important;border-radius:var(--radius-sm)!important;font-size:.75rem!important}.heatmap-toggle-btn.active{background:var(--color-surface-sunken);color:var(--color-text-primary)}.heatmap-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.heatmap-table{border-collapse:collapse;width:100%;min-width:500px;font-size:.72rem}.heatmap-table th,.heatmap-table td{text-align:center;border:1px solid var(--color-border);white-space:nowrap;padding:4px 6px}.heatmap-corner{background:var(--color-surface-sunken);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);min-width:80px;font-size:.65rem;font-weight:600;text-align:left!important}.heatmap-col-header{background:var(--color-surface-sunken);padding:4px 2px!important}.heatmap-row-header{background:var(--color-surface-sunken);font-size:.72rem;font-weight:600;text-align:left!important;padding:4px 6px!important}.heatmap-member-label{white-space:nowrap;text-overflow:ellipsis;max-width:60px;font-size:.65rem;display:inline-block;overflow:hidden}.heatmap-cell{font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:600;transition:background .15s}.heatmap-legend{align-items:center;gap:var(--space-3);color:var(--color-text-muted);margin-top:var(--space-2);flex-wrap:wrap;font-size:.72rem;display:flex}.heatmap-legend-item{align-items:center;gap:var(--space-1);display:flex}.heatmap-swatch{border:1px solid var(--color-border);border-radius:3px;width:12px;height:12px;display:inline-block}.suggestion-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.suggestion-card{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex}.suggestion-art,.suggestion-card .pokemon-image-fallback{object-fit:contain;flex-shrink:0;width:40px;height:40px}.suggestion-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.suggestion-info strong{font-size:.85rem}.suggestion-types{flex-wrap:wrap;gap:3px;display:flex}.suggestion-reason{color:var(--color-text-muted);font-size:.72rem}.suggestion-add-btn{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;border-radius:50%!important;padding:0!important}.suggestion-add-btn:hover{color:#22c55e;background:color-mix(in srgb, #22c55e 15%, var(--color-surface))!important}.battle-narrative{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.battle-narrative-header{align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:var(--space-2);font-size:.72rem;font-weight:700;display:flex}.battle-narrative-lines{gap:var(--space-1);color:var(--color-text-body);padding-left:var(--space-3);border-left:2px solid var(--color-border);flex-direction:column;font-size:.8rem;line-height:1.5;display:flex}.battle-narrative-lines p{margin:0}@media (width<=640px){.battle-duel-stats{grid-template-columns:1fr}.battle-duel-matchup{align-items:flex-start;gap:var(--space-1);flex-direction:column}.battle-duel-vs{display:none}.battle-highlights,.battle-perf-tables,.suggestion-grid{grid-template-columns:1fr}}
