@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);*{box-sizing:border-box;margin:0;padding:0}:root{--background:#111018;--surface:#1a1825;--surface-light:#232130;--surface-hover:#292638;--border:#ffffff14;--border-strong:#ffffff24;--text:#f5f4fb;--text-muted:#9f9baa;--purple:#9286ff;--purple-light:#b2aaff;--purple-dark:#7569ed;--danger:#ff6b7b;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--max-width:1280px}html{background:#111018;background:var(--background)}body{background:radial-gradient(circle at top left,#9286ff24,#0000 35rem),#111018;background:radial-gradient(circle at top left,#9286ff24,#0000 35rem),var(--background);color:#f5f4fb;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}button,input,select{font:inherit}a,button,label{-webkit-tap-highlight-color:transparent}.app{margin:0 auto;padding:48px 0 80px;width:min(calc(100% - 40px),1280px);width:min(calc(100% - 40px),var(--max-width))}.hero{grid-gap:64px;align-items:center;background:linear-gradient(135deg,#9286ff1f,#0000 55%),#1a1825;background:linear-gradient(135deg,#9286ff1f,#0000 55%),var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:32px;box-shadow:0 30px 80px #00000040;display:grid;gap:64px;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:430px;overflow:hidden;padding:64px;position:relative}.hero:after{background:#9286ff14;border-radius:50%;content:"";filter:blur(15px);height:400px;position:absolute;right:-180px;top:-190px;width:400px}.hero__content{position:relative;z-index:2}.eyebrow,.section-label{color:#b2aaff;color:var(--purple-light);display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.13em;margin-bottom:14px;text-transform:uppercase}.hero h1{font-size:clamp(2.8rem,6vw,5rem);letter-spacing:-.055em;line-height:.98;max-width:720px}.hero h1 span{color:#b2aaff;color:var(--purple-light)}.hero__description{color:#9f9baa;color:var(--text-muted);font-size:1.05rem;line-height:1.75;margin-top:24px;max-width:620px}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{align-items:center;border:1px solid #0000;border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;gap:9px;justify-content:center;min-height:48px;padding:0 20px;text-decoration:none;transition:transform .16s ease,background .16s ease,border-color .16s ease}.button:hover{transform:translateY(-2px)}.button--primary{background:#b2aaff;background:var(--purple-light);color:#111018}.button--primary:hover{background:#c1bbff}.button--secondary{background:#ffffff0a;border-color:#ffffff24;border-color:var(--border-strong);color:#f5f4fb;color:var(--text)}.button--secondary:hover{background:#ffffff14}.file-input{display:none}.file-status{align-items:center;color:#9f9baa;color:var(--text-muted);display:flex;font-size:.82rem;gap:9px;margin-top:24px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.file-status strong{color:#f5f4fb;color:var(--text)}.file-status button{background:none;border:0;color:#b2aaff;color:var(--purple-light);cursor:pointer;margin-left:4px}.status-dot{background:#7ee2a8;border-radius:50%;box-shadow:0 0 0 5px #7ee2a817;height:7px;width:7px}.hero__preview{min-height:300px;position:relative}.preview-card{align-items:center;background:#232130;background:var(--surface-light);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;box-shadow:0 28px 45px #00000040;display:flex;font-size:4rem;height:230px;justify-content:center;position:absolute;transition:transform .25s ease;width:190px}.preview-card span{color:#9f9baa;color:var(--text-muted);font-size:.8rem;font-weight:700;left:16px;position:absolute;top:16px}.preview-card--1{left:50%;top:50%;transform:translate(-50%,-50%) rotate(-2deg);z-index:3}.preview-card--2{left:12%;top:24%;transform:rotate(-10deg);z-index:2}.preview-card--3{right:8%;top:24%;transform:rotate(10deg);z-index:1}.message{border-radius:10px;border-radius:var(--radius-sm);margin-top:24px;padding:16px 18px}.message--error{background:#ff6b7b17;border:1px solid #ff6b7b40;color:#ffd9dd}.instructions{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:24px}.instructions>div{background:#1a1825;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-md);padding:28px}.instructions span{color:#b2aaff;color:var(--purple-light);font-size:.78rem;font-weight:800}.instructions h3{font-size:1.1rem;margin-top:30px}.instructions p{color:#9f9baa;color:var(--text-muted);font-size:.88rem;line-height:1.65;margin-top:10px}.rankings-section{margin-top:56px}.rankings-header{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.rankings-header h2{font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:-.04em}.filters{gap:10px}.filters,.search-wrapper{align-items:center;display:flex}.search-wrapper{background:#1a1825;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);gap:9px;height:46px;min-width:270px;padding:0 14px}.search-wrapper span{color:#9f9baa;color:var(--text-muted);font-size:1.1rem}.search-wrapper input{background:#0000;border:0;color:#f5f4fb;color:var(--text);outline:0;width:100%}.search-wrapper input::placeholder{color:#777381}.filters select{background:#1a1825;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);color:#f5f4fb;color:var(--text);cursor:pointer;height:46px;outline:none;padding:0 36px 0 14px}.results-bar{align-items:center;color:#9f9baa;color:var(--text-muted);display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:14px}.results-bar strong{color:#f5f4fb;color:var(--text)}.unmatched{color:#ffb7be}.pokemon-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.pokemon-card{background:#1a1825;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-md);min-width:0;overflow:hidden;position:relative;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.pokemon-card:hover{background:#292638;background:var(--surface-hover);border-color:#b2aaff4d;box-shadow:0 16px 32px #0000002e;transform:translateY(-4px)}.rank-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111018c7;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:999px;color:#b2aaff;color:var(--purple-light);font-size:.72rem;font-weight:800;left:14px;min-width:44px;padding:7px 9px;position:absolute;text-align:center;top:14px;z-index:2}.sprite-wrapper{align-items:center;background:radial-gradient(circle,#9286ff24,#0000 60%);display:flex;height:185px;justify-content:center}.pokemon-image{height:150px;image-rendering:auto;object-fit:contain;transition:transform .2s ease;width:150px}.pokemon-card:hover .pokemon-image{transform:scale(1.06)}.image-fallback{border:1px dashed #ffffff24;border:1px dashed var(--border-strong);border-radius:50%;color:#9f9baa;color:var(--text-muted);display:grid;font-size:2rem;height:100px;place-items:center;width:100px}.pokemon-info{border-top:1px solid #ffffff14;border-top:1px solid var(--border);min-height:90px;padding:18px}.pokemon-info h3{color:#f5f4fb;color:var(--text);font-size:.96rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pokemon-card>.rank-badge+.pokemon-info{align-items:center;background:radial-gradient(circle at center,#9286ff24,#0000 62%),linear-gradient(145deg,hsla(0,0%,100%,.025),#0000);border-top:0;display:flex;height:100%;justify-content:center;min-height:290px;padding:64px 24px 28px;text-align:center;width:100%}.pokemon-card>.rank-badge+.pokemon-info h3{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#f5f4fb;color:var(--text);display:-webkit-box;font-size:1.05rem;font-weight:700;line-height:1.4;max-width:100%;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.fallback-tag,.status-tag{border-radius:999px;display:inline-flex;font-size:.64rem;font-weight:700;margin-right:6px;margin-top:9px;padding:5px 8px}.status-tag--shadow{background:#7056b833;color:#d3caff}.status-tag--purified{background:#5bb5e721;color:#bfe8ff}.fallback-tag{background:#ffffff0d}.fallback-tag,.unmatched-panel{color:#9f9baa;color:var(--text-muted)}.unmatched-panel{background:#1a1825;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-md);margin-top:24px;padding:18px}.unmatched-panel summary{color:#f5f4fb;color:var(--text);cursor:pointer;font-size:.88rem;font-weight:700}.unmatched-panel p{font-size:.8rem;margin-top:12px}.unmatched-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.unmatched-list span{background:#ff6b7b14;border-radius:7px;color:#ffb7be;font-size:.7rem;padding:6px 9px}.empty-search{background:#1a1825;background:var(--surface);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-md);padding:70px 20px;text-align:center}.empty-search p{color:#9f9baa;color:var(--text-muted);margin-top:7px}@media (max-width:900px){.hero{grid-template-columns:1fr;padding:46px 32px}.hero__preview{display:none}.rankings-header{align-items:stretch;flex-direction:column}.filters{width:100%}.search-wrapper{flex:1 1}}@media (max-width:650px){.app{padding-top:12px;width:min(calc(100% - 24px),1280px);width:min(calc(100% - 24px),var(--max-width))}.hero{border-radius:22px;min-height:auto;padding:38px 24px}.hero h1{font-size:2.75rem}.hero__actions{flex-direction:column}.button{width:100%}.instructions{grid-template-columns:1fr}.filters{align-items:stretch;flex-direction:column}.search-wrapper{min-width:0;width:100%}.filters select{width:100%}.pokemon-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.sprite-wrapper{height:145px}.pokemon-image{height:120px;width:120px}.pokemon-info{padding:14px}.pokemon-card>.rank-badge+.pokemon-info{min-height:290px;padding:58px 16px 20px}.pokemon-card>.rank-badge+.pokemon-info h3{font-size:.95rem}}@media (max-width:390px){.pokemon-grid{grid-template-columns:1fr}.sprite-wrapper{height:180px}.pokemon-card>.rank-badge+.pokemon-info h3{font-size:1.05rem}}
/*# sourceMappingURL=main.d40e7bd6.css.map*/