:root{--bg:#f2f4f8;--surface:#fff;--surface-2:#eaedf3;--border:#dbe0e9;--text:#1a1d27;--text-2:#5b6373;--accent:#3d4fc4;--hp-ok:#2f9e5b;--hp-mid:#d97706;--hp-low:#a8323f;--shadow:0 0 2px #1417280f, 0 0 24px -8px #1417282e;--cover:#c1272d;--cover-shade:#8a1a1f;--cover-trim:#f4c945;--page-w:min(700px, calc((100vw - 72px) / 2));--page-h:clamp(560px, calc(100dvh - 80px), 780px)}@media (prefers-color-scheme:dark){:root{--bg:#12141b;--surface:#1a1d27;--surface-2:#212430;--border:#2c303e;--text:#edeef3;--text-2:#9aa1b4;--accent:#8b97f0;--hp-ok:#3fb96e;--hp-mid:#e0900f;--hp-low:#c2570f;--shadow:0 0 2px #0006, 0 0 30px -10px #0009;--cover:#9c2126;--cover-shade:#611318;--cover-trim:#e0b430}}*{box-sizing:border-box}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;padding-block:16px;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif}@media (width<=959px){:root{--page-w:min(700px, calc(100vw - 24px));--page-h:calc(100dvh - 24px)}body{padding-block:0}}.portal-nav{width:100%;max-width:calc(var(--page-w) * 2);margin:0 auto;padding:0 24px}.portal-link{color:var(--text-2);font-size:12.5px;font-weight:600;text-decoration:none}.portal-link:hover{color:var(--accent);text-decoration:underline}.scene{perspective:1800px;justify-content:center;width:100%;padding:24px;display:flex}.book{width:var(--page-w);height:var(--page-h);transition:width .7s cubic-bezier(.4,.1,.2,1),height .7s cubic-bezier(.4,.1,.2,1);position:relative}.book.open{width:calc(var(--page-w) * 2)}.page{width:var(--page-w);height:var(--page-h);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;padding:22px;display:flex;position:absolute;top:0;overflow-y:auto}.page-left{border-radius:6px 0 0 6px;left:0}.page-right{border-left:none;border-radius:0 6px 6px 0;left:0}.page-right-mask{top:0;left:var(--page-w);width:0;height:var(--page-h);transition:width .7s cubic-bezier(.4,.1,.2,1);position:absolute;overflow:hidden}.book.open .page-right-mask{width:var(--page-w)}.spine{left:calc(var(--page-w) - 3px);z-index:2;pointer-events:none;opacity:0;background:linear-gradient(90deg,#00000024,#00000005 40% 60%,#00000024);width:6px;transition:opacity .4s;position:absolute;top:0;bottom:0}.book.open .spine{opacity:1;transition-delay:.3s}.nav-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.index-nav{flex-shrink:0;margin-bottom:12px}.close-tab{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;margin:0 0 14px auto;padding:0;font-size:11.5px;font-weight:600;display:block}.close-tab:hover{color:var(--accent)}.nav-row .close-tab{margin:0}.art-nav .close-tab{color:#3a4a3a}.art-nav .close-tab:hover{color:#1a3d1a}.close-tab.prev-evo{margin:0 0 14px}.art-switches{gap:12px;display:flex}.close-tab.shiny-switch.on{color:#9a5cc8}.art-nav .close-tab.alolan-switch.on{color:#2f9ec4}.sync-button{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.sync-button:hover{color:var(--accent);border-color:var(--accent)}.sync-dot{background:#9aa1b4;border-radius:50%;width:8px;height:8px}.sync-button.ok .sync-dot{background:var(--hp-ok)}.sync-button.syncing .sync-dot,.sync-button.offline .sync-dot{background:var(--hp-mid)}.sync-button.error .sync-dot{background:var(--hp-low)}.index-toolbar{flex-wrap:wrap;flex-shrink:0;gap:8px;margin-bottom:10px;display:flex}.reset-filters{border:1px dashed var(--border);font:inherit;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-self:center;padding:6px 10px;font-size:12.5px;font-weight:600}.reset-filters:hover{border-style:solid;border-color:var(--accent);color:var(--accent)}.search-input{border:1px solid var(--border);font:inherit;color:var(--text);background:var(--surface);border-radius:6px;flex:140px;padding:8px 12px;font-size:14px}.progress-summary{background:var(--surface-2);color:var(--text-2);border-radius:8px;flex-wrap:wrap;flex-shrink:0;gap:4px 14px;margin:0 0 8px;padding:8px 10px;font-size:12.5px;display:flex}.progress-summary b{margin-right:2px}.c-seen{color:#5b7aa8}.c-caught{color:#c62f2f}.c-shiny{color:#9a5cc8}.page-title{text-align:center;color:var(--text-2);flex-shrink:0;margin:10px 0 0;font-size:11.5px}.credits-link{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:center;margin-top:4px;padding:4px 8px;font-size:11.5px}.credits-link:hover{color:var(--accent);text-decoration:underline}.status{color:var(--text-2);font-size:13px}@media (width<=959px){.scene{padding:12px}.book.open{width:var(--page-w);flex-direction:column;gap:12px;height:auto;display:flex}.book.open .page,.book.open .page-right-mask{position:relative;left:0}.page{padding:14px}.page-right-mask{width:var(--page-w);transition:none;left:0}.book.open .page-right-mask{width:var(--page-w);height:var(--page-h)}.book.open:not(.has-pokemon) .page-right-mask{display:none}.book.has-pokemon .page-left{height:auto;overflow:visible}.page-left,.page-right{border-left:1px solid var(--border);border-radius:6px}.spine{display:none}.index-toolbar{position:relative}.search-input{font-size:16px}}.cover{width:var(--page-w);height:var(--page-h);transform-origin:0;backface-visibility:hidden;cursor:pointer;background:linear-gradient(155deg, #e0393e 0%, var(--cover) 45%, var(--cover-shade) 100%);box-shadow:var(--shadow);z-index:3;border-radius:6px 14px 14px 6px;flex-direction:column;align-items:center;padding:26px 20px 20px;transition:transform .7s cubic-bezier(.4,.1,.2,1),visibility;display:flex;position:absolute;top:0;left:0;overflow:hidden;transform:rotateY(0)}.cover.open{pointer-events:none;visibility:hidden;transition:transform .7s cubic-bezier(.4,.1,.2,1),visibility 0s .7s;transform:rotateY(-150deg)}.cover:before{content:"";pointer-events:none;background:linear-gradient(115deg,#ffffff47 0%,#fff0 32%);position:absolute;inset:0}.indicator-dots{gap:6px;display:flex;position:absolute;top:18px;right:18px}.dot{border-radius:50%;width:7px;height:7px}.dot.a{background:#fca5a5;box-shadow:0 0 5px #fca5a5e6}.dot.b{background:#86efac;box-shadow:0 0 5px #86eface6}.hero{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;width:100%;display:flex}.pokeball-ring{aspect-ratio:1;background:#0000002e;border-radius:50%;width:min(62%,52vh);padding:10px;box-shadow:0 0 0 5px #ffffff24,0 0 0 9px #00000038,0 22px 40px -12px #0000008c}.pokeball{object-fit:contain;filter:drop-shadow(0 6px 10px #00000059);width:100%;height:100%;display:block}.title{letter-spacing:.03em;color:#fff;text-align:center;text-shadow:0 3px #00000040;margin:12px 0 0;font-family:Chakra Petch,sans-serif;font-size:clamp(30px,4.4vw,50px);font-weight:700;line-height:1.05}.trim{background:var(--cover-trim);border-radius:2px;width:38%;height:3px;box-shadow:0 1px #00000040}.subtitle{color:#ffffffe0;text-align:center;max-width:85%;margin:0;font-size:clamp(13px,1.5vw,17px);font-weight:500;line-height:1.4}.subtitle b{color:var(--cover-trim);white-space:nowrap;font-weight:700}.groove{background:#00000047;border-radius:2px;width:65%;height:3px;box-shadow:0 1px #ffffff1a}.hint{text-transform:uppercase;letter-spacing:.08em;color:#ffffffbf;margin:10px 0 0;font-size:10.5px;font-weight:600}.signature{letter-spacing:.06em;color:#fff6;pointer-events:none;font-size:9px;font-weight:500;position:absolute;bottom:10px;right:14px}.entry-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.entry-list li{cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.entry-list li:hover{background:#0000000f}.entry-status{text-align:center;flex-shrink:0;width:14px;font-size:13px}.entry-status.seen{color:#5b7aa8}.entry-status.caught{color:#c62f2f}.entry-number{font-variant-numeric:tabular-nums;width:3.2em;color:var(--text-2);flex-shrink:0;font-size:13px}.entry-name{flex:1}.entry-legend{color:#e0a21b;margin-left:4px;font-size:.9em}.entry-exclusive{vertical-align:1px;border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:800;display:inline-block}.entry-exclusive.pikachu{color:#4a3b00;background:#f7d02c}.entry-exclusive.eevee{color:#fff;background:#c8956c}.entry-shiny{color:#9a5cc8;margin-left:4px;font-size:.9em}.entry-alolan{margin-left:4px;font-size:.85em}.entry-evolved{color:#2f7a4f;margin-left:4px;font-size:.85em}.entry-level{color:var(--text-2);white-space:nowrap;background:#0000000f;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11.5px;font-weight:700}.entry-note{color:#2f7a4f;font-size:12.5px;font-weight:600;display:block}.entry-types{flex-shrink:0;gap:4px;display:flex}.entry-type-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.menu{position:relative}.menu-toggle{border:1px solid var(--border);font:inherit;cursor:pointer;color:var(--text-2);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.arrow{transition:transform .2s;display:inline-block}.arrow.open{transform:rotate(180deg)}.menu-options{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:4;border-radius:6px;min-width:180px;max-height:320px;margin-top:4px;padding:4px;list-style:none;position:absolute;top:100%;right:0;overflow-y:auto}.menu-options li{cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:8px;padding:9px 12px;font-size:14px;display:flex}.menu-options li:hover{background:#0000000f}.menu-options li.active{background:var(--accent);color:#fff}.menu-options li.menu-group{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);cursor:default;pointer-events:none;padding:8px 12px 4px;font-size:11px;font-weight:700}.menu-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.menu-sprite{width:24px;height:24px;image-rendering:pixelated;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (width<=959px){.menu{position:static}.menu-options{min-width:0;max-height:60vh;left:0;right:0}}.team{background:var(--surface-2);border-radius:10px;flex-shrink:0;margin-bottom:8px;padding:10px}.team-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:0 0 8px;font-size:12px;font-weight:700}.team-title span{margin-left:4px;font-weight:600}.team-empty{color:var(--text-2);margin:0;font-size:12.5px}.team-slots{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.slot{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;flex-direction:column;min-height:84px;display:flex;position:relative}.slot.shiny{border-color:#9a5cc8}.slot.empty{background:0 0;border-style:dashed}.slot-open{font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;padding:6px 4px 2px;display:flex}.slot-open img{aspect-ratio:1;object-fit:contain;width:100%;max-width:56px}.slot-name{max-width:100%;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.slot-level{color:var(--text-2);font-size:10.5px;font-weight:700}.slot-flags{justify-content:center;gap:4px;padding:0 4px 6px;display:flex}.flag{font:inherit;border:1px solid var(--border);width:22px;height:20px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:6px;padding:0;font-size:11px;font-weight:800}.flag.on{color:#fff;background:#9a5cc8;border-color:#9a5cc8}.slot-remove{width:20px;height:20px;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;font-size:11px;position:absolute;top:2px;right:2px}.slot-remove:hover{color:var(--text);background:#00000014}@media (width<=480px){.team-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}.item-panel{background:#eef8f1;border:1.5px solid #8fc0a2;border-radius:10px;flex-shrink:0;gap:12px;margin-bottom:8px;padding:12px 40px 12px 12px;display:flex;position:relative}.item-visual{background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.item-visual img{width:36px;height:36px;image-rendering:pixelated}.item-icon{font-size:24px}.item-text{min-width:0}.item-text p{margin:0}.item-title{color:#1a1a1a;font-size:15px;font-weight:800}.item-category{text-transform:uppercase;letter-spacing:.05em;color:#2f7a4f;margin-left:4px;font-size:11px;font-weight:700}.item-text .item-description{color:#3a4a3a;margin-top:4px;font-size:13px;line-height:1.45}.item-text .item-count{color:#2f7a4f;margin-top:6px;font-size:12px;font-weight:700}.item-close{color:#3a4a3a;cursor:pointer;background:0 0;border:none;border-radius:50%;width:28px;height:28px;padding:0;font-size:13px;position:absolute;top:8px;right:8px}.item-close:hover{background:#00000014}.art-card{border-radius:26px;flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:0 24px 50px -16px #00000080}.art-gloss{pointer-events:none;background:linear-gradient(120deg,#ffffff59,#fff0 35%);position:absolute;inset:0}.art-panel{background:#f4faef;border-radius:20px;flex-direction:column;display:flex;position:absolute;inset:10px;overflow-y:auto}.art-nav{flex-shrink:0;padding:14px 16px 0}.art-stage{border-radius:18px;flex:1;min-height:150px;margin:16px;display:flex;overflow:hidden}.art-stage img{object-fit:contain;width:100%;height:100%;padding:14px}.art-name{text-align:center;color:#1a3d1a;flex-shrink:0;margin:0;padding:0 16px 12px;font-size:27px;font-weight:800}.art-footer{flex-shrink:0;padding:0 16px 16px}@media (width<=959px){.art-panel{margin:10px;position:relative;inset:auto}.art-stage{flex:none;height:min(38vh,320px)}}.kanto-map-wrap{flex-shrink:0;position:relative}.kanto-map{border-radius:8px;width:100%;display:block;box-shadow:0 3px 10px -3px #00000059}.map-pin{fill:#ffffffbf;stroke:#00000073;stroke-width:2px;cursor:pointer}.map-pin:hover{fill:#fff}.map-pin.active{fill:#e0393e;stroke:#fff;stroke-width:4px;filter:drop-shadow(0 0 4px #e0393ee6)}.map-pin.active:hover{fill:#ff5a5f}.map-tooltip{color:#fff;white-space:nowrap;pointer-events:none;background:#000c;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0006}.map-hint{text-align:center;color:#5b6373;margin:0 0 4px;font-size:11px;font-style:italic}.map-lightbox{z-index:50;cursor:pointer;background:#000000bf;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.map-crop{aspect-ratio:16/10;cursor:default;background:#1b4f8a;border-radius:14px;width:min(94vw,900px);position:relative;overflow:hidden;box-shadow:0 20px 50px -10px #0009}.map-crop img{width:calc(var(--crop-zoom) * 100%);max-width:none;height:auto;transform:translate(calc(-1 * var(--crop-cx)), calc(-1 * var(--crop-cy)));position:absolute;top:50%;left:50%}.map-crop-pin{background:#e0393e;border:3px solid #fff;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%;box-shadow:0 0 10px #e0393ee6}.map-crop-title{color:#fff;text-align:center;text-shadow:0 1px 3px #0009;background:linear-gradient(#0000,#000000bf);padding:14px 16px;font-size:18px;font-weight:800;position:absolute;bottom:0;left:0;right:0}.map-lightbox-close{font:inherit;color:#1a1a1a;cursor:pointer;background:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700}@media (width<=600px){.map-crop{aspect-ratio:4/3}}.card-frame{background:linear-gradient(135deg,#fbe08a,#f0b93d);border-radius:20px;flex:1;min-height:0;padding:14px;display:flex;box-shadow:0 20px 40px -14px #141e0a66}.inner{border:3px solid var(--type-accent);background:#eaf5e1;border-radius:12px;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow:hidden}.info-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;display:flex}.info-name{color:#1a1a1a;text-transform:capitalize;font-size:22px;font-style:italic;font-weight:800}.level-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1.5px dashed #0000;border-radius:8px;align-items:baseline;gap:4px;padding:2px 8px;display:flex}.level-button:hover{border-color:var(--type-accent)}.level-button.empty .hp-value{color:#9aa1b4}.level-editor{align-items:center;gap:4px;display:flex}.level-editor input{width:56px;font:inherit;text-align:center;border:1.5px solid var(--type-accent);background:#fff;border-radius:8px;padding:4px;font-size:16px;font-weight:800}.level-editor button{font:inherit;cursor:pointer;background:#fff;border:1.5px solid #c9d6bd;border-radius:8px;min-width:32px;height:32px;padding:0 8px;font-weight:800}.level-editor button.ok{background:var(--type-accent);border-color:var(--type-accent);color:#fff}.level-editor button.clear{color:#6b7a62;font-size:12px;font-weight:600}.level-hint{color:#a86a00;margin:-4px 0 0;font-size:12.5px;font-weight:600}.hp-badge{align-items:baseline;gap:4px;display:flex}.hp-label{color:#1a1a1a;font-size:12px;font-weight:700}.hp-value{color:#1a1a1a;font-size:22px;font-weight:800}.type-dot{background:var(--type-accent);border:1.5px solid #1a1a1a;border-radius:50%;flex-shrink:0;width:16px;height:16px}.info-tabs{flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.info-tabs button{font:inherit;cursor:pointer;color:#5b6b52;background:0 0;border:1.5px solid #c9d6bd;border-radius:10px;padding:12px 4px;font-size:13px;font-weight:700}.info-tabs button:hover{border-color:var(--type-accent)}.info-tabs button.active{background:var(--type-accent);border-color:var(--type-accent);color:#fff}.info-window{background:#fff;border:3px solid #1a1a1a;border-radius:8px;flex-direction:column;flex:1;min-height:0;padding:18px;display:flex;overflow-y:auto}.accueil{flex-direction:column;gap:18px;display:flex}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{color:#4a5a40;background:#eef3e8;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.badge-legend{color:#5a3b00;background:linear-gradient(135deg,#fbe08a,#e8a92b)}.dex-entry{border-left:4px solid var(--type-accent);background:#f4f8f0;border-radius:4px 10px 10px 4px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.genus{text-transform:uppercase;letter-spacing:.05em;color:var(--type-accent);margin:0;font-size:13px;font-weight:700}.dex-text{color:#1a1a1a;margin:0;font-size:18px;font-style:italic;line-height:1.6}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fact{border:1.5px solid #dce6d2;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.fact-wide{grid-column:1/-1}.fact-label{text-transform:uppercase;letter-spacing:.05em;color:#6b7a62;font-size:11.5px;font-weight:700}.fact-value{color:#1a1a1a;font-size:20px;font-weight:800}.abilities-value{text-transform:capitalize;font-size:17px}.gender-bar{background:#f07fa6;border-radius:999px;height:8px;margin-top:4px;overflow:hidden}.gender-bar-male{background:#4f8fe0;height:100%}.where{flex-direction:column;gap:8px;display:flex}.where-chips{flex-wrap:wrap;gap:6px;display:flex}.where-chip{font:inherit;border:1.5px solid var(--type-accent);color:#1a1a1a;cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:13.5px;font-weight:700}.where-chip:hover{background:var(--type-accent);color:#fff}.stats-view{flex-direction:column;gap:18px;display:flex}.stats-mode{background:#eef3e8;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.stats-mode button{font:inherit;color:#6b7a62;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;font-size:13.5px;font-weight:700}.stats-mode button.active{background:var(--type-accent);color:#fff}.stats-help,.stats-empty{color:#5b6373;margin:0;font-size:13.5px;line-height:1.45}.stat-input{width:84px;font:inherit;text-align:right;color:#1a1a1a;background:#fff;border:1.5px solid #c9d6bd;border-radius:8px;padding:4px 8px;font-size:16px;font-weight:800}.stat-input,.level-editor input{appearance:textfield}.stat-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stat-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.level-editor input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.level-editor input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stat-input:focus{border-color:var(--type-accent);outline:none}.stat-total{color:#1a1a1a;border-top:1px solid #dce6d2;justify-content:space-between;margin:0;padding-top:10px;font-size:15px;font-weight:700;display:flex}.stat-total b{font-size:18px}.stat-row{flex-direction:column;gap:6px;display:flex}.stat-head{justify-content:space-between;align-items:baseline;display:flex}.stat-name{text-transform:capitalize;color:#1a1a1a;font-size:15px;font-weight:700}.stat-value{color:#1a1a1a;font-size:17px;font-weight:800}.stat-bar{background:#e5ecd9;border-radius:5px;height:9px;overflow:hidden}.stat-bar-fill{background:var(--type-accent);border-radius:5px;height:100%}.type-view{flex-direction:column;gap:20px;display:flex}.type-badges{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.type-badge{color:#fff;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-radius:999px;padding:12px 24px;font-size:16px;font-weight:800;transition:transform .15s;box-shadow:0 3px 8px #0000002e}.type-badge:hover{transform:translateY(-2px)}.matchup-group{border-top:1px solid #dce6d2;flex-direction:column;gap:8px;padding-top:14px;display:flex}.matchup-group:first-of-type{border-top:none;padding-top:0}.matchup-label{text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.matchup-label.weak{color:#e3350d}.matchup-label.strong{color:#b8790a}.matchup-label.resist{color:#2e8b22}.matchup-label.immune{color:#6c4a9c}.matchup-pills{flex-wrap:wrap;gap:8px;display:flex}.matchup-pill{text-transform:capitalize;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:7px 14px;font-size:13.5px;font-weight:700;transition:transform .15s;display:flex;box-shadow:0 2px 6px #00000026}.matchup-pill:hover{transform:translateY(-2px)}.matchup-pill.weak{color:#fff;background:#e3350d}.matchup-pill.strong{color:#1a1a1a;background:#f2a71b}.matchup-pill.resist{color:#fff;background:#3dae2b}.matchup-pill.immune{color:#fff;background:#6c4a9c}.evolutions{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.evolution-item{cursor:pointer;background:#f4f8f0;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:0;padding:10px;display:flex}.evolution-item:hover{background:#e7efdd}.evolution-item img{object-fit:contain;flex:1;max-width:100%;min-height:0}.evolution-text{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.evolution-name{text-transform:capitalize;color:#1a1a1a;font-size:20px;font-weight:800}.item-link{font:inherit;color:#2f7a4f;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.evolution-condition{color:#5b6373;font-size:13.5px}.evo-next{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.evo-next.many{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.evo-next.many .evolution-item{flex-direction:row;flex:none;justify-content:flex-start;padding:8px 10px}.evo-next.many .evolution-item img{flex:none;width:64px;height:64px}.evo-next.many .evolution-text{text-align:left;flex-shrink:1;align-items:flex-start;min-width:0}.evo-next.many .evolution-name{font-size:16px}.evo-next.many .evolution-condition{font-size:12.5px;line-height:1.35}.evo-line{background:#f4f8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:10px;display:flex}.evo-stage{flex-wrap:wrap;justify-content:center;gap:4px;max-width:60%;display:flex}.evo-arrow{color:#9aa894;font-size:18px;font-weight:800}.evo-member{font:inherit;cursor:pointer;color:#4a5a40;background:0 0;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px;font-size:11.5px;font-weight:700;display:flex}.evo-member:hover{background:#e7efdd}.evo-member.current{border-color:var(--type-accent);cursor:default;background:#fff}.evo-member img{object-fit:contain;width:56px;height:56px}.evo-stage:has(.evo-member:nth-child(4)) .evo-member img{width:40px;height:40px}.evo-final,.evo-none{text-align:center;background:#f4f8f0;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:18px;display:flex}.evo-final-tag{text-transform:uppercase;letter-spacing:.06em;background:var(--type-accent);color:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}.evo-final-row{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.evo-final-poke{font:inherit;color:#1a1a1a;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;padding:8px;font-size:15px;font-weight:800;display:flex}button.evo-final-poke{cursor:pointer}button.evo-final-poke:hover{background:#e7efdd}.evo-final-poke img{aspect-ratio:1;object-fit:contain;width:100%;max-width:140px}.evo-final-poke.current img{max-width:170px}.evo-final-how{color:#5b6373;flex-direction:column;flex:0 30%;align-items:center;gap:4px;font-size:13px;display:flex}.evo-final-arrow{color:var(--type-accent);font-size:26px;font-weight:800}.evo-none img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 8px 12px #0000002e);width:55%;max-width:220px}.evo-none-title{color:#1a1a1a;font-size:20px;font-weight:800}.evo-none-text{color:#5b6373;max-width:34ch;font-size:14.5px;line-height:1.5}.locations{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.location-item{background:#f4f8f0;border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.location-region{color:#1a1a1a;font-size:16.5px;font-weight:700}.location-details{color:#5b6373;font-size:14px;line-height:1.4}.soon{color:#9aa1b4;text-align:center;flex:1;justify-content:center;align-items:center;font-size:16px;font-style:italic;display:flex}.moveset{flex-direction:column;gap:12px;display:flex}.move-card{background:#f4f8f0;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.move-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.move-name{color:#1a1a1a;text-transform:capitalize;font-size:15.5px;font-weight:800}.move-type-badge{color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:10.5px;font-weight:800}.move-meta{color:#5b6373;flex-wrap:wrap;gap:10px;font-size:12px;font-weight:600;display:flex}.move-effect{color:#3a3a3a;margin:0;font-size:13.5px;line-height:1.45}.info-window{color:#1a1a1a;font-size:15px;line-height:1.5}.info-tabs button{padding:10px 4px}.badge-pikachu{color:#4a3b00;background:#f7d02c}.badge-eevee{color:#fff;background:#c8956c}.fact-value small{color:#6b7a62;font-size:14px;font-weight:600}.fact-note{color:#6b7a62;font-size:12.5px}.location-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.location-head .item-link{font-size:12.5px}.location-details b{color:#1a1a1a;font-weight:700}.alolan-block{background:linear-gradient(135deg,#eefaff,#fff8ec);border:1.5px solid #9fd3e6;border-radius:10px;gap:12px;padding:12px 14px;display:flex}.alolan-block img{object-fit:contain;flex-shrink:0;width:96px;height:96px}.alolan-text{flex-direction:column;gap:4px;min-width:0;display:flex}.alolan-open{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-self:flex-start;padding:0;transition:transform .15s}.alolan-open:hover{transform:scale(1.06)}.alolan-name{font:inherit;color:#1a1a1a;text-align:left;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:18px;font-weight:800}.alolan-name:hover{color:#2f9ec4;text-decoration:underline}.alolan-types{gap:6px;display:flex}.alolan-how{color:#3a4a3a;margin:2px 0 0;font-size:14px;line-height:1.45}.alolan-note{color:#6b7a62;margin:0;font-size:12px}.alolan-tag,.location-details .alolan-tag{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#2f9ec4;border-radius:999px;margin-right:4px;padding:1px 7px;font-size:11px;display:inline-block}.evo-step{align-items:center;gap:6px;display:flex}@media (width<=600px){.card-frame{border-radius:16px;padding:8px}.inner{gap:8px;padding:10px}.info-tabs{gap:6px}.info-tabs button{padding:10px 2px;font-size:12.5px}.info-window{padding:12px}.dex-text{font-size:16px}.evo-next.many{grid-template-columns:minmax(0,1fr)}}.progress-panel{flex-direction:column;gap:8px;display:flex}.progress-toggles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.progress-toggles.single{grid-template-columns:minmax(0,1fr)}.toggle{font:inherit;color:#6b7a62;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1.5px solid #c9d6bd;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:7px 2px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.toggle:hover{border-color:#9aa894}.toggle-icon{opacity:.45;font-size:15px;line-height:1}.toggle.on{color:#fff}.toggle.on .toggle-icon{opacity:1}.toggle.seen.on{background:#5b7aa8;border-color:#5b7aa8}.toggle.caught.on{background:#c62f2f;border-color:#c62f2f}.toggle.shiny.on{background:linear-gradient(135deg,#7b5cd6,#d65cb4);border-color:#9a5cc8}.team-block{flex-direction:column;gap:5px;display:flex}.team-status,.team-full{color:#3d4fc4;margin:0;font-size:12.5px;font-weight:700}.team-full{color:#6b7a62}.team-button{font:inherit;color:#4a5a40;cursor:pointer;background:0 0;border:1.5px dashed #9aa894;border-radius:10px;padding:7px 6px;font-size:12.5px;font-weight:700}.team-button:hover{background:#fff;border-style:solid}.evolve-block{flex-direction:column;gap:5px;display:flex}.evolve-status{color:#2f7a4f;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;font-size:12.5px;font-weight:700;display:flex}.evolve-status .link{font:inherit;color:#3d4fc4;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.evolve-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:5px;display:grid}.evolve-actions.many{grid-template-columns:repeat(3,minmax(0,1fr))}.evolve-label{color:#2f7a4f;grid-column:1/-1;font-size:12px;font-weight:700}.evolve-button{font:inherit;color:#2f7a4f;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1.5px dashed #8fc0a2;border-radius:10px;padding:7px 4px;font-size:12.5px;font-weight:700;overflow:hidden}.evolve-button:hover{background:#eef8f1;border-style:solid}@media (width<=400px){.progress-toggles{gap:4px}.toggle{padding:7px 0;font-size:11px}}.modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:min(460px,100%);max-height:calc(100dvh - 32px);color:var(--text);border-radius:14px;padding:22px 24px;font-size:14px;line-height:1.55;overflow-y:auto;box-shadow:0 20px 50px -10px #0009}.modal.wide{width:min(560px,100%)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal h2{margin:0;font-family:Chakra Petch,sans-serif;font-size:22px}.modal h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:18px 0 6px;font-size:12px}.modal p{margin:0 0 12px}.modal a{color:var(--accent);font-weight:600}.modal-close{font:inherit;background:var(--surface-2);width:34px;height:34px;color:var(--text);cursor:pointer;border:none;border-radius:50%;font-size:16px}.credits-disclaimer{background:var(--surface-2);border-radius:10px;padding:12px 14px}.credits-list{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.sync-help{color:var(--text-2)}.sync-status{font-weight:700}.sync-status.ok{color:var(--hp-ok)}.sync-status.error{color:var(--hp-low)}.sync-status.offline,.sync-status.syncing{color:var(--hp-mid)}.sync-tabs{background:var(--surface-2);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px;padding:4px;display:grid}.sync-tabs button{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px;font-size:13.5px;font-weight:700}.sync-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.sync-info{color:#1e5b2f;background:#e6f4ea;border-radius:8px;padding:8px 10px;font-size:13px}.sync-error{color:#9b1c1c;background:#fde8e8;border-radius:8px;padding:8px 10px;font-size:13px}.field{color:var(--text-2);flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.field input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 12px;font-size:16px;font-weight:400}.sync-actions{flex-wrap:wrap;gap:8px;display:flex}.sync-actions button{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 14px;font-weight:700}.sync-actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.sync-actions button.link{color:var(--accent);background:0 0;border:none;padding:10px 4px;font-weight:600}.sync-actions button:disabled{opacity:.6;cursor:default}
