@import"https://fonts.googleapis.com/css2?family=Bungee&family=Bungee+Shade&family=Press+Start+2P&display=swap";:root{--pikachu-yellow: #FFCB05;--pokeball-red: #CC0000;--pokeball-red-bright: #EE1515;--pokeball-white: #FFFFFF;--dark-navy: #0A0A1A;--dark-navy-lighter: #1A1A2E;--pokemon-blue: #3B4CCA;--pokemon-blue-light: #6B7BFA;--gold-accent: #B3A125;--gold-bright: #FFD700;--electric-yellow: #FFF06A;--font-pokemon: "Bungee", "Impact", sans-serif;--font-pixel: "Press Start 2P", monospace;--fs-nav: .6rem;--fs-pixel-xs: .5rem;--fs-pixel-sm: .6rem;--fs-pixel-md: .7rem;--fs-pixel-lg: .8rem;--fs-heading-sm: 1rem;--fs-heading-md: 1.4rem;--fs-heading-lg: 1.8rem;--fs-heading-xl: 2.4rem;--fs-heading-xxl: 3rem;--fs-lore-label: 1.2rem;--fs-lore-body: clamp(.75rem, 2vw, .9rem);--fs-lore-highlight: clamp(.72rem, 1.8vw, .85rem);--fs-lore-cta-token: clamp(1.4rem, 4vw, 2rem);--fs-lore-cta-tagline: clamp(.5rem, 1.2vw, .62rem);--fs-lore-footer: .5rem;--fs-rank-title: var(--fs-heading-lg);--fs-rank-subtitle: var(--fs-pixel-sm);--fs-rank-input: var(--fs-pixel-md);--fs-rank-btn: var(--fs-heading-sm);--fs-rank-card-label: var(--fs-pixel-sm);--fs-rank-wallet: var(--fs-pixel-md);--fs-rank-name: var(--fs-heading-md);--fs-rank-pct: var(--fs-heading-xl);--fs-rank-pct-label: var(--fs-pixel-sm);--fs-rank-action: var(--fs-pixel-sm);--fs-rank-legend-title: var(--fs-pixel-sm);--fs-rank-legend-name: var(--fs-pixel-lg);--fs-rank-legend-range: var(--fs-pixel-xs);--fs-rank-error: var(--fs-pixel-sm);--fs-rank-empty-msg: 1.2rem;--fs-rank-empty-sub: var(--fs-pixel-sm);--glow-yellow: 0 0 20px rgba(255, 203, 5, .6), 0 0 40px rgba(255, 203, 5, .3);--glow-red: 0 0 20px rgba(204, 0, 0, .6), 0 0 40px rgba(204, 0, 0, .3);--glow-blue: 0 0 20px rgba(59, 76, 202, .6), 0 0 40px rgba(59, 76, 202, .3);--text-stroke-blue: -2px -2px 0 var(--pokemon-blue), 2px -2px 0 var(--pokemon-blue), -2px 2px 0 var(--pokemon-blue), 2px 2px 0 var(--pokemon-blue), 0 -2px 0 var(--pokemon-blue), 0 2px 0 var(--pokemon-blue), -2px 0 0 var(--pokemon-blue), 2px 0 0 var(--pokemon-blue)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow-x:hidden;overflow-y:auto}body{font-family:var(--font-pokemon);background:var(--dark-navy);color:var(--pokeball-white);transition:background 1.5s ease}body.celebration{background:var(--pikachu-yellow)}.app{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;position:relative}.main-content{width:100%;display:flex;flex-direction:column;align-items:center;z-index:10}.phase-container{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.top-nav{position:fixed;top:20px;right:20px;display:flex;flex-direction:row;gap:10px;z-index:200}.nav-btn{display:flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid rgba(255,203,5,.3);border-radius:12px;background:#0a0a1a99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--pikachu-yellow);font-family:var(--font-pixel);font-size:var(--fs-nav);cursor:pointer;text-decoration:none;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.nav-btn:hover{border-color:var(--pikachu-yellow);box-shadow:0 0 15px #ffcb0533,inset 0 0 15px #ffcb050d;background:#ffcb051a}.nav-btn:nth-child(2):hover{border-color:#0f8;color:#0f8;box-shadow:0 0 15px #0f83,inset 0 0 15px #00ff880d;background:#00ff881a}.nav-btn:nth-child(3):hover{border-color:var(--pokeball-white);color:var(--pokeball-white);box-shadow:0 0 15px #fff3,inset 0 0 15px #ffffff0d;background:#ffffff1a}.nav-btn-icon{display:flex;align-items:center}.nav-btn-label{letter-spacing:1px}.mobile-tab-bar{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;flex-direction:row;align-items:stretch;height:calc(60px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:#060612e0;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(255,203,5,.12);box-shadow:0 1px #ffffff0a,0 8px 40px #0000008c,0 2px 20px #ffcb050a}.mtb-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 2px;background:transparent;border:none;cursor:pointer;text-decoration:none;color:#ffffff73;font-family:var(--font-pixel);position:relative;outline:none;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.mtb-item--active{color:#fff}.mtb-item--active:before{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,var(--item-glow, rgba(255,203,5,.8)),transparent);border-radius:3px 3px 0 0;filter:blur(1px)}.mtb-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.mtb-label{font-family:var(--font-pixel);font-size:.36rem;letter-spacing:.04em;text-transform:uppercase;line-height:1;transition:color .15s}.mtb-dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%}@media(max-width:640px){.main-content{padding-top:calc(60px + env(safe-area-inset-top,0px));padding-bottom:0}.phase-container{padding-top:0!important}.pfp-overlay{padding-top:calc(72px + env(safe-area-inset-top,0px));padding-bottom:24px}}body.celebration .nav-btn{background:#ffffff4d;border-color:#0a0a1a33;color:var(--dark-navy)}body.celebration .nav-btn:hover{background:#ffffff80;border-color:var(--dark-navy);box-shadow:0 0 15px #0a0a1a26}body.celebration .nav-btn:nth-child(2):hover{border-color:#063;color:#063}body.celebration .nav-btn:nth-child(3):hover{border-color:var(--dark-navy);color:var(--dark-navy)}.nav-btn:nth-child(4):hover{border-color:#29b6f6;color:#29b6f6;box-shadow:0 0 15px #29b6f633,inset 0 0 15px #29b6f60d;background:#29b6f61a}body.celebration .nav-btn:nth-child(4):hover{border-color:#0277bd;color:#0277bd}.countdown-container{display:flex;flex-direction:column;align-items:center;gap:2rem;z-index:10}.countdown-title{font-family:var(--font-pokemon);font-size:clamp(1.5rem,5vw,3.5rem);color:var(--pikachu-yellow);text-shadow:var(--text-stroke-blue);text-align:center;letter-spacing:2px}.countdown-subtitle{font-family:var(--font-pixel);font-size:clamp(.6rem,1.5vw,.9rem);color:var(--electric-yellow);text-transform:uppercase;letter-spacing:3px;opacity:.8}.countdown-timer{display:flex;align-items:center;gap:clamp(.5rem,2vw,1.5rem);flex-wrap:wrap;justify-content:center}.time-unit{display:flex;flex-direction:column;align-items:center;gap:.75rem}.time-digits{display:flex;gap:4px}.digit-card{width:clamp(40px,8vw,80px);height:clamp(55px,10vw,100px);background:linear-gradient(180deg,#3b4cca4d,#1a1a2ee6,#3b4cca4d);border:2px solid var(--pokemon-blue);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.digit-card:before{content:"";position:absolute;top:49%;left:0;right:0;height:2px;background:#3b4cca80}.digit-value{font-family:var(--font-pokemon);font-size:clamp(1.8rem,5vw,3.5rem);color:var(--pokeball-white);text-shadow:var(--glow-blue);line-height:1}.time-label{font-family:var(--font-pixel);font-size:clamp(.5rem,1.2vw,.7rem);color:var(--pikachu-yellow);text-transform:uppercase;letter-spacing:2px}.time-separator{font-family:var(--font-pokemon);font-size:clamp(2rem,5vw,3.5rem);color:var(--pokeball-red-bright);text-shadow:var(--glow-red);align-self:flex-start;margin-top:clamp(5px,1vw,10px)}.countdown-pokeballs-top{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,4vw,2rem);margin-bottom:.5rem}.countdown-date{margin-top:.5rem;text-align:center}.countdown-date-text{font-family:var(--font-pixel);font-size:clamp(.55rem,1.4vw,.8rem);color:var(--electric-yellow);letter-spacing:3px;text-transform:uppercase;opacity:.7}.pokeball-divider{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem}.pokeball-line{width:clamp(40px,10vw,100px);height:2px;background:linear-gradient(90deg,transparent,var(--pokeball-red),transparent)}.celebration-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;z-index:10;text-align:center;padding:2rem}.celebration-pokeball{margin-bottom:1rem}.celebration-title{font-family:var(--font-pokemon);font-size:clamp(2rem,7vw,5rem);color:var(--pikachu-yellow);text-shadow:var(--text-stroke-blue);line-height:1.2}.celebration-anniversary{display:flex;flex-direction:column;align-items:center;gap:.5rem}.anniversary-number{font-family:var(--font-pokemon);font-size:clamp(4rem,15vw,12rem);color:var(--pokeball-red);text-shadow:-4px -4px 0 var(--dark-navy),4px -4px 0 var(--dark-navy),-4px 4px 0 var(--dark-navy),4px 4px 0 var(--dark-navy),0 0 30px rgba(204,0,0,.5);line-height:1;position:relative}.anniversary-text{font-family:var(--font-pokemon);font-size:clamp(1rem,3vw,2rem);color:var(--dark-navy);letter-spacing:4px;text-transform:uppercase}.anniversary-badge{background:linear-gradient(135deg,var(--pokeball-red),var(--pokeball-red-bright));color:var(--pokeball-white);padding:.75rem 2rem;border-radius:50px;font-family:var(--font-pokemon);font-size:clamp(.8rem,2vw,1.2rem);letter-spacing:3px;text-transform:uppercase;box-shadow:0 4px 20px #c006;border:3px solid var(--dark-navy)}.since-year{font-family:var(--font-pixel);font-size:clamp(.7rem,1.5vw,1rem);color:var(--dark-navy);opacity:.7;letter-spacing:3px}.flash-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;z-index:100;pointer-events:none}.sparkle{position:fixed;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:50}.floating-pokeball{position:fixed;z-index:1;opacity:.1;pointer-events:none}.particles-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.star{position:fixed;width:3px;height:3px;background:var(--pikachu-yellow);border-radius:50%;z-index:1;pointer-events:none}.lore-section{width:100%;max-width:680px;padding:2rem 1.5rem 3rem;margin:0 auto}.lore-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:2rem}.lore-label{font-family:var(--font-pixel);font-size:var(--fs-lore-label);letter-spacing:4px;color:var(--pikachu-yellow);text-transform:uppercase}body.celebration .lore-label{color:var(--dark-navy)}.lore-block{margin-bottom:1.2rem;padding:20px 24px;border-radius:14px;border:1px solid rgba(59,76,202,.15);background:#3b4cca0f;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}body.celebration .lore-block{background:#ffffff40;border-color:#0a0a1a14}.lore-block p{font-family:var(--font-pokemon);font-size:var(--fs-lore-body);color:#fffc;line-height:1.7}body.celebration .lore-block p{color:var(--dark-navy)}.lore-block strong{color:var(--pikachu-yellow)}body.celebration .lore-block strong{color:var(--pokeball-red)}.lore-nostalgia{border-left:3px solid var(--gold-bright)}body.celebration .lore-nostalgia{border-left-color:var(--pokeball-red)}.lore-superbowl{display:flex;align-items:flex-start;gap:16px;border-color:#cc000040;background:linear-gradient(135deg,#cc000014,#3b4cca14)}body.celebration .lore-superbowl{background:linear-gradient(135deg,#cc000014,#ffffff4d)}.lore-block-accent{font-size:2rem;flex-shrink:0;line-height:1;margin-top:2px}.lore-block-title{font-family:var(--font-pokemon);font-size:clamp(.85rem,2.2vw,1.05rem);color:var(--pokeball-red-bright);margin-bottom:8px;letter-spacing:1px}body.celebration .lore-block-title{color:var(--pokeball-red)}.lore-onchain{border-left:3px solid var(--pokemon-blue-light)}body.celebration .lore-onchain{border-left-color:var(--pokemon-blue)}.lore-highlights{display:flex;flex-direction:column;gap:8px;margin-bottom:1.2rem}.lore-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#3b4cca14;border:1px solid rgba(59,76,202,.15);border-radius:10px;transition:border-color .3s ease,background .3s ease}.lore-item:hover{border-color:#ffcb0559;background:#3b4cca26}body.celebration .lore-item{background:#ffffff4d;border-color:#0a0a1a14}body.celebration .lore-item:hover{background:#ffffff80;border-color:#0a0a1a33}.lore-emoji{font-size:1.2rem;flex-shrink:0}.lore-text{font-family:var(--font-pokemon);font-size:var(--fs-lore-highlight);color:#fffc;line-height:1.5}body.celebration .lore-text{color:var(--dark-navy)}.lore-cta{margin-bottom:1.5rem;padding:24px;background:linear-gradient(135deg,#cc00001f,#3b4cca1f,#ffcb051f);border:1px solid rgba(255,203,5,.25);border-radius:16px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;transition:border-color .3s ease,box-shadow .3s ease}.lore-cta:hover{border-color:#ffcb0580;box-shadow:0 0 30px #ffcb0514}body.celebration .lore-cta{background:linear-gradient(135deg,#cc000014,#ffffff4d,#0a0a1a0d);border-color:#0a0a1a26}.lore-cta-token{font-family:var(--font-pokemon);font-size:var(--fs-lore-cta-token);color:var(--pikachu-yellow);text-shadow:var(--text-stroke-blue);letter-spacing:2px}body.celebration .lore-cta-token{color:var(--pokeball-red);text-shadow:-2px -2px 0 var(--dark-navy),2px -2px 0 var(--dark-navy),-2px 2px 0 var(--dark-navy),2px 2px 0 var(--dark-navy)}.lore-cta-text{font-family:var(--font-pokemon);font-size:var(--fs-lore-highlight);color:#fffc;line-height:1.6;max-width:500px}body.celebration .lore-cta-text{color:var(--dark-navy)}.lore-cta-tagline{font-family:var(--font-pixel);font-size:var(--fs-lore-cta-tagline);color:var(--gold-bright);letter-spacing:2px;text-transform:uppercase;margin-top:4px}body.celebration .lore-cta-tagline{color:var(--pokeball-red)}.lore-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:1rem;flex-wrap:wrap}.lore-footer-line{width:clamp(30px,8vw,60px);height:1px;background:linear-gradient(90deg,transparent,var(--pokeball-red),transparent)}body.celebration .lore-footer-line{background:linear-gradient(90deg,transparent,var(--dark-navy),transparent)}.lore-footer-text{font-family:var(--font-pixel);font-size:var(--fs-lore-footer);color:#ffffff59;letter-spacing:2px;white-space:normal;text-align:center;max-width:min(92vw,640px);line-height:1.6}body.celebration .lore-footer-text{color:#0a0a1a66}@media(max-width:768px){.phase-container{padding:60px 0 0}.countdown-container{gap:1.5rem;padding:0 1rem}.countdown-timer{gap:.5rem}.time-separator{font-size:1.5rem;margin-top:4px}.time-unit{gap:.5rem}.celebration-container{gap:1rem;padding:1rem}.celebration-pokeball{margin-bottom:.5rem}.anniversary-badge{padding:.6rem 1.5rem;font-size:clamp(.65rem,1.8vw,1rem);letter-spacing:2px}.top-nav{top:12px;right:12px;gap:6px}.nav-btn{padding:10px 14px;font-size:.55rem;gap:6px;border-radius:10px}.nav-btn-icon svg{width:16px;height:16px}.lore-section{padding:1.5rem 1rem 2rem}.lore-block{padding:16px 18px}.lore-superbowl{gap:12px}.lore-block-accent{font-size:1.6rem}}@media(max-width:480px){.phase-container{padding:50px 0 0}.countdown-container{gap:1.2rem;padding:0 .75rem}.countdown-title{font-size:clamp(1.2rem,6vw,2rem);letter-spacing:1px}.countdown-subtitle{font-size:.5rem;letter-spacing:2px}.countdown-timer{gap:.3rem}.digit-card{width:34px;height:46px;border-radius:8px;border-width:1.5px}.digit-value{font-size:1.5rem}.time-digits{gap:2px}.time-label{font-size:.55rem;letter-spacing:1px}.time-separator{font-size:1.2rem;margin-top:2px}.time-unit{gap:.35rem}.countdown-pokeballs-top{gap:1.5rem;margin-bottom:.8rem}.pokeball-divider{margin-top:1rem;gap:.6rem}.pokeball-line{width:40px}.countdown-date{margin-top:.8rem}.countdown-date-text{font-size:.8rem;letter-spacing:2px}.celebration-container{gap:.8rem;padding:.75rem}.celebration-title{font-size:clamp(1.6rem,8vw,2.5rem);line-height:1.3}.anniversary-number{font-size:clamp(3.5rem,18vw,7rem);text-shadow:-3px -3px 0 var(--dark-navy),3px -3px 0 var(--dark-navy),-3px 3px 0 var(--dark-navy),3px 3px 0 var(--dark-navy),0 0 20px rgba(204,0,0,.5)}.anniversary-text{font-size:clamp(.75rem,3.5vw,1.2rem);letter-spacing:2px}.anniversary-badge{padding:.5rem 1.2rem;font-size:.6rem;letter-spacing:2px;border-width:2px}.since-year{font-size:.55rem;letter-spacing:2px}.lore-section{padding:1.5rem .75rem 2rem}.lore-header{margin-bottom:1.2rem;gap:8px}.lore-label{font-size:1.2rem;letter-spacing:3px}.lore-block{padding:14px 16px;border-radius:12px;margin-bottom:.8rem}.lore-block p{font-size:1rem;line-height:1.6}.lore-superbowl{gap:10px}.lore-block-accent{font-size:1.3rem}.lore-block-title{font-size:.75rem;margin-bottom:6px}.lore-highlights{gap:6px;margin-bottom:.8rem}.lore-item{padding:10px 12px;gap:10px;border-radius:8px}.lore-emoji,.lore-text{font-size:1rem}.lore-cta{padding:18px 16px;border-radius:12px;gap:8px;margin-bottom:1rem}.lore-cta-token{font-size:1.3rem}.lore-cta-text{font-size:1rem}.lore-cta-tagline{font-size:.45rem;letter-spacing:1.5px}.lore-footer{gap:6px}.lore-footer-text{font-size:var(--fs-pixel-xs);letter-spacing:1px}}@media(max-width:360px){.digit-card{width:28px;height:40px;border-radius:6px}.digit-value{font-size:1.2rem}.countdown-title{font-size:1.1rem}.celebration-title{font-size:1.4rem}.anniversary-number{font-size:3rem}}.rank-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a1ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:300;display:flex;align-items:safe center;justify-content:center;padding:1rem;overflow-y:auto}.rank-container{width:100%;max-width:560px;max-height:calc(100dvh - 2rem);overflow-y:auto;background:linear-gradient(145deg,#1a1a2ef2,#0a0a1afa);border:1px solid rgba(59,76,202,.2);border-radius:24px;padding:2.5rem;position:relative;box-shadow:0 20px 60px #00000080,0 0 40px #3b4cca1a}.rank-close-btn{position:absolute;top:10px;right:10px;width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.rank-close-btn:hover{background:#ffffff1a;color:#fff;border-color:#ffffff4d}.rank-close-bottom{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;margin-top:1.2rem;border:1px solid rgba(255,203,5,.2);border-radius:12px;background:#ffcb050d;color:#ffcb0599;font-family:var(--font-pixel);font-size:var(--fs-pixel-sm);letter-spacing:2px;cursor:pointer;transition:all .2s ease}.rank-close-bottom:hover{background:#ffcb051a;color:var(--pikachu-yellow);border-color:#ffcb0566;box-shadow:0 0 15px #ffcb051a}.rank-close-btn svg{width:16px;height:16px}.rank-header{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}.rank-title{font-family:var(--font-pokemon);font-size:var(--fs-rank-title);color:var(--pikachu-yellow);text-shadow:var(--text-stroke-blue);letter-spacing:2px}.rank-subtitle{text-align:center;font-family:var(--font-pixel);font-size:var(--fs-rank-subtitle);color:#ffffff80;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.8rem}.rank-input-group{display:flex;flex-direction:column;gap:12px;margin-bottom:1.2rem}.rank-input-wrapper{position:relative;display:flex;align-items:center}.rank-input-icon{position:absolute;left:16px;display:flex;align-items:center;pointer-events:none;z-index:1}.rank-input{width:100%;padding:16px 18px 16px 40px;background:#3b4cca14;border:1px solid rgba(59,76,202,.25);border-radius:14px;color:#fff;font-family:var(--font-pixel);font-size:var(--fs-rank-input);outline:none;transition:all .3s ease}.rank-input::placeholder{color:#ffffff4d}.rank-input:focus{border-color:var(--pikachu-yellow);box-shadow:0 0 20px #ffcb0526;background:#3b4cca1f}.rank-check-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--pokeball-red),var(--pokeball-red-bright));border:none;border-radius:14px;color:#fff;font-family:var(--font-pokemon);font-size:var(--fs-rank-btn);letter-spacing:3px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #cc00004d}.rank-check-btn:hover{box-shadow:0 6px 25px #cc000080}.rank-check-btn:disabled{opacity:.7;cursor:not-allowed}.rank-error{text-align:center;font-family:var(--font-pixel);font-size:var(--fs-rank-error);color:var(--pokeball-red-bright);margin-bottom:.5rem}.trainer-card{border:2px solid rgba(255,255,255,.15);border-radius:20px;padding:2rem;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:.75rem;transition:box-shadow .5s ease,border-color .5s ease}.card-corner{position:absolute;opacity:.45;z-index:1}.card-corner-tl{top:14px;left:14px}.card-corner-tr{top:14px;right:14px}.card-corner-bl{bottom:14px;left:14px}.card-corner-br{bottom:14px;right:14px}.trainer-card-empty{border-color:#ffffff1a;box-shadow:none;background:linear-gradient(160deg,#1a1a2ee6,#3b4cca14)}.trainer-card-header{width:100%;display:flex;align-items:center;justify-content:center;gap:14px}.card-pokeball-line{flex:1;height:2px;border-radius:1px}.trainer-card-label{font-family:var(--font-pixel);font-size:var(--fs-rank-card-label);color:var(--pikachu-yellow);letter-spacing:4px;text-transform:uppercase;white-space:nowrap}.trainer-card-wallet{font-family:var(--font-pixel);font-size:var(--fs-rank-wallet);color:#ffffff80;letter-spacing:2px}.trainer-card-badge{display:flex;align-items:center;justify-content:center;margin:.5rem 0;filter:drop-shadow(0 0 14px currentColor)}.trainer-card-badge svg{width:80px;height:80px}.trainer-card-rank{font-family:var(--font-pokemon);font-size:var(--fs-rank-name);letter-spacing:2px;text-transform:uppercase}.trainer-card-pct{display:flex;flex-direction:column;align-items:center;gap:6px}.pct-value{font-family:var(--font-pokemon);font-size:var(--fs-rank-pct);color:#fff;text-shadow:0 0 20px rgba(255,255,255,.3)}.pct-label{font-family:var(--font-pixel);font-size:var(--fs-rank-pct-label);color:#fff6;letter-spacing:2px;text-transform:uppercase}.rank-tier-bar{display:flex;gap:5px;width:100%;margin:.75rem 0}.tier-segment{flex:1;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;transform-origin:left;transition:all .3s ease}.tier-segment.tier-active{box-shadow:0 0 14px #ffffff40;border:1px solid}.tier-segment svg{width:16px;height:16px;transition:transform .2s ease}.tier-segment.tier-active svg{width:20px;height:20px;transform:scale(1.1)}.trainer-card-actions{display:flex;gap:10px;margin-top:.75rem;width:100%}.trainer-action-btn{flex:1;padding:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#ffffffb3;font-family:var(--font-pixel);font-size:var(--fs-rank-action);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.trainer-action-btn svg{width:18px;height:18px}.trainer-action-btn:hover{background:#ffffff1a;border-color:#ffffff40;color:#fff}.empty-badge{margin:.75rem 0;opacity:.4}.empty-message{font-family:var(--font-pokemon);font-size:var(--fs-rank-empty-msg);color:#ffffffb3;text-align:center}.empty-sub{font-family:var(--font-pixel);font-size:var(--fs-rank-empty-sub);color:#ffffff59;text-align:center;letter-spacing:1px}.rank-tiers-legend{margin-top:2rem;display:flex;flex-direction:column;gap:12px}.legend-title-row{display:flex;align-items:center;justify-content:center;gap:12px}.legend-title{font-family:var(--font-pixel);font-size:var(--fs-rank-legend-title);color:#fff6;text-transform:uppercase;letter-spacing:3px;text-align:center}.legend-items{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;transition:all .2s ease}.legend-item:hover{background:#ffffff0f;border-color:#ffffff1f}.legend-badge{width:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.legend-badge svg{width:28px;height:28px}.legend-name{font-family:var(--font-pokemon);font-size:var(--fs-rank-legend-name);letter-spacing:1px;flex:1}.legend-range{font-family:var(--font-pixel);font-size:var(--fs-rank-legend-range);color:#ffffff59;letter-spacing:1px;flex-shrink:0}@media(max-width:640px){.rank-container{max-width:100%;padding:2rem 1.5rem;border-radius:20px}.card-corner{display:none}}@media(max-width:480px){:root{--fs-pixel-xs: .45rem;--fs-pixel-sm: .52rem;--fs-pixel-md: .6rem;--fs-pixel-lg: .7rem;--fs-heading-sm: .85rem;--fs-heading-md: 1.2rem;--fs-heading-lg: 1.4rem;--fs-heading-xl: 1.8rem;--fs-nav: .52rem;--fs-rank-empty-msg: 1rem}.rank-container{padding:1.5rem 1.2rem;border-radius:16px}.rank-input{padding:14px 16px 14px 36px}.rank-check-btn{padding:14px}.trainer-card{padding:1.5rem;border-radius:16px}.trainer-card-badge svg{width:60px;height:60px}.tier-segment{height:28px}.card-corner{display:none}.trainer-action-btn{padding:10px}.trainer-action-btn svg{width:14px;height:14px}.legend-badge svg{width:22px;height:22px}}.pfp-overlay{position:fixed;inset:0;background:#000000d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:300;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 100px;overflow-y:auto;-webkit-overflow-scrolling:touch}@media(min-height:700px)and (min-width:641px){.pfp-overlay{align-items:center;padding:24px 16px}}.pfp-modal{background:linear-gradient(145deg,#12122a,#0e0e20 60%,#141428);border:1px solid rgba(255,203,5,.18);border-radius:24px;width:100%;max-width:1100px;overflow:visible;box-shadow:0 0 0 1px #ffffff0a,0 24px 80px #000000b3,0 0 140px #ffcb050f;margin:auto}.pfp-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 18px;border-bottom:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(255,203,5,.04) 0%,transparent 100%)}.pfp-title{font-family:var(--font-pokemon);font-size:1.25rem;color:var(--pikachu-yellow);letter-spacing:.05em;margin:0;display:flex;align-items:center;gap:10px;text-shadow:0 0 20px rgba(255,203,5,.4)}.pfp-title-icon{font-size:1.3rem}.pfp-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffff73;width:34px;height:34px;border-radius:9px;cursor:pointer;font-size:.82rem;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.pfp-close:hover{background:#ffffff1f;color:#fff;border-color:#fff3}.pfp-body{display:grid;grid-template-columns:360px 1fr;gap:32px;padding:24px 28px 28px;align-items:start;overflow:hidden}.pfp-preview{display:flex;flex-direction:column;align-items:center;gap:12px;position:sticky;top:16px}.pfp-canvas-wrapper{position:relative;border-radius:22px;width:100%;box-shadow:0 0 0 1px #ffffff0d,0 20px 60px #000000a6,0 0 80px color-mix(in srgb,var(--type-glow, #FFCB05) 30%,transparent),0 0 180px color-mix(in srgb,var(--type-glow, #FFCB05) 14%,transparent);transition:box-shadow .5s ease}.pfp-canvas{display:block;width:100%;height:auto;border-radius:22px}.pfp-hint{font-family:var(--font-pixel);font-size:.4rem;color:#ffffff38;letter-spacing:.06em;text-align:center;line-height:1.8;max-width:300px;margin:0}.pfp-controls{display:flex;flex-direction:column;gap:22px;min-width:0;align-self:stretch}.pfp-row{display:flex;gap:12px;align-items:flex-end}.pfp-field{display:flex;flex-direction:column;gap:7px;min-width:0}.pfp-field-grow{flex:1;min-width:0}.pfp-label{font-family:var(--font-pixel);font-size:.54rem;color:#ffffff6b;letter-spacing:.1em;text-transform:uppercase}.pfp-label-note{font-style:italic;color:#ffffff38;font-size:.46rem;letter-spacing:.04em;text-transform:none}.pfp-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pfp-upload-btn{display:inline-flex;align-items:center;gap:7px;background:#ffffff0f;border:1px dashed rgba(255,255,255,.18);border-radius:9px;color:#ffffffa6;padding:9px 15px;cursor:pointer;font-size:.84rem;transition:all .15s}.pfp-upload-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.pfp-remove-photo{background:transparent;border:none;color:#ff5a4699;cursor:pointer;font-size:.76rem;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.pfp-remove-photo:hover{color:#ff5a46}.pfp-input{background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#ffffffeb;font-size:.93rem;padding:10px 13px;outline:none;transition:border-color .15s,background .15s;font-family:inherit;width:100%;box-sizing:border-box}.pfp-input::placeholder{color:#fff3}.pfp-input:focus{border-color:#ffcb0573;background:#ffffff14}.pfp-input-sm{width:80px}.pfp-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pfp-type-btn{background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);border-radius:12px;color:#ffffff80;cursor:pointer;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .18s cubic-bezier(.34,1.56,.64,1)}.pfp-type-btn:hover{background:color-mix(in srgb,var(--type-color) 18%,rgba(255,255,255,.06));border-color:color-mix(in srgb,var(--type-border, var(--type-color)) 55%,transparent);color:#ffffffd9;transform:translateY(-2px) scale(1.03)}.pfp-type-btn.active{background:color-mix(in srgb,var(--type-color) 26%,rgba(255,255,255,.06));border-color:var(--type-border, var(--type-color));color:#fff;transform:translateY(-1px);box-shadow:0 0 10px color-mix(in srgb,var(--type-border, var(--type-color)) 35%,transparent),inset 0 1px #ffffff1f}.pfp-type-symbol{font-size:1.5rem;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}.pfp-type-name{font-family:var(--font-pixel);font-size:.44rem;letter-spacing:.06em;text-transform:uppercase}.pfp-shuffle-btn{background:#ffffff14;border:1px solid color-mix(in srgb,var(--type-color-a, #FF8F00) 50%,transparent);border-radius:10px;color:var(--type-color-b, #FFCB05);cursor:pointer;font-family:var(--font-pokemon);font-size:.78rem;letter-spacing:.04em;padding:10px 16px;width:100%;margin-bottom:8px;transition:all .2s}.pfp-shuffle-btn:hover{background:#ffffff1f;border-color:var(--type-color-b)}.pfp-download-btn{background:linear-gradient(135deg,var(--type-color-a, #FF8F00),var(--type-color-b, #FFCB05));border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#000000d1;cursor:pointer;font-family:var(--font-pokemon);font-size:.88rem;letter-spacing:.06em;padding:15px 20px;width:100%;margin-top:4px;transition:all .2s;text-shadow:0 1px 0 rgba(255,255,255,.2);box-shadow:0 4px 24px color-mix(in srgb,var(--type-color-b, #FFCB05) 28%,transparent),inset 0 1px #ffffff40}.pfp-download-btn:not(:disabled):hover{filter:brightness(1.08) saturate(1.1)}.pfp-download-btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:780px){.pfp-modal{border-radius:20px;margin:0}.pfp-body{grid-template-columns:1fr;gap:20px;padding:14px 16px 24px}.pfp-preview{position:static;align-items:center}.pfp-canvas-wrapper{max-width:300px;margin:0 auto}.pfp-canvas{width:100%;height:auto}.pfp-type-grid{grid-template-columns:repeat(3,1fr)}}
