:root{--font-display: "Clash Display", "Satoshi", system-ui, -apple-system, sans-serif;--font-body: "Satoshi", system-ui, -apple-system, sans-serif;--font-mono: "SFMono-Regular", "JetBrains Mono", Consolas, monospace;--font-size-base: clamp(15px, 1vw + 14px, 18px);--font-size-sm: clamp(12px, .35vw + 11px, 14px);--font-size-md: clamp(14px, .6vw + 12px, 16px);--font-size-lg: clamp(18px, 1vw + 16px, 22px);--font-size-xl: clamp(24px, 1.6vw + 20px, 32px);--line-height-base: 1.6;--brand-accent: #e52b38;--brand-accent-strong: #9b1f2d;--brand-accent-rgb: 229, 43, 56;--brand-soft: rgba(var(--brand-accent-rgb), .14);--brand-focus: rgba(43, 154, 242, .8);--c-navy: #1f1f2b;--c-sky: var(--brand-accent);--c-light: #f7f6f3;--c-amber: #ffd447;--c-berry: #2b9af2;--c-ink: var(--c-navy);--c-sage: var(--c-berry);--c-link: #1066c4;--c-char: var(--brand-accent-strong);--c-overlay: var(--brand-soft);--c-glow: rgba(43, 154, 242, .1);--c-glow-strong: rgba(var(--brand-accent-rgb), .14);--c-text: #1f1f2b;--c-text-muted: rgba(31, 31, 43, .78);--c-text-strong: #0d0d14;--surface-1: linear-gradient(135deg, #ffffff 0%, #f7f6f3 55%, #f0f2f7 100%);--surface-2: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,246,250,.98));--surface-3: linear-gradient(145deg, rgba(var(--brand-accent-rgb), .08), rgba(255, 212, 71, .12), rgba(43, 154, 242, .08));--surface-solid: #ffffff;--surface-muted: rgba(255,255,255,.78);--surface-input: #ffffff;--surface-code: #f3f4f8;--surface-footer: linear-gradient(180deg, #ffffff, #f7f6f3);--type-chip-active-bg: linear-gradient(135deg, rgba(255,255,255,.9), rgba(241,244,249,.8));--bg-base: #f7f6f3;--page-bg-image-day: none;--page-bg-image-night: none;--page-bg-image: none;--page-bg-opacity: .55;--page-bg-blur: 6px;--page-bg-blur-opacity: .28;--page-bg-overlay-opacity: 0;--page-bg-overlay: none;--glass-border: 1px solid rgba(31, 31, 43, .12);--glass-border-strong: 1px solid rgba(var(--brand-accent-rgb), .18);--glass-blur: 14px;--shadow-soft: 0 12px 35px rgba(0,0,0,.08);--shadow-strong: 0 20px 60px rgba(0,0,0,.14);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--space-1: 6px;--space-2: 10px;--space-3: 14px;--space-4: 18px;--space-5: 24px;--space-6: 32px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 48px;--duration-instant: 80ms;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .4s;--duration-xslow: .6s;--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--opacity-disabled: .45;--opacity-muted: .65;--opacity-subtle: .85;--focus-outline: 2px solid var(--brand-focus);--focus-shadow: 0 0 0 4px rgba(43, 154, 242, .2);--header-bg: linear-gradient(120deg, rgba(229, 43, 56, .94), rgba(155, 31, 45, .9));--header-border: rgba(255, 255, 255, .24);--header-shadow: 0 12px 26px rgba(82, 10, 22, .35);--header-backdrop-blur: 10px;--header-text: #ffffff;--header-glow: rgba(255, 255, 255, .62);--header-search-bg: rgba(255, 255, 255, .16);--header-search-border: rgba(255, 255, 255, .34);--header-search-placeholder: rgba(255, 255, 255, .72);--header-search-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);--z-header: 100;--z-search-dropdown: 200;--z-fab-filter: 300;--z-header-dropdown: 400;--z-filter-overlay: 500;--z-modal-overlay: 600;--z-modal-panel: 700;--z-skip-link: 900;--z-local: 1;--toggle-track: rgba(31,31,43,.18);--toggle-thumb: #ffffff;--toggle-icon-muted: rgba(31,31,43,.5);--toggle-icon-active: var(--brand-accent);--theme-transition: .16s ease;--type-erba: #78C850;--type-fuoco: #F08030;--type-acqua: #6890F0;--type-elettro: #F8D030;--type-ghiaccio: #98D8D8;--type-lotta: #C03028;--type-veleno: #A040A0;--type-terra: #E0C068;--type-volante: #A890F0;--type-psico: #F85888;--type-coleottero: #A8B820;--type-roccia: #B8A038;--type-spettro: #705898;--type-drago: #7038F8;--type-buio: #705848;--type-acciaio: #686880;--type-folletto: #EE99AC;--type-normal: #787850;--box-neutral: #cfd4db;--color-gender-male: #2b9af2;--color-gender-female: #e0529f;--color-stat-up: #2e8b57;--color-stat-down: #c52130}:root[data-theme=dark],body[data-theme=dark],.dark{--brand-accent: #2b9af2;--brand-accent-strong: #1560a8;--brand-accent-rgb: 43, 154, 242;--brand-soft: rgba(var(--brand-accent-rgb), .18);--brand-focus: rgba(91, 178, 255, .85);--c-text: #f3f4f7;--c-text-muted: rgba(243, 244, 247, .78);--c-text-strong: #ffffff;--c-ink: #f3f4f7;--c-link: #5bb8ff;--c-overlay: var(--brand-soft);--c-glow: rgba(43, 154, 242, .18);--c-glow-strong: rgba(var(--brand-accent-rgb), .2);--surface-1: linear-gradient(145deg, rgba(24, 26, 36, .92), rgba(18, 20, 28, .98));--surface-2: linear-gradient(180deg, rgba(22, 24, 32, .98), rgba(14, 16, 24, .98));--surface-3: linear-gradient(145deg, rgba(43, 154, 242, .2), rgba(21, 96, 168, .18));--surface-solid: #181a24;--surface-muted: rgba(20,22,30,.95);--surface-input: rgba(20,22,30,.98);--surface-code: #1a1d27;--surface-footer: linear-gradient(180deg, #141622, #10121a);--type-chip-active-bg: linear-gradient(135deg, rgba(28,30,40,.9), rgba(18,20,28,.9));--bg-base: #13141c;--page-bg-image: var(--page-bg-image-night);--page-bg-opacity: .6;--page-bg-blur: 7px;--page-bg-blur-opacity: .32;--page-bg-overlay-opacity: 0;--page-bg-overlay: none;--glass-border: 1px solid rgba(255, 255, 255, .12);--glass-border-strong: 1px solid rgba(var(--brand-accent-rgb), .22);--shadow-soft: 0 12px 35px rgba(0,0,0,.4);--shadow-strong: 0 20px 60px rgba(0,0,0,.5);--header-bg: linear-gradient(120deg, rgba(30, 110, 200, .94), rgba(21, 75, 140, .9));--header-border: rgba(255, 255, 255, .2);--header-shadow: 0 12px 28px rgba(0, 0, 0, .46);--header-text: #ffffff;--header-glow: rgba(255, 255, 255, .58);--header-search-bg: rgba(255, 255, 255, .14);--header-search-border: rgba(255, 255, 255, .3);--header-search-placeholder: rgba(255, 255, 255, .74);--header-search-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);--toggle-track: rgba(255,255,255,.18);--toggle-thumb: #f3f4f7;--toggle-icon-muted: rgba(255,255,255,.55);--toggle-icon-active: var(--brand-accent);--color-gender-male: #5bb8ff;--color-gender-female: #f075b8;--color-stat-up: #4eca82;--color-stat-down: #e8545f}@font-face{font-family:Satoshi;src:url(/_astro/satoshi-400.CPM9dct4.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/_astro/satoshi-500.ByP-Zb-9.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/_astro/satoshi-700.Bd5kKQ_U.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/_astro/clash-display-600.DcA1xgJG.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{background:transparent;min-height:100%}body{margin:0;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--c-text);background:transparent;min-height:100vh;text-rendering:optimizeLegibility;position:relative}body.modal-open{overflow:hidden}main{min-height:400px;padding:clamp(16px,4vw,32px) 16px clamp(64px,7vw,110px);padding-top:calc(var(--header-height-desktop, 64px) + clamp(16px,4vw,32px))}a{color:var(--c-link);text-decoration:none}a:hover,a:focus-visible{color:var(--c-link);text-decoration:underline}.pokemon-card a,.evolution-chain a,.pd-window a:not(.inline-link),.pd-ctrl a{color:inherit;text-decoration:none}.pokemon-card a:hover,.evolution-chain a:hover,.pd-window a:not(.inline-link):hover,.pd-ctrl a:hover{text-decoration:none}img{max-width:100%;height:auto;display:block}.icon{width:var(--icon-size, 20px);height:var(--icon-size, 20px);stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0;display:inline-block}.icon.is-fill{fill:currentColor}.icon--xs{--icon-size: 14px}.icon--sm{--icon-size: 16px}.icon--lg{--icon-size: 28px}.icon--xl{--icon-size: 48px}:root{--scrollbar-thumb: rgba(31,31,43,.3);--scrollbar-track: transparent}:root[data-theme=dark],body[data-theme=dark]{--scrollbar-thumb: rgba(255,255,255,.22)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;color:var(--c-text-strong);margin:0 0 12px;letter-spacing:.03em;line-height:1.3}p{margin:0 0 12px}button,input,select,textarea{font:inherit;color:inherit;background:none;border:none}:focus-visible{outline:var(--focus-outline);box-shadow:var(--focus-shadow)}.page-shell{position:relative;min-height:100vh;z-index:0;isolation:isolate;background:transparent}.page-shell:before,.page-shell:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2}.page-shell:before{background:var(--page-bg-image) center / cover no-repeat;transform:scale(1.05);opacity:var(--page-bg-opacity)}.page-shell:after{background:transparent;opacity:1;z-index:-1}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.page-shell:after{-webkit-backdrop-filter:blur(var(--page-bg-blur));backdrop-filter:blur(var(--page-bg-blur));background-color:#00000003}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.page-shell:after{background:var(--page-bg-image) center / cover no-repeat;transform:scale(1.05);filter:blur(var(--page-bg-blur));opacity:var(--page-bg-blur-opacity)}}.theme-switch{display:inline-flex;align-items:center;width:36px;height:20px;border-radius:999px;background:transparent;border:2px solid rgba(255,255,255,.85);position:relative;flex-shrink:0}.theme-switch__thumb{position:absolute;top:0;left:2px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .22s cubic-bezier(.4,0,.2,1)}.theme-switch__sun,.theme-switch__moon{--icon-size: 13px;position:absolute;transition:opacity .22s ease}.theme-switch__sun{opacity:1}.theme-switch__moon{opacity:0}[data-theme-toggle][aria-checked=true] .theme-switch__thumb{transform:translate(12px)}[data-theme-toggle][aria-checked=true] .theme-switch__sun{opacity:0}[data-theme-toggle][aria-checked=true] .theme-switch__moon{opacity:1}.header-search{width:100%;display:block;position:relative}.search-overlay{align-items:flex-start;padding-top:clamp(56px,10vh,96px)}.search-modal{width:min(760px,95vw);background:var(--surface-1);border:var(--glass-border-strong);box-shadow:var(--shadow-strong);display:grid;gap:12px}.search-modal__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.search-modal__head h2{margin:0;font-size:var(--font-size-lg)}.search-modal__head .modal-close{position:static}.header-search__field{width:100%;position:relative}.header-search__input{width:100%;padding:10px 12px 10px 40px;min-height:44px;border-radius:14px;border:1px solid rgba(31,31,43,.2);background:var(--surface-input);color:var(--c-text);box-shadow:inset 0 1px #1f1f2b0d;text-align:left;text-transform:none;letter-spacing:.02em;font-family:var(--font-body)}.header-search__input:focus-visible{outline:var(--focus-outline);box-shadow:var(--focus-shadow)}.header-search__input:focus::placeholder{color:transparent}.header-search__input::placeholder{color:var(--c-text-muted)}.header-search__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--c-text-muted);pointer-events:none;display:flex;align-items:center;justify-content:center}.search-dropdown{position:absolute;top:calc(100% + 10px);left:0;transform:none;width:100%;background:var(--surface-2);border:var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-strong);padding:8px;z-index:2;display:grid;gap:8px}.search-dropdown[hidden]{display:none}.search-group{display:grid;gap:6px}.search-group__label{font-size:var(--font-size-sm);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.08em;padding:0 8px}.search-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid transparent;text-decoration:none;color:var(--c-text);transition:background .12s ease,border-color .12s ease,transform .12s ease}.search-option:hover,.search-option.is-active{background:var(--surface-solid);border-color:rgba(var(--brand-accent-rgb),.24);transform:translateY(-1px)}.search-option__label{font-weight:600}.search-empty{padding:10px 12px;color:var(--c-text-muted);font-size:var(--font-size-sm)}footer{background:var(--surface-footer);border-top:1px solid rgba(0,0,0,.04);color:var(--c-text);padding:40px 10px 28px;text-align:center}footer h2{font-size:var(--font-size-md);margin-bottom:6px}footer p{font-size:var(--font-size-md);margin:4px 0;color:var(--c-text-strong)}.footer-buttons{margin-top:12px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.footer-buttons .inline-link{align-self:center;padding:8px 4px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:12px;padding:10px 14px;border-radius:999px;background:#fff;color:var(--c-text);border:1px solid rgba(31,31,43,.16);box-shadow:var(--shadow-soft);transform:translateY(-140%);transition:transform .16s ease;z-index:var(--z-skip-link)}.skip-link:focus-visible{transform:translateY(0)}.muted{color:var(--c-text-muted)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-sm);color:var(--c-sage);margin:0 0 4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton:after,.shiny-toggle.shiny-active{animation:none!important}.page-shell>main,.page-shell>footer{transition:none!important}}@media print{.site-header,footer,.modal-overlay,.pokemon-detail{display:none!important}body{background:#fff;color:#000}.page-shell{margin:0;padding:0}}@media(max-width:768px){main{padding-top:calc(var(--header-height-mobile, 56px) + clamp(16px,4vw,32px))}.search-option{min-height:44px}body{overflow-x:clip}}.pattern-main{background:transparent}.info-main{display:flex;justify-content:center;padding:clamp(48px,6vw,80px) 16px}.region-card,.info-page{max-width:960px;width:min(96vw,960px)}.pokedex-panel{width:min(1180px,96vw);margin:0 auto;padding:clamp(32px,4vw,48px) 0 120px}.pokedex-head{display:grid;gap:8px;margin-bottom:12px}.pokedex-search__field{display:flex;gap:8px;align-items:center}.pokedex-search__field .pixel-input{flex:1;min-width:0}.pokedex-clear{white-space:nowrap}.filter-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:0;border-radius:0;background:transparent;border:0;box-shadow:none;margin-bottom:12px}.filter-summary.is-hidden{display:none}.filter-summary__chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid rgba(31,31,43,.16);background:#1f1f2b0a;font-size:var(--font-size-sm);min-height:44px;cursor:pointer;color:var(--c-text);transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease}.filter-chip--static{cursor:default;border-color:#1f1f2b14;background:#1f1f2b05}.filter-chip:hover,.filter-chip:focus-visible{background:var(--surface-solid);transform:translateY(-1px)}.filter-summary__meta{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.filter-summary__offline{white-space:nowrap}.filter-summary__count{font-size:var(--font-size-sm);color:var(--c-text-muted)}.filter-summary__open .icon{--icon-size: 18px}.pokedex-region-filter{display:flex;gap:8px;flex-wrap:wrap}.region-filter{padding:10px 12px;border-radius:12px;border:1px solid rgba(31,31,43,.12);background:rgba(var(--brand-accent-rgb),.04);color:var(--c-text);cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease;box-shadow:none}.region-filter.is-active{background:linear-gradient(135deg,rgba(var(--brand-accent-rgb),.16),#ffd4471f);border-color:rgba(var(--brand-accent-rgb),.25);transform:translateY(-1px)}.pokedex-controls__actions{display:inline-flex;gap:10px;align-items:center}.pokedex-control{width:44px;height:44px;border-radius:12px;background:rgba(var(--brand-accent-rgb),.08);color:var(--c-text);border:1px solid rgba(31,31,43,.12);cursor:pointer;transition:background var(--duration-fast) ease,transform var(--duration-fast) ease}.pokedex-control:hover,.pokedex-control:focus-visible{transform:translateY(-1px);background:rgba(var(--brand-accent-rgb),.16)}.shiny-toggle.shiny-active{background:linear-gradient(135deg,#ff5f6d,#ffc371,#7df3ff,#8c6bff,#ff5dff);background-size:280% 280%;animation:shiny-rainbow 3s ease-in-out infinite;color:#fff;border-color:#ffffff59}.pokemon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:16px}.pokedex-sentinel{width:100%;height:1px}.pokedex-load-more{justify-self:center;margin-top:10px}.pokedex-load-indicator{text-align:center;padding:12px;color:var(--c-text-muted);font-size:.875rem}.pokemon-card{position:relative;padding:14px;border-radius:var(--radius-md);background:#ffffff1f;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);box-shadow:none;color:var(--c-text);cursor:pointer;overflow:hidden;display:grid;gap:12px;transition:transform var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease}.pokemon-card:hover,.pokemon-card:focus-within{transform:translateY(-2px);border-color:rgba(var(--brand-accent-rgb),.24)}.pokemon-card:after{display:none}.pokemon-card__open{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;padding:0;background:none;border:0;font:inherit;color:inherit;cursor:pointer}.pokemon-card__open:focus-visible{outline:2px solid rgba(var(--brand-accent-rgb),.6);outline-offset:-2px;border-radius:var(--radius-md)}.pokemon-meta{display:flex;justify-content:flex-end;align-items:center;gap:6px}.pokemon-id{font-size:var(--font-size-md);color:#fff}.pokemon-types{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.type-badge{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0;border-radius:0;border:none;background:transparent}.type-badge img{width:34px;height:34px}.type-badge--text{gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(31,31,43,.12);background:#1f1f2b0a;font-size:var(--font-size-sm);font-weight:600}.type-badge--text img{width:20px;height:20px}.type-badge__label{font-weight:600}.pokemon-stage{position:relative;width:100%;height:140px;display:grid;place-items:center}.pokemon-sprite{width:clamp(110px,20vw,150px);height:clamp(110px,20vw,150px);object-fit:contain;filter:none}.pokemon-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.pokemon-name{font-size:var(--font-size-lg);margin:0;text-align:center;color:#fff}.pokedex-loading{font-size:var(--font-size-md);color:var(--c-text-muted);padding:12px 0}.skeleton{position:relative;overflow:hidden;background:#1f1f2b14;border-radius:10px;color:transparent;--skeleton-shimmer-color: rgba(255, 255, 255, .45)}:root[data-theme=dark] .skeleton,body[data-theme=dark] .skeleton{background:#ffffff14;--skeleton-shimmer-color: rgba(255, 255, 255, .18)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-shimmer-color),transparent);animation:skeleton-shimmer 1.4s var(--ease-out, ease-in-out) infinite}.skeleton-line{height:12px;width:100%;border-radius:999px}.skeleton-line--short{width:60%}.skeleton-line--tiny{width:35%}.skeleton-block{height:120px;border-radius:14px}.skeleton-card{display:grid;gap:10px}img.skeleton{background:#1f1f2b14}:root[data-theme=dark] img.skeleton,body[data-theme=dark] img.skeleton{background:#ffffff14}@keyframes shiny-rainbow{0%{background-position:0% 0%}33%{background-position:100% 50%}66%{background-position:50% 100%}to{background-position:0% 0%}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.type-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(31,31,43,.16);background:#1f1f2b08;padding:8px 12px;border-radius:999px;min-height:44px;cursor:pointer;color:var(--c-text);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background var(--duration-fast) ease,transform var(--duration-fast) ease}.type-chip__icon{width:24px;height:24px}.type-chip__label{font-size:var(--font-size-sm);font-weight:600}.type-chip.is-active{border-color:var(--type-color, rgba(var(--brand-accent-rgb), .35));background:var(--type-chip-active-bg);box-shadow:0 8px 16px #0000001a;transform:translateY(-1px)}.type-chip[data-type-badge=all]{--type-color: var(--c-berry)}.type-chip[data-type-badge=type-grass]{--type-color: var(--type-erba)}.type-chip[data-type-badge=type-fire]{--type-color: var(--type-fuoco)}.type-chip[data-type-badge=type-water]{--type-color: var(--type-acqua)}.type-chip[data-type-badge=type-electric]{--type-color: var(--type-elettro)}.type-chip[data-type-badge=type-ice]{--type-color: var(--type-ghiaccio)}.type-chip[data-type-badge=type-fighting]{--type-color: var(--type-lotta)}.type-chip[data-type-badge=type-poison]{--type-color: var(--type-veleno)}.type-chip[data-type-badge=type-ground]{--type-color: var(--type-terra)}.type-chip[data-type-badge=type-flying]{--type-color: var(--type-volante)}.type-chip[data-type-badge=type-psychic]{--type-color: var(--type-psico)}.type-chip[data-type-badge=type-bug]{--type-color: var(--type-coleottero)}.type-chip[data-type-badge=type-rock]{--type-color: var(--type-roccia)}.type-chip[data-type-badge=type-ghost]{--type-color: var(--type-spettro)}.type-chip[data-type-badge=type-dragon]{--type-color: var(--type-drago)}.type-chip[data-type-badge=type-dark]{--type-color: var(--type-buio)}.type-chip[data-type-badge=type-steel]{--type-color: var(--type-acciaio)}.type-chip[data-type-badge=type-fairy]{--type-color: var(--type-folletto)}.type-chip[data-type-badge=type-normal]{--type-color: var(--box-neutral)}.type-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:8px}.sprite--legacy{mix-blend-mode:multiply}:root[data-theme=dark] .sprite--legacy,body[data-theme=dark] .sprite--legacy{mix-blend-mode:normal;background:#fff;border-radius:4px;padding:4px}:root[data-theme=dark] .pokemon-card,body[data-theme=dark] .pokemon-card{background:#ffffff14;border-color:#ffffff1f}.filter-overlay{align-items:center;justify-content:center;background:#0a0a0a99;z-index:var(--z-filter-overlay);padding:16px}.filter-panel{width:min(560px,94vw);max-height:90vh;overflow:auto;position:relative;padding:18px 18px 78px;display:grid;gap:16px}.filter-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.filter-panel__head .modal-close{position:static}.filter-panel__title{display:flex;gap:12px;align-items:center}.filter-panel__icon{width:44px;height:44px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(var(--brand-accent-rgb),.2);background:linear-gradient(135deg,rgba(var(--brand-accent-rgb),.14),#ffd4471f)}.filter-panel__title h3{margin:0 0 4px}.filter-panel__title p{margin:0;color:var(--c-text-muted);font-size:var(--font-size-sm)}.filter-panel__head{padding-bottom:12px;border-bottom:1px solid rgba(31,31,43,.08)}:root[data-theme=dark] .filter-panel__head,body[data-theme=dark] .filter-panel__head{border-bottom-color:#ffffff1a}.filter-sections{display:grid;gap:12px}.filter-section{display:grid;gap:10px;padding:12px;border-radius:var(--radius-md);border:1px solid rgba(31,31,43,.08);background:var(--surface-muted);box-shadow:0 6px 16px #0000000a}.filter-section__head{display:flex;gap:10px;align-items:flex-start}.filter-section__icon{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(31,31,43,.12);background:#1f1f2b0a}.filter-section__title{margin:0 0 2px;font-size:var(--font-size-md)}.filter-section__desc{margin:0;color:var(--c-text-muted);font-size:var(--font-size-sm)}.filter-group{display:grid;gap:8px}.filter-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;background:var(--surface-2);padding:12px 18px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));margin:0 -18px -18px;border-top:1px solid rgba(31,31,43,.08);backdrop-filter:blur(var(--glass-blur))}.filter-actions .btn[disabled],.filter-actions .btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;filter:none}:root[data-theme=dark] .filter-section,body[data-theme=dark] .filter-section{border-color:#ffffff1a;background:var(--surface-muted)}:root[data-theme=dark] .filter-section__icon,body[data-theme=dark] .filter-section__icon{border-color:#ffffff1f;background:#ffffff0f}:root[data-theme=dark] .filter-panel__icon,body[data-theme=dark] .filter-panel__icon{border-color:rgba(var(--brand-accent-rgb),.3);background:linear-gradient(135deg,rgba(var(--brand-accent-rgb),.18),rgba(var(--brand-accent-rgb),.08))}:root[data-theme=dark] .type-mode__toggle,body[data-theme=dark] .type-mode__toggle,:root[data-theme=dark] .sort-mode__toggle,body[data-theme=dark] .sort-mode__toggle{border-color:#ffffff1f;background:#ffffff0a}:root[data-theme=dark] .type-chip,body[data-theme=dark] .type-chip{border-color:#ffffff24;background:#ffffff0a}:root[data-theme=dark] .filter-actions,body[data-theme=dark] .filter-actions{border-top-color:#ffffff1a;background:var(--surface-solid)}@media(max-width:640px){.filter-panel__head{flex-direction:column;align-items:flex-start}.filter-actions{flex-direction:column;align-items:stretch}.type-mode{width:100%;justify-content:flex-start}.type-mode__toggle{width:100%;justify-content:space-between}}.mt-0{margin-top:0}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.flex-row{display:flex;gap:8px}.flex-row--center{display:flex;gap:8px;align-items:center}.flex-row--wrap{display:flex;gap:8px;flex-wrap:wrap}.flex-between{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.inline-form{display:inline}.text-sm{font-size:var(--font-size-sm)}.text-center{text-align:center}.text-left{text-align:left}.prewrap{white-space:pre-wrap}.m-0{margin:0}.mt-10{margin-top:10px}.mt-6px{margin-top:6px}.justify-center{justify-content:center}.select-inline{width:auto;padding:4px 8px}.report-reason{margin:8px 0 12px}.ban-reason{margin:6px 0 10px}.home-forum-empty{color:#ffffff80;font-size:var(--font-size-sm);margin:0}.confirm-list{text-align:left;display:inline-block;margin:16px 0}.btn,.pixel-btn,.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid rgba(var(--brand-accent-rgb),.28);background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-strong));color:#fff;font-family:var(--font-display);font-size:var(--font-size-md);text-decoration:none;box-shadow:0 10px 26px rgba(var(--brand-accent-rgb),.25),inset 0 0 0 1px #fff3;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease,filter var(--duration-fast) ease,background var(--duration-fast) ease}.btn:hover,.btn:focus-visible,.pixel-btn:hover,.pixel-btn:focus-visible,.auth-btn:hover,.auth-btn:focus-visible{transform:translateY(-1px) scale(1.01);filter:brightness(1.12);box-shadow:0 14px 34px rgba(var(--brand-accent-rgb),.38),inset 0 0 0 1px #ffffff4d}.btn:active,.pixel-btn:active,.auth-btn:active{transform:translateY(1px)}.btn:disabled,.btn[disabled],.btn[aria-disabled=true],.pixel-btn:disabled,.pixel-btn[aria-disabled=true]{opacity:var(--opacity-disabled, .45);cursor:not-allowed;pointer-events:none;filter:saturate(.5);transform:none;box-shadow:none}.btn--ghost,.pixel-btn.ghost{background:transparent;border-color:#1f1f2b24;color:var(--c-text);box-shadow:0 0 0 2px rgba(var(--brand-accent-rgb),.16)}.btn-icon,.btn--icon{padding:10px 12px;min-width:44px}.icon-only{padding:0;width:44px;height:44px;border:none;background:transparent;box-shadow:none}.icon-only:hover{background:#0000000f;border-radius:var(--radius-sm, 6px)}.icon-only:focus-visible{outline:var(--focus-outline);box-shadow:var(--focus-shadow);border-radius:var(--radius-sm, 6px)}[data-theme=dark] .icon-only:hover{background:#ffffff14}.scroll-top{position:fixed;right:20px;bottom:20px;z-index:var(--z-fab-filter, 300);width:44px;height:44px;border-radius:50%;border:var(--glass-border);background:var(--surface-1);color:var(--c-text);box-shadow:0 8px 28px #0000002e;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease,visibility var(--duration-fast) ease}.scroll-top.is-visible{opacity:1;visibility:visible;transform:none}.scroll-top:hover{filter:drop-shadow(0 0 6px rgba(var(--brand-accent-rgb),.5))}.scroll-top:focus-visible{outline:var(--focus-outline);outline-offset:2px}@media(prefers-reduced-motion:reduce){.scroll-top{transition:opacity var(--duration-fast) ease,visibility var(--duration-fast) ease}}.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:var(--font-size-sm);background:#1f1f2b0a;border:1px solid rgba(31,31,43,.08);color:var(--c-text)}.badge.info{color:var(--c-sage);border-color:#2b9af24d}.badge.success{color:var(--c-sky);border-color:rgba(var(--brand-accent-rgb),.22)}.badge.warn{color:#7a5f00;border-color:#ffd44773}.badge.danger{color:#c52130;border-color:#e52b3859}.badge--hidden-ability{gap:4px;padding:2px 8px;color:var(--c-text-muted)}.badge--hidden-ability:before{content:"";display:inline-block;width:12px;height:12px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M11.017%202.814a1%201%200%200%201%201.966%200l1.051%205.558a2%202%200%200%200%201.594%201.594l5.558%201.051a1%201%200%200%201%200%201.966l-5.558%201.051a2%202%200%200%200-1.594%201.594l-1.051%205.558a1%201%200%200%201-1.966%200l-1.051-5.558a2%202%200%200%200-1.594-1.594l-5.558-1.051a1%201%200%200%201%200-1.966l5.558-1.051a2%202%200%200%200%201.594-1.594z'%20/%3e%3cpath%20d='M20%202v4'%20/%3e%3cpath%20d='M22%204h-4'%20/%3e%3ccircle%20cx='4'%20cy='20'%20r='2'%20/%3e%3c/svg%3e") no-repeat center / contain;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M11.017%202.814a1%201%200%200%201%201.966%200l1.051%205.558a2%202%200%200%200%201.594%201.594l5.558%201.051a1%201%200%200%201%200%201.966l-5.558%201.051a2%202%200%200%200-1.594%201.594l-1.051%205.558a1%201%200%200%201-1.966%200l-1.051-5.558a2%202%200%200%200-1.594-1.594l-5.558-1.051a1%201%200%200%201%200-1.966l5.558-1.051a2%202%200%200%200%201.594-1.594z'%20/%3e%3cpath%20d='M20%202v4'%20/%3e%3cpath%20d='M22%204h-4'%20/%3e%3ccircle%20cx='4'%20cy='20'%20r='2'%20/%3e%3c/svg%3e") no-repeat center / contain;flex-shrink:0}.form-group{display:grid;gap:6px}label{font-size:var(--font-size-sm);color:var(--c-text-muted)}textarea{resize:vertical}input:not([type=checkbox]):not([type=radio]),select,textarea,.pixel-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(31,31,43,.14);background:var(--surface-input);color:var(--c-text);font-family:var(--font-body);font-size:var(--font-size-md);box-shadow:inset 0 1px #1f1f2b0d;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background var(--duration-fast) ease;appearance:none}.form-hint{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--c-text-muted)}select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;padding-right:32px}input:focus,select:focus,textarea:focus,.pixel-input:focus{outline:var(--focus-outline);outline-offset:1px;border-color:#2b9af299;box-shadow:var(--focus-shadow)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.pixel-input[aria-invalid=true],.pixel-input.is-error{border-color:#c521308c;background:#c521300a}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:#c52130b3;box-shadow:0 0 0 4px #c5213024;outline-color:#c52130b3}input:disabled,select:disabled,textarea:disabled,.pixel-input:disabled,.pixel-input[aria-disabled=true]{background:#1f1f2b0f;color:var(--c-text-muted);border-color:#1f1f2b14;cursor:not-allowed;opacity:var(--opacity-disabled)}:root[data-theme=dark] input:disabled,:root[data-theme=dark] select:disabled,:root[data-theme=dark] textarea:disabled{background:#ffffff0a;border-color:#ffffff0f}.input-icon{position:relative}.input-icon .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--c-sage);font-size:16px}.input-icon .input,.input-icon .pixel-input{padding-left:40px}.checkbox-row,.radio-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;color:var(--c-text)}input[type=checkbox],input[type=radio]{width:18px;height:18px;flex-shrink:0;accent-color:var(--brand-accent);cursor:pointer}.card,.pixel-card,.info-page,.auth-card,.region-card{padding:18px;border-radius:var(--radius-md);background:var(--surface-2);border:var(--glass-border);box-shadow:var(--shadow-soft);color:var(--c-text)}.card h3{margin:0 0 8px;font-size:var(--font-size-lg)}.card p{margin:0;color:var(--c-text-muted)}.lede{margin:0;max-width:72ch;font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--c-text-muted)}#pokemon-detail-favorite{margin:0;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:999px;border:1px solid rgba(31,31,43,.16);background:#1f1f2b0a;color:var(--c-text-muted)}#pokemon-detail-favorite.is-guest{opacity:.55;filter:grayscale(.1)}#pokemon-detail-favorite.is-guest .icon{opacity:.7}#pokemon-detail-favorite .icon{transition:transform var(--duration-fast) ease,fill var(--duration-fast) ease}#pokemon-detail-favorite.is-active .icon{fill:currentColor}#pokemon-detail-favorite.is-active{border-color:rgba(var(--brand-accent-rgb),.35);background:linear-gradient(135deg,rgba(var(--brand-accent-rgb),.14),#ffd4471f)}#pokemon-detail-favorite.fav-error{animation:fav-shake .3s ease;border-color:#dc354580;background:#dc354514}@keyframes fav-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.table{width:100%;border-collapse:collapse;color:var(--c-text);font-size:var(--font-size-sm)}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;border-radius:var(--radius-md)}.table-hint{font-size:var(--font-size-sm);color:var(--c-text-muted);margin:8px 0 6px;display:none}.table-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 10px}.table-search{flex:1;min-width:200px}.table-search .pixel-input{width:100%}.pokedex-head .table-tools,.table-tools--floating{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:var(--z-fab-filter);width:min(440px,94vw);margin:0;gap:6px;padding:6px;flex-wrap:nowrap;background:var(--surface-1);border:var(--glass-border);border-radius:999px;box-shadow:0 8px 28px #0000002e;backdrop-filter:blur(var(--glass-blur))}.pokedex-head .table-search,.table-tools--floating .table-search{flex:1 1 auto;min-width:0}.pokedex-head .table-search .pixel-input,.table-tools--floating .table-search .pixel-input{padding-left:40px;padding-right:40px;border-color:transparent;background:var(--surface-input);box-shadow:none;border-radius:999px;color:var(--brand-accent);font-size:var(--font-size-lg)}.pokedex-head .table-search .pixel-input::placeholder,.table-tools--floating .table-search .pixel-input::placeholder{color:var(--c-text-muted);font-size:var(--font-size-md)}.pokedex-head .table-search .icon,.table-tools--floating .table-search .icon,.pokedex-head [data-open=pokedex-filters]{color:var(--brand-accent)}.pokedex-head .table-search .pixel-input:focus,.table-tools--floating .table-search .pixel-input:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px rgba(var(--brand-accent-rgb),.25)}.pokedex-head .table-search .pixel-input::-webkit-search-cancel-button,.table-tools--floating .table-search .pixel-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}.table-search__clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--brand-accent);cursor:pointer;transition:filter var(--duration-fast) ease}.table-search__clear .icon{position:static;transform:none}.table-search__clear.is-visible{display:inline-flex}.table-tools--floating .table-search .pixel-input:not(:placeholder-shown)~.table-search__clear{display:inline-flex}.table-search__clear:hover{filter:drop-shadow(0 0 5px rgba(var(--brand-accent-rgb),.6))}.table-search__clear:focus-visible{outline:var(--focus-outline);outline-offset:0}.pokedex-head [data-open=pokedex-filters]{transition:filter var(--duration-fast) ease}.pokedex-head [data-open=pokedex-filters]:hover,.pokedex-head [data-open=pokedex-filters]:focus-visible{background:transparent;box-shadow:none;transform:none;filter:drop-shadow(0 0 6px rgba(var(--brand-accent-rgb),.6))}.table-wrap:after{content:"";position:absolute;top:0;right:0;width:26px;height:100%;pointer-events:none;background:linear-gradient(to left,rgba(0,0,0,.12),transparent)}:root[data-theme=dark] .table-wrap:after,body[data-theme=dark] .table-wrap:after{background:linear-gradient(to left,rgba(0,0,0,.5),transparent)}.table-wrap:focus-visible{outline:var(--focus-outline);box-shadow:var(--focus-shadow)}.table-wrap .table{min-width:560px}.table thead{background:#1f1f2b0d}.table thead th{position:sticky;top:0;background:var(--surface-solid);z-index:var(--z-local)}.table th,.table td{padding:10px 12px;border-bottom:1px solid rgba(31,31,43,.08)}.table tr:hover td{background:rgba(var(--brand-accent-rgb),.04)}.alert{border-radius:var(--radius-md);border:1px solid rgba(31,31,43,.1);display:grid;gap:6px;background:rgba(var(--brand-accent-rgb),.05);color:var(--c-text);position:relative;padding:12px 14px 12px 44px}.alert:before{content:"";position:absolute;left:14px;top:14px;width:18px;height:18px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;opacity:.75}.alert-title{font-weight:600}.alert.info{border-color:#2b9af238;background:#2b9af214;color:#1560a8}.alert.info:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E")}.alert.success{border-color:rgba(var(--brand-accent-rgb),.18);background:rgba(var(--brand-accent-rgb),.06)}.alert.success:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E")}.alert.warn{border-color:#ffd44773;background:#ffd4471f;color:#8a6800}.alert.warn:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E")}.alert.danger{border-color:#e52b3859;background:#e52b381f;color:#9b1f2d}.alert.danger:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6'/%3E%3Cpath d='m9 9 6 6'/%3E%3C/svg%3E")}:root[data-theme=dark] .alert.info{color:#7abfff}:root[data-theme=dark] .alert.warn{color:#e8c84a}:root[data-theme=dark] .alert.danger{color:#f06070}.empty-state{display:grid;gap:8px;padding:18px;border-radius:var(--radius-md);background:var(--surface-2);border:var(--glass-border);box-shadow:var(--shadow-soft);text-align:center}.empty-state__title{margin:0;font-size:var(--font-size-lg);color:var(--c-text-strong)}.empty-state__body{margin:0;color:var(--c-text-muted)}.empty-state__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:4px}.empty-state__icon{display:flex;justify-content:center;margin-bottom:4px}.empty-state__icon .icon{--icon-size: 48px;opacity:.45}.tabs{display:inline-flex;gap:8px;padding:4px;border-radius:12px;background:#1f1f2b0d;border:1px solid rgba(31,31,43,.08)}.tab{padding:10px 14px;border-radius:10px;color:var(--c-text);border:1px solid transparent;transition:all var(--duration-fast) ease;background:transparent;min-height:44px}.tab.is-active{background:linear-gradient(135deg,rgba(var(--brand-accent-rgb),.14),#ffd4471f);border-color:rgba(var(--brand-accent-rgb),.2);color:var(--c-text)}.table tbody tr:nth-child(2n){background:#1f1f2b0d}.table tbody tr:hover td{background:rgba(var(--brand-accent-rgb),.05)}:root[data-theme=dark] .table tbody tr:nth-child(2n),body[data-theme=dark] .table tbody tr:nth-child(2n){background:#ffffff0a}.home-card:hover,.home-card:focus-visible,.region-filter:hover,.region-filter:focus-visible,.pokedex-control:hover,.pokedex-control:focus-visible{background:var(--surface-solid);border-color:#1f1f2b1f;color:var(--c-text)}.tab-panel{margin-top:12px}.tab-panel[hidden]{display:none}.breadcrumb{display:inline-flex;gap:8px;align-items:center;color:var(--c-text-muted);font-size:var(--font-size-sm)}.breadcrumb a{color:var(--c-sage);text-decoration:none}.pagination{display:inline-flex;gap:8px;align-items:center}.pagination .page{min-width:36px;padding:8px 10px;text-align:center;border-radius:10px;border:1px solid rgba(31,31,43,.12);color:var(--c-text);text-decoration:none}.pagination .page.is-active{background:linear-gradient(135deg,rgba(var(--brand-accent-rgb),.16),#ffd4471f);border-color:rgba(var(--brand-accent-rgb),.26)}.code{display:block;padding:10px 12px;border-radius:10px;background:var(--surface-code);border:1px solid rgba(31,31,43,.08);font-family:var(--font-mono);color:var(--c-text);font-size:var(--font-size-sm)}.ui-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.ui-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.info-section+.info-section{margin-top:28px}.info-section h3{margin:0 0 10px;font-size:var(--font-size-lg);font-weight:700}.info-page ul{margin:0 0 12px 18px;color:var(--c-text-muted)}.info-page p{line-height:1.75;max-width:68ch}.info-cta{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 8px}.info-meta{color:var(--c-text-muted);font-size:var(--font-size-sm);margin-top:10px}.inline-link{color:var(--c-link);text-decoration:underline;text-decoration-thickness:2px}@media(max-width:768px){.table-hint{display:block}}[data-upload-btn].is-loading{opacity:.65;pointer-events:none}:root{--header-height-desktop: 64px;--header-height-mobile: 56px}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-height-desktop);background:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:var(--header-shadow);color:var(--header-text);z-index:var(--z-header);transition:transform var(--duration-base, .25s) var(--ease-out, cubic-bezier(.22, 1, .36, 1))}.site-header.is-hidden{transform:translateY(-100%)}.site-header__inner{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:clamp(24px,4vw,64px);max-width:1400px;margin:0 auto;height:100%;padding:0 clamp(16px,3vw,32px)}.site-header__theme{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;border-radius:var(--radius-md, 8px);color:var(--header-text);cursor:pointer;transition:filter var(--duration-fast, .12s)}.site-header__theme:hover,.site-header__theme:focus-visible{background:transparent;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.site-header__theme .site-header__theme-moon,[data-theme=dark] .site-header__theme .site-header__theme-sun{display:none}[data-theme=dark] .site-header__theme .site-header__theme-moon{display:inline-flex}.site-header__nav{display:flex;align-items:center;gap:clamp(20px,3vw,48px);min-width:0}.site-header__nav--left,.site-header__nav--right{justify-content:space-evenly}.site-header__link{display:inline-flex;align-items:center;font-family:Satoshi,system-ui,-apple-system,sans-serif;font-size:var(--font-size-sm);font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:#ffffffc7;padding:8px 4px;transition:color var(--duration-fast),filter var(--duration-fast);white-space:nowrap}.site-header__link:hover,.site-header__link:focus-visible{color:var(--header-text);text-decoration:none;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.site-header__link.is-active,.site-header__link[aria-current=page]{color:var(--header-text);font-weight:700;text-decoration:none;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.site-header__brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--header-text);font-family:Satoshi,system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:.06em;justify-self:center;margin:0 clamp(8px,2vw,32px);transition:filter var(--duration-fast, .12s)}.site-header__brand:visited{color:var(--header-text)}.site-header__brand:hover,.site-header__brand:focus-visible,.site-header__brand:visited{color:var(--header-text);text-decoration:none;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.site-header__brand-logo{width:32px;height:32px;flex-shrink:0}.site-header__brand-name{font-size:var(--font-size-md);white-space:nowrap;text-transform:uppercase}.site-header__auth{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.site-header__login{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;border-radius:50%;cursor:pointer;padding:0;color:var(--header-text);transition:filter var(--duration-fast, .12s)}.site-header__login:hover,.site-header__login:focus-visible{background:transparent;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.site-header__avatar-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;border-radius:50%;cursor:pointer;padding:0;color:var(--header-text);transition:filter var(--duration-fast, .12s)}.site-header__avatar-btn:hover,.site-header__avatar-btn:focus-visible{background:transparent;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.site-header__notif{position:relative}.site-header__bell-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;width:44px;height:44px;background:transparent;border:0;border-radius:50%;cursor:pointer;padding:0;color:var(--header-text);transition:filter var(--duration-fast, .12s)}.site-header__bell-btn:hover,.site-header__bell-btn:focus-visible{background:transparent;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.site-header__bell-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:#e52b38;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.header-dropdown__notif{flex-direction:column;align-items:flex-start;gap:2px}.header-dropdown__notif-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.header-dropdown__notif-meta{font-size:var(--font-size-sm);color:#ffffffb3}.header-dropdown__notif-all{font-weight:600;margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18)}.header-dropdown__empty{padding:10px 16px;color:var(--header-text);font-style:italic;text-align:center;font-size:var(--font-size-sm);white-space:nowrap}.site-header__account{position:relative}.header-dropdown{position:absolute;top:calc(100% + 16px);right:0;min-width:0;width:max-content;background:#ffffff26;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border-strong);border-radius:var(--radius-lg);box-shadow:none;padding:6px;display:flex;flex-direction:column;gap:2px;color:var(--header-text);z-index:var(--z-header-dropdown);transition:opacity var(--duration-fast, .12s),transform var(--duration-fast, .12s)}.header-dropdown.is-hidden{opacity:0;pointer-events:none;transform:translateY(-4px)}.header-dropdown__link{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm, 6px);color:var(--header-text);text-decoration:none;font-size:var(--font-size-sm);background:transparent;border:0;cursor:pointer;width:100%;text-align:left;font-family:inherit;transition:color var(--duration-fast, .12s)}.header-dropdown__link:hover,.header-dropdown__link:focus-visible{background:transparent;color:#e52b38;text-decoration:none;filter:none}.header-dropdown__form{margin:0}.site-header__mobile{display:none}.site-header__hamburger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;color:var(--header-text);cursor:pointer;transition:filter var(--duration-fast, .12s)}.site-header__hamburger:hover,.site-header__hamburger:focus-visible{filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.mobile-overlay{position:fixed;inset:0;z-index:var(--z-modal-overlay);background:var(--header-bg);color:var(--header-text);display:flex;flex-direction:column;padding:64px 24px 24px;overflow-y:auto;transition:opacity var(--duration-base, .25s)}.mobile-overlay.is-hidden{opacity:0;pointer-events:none}.mobile-overlay__close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:transparent;border:0;color:var(--header-text);cursor:pointer;transition:filter var(--duration-fast, .12s)}.mobile-overlay__close:hover,.mobile-overlay__close:focus-visible{filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.mobile-overlay__nav{display:flex;flex-direction:column;gap:0;margin-top:32px}.mobile-overlay__nav a{font-family:Satoshi,system-ui,-apple-system,sans-serif;font-size:var(--font-size-lg);text-decoration:none;color:#ffffffd9;padding:16px 8px;border-bottom:1px solid var(--header-border);letter-spacing:.05em;text-transform:uppercase}.mobile-overlay__nav a:hover,.mobile-overlay__nav a:focus-visible{text-decoration:none;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.mobile-overlay__nav a.is-active,.mobile-overlay__nav a[aria-current=page]{font-weight:700;color:var(--header-text)}.mobile-overlay__auth{margin-top:auto;padding-top:24px}@media(min-width:769px){.site-header__mobile{display:none}.mobile-overlay{display:none!important}}@media(max-width:768px){.site-header{height:var(--header-height-mobile)}.site-header__inner{display:none}.site-header__mobile{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 12px}}@media(prefers-reduced-motion:reduce){.site-header,.header-dropdown,.mobile-overlay{transition:none}}.site-header[data-site-header] .site-header__inner{grid-template-columns:auto 1fr auto 1fr auto auto}.site-header[data-site-header] .site-header__search{display:inline-flex;align-items:center}@media(max-width:768px){.site-header[data-site-header] .site-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;height:auto;padding:8px clamp(8px,2vw,16px)}.site-header[data-site-header] .site-header__nav{flex-wrap:wrap;gap:8px;justify-content:center}.site-header[data-site-header]{height:auto;position:static}.page-shell>main{padding-top:clamp(16px,4vw,32px)}}.back-link{display:inline-block;margin-bottom:12px;font-weight:600}.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:24px}.home-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:clamp(20px,3vw,28px);background:#ffffff1f;backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);border-radius:var(--radius-lg);text-decoration:none;color:#fff;text-align:center;transition:background .1s ease,border-color .1s ease,transform .1s ease}.home-card:hover,.home-card:focus-visible{background:#ffffff2e;border-color:#ffffff40;transform:translateY(-2px)}.home-card:focus-visible{outline:var(--focus-outline);outline-offset:2px}.home-card__icon{display:block}.home-card__icon svg{width:32px;height:32px;display:block}.home-card strong{font-size:var(--font-size-md);font-weight:700;display:block}.home-card span{font-size:var(--font-size-sm);color:#ffffffbf}.pokedex-page{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}@media(max-width:800px){.pokedex-page{grid-template-columns:1fr}}.pokedex-filters{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:var(--radius-md);background:var(--surface-muted);border:var(--glass-border);position:sticky;top:16px}.pokedex-filters label{display:flex;flex-direction:column;gap:4px;font-weight:600}.pokedex-filters input[type=search],.pokedex-filters select{padding:8px 10px;border-radius:var(--radius-sm);border:var(--glass-border);background:var(--surface-input);font:inherit}.type-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px}.type-checkboxes label{flex-direction:row;align-items:center;gap:6px;font-weight:400}.pokemon-card[hidden]{display:none!important}.detail-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.detail-body{display:grid;grid-template-columns:280px 1fr;gap:24px;margin-top:24px}@media(max-width:700px){.detail-body{grid-template-columns:1fr}}.detail-artwork img{width:100%;height:auto}.stat-row{display:grid;grid-template-columns:90px 40px 1fr;align-items:center;gap:8px;margin-bottom:6px}.stat-label{font-weight:600;font-size:var(--font-size-sm)}.stat-value{text-align:right;font-variant-numeric:tabular-nums}.stat-bar{height:10px;border-radius:999px;background:#1f1f2b1a;overflow:hidden}.stat-fill{height:100%;border-radius:inherit}.stat-fill.stat-low{background:var(--brand-accent)}.stat-fill.stat-mid{background:var(--c-amber)}.stat-fill.stat-high{background:var(--type-erba)}.stat-total{margin-top:10px;font-weight:600}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.type-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-muted);border:var(--glass-border);font-weight:600}.type-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 16px}.stat-boost{color:var(--type-erba);font-weight:600}.stat-drop{color:var(--brand-accent);font-weight:600}.site-footer{padding:24px clamp(16px,3vw,32px);text-align:center;font-size:var(--font-size-sm);color:var(--c-text-muted);border-top:var(--glass-border);margin-top:48px}.site-footer a{color:var(--c-link)}
