@keyframes otFlash{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{opacity:1;transform:scale(2.4)}}@keyframes otScan{0%{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}@keyframes otBlink{50%{opacity:0}}@media (width<=900px){.roster-stage{justify-content:flex-start;padding-left:16px;padding-right:16px}.roster-alien{height:calc(120px * var(--s,1));margin:0 -6px}.roster-img{max-width:160px}}@media (prefers-reduced-motion:reduce){#home.playing:before,.xp-detail.is-active,.roster-sub:after{animation:none}.roster-img,.roster-name{transition:none}}:root{--red:#e3350d;--red-dark:#b4250a;--ink:#1a1a2e;--band:#212121;--card:#fffef7;--card-line:#2b2b3a;--gold:#ffcb05;--blue:#3d7dca;--grass-mid:#a8e07a}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;background:#7ac07a;font-family:Inter,Segoe UI,system-ui,sans-serif}.view{opacity:0;visibility:hidden;transition:opacity .45s;position:absolute;inset:0}.view.is-active{opacity:1;visibility:visible}#home{background-color:#7ec04f;background-image:url(/assets/grass-B0LPDSSl.jpg),linear-gradient(#9fd15e,#7cbd51 60%,#5ea23f);background-position:50%,50%;background-repeat:no-repeat,no-repeat;background-size:cover,cover;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;overflow:hidden}#home:before,#home:after,.wind,.bloom{display:none}.wind{z-index:1;pointer-events:none;mix-blend-mode:soft-light;background:repeating-linear-gradient(115deg,#fff0 0,#ffffff0d 70px,#fff0 150px);animation:11s linear infinite windmove;position:absolute;inset:-20%}@keyframes windmove{0%{transform:translate(-10%)}to{transform:translate(10%)}}.clump{z-index:2;transform-origin:bottom;animation:sway var(--dur,3.5s) ease-in-out infinite alternate;animation-delay:var(--delay,0s);pointer-events:none;filter:drop-shadow(0 3px 2px #0000001f);position:absolute}.clump svg{display:block}@keyframes sway{0%{transform:rotate(calc(var(--amp,6deg) * -1))}to{transform:rotate(var(--amp,6deg))}}.mote{z-index:2;pointer-events:none;width:6px;height:6px;animation:drift var(--dur,12s) linear infinite;animation-delay:var(--delay,0s);background:radial-gradient(circle,#ffffffe6,#fff0 70%);border-radius:50%;position:absolute}@keyframes drift{0%{margin-left:-180px}to{margin-left:105vw}}.sprite{z-index:3;pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.sprite .shadow{background:radial-gradient(#00000040,#0000 70%);width:60%;height:12px;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.sprite .hop{animation:hop var(--hop,.5s) ease-in-out infinite;transform-origin:bottom;filter:drop-shadow(0 2px 2px #0000002e);display:block}@keyframes hop{0%,to{transform:translateY(0)scaleY(1)}40%{transform:translateY(-18%)scaleY(1.03)}50%{transform:translateY(-20%)scaleY(1.04)}75%{transform:translateY(0)scaleY(.96)}}.home-inner{z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:30px;height:100%;display:flex;position:relative}.bloom{filter:blur(4px);pointer-events:none;background:radial-gradient(circle,#ffffff8c 0%,#fff0be59 32%,#fff0 68%);border-radius:50%;width:clamp(340px,60vw,560px);height:clamp(340px,60vw,560px);animation:2.6s ease-in-out infinite bloompulse;position:absolute}@keyframes bloompulse{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}.poke-stage{z-index:2;animation:3.6s ease-in-out infinite float;position:relative}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.pokeball{cursor:pointer;filter:drop-shadow(0 26px 22px #00000061);background:0 0;border:none;border-radius:50%;width:clamp(250px,44vw,380px);height:clamp(250px,44vw,380px);padding:0;animation:1.6s ease-in-out infinite heartbeat;position:relative}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.07)}30%{transform:scale(1)}45%{transform:scale(1.04)}60%{transform:scale(1)}}.pokeball span{display:block;position:absolute}.pb-top,.pb-bottom{width:100%;height:50%;left:0}.pb-top{background:radial-gradient(135% 130% at 40% 20%,#ff9887 0%,#f0503f 40%,#cf2c1b 78%,#a71e11 100%);border-radius:50% 50% 0 0/100% 100% 0 0;top:0}.pb-bottom{background:radial-gradient(135% 130% at 42% 82%,#fff 0%,#f1f1f1 48%,#d3d3d3 82%,#bcbcbc 100%);border-radius:0 0 50% 50%/0 0 100% 100%;bottom:0}.pb-band{z-index:1;background:#17181c;width:100%;height:10px;top:calc(50% - 5px);left:0}.pokeball:before{content:"";z-index:2;pointer-events:none;border:2px solid #0f10148c;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 -16px 28px #00000047,inset 0 12px 22px #ffffff38}.pb-button{z-index:3;background:radial-gradient(circle at 42% 38%,#fff 0%,#ececec 62%,#cfcfcf 100%);border:7px solid #17181c;border-radius:50%;width:26%;height:26%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 4px #fff,0 2px 4px #0000004d}.pb-shine{z-index:4;pointer-events:none;background:radial-gradient(circle at 35% 35%,#ffffffd9,#ffffff40 45%,#fff0 70%);border-radius:50%;width:46%;height:34%;top:8%;left:12%;transform:rotate(-18deg)}.pb-sparkle{z-index:5;pointer-events:none;clip-path:polygon(50% 0%,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0% 50%,42% 42%);filter:drop-shadow(0 0 3px #fffc);background:#fff;width:15%;height:15%;animation:2.4s ease-in-out infinite twinkle;top:18%;left:24%}@keyframes twinkle{0%,to{opacity:0;transform:scale(.3)rotate(0)}50%{opacity:.95;transform:scale(1)rotate(20deg)}}.pokeball:hover{animation-play-state:paused;transform:scale(1.12)}.pokeball.shake{animation:.5s ease-in-out 2 shake}@keyframes shake{0%{transform:rotate(0)scale(1.06)}20%{transform:rotate(-16deg)scale(1.06)}40%{transform:rotate(12deg)scale(1.06)}60%{transform:rotate(-10deg)scale(1.06)}80%{transform:rotate(8deg)scale(1.06)}to{transform:rotate(0)scale(1.06)}}.pokeball.spin{animation:.7s cubic-bezier(.5,0,.3,1) spin}@keyframes spin{0%{transform:rotate(0)scale(1.05)}to{transform:rotate(720deg)scale(1.05)}}.beam{transform-origin:0;filter:drop-shadow(0 0 12px #fff096f2)drop-shadow(0 0 26px #ffffffd9);z-index:10;pointer-events:none;will-change:transform;background:linear-gradient(90deg,#fff0 0%,#ffffff59 8%,#fff 55%,#ffe58a 100%);border-radius:999px;height:20px;position:fixed;transform:rotate(0)scaleX(0)}.sprite.captured{filter:brightness(2.4)drop-shadow(0 0 12px #fff);transition:transform .55s cubic-bezier(.5,0,.9,.35),opacity .55s ease-in}.catch-ring{opacity:0;z-index:10;pointer-events:none;border:5px solid #fffffff2;border-radius:50%;width:46px;height:46px;animation:.5s ease-out forwards ringpop;position:fixed;transform:translate(-50%,-50%)scale(.2)}@keyframes ringpop{0%{opacity:.95;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(2.6)}}.pokeball.open .pb-top{animation:.5s ease-in forwards openTop}.pokeball.open .pb-bottom{animation:.5s ease-in forwards openBottom}.pokeball.open .pb-button{box-shadow:0 0 40px 20px #fff,inset 0 0 0 4px #fff}@keyframes openTop{to{opacity:.2;transform:translateY(-120%)rotate(-8deg)}}@keyframes openBottom{to{opacity:.2;transform:translateY(120%)rotate(8deg)}}.hint{color:#2f5d2f;letter-spacing:.12em;text-transform:uppercase;background:#ffffff8c;border:2px solid #2f5d2f59;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;animation:1.25s ease-in-out infinite hintpulse}@keyframes hintpulse{0%,to{opacity:.65}50%{opacity:1}}.flash{z-index:20;opacity:0;pointer-events:none;background:radial-gradient(circle,#fff,#fff);border-radius:50%;position:absolute;inset:0;transform:scale(0)}.flash.go{animation:.55s ease-out forwards flashOut}@keyframes flashOut{0%{opacity:1;transform:scale(0)}70%{opacity:1;transform:scale(2.6)}to{opacity:1;transform:scale(2.6)}}.flash.fade{animation:.5s ease-in forwards flashFade}@keyframes flashFade{to{opacity:0;transform:scale(2.6)}}.flash.burst{animation:.55s ease-out forwards burst}@keyframes burst{0%{opacity:0;transform:scale(.2)}35%{opacity:.85;transform:scale(1.1)}to{opacity:0;transform:scale(1.45)}}.avatar{opacity:0;z-index:6;pointer-events:none;will-change:transform, opacity;width:clamp(170px,27vw,250px);position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)scale(0)}.avatar svg{filter:drop-shadow(0 14px 16px #00000047);width:100%;height:auto;display:block}.avatar.show{animation:.85s cubic-bezier(.2,1.35,.35,1) forwards emerge}@keyframes emerge{0%{opacity:0;transform:translate(-50%,8%)scale(.14)}55%{opacity:1}to{opacity:1;transform:translate(-50%,-46%)scale(1)}}.avatar.show svg{animation:2.4s ease-in-out .85s infinite avbob}@keyframes avbob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}#info{background:linear-gradient(#cdeaf8 0%,#dceff3 30%,#e8f2ec 52%,#dcecd4 74%,#c7e2bb 100%);font-family:Inter,system-ui,sans-serif;overflow:hidden auto}.page-in{z-index:9999;pointer-events:none;background:#fff;animation:.5s ease-out forwards pageIn;position:fixed;inset:0}@keyframes pageIn{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.page-in{display:none}}.scene{z-index:0;pointer-events:none;height:0;position:sticky;top:0}.cloud{opacity:.9;filter:drop-shadow(0 8px 10px #7896b42e);background:#fff;border-radius:50%;width:46px;height:46px;position:absolute}.cloud:before,.cloud:after{content:"";background:#fff;border-radius:50%;position:absolute}.cloud:before{width:62px;height:62px;top:8px;left:24px}.cloud:after{width:38px;height:38px;top:12px;left:-16px}.cloud.c1{animation:70s linear infinite drift;top:34px;left:6%;transform:scale(.9)}.cloud.c2{animation:96s linear -22s infinite drift;top:74px;left:42%;transform:scale(1.15)}.cloud.c3{animation:60s linear -36s infinite drift;top:18px;left:68%;transform:scale(.7)}.cloud.c4{animation:112s linear -55s infinite drift;top:104px;left:86%;transform:scale(1)}.site{grid-template-columns:330px 1fr;align-items:start;gap:28px;max-width:1080px;margin:0 auto;padding:40px 32px 72px;display:grid}.site-top{grid-column:1/-1;align-items:center;gap:12px;margin-bottom:2px;display:flex}.pdx-back{color:#2b3560;cursor:pointer;background:#fff;border:none;border-radius:12px;align-items:center;gap:9px;height:42px;padding:0 18px 0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex;box-shadow:0 6px 16px #1f2d4714}.pdx-back:hover{background:#f3f5f8}.pdx-back-arrow{font-size:18px;line-height:1}.side{text-align:center;background:#fff;border:1px solid #2b35600d;border-radius:24px;padding:20px 24px 24px;position:sticky;top:40px;box-shadow:0 18px 46px #1f2d471a}.side-tag{letter-spacing:.14em;text-transform:uppercase;color:#9aa3b4;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;font-size:11px;font-weight:800;display:flex}.mini-ball{box-sizing:border-box;background:linear-gradient(#e3350d 0 42%,#22252b 42% 58%,#fff 58% 100%);border:2px solid #22252b;border-radius:50%;width:14px;height:14px}.side-hero{background:linear-gradient(#bfe6f6 0%,#d6eef1 50%,#c7dd86 72%,#9cc84f 100%);border-radius:18px;place-items:center;height:300px;margin-bottom:18px;display:grid;position:relative;overflow:hidden}.side-avatar{object-fit:cover;object-position:center bottom;z-index:1;transform-origin:50% 100%;width:100%;height:100%;transition:transform .22s,box-shadow .22s;position:absolute;inset:0}.side-hero{transition:transform .22s,box-shadow .22s}.side-hero:hover{transform:translateY(-3px)scale(1.04);box-shadow:0 12px 26px #143c1438,0 0 18px #7cff3a47}@keyframes idle{0%,to{transform:translate(-50%)translateY(0)rotate(-.8deg)}50%{transform:translate(-50%)translateY(-6px)rotate(.8deg)}}.side-shadow{display:none}@keyframes idleShadow{0%,to{opacity:.9;transform:translate(-50%)scale(1)}50%{opacity:.6;transform:translate(-50%)scale(.82)}}.side-hero:before{content:"";z-index:0;opacity:.9;background:#fff;border-radius:12px;width:34px;height:14px;position:absolute;top:26px;left:26px;box-shadow:15px -5px 0 -2px #fff,27px 1px 0 -4px #fff}.side-hero:after{content:"";z-index:0;background:linear-gradient(#86c14a,#6ba43a);height:34px;position:absolute;bottom:0;left:0;right:0;-webkit-mask:radial-gradient(7px at 7px 0,#0000 7px,#000 8px) 0 -7px/14px 100% repeat-x;mask:radial-gradient(7px at 7px 0,#0000 7px,#000 8px) 0 -7px/14px 100% repeat-x}.side-stats{z-index:3;pointer-events:none;opacity:0;transition:opacity .22s;position:absolute;inset:0}.side-hero:hover .side-stats{opacity:1}.side-stat{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16201aa8;border-radius:999px;align-items:baseline;gap:5px;padding:5px 10px;font-family:Poppins,sans-serif;font-size:13px;font-weight:700;transition:transform .22s;display:inline-flex;position:absolute;top:12px;transform:translateY(-5px)}.side-hero:hover .side-stat{transform:translateY(0)}.side-stat i{opacity:.7;letter-spacing:.05em;font-size:10px;font-style:normal;font-weight:800}.side-stat.ht{left:12px}.side-stat.wt{right:12px}.pdx-photo{z-index:1;background:#fff;border-radius:50%;place-items:center;width:130px;height:130px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #1f2d4724}.pdx-photo img{object-fit:cover;width:100%;height:100%}.pdx-photo span{color:#bcd6c6;font-size:52px}.side-name{color:#2b3560;font-family:Poppins,sans-serif;font-size:23px;font-weight:700}.side-role{color:#9aa3b4;margin-top:2px;font-size:14px}.side-tagline{color:#6c7791;max-width:30ch;margin:10px auto 0;font-size:13.5px;line-height:1.5}.side-block{text-align:left;margin-top:18px}.side-label{letter-spacing:.12em;text-transform:uppercase;color:#aeb6c4;margin-bottom:10px;font-size:11px;font-weight:800;display:block}.side-chips{gap:8px}.side-chips .pdx-chip{padding:6px 11px;font-size:12px}.side-facts{text-align:left;flex-direction:column;gap:8px;margin:18px 0 0;display:flex}.side-facts span{color:#3b456a;background:#f6f8fa;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;font-weight:600;display:flex}.side-facts i{font-size:15px;font-style:normal}.side-links{flex-direction:column;gap:8px;display:flex}.side-links a{color:#2b3560;background:#f6f8fa;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.side-links a:hover{background:#eef2f6}.side-links a span{color:#b3bccb}.main{box-shadow:none;background:0 0;border:none;flex-direction:column;gap:18px;padding:0;display:flex}.sec{background:#fff;border:1px solid #2b35600d;border-radius:22px;padding:22px 26px;box-shadow:0 14px 36px #1f2d4714}.sec-title{color:#2b3560;align-items:center;gap:12px;margin-bottom:18px;font-family:Poppins,sans-serif;font-size:20px;font-weight:700;display:flex}.sec-title:before{content:"";box-sizing:border-box;background:radial-gradient(circle,#fff 0 20%,#22252b 21% 32%,#0000 33%),linear-gradient(#e3350d 0 44%,#22252b 44% 56%,#fff 56% 100%);border:2px solid #22252b;border-radius:50%;flex:none;width:19px;height:19px}.sec-title:after{content:"";background:#eef1f5;flex:1;height:1px}.xp{align-items:flex-start;gap:24px;display:flex}.xp-tabs{border-left:2px solid #eef1f5;flex-direction:column;flex:0 0 148px;display:flex}.xp-co{text-align:left;cursor:pointer;color:#9aa3b4;white-space:nowrap;background:0 0;border:none;border-left:2px solid #0000;margin-left:-2px;padding:11px 16px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.xp-co:hover{color:#2b3560;background:#f6f8fa}.xp-co.is-active{color:#2fa36b;border-left-color:#2fa36b}.xp-details{flex:1;min-width:0}.xp-detail{display:none}.xp-detail.is-active{animation:.3s fadeup;display:block}.xp-detail h4{color:#2b3560;font-family:Poppins,sans-serif;font-size:17px}.xp-detail h4 span{color:#2fa36b}.xp-date{color:#9aa3b4;letter-spacing:.02em;margin:5px 0 15px;font-size:13px}.xp-detail ul{flex-direction:column;gap:11px;list-style:none;display:flex}.xp-detail li{color:#58627a;padding-left:22px;font-size:14.5px;line-height:1.6;position:relative}.xp-detail li:before{content:"▹";color:#2fa36b;position:absolute;left:2px}.pdx-tabs{scrollbar-width:none;border-bottom:1px solid #eef1f5;gap:26px;padding-top:22px;display:flex;overflow-x:auto}.pdx-tabs::-webkit-scrollbar{display:none}.pdx-tab{cursor:pointer;color:#aab1c0;white-space:nowrap;background:0 0;border:none;padding:6px 0 14px;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;transition:color .15s;position:relative}.pdx-tab:hover{color:#6b7690}.pdx-tab.is-active{color:#2b3560}.pdx-tab.is-active:after{content:"";background:#2b3560;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.pdx-panels{padding-top:24px}.pdx-panel{display:none}.pdx-panel.is-active{animation:.3s fadeup;display:block}@keyframes fadeup{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pdx-panel h3{color:#2b3560;margin-bottom:14px;font-family:Poppins,sans-serif;font-size:18px}.pdx-lead{color:#58627a;max-width:62ch;font-size:16px;line-height:1.75}.pdx-lead a{color:#2fa36b;border-bottom:1px solid #2fa36b66;font-weight:600;text-decoration:none}.pdx-lead a:hover{border-bottom-color:#2fa36b}.xp-item{border-bottom:1px solid #f0f2f6;padding:18px 0}.xp-item:first-child{padding-top:4px}.xp-item:last-child{border-bottom:none}.xp-item b{color:#2b3560;font-family:Poppins,sans-serif;font-size:16px}.xp-meta{color:#9aa3b4;font-size:13px;margin:3px 0 8px!important}.xp-item p{color:#58627a;max-width:62ch;font-size:14.5px;line-height:1.6}.pdx-chips{flex-wrap:wrap;gap:10px;display:flex}.pdx-chip{color:#3b456a;background:#eef2f6;border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:700}.pdx-chip:nth-child(6n+1){color:#4c6a2c;background:#e6f0d7}.pdx-chip:nth-child(6n+2){color:#2f5a9c;background:#dcebf8}.pdx-chip:nth-child(6n+3){color:#a25f22;background:#fbe6d0}.pdx-chip:nth-child(6n+4){color:#6a3fa0;background:#ece1fa}.pdx-chip:nth-child(6n+5){color:#a83a63;background:#fbe0ea}.pdx-chip:nth-child(6n+6){color:#886711;background:#fdefbf}.pdx-projects{counter-reset:dex;grid-template-columns:1fr 1fr;gap:14px;display:grid}.pdx-proj{counter-increment:dex;border:1px solid #2b35600f;border-radius:16px;padding:15px 18px 16px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;position:relative}.pdx-proj:before{content:"No. " counter(dex, decimal-leading-zero);letter-spacing:.05em;color:#2b356066;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.pdx-proj:nth-child(3n+1){background:#e8f1e0}.pdx-proj:nth-child(3n+2){background:#e2eef7}.pdx-proj:nth-child(3n+3){background:#f6ecdf}.pdx-proj:hover{transform:translateY(-3px);box-shadow:0 12px 24px #1f2d471f}.pdx-proj h4{color:#2b3560;font-family:Poppins,sans-serif;font-size:15.5px}.pdx-proj p{color:#6c7791;margin-top:5px;font-size:13.5px;line-height:1.55}.pdx-proj-arrow{color:#9fb0c0;font-size:17px;position:absolute;top:14px;right:16px}.pfoot{text-align:center;margin-top:4px;padding:44px 20px 0;position:relative;overflow:hidden}.pfoot-ground{z-index:0;background:linear-gradient(#8cc44f,#6ba43a);height:54px;position:absolute;bottom:0;left:0;right:0;-webkit-mask:radial-gradient(8px at 8px 0,#0000 8px,#000 9px) 0 -8px/16px 100% repeat-x;mask:radial-gradient(8px at 8px 0,#0000 8px,#000 9px) 0 -8px/16px 100% repeat-x}.pfoot-cta{z-index:2;position:relative}.pfoot-title{color:#2b3560;font-family:Poppins,sans-serif;font-size:22px;font-weight:700}.pfoot-sub{color:#9aa3b4;margin-top:6px;font-size:14px}.pfoot-btn{color:#fff;cursor:pointer;background:#2fa36b;border:none;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:13px 24px;font-family:Poppins,sans-serif;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 10px 22px #2fa36b52}.pfoot-btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px #2fa36b66}.pfoot-btn:active{transform:translateY(0)}.pfoot-btn:disabled{color:#fff;cursor:default;box-shadow:none;background:#cdd6e2;transform:none}.pfoot-count{color:#9aa3b4;margin-top:12px;font-size:13px;font-weight:600;display:block}.pfoot-stage{z-index:1;justify-content:center;align-items:flex-end;min-height:118px;margin-top:22px;display:flex;position:relative;overflow:visible}.pfoot-track{transform-origin:bottom;flex:none;justify-content:center;align-items:flex-end;transition:transform .3s;display:flex}.pfoot-mon{transform:translateY(20px) rotate(var(--rot,0deg));flex:none;margin:0 -12px;animation:.5s cubic-bezier(.2,1.35,.4,1) both monpop;position:relative}.pfoot-sprite{object-fit:contain;filter:drop-shadow(0 6px 8px #0000001f);width:100%;height:100%;transition:transform .18s;display:block}.pfoot-mon:hover{z-index:6}.pfoot-mon:hover .pfoot-sprite{transform:translateY(-7px)scale(1.07)}.pfoot-name{transform-origin:bottom;transform:translateX(-50%) translateY(4px) scale(var(--inv,1));color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#2b3560;border-radius:999px;padding:5px 11px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 4px);left:50%;box-shadow:0 8px 16px #1f2d474d}.pfoot-name:after{content:"";border:5px solid #0000;border-top-color:#2b3560;position:absolute;top:100%;left:50%;transform:translate(-50%)}.pfoot-mon:hover .pfoot-name{opacity:1;transform:translateX(-50%) translateY(0) scale(var(--inv,1))}.legal{z-index:2;color:#ffffffa8;text-align:center;background:#52822c;padding:12px 20px 15px;font-size:10px;line-height:1.5;position:relative}.legal p{max-width:540px;margin:0 auto}.legal p+p{margin-top:3px}.legal a{color:#ffffffe6}.legal-sign{color:#ffffffd1;margin-top:7px}@keyframes monpop{0%{opacity:0;transform:translateY(74px)scale(.4)rotate(0)}60%{opacity:1}to{opacity:1;transform:translateY(20px) scale(1) rotate(var(--rot,0deg))}}@media (width<=820px){.site{grid-template-columns:1fr;padding:24px 18px 56px}.side{min-width:0;position:static}.main{min-width:0;padding:8px 20px 16px}.pdx-projects{grid-template-columns:1fr}.xp{flex-direction:column;align-items:stretch;gap:16px}.xp-tabs{scrollbar-width:none;border-bottom:2px solid #eef1f5;border-left:none;flex-direction:row;flex:none;min-width:0;overflow-x:auto}.xp-tabs::-webkit-scrollbar{display:none}.xp-co{border-bottom:2px solid #0000;border-left:none;margin-bottom:-2px;margin-left:0}.xp-co.is-active{border-bottom-color:#2fa36b;border-left-color:#0000}}.tcg{background:linear-gradient(150deg,#f2f3f5 0%,#c7c9cf 22%,#eceef1 45%,#b9bcc4 70%,#dcdee3 100%);border-radius:22px;padding:12px;position:relative;box-shadow:0 22px 50px #00000073,inset 0 0 0 1px #ffffff8c}.tcg-inner{background:radial-gradient(120% 82% at 50% 0,#dcf4ab 0%,#b8e283 28%,#90d060 58%,#6dbb4a 100%);border-radius:14px;padding:14px 14px 16px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #e8c54e,inset 0 0 0 5px #00000026}.tcg-topbar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.tcg-stage{letter-spacing:.06em;color:#333;background:linear-gradient(#f5f5f7,#c9ccd3);border:1px solid #00000040;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800}.tcg-name{color:#171717;letter-spacing:-.01em;text-shadow:0 1px #ffffff73;flex:1;font-size:26px;font-weight:800;line-height:1}.tcg-hp{color:#c0392b;font-size:13px;font-weight:800}.tcg-hp b{font-size:24px}.tcg-type{filter:drop-shadow(0 1px 1px #00000059);font-size:22px}.tcg-art{background:linear-gradient(#c3ebff,#a1daf5 38%,#cfe9ad 72%,#a6d783);border:4px solid #e8c54e;border-radius:8px;height:236px;position:relative;overflow:hidden;box-shadow:0 3px 8px #00000040,inset 0 0 0 2px #0003}.tcg-rays{mix-blend-mode:screen;opacity:.55;pointer-events:none;background:repeating-conic-gradient(#ffffff4d 0deg 4deg,#fff0 4deg 17deg);width:200%;height:200%;animation:44s linear infinite rays;position:absolute;top:20%;left:50%;transform:translate(-50%,-20%)}@keyframes rays{to{transform:translate(-50%,-20%)rotate(360deg)}}.tcg-photo{place-items:center;display:grid;position:absolute;inset:0}.tcg-photo img{object-fit:cover;width:100%;height:100%}.tcg-photo span{color:#ffffffe6;filter:drop-shadow(0 2px 5px #00000059);font-size:62px}.tcg-strip{color:#333;text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(#eceef1,#c9ccd3);border:1px solid #00000047;border-radius:6px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 6px;margin:9px 0 4px;padding:5px 10px;font-size:11px;font-weight:800;display:flex}.tcg-strip span:not(:last-child):after{content:"·";opacity:.5;margin-left:8px}.tcg-move{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 2px 8px;display:grid}.tcg-energy{gap:3px;display:flex}.tcg-energy i{border:2px solid #0000004d;border-radius:50%;width:18px;height:18px}.e-grass{background:radial-gradient(circle at 40% 35%,#9be07a,#5aa83f)}.e-colorless{background:radial-gradient(circle at 40% 35%,#fff,#d7d7d7)}.tcg-move-name{color:#171717;font-size:18px;font-weight:800}.tcg-move-tag{color:#4a7a2e;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.tcg-move-desc{color:#2f3a25;grid-column:1/-1;margin-top:2px;font-size:13px}.tcg-sec{border-top:1px solid #00000029;padding:13px 2px}.tcg-sec h2{color:#171717;align-items:center;gap:8px;margin-bottom:9px;font-size:16px;display:flex}.tcg-sec h2 .dot{background:radial-gradient(circle at 40% 35%,#9be07a,#4f9a35);border:2px solid #0000004d;border-radius:50%;flex:none;width:14px;height:14px}.tcg-sec>p{color:#243018;font-size:14px;line-height:1.55}.ph{color:#5c6b4a;font-style:italic}.tcg .chip{color:#2f5a1e;text-shadow:none;background:#fff;border:2px solid #4f9a35;box-shadow:0 2px #0000001f}.tl{padding-left:18px;list-style:none;position:relative}.tl:before{content:"";background:#00000038;width:2px;position:absolute;top:6px;bottom:6px;left:5px}.tl li{padding:0 0 14px 8px;position:relative}.tl li:last-child{padding-bottom:0}.tl li:before{content:"";background:#4f9a35;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-18px;box-shadow:0 0 0 1px #0000004d}.tl-when{color:#3f7a26;font-size:12px;font-weight:800;display:inline-block}.tl b{color:#171717;margin:2px 0;font-size:14.5px;display:block}.tl p{color:#33402a;font-size:13px;line-height:1.5}.tcg-footer{border-top:1px solid #0003;margin-top:6px;padding-top:11px}.tcg-flavor{color:#2f3a25;padding:0 4px;font-size:12.5px;font-style:italic;line-height:1.5}.tcg-cred{color:#34421f;opacity:.85;justify-content:space-between;margin-top:8px;padding:0 4px;font-size:10px;display:flex}.trainer-card{background:linear-gradient(135deg, var(--blue), #2f6bb5);color:#fff;border:5px solid #fff;border-radius:22px;align-items:center;gap:20px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000040,0 0 0 5px #0000001f}.trainer-card:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff47 50%,#0000 70%);animation:5s linear infinite holo;position:absolute;inset:0;transform:translate(-30%)}@keyframes holo{to{transform:translate(60%)}}.tc-badge{letter-spacing:.1em;background:var(--gold);color:#3a2f00;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;position:absolute;top:12px;right:14px}.tc-avatar{border:5px solid var(--gold);background:#eaf2ff;border-radius:50%;flex:none;place-items:center;width:108px;height:108px;display:grid;overflow:hidden}.tc-avatar img{object-fit:cover;width:100%;height:100%}.tc-avatar-placeholder{color:var(--blue);font-size:46px}.tc-name{text-shadow:2px 2px #0000004d;font-size:30px;line-height:1.1}.tc-role{opacity:.95;margin-top:4px;font-weight:600}.tc-stats{flex-wrap:wrap;gap:18px;margin-top:12px;font-size:13px;display:flex}.tc-stats b{color:var(--gold);font-size:18px;display:block}.dex-card{background:linear-gradient(135deg, var(--blue), #2f6bb5);color:#fff;border:5px solid #fff;border-radius:22px;padding:22px;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000040,0 0 0 5px #0000001f}.dex-card:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff47 50%,#0000 70%);animation:5s linear infinite holo;position:absolute;inset:0;transform:translate(-30%)}.dex-top{z-index:1;align-items:center;gap:20px;display:flex;position:relative}.dex-id{min-width:0}.dex-species{color:var(--gold);opacity:.95;margin-top:3px;font-style:italic;font-weight:700}.dex-types{margin-top:10px}.dex-types .chip{padding:6px 12px;font-size:12px}.dex-vitals{z-index:1;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;display:grid;position:relative}.dex-vitals>div{text-align:center;background:#ffffff24;border:1px solid #ffffff47;border-radius:12px;padding:8px 10px}.dex-vitals span{letter-spacing:.05em;opacity:.85;text-transform:uppercase;font-size:11px;display:block}.dex-vitals b{color:#fff;margin-top:3px;font-size:14px;display:block}.dex-flavor{z-index:1;background:#00000029;border-radius:12px;margin-top:16px;padding:12px 14px;font-size:14.5px;line-height:1.55;position:relative}.panel-sub{color:#999;font-size:13px;font-weight:600}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(24px)}.reveal.in-view{opacity:1;transform:none}.stats{flex-direction:column;gap:10px;display:flex}.stat{grid-template-columns:92px 1fr 34px;align-items:center;gap:12px;display:grid}.stat-name{color:var(--ink);font-size:14px;font-weight:700}.stat-bar{background:#ececf2;border:1px solid #d6d6e0;border-radius:999px;height:14px;overflow:hidden}.stat-bar i{background:linear-gradient(90deg,#7ac74c,#4caf50);border-radius:999px;width:0;height:100%;transition:width 1s cubic-bezier(.2,.8,.2,1) .1s;display:block}.in-view .stat-bar i{width:var(--v)}.stat-val{color:var(--ink);text-align:right;font-size:14px;font-weight:800}.evo-chain{align-items:stretch;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.evo-stage{border:3px solid var(--card-line);text-align:center;opacity:.35;background:#fff;border-radius:14px;flex:1 1 0;min-width:108px;padding:12px 8px;transition:opacity .4s,transform .4s;position:relative;overflow:hidden;transform:scale(.96)}.evo-stage.evolved{opacity:1;transform:scale(1)}.evo-stage:after{content:"";opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.evo-stage.evolving:after{animation:.6s ease-out evoflash}@keyframes evoflash{0%{opacity:0}40%{opacity:.95}to{opacity:0}}.evo-orb{border:3px solid var(--blue);background:radial-gradient(circle at 35% 30%,#fff,#e9eefb);border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 8px;font-size:26px;display:grid}.evo-stage h3{color:var(--red-dark);font-size:14px}.evo-when{color:var(--blue);margin:2px 0 6px;font-size:12px;font-weight:700}.evo-note{color:#555;font-size:12px;line-height:1.4}.evo-arrow{color:var(--red-dark);flex-direction:column;flex:none;align-self:center;align-items:center;font-size:11px;font-weight:800;display:flex}.evo-arrow:before{content:"▸";color:var(--red);font-size:22px;line-height:1}.team{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.team-mon{border:3px solid var(--card-line);background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:transform .15s,box-shadow .15s;display:flex}.team-mon:hover{transform:translateY(-4px);box-shadow:0 10px 18px #00000026}.team-orb{border:3px solid #0000002e;border-radius:50%;place-items:center;width:48px;height:48px;font-size:15px;font-weight:800;display:grid;box-shadow:inset 0 -4px #00000026}.team-name{color:var(--ink);font-size:13.5px;font-weight:800}.team-type{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.panel{background:var(--card);border:4px solid var(--card-line);border-radius:16px;margin-top:20px;padding:18px 20px;box-shadow:0 8px #0000001f}.panel-title{color:var(--ink);align-items:center;gap:10px;margin-bottom:12px;font-size:19px;display:flex}.panel-title i{background:linear-gradient(var(--red) 0 50%, #fff 50% 100%);border:3px solid var(--band);border-radius:50%;flex:none;width:18px;height:18px}.panel-body{line-height:1.6}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{color:#fff;letter-spacing:.03em;text-shadow:1px 1px #00000040;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:800;box-shadow:inset 0 -3px #0003}.t-electric{color:#5a4a00;text-shadow:none;background:#f7d02c}.t-water{background:#6390f0}.t-grass{background:#7ac74c}.t-fire{background:#ee8130}.t-psychic{background:#f95587}.t-steel{color:#2b2b3a;text-shadow:none;background:#b7b7ce}.projects{grid-template-columns:1fr 1fr;gap:14px;display:grid}.project{color:inherit;border:3px solid var(--card-line);background:#fff;border-radius:14px;padding:14px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.project:hover{transform:translateY(-4px);box-shadow:0 10px 18px #0000002e}.project h3{color:var(--red-dark);margin-bottom:6px;font-size:16px}.project p{color:#444;font-size:13.5px;line-height:1.5}.links{flex-wrap:wrap;gap:12px;display:flex}.link{color:#fff;background:var(--red);border:3px solid var(--band);border-radius:999px;padding:10px 18px;font-weight:700;text-decoration:none;transition:transform .12s;box-shadow:0 4px #00000040}.link:hover{transform:translateY(-2px)}.close-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:999px;margin:34px auto 0;padding:12px 26px;font-size:14px;font-weight:700;display:block;box-shadow:0 5px #0000004d}.close-btn:active{transform:translateY(3px);box-shadow:0 2px #0000004d}@media (prefers-reduced-motion:reduce){.pokeball,.poke-stage,.pokeball:after,.hint,.trainer-card:before,.dex-card:before,.wind,.clump,.mote,.bloom,.pb-sparkle,.sprite .hop,.tcg-rays,.cloud,.side-shadow{animation:none!important}.side-avatar{animation:none!important;transform:translate(-50%)!important}.reveal,.evo-stage{opacity:1!important;transform:none!important}.stat-bar i{transition:none!important}}@media (width<=560px){.pokeball{width:150px;height:150px}.trainer-card{text-align:center;flex-direction:column}.tc-stats{justify-content:center}.projects{grid-template-columns:1fr}.dex-top{text-align:center;flex-direction:column}.dex-types{justify-content:center}.dex-vitals,.team{grid-template-columns:repeat(2,1fr)}.stat{grid-template-columns:78px 1fr 30px}}:root{--ot-green:#3fbf1f;--ot-neon:#7cff3a;--ot-ink:#0d1510;--ot-soft:#3fbf1f1a;--ot-line:#3fbf1f59;--ot-glow:0 0 0 1px #3fbf1f59, 0 8px 24px #3fbf1f38;--ot-head:"Chakra Petch", "Poppins", sans-serif;--ot-dial:conic-gradient(from 45deg, var(--ot-neon) 0 25%, var(--ot-ink) 0 50%, var(--ot-neon) 0 75%, var(--ot-ink) 0)}#home .hint{font-family:var(--ot-head);text-transform:uppercase;letter-spacing:.12em;color:var(--ot-ink);border-color:var(--ot-line)}#home .hint:before{content:"";background:var(--ot-dial);border-radius:50%;width:14px;height:14px;box-shadow:0 0 8px #7cff3acc}#home.playing:before{content:"";z-index:4;pointer-events:none;background:radial-gradient(circle,#7cff3ae6 0,#7cff3a4d 30%,#0000 60%);animation:.6s ease-out forwards otFlash;position:absolute;inset:0}.page-in{background:#f4ffe9!important}.side,.sec{border-top:3px solid var(--ot-green)!important}.side-name,.sec-title,.xp-detail h4,.pdx-proj h4{font-family:var(--ot-head)!important}.sec-title{letter-spacing:.03em}.sec-title:after{background:linear-gradient(90deg, var(--ot-line), transparent)!important}.side-label,.side-tag{font-family:var(--ot-head);letter-spacing:.16em}.mini-ball,.sec-title:before{background:var(--ot-dial)!important;border:2px solid var(--ot-ink)!important;border-radius:50%!important;box-shadow:0 0 8px #7cff3a8c!important}.pdx-lead a,.xp-detail h4 span{color:var(--ot-green)!important;border-color:var(--ot-line)!important}.side-hero{box-shadow:inset 0 0 0 2px var(--ot-line)}.side-hero:hover{box-shadow:inset 0 0 0 2px var(--ot-green), 0 0 24px #7cff3a59}.side-links a:hover{box-shadow:var(--ot-glow);border-color:var(--ot-green)!important;color:var(--ot-ink)!important}.pdx-back{font-family:var(--ot-head);transition:box-shadow .2s,transform .2s,background .2s,color .2s;border:1px solid var(--ot-line)!important}.pdx-back:hover{background:var(--ot-ink)!important;color:var(--ot-neon)!important;box-shadow:var(--ot-glow)!important}.xp-co{font-family:var(--ot-head)}.xp-co.is-active{color:var(--ot-green)!important;border-color:var(--ot-green)!important;background:linear-gradient(90deg, var(--ot-soft), transparent)!important}.xp-detail li:before{color:var(--ot-green)!important}.xp-detail.is-active{animation:.45s ease-out otScan}.pdx-proj:hover{box-shadow:var(--ot-glow)!important}.pdx-proj-arrow{color:var(--ot-green)!important}.roster{text-align:center;padding:44px 20px 0;position:relative;overflow:hidden}.roster-head{z-index:2;position:relative}.roster-kicker{font-family:var(--ot-head);letter-spacing:.22em;text-transform:uppercase;color:var(--ot-ink);align-items:center;gap:9px;font-size:15px;font-weight:700;display:inline-flex}.roster-sub{font-family:var(--ot-head);letter-spacing:.14em;text-transform:uppercase;color:var(--ot-green);margin-top:6px;font-size:12px}.roster-sub:after{content:"_";animation:1s step-end infinite otBlink}.roster-stage{z-index:1;scrollbar-width:none;justify-content:safe center;align-items:flex-end;margin-bottom:-14px;padding:40px 24px 0;display:flex;position:relative;overflow:auto hidden}.roster-stage::-webkit-scrollbar{display:none}.roster-alien{cursor:pointer;height:calc(min(130px, 9.5vw) * var(--s,1));outline:none;flex:none;justify-content:center;align-items:flex-end;margin:0 -10px;display:flex;position:relative}.roster-img{object-fit:contain;object-position:bottom;transform-origin:bottom;filter:drop-shadow(0 6px 5px #1428142e);width:auto;max-width:min(170px,13vw);height:100%;transition:transform .25s,filter .25s}.roster-alien:hover,.roster-alien:focus-visible{z-index:200!important}.roster-alien:hover .roster-img,.roster-alien:focus-visible .roster-img{filter:drop-shadow(0 0 10px #7cff3abf)drop-shadow(0 6px 5px #1428142e);transform:translateY(-8px)scale(1.06)}.roster-name{font-family:var(--ot-head);letter-spacing:.08em;text-transform:uppercase;color:var(--ot-neon);background:var(--ot-ink);white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,6px)}.roster-alien:hover .roster-name,.roster-alien:focus-visible .roster-name{opacity:1;transform:translate(-50%)}@media (width<=900px){.roster-stage{justify-content:flex-start;padding-left:16px;padding-right:16px}.roster-alien{height:calc(120px * var(--s,1));margin:0 -6px}.roster-img{max-width:160px}}@media (prefers-reduced-motion:reduce){#home.playing:before,.xp-detail.is-active,.roster-sub:after{animation:none}.roster-img,.roster-name{transition:none}}.xp-detail h4 .xp-co-link{color:inherit;border:0;text-decoration:none}.xp-detail h4 .xp-co-link:hover{text-underline-offset:3px;text-decoration:underline}.xp-logo{object-fit:contain;vertical-align:middle;mix-blend-mode:multiply;border-radius:4px;width:auto;max-width:64px;height:22px;margin-right:7px}.xp-detail h4 .xp-logo{height:20px;margin:-3px 6px 0 2px}.xp-co .xp-logo{margin-top:-2px}#info{--portfolio-background:oklch(97.8% .003 95);--portfolio-surface:oklch(100% 0 0);--portfolio-muted-surface:oklch(95.6% .004 130);--portfolio-foreground:oklch(20% .012 150);--portfolio-muted:oklch(36% .014 150);--portfolio-meta:oklch(44% .014 150);--portfolio-accent:oklch(48% .125 142);--portfolio-secondary:oklch(39% .065 150);--portfolio-accent-soft:oklch(96% .02 142);--portfolio-border:oklch(89.5% .011 140);--portfolio-shadow:0 6px 22px color-mix(in oklab, var(--portfolio-foreground) 5%, transparent);--portfolio-shadow-raised:0 12px 28px color-mix(in oklab, var(--portfolio-foreground) 9%, transparent);--portfolio-dial:conic-gradient(from 45deg, var(--portfolio-accent) 0 25%, var(--portfolio-foreground) 0 50%, var(--portfolio-accent) 0 75%, var(--portfolio-foreground) 0);background:var(--portfolio-background);color:var(--portfolio-foreground);letter-spacing:0;font-family:IBM Plex Sans,system-ui,sans-serif}#info .scene{display:none}#info .site{grid-template-columns:330px minmax(0,1fr);padding-top:20px}#info .profile-column{flex-direction:column;gap:18px;min-width:0;display:flex;position:sticky;top:12px}#info .profile-column .site-top{margin-bottom:0}#info .profile-column .side{position:static}#info .main{gap:24px;min-width:0}#info .side{background:var(--portfolio-surface);border-color:var(--portfolio-border);box-shadow:var(--portfolio-shadow);border-radius:8px;border-top-color:var(--portfolio-accent)!important}#info .side-hero{background:var(--portfolio-muted-surface);box-shadow:inset 0 0 0 2px var(--portfolio-border)}#info .side-hero:before,#info .side-hero:after{display:none}#info .side-hero:hover{box-shadow:inset 0 0 0 2px var(--portfolio-accent), var(--portfolio-shadow-raised)}#info .side-name,#info .sec-title,#info .xp-detail h4,#info .pdx-proj h4{color:var(--portfolio-foreground)}#info .side-role{color:var(--portfolio-secondary)}#info .side-tagline,#info .pdx-lead,#info .xp-detail li,#info .pdx-proj p{color:var(--portfolio-muted)}#info .side-label,#info .side-tag{color:var(--portfolio-muted);letter-spacing:0}#info .side-facts span,#info .side-links a{color:var(--portfolio-foreground);background:var(--portfolio-muted-surface);border-radius:6px}#info .side-links a{border:1px solid var(--portfolio-border)}#info .side-links a span{color:var(--portfolio-accent)}#info .side-links a:hover{background:var(--portfolio-accent-soft);box-shadow:none;color:var(--portfolio-foreground)!important;border-color:var(--portfolio-accent)!important}#info .side-chips .pdx-chip{font-weight:600}#info .sec{border:0;border-bottom:1px solid var(--portfolio-border);box-shadow:none;background:0 0;border-radius:0;padding:22px 26px 28px;border-top:0!important}#info .sec-title{letter-spacing:0;margin-bottom:22px}#info .sec-title:after{background:var(--portfolio-border)!important}#info .pdx-lead a,#info .xp-detail h4 span{color:var(--portfolio-accent)!important;border-color:var(--portfolio-border)!important}#info .xp-tabs{border-color:var(--portfolio-border);flex-basis:160px}#info .xp-co{color:var(--portfolio-muted);letter-spacing:0;padding-left:10px;padding-right:10px}#info .xp-co:hover{background:var(--portfolio-muted-surface);color:var(--portfolio-foreground)}#info .xp-co.is-active{color:var(--portfolio-accent)!important;background:var(--portfolio-accent-soft)!important;border-color:var(--portfolio-accent)!important}#info .xp-date{color:var(--portfolio-muted);letter-spacing:0;line-height:1.6}#info .xp-detail li:before{color:var(--portfolio-accent)!important}#info .xp-detail h4{line-height:1.5}#info .pdx-back{background:var(--portfolio-surface);color:var(--portfolio-foreground);box-shadow:none;border-radius:6px;border-color:var(--portfolio-border)!important}#info .pdx-back:hover{background:var(--portfolio-accent-soft)!important;color:var(--portfolio-accent)!important;box-shadow:none!important}#info a:focus-visible,#info .xp-co:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:4px}#info .pdx-proj{background:var(--portfolio-surface);border-color:var(--portfolio-border);border-radius:8px}#info .pdx-proj:before{color:var(--portfolio-muted);letter-spacing:0}#info .pdx-proj-arrow{color:var(--portfolio-accent)!important}#info .pdx-proj:hover{border-color:var(--portfolio-accent);box-shadow:var(--portfolio-shadow-raised)!important}#info .capstone-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;display:grid}#info .capstone-card{border:1px solid var(--portfolio-border);background:var(--portfolio-surface);min-width:0;box-shadow:var(--portfolio-shadow);border-radius:8px;padding:24px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative}#info .capstone-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}#info .capstone-role{color:var(--portfolio-secondary);font-size:12px;font-weight:600}#info .capstone-mark{border:1px solid var(--portfolio-border);background:var(--portfolio-accent-soft);border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}#info .capstone-mark:before{content:"";background:var(--portfolio-dial);border-radius:50%;width:14px;height:14px}#info .capstone-card h3{font-family:var(--ot-head);color:var(--portfolio-foreground);font-size:24px;line-height:1.3}#info .capstone-description{color:var(--portfolio-muted);margin-top:12px;font-size:15px;line-height:1.7}#info .capstone-status{color:var(--portfolio-accent);align-items:center;gap:8px;margin-top:20px;font-size:12px;font-weight:600;display:flex}#info .capstone-status:before{content:"";background:var(--portfolio-accent);border-radius:50%;flex:0 0 6px;width:6px;height:6px}#info .status-live{color:#dc2626;font-weight:700}#info .capstone-tags{border-top:1px solid var(--portfolio-border);flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:18px;list-style:none;display:flex}#info .capstone-tags li{color:var(--portfolio-muted);background:var(--portfolio-muted-surface);border-radius:4px;padding:5px 8px;font-size:11px;line-height:1.5}@media (hover:hover) and (pointer:fine){#info .capstone-card:hover{border-color:var(--portfolio-accent);box-shadow:var(--portfolio-shadow-raised);transform:translateY(-3px)scale(1.008)}}#info .roster{background:linear-gradient(180deg, var(--portfolio-background) 0, #e2f0e0 40px, #c7e2bb 100%)}#info .roster-kicker,#info .roster-sub{letter-spacing:0}#info .roster-stage{flex-direction:column;align-items:center;gap:44px;padding-bottom:14px;display:flex;overflow:visible}#info .roster-row{justify-content:center;align-items:flex-end;width:100%;min-width:0;display:flex}@media (width>=901px){#info .roster-alien{height:calc(var(--roster-height,90px) * var(--s,1))}#info .roster-img{max-width:calc(var(--roster-height,90px) * 1.31)}}@media (width<=900px){#info .roster-stage{gap:64px;padding-bottom:60px}#info .roster-alien{min-width:78px}}@media (hover:none) and (pointer:coarse){#info .roster-name{opacity:1;white-space:normal;box-sizing:border-box;letter-spacing:0;overflow-wrap:normal;width:max-content;max-width:100%;line-height:1.3;top:calc(100% + 8px);bottom:auto;transform:translate(-50%)}}@media (width<=820px){#info .site{grid-template-columns:minmax(0,1fr);padding-top:16px}#info .profile-column{position:static}#info .main{padding:8px 0 16px}#info .sec{padding-left:12px;padding-right:12px}#info .xp-tabs{border:0;flex-basis:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;overflow:visible}#info .xp-co{white-space:normal;border-bottom:2px solid #0000;margin:0;padding:10px 6px;font-size:13px;line-height:1.5}#info .xp-logo{max-width:40px}}@media (width<=420px){#info .xp-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}#info .capstone-card{padding:20px}}@media (prefers-reduced-motion:reduce){#info .capstone-card{transition:none}#info .capstone-card:hover{transform:none}#info .side-avatar{transform:none!important}}#info{--atmo-glow:oklch(86% .09 142/.38);--atmo-glow-soft:oklch(90% .06 160/.28);--atmo-ring:oklch(48% .125 142/.09);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900' viewBox='0 0 900 900' fill='none' stroke='%233d8a35' stroke-opacity='.10'%3E%3Ccircle cx='450' cy='450' r='420' stroke-width='1'/%3E%3Ccircle cx='450' cy='450' r='340' stroke-width='1' stroke-dasharray='2 14'/%3E%3Cpath d='M450 110 A340 340 0 0 1 790 450' stroke-width='2.5' stroke-opacity='.16'/%3E%3Ccircle cx='450' cy='450' r='250' stroke-width='1'/%3E%3Cpath d='M260 450 L340 450 M560 450 L640 450' stroke-width='1'/%3E%3Ccircle cx='450' cy='30' r='4' fill='%233d8a35' fill-opacity='.18' stroke='none'/%3E%3Ccircle cx='870' cy='450' r='3' fill='%233d8a35' fill-opacity='.18' stroke='none'/%3E%3C/svg%3E") no-repeat -380px -260px / 900px 900px, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700' viewBox='0 0 700 700' fill='none' stroke='%233d8a35' stroke-opacity='.08'%3E%3Ccircle cx='350' cy='350' r='330'/%3E%3Ccircle cx='350' cy='350' r='270' stroke-dasharray='1 10'/%3E%3Cpath d='M80 350 A270 270 0 0 1 350 80' stroke-width='2' stroke-opacity='.14'/%3E%3C/svg%3E") no-repeat right -320px top 120px / 700px 700px, radial-gradient(60% 45% at 8% 4%, var(--atmo-glow), transparent 70%), radial-gradient(45% 35% at 96% 8%, var(--atmo-glow-soft), transparent 70%), radial-gradient(50% 30% at 55% 48%, oklch(92% .05 150/.35), transparent 72%), radial-gradient(55% 30% at 20% 92%, oklch(90% .05 142/.3), transparent 72%), linear-gradient(170deg, oklch(96.5% .025 145) 0%, oklch(97.5% .015 160) 30%, oklch(98.2% .006 90) 60%, oklch(97.5% .004 110) 100%);background-attachment:local}#info .side{background:radial-gradient(120% 60% at 50% 0%, oklch(95% .04 142/.7), transparent 65%), var(--portfolio-surface);box-shadow:0 0 0 1px var(--portfolio-border), 0 18px 50px -18px oklch(48% .125 142/.28)}#info .main>.sec{isolation:isolate;border-bottom-color:#0000;border-radius:12px;position:relative}#info .main>.sec:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0}#info .main>.sec:first-of-type:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' fill='none'%3E%3Cpath d='M20 380 A360 360 0 0 1 380 20' stroke='%233d8a35' stroke-opacity='.09' stroke-width='1.5'/%3E%3C/svg%3E") right -60px bottom -120px/340px no-repeat,linear-gradient(120deg,oklch(97% .02 142/.6),oklch(98.5% .008 90/.4))}#info .main>.sec:nth-of-type(2):before{background:oklch(100% 0 0/.72);border:1px solid oklch(90% .01 140/.7);box-shadow:0 10px 34px -16px oklch(25% .012 150/.14)}#info .main>.sec[aria-labelledby=capstone-title]:before{background:radial-gradient(60% 80% at 20% 60%,oklch(88% .08 142/.35),#0000 70%),linear-gradient(oklch(97% .025 145/.55),oklch(98% .01 120/.3))}#info .main>.sec:last-of-type:before{background:radial-gradient(70% 90% at 85% 30%,oklch(94% .04 170/.35),#0000 70%)}#info .capstone-card{background:linear-gradient(160deg,oklch(100% 0 0) 55%,oklch(96.5% .03 142));transition-duration:.2s;overflow:hidden;box-shadow:0 0 0 1px oklch(48% .125 142/.08),0 16px 40px -18px oklch(48% .125 142/.35)}#info .capstone-card:before{content:"";pointer-events:none;border:1px solid oklch(48% .125 142/.14);border-radius:50%;width:200px;height:200px;position:absolute;bottom:-70px;right:-70px;box-shadow:0 0 0 18px oklch(48% .125 142/.03),inset 0 0 0 22px oklch(48% .125 142/.025)}#info .capstone-card:after{content:"";background:linear-gradient(90deg, var(--portfolio-accent), transparent 70%);height:3px;position:absolute;top:0;left:0;right:0}@media (hover:hover){#info .capstone-card:hover{box-shadow:0 0 0 1px oklch(48% .125 142/.3),0 22px 46px -18px oklch(48% .125 142/.45)}}#info .side-name,#info .sec-title,#info .capstone-card h3,#info .pdx-proj h4,#info .xp-detail h4{color:var(--portfolio-foreground)}#info .pdx-lead,#info .xp-detail li,#info .capstone-description,#info .pdx-proj p,#info .side-tagline{color:var(--portfolio-muted)}#info .xp-date,#info .side-label,#info .pdx-proj:before,#info .capstone-tags li{color:var(--portfolio-meta)}#info .sec-nav{z-index:5;scrollbar-width:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--portfolio-border);width:calc(100% - 52px);min-width:0;max-width:620px;box-shadow:var(--portfolio-shadow);background:oklch(100% 0 0/.82);border-radius:999px;flex-wrap:nowrap;justify-content:safe center;align-self:center;gap:2px;padding:4px;display:flex;position:sticky;top:12px;overflow-x:auto}#info .sec-nav a{white-space:nowrap;min-height:44px;color:var(--portfolio-muted);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:6px 12px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}#info .sec-nav a:hover,#info .sec-nav a:focus-visible{background:var(--portfolio-accent-soft);color:var(--portfolio-accent)}#info [id]{scroll-margin-top:64px}#info .sec-nav::-webkit-scrollbar{display:none}@media (width<=820px){#info .sec-nav{width:calc(100% - 24px)}}#info .capstone-card.is-linked{cursor:pointer}#info .capstone-cta{color:var(--portfolio-accent);text-underline-offset:4px;align-items:center;gap:6px;margin-top:18px;font-size:13.5px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .2s;display:inline-flex;position:static}#info .capstone-cta:before{content:"";z-index:2;border-radius:inherit;position:absolute;inset:0}#info .capstone-cta span{transition:transform .2s}#info .capstone-card.is-linked:hover .capstone-cta{text-decoration-color:currentColor}#info .capstone-card.is-linked:hover .capstone-cta span{transform:translate(3px)}#info .capstone-card.is-linked:focus-within{outline:2px solid var(--portfolio-accent);outline-offset:3px}#info .capstone-cta:focus-visible{outline:none}#info .legal p{max-width:720px}#info .legal .legal-disclaimer{margin-bottom:6px;font-size:11px;line-height:1.6}#info .legal .legal-disclaimer+p{color:#ffffffe0;font-size:11px}#info .legal-portfolio .legal-sign{white-space:nowrap}@media (width>=1024px){#info .legal-portfolio .legal-disclaimer{text-wrap:balance;max-width:1000px}#info .legal-portfolio .legal-disclaimer+p{white-space:nowrap;max-width:none}}#info .sec-nav{background:linear-gradient(oklch(100% 0 0/.92),oklch(97.5% .02 142/.9));border-color:oklch(48% .125 142/.22);align-items:center;gap:4px;padding:5px;box-shadow:0 0 0 4px oklch(48% .125 142/.05),0 10px 26px -14px oklch(48% .125 142/.45)}#info .sec-nav .mini-ball{flex:none;margin:0 4px 0 6px}#info .sec-nav a{font-family:var(--ot-head,"Chakra Petch"), sans-serif;text-transform:uppercase;letter-spacing:0;color:var(--portfolio-secondary);border:1px solid #0000;padding:7px 10px;font-size:12px;font-weight:600;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}#info .sec-nav a:hover,#info .sec-nav a:focus-visible{background:var(--portfolio-foreground);color:oklch(88% .2 142);border-color:var(--portfolio-foreground);outline:none;box-shadow:0 0 12px -2px oklch(70% .2 142/.55)}#info .capstone-cta{font-family:var(--ot-head,"Chakra Petch"), sans-serif;letter-spacing:.06em;text-transform:uppercase;color:oklch(100% 0 0);background:var(--portfolio-foreground);border-radius:999px;gap:10px;margin-top:20px;padding:9px 10px 9px 16px;font-size:13px;text-decoration:none;transition:background .22s,box-shadow .22s;box-shadow:0 8px 18px -10px oklch(20% .012 150/.6)}#info .capstone-cta span{background:var(--portfolio-accent);color:oklch(100% 0 0);border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid}#info .capstone-card.is-linked:hover .capstone-cta{background:var(--portfolio-secondary);box-shadow:0 0 0 3px oklch(48% .125 142/.18),0 10px 22px -10px oklch(48% .125 142/.7)}#info .capstone-card.is-linked:hover .capstone-cta span{color:var(--portfolio-foreground);background:oklch(82% .2 142)}@media (width>=821px) and (width<=1100px){#info .site{gap:22px;padding-left:24px;padding-right:24px}#info .sec{padding-left:18px;padding-right:18px}#info .xp{flex-direction:column;align-items:stretch;gap:16px}#info .xp-tabs{border:0;flex-basis:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}#info .xp-co{white-space:normal;border-bottom:2px solid #0000;border-left:0;margin:0;padding:10px 6px;font-size:13px;line-height:1.5}#info .xp-logo{max-width:40px}#info .sec-nav{width:calc(100% - 36px)}}#info .capstone-card{flex-direction:column;display:flex}#info .capstone-cta{white-space:normal;letter-spacing:0;align-self:flex-start;max-width:100%}#info span.capstone-cta{cursor:default}#info .capstone-cta span{flex:0 0 24px}#info .pdx-lead,#info .xp-detail,#info .capstone-description{overflow-wrap:anywhere}@media (width<=820px){#info .side,#info .profile-column .site-top{align-self:center;width:330px;max-width:100%}}#info .side-links a{min-height:44px}#info .side-links .resume-copy{color:var(--portfolio-foreground);text-align:left}#info .resume-copy small{color:var(--portfolio-meta);margin-top:3px;font-size:11px;font-weight:400;display:block}#info .side-links .is-pending{cursor:default;box-shadow:none;border-style:dashed}#info .side-links .is-pending:hover{background:var(--portfolio-muted-surface);border-color:var(--portfolio-border)!important}#info .sec-nav a[aria-current=location]{color:var(--portfolio-accent);background:var(--portfolio-accent-soft);border-color:var(--portfolio-accent)}#info a:focus-visible,#info button:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:3px}#info .xp-co,#info .pdx-back{min-height:44px}#info .roster-alien:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:3px}#info .side-hero{aspect-ratio:14/15;height:auto}#info .profile-column{top:12px}@media (hover:none),(pointer:coarse){#info .roster-name{opacity:1;white-space:normal;letter-spacing:0;width:max-content;max-width:100%;line-height:1.3;top:calc(100% + 8px);bottom:auto;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){#info,#info *{scroll-behavior:auto!important;transition:none!important;animation:none!important}#info .side-hero:hover,#info .roster-img{transform:none!important}}
