/* POKÉ SCOPE — a field guide for the next battle. */
.pokemon-article-link{display:block;margin-top:15px;padding-top:10px;border-top:1px solid #3a3f35;color:#bbc2ae;font-size:10px;line-height:1.7}.pokemon-article-link:hover{color:#efb58d}@media(max-width:680px){.pokemon-article-link{grid-column:1/-1;grid-row:7;font-size:10px;margin-top:12px}}
:root{color-scheme:dark;--bg:#181919;--panel:#1f2020;--panel-raised:#252626;--panel-soft:#222323;--line:#363737;--line-soft:#2b2c2c;--ink:#f2efe7;--muted:#92958e;--subtle:#666b65;--accent:#ee5b40;--accent-hover:#f57157;--font:'Noto Sans JP',sans-serif;--mono:'Space Grotesk',monospace;--display:'Barlow Condensed',sans-serif;--radius:14px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}body::before{position:fixed;z-index:-1;inset:0;content:"";opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}input:focus-visible{outline:none}button,select{touch-action:manipulation}button svg{pointer-events:none}img{display:block;max-width:100%}button[hidden],[hidden]{display:none!important}svg.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.page-width{width:calc(100% - 112px);max-width:1232px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:8px;left:12px;z-index:999;padding:12px 18px;transform:translateY(-150%);border-radius:6px;background:var(--ink);color:var(--bg)}.skip-link:focus{transform:translateY(0)}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-ball{width:41px;height:41px;color:var(--ink);flex:none}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font:700 30px/.95 var(--display);letter-spacing:.7px}.brand-period{color:var(--accent)}.brand-copy>span{font-size:9px;font-weight:600;letter-spacing:1.85px;margin-top:8px}.main-nav{display:flex;align-items:stretch;align-self:stretch;gap:31px;margin-left:auto;margin-right:50px}.nav-button{position:relative;display:flex;align-items:center;gap:9px;padding:3px 1px 0;background:none;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;transition:color .15s}.nav-button .icon{width:17px;height:17px}.nav-button:hover,.nav-button.is-active{color:var(--ink)}.nav-button.is-active::after{position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--accent);content:""}.nav-history-count{display:inline-grid;place-items:center;min-width:17px;height:17px;border-radius:4px;background:var(--line);color:var(--ink);font:10px var(--mono)}.dex-status{display:flex;align-items:center;gap:10px;padding-left:23px;border-left:1px solid var(--line);font-family:var(--mono)}.dex-status>span:last-child{display:flex;flex-direction:column}.dex-status strong{font-size:12px;font-weight:500;letter-spacing:1.2px;line-height:1.1}.dex-status small{margin-top:6px;font-size:8px;letter-spacing:1.1px;color:var(--muted)}.status-dot{width:6px;height:6px;flex:none;background:var(--accent);border-radius:50%}

/* Hero */
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:400px;padding:53px 0 41px;isolation:isolate}.hero-copy{position:relative;z-index:2}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:1.65px;font-weight:500;line-height:1.5}.hero-eyebrow{display:flex;align-items:center;gap:10px;color:#b9bdb4;letter-spacing:2.1px;font-size:10px}.tiny-diamond{width:6px;height:6px;background:var(--accent);transform:rotate(45deg)}h1{margin:21px 0 21px;font-size:66px;font-weight:900;letter-spacing:-3.6px;line-height:1.27}h1>span{color:var(--accent)}.hero-description{font-size:12px;line-height:2.05;letter-spacing:.65px;font-weight:500;color:#bbbdb6;margin:0}.hero-note{display:flex;align-items:center;gap:12px;margin-top:26px;color:#666b66;font:8px var(--mono);letter-spacing:1px}.note-rule{width:26px;height:1px;background:var(--subtle)}.hero-visual{position:relative;min-width:0;margin:-25px -3px -10px 0}.hero-ball{position:absolute;top:-13px;right:27px;width:355px;height:355px;fill:none;stroke:#323533;stroke-width:1.3}.hero-ball>circle:nth-last-child(2){fill:var(--bg)}.hero-orbit{position:absolute;width:328px;height:328px;right:41px;top:0;border:1px dashed #2e312e;border-radius:50%;transform:rotate(20deg)}.hero-pokemon{position:absolute;filter:drop-shadow(0 16px 16px rgb(0 0 0 / .25))}.hero-pokemon img{object-fit:contain;width:100%;height:100%}.hero-gengar{width:223px;height:223px;left:26px;top:67px;transform:rotate(-7deg)}.hero-pikachu{width:264px;height:264px;right:1px;top:43px;transform:rotate(7deg)}.hero-visual-label{position:absolute;right:58px;bottom:15px;display:flex;align-items:center;gap:8px;font:8px var(--mono);letter-spacing:1.3px;color:#777e73}.live-square{display:inline-block;width:4px;height:4px;background:#888f7c}.hero-visual-index{position:absolute;top:30px;right:3px;color:#6d7369;font:9px var(--mono);letter-spacing:2px;writing-mode:vertical-rl}.hero-cross{position:absolute;color:#72786d;font:20px/1 var(--mono);font-weight:400}.hero-cross-one{top:18px;left:46px}.hero-cross-two{bottom:40px;right:4px}

/* Search */
.search-section{position:relative;z-index:5;margin-top:2px;padding-bottom:39px}.search-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.search-topline>.eyebrow{color:#c6c9bf;font-size:10px;letter-spacing:1.6px}.search-topline>span{color:var(--subtle);font-size:9px;letter-spacing:.3px}.search-wrap{position:relative}.search-form{position:relative;display:flex;align-items:center;height:74px;border:1px solid #51544d;border-radius:10px;background:#202222;transition:border-color .15s,box-shadow .15s}.search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgb(238 91 64 / .08)}.search-input-icon{margin-left:24px;margin-right:17px;color:#a1a59c;width:23px!important;height:23px!important}#pokemon-search{display:block;flex:1;min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-size:15px;font-weight:500;letter-spacing:.5px;line-height:1.5;padding:21px 8px 21px 0;outline:none;appearance:none}#pokemon-search::placeholder{color:#858a81;font-size:13px;font-weight:400}#pokemon-search::-webkit-search-cancel-button{display:none}.search-submit{display:flex;align-items:center;justify-content:center;gap:29px;align-self:stretch;margin:7px;padding:0 25px;min-width:153px;background:var(--accent);border-radius:5px;font-size:12px;font-weight:700;color:#fff5ee;transition:background .15s}.search-submit:hover{background:var(--accent-hover)}.search-submit .icon{width:19px;height:19px}.clear-search{display:flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);width:38px;height:44px;flex:none}.clear-search:hover{color:var(--ink)}.clear-search .icon{width:17px;height:17px}.quick-search{display:flex;align-items:center;gap:19px;margin-top:14px}.quick-label{font-size:9px;font-weight:500;color:var(--subtle);white-space:nowrap}.quick-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.quick-tags button{display:flex;align-items:center;gap:16px;min-height:29px;padding:4px 11px;border:1px solid var(--line);border-radius:4px;background:none;color:#b6bab0;font-size:10px;transition:border-color .15s,color .15s,background .15s}.quick-tags button span{font-size:12px;color:#6a7066}.quick-tags button:hover{border-color:#787d71;color:var(--ink);background:var(--panel)}.search-suggestions{position:absolute;z-index:100;top:calc(100% + 7px);left:0;right:0;max-height:358px;overflow:auto;border:1px solid #51554d;border-radius:10px;background:#242625;box-shadow:0 16px 50px rgb(0 0 0 / .35);padding:6px}.suggestion-item,.suggestion,.search-suggestion{display:flex;align-items:center;gap:13px;width:100%;min-height:66px;padding:8px 13px;border-radius:6px;background:transparent;text-align:left;transition:background .15s}.suggestion-item:hover,.suggestion-item[aria-selected="true"],.suggestion:hover,.search-suggestion:hover,.search-suggestion[aria-selected="true"]{background:#343731}.suggestion-item img,.suggestion img,.search-suggestion img{width:48px;height:48px;object-fit:contain}.suggestion-item strong,.suggestion strong,.search-suggestion strong{display:block;font-size:13px}.suggestion-item small,.suggestion small,.search-suggestion small{color:var(--muted);font:10px var(--mono)}.suggestion-number,.suggestion-id{font:10px var(--mono);color:var(--muted)}.suggestion-types{display:flex;gap:4px;margin-left:auto}.suggestion-empty{padding:24px;color:var(--muted);text-align:center;font-size:12px}

/* Shared section and card language */
.content-section{margin-bottom:44px;scroll-margin-top:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 17px;border-top:1px solid var(--line)}.section-title-group{display:flex;align-items:center;gap:12px;min-width:0}.section-index{color:var(--accent);font:10px var(--mono);letter-spacing:.6px;margin-right:1px}.section-title-group h2{margin:0;font-size:18px;line-height:1.4;letter-spacing:.7px;font-weight:700}.section-en{font:8px var(--mono);letter-spacing:1.6px;color:var(--subtle);margin-left:6px;padding-top:3px}.section-caption{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px;letter-spacing:.2px}.small-crosshair{position:relative;width:10px;height:10px;border:1px solid #777e71;border-radius:50%}.small-crosshair::before,.small-crosshair::after{position:absolute;content:"";background:#777e71}.small-crosshair::before{width:14px;height:1px;top:3.5px;left:-3px}.small-crosshair::after{width:1px;height:14px;left:3.5px;top:-3px}.result-count{font:11px var(--mono);color:var(--muted);letter-spacing:.3px}.detail-layout{display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.pokemon-profile{position:relative;min-width:0;background:#252725;border-right:1px solid var(--line);padding:25px 23px 23px;overflow:hidden}.profile-top{position:relative;z-index:1}.dex-number{color:#8c9387;font:10px var(--mono);letter-spacing:1.5px}.profile-name{margin:6px 0 0;font-size:25px;font-weight:800;letter-spacing:1.6px;line-height:1.4}.profile-en{margin:3px 0 0;color:#939b8b;font:11px var(--mono);letter-spacing:1.1px}.artwork-stage{position:relative;display:grid;place-items:center;min-height:225px;margin:5px -15px -1px;isolation:isolate}.artwork-stage::before{position:absolute;z-index:-1;top:25px;left:50%;width:185px;height:185px;border:1px solid #3a3f35;border-radius:50%;content:"";transform:translateX(-50%)}.artwork-stage::after{position:absolute;z-index:-1;top:116px;left:calc(50% - 93px);width:186px;height:1px;background:#363b33;content:""}.pokemon-art{position:relative;z-index:2;width:224px;height:224px;object-fit:contain;filter:drop-shadow(0 11px 11px rgb(0 0 0 / .2));transition:transform .25s}.pokemon-profile:hover .pokemon-art{transform:translateY(-3px)}.profile-types{display:flex;justify-content:center;gap:6px;margin:1px 0 21px}.type-badge{--type-color:#a2a69e;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:57px;height:23px;padding:3px 9px;border:1px solid color-mix(in srgb,var(--type-color) 38%,transparent);border-radius:4px;background:color-mix(in srgb,var(--type-color) 12%,transparent);color:var(--type-color);font-size:10px;font-weight:600;line-height:1;white-space:nowrap}.type-badge img,.type-icon{width:12px;height:12px}.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;margin:0;padding-top:17px;border-top:1px solid #3a3f35}.profile-facts>div{display:flex;flex-direction:column;gap:3px}.profile-facts dt,.profile-facts span{margin:0;font-size:9px;color:#87907e}.profile-facts dd,.profile-facts strong{margin:0;font-size:11px;font-weight:500;letter-spacing:.3px}.profile-classification,.profile-category{font-size:10px;color:var(--muted);margin:8px 0 0}.battle-panel{min-width:0;padding:25px 27px 22px}.battle-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.battle-heading h3{font-size:16px;margin:0 0 5px;letter-spacing:.6px;font-weight:700}.battle-heading p{font-size:9px;margin:0;color:var(--muted);line-height:1.7}.battle-heading>span,.battle-kicker,.battle-heading small{color:var(--accent);font:9px var(--mono);letter-spacing:1.3px;margin-top:3px}.weakness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:19px}.matchup-card{--type-color:#a2a69e;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:109px;padding:12px 7px 11px;border:1px solid var(--line);border-radius:7px;background:#262827;overflow:hidden}.matchup-card::before{position:absolute;top:0;left:0;right:0;height:2px;background:var(--type-color);opacity:.8;content:""}.matchup-type{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:var(--type-color);white-space:nowrap}.matchup-type .type-badge{border:0;padding:0;min-width:0;height:auto;background:none}.multiplier{font:600 31px/.9 var(--mono);letter-spacing:-1.8px;color:var(--ink)}.multiplier small,.multiplier .times{font-size:17px;letter-spacing:0;margin-right:2px}.multiplier-label{font-size:8px;color:var(--subtle);letter-spacing:.2px}.matchup-card.is-critical,.matchup-card.quadruple,.matchup-card[data-multiplier="4"]{background:#322821;border-color:#665039}.matchup-card.is-critical .multiplier,.matchup-card.quadruple .multiplier,.matchup-card[data-multiplier="4"] .multiplier{color:#f3bf74}.matchup-card.is-critical .multiplier-label{color:#c6945a}.no-weakness{padding:22px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:12px}.resistance-row{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;margin-top:10px}.resistance-row>span,.resistance-row>h4,.resistance-label{font-size:9px;color:var(--muted);font-weight:500;margin:3px 0 0}.resistance-tags{display:flex;flex-wrap:wrap;gap:5px}.resistance-tags .type-badge{font-size:9px;height:21px;min-width:0;padding:3px 7px}.resistance-tags .type-badge small{font:8px var(--mono);opacity:.75}.matchup-note,.type-note,.battle-note{color:var(--subtle);font-size:9px;line-height:1.8;margin:12px 0 0}.battle-divider{height:1px;background:var(--line);margin:21px 0 17px}.battle-lower,.detail-columns,.analysis-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;margin-top:21px;padding-top:19px;border-top:1px solid var(--line)}.stats-block h3,.stats-block h4,.ability-block h3,.ability-block h4,.stats-heading{font-size:11px;margin:0 0 12px;letter-spacing:.3px;font-weight:600}.stats-grid{display:flex;flex-direction:column;gap:6px}.stat-row{display:grid;grid-template-columns:48px 22px minmax(0,1fr);align-items:center;gap:7px;min-height:13px;font-size:9px;line-height:1.3}.stat-name{color:var(--muted)}.stat-value{color:#bdc3b3;font:10px var(--mono);text-align:right}.stat-track{height:4px;background:#353932;border-radius:2px;overflow:hidden}.stat-fill{height:100%;display:block;background:#a5b78c;border-radius:2px;min-width:1px}.stat-row:nth-child(2) .stat-fill{background:#dc956b}.stat-row:nth-child(3) .stat-fill{background:#bca36b}.stat-row:nth-child(4) .stat-fill{background:#a29aba}.stat-row:nth-child(5) .stat-fill{background:#879fac}.stat-row:nth-child(6) .stat-fill{background:#9caf82}.stat-total{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin:7px 0 0}.stat-total strong{font:11px var(--mono);color:#bdc3b3}.ability-block{min-width:0}.ability-block>p{font-size:10px;line-height:1.9;color:#9fa797;margin:7px 0 0}.ability-item{margin:0 0 9px}.ability-item strong,.ability-name{display:block;font-size:10px;font-weight:600;color:#d0d5c8}.ability-item p,.ability-description{margin:3px 0 0;font-size:9px;line-height:1.85;color:var(--muted)}.ability-tag,.hidden-ability{display:inline-block;padding:1px 4px;border:1px solid var(--line);border-radius:3px;font-size:8px;line-height:1.5;color:var(--subtle);vertical-align:1px;margin-left:4px}.flavor-text,.pokemon-description{padding:11px 0 0;margin:12px 0 0;border-top:1px solid var(--line);font-size:10px;line-height:1.95;color:#9da592}.loading-ball{display:block;width:28px;height:28px;border:2px solid #73796b;border-radius:50%;position:relative;animation:ball-spin 1s infinite linear}.loading-ball::before{position:absolute;left:0;right:0;height:2px;top:11px;background:#73796b;content:""}.loading-ball::after{position:absolute;left:8px;top:8px;width:8px;height:8px;border:2px solid #73796b;border-radius:50%;background:var(--panel);content:""}.detail-loading{display:flex;align-items:center;justify-content:center;gap:15px;min-height:380px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--muted);font-size:12px}@keyframes ball-spin{to{transform:rotate(360deg)}}

/* Pokémon browser */
.dex-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 21px}.dex-description{font-size:10px;color:var(--muted);margin:0;letter-spacing:.2px}.filter-group{display:flex;gap:8px}.select-wrap{position:relative;display:flex;align-items:center;min-width:145px}.select-wrap select{width:100%;height:36px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:#c1c6b8;appearance:none;padding:0 35px 0 12px;font-size:10px;cursor:pointer}.select-wrap .icon{position:absolute;pointer-events:none;right:11px;width:13px;height:13px;color:#a0a68f}.pokemon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.pokemon-card,.dex-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:218px;padding:14px 15px 15px;border:1px solid var(--line);border-radius:8px;background:#202222;isolation:isolate;text-align:left;transition:transform .18s,border-color .18s,background .18s;overflow:hidden}.pokemon-card:hover,.dex-card:hover{transform:translateY(-3px);border-color:#68715b;background:#272b25}.pokemon-card.is-selected,.pokemon-card[aria-pressed="true"],.dex-card.is-selected{border-color:#b3674e;background:#292623}.pokemon-card.is-selected::after,.dex-card.is-selected::after{position:absolute;top:12px;right:12px;width:5px;height:5px;border-radius:50%;background:var(--accent);content:""}.card-top{display:flex;align-items:center;justify-content:space-between}.card-number,.card-id,.pokemon-card>.dex-number{color:#747d6c;font:9px var(--mono);letter-spacing:.6px}.card-image{display:grid;place-items:center;align-self:center;width:100%;height:111px;margin:2px 0 5px;object-fit:contain;transition:transform .2s}.card-image img{width:111px;height:111px;object-fit:contain}.pokemon-card:hover .card-image{transform:translateY(-2px)}.pokemon-card>img,.dex-card>img{align-self:center;width:111px;height:111px;margin:2px 0 5px;object-fit:contain;transition:transform .2s}.card-name{margin:0;font-size:12px;font-weight:600;letter-spacing:.4px;line-height:1.4}.card-en{font:8px var(--mono);color:#747e6b;letter-spacing:.1px;margin:4px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-types{display:flex;gap:4px;flex-wrap:wrap;margin-top:11px}.card-types .type-badge{min-width:0;font-size:8px;height:19px;padding:2px 6px;gap:3px}.card-types .type-badge::before{width:4px;height:4px}.card-arrow{position:absolute;right:14px;bottom:16px;width:13px;height:13px;color:#66705d}.load-more-wrap{display:flex;justify-content:center;margin-top:23px}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:42px;padding:10px 24px;border:1px solid #51564a;border-radius:5px;background:transparent;font-size:11px;font-weight:500;letter-spacing:.3px;color:#d9dfce;transition:background .15s,border-color .15s}.secondary-button:hover{background:#292d26;border-color:#7f8972}.load-more{min-width:190px}.load-more .icon{width:15px;height:15px}.grid-empty,.no-results{grid-column:1/-1;padding:60px 20px;border:1px dashed var(--line);border-radius:8px;text-align:center;color:var(--muted);font-size:12px}.grid-empty h3,.no-results h3{color:var(--ink);font-size:15px;font-weight:600}.grid-empty p,.no-results p{font-size:11px}

/* History */
.history-section{margin-bottom:57px}.text-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0;background:none;font-size:9px;color:var(--muted);transition:color .15s}.text-button .icon{width:13px;height:13px}.text-button:hover{color:var(--accent)}.history-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.history-item{display:flex;align-items:stretch;position:relative;border:1px solid var(--line);border-radius:7px;background:var(--panel);overflow:hidden;transition:border-color .15s}.history-item:hover{border-color:#616958}.history-select{display:flex;align-items:center;gap:10px;min-width:0;flex:1;min-height:76px;padding:9px 31px 9px 9px;background:transparent;text-align:left}.history-select img{width:49px;height:49px;object-fit:contain;flex:none}.history-select>div,.history-info{display:flex;flex-direction:column;min-width:0;gap:4px}.history-select strong,.history-name{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-select small,.history-date,.history-number{font:9px var(--mono);color:var(--subtle)}.history-remove{position:absolute;right:4px;top:4px;width:30px;height:30px;display:grid;place-items:center;background:transparent;color:#747d6c;border-radius:4px;transition:color .15s,background .15s}.history-remove:hover{color:var(--accent);background:#37302a}.history-remove .icon,.history-remove svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7}.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:133px;border:1px dashed #3b4136;border-radius:7px;color:var(--subtle);padding:24px;text-align:center}.empty-state>.icon{width:22px;height:22px;color:#6d7861;margin-bottom:7px}.empty-state p{color:#939e87;font-size:11px;margin:0}.empty-state span{font-size:9px;margin-top:5px;color:var(--subtle)}

/* Footer, dialog and transient feedback */
.site-footer{border-top:1px solid var(--line)}.footer-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:25px;min-height:100px}.footer-brand{display:flex;align-items:center;gap:8px;color:#9fa893}.footer-brand svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}.footer-brand svg circle:last-child{fill:var(--bg)}.footer-brand span{font:600 20px var(--display);letter-spacing:.8px;white-space:nowrap}.footer-inner>p{color:var(--subtle);font-size:8px;letter-spacing:.1px;line-height:1.8;margin:0}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--subtle);font-size:8px}.footer-links a{font:8px var(--mono);letter-spacing:.5px;color:#9da78f}.footer-links a:hover{color:var(--ink)}.reset-dialog{position:fixed;width:calc(100% - 40px);max-width:440px;border:1px solid #4c5443;border-radius:12px;padding:31px;background:#242823;color:var(--ink);box-shadow:0 24px 90px rgb(0 0 0 / .45)}.reset-dialog::backdrop{background:rgb(7 10 7 / .75);backdrop-filter:blur(4px)}.dialog-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--accent);margin-bottom:19px}.dialog-icon .icon{width:22px;height:22px}.reset-dialog .eyebrow{color:var(--accent);font-size:9px;margin:0 0 8px}.reset-dialog h2{font-size:18px;margin:0 0 12px;font-weight:700;letter-spacing:.1px}.dialog-description{color:var(--muted);font-size:11px;line-height:1.9;margin:0 0 24px}.dialog-actions{display:flex;gap:9px}.dialog-actions>button{flex:1;min-height:43px;min-width:0;padding:9px 12px;font-size:10px}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 22px;border-radius:5px;background:var(--accent);color:#fff4e9;font-size:11px;font-weight:600;transition:background .15s}.primary-button:hover{background:var(--accent-hover)}.toast{position:fixed;z-index:200;bottom:25px;left:50%;max-width:calc(100% - 32px);padding:12px 22px;background:#e4e9da;border:1px solid #eff3e8;border-radius:6px;box-shadow:0 6px 28px rgb(0 0 0 / .25);font-size:11px;font-weight:500;color:#252e1d;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:transform .2s,opacity .2s;white-space:nowrap}.toast.is-visible,.toast.show,.toast.visible{opacity:1;transform:translate(-50%,0)}

/* Live battle and form controls */
.profile-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-generation{font-size:8px;color:#929c85;border:1px solid #42493a;padding:2px 6px;border-radius:3px;line-height:1.5}.profile-facts{grid-template-columns:1.4fr 1fr 1fr;column-gap:8px}.profile-facts dd{white-space:nowrap}.profile-facts dd small{font:9px var(--mono);color:#969f8b}.profile-footnote{display:block;margin-top:20px;color:#66715c;font:6px var(--mono);letter-spacing:.8px}.form-label{display:flex;flex-direction:column;gap:7px;margin-top:17px;padding-top:13px;border-top:1px solid #3a3f35;font-size:8px;color:#8d9880}.form-label select{width:100%;height:34px;padding:0 9px;border:1px solid #454d3d;border-radius:4px;background:#2b3027;font-size:9px;color:#d0d8c4}.artwork-cross{position:absolute;z-index:1;font:14px var(--mono);color:#626d54}.cross-one{top:38px;left:22px}.cross-two{bottom:27px;right:20px}.section-eyebrow{display:block;font:8px var(--mono);letter-spacing:1.3px;color:#929c85;margin-bottom:6px}.battle-heading h3{display:flex;align-items:center;gap:8px}.heading-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.battle-label{border:1px solid #6b4434;border-radius:3px;padding:4px 8px;color:var(--accent)!important;font:9px var(--font)!important;letter-spacing:.4px!important}.battle-intro{margin:-7px 0 17px;color:#929c85;font-size:9px}.weakness-grid:has(>.matchup-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.matchup-card.critical{border-color:#7a5438;background:#332a21}.matchup-card.critical .multiplier{color:#f1ba73}.matchup-card.critical .multiplier-label{color:#c99963}.multiplier small{margin-right:0;margin-left:3px}.resistance-row{grid-template-columns:57px minmax(0,1fr)}.resistance-item{display:inline-flex;align-items:center;gap:4px;min-height:23px;padding:3px 6px;border:1px solid #3b4434;border-radius:3px;background:#262c23;color:#a2ae94;font-size:8px;white-space:nowrap}.resistance-item .type-icon{color:var(--type-color);width:10px;height:10px}.resistance-item b{color:#929f84;font:8px var(--mono);margin-left:3px}.resistance-item.immunity{background:#292c27}.muted{font-size:9px;color:var(--subtle)}.matchup-note{display:flex;align-items:flex-start;gap:5px;font-size:8px}.matchup-note svg{flex:none;opacity:.65;margin-top:1px}.detail-tabs{display:flex;align-items:stretch;gap:24px;margin-top:20px;border-bottom:1px solid #3b4434}.detail-tabs button{position:relative;display:flex;align-items:center;gap:6px;min-height:37px;background:transparent;color:#7f8c70;font-size:10px;padding:0 0 10px}.detail-tabs button[aria-selected="true"]{color:#e3e9d8}.detail-tabs button[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}.detail-tabs button>span{font:8px var(--mono);padding:1px 4px;color:#9aa88a;background:#30392a;border-radius:3px}.pokemon-description{border:0;margin:14px 0 0;padding:0;font-size:10px;line-height:2;color:#b1bba5;min-height:40px}.ability-block{display:flex;align-items:flex-start;gap:15px;margin-top:13px}.ability-label{font-size:9px;color:#7f8b72;white-space:nowrap;padding-top:4px}.ability-list{display:flex;flex-wrap:wrap;gap:5px}.ability-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #414c37;border-radius:4px;color:#c6d1b7;font-size:9px;background:#283022}.ability-chip small{font-size:7px;color:#8c9e79;padding-left:5px;border-left:1px solid #46553b}.stats-grid{margin-top:16px}.stats-note{display:flex;gap:9px;align-items:center;margin:12px 0 0;font-size:8px;color:var(--muted)}.stats-note strong{font:11px var(--mono);color:var(--ink)}.stats-note>span{margin-left:auto;font-size:7px;color:#6f7d61}.card-top>svg{width:12px;height:12px;color:#65735a}.suggestion-number{margin-left:auto;font-size:9px!important;white-space:nowrap}.suggestion-item>svg{width:15px;height:15px;color:#899a76}.history-select>span{display:flex;flex-direction:column;gap:3px;min-width:0}.history-form{font-size:8px;color:#758268;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.history-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:137px;border:1px dashed #3b4136;border-radius:7px;color:var(--subtle);padding:24px;text-align:center}.history-empty p{color:#939e87;font-size:11px;margin:9px 0 3px}.history-empty small{font-size:9px;color:var(--subtle)}.empty-ball{position:relative;width:22px;height:22px;border:1px solid #718162;border-radius:50%}.empty-ball::before{content:"";position:absolute;left:0;right:0;height:1px;top:9px;background:#718162}.empty-ball::after{content:"";position:absolute;left:6px;top:6px;width:8px;height:8px;border:1px solid #718162;border-radius:50%;background:var(--bg)}.empty-matchup{grid-column:1/-1;padding:24px;border:1px dashed var(--line);border-radius:6px;font-size:11px;color:var(--muted)}

/* Type colors */
.type-normal,[data-type="normal"]{--type-color:#b5b3a0}.type-fire,[data-type="fire"]{--type-color:#ee9758}.type-water,[data-type="water"]{--type-color:#78a9df}.type-electric,[data-type="electric"]{--type-color:#e2c75e}.type-grass,[data-type="grass"]{--type-color:#9fbd70}.type-ice,[data-type="ice"]{--type-color:#8bc9cc}.type-fighting,[data-type="fighting"]{--type-color:#d6816f}.type-poison,[data-type="poison"]{--type-color:#bd8bc4}.type-ground,[data-type="ground"]{--type-color:#c8aa78}.type-flying,[data-type="flying"]{--type-color:#a2b1d7}.type-psychic,[data-type="psychic"]{--type-color:#dc8ba4}.type-bug,[data-type="bug"]{--type-color:#a7b864}.type-rock,[data-type="rock"]{--type-color:#c6b17a}.type-ghost,[data-type="ghost"]{--type-color:#a094c2}.type-dragon,[data-type="dragon"]{--type-color:#9b9dd7}.type-dark,[data-type="dark"]{--type-color:#b0a395}.type-steel,[data-type="steel"]{--type-color:#9bb5b7}.type-fairy,[data-type="fairy"]{--type-color:#d0a0c4}

@media(min-width:1440px){.page-width{width:calc(100% - 160px)}.hero{min-height:427px;padding-top:58px}.hero-visual{margin-right:34px}.hero-gengar{left:47px;width:240px;height:240px}.hero-pikachu{width:285px;height:285px;right:4px}.hero-ball{width:378px;height:378px;top:-17px;right:25px}.hero-orbit{width:347px;height:347px;right:40px;top:0}h1{font-size:72px}.hero-visual-label{bottom:10px}.artwork-stage{min-height:239px}.pokemon-art{width:236px;height:236px}}
@media(max-width:1150px){.page-width{width:calc(100% - 64px)}.main-nav{margin-right:17px;gap:22px}.brand-copy strong{font-size:27px}.hero{grid-template-columns:1fr 1fr;min-height:382px;padding-top:46px}h1{font-size:60px}.hero-gengar{width:196px;height:196px;left:0;top:77px}.hero-pikachu{width:239px;height:239px;right:-9px;top:51px}.hero-ball{width:330px;height:330px;right:-1px;top:4px}.hero-orbit{right:11px;top:17px;width:305px;height:305px}.hero-visual-label{right:16px;bottom:17px;font-size:7px}.hero-visual-index{right:-5px;top:31px}.hero-cross-one{left:21px;top:24px}.hero-cross-two{right:3px;bottom:49px}.hero-note{font-size:7px}.detail-layout{grid-template-columns:260px minmax(0,1fr)}.pokemon-profile{padding:23px 20px}.battle-panel{padding:23px 22px}.pokemon-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.weakness-grid{gap:7px}.matchup-card{min-height:105px;padding-inline:5px}.battle-lower,.detail-columns,.analysis-columns{gap:18px}.history-list{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-inner{column-gap:18px}.footer-brand span{font-size:18px}.footer-inner>p{font-size:7px;max-width:260px}}
@media(max-width:900px){.header-inner{height:83px;gap:20px}.brand-ball{width:35px;height:35px}.brand-copy strong{font-size:25px}.brand-copy>span{font-size:8px;letter-spacing:1.5px;margin-top:6px}.main-nav{gap:23px;margin-right:0}.nav-button{font-size:11px;gap:7px}.nav-button .icon{width:16px;height:16px}.dex-status{display:none}.hero{min-height:371px}.hero-description{font-size:11px}.hero-gengar{width:169px;height:169px;top:98px;left:-1px}.hero-pikachu{width:208px;height:208px;top:62px;right:-9px}.hero-ball{width:280px;height:280px;top:36px;right:-4px}.hero-orbit{width:256px;height:256px;top:48px;right:7px}.hero-visual-label{font-size:6px;letter-spacing:1px;right:13px;bottom:24px}.hero-cross-one{top:40px;left:23px}.hero-cross-two{bottom:52px}.hero-visual-index{right:-6px;top:28px;font-size:7px}h1{font-size:55px;letter-spacing:-3px}.hero-note{font-size:6px;letter-spacing:.7px;gap:8px}.note-rule{width:17px}.detail-layout{grid-template-columns:226px minmax(0,1fr)}.pokemon-profile{padding:22px 17px}.profile-name{font-size:22px}.profile-en{font-size:10px}.artwork-stage{min-height:204px;margin-inline:-16px}.pokemon-art{width:204px;height:204px}.artwork-stage::before{width:168px;height:168px;top:20px}.artwork-stage::after{width:168px;left:calc(50% - 84px);top:104px}.profile-types{margin-bottom:21px}.battle-panel{padding:22px 20px}.battle-heading{margin-bottom:15px}.battle-heading h3{font-size:14px}.battle-heading p{font-size:8px}.battle-heading>span,.battle-kicker{font-size:7px;letter-spacing:1px}.weakness-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:17px}.matchup-card{min-height:90px;gap:7px}.multiplier{font-size:27px}.matchup-type{font-size:9px}.multiplier-label{font-size:7px}.battle-lower,.detail-columns,.analysis-columns{grid-template-columns:1fr;gap:19px;padding-top:16px;margin-top:18px}.ability-block{padding-top:15px;border-top:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:13px;row-gap:7px}.stat-row{grid-template-columns:34px 19px minmax(0,1fr);gap:5px;font-size:8px}.stat-value{font-size:9px}.stat-name{font-size:8px}.stats-block h3,.stats-block h4{margin-bottom:10px}.ability-item{display:inline-block;vertical-align:top;width:calc(50% - 8px);margin-right:8px}.ability-item p{font-size:8px}.profile-facts{gap:16px 6px}.profile-facts dd,.profile-facts strong{font-size:10px}.pokemon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pokemon-card,.dex-card{padding:13px;min-height:211px}.card-image{height:109px}.history-list{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-inner{grid-template-columns:auto 1fr;min-height:112px;row-gap:8px;padding-block:22px}.footer-inner>p{max-width:none;font-size:8px}.footer-links{grid-column:2;grid-row:1/3;align-self:center;font-size:7px}.footer-inner>p{grid-column:1;grid-row:2;max-width:320px;font-size:7px}.footer-brand{grid-column:1;grid-row:1}}
@media(max-width:680px){html{scroll-padding-top:20px}.page-width{width:calc(100% - 40px)}.header-inner{height:77px;gap:12px}.brand{gap:8px}.brand-ball{width:31px;height:31px}.brand-copy strong{font-size:24px;letter-spacing:.4px}.brand-copy>span{font-size:7px;letter-spacing:1.25px;margin-top:6px}.main-nav{gap:18px}.nav-button{gap:0;flex-direction:column;justify-content:center;padding-top:4px;font-size:8px;min-width:38px}.nav-button .icon{width:18px;height:18px;margin-bottom:5px}.nav-history-count{position:absolute;top:16px;right:0;font-size:8px;width:14px;height:14px;min-width:14px}.nav-button.is-active::after{height:2px}.hero{display:block;min-height:349px;padding:36px 0 26px}.hero-copy{max-width:65%;pointer-events:none}.hero-eyebrow{font-size:8px;letter-spacing:1.5px;gap:7px}.tiny-diamond{width:5px;height:5px}h1{font-size:45px;letter-spacing:-2.9px;line-height:1.32;margin:18px 0 16px}.hero-description{font-size:9px;letter-spacing:.05px;line-height:2.1;white-space:nowrap}.hero-note{font-size:5px;letter-spacing:.15px;margin-top:22px;gap:6px;white-space:nowrap}.note-rule{width:13px}.hero-visual{position:absolute;z-index:1;left:47%;right:0;top:31px;bottom:19px;margin:0;overflow:visible;pointer-events:none}.hero-ball{width:235px;height:235px;top:9px;right:-31px;opacity:.85}.hero-orbit{width:215px;height:215px;top:19px;right:-21px}.hero-gengar{width:139px;height:139px;left:-7px;top:102px;transform:rotate(-10deg)}.hero-pikachu{width:154px;height:154px;right:-21px;top:27px;transform:rotate(11deg)}.hero-cross-one{left:40px;top:14px;font-size:15px}.hero-cross-two{right:6px;bottom:20px;font-size:15px}.hero-visual-label{font-size:5px;letter-spacing:.5px;gap:5px;right:0;bottom:5px;white-space:nowrap}.live-square{width:3px;height:3px}.hero-visual-index{font-size:6px;right:-5px;top:22px;letter-spacing:1px}.search-section{padding-bottom:28px}.search-topline{margin-bottom:10px}.search-topline>.eyebrow{font-size:8px;letter-spacing:1.4px}.search-topline>span{font-size:7px;letter-spacing:0}.search-form{height:63px;border-radius:8px}.search-input-icon{width:19px!important;height:19px!important;margin-left:15px;margin-right:10px}#pokemon-search{font-size:12px;padding:19px 2px 19px 0;letter-spacing:0}#pokemon-search::placeholder{font-size:10px;letter-spacing:0}.search-submit{min-width:46px;width:46px;padding:0;gap:0;margin:6px;border-radius:4px}.search-submit>span{display:none}.search-submit .icon{width:20px;height:20px}.clear-search{width:26px;height:44px}.clear-search .icon{width:13px;height:13px}.quick-search{align-items:flex-start;gap:10px;margin-top:12px}.quick-label{font-size:8px;padding-top:6px}.quick-tags{gap:5px}.quick-tags button{font-size:8px;min-height:27px;gap:8px;padding:3px 7px}.quick-tags button span{font-size:10px}.search-suggestions{max-height:315px}.suggestion-item,.suggestion,.search-suggestion{padding:7px 8px;gap:8px;min-height:64px}.suggestion-item img,.suggestion img,.search-suggestion img{width:43px;height:43px}.suggestion-item strong,.suggestion strong,.search-suggestion strong{font-size:11px}.suggestion-types .type-badge{font-size:8px;padding:3px 5px;min-width:0}.content-section{margin-bottom:30px}.section-heading{padding:19px 0 15px;gap:9px}.section-title-group{gap:8px}.section-index{font-size:8px;margin-right:0}.section-title-group h2{font-size:15px;letter-spacing:.3px}.section-en{font-size:7px;letter-spacing:1.1px;margin-left:2px;padding-top:2px}.section-caption{font-size:7px;gap:6px}.small-crosshair{width:8px;height:8px}.small-crosshair::before{width:12px;top:2.5px}.small-crosshair::after{height:12px;left:2.5px}.detail-layout{grid-template-columns:1fr;border-radius:10px}.pokemon-profile{display:grid;grid-template-columns:1fr 154px;grid-template-rows:auto 1fr auto;min-height:226px;padding:21px 20px 20px;border-right:0;border-bottom:1px solid var(--line)}.profile-top{grid-column:1;grid-row:1;align-self:start}.dex-number{font-size:9px;letter-spacing:1px}.profile-name{font-size:24px;margin-top:6px;letter-spacing:1px}.profile-en{font-size:9px;margin-top:4px}.artwork-stage{position:absolute;grid-column:2;right:0;top:-7px;bottom:0;width:185px;min-height:0;margin:0;overflow:hidden}.artwork-stage::before{width:153px;height:153px;top:35px;left:50%}.artwork-stage::after{width:153px;left:calc(50% - 76px);top:111px}.pokemon-art{width:187px;height:187px;margin-top:6px;max-width:none;align-self:center}.profile-types{grid-column:1;grid-row:2;align-self:start;justify-content:flex-start;margin:15px 0 13px;gap:5px}.profile-types .type-badge{font-size:9px;height:21px;min-width:50px;padding-inline:7px}.profile-facts{position:relative;z-index:3;grid-column:1;grid-row:3;display:flex;gap:18px;margin:0;padding-top:0;border:0;align-self:end}.profile-facts>div{gap:3px}.profile-facts dt,.profile-facts span{font-size:8px}.profile-facts dd,.profile-facts strong{font-size:10px}.profile-classification,.profile-category{font-size:9px}.battle-panel{padding:22px 19px 20px}.battle-heading{margin-bottom:17px}.battle-heading h3{font-size:14px;letter-spacing:.5px}.battle-heading p{font-size:8px;margin-top:6px}.battle-heading>span,.battle-kicker,.battle-heading small{font-size:7px;letter-spacing:1px}.weakness-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:20px}.matchup-card{min-height:102px;gap:9px;border-radius:6px;padding:12px 6px 10px}.matchup-type{font-size:9px}.multiplier{font-size:29px}.multiplier-label{font-size:7px}.resistance-row{grid-template-columns:35px minmax(0,1fr);gap:9px;margin-top:10px}.resistance-row>span,.resistance-row>h4,.resistance-label{font-size:8px}.resistance-tags{gap:4px}.resistance-tags .type-badge{font-size:8px;height:21px;padding:3px 6px}.resistance-tags .type-badge small{font-size:7px}.battle-lower,.detail-columns,.analysis-columns{grid-template-columns:1fr;gap:20px;margin-top:20px;padding-top:19px}.stats-block h3,.stats-block h4,.ability-block h3,.ability-block h4,.stats-heading{font-size:11px}.stats-grid{grid-template-columns:1fr;gap:8px}.stat-row{grid-template-columns:47px 22px minmax(0,1fr);gap:9px;font-size:9px}.stat-name{font-size:9px}.stat-value{font-size:10px}.stat-track{height:5px}.ability-block{padding-top:18px}.ability-item{width:calc(50% - 9px);margin-right:9px}.ability-item strong,.ability-name{font-size:10px}.ability-item p,.ability-description{font-size:9px;line-height:1.9}.flavor-text,.pokemon-description{font-size:10px;line-height:2}.matchup-note,.type-note,.battle-note{font-size:8px}.dex-toolbar{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:17px}.dex-description{font-size:9px}.filter-group{width:100%;gap:7px}.select-wrap{flex:1;min-width:0}.select-wrap select{height:39px;font-size:10px;padding-left:11px}.result-count{font-size:9px}.pokemon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pokemon-card,.dex-card{min-height:176px;padding:11px 9px 10px;border-radius:7px}.card-number,.card-id,.pokemon-card>.dex-number{font-size:8px;letter-spacing:.3px}.card-image{height:86px;margin:1px 0 3px}.card-image img{height:86px;width:86px}.pokemon-card>img,.dex-card>img{height:86px;width:86px;margin:1px 0 3px}.card-name{font-size:10px;letter-spacing:0;white-space:nowrap}.card-en{font-size:7px;margin-top:3px}.card-types{margin-top:9px;gap:3px}.card-types .type-badge{height:17px;padding:2px 4px;font-size:6px;letter-spacing:0;border-radius:3px}.card-arrow{display:none}.pokemon-card.is-selected::after,.dex-card.is-selected::after{width:4px;height:4px;right:9px;top:11px}.load-more-wrap{margin-top:19px}.load-more{min-height:44px;min-width:170px;font-size:10px}.history-section{margin-bottom:35px}.clear-history{font-size:8px;gap:4px;min-height:28px}.clear-history .icon{width:12px;height:12px}.history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.history-select{gap:7px;min-height:71px;padding:9px 22px 9px 6px}.history-select img{width:42px;height:42px}.history-select strong,.history-name{font-size:10px}.history-select small,.history-date,.history-number{font-size:8px}.history-remove{right:2px;top:2px;width:26px;height:26px}.history-remove .icon,.history-remove svg{width:12px;height:12px}.empty-state{min-height:130px}.empty-state p{font-size:10px}.empty-state span{font-size:8px}.footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-block:24px;min-height:0}.footer-brand{gap:7px}.footer-brand span{font-size:19px}.footer-brand svg{width:21px;height:21px}.footer-inner>p{font-size:7px;max-width:none;line-height:1.8}.footer-links{flex-direction:row;flex-wrap:wrap;align-items:center;gap:7px 15px;font-size:7px}.footer-links a{font-size:7px}.reset-dialog{padding:26px 23px;max-width:370px}.reset-dialog h2{font-size:16px}.dialog-description{font-size:10px}.dialog-actions>button{min-height:44px}.toast{bottom:18px;font-size:10px;padding:11px 17px}.detail-loading{min-height:480px;flex-direction:column;font-size:11px}}
@media(max-width:380px){.page-width{width:calc(100% - 32px)}.brand-copy strong{font-size:22px}.brand-ball{width:28px;height:28px}.main-nav{gap:13px}.nav-button{font-size:7px}.hero{min-height:334px}.hero-copy{max-width:68%}h1{font-size:41px;letter-spacing:-2.7px}.hero-description{font-size:8px}.hero-visual{left:49%;top:34px}.hero-pikachu{width:138px;height:138px;right:-15px}.hero-gengar{width:126px;height:126px;left:-9px;top:105px}.hero-ball{width:211px;height:211px;right:-25px;top:14px}.hero-orbit{width:194px;height:194px;right:-17px;top:23px}.hero-note{font-size:4px;letter-spacing:.2px}.hero-visual-label{font-size:4px;letter-spacing:.4px}.search-topline>span{font-size:6px}.quick-label{font-size:7px}.quick-search{gap:8px}.quick-tags button{font-size:7px;padding-inline:6px;gap:5px}.section-en{font-size:6px;letter-spacing:.7px}.section-caption{font-size:6px}.section-title-group h2{font-size:14px}.pokemon-profile{padding-inline:17px}.profile-name{font-size:22px}.artwork-stage{right:-9px;width:181px}.pokemon-art{width:181px;height:181px}.profile-facts{gap:13px}.battle-panel{padding-inline:16px}.pokemon-grid{gap:6px}.pokemon-card,.dex-card{padding-inline:8px;min-height:169px}.card-image,.card-image img,.pokemon-card>img,.dex-card>img{height:81px}.card-name{font-size:9px}.card-types{gap:2px}.card-types .type-badge{font-size:6px;padding-inline:3px}.history-select{gap:4px}.history-select img{width:37px;height:37px}.history-select strong{font-size:9px}.history-select small{font-size:7px}}
@media(max-width:900px) and (min-width:681px){.profile-facts{grid-template-columns:1fr 1fr;gap:11px}.profile-facts>div:first-child{grid-column:1/-1}.ability-block{padding-top:0;border:0}.profile-footnote{font-size:5px;letter-spacing:.5px}.pokemon-description{font-size:9px}.ability-chip{font-size:8px}.stats-grid{grid-template-columns:1fr}.stats-note{flex-wrap:wrap}.stats-note>span{width:100%;margin:0}.battle-heading{align-items:flex-start}}
@media(max-width:680px){.hero{overflow:hidden}.pokemon-profile{grid-template-columns:minmax(0,1fr) 143px;grid-template-rows:repeat(6,auto);align-content:start;min-height:0;padding:20px}.profile-top{grid-column:1/-1;grid-row:1;min-height:17px;align-self:start}.profile-generation{font-size:7px;position:relative;z-index:5}.profile-name{grid-column:1;grid-row:2;margin:7px 0 0;align-self:start;font-size:24px}.profile-en{grid-column:1;grid-row:3;margin:3px 0 0;align-self:start}.artwork-stage{grid-column:auto;position:absolute;width:173px;height:173px;right:6px;top:27px;bottom:auto}.artwork-stage::before{width:146px;height:146px;top:16px}.artwork-stage::after{width:146px;left:calc(50% - 73px);top:88px}.pokemon-art{width:173px;height:173px;margin:0}.artwork-cross.cross-one{top:20px;left:13px;font-size:12px}.artwork-cross.cross-two{bottom:14px;right:10px;font-size:12px}.profile-types{grid-column:1;grid-row:4;margin:14px 0 0;align-self:start}.profile-facts{grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;margin:29px 0 0;padding:14px 0 0;border-top:0;align-self:start}.profile-facts dd{font-size:11px}.profile-facts dd small{font-size:9px}.form-label{grid-column:1/-1;grid-row:6;margin:15px 0 0;padding:0;border:0;display:grid;grid-template-columns:93px minmax(0,1fr);align-items:center;gap:8px;font-size:8px}.form-label select{height:32px;font-size:9px}.profile-footnote{grid-column:1/-1;grid-row:6;font-size:6px;margin-top:16px;letter-spacing:.8px}.battle-heading{margin-bottom:15px}.section-eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:6px}.battle-intro{font-size:8px;margin:-4px 0 15px}.battle-label{font-size:8px!important;padding:3px 7px}.resistance-row{grid-template-columns:54px minmax(0,1fr);gap:7px}.resistance-item{font-size:8px;padding:3px 5px;min-height:23px}.resistance-item b{font-size:7px;margin-left:1px}.resistance-item .type-icon{width:9px;height:9px}.matchup-note{font-size:7px;gap:5px;margin-top:14px;line-height:1.9}.matchup-note svg{width:11px;height:11px;margin-top:2px}.detail-tabs{gap:25px;margin-top:18px}.detail-tabs button{font-size:10px;min-height:40px;padding-bottom:10px}.detail-tabs button>span{font-size:7px}.pokemon-description{font-size:10px;line-height:2;margin-top:14px;min-height:0}.ability-block{display:flex;gap:13px;padding:0;border:0;margin-top:15px}.ability-label{font-size:8px;padding-top:4px}.ability-chip{font-size:8px;padding:4px 7px}.ability-chip small{font-size:6px;padding-left:4px}.stats-grid{margin-top:17px}.stats-note{flex-wrap:wrap;gap:7px;margin-top:14px;font-size:8px}.stats-note>span{width:100%;margin:0;font-size:7px}.history-empty{min-height:130px}.history-empty p{font-size:10px}.history-empty small{font-size:8px}.history-form{font-size:7px}.suggestion-number{font-size:8px!important}.suggestion-item>svg{width:13px;height:13px}.card-top>svg{width:10px;height:10px}.card-types .type-icon{width:8px;height:8px}.pokemon-grid .empty-state{gap:9px}.pokemon-grid .empty-state strong{font-size:12px}.pokemon-grid .empty-state .secondary-button{font-size:9px}}
@media(max-width:380px){.pokemon-profile{padding:19px 17px;grid-template-columns:minmax(0,1fr) 125px}.profile-name{font-size:22px}.artwork-stage{width:160px;height:160px;right:1px;top:30px}.pokemon-art{width:160px;height:160px}.artwork-stage::before{width:136px;height:136px;top:13px}.artwork-stage::after{width:136px;left:calc(50% - 68px);top:80px}.profile-facts{margin-top:26px}.profile-facts dd{font-size:10px}.form-label{grid-template-columns:86px minmax(0,1fr)}.ability-chip{font-size:7px}}
/* Keep the working controls and type labels comfortable on a phone. */
@media(max-width:680px){
  h1{font-size:clamp(34px,10.25vw,45px);letter-spacing:-2.5px}
  #pokemon-search{font-size:16px}
  #pokemon-search::placeholder{font-size:11px}
  .hero-description{font-size:11px;white-space:normal;max-width:235px}
  .hero-note{font-size:6px}
  .quick-label{font-size:10px;padding-top:9px}
  .quick-tags button{font-size:10px;min-height:36px;padding-inline:10px}
  .pokemon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pokemon-card,.dex-card{min-height:221px;padding:13px 12px}
  .pokemon-card>img,.dex-card>img,.card-image,.card-image img{width:120px;height:120px;margin-inline:auto}
  .card-name{font-size:13px}
  .card-en{font-size:9px}
  .card-types .type-badge{font-size:9px;min-height:23px;padding:3px 5px}
  .card-types .type-icon{width:10px;height:10px}
  .card-number{font-size:10px}
  .pokemon-description{font-size:12px;line-height:1.95}
  .matchup-type{font-size:11px}
  .multiplier-label{font-size:8px}
  .resistance-item{font-size:10px;min-height:28px}
  .resistance-item b{font-size:9px}
  .resistance-label{font-size:10px}
  .matchup-note{font-size:9px}
  .form-label select{min-height:44px;font-size:12px}
  .select-wrap select{min-height:44px;font-size:13px}
  .detail-tabs button{font-size:12px;min-height:46px}
  .ability-chip{font-size:10px}
  .ability-label{font-size:10px}
  .history-select{min-height:82px}
  .history-select strong{font-size:12px}
  .history-remove{width:36px;height:36px}
  .clear-history{min-height:44px;font-size:10px}
  .history-form{font-size:9px}
  .profile-facts dd{font-size:12px}
  .profile-facts dt{font-size:10px}
}
/* The opponent board keeps all six slots in the visible battle field. */
.open-team-button{display:flex;align-items:center;gap:10px;width:100%;min-height:45px;margin-top:19px;padding:10px 14px;border:1px solid #4c4b40;border-radius:6px;background:#242520;color:#c4c8b8;font-size:11px;text-align:left}.open-team-button:hover{border-color:#8d785c;background:#2b2b23}.open-team-button>.icon:first-child{color:var(--accent);width:18px;height:18px}.open-team-button>.icon:last-child{margin-left:auto;width:17px;height:17px}.add-to-team{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:35px;padding:7px 11px;border:1px solid #6c5142;border-radius:5px;background:#302821;color:#e4b99b;font-size:10px;font-weight:600;white-space:nowrap}.add-to-team:hover{border-color:var(--accent);color:#f4d4bd}.add-to-team:disabled{color:var(--muted);border-color:var(--line);background:transparent;opacity:.7}
body.team-mode{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}body.team-mode .site-header{flex:none}body.team-mode>.site-footer{display:none}body.team-mode>main{flex:1;min-height:0;display:flex;width:calc(100% - 64px);max-width:920px}body.team-mode main>.hero,body.team-mode main>.search-section,body.team-mode main>.detail-section,body.team-mode main>.dex-section,body.team-mode main>.history-section{display:none}.team-section{width:100%;height:100%;min-height:0}.team-shell{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;padding:18px 0 12px}.team-toolbar{display:flex;flex:none;align-items:center;justify-content:space-between;min-height:43px;gap:15px}.team-title-group{display:flex;align-items:center;gap:11px;min-width:0}.team-title-group h1{margin:0;color:var(--ink);font-size:22px;font-weight:700;letter-spacing:.8px;line-height:1.3;white-space:nowrap}.team-count{align-self:center;padding:3px 8px;border:1px solid #494739;border-radius:4px;background:#29291f;color:#d1c699;font:12px/1.3 var(--mono);white-space:nowrap}.team-actions{display:flex;align-items:center;gap:20px;flex:none}.team-back{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0;background:none;color:var(--muted);font-size:11px}.team-back:hover{color:var(--ink)}.team-back .icon{width:15px;height:15px;transform:rotate(180deg)}.team-actions>.text-button{min-height:38px;font-size:10px}.team-actions>.text-button .icon{width:14px;height:14px}.team-search-wrap{position:relative;z-index:8;flex:none}.team-search-form{display:flex;align-items:center;height:50px;border:1px solid #55574e;border-radius:7px;background:#202222;overflow:hidden}.team-search-form:focus-within{border-color:var(--accent)}.team-search-form>.icon{width:19px;height:19px;margin:0 13px 0 16px;color:#a0a697}.team-search-form input{width:100%;min-width:0;flex:1;height:100%;padding:0 7px 0 0;border:0;outline:none;background:none;color:var(--ink);font-size:16px;appearance:none}.team-search-form input::placeholder{color:#92978b;font-size:12px}.team-search-form input::-webkit-search-cancel-button{cursor:pointer}.team-search-form>button{align-self:stretch;display:grid;place-items:center;flex:none;width:45px;margin:5px;border-radius:4px;background:var(--accent);color:#fff3e8}.team-search-form>button:hover{background:var(--accent-hover)}.team-search-form>button .icon{width:20px;height:20px}.team-suggestions{max-height:min(340px,50dvh);top:calc(100% + 5px)}.team-column-head{display:flex;align-items:center;gap:15px;flex:none;min-height:16px;padding:0 13px;color:var(--subtle);font-size:9px;line-height:1.3}.team-column-head>span:first-child{width:185px;font:9px var(--mono);letter-spacing:1.4px}.team-column-head>span:nth-child(2){color:#a0a493}.team-column-head>button{margin-left:auto;padding:0;background:none;color:#b3ae92;font-size:10px;line-height:1.4;white-space:nowrap}.team-column-head>button:hover{color:var(--ink)}.team-column-head>button span{margin-left:4px;color:var(--accent)}.team-list{display:grid;grid-template-rows:repeat(6,minmax(0,1fr));gap:8px;flex:1;min-height:0}.team-row,.team-slot{display:grid;grid-template-columns:185px minmax(0,1fr) 34px;align-items:center;gap:15px;position:relative;min-width:0;min-height:0;padding:8px 12px;border:1px solid #3e4138;border-radius:7px;background:#222521;overflow:hidden}.team-row::before{position:absolute;inset:10px auto 10px 0;width:2px;background:#8f9b75;content:""}.team-pokemon{display:flex;align-items:center;gap:10px;min-width:0;min-height:0;height:100%;padding:0;background:transparent;text-align:left}.team-pokemon:hover .team-name{color:#f2ba95}.team-sprite,.team-pokemon>img{flex:none;width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 3px 4px rgb(0 0 0 / .18))}.team-pokemon-copy,.team-pokemon>span{display:flex;flex-direction:column;gap:3px;min-width:0}.team-name,.team-pokemon strong{display:block;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-form,.team-pokemon small{display:block;color:#949c88;font-size:9px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-weaknesses{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:5px;min-width:0;min-height:0}.team-weakness{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:26px;min-width:0;padding:3px 7px;border:1px solid color-mix(in srgb,var(--type-color,#b6b9a8) 40%,transparent);border-radius:4px;background:color-mix(in srgb,var(--type-color,#b6b9a8) 9%,#222521);color:var(--type-color,#b6b9a8);font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.team-weakness .type-icon{width:12px;height:12px;flex:none}.team-weakness b{margin-left:1px;font:600 12px/1 var(--mono);letter-spacing:-.5px;color:var(--ink)}.team-weakness[data-multiplier="4"],.team-weakness.is-critical{background:color-mix(in srgb,var(--type-color,#d0a56e) 19%,#222521);border-color:color-mix(in srgb,var(--type-color,#d0a56e) 65%,transparent)}.team-weakness[data-multiplier="4"] b,.team-weakness.is-critical b{color:#ffd7a1}.team-no-weakness{color:#b8c1a5;font-size:11px}.team-remove{display:grid;place-items:center;align-self:stretch;min-width:0;min-height:0;width:34px;padding:0;border-radius:4px;background:none;color:#838d77}.team-remove:hover{background:#372c26;color:var(--accent)}.team-remove .icon,.team-remove svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.team-slot-empty{border:1px dashed #353b30;background:rgb(31 34 30 / .55);color:#65715b}.team-slot-empty::before{display:none}.team-slot-empty .team-slot-number{padding-left:11px;font:22px var(--display);letter-spacing:1px;color:#59634f}.team-slot-empty .team-slot-label{font-size:10px;color:#707c64}.team-slot-empty .team-slot-label>span{color:#555f4d}.team-slot-empty .team-slot-plus{justify-self:center;font:20px var(--mono);color:#4c5743}.team-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px;flex:none}.team-bottom>p{margin:0;color:#7c8572;font-size:9px;line-height:1.5}.team-message{font-size:10px;line-height:1.4;color:#c7bc91;text-align:right}.team-message:empty{display:none}.team-mode .toast{max-width:calc(100% - 32px);bottom:12px}
@media(max-width:680px){
  .open-team-button{margin-top:15px;font-size:11px;min-height:44px;padding-inline:11px}
  .add-to-team{font-size:9px;min-height:34px;padding:5px 8px;gap:3px}
  .detail-section-heading .section-en{display:none}
  body.team-mode .header-inner{height:64px}
  body.team-mode .nav-history-count{top:8px}
  body.team-mode>main{width:calc(100% - 24px)}
  .team-shell{padding:9px 0 max(6px,env(safe-area-inset-bottom));gap:8px}
  .team-toolbar{min-height:40px;gap:8px}
  .team-title-group{gap:7px}
  .team-title-group h1{font-size:17px;letter-spacing:.3px}
  .team-title-group .tiny-diamond{width:5px;height:5px}
  .team-count{font-size:11px;padding:3px 6px}
  .team-actions{gap:11px}
  .team-back{font-size:10px;gap:4px;min-height:38px}
  .team-back .icon{width:13px;height:13px}
  .team-actions>.text-button{font-size:9px;gap:4px;min-height:38px}
  .team-actions>.text-button .icon{width:12px;height:12px}
  .team-search-form{height:46px;border-radius:6px}
  .team-search-form>.icon{width:17px;height:17px;margin:0 9px 0 12px}
  .team-search-form input::placeholder{font-size:11px}
  .team-search-form>button{width:38px;margin:4px}
  .team-search-form>button .icon{width:18px;height:18px}
  .team-column-head{padding:0 7px;gap:8px;min-height:13px;font-size:8px}
  .team-column-head>span:first-child{width:108px;font-size:8px;letter-spacing:.7px}
  .team-column-head>button{font-size:8px}
  .team-column-head>button span{margin-left:1px}
  .team-list{gap:5px}
  .team-row,.team-slot{grid-template-columns:108px minmax(0,1fr) 26px;gap:7px;padding:4px 6px;border-radius:5px}
  .team-row::before{inset-block:9px}
  .team-pokemon{gap:5px}
  .team-sprite,.team-pokemon>img{width:36px;height:36px}
  .team-pokemon-copy,.team-pokemon>span{gap:2px}
  .team-name,.team-pokemon strong{font-size:11px;letter-spacing:0}
  .team-form,.team-pokemon small{font-size:8px}
  .team-weaknesses{gap:3px}
  .team-weakness{height:18px;padding:2px 4px;gap:3px;border-radius:3px;font-size:9.5px;font-weight:500}
  .team-weakness .type-icon{display:none}
  .team-weakness b{font-size:10px;letter-spacing:-.6px;margin-left:0}
  .team-remove{width:26px;min-height:36px}
  .team-remove .icon,.team-remove svg{width:13px;height:13px}
  .team-no-weakness{font-size:9px}
  .team-slot-empty .team-slot-number{font-size:20px;padding-left:10px}
  .team-slot-empty .team-slot-label{font-size:9px}
  .team-slot-empty .team-slot-plus{font-size:18px}
  .team-bottom{min-height:18px;gap:4px}
  .team-bottom>p{font-size:8px;line-height:1.3}
  .team-message{position:absolute;bottom:calc(100% + 10px);right:6px;max-width:calc(100% - 12px);padding:7px 10px;border:1px solid #5e5740;border-radius:4px;background:#2e3025;box-shadow:0 5px 20px #0005;font-size:10px;pointer-events:none}
}
@media(max-width:380px){
  .team-title-group h1{font-size:15px}
  .team-title-group{gap:5px}
  .team-count{font-size:10px;padding-inline:5px}
  .team-actions{gap:8px}
  .team-back{font-size:9px}
  .team-actions>.text-button{font-size:8px}
  .team-row,.team-slot{grid-template-columns:96px minmax(0,1fr) 23px;gap:5px;padding-inline:5px}
  .team-column-head{gap:5px;padding-inline:6px}
  .team-column-head>span:first-child{width:96px}
  .team-column-head>span:nth-child(2){font-size:7px}
  .team-column-head>button{font-size:7px}
  .team-pokemon{gap:3px}
  .team-sprite,.team-pokemon>img{width:30px;height:30px}
  .team-name,.team-pokemon strong{font-size:10px}
  .team-form,.team-pokemon small{font-size:7px}
  .team-weakness{font-size:9px;padding-inline:3px;gap:2px;height:17px}
  .team-weakness b{font-size:9px}
  .team-remove{width:23px}
}
@media(max-width:680px) and (max-height:700px){
  .team-shell{padding-top:5px;padding-bottom:max(4px,env(safe-area-inset-bottom));gap:6px}
  .team-toolbar{min-height:36px}
  .team-search-form{height:42px}
  .team-column-head{min-height:10px}
  .team-list{gap:4px}
  .team-row,.team-slot{padding-block:3px}
  .team-weaknesses{gap:2px}
  .team-weakness{height:15px;font-size:9px;padding:1px 3px}
  .team-weakness b{font-size:9px}
  .team-bottom{min-height:16px}
  .team-bottom>p{font-size:7px}
}
@media(max-width:360px){
  .team-row,.team-slot{grid-template-columns:84px minmax(0,1fr) 20px}
  .team-column-head>span:first-child{width:84px}
  .team-sprite,.team-pokemon>img{width:26px;height:26px}
  .team-name,.team-pokemon strong{display:-webkit-box;white-space:normal;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:10px;line-height:1.3}
  .team-remove{width:20px}
}
/* A shared battle board, with separate teams and quieter defensive matchups. */
.team-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #484a40;border-radius:6px;background:#171b18}
.team-switch button{min-height:33px;padding:5px 12px;border-radius:3px;background:none;color:#9a9f92;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}
.team-switch button[aria-selected="true"]{background:#3b3327;color:#f1d3ae;box-shadow:inset 0 0 0 1px #6d5941}
.team-switch button:hover{color:var(--ink)}
.team-switch button:focus-visible{outline-offset:1px}
.team-weakness .type-short{display:none}
.team-matchups{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:0}
.team-secondary-row{display:grid;grid-template-columns:59px minmax(0,1fr);align-items:start;gap:5px;min-width:0;color:#919b89;font-size:9px;line-height:1.5}
.team-secondary-label{padding-top:1px;white-space:nowrap;color:#9da692;letter-spacing:.1px}
.team-secondary-types{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;min-width:0}
.team-resistance{display:inline-flex;align-items:center;gap:3px;min-width:0;color:color-mix(in srgb,var(--type-color,#b6b9a8) 72%,#b7bfaa);font-size:9px;line-height:1.5;white-space:nowrap}
.team-resistance b{color:#a9b39e;font:500 9px/1.5 var(--mono);letter-spacing:-.2px}
.team-resistance .type-short{display:none}
.team-secondary-empty{color:#68735f;font:10px/1.5 var(--mono)}
.team-secondary-row[data-matchup-group="immunity"] .team-secondary-label{color:#8b9887}
.team-secondary-row[data-matchup-group="immunity"] .team-resistance b{color:#c2cdb7}
@media(max-width:680px){
  .team-toolbar{gap:6px}
  .team-title-group{gap:7px}
  .team-switch{gap:2px;padding:2px;border-radius:5px}
  .team-switch button{min-height:31px;padding:4px 8px;font-size:10px}
  .team-actions{gap:6px}
  .team-back,.team-actions>.text-button{justify-content:center;min-width:30px;min-height:36px}
  .team-actions .team-back>span,.team-actions>.text-button>span{display:none}
  .team-actions .team-back .icon,.team-actions>.text-button .icon{width:16px;height:16px}
  .team-count{font-size:10px;padding:3px 5px}
  .team-column-head{padding-inline:7px;gap:7px}
  .team-column-head>span:first-child{width:64px;flex:none;font-size:7px;letter-spacing:.3px}
  .team-column-head>span:nth-child(2){font-size:8px}
  .team-column-head>button{font-size:8px}
  .team-row,.team-slot{grid-template-columns:64px minmax(0,1fr) 24px;column-gap:7px;padding:5px 6px}
  .team-pokemon{flex-direction:column;justify-content:center;gap:1px;text-align:center}
  .team-sprite,.team-pokemon>img{width:34px;height:34px}
  .team-pokemon-copy,.team-pokemon>span{max-width:100%;gap:0}
  .team-name,.team-pokemon strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;overflow:hidden;white-space:normal;font-size:10px;line-height:1.25}
  .team-form,.team-pokemon small{display:none}
  .team-matchups{gap:4px}
  .team-weaknesses{gap:3px}
  .team-weakness{height:18px;padding:2px 4px;font-size:9px;gap:2px}
  .team-weakness b{font-size:10px}
  .team-secondary-row{grid-template-columns:42px minmax(0,1fr);gap:3px;font-size:8px;line-height:1.2}
  .team-secondary-label{padding-top:0;font-size:8px;letter-spacing:0}
  .team-secondary-types{gap:2px 5px}
  .team-resistance{gap:2px;font-size:8px;line-height:1.2}
  .team-resistance b{font-size:8px;line-height:1.2}
  .team-resistance .type-full{display:none}
  .team-resistance .type-short{display:inline}
  .team-secondary-empty{font-size:8px;line-height:1.2}
  .team-remove{width:24px}
  .team-slot-empty .team-slot-number{padding:0;text-align:center}
}
@media(max-width:380px){
  .team-title-group{gap:5px}
  .team-switch button{min-height:29px;padding-inline:6px;font-size:9px}
  .team-actions{gap:2px}
  .team-actions .team-back,.team-actions>.text-button{min-width:27px}
  .team-row,.team-slot{grid-template-columns:56px minmax(0,1fr) 20px;column-gap:5px;padding-inline:5px}
  .team-column-head{gap:5px;padding-inline:6px}
  .team-column-head>span:first-child{width:56px}
  .team-column-head>span:nth-child(2){font-size:7px}
  .team-column-head>button{font-size:7px}
  .team-sprite,.team-pokemon>img{width:28px;height:28px}
  .team-name,.team-pokemon strong{font-size:9px}
  .team-weakness{font-size:8px;padding-inline:3px;height:17px}
  .team-weakness b{font-size:9px}
  .team-secondary-row{grid-template-columns:39px minmax(0,1fr)}
  .team-secondary-label{font-size:7.5px}
  .team-secondary-types{column-gap:4px}
  .team-remove{width:20px}
}
@media(max-width:680px) and (max-height:700px){
  body.team-mode .header-inner{height:56px}
  .team-shell{gap:5px}
  .team-toolbar{min-height:34px}
  .team-switch button{min-height:27px}
  .team-search-form{height:40px}
  .team-column-head{min-height:12px}
  .team-list{gap:4px}
  .team-row,.team-slot{padding-block:3px}
  .team-sprite,.team-pokemon>img{width:25px;height:25px}
  .team-name,.team-pokemon strong{font-size:9px;line-height:1.15}
  .team-matchups{gap:2px}
  .team-weaknesses{gap:2px}
  .team-weakness{flex:0 0 32px;width:32px;height:14px;padding:1px 3px;font-size:9px;gap:2px}
  .team-weakness b{font-size:9px}
  .team-weakness .type-full{display:none}
  .team-weakness .type-short{display:inline}
  .team-secondary-row{line-height:1.15}
  .team-secondary-label{font-size:7.5px}
  .team-secondary-types{gap:1px 4px}
  .team-resistance,.team-resistance b{font-size:7.5px;line-height:1.15}
  .team-resistance{flex:0 0 22px;width:22px;gap:1px;justify-content:flex-start}
  .team-secondary-empty{font-size:7.5px;line-height:1.15}
  .team-bottom{min-height:13px}
  .team-bottom>p{font-size:7px}
}
@media(max-width:680px) and (max-height:560px){
  body.team-mode .header-inner{height:48px}
  .team-shell{gap:4px;padding-block:3px}
  .team-search-form{height:36px}
  .team-toolbar{min-height:31px}
  .team-actions .team-back,.team-actions>.text-button{min-height:30px}
  .team-row,.team-slot{padding-block:2px}
  .team-matchups{gap:2px}
}
/* Keep each matchup inside its slot with a visible inset. Decimal values take
   more horizontal space than the former fraction glyphs. */
.team-weakness{height:22px;padding:2px 6px;font-size:10px}
.team-weakness b{font-size:10px;letter-spacing:-.3px}
.team-weakness .type-icon{width:11px;height:11px}
.team-matchups{gap:4px}
.team-secondary-row,.team-resistance,.team-resistance b,.team-secondary-empty{line-height:12px}
.team-secondary-label{padding-top:0}
.team-secondary-types{gap:2px 6px}
@media(max-width:900px){
  .team-column-head>span:first-child{width:64px}
  .team-row,.team-slot{grid-template-columns:64px minmax(0,1fr) 24px;column-gap:7px;padding:5px 6px}
  .team-pokemon{flex-direction:column;justify-content:center;gap:1px;text-align:center}
  .team-sprite,.team-pokemon>img{width:32px;height:32px}
  .team-pokemon-copy,.team-pokemon>span{max-width:100%;gap:0}
  .team-name,.team-pokemon strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:100%;overflow:hidden;white-space:normal;font-size:10px;line-height:1.2;letter-spacing:0}
  .team-form,.team-pokemon small{display:none}
  .team-weaknesses{gap:3px}
  .team-weakness{flex:0 1 auto;width:auto;height:16px;padding:1px 4px;font-size:9px;gap:2px}
  .team-weakness .type-icon,.team-weakness .type-full,.team-resistance .type-full{display:none}
  .team-weakness .type-short,.team-resistance .type-short{display:inline}
  .team-weakness b{font-size:9px;margin-left:0}
  .team-secondary-row{grid-template-columns:42px minmax(0,1fr);gap:3px;font-size:8px;line-height:10px}
  .team-secondary-label{font-size:8px;letter-spacing:0}
  .team-secondary-types{gap:2px 4px}
  .team-resistance{flex:0 1 auto;width:auto;gap:1px;font-size:8px;line-height:10px}
  .team-resistance b,.team-secondary-empty{font-size:8px;line-height:10px}
  .team-remove{width:24px}
}
@media(max-width:680px){
  body.team-mode .header-inner{height:56px}
  body.team-mode .nav-history-count{top:6px}
  .team-shell{padding:6px 0 max(5px,env(safe-area-inset-bottom));gap:6px}
  .team-toolbar{min-height:36px}
  .team-switch button{min-height:28px}
  .team-back,.team-actions>.text-button{min-height:32px}
  .team-search-form{height:42px}
  .team-search-form>button{width:36px}
  .team-column-head{min-height:12px}
  .team-matchups{gap:3px}
  .team-bottom{min-height:13px}
  .team-bottom>p{font-size:7px;line-height:10px}
}
@media(max-width:380px){
  body.team-mode>main{width:calc(100% - 20px)}
  .team-row,.team-slot{grid-template-columns:50px minmax(0,1fr) 20px;column-gap:5px;padding-inline:5px}
  .team-column-head>span:first-child{width:50px}
  .team-sprite,.team-pokemon>img{width:28px;height:28px}
  .team-name,.team-pokemon strong{font-size:9px}
  .team-weakness{padding-inline:3px}
  .team-secondary-row{grid-template-columns:39px minmax(0,1fr)}
  .team-secondary-label{font-size:7.5px}
  .team-remove{width:20px}
}
/* Height constrains a laptop board as well as a phone board. */
@media(max-height:900px) and (min-width:681px){
  body.team-mode .header-inner{height:64px}
  .team-shell{gap:6px;padding:8px 0}
  .team-toolbar{min-height:33px}
  .team-switch button{min-height:25px}
  .team-search-form{height:40px}
  .team-column-head{min-height:12px}
  .team-list{gap:5px}
  .team-row,.team-slot{padding-block:5px}
  .team-matchups{gap:3px}
  .team-weakness{height:18px;font-size:9px;padding:1px 5px;gap:3px}
  .team-weakness b{font-size:9px}
  .team-weakness .type-icon{width:10px;height:10px}
  .team-secondary-row,.team-resistance,.team-resistance b,.team-secondary-empty{font-size:8px;line-height:10px}
  .team-secondary-label{font-size:8px}
  .team-bottom{min-height:12px}
  .team-bottom>p{font-size:8px;line-height:10px}
}
@media(max-height:760px){
  body.team-mode .header-inner{height:48px}
  body.team-mode .brand-ball{width:28px;height:28px}
  body.team-mode .brand-copy strong{font-size:23px}
  body.team-mode .brand-copy>span{font-size:6px;margin-top:4px}
  body.team-mode .nav-history-count{top:4px}
  .team-shell{gap:3px;padding:3px 0 max(3px,env(safe-area-inset-bottom))}
  .team-toolbar{min-height:29px}
  .team-switch{padding:2px;gap:2px}
  .team-switch button{min-height:23px;padding-block:3px}
  .team-actions .team-back,.team-actions>.text-button{min-height:29px}
  .team-search-form{height:32px}
  .team-search-form>.icon{width:15px;height:15px}
  .team-search-form>button{width:30px;margin:3px}
  .team-search-form>button .icon{width:16px;height:16px}
  .team-column-head{min-height:10px;line-height:10px}
  .team-column-head>span:first-child,.team-column-head>button{line-height:10px}
  .team-list{gap:3px}
  .team-row,.team-slot{padding-block:2px}
  .team-row::before{inset-block:5px}
  .team-sprite,.team-pokemon>img{width:25px;height:25px}
  .team-name,.team-pokemon strong{font-size:9px;line-height:1.15}
  .team-matchups{gap:2px}
  .team-weaknesses{gap:2px}
  .team-weakness{height:clamp(13px,calc((100dvh - 410px)/12),16px);padding:1px 3px;font-size:9px;gap:1px;border-radius:3px}
  .team-weakness b{font-size:8.5px;letter-spacing:-.3px}
  .team-weakness .type-icon{display:none}
  .team-secondary-row{gap:3px;font-size:7.5px;line-height:9px}
  .team-secondary-label{font-size:7.5px;line-height:9px}
  .team-secondary-types{gap:1px 3px}
  .team-resistance{gap:1px;font-size:7.5px;line-height:9px}
  .team-resistance b{font-size:7.5px;line-height:9px;letter-spacing:-.2px}
  .team-secondary-empty{font-size:7.5px;line-height:9px}
  .team-bottom{min-height:10px}
  .team-bottom>p{font-size:7px;line-height:10px}
}
@media(max-width:900px) and (max-height:760px){
  .team-weakness{flex:0 0 30px;width:30px}
  /* Reserve room for the entire 0.25倍 value beside the type character. */
  .team-resistance{flex:0 0 35px;width:35px;justify-content:flex-start}
}
@media(max-height:560px){
  body.team-mode .header-inner{height:40px}
  body.team-mode .nav-button .icon{width:15px;height:15px;margin-bottom:2px}
  body.team-mode .nav-button{font-size:7px}
  .team-shell{padding:2px 0 max(2px,env(safe-area-inset-bottom));gap:2px}
  .team-toolbar{min-height:25px}
  .team-switch button{min-height:19px;padding-block:2px}
  .team-actions .team-back,.team-actions>.text-button{min-height:25px}
  .team-search-form{height:28px}
  .team-column-head,.team-column-head>span:first-child,.team-column-head>button{min-height:9px;line-height:9px}
  .team-list{gap:2px}
  .team-bottom{min-height:9px}
  .team-bottom>p{line-height:9px}
}
/* Readable team rows: use the available room instead of shrinking every row
   for the rare forms with the most weaknesses or resistances. */
.team-row{
  --team-name-size:16px;--team-sprite-size:60px;
  --team-weak-size:12px;--team-weak-height:26px;--team-weak-gap:4px;
  --team-secondary-size:11px;--team-secondary-line:14px;--team-secondary-label:66px;
  --team-matchup-gap:4px;
}
.team-name,.team-pokemon strong{font-size:var(--team-name-size);line-height:1.2}
.team-sprite,.team-pokemon>img{width:var(--team-sprite-size);height:var(--team-sprite-size)}
.team-form,.team-pokemon small{font-size:11px}
.team-matchups{gap:var(--team-matchup-gap)}
.team-weaknesses{gap:var(--team-weak-gap)}
.team-weakness{flex:0 1 auto;width:auto;height:var(--team-weak-height);padding:1px 5px;gap:3px;font-size:var(--team-weak-size);line-height:1}
.team-weakness b{font-size:var(--team-weak-size);line-height:1;letter-spacing:-.3px}
.team-weakness .type-icon{width:12px;height:12px}
.team-secondary-row{grid-template-columns:var(--team-secondary-label) minmax(0,1fr);gap:3px;font-size:var(--team-secondary-size);line-height:var(--team-secondary-line)}
.team-secondary-label{font-size:var(--team-secondary-size);line-height:var(--team-secondary-line);color:#b0b9a6;letter-spacing:0}
.team-secondary-types{gap:1px 4px}
.team-resistance{flex:0 1 auto;width:auto;gap:2px;font-size:var(--team-secondary-size);font-weight:500;line-height:var(--team-secondary-line)}
.team-resistance b{font-size:var(--team-secondary-size);line-height:var(--team-secondary-line);font-weight:600;letter-spacing:-.25px;color:#c0c9b4}
.team-secondary-empty{font-size:var(--team-secondary-size);line-height:var(--team-secondary-line);color:#9ca98e}
@media(max-width:900px){
  .team-row{--team-name-size:12px;--team-sprite-size:40px;--team-weak-size:11px;--team-weak-height:21px;--team-weak-gap:3px;--team-secondary-size:9.5px;--team-secondary-line:12px;--team-secondary-label:50px;--team-matchup-gap:2px}
  .team-row,.team-slot{grid-template-columns:72px minmax(0,1fr) 24px}
  .team-column-head>span:first-child{width:72px}
  .team-weakness{padding-inline:4px;gap:2px}
  .team-resistance{gap:1px}
}
@media(max-width:380px){
  .team-row,.team-slot{grid-template-columns:60px minmax(0,1fr) 20px}
  .team-column-head>span:first-child{width:60px}
}
@media(max-width:900px) and (min-height:761px){
  .team-row,.team-slot{padding-block:2px}
}
@media(max-height:760px){
  .team-row{--team-name-size:12px;--team-sprite-size:36px;--team-weak-size:11px;--team-weak-height:20px;--team-weak-gap:2px;--team-secondary-size:9px;--team-secondary-line:11px;--team-secondary-label:47px;--team-matchup-gap:2px}
}
@media(max-width:900px) and (max-height:760px){
  .team-row:is(:has(.team-weakness:nth-child(5)),:has(.team-secondary-types>.team-resistance:nth-child(8))){--team-weak-size:10px;--team-weak-height:16px;--team-weak-gap:1px;--team-secondary-size:8.5px;--team-secondary-line:10px;--team-secondary-label:44px;--team-matchup-gap:1px}
  .team-resistance{gap:1px}
  .team-secondary-types{column-gap:2px}
}
@media(max-width:380px) and (max-height:760px){
  .team-row:is(:has(.team-weakness:nth-child(5)),:has(.team-secondary-types>.team-resistance:nth-child(7))){--team-weak-size:10px;--team-weak-height:16px;--team-weak-gap:1px;--team-secondary-size:8.5px;--team-secondary-line:10px;--team-secondary-label:44px;--team-matchup-gap:1px}
}
@media(max-height:620px){
  .team-row{--team-name-size:11px;--team-sprite-size:30px;--team-weak-size:10.5px;--team-weak-height:18px;--team-secondary-size:9px;--team-secondary-line:11px;--team-secondary-label:47px}
}
@media(max-width:900px) and (max-height:620px){
  .team-row:is(:has(.team-weakness:nth-child(5)),:has(.team-secondary-types>.team-resistance:nth-child(7))){--team-weak-size:9.5px;--team-weak-height:14px;--team-weak-gap:1px;--team-secondary-size:8.5px;--team-secondary-line:9.5px;--team-secondary-label:44px;--team-matchup-gap:1px}
  .team-weakness{padding-inline:3px;gap:1px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.pokemon-card:hover,.dex-card:hover,.pokemon-profile:hover .pokemon-art{transform:none}}
