:root{--ink:#1e2233;--paper:#fff;--accent:#3a7bd5;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--font:-apple-system, "SF Pro Rounded", "Nunito", system-ui, "Segoe UI", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;background:#0b1020;height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}canvas{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#battle{visibility:hidden}#battle.on{visibility:visible}#ui{pointer-events:none;z-index:10;position:absolute;top:0;bottom:0;left:0;right:0}#ui>*{pointer-events:auto}#ui>.dialog{pointer-events:none}.hidden{display:none!important}.catcher{z-index:40;background:0 0;position:absolute;top:0;bottom:0;left:0;right:0}.pad{z-index:20;transition:opacity .2s;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none!important}body.talking .pad{opacity:0}body.talking .pad>*{pointer-events:none}.pad>*{pointer-events:auto}.dpad{left:22px;bottom:calc(26px + var(--safe-b));touch-action:none;border-radius:50%;width:140px;height:140px;position:absolute}.dpad-ring{-webkit-backdrop-filter:blur(6px);background:radial-gradient(circle at 50% 40%,#ffffff47,#ffffff1a);border:2px solid #ffffff59;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 6px 20px #00000040}.dpad-knob{background:radial-gradient(circle at 40% 35%,#fff,#d6dbe8);border-radius:50%;width:56px;height:56px;margin:-28px;transition:transform 60ms;position:absolute;top:50%;left:50%;box-shadow:0 4px 10px #00000059,inset 0 -3px 6px #0000001f}.arr{color:#fffc;text-shadow:0 1px 2px #0006;font-size:13px;position:absolute}.arr.u{top:8px;left:50%;transform:translate(-50%)}.arr.d{bottom:8px;left:50%;transform:translate(-50%)}.arr.l{top:50%;left:10px;transform:translateY(-50%)}.arr.r{top:50%;right:10px;transform:translateY(-50%)}.btns{right:20px;bottom:calc(34px + var(--safe-b));width:150px;height:120px;position:absolute}.btns button{width:66px;height:66px;font:900 22px var(--font);color:#fff;touch-action:none;border:0;border-radius:50%;position:absolute;box-shadow:0 6px 14px #00000059,inset 0 -4px 8px #0003,inset 0 3px 6px #ffffff59}.btn-a{background:radial-gradient(circle at 40% 35%,#ff7a6a,#e03a3a);top:0;right:0}.btn-b{background:radial-gradient(circle at 40% 35%,#7aa8ff,#3a6ad8);bottom:0;left:0}.btns button.on{filter:brightness(1.15);transform:scale(.92)}.btn-menu{right:16px;top:calc(14px + var(--safe-t));-webkit-backdrop-filter:blur(8px);background:#1418288c;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:48px;height:48px;display:flex;position:absolute;box-shadow:0 4px 12px #0000004d}.btn-menu span{background:#fff;border-radius:2px;width:22px;height:3px}.dpad{opacity:.32;left:calc(22px + var(--safe-l));transition:opacity .15s}.dpad.touching{opacity:.8}.btns{right:calc(20px + var(--safe-r))}.btns button{opacity:.38;transition:opacity .15s,transform 80ms}.btns button.on{opacity:.85}.btn-menu{opacity:.5;right:calc(16px + var(--safe-r))}.btn-menu:active{opacity:.9}.dialog{left:12px;right:12px;bottom:calc(14px + var(--safe-b));z-index:45;pointer-events:none;background:linear-gradient(#fff,#f2f4fa);border-radius:20px;min-height:108px;padding:16px 20px 18px;animation:.18s ease-out pop;position:absolute;box-shadow:0 10px 30px #00000059,inset 0 0 0 3px #2a3150,inset 0 0 0 6px #fff,inset 0 0 0 7px #c8cee0}.dialog.battle{bottom:calc(14px + var(--safe-b))}.dlg-name{color:#fff;background:#2a3150;border-radius:12px;padding:4px 14px;font-size:14px;font-weight:800;position:absolute;top:-16px;left:22px;box-shadow:0 3px 8px #0000004d}.dlg-text{white-space:pre-wrap;min-height:52px;font-size:18px;font-weight:600;line-height:1.42}.dlg-next{color:#e8423a;font-size:12px;animation:.6s infinite alternate bounce;position:absolute;bottom:10px;right:18px}@keyframes bounce{to{transform:translateY(4px)}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.97)}}.menu{right:12px;top:calc(70px + var(--safe-t));z-index:50;opacity:0;transform-origin:100% 0;background:#fffffff5;border-radius:20px;flex-direction:column;min-width:220px;max-width:calc(100% - 24px);max-height:70%;padding:10px;transition:transform .14s,opacity .14s;display:flex;position:absolute;transform:scale(.94);box-shadow:0 12px 36px #00000059,inset 0 0 0 3px #2a3150}.menu.in{opacity:1;transform:none}.menu.menu-choice{top:auto;bottom:calc(136px + var(--safe-b));transform-origin:100% 100%;min-width:140px}.menu.menu-wide{top:auto;left:12px;right:12px;bottom:calc(14px + var(--safe-b))}.menu-title{color:#6a7290;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px 8px;font-size:14px;font-weight:800}.menu-list{overflow-y:auto}.menu-item{cursor:pointer;border-left:5px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:13px 14px;font-size:17px;font-weight:700;display:flex}.menu-item.sel{border-left-color:var(--accent);background:#eaf0ff}.menu-item.disabled{opacity:.38}.mi-icon{text-align:center;width:28px;font-size:20px}.mi-label{flex:1}.mi-sub{color:#7a8098;font-size:12px;font-weight:600}.mi-right{color:#5a6280;font-size:14px;font-weight:700}.fade{opacity:0;z-index:90;background:#000;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none!important}.wipe{z-index:89;background:conic-gradient(#000 0deg 0deg,#0000 0deg);position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none!important}.wipe.go{animation:.6s ease-in forwards wipe}@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}.wipe{background:conic-gradient(#0b1020 var(--a), transparent var(--a))}@keyframes wipe{to{--a:360deg}}.toast{left:50%;top:calc(80px + var(--safe-t));opacity:0;color:#fff;z-index:95;text-align:center;background:#141828e6;border-radius:16px;max-width:86%;padding:12px 20px;font-size:15px;font-weight:700;transition:all .25s;position:absolute;transform:translate(-50%,-20px);pointer-events:none!important}.toast.show{opacity:1;transform:translate(-50%)}.banner{left:0;top:calc(16px + var(--safe-t));color:#fff;letter-spacing:.02em;z-index:15;background:linear-gradient(90deg,#141828eb,#283050d9);border-left:5px solid #ffd23a;border-radius:0 18px 18px 0;padding:10px 26px 10px 20px;font-size:17px;font-weight:800;transition:transform .35s cubic-bezier(.2,.9,.3,1.2);position:absolute;transform:translate(-110%);box-shadow:0 6px 20px #0000004d;pointer-events:none!important}.banner.show{transform:none}.panel{z-index:60;text-align:center;background:#fff;border-radius:24px;width:min(340px,90%);padding:22px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #00000080,inset 0 0 0 3px #2a3150}.panel-title{margin-bottom:14px;font-size:18px;font-weight:800}.panel input{width:100%;font:700 22px var(--font);text-align:center;-webkit-user-select:text;user-select:text;border:2px solid #c8cee0;border-radius:14px;outline:none;padding:14px}.panel input:focus{border-color:var(--accent)}.big-btn{width:100%;font:800 18px var(--font);color:#fff;background:linear-gradient(#4a8bf0,#2f66c8);border:0;border-radius:16px;margin-top:14px;padding:15px;box-shadow:0 6px 14px #2f66c866}.big-btn.alt{box-shadow:none;background:linear-gradient(#5c6488,#3c4466)}.big-btn:active{transform:scale(.97)}.screen{z-index:55;opacity:0;background:linear-gradient(#eef2fb,#dfe6f5);flex-direction:column;transition:all .2s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;transform:translateY(16px)}.screen.in{opacity:1;transform:none}.screen-head{padding:calc(12px + var(--safe-t)) 14px 12px;color:#fff;background:#2a3150;align-items:center;gap:10px;display:flex;box-shadow:0 4px 14px #0003}.back-btn{color:#fff;background:#ffffff26;border:0;border-radius:14px;width:42px;height:42px;padding-bottom:4px;font-size:30px;line-height:1}.screen-title{font-size:20px;font-weight:800}.screen-body{padding:14px 14px calc(20px + var(--safe-b));-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:1;overflow-y:auto}.pmenu{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pmenu-btn{font:800 17px var(--font);color:var(--ink);background:#fff;border:0;border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:18px 14px;display:flex;box-shadow:0 4px 14px #1e28501f}.pmenu-btn .ic{font-size:30px}.pmenu-btn.sel{box-shadow:0 0 0 3px var(--accent), 0 4px 14px #1e28501f}.trainer-card{color:#fff;background:linear-gradient(135deg,#2a3150,#48507a);border-radius:20px;margin-top:14px;padding:16px}.trainer-card .badges{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.badge{background:#ffffff1f;border-radius:50%;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.badge.on{box-shadow:0 0 10px #ffdc64cc}.mon-card{background:#fff;border:3px solid #0000;border-radius:20px;align-items:center;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex;box-shadow:0 4px 14px #1e28501a}.mon-card.sel{border-color:var(--accent)}.mon-card.ko{background:#fbe9ea}.mon-card img{object-fit:contain;width:64px;height:64px}.mon-info{flex:1;min-width:0}.mon-name{align-items:center;gap:6px;font-size:17px;font-weight:800;display:flex}.mon-lvl{color:#6a7290;font-size:13px;font-weight:700}.hpbar{background:#d8dce8;border-radius:6px;height:9px;margin-top:6px;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.hpbar>i{background:linear-gradient(#6ee87a,#2fbf4a);border-radius:6px;height:100%;transition:width .5s;display:block}.hpbar>i.mid{background:linear-gradient(#ffe066,#f2b818)}.hpbar>i.low{background:linear-gradient(#ff7a6a,#e8423a)}.hp-num{color:#6a7290;margin-top:3px;font-size:12px;font-weight:700}.type-chip{color:#fff;text-shadow:0 1px 1px #00000040;border-radius:9px;padding:2px 9px;font-size:11px;font-weight:800;display:inline-block}.status-chip{color:#fff;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:900;display:inline-block}.shiny{color:#f2b818}.summary{text-align:center}.summary img{object-fit:contain;filter:drop-shadow(0 10px 14px #00000040);width:200px;height:200px}.stat-grid{text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;margin:12px 0;font-size:14px;font-weight:700;display:grid}.stat-bar{background:#d8dce8;border-radius:5px;height:8px;overflow:hidden}.stat-bar i{background:var(--accent);border-radius:5px;height:100%;display:block}.move-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.move-pill{color:#fff;text-align:left;text-shadow:0 1px 2px #00000040;border-radius:14px;padding:10px;font-size:14px;font-weight:800}.move-pill small{opacity:.9;font-size:11px;font-weight:700;display:block}.desc{color:#4a5270;background:#fff;border-radius:16px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.4}.row-actions{gap:10px;margin-top:12px;display:flex}.row-actions .big-btn{margin-top:0}.dex-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.dex-cell{text-align:center;background:#fff;border-radius:18px;padding:8px 6px;font-size:12px;font-weight:800;box-shadow:0 3px 10px #1e285014}.dex-cell img{object-fit:contain;width:76px;height:76px}.dex-cell.unseen img{filter:brightness(0)opacity(.18)}.dex-cell .num{color:#9aa0b8;font-size:11px}.bag-tabs{gap:8px;margin-bottom:12px;display:flex}.bag-tab{font:800 14px var(--font);color:#6a7290;background:#fff;border:0;border-radius:14px;flex:1;padding:10px}.bag-tab.on{color:#fff;background:#2a3150}.item-row{background:#fff;border-radius:16px;align-items:center;gap:10px;margin-bottom:8px;padding:14px;font-weight:700;display:flex;box-shadow:0 3px 10px #1e28500f}.item-row .ico{background:#eef2fb;border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.item-row .nm{flex:1}.item-row .nm small{color:#7a8098;font-size:12px;font-weight:600;display:block}.empty{text-align:center;color:#8a90a8;padding:30px;font-weight:700}.bhud{z-index:30;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none!important}.bhud>*{pointer-events:auto}.bcard{background:#ffffffed;border-radius:18px;width:210px;padding:10px 14px 12px;transition:transform .4s cubic-bezier(.2,.9,.3,1.1),opacity .3s;position:absolute;box-shadow:0 8px 24px #0000004d}.bcard.foe{left:12px;top:calc(14px + var(--safe-t))}.bcard.me{right:12px;bottom:calc(232px + var(--safe-b))}.bcard.off.foe{opacity:0;transform:translate(-120%)}.bcard.off.me{opacity:0;transform:translate(120%)}.bcard .nm{justify-content:space-between;align-items:center;gap:6px;font-size:16px;font-weight:800;display:flex}.bcard .nm span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bcard .lv{color:#5a6280;font-size:13px}.bcard .hpbar{height:10px}.bcard .row{align-items:center;gap:6px;display:flex}.bcard .row b{color:#f2b818;font-size:10px;font-weight:900}.bcard .row .hpbar{flex:1;margin-top:4px}.bcard .hp-num{text-align:right}.xpbar{background:#d8dce8;border-radius:3px;height:5px;margin-top:5px;overflow:hidden}.xpbar i{background:linear-gradient(90deg,#4ac8ff,#3a7bd5);height:100%;transition:width .6s;display:block}.caught-dot{background:#e8423a;border:2px solid #fff;border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 1px #888}.party-dots{gap:3px;margin-top:6px;display:flex}.party-dots i{background:#4fd06a;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #0003}.party-dots i.ko{background:#c8ccd8}.bpanel{left:10px;right:10px;bottom:calc(12px + var(--safe-b));z-index:35;grid-template-columns:1fr 1fr;gap:10px;transition:transform .3s,opacity .3s;display:grid;position:absolute}.bpanel.off{opacity:0;transform:translateY(30px);pointer-events:none!important}.bbtn{color:#fff;height:74px;font:900 19px var(--font);text-shadow:0 2px 3px #00000040;border:0;border-radius:22px;justify-content:center;align-items:center;gap:8px;display:flex;box-shadow:0 6px 16px #0000004d,inset 0 -4px #0000002e,inset 0 2px #ffffff4d}.bbtn:active,.bbtn.sel{filter:brightness(1.1);transform:scale(.96)}.bbtn.sel{outline:3px solid #fff}.bbtn .ic{font-size:24px}.bbtn.fight{background:linear-gradient(#ff6a5a,#d8362e)}.bbtn.bag{background:linear-gradient(#ffb84a,#e88a1a)}.bbtn.team{background:linear-gradient(#5ad07a,#2fa24e)}.bbtn.run{background:linear-gradient(#6a9aff,#3a66d8)}.bbtn.move{flex-direction:column;gap:2px;height:78px;padding:0 8px;font-size:16px}.bbtn.move small{opacity:.92;font-size:11px;font-weight:800}.bbtn.move .eff{background:#00000040;border-radius:6px;padding:1px 6px;font-size:10px}.bbtn.back{background:linear-gradient(#5c6488,#3c4466);grid-column:span 2;height:46px;font-size:16px}.bbtn:disabled{filter:grayscale(.8)brightness(.8)}.capture-ui{z-index:36;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none!important}.capture-ui .cap-hint{left:50%;bottom:calc(190px + var(--safe-b));color:#fff;text-shadow:0 2px 6px #0009;white-space:nowrap;font-size:15px;font-weight:800;animation:1.2s ease-in-out infinite hint;position:absolute;transform:translate(-50%)}@keyframes hint{50%{opacity:.75;transform:translate(-50%,-8px)}}.capture-ui .cap-back{pointer-events:auto;left:16px;bottom:calc(24px + var(--safe-b));color:#fff;font:800 15px var(--font);background:#141828b3;border:0;border-radius:16px;padding:12px 18px;position:absolute}.capture-ui .cap-balls{pointer-events:auto;right:16px;bottom:calc(24px + var(--safe-b));color:#fff;font:800 15px var(--font);background:#141828b3;border:0;border-radius:16px;padding:12px 16px;position:absolute}.throw-text{font:900 44px var(--font);color:#fff;letter-spacing:.02em;text-shadow:0 4px #00000040,0 0 24px #fff9;z-index:40;white-space:nowrap;animation:1.1s ease-out forwards throwtxt;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);pointer-events:none!important}@keyframes throwtxt{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}35%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%)scale(1)}}.big-banner{text-align:center;font:900 40px var(--font);color:#fff;text-shadow:0 4px 18px #00000080;z-index:41;animation:2.2s ease-out forwards throwtxt;position:absolute;top:38%;left:0;right:0;pointer-events:none!important}.title{z-index:70;padding:0 24px calc(40px + var(--safe-b));background:linear-gradient(#0b102000 40%,#0b1020d9);flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.logo{top:calc(9% + var(--safe-t));text-align:center;position:absolute;left:0;right:0}.logo h1{font:900 64px var(--font);letter-spacing:.04em;background:linear-gradient(#fff6c8,#ffc93a 55%,#ff8a2a);color:#0000;filter:drop-shadow(0 4px #8a3a1a)drop-shadow(0 10px 24px #ffb43c73);-webkit-background-clip:text;background-clip:text;margin:0}.logo p{color:#dfe6ff;letter-spacing:.25em;text-transform:uppercase;text-shadow:0 2px 8px #0009;margin:4px 0 0;font-size:13px;font-weight:800}.title .big-btn{max-width:340px}.title .tap{color:#fff;opacity:.85;text-shadow:0 2px 8px #0009;margin-bottom:16px;font-weight:800;animation:1.4s ease-in-out infinite tap}@keyframes tap{50%{opacity:.6;transform:translateY(-6px)}}.title .big-btn+.big-btn{margin-top:10px}.look-pick{justify-content:center;gap:14px;margin:8px 0 4px;display:flex}.look-pick button{width:110px;height:130px;font:800 14px var(--font);background:#f4f6fb;border:3px solid #d8dce8;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;display:flex}.look-pick button.on{border-color:var(--accent);background:#eaf0ff}.look-pick canvas{width:56px;height:84px;position:static}.shop-money{text-align:right;margin-bottom:10px;font-weight:800}.evo{z-index:80;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none!important}body.land .dpad{width:124px;height:124px;bottom:calc(18px + var(--safe-b))}body.land .dpad-knob{width:50px;height:50px;margin:-25px}body.land .btns{bottom:calc(18px + var(--safe-b));width:136px;height:108px}body.land .btns button{width:60px;height:60px;font-size:20px}body.land .dialog{width:min(640px,100% - 300px);left:50%;right:auto;bottom:calc(10px + var(--safe-b));min-height:92px;padding:14px 18px;animation:none;transform:translate(-50%)}body.land .dlg-text{min-height:44px;font-size:17px}body.land .menu{top:calc(12px + var(--safe-t));right:calc(70px + var(--safe-r));max-height:86%}body.land .menu.menu-choice{bottom:calc(112px + var(--safe-b));right:calc(50% + -1*min(320px,50% - 150px))}body.land .menu.menu-wide{width:min(560px,90%);left:50%;right:auto;transform:translate(-50%)}body.land .menu-item{padding:9px 12px;font-size:16px}body.land .panel{max-height:92%;padding:16px;top:50%;overflow-y:auto}body.land .screen-head{padding:calc(8px + var(--safe-t)) calc(14px + var(--safe-r)) 8px calc(14px + var(--safe-l))}body.land .screen-body{padding:12px calc(14px + var(--safe-r)) calc(16px + var(--safe-b)) calc(14px + var(--safe-l))}body.land .pmenu{grid-template-columns:repeat(3,1fr)}body.land .pmenu-btn{padding:12px}body.land .dex-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}body.land #ui .mon-card{vertical-align:top;width:calc(50% - 6px);margin-right:6px;display:inline-flex}body.land .summary{text-align:left;grid-template-columns:200px 1fr;align-items:start;gap:0 18px;display:grid}body.land .summary img{grid-row:span 5;width:190px;height:190px}body.land .summary .mon-name{justify-content:flex-start!important}body.land .bcard{width:230px;padding:8px 12px 10px}body.land .bcard.foe{left:calc(14px + var(--safe-l));top:calc(10px + var(--safe-t))}body.land .bcard.me{right:auto;left:calc(14px + var(--safe-l));bottom:calc(12px + var(--safe-b))}body.land .bpanel{left:auto;right:calc(12px + var(--safe-r));width:min(380px,46%);bottom:calc(10px + var(--safe-b));gap:8px}body.land .bbtn{border-radius:18px;height:58px;font-size:17px}body.land .bbtn .ic{font-size:20px}body.land .bbtn.move{height:62px;font-size:15px}body.land .bbtn.back{height:38px}body.land .dialog.battle{left:auto;right:calc(12px + var(--safe-r));width:min(420px,52%);transform:none}body.land .capture-ui .cap-hint{bottom:calc(120px + var(--safe-b))}body.land .throw-text{font-size:38px;top:30%}body.land .logo{top:calc(6% + var(--safe-t))}body.land .logo h1{font-size:54px}body.land .title{padding-bottom:calc(18px + var(--safe-b))}body.land .title .big-btn{max-width:300px;padding:12px}body.land .banner{top:calc(10px + var(--safe-t))}body.rot .scroll{touch-action:pan-x pan-y}
