:root{--bg:#eeeadb;--shell-line:#d9d4bd;--border:#c7c1a4;--screen:#c7d98a;--screen-deep:#b3c76c;--text-h:#232017;--text:#6b6a53;--accent:#d1495b;--accent-ink:#fff6ee;--card-bg:#f7f5ea;--font-display:"Chakra Petch", system-ui, sans-serif;--font-mono:"VT323", ui-monospace, monospace;--font-body:"Sora", system-ui, sans-serif;font:16px/1.5 var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15171a;--shell-line:#23251f;--border:#2a2d29;--screen:#1f2a17;--screen-deep:#17200f;--text-h:#e9e7da;--text:#8f9382;--accent:#ff6b52;--accent-ink:#1a0e0a;--card-bg:#1a1c16}}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--text-h);text-wrap:balance;font-weight:600}a{color:inherit;text-decoration:none}.status-message{text-align:center;font-size:18px;font-family:var(--font-mono);margin-top:80px}.top-nav{border-bottom:3px solid var(--shell-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;max-width:1200px;margin:0 auto;padding:20px 20px 16px;display:flex}.top-nav-links{align-items:center;gap:18px;display:flex}.top-nav-tagline{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text);font-size:16px}.top-nav-brand{font-family:var(--font-display);color:var(--text-h);align-items:baseline;gap:10px;font-size:22px;font-weight:700;display:flex}.top-nav-brand:before{content:"";background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:50%;flex-shrink:0}.top-nav-cta{font-family:var(--font-display);color:var(--accent-ink);background:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex;box-shadow:0 2px #0000001f}.top-nav-cta:after{content:"→"}.top-nav-cta:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 4px #00000024}.top-nav-cta.active{filter:brightness(.92);transform:none;box-shadow:inset 0 2px 4px #0003}.top-nav-link{font-family:var(--font-display);color:var(--text-h);border-bottom:2px solid #0000;padding:6px 2px;font-size:14px;font-weight:600}.top-nav-link:hover,.top-nav-link.active{border-bottom-color:var(--accent)}.screen{background:var(--screen);box-shadow:inset 0 2px 10px #0000002e, inset 0 0 0 3px var(--screen-deep);border-radius:18px;padding:18px}.home-page{max-width:1200px;margin:0 auto;padding:24px 20px 60px}.home-page>h1{text-align:center;margin:8px 0 20px;font-size:36px}.filter-bar{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:6px;display:flex}.filter-bar select,.filter-bar .search-input{font-family:var(--font-body);border:2px solid var(--shell-line);background:var(--card-bg);color:var(--text-h);border-radius:10px;padding:9px 14px;font-size:14px}.search-input{min-width:220px}.result-count{text-align:center;color:var(--text);font-family:var(--font-mono);margin:10px 0 14px;font-size:15px}.pokemon-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.pokemon-card{background:var(--card-bg);border:2px solid var(--shell-line);text-align:center;border-radius:12px;flex-direction:column;align-items:center;padding:16px 10px 12px;transition:transform .15s,border-color .15s;display:flex;position:relative}.pokemon-card:hover{border-color:var(--accent);transform:translateY(-3px)}.pokemon-card img{object-fit:contain;width:96px;height:96px}.pokemon-card h3{text-transform:capitalize;margin:6px 0 8px;font-size:15px}.pokemon-card-id{font-family:var(--font-mono);color:var(--text);align-self:flex-start;font-size:15px}.pokemon-card-gen{font-family:var(--font-mono);color:var(--text);margin-top:8px;font-size:13px}.type-badge-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.type-badge{color:#fff;text-transform:capitalize;text-shadow:0 1px 1px #00000040;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.rarity-badge{font-family:var(--font-body);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.rarity-common{color:#333;background:#d9d9c9}.rarity-legendary{color:#4a2f00;background:linear-gradient(135deg,#f7d774,#f0a500)}.detail-page{max-width:800px;margin:0 auto;padding:24px 20px 60px}.back-link{font-family:var(--font-mono);color:var(--text-h);opacity:.85;margin-bottom:16px;font-size:17px;display:inline-block}.back-link:hover{color:var(--accent);opacity:1}.detail-header{background:var(--card-bg);border:2px solid var(--shell-line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:28px;padding:24px;display:flex}.detail-image{object-fit:contain;flex-shrink:0;width:200px;height:200px;margin:0 auto}.detail-info{flex:1;min-width:220px}.detail-id{font-family:var(--font-mono);color:var(--text);font-size:16px}.detail-name-row{align-items:center;gap:14px;margin:2px 0 12px;display:flex}.detail-info h1{text-transform:capitalize;margin:0;font-size:30px}.cry-button{font-family:var(--font-body);color:var(--accent-ink);background:var(--accent);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.cry-button:hover{opacity:.9}.detail-facts{font-family:var(--font-mono);grid-template-columns:auto 1fr;gap:6px 16px;margin-top:18px;font-size:16px;display:grid}.detail-facts dt{color:var(--text)}.detail-facts dd{color:var(--text-h);margin:0;font-weight:600}.ability-badge-row{flex-wrap:wrap;gap:8px;display:flex}.ability-badge-wrap{display:inline-block;position:relative}.ability-badge{font-family:var(--font-body);color:var(--text-h);background:var(--card-bg);border:2px solid var(--shell-line);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.ability-badge:hover{border-color:var(--accent)}.ability-hidden-tag{opacity:.7;font-size:12px;font-weight:400}.ability-tooltip{z-index:5;width:max-content;max-width:260px;font-family:var(--font-body);color:var(--text-h);background:var(--card-bg);border:2px solid var(--shell-line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:400;line-height:1.4;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 4px 10px #00000026}.stat-bars{flex-direction:column;gap:8px;display:flex}.stat-row{font-family:var(--font-mono);grid-template-columns:130px 36px 1fr;align-items:center;gap:10px;font-size:15px;display:grid}.stat-label{color:var(--text)}.stat-value{color:var(--text-h);text-align:right;font-weight:600}.stat-bar-track{background:var(--shell-line);border-radius:999px;height:10px;overflow:hidden}.stat-bar-fill{background:var(--accent);border-radius:999px;height:100%}.weaknesses-section{margin-top:26px}.weaknesses-section h2{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text);margin-bottom:10px;font-size:19px;font-weight:400}.evolution-section{margin-top:26px}.evolution-section h2{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text);margin-bottom:10px;font-size:19px;font-weight:400}.no-evolution{font-family:var(--font-mono);color:var(--text);font-size:17px;font-style:normal}.evolution-chain{padding:4px 0 10px;overflow-x:auto}.evolution-branch{align-items:center;gap:12px;display:flex}.evolution-node-link{background:var(--card-bg);border:2px solid var(--shell-line);border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:8px 10px;display:flex}.evolution-node-link:hover{border-color:var(--accent)}.evolution-node-link img{object-fit:contain;width:56px;height:56px}.evolution-node-link span{font-family:var(--font-display);text-transform:capitalize;font-size:12px}.evolution-arrow{color:var(--text);flex-shrink:0;font-size:18px}.evolution-children{flex-direction:column;gap:10px;display:flex}.abilities-page{max-width:900px;margin:0 auto;padding:24px 20px 60px}.abilities-page>h1{text-align:center;margin:8px 0 4px;font-size:32px}.abilities-search{width:100%;max-width:320px;margin:16px auto 0;display:block}.abilities-list{flex-direction:column;gap:14px;display:flex}.ability-card{background:var(--card-bg);border:2px solid var(--shell-line);border-radius:12px;padding:14px 16px}.ability-card-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ability-card-header h2{color:var(--text-h);margin:0;font-size:17px}.ability-card-count{font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-size:13px}.ability-card-description{font-family:var(--font-body);color:var(--text);margin:6px 0 10px;font-size:14px;line-height:1.4}.ability-card-pokemon{flex-wrap:wrap;gap:6px;display:flex}.ability-pokemon-chip{font-family:var(--font-body);color:var(--text-h);background:var(--screen);border:1px solid var(--shell-line);text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.ability-pokemon-chip:hover{border-color:var(--accent)}.team-page{max-width:800px;margin:0 auto;padding:24px 20px 60px}.team-page>h1{text-align:center;margin:8px 0 4px;font-size:32px}.team-subtitle{text-align:center;font-family:var(--font-mono);color:var(--text);margin-bottom:24px;font-size:15px}.team-roster{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:20px;display:grid}.team-slot{background:var(--card-bg);border:2px solid var(--shell-line);text-align:center;border-radius:12px;flex-direction:column;align-items:center;min-height:130px;padding:14px 8px 10px;transition:border-color .1s,opacity .1s;display:flex;position:relative}.team-slot:not(.empty){cursor:grab;touch-action:none}.team-slot.dragging{opacity:.4;cursor:grabbing}.team-slot.drag-over{border-color:var(--accent);border-style:dashed}.team-slot.empty{border-style:dashed;justify-content:center;padding:8px}.team-slot.empty.active{z-index:5;border-style:solid;border-color:var(--accent)}.team-slot-add{width:100%;height:100%;min-height:100px;font-family:var(--font-mono);color:var(--text);opacity:.7;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:14px;display:flex}.team-slot-add:hover{opacity:1;color:var(--accent)}.team-slot-add-icon{font-family:var(--font-display);font-size:22px;line-height:1}.team-slot img{object-fit:contain;width:64px;height:64px}.team-slot-name{font-family:var(--font-display);text-transform:capitalize;margin:4px 0 6px;font-size:13px;font-weight:600}.team-slot-remove{background:var(--shell-line);width:20px;height:20px;color:var(--text-h);cursor:pointer;border:none;border-radius:50%;font-size:14px;line-height:1;position:absolute;top:4px;right:4px}.team-slot-remove:hover{background:var(--accent);color:#fff}.team-slot-search{width:100%;font-family:var(--font-body);border:2px solid var(--shell-line);background:var(--bg);color:var(--text-h);border-radius:8px;padding:8px 10px;font-size:13px}.team-slot-results{border:2px solid var(--shell-line);background:var(--card-bg);border-radius:10px;margin:6px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:-2px;right:-2px;overflow:hidden;box-shadow:0 8px 20px #00000026}.team-slot-results li{border-bottom:1px solid var(--shell-line)}.team-slot-results li:last-child{border-bottom:none}.team-slot-results button{cursor:pointer;text-align:left;width:100%;color:var(--text-h);font-family:var(--font-body);text-transform:capitalize;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.team-slot-results button:hover{background:var(--bg);color:var(--accent)}.team-slot-results img{object-fit:contain;width:28px;height:28px}.team-empty-state{text-align:center;font-family:var(--font-mono);color:var(--text);font-size:16px}.team-analysis{flex-direction:column;gap:28px;display:flex}.team-analysis h2{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text);margin-bottom:10px;font-size:19px;font-weight:400}.weakness-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.weakness-list li{align-items:center;gap:10px;display:flex}.weakness-count{font-family:var(--font-mono);color:var(--text);font-size:15px}.type-badge-muted{opacity:.25}.coverage-gap{font-family:var(--font-mono);color:var(--text);text-transform:capitalize;margin-top:10px;font-size:15px}
