:root{color-scheme:dark;--ink:#e6f3ff;--muted:#98aec5;--teal:#87e6d8;--blue:#93b6f4;--border:#435a78;--bg:#071322;--card:#16283c;--gold:#f2cd79;font-family:"Segoe UI","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#060e1b;color:var(--ink)}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}
#game-shell{position:fixed;inset:0;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 55% -20%,#293e5c 0%,transparent 60%),#06101f}
/* Unlike overflow:hidden, overflow:clip cannot be scrolled by focus jumps
   through the nested Showdown iframes. Keep the whole game stage anchored. */
#game-shell{overflow:clip}
.world-glow{position:absolute;border-radius:50%;filter:blur(95px);pointer-events:none;opacity:.25}.glow-a{height:50vh;width:50vw;left:-13vw;bottom:-20vh;background:#3ab5bc}.glow-b{height:60vh;width:40vw;right:-10vw;top:-20vh;background:#726bc2}
#game-screen{position:relative;width:min(100%,1536px);height:min(100dvh,900px);overflow:hidden;border:1px solid #2b4764;background:linear-gradient(145deg,#142941f5,#081528f9 65%);box-shadow:0 24px 100px #000b}
#game-screen::before{position:absolute;content:"";inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 57%,#90caff06 58%,transparent 59%),repeating-linear-gradient(0deg,transparent,transparent 33px,#8bafcb04 34px);z-index:0}
#hud{position:relative;z-index:4;height:74px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 clamp(16px,3.8vw,54px);border-bottom:1px solid #516b8540;background:#0b1b2b99}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{font-size:32px;color:var(--teal)}.brand div{display:flex;flex-direction:column;gap:2px}.brand small{font-size:9px;letter-spacing:3px;color:#8eb8d7;font-weight:800}.brand strong{font-size:19px;letter-spacing:2px}.hud-center{display:flex;gap:17px;align-items:center;color:#b2c8df;font-size:12px}.hud-divider{height:15px;width:1px;background:#65809f}.hud-right{display:flex;gap:17px;align-items:center;font-size:12px;color:var(--gold)}.hud-menu{width:39px;height:37px;border:1px solid #4c6785;background:#1c3551;color:#e7f5ff;border-radius:9px;font-size:18px}
.scene{position:relative;z-index:1;height:calc(100% - 74px);padding:clamp(18px,3.7vh,45px) clamp(16px,4vw,62px);overflow:hidden;animation:scene-in .34s ease-out both}
@keyframes scene-in{from{opacity:.3;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.eyebrow,.scene-caption{font-size:11px;letter-spacing:2.3px;font-weight:800;color:#7fe1e2}.scene-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}
.quiet-link,.plain-action{border:0;background:none;color:#a5d7e9;font-size:12px;padding:8px}.plain-action{margin-top:20px;font-weight:700}
.action-row{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.action-primary,.action-secondary{border-radius:12px;border:1px solid transparent;padding:15px 23px;font-size:14px;font-weight:800;min-height:50px;transition:filter .2s,transform .2s}
.action-primary{background:linear-gradient(105deg,#c2b9ff,#73dccd);color:#12273d;box-shadow:0 10px 35px #6ecbd428}.action-secondary{background:#1c3149;color:#d8ebfd;border-color:#526a83}.action-primary:hover:not(:disabled),.action-secondary:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.action-primary span{margin-left:25px}
.home-scene{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:22px}
.home-intro{position:relative;z-index:2;min-width:0}.home-intro h1{font-size:clamp(46px,6.6vw,93px);line-height:1.12;letter-spacing:-3px;margin:19px 0 20px}.home-intro h1 span{color:#92e9da;text-shadow:0 0 55px #55a9ad33}.home-intro>p{color:#a4b7ce;font-size:14px;line-height:1.9;max-width:410px;margin:0 0 31px}.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:480px;margin:0 0 32px;gap:12px}.home-stats>div{border-left:2px solid #4c8294;padding:3px 9px;display:flex;flex-direction:column;gap:7px}.home-stats small{color:#96b0c7;font-size:11px}.home-stats strong{font-size:22px;letter-spacing:-.4px}
.home-tower{height:95%;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;isolation:isolate}.tower-halo{position:absolute;width:90%;aspect-ratio:1;background:radial-gradient(circle,#70e2d435,transparent 68%);filter:blur(14px);z-index:-1}.tower-top{font-size:54px;color:#a1ffea;text-shadow:0 0 46px #76e6d9;margin-bottom:-13px;z-index:2}.tower-art{height:min(66vh,580px);width:min(27vw,380px);min-width:200px;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:space-around;clip-path:polygon(50% 0,72% 9%,75% 16%,83% 22%,86% 99%,14% 99%,17% 22%,25% 16%,28% 9%);background:linear-gradient(95deg,#0d2138 11%,#2a5270 27%,#163954 43%,#234866 55%,#10223b 79%,#09192a);border-top:3px solid #9fe7e4;filter:drop-shadow(0 20px 42px #0008);box-shadow:inset 0 0 70px #0c142d}.tower-art::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 78px,#83dce022 80px,#1b556a55 85px)}.tower-art span{position:relative;border:1px solid #67bbb870;background:#112b3f;box-shadow:0 0 17px #2cd3cb1b;color:#a2d8eb;border-radius:7px;min-width:46%;text-align:center;padding:5px;font:700 12px monospace;letter-spacing:3px}.tower-base{font:700 10px monospace;letter-spacing:4px;color:#90b7c9;position:relative}
.encounter-scene,.team-scene,.recruit-scene,.collection-scene{display:flex;flex-direction:column;min-height:0}.encounter-main{flex:1;display:grid;grid-template-columns:.78fr 1fr;align-items:center;gap:clamp(18px,4vw,70px);min-height:0}.portrait-platform{height:100%;max-height:560px;position:relative;background:radial-gradient(ellipse at 50% 65%,#345b6c88,transparent 58%);display:flex;justify-content:center;align-items:flex-end;overflow:hidden}.portrait-backdrop{position:absolute;bottom:9%;height:53%;width:86%;border:1px solid #3c6981;border-radius:50%;transform:rotateX(67deg);box-shadow:0 0 65px #60e1de25,inset 0 0 35px #6ee5e52e}.trainer-silhouette{width:min(75%,330px);height:85%;position:relative;filter:drop-shadow(0 0 45px #4e8fb875);animation:trainer-rise .6s ease-out both}.silhouette-head{position:absolute;top:17%;left:37%;width:30%;height:24%;border-radius:42% 42% 48% 48%;background:linear-gradient(135deg,#315475,#102742);box-shadow:0 -14px 0 -2px #466785}.silhouette-body{position:absolute;bottom:3%;left:9%;width:85%;height:60%;background:linear-gradient(115deg,#385c79,#152d49 65%);clip-path:polygon(35% 0,65% 0,88% 18%,100% 67%,74% 71%,78% 100%,19% 100%,24% 71%,0 67%,11% 18%);border-radius:30%}.portrait-foot{position:absolute;bottom:4%;color:#6fa8b8;letter-spacing:6px;font-size:10px}@keyframes trainer-rise{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.encounter-info h1{font-size:clamp(37px,5vw,70px);margin:9px 0 10px;line-height:1.1}.encounter-info blockquote{color:#e4e4dc;background:#ffffff08;border-left:3px solid #7bdccc;border-radius:2px;padding:12px 16px;font-size:15px;margin:19px 0 23px}.roster-title{display:flex;justify-content:space-between;font-size:12px;font-weight:700;margin:0 0 11px}.roster-title span{color:#93b2c9}
.pokemon-grid.compact{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.pokemon-card{min-width:0;background:#1c344c;border:1px solid #456780;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px 5px;text-align:center;gap:4px}.pokemon-card img{width:min(100%,58px);height:59px;object-fit:contain;image-rendering:pixelated}.pokemon-card strong{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pokemon-card small{color:#88a6ba;font-size:10px}.reward-promise{margin:18px 0 25px;padding:12px 15px;border:1px solid #628a74;background:#2044385e;color:#c0edca;border-radius:10px;font-size:12px}
.team-scene h2,.collection-scene h2{font-size:clamp(25px,3vw,38px);margin:0 0 6px}.scene-description{font-size:12px;color:#9bb1c8;line-height:1.65;margin:0 0 16px}
.team-list{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;overflow:auto;scrollbar-color:#496c7c transparent}.team-option{display:flex;flex-direction:column;align-items:stretch;gap:14px;text-align:left;min-width:0;background:linear-gradient(145deg,#203750,#132538);border:1px solid #415c79;border-radius:16px;padding:17px;color:#e4edff;min-height:0;overflow:auto}.team-option.selected{border:2px solid #a1f1e3;background:linear-gradient(145deg,#31545c,#152d44)}.team-option h3{margin:0;font-size:18px}.team-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.team-roster .pokemon-card{min-height:93px}.team-option .team-detail{display:none;color:#9cb4c9;font-size:11px;line-height:1.8}.team-option.selected .team-detail{display:block}.team-detail span{display:block}.team-option .team-detail strong{color:#e6ebf3}.scene-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:17px 0 0;color:#96adbf;font-size:12px}
.battle-scene{padding:8px 14px;display:flex;flex-direction:column;gap:7px}.battle-header{display:flex;justify-content:space-between;align-items:center;min-height:35px;gap:10px;color:#a6bfd2;font-size:12px}.battle-header>span:first-child{font-weight:800;color:#e5f4ff}.battle-scene iframe{display:block;flex:1;min-height:0;height:0;width:100%;border:1px solid #3e5674;border-radius:13px;background:#0e1a2b}
.battle-header-actions{display:flex;align-items:center;gap:9px}.battle-continue{background:linear-gradient(110deg,#c4b8fa,#7de8d2);border:0;color:#102838;font-weight:800;font-size:12px;border-radius:9px;padding:9px 16px;box-shadow:0 0 18px #91e5d43d}
.recruit-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.recruit-heading h2{font-size:clamp(25px,3vw,40px);margin:0 0 6px}.recruit-heading p{font-size:12px;color:#adc4d6;margin:0}.reward-symbol{font-size:47px;color:#fad483;text-shadow:0 0 45px #ffcf7260}.victory-flicker{color:#f2d586}.recruit-panels{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:0}.recruit-panels>div{display:flex;flex-direction:column;min-height:0}.recruit-panels h3{font-size:14px;display:flex;justify-content:space-between;margin:0 0 10px}.recruit-panels h3 span{font-size:11px;font-weight:400;color:#9eafc6}.recruit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:auto;align-content:start;min-height:0;padding:1px;scrollbar-color:#52717d transparent}.recruit-item{border:1px solid #3c5772;background:#182d43;color:#ecf7fe;border-radius:12px;display:flex;align-items:center;gap:12px;padding:10px;text-align:left;min-width:0}.recruit-item.selected{border-color:#e5cd83;background:#37423f;box-shadow:inset 0 0 0 1px #dccc7a}.recruit-item img{width:58px;height:56px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto}.recruit-item>div{min-width:0;flex:1}.recruit-item strong{display:block;font-size:12px}.recruit-item small{display:block;font-size:10px;color:#afc0d4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.recruit-item .slot{font-size:10px;color:#e4ca83}.recruit-scene .scene-footer{flex-wrap:wrap}.recruit-scene .scene-footer>span{flex:1;text-align:center;min-width:160px}
.recruit-item.recruit-conflict{border-color:#d77979;background:#442a39}
.recruit-item.recruit-conflict .slot{color:#ffb7a9;font-weight:800}
#recruit-error.recruit-invalid{color:#ffbaa8;font-weight:800}
.reward-tabs{display:flex;gap:8px;margin:0 0 12px}.reward-tabs button{background:#1a3248;color:#d4e7f7;border:1px solid #536d83;border-radius:9px;padding:9px 16px;font-weight:800;font-size:12px}.reward-tabs button.active{background:#37665c;color:#e5fff5;border-color:#9bddbe}
#learn-panels[hidden],#recruit-panels[hidden]{display:none!important}
#learn-panels>div:last-child{gap:5px}#learn-panels .recruit-grid{flex:1}#learn-panels .learn-forget-grid{flex:0 1 auto;max-height:130px;grid-template-columns:repeat(2,minmax(0,1fr))}#learn-panels .learn-forget-grid .recruit-item{padding:7px;min-height:38px}
#learn-panels .learn-forget-heading{margin-top:8px}
.result-scene{display:grid;place-items:center}.result-center{text-align:center;width:min(630px,100%);max-height:100%;overflow:auto}.result-emblem{font-size:64px;color:#f4d57e;text-shadow:0 0 55px #ebc67f66}.result-center h1{font-size:clamp(30px,4.5vw,56px);margin:9px 0}.result-center>p:not(.eyebrow){color:#b0c4d8;font-size:13px}.result-score{padding:16px 0;margin-top:15px;display:flex;flex-direction:column}.result-score span{font-size:12px;color:#89b1c9}.result-score strong{font-size:clamp(48px,7vw,86px);line-height:1.1;color:#b8f7e7}.result-score small{letter-spacing:5px;font-size:12px;color:#7bb1b8}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:11px 0 18px}.result-metrics>div{background:#182d43;border:1px solid #3d5971;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:5px}.result-metrics strong{font-size:26px}.result-metrics small{font-size:11px;color:#99b0c6}.result-remaining{font-size:12px;color:#d8bd91;margin:12px}.result-center .action-row{justify-content:center}
.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1;min-height:0;overflow:auto;align-content:start}.collection-item{background:#1b3045;border:1px solid #425d76;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px;color:#ebf7ff;min-width:0}.collection-item.selected{background:#294b4d;border-color:#a5e6ce}.collection-item img{width:68px;height:64px;object-fit:contain;image-rendering:pixelated}.collection-item strong{font-size:12px}.collection-item small{color:#9fb8cb;font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.overlay{position:fixed;z-index:20;inset:0;background:#030913dd;display:grid;place-items:center;padding:15px;backdrop-filter:blur(7px)}.dialog-panel{width:min(680px,100%);max-height:min(84dvh,850px);overflow:auto;background:linear-gradient(145deg,#1d354c,#0e1b2c);border:1px solid #64819a;box-shadow:0 35px 100px #000b;border-radius:19px;padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #405a70;padding-bottom:13px;margin-bottom:15px}.dialog-head h2{font-size:22px;margin:0}.icon-button{border:1px solid #55728d;border-radius:9px;color:#def0ff;background:#213951;font-size:20px;min-width:36px;min-height:35px}.dialog-panel .dialog-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #30495c;font-size:13px}.dialog-panel .dialog-list{display:flex;flex-direction:column;gap:7px}.dialog-panel .dialog-list button{background:#223a52;color:#e5f4ff;border:1px solid #56758e;border-radius:9px;padding:11px;text-align:left}.dialog-panel .dialog-list button.active{border-color:#8ce9d3}.dialog-panel input{background:#0e2336;color:#ecf5ff;border:1px solid #567389;border-radius:8px;padding:10px;max-width:180px}.dialog-tabs{display:flex;gap:8px;margin:10px 0 16px}.dialog-tabs button{background:#223951;color:#d8edf8;border:1px solid #3d5b75;border-radius:8px;padding:9px 14px}.dialog-tabs button.active{background:#3f777b}.dialog-foot{color:#8da5bd;font-size:11px;line-height:1.6;margin-top:14px}
#game-toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#163b47;border:1px solid #89d4c5;color:#e3fff6;border-radius:10px;padding:12px 18px;font-size:13px;transition:opacity .2s,transform .2s;max-width:min(480px,90vw);text-align:center}#game-toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1537px){#game-screen{border-radius:15px}}
@media(max-width:1000px){.scene{padding:18px 24px}.home-intro h1{font-size:55px}.team-list{grid-template-columns:repeat(2,minmax(0,1fr))}.team-option{padding:13px}.encounter-main{gap:20px}.recruit-panels{gap:10px}.recruit-item{gap:6px;padding:7px}.recruit-item img{width:45px;height:47px}}
.brand{gap:6px}.brand-mark{font-size:21px}.brand small{font-size:7px;letter-spacing:1px}.brand strong{font-size:14px}.hud-center{font-size:10px;gap:6px}.hud-right{gap:7px;font-size:9px}.hud-menu{width:32px;height:31px}.scene{height:calc(100% - 56px);padding:12px}.home-scene{display:flex;align-items:stretch}.home-intro{flex:1;display:flex;flex-direction:column;justify-content:center}.home-intro h1{font-size:clamp(42px,11vw,72px);letter-spacing:-2px;margin:13px 0}.home-intro>p{font-size:11px;max-width:290px;margin-bottom:18px}.home-stats{gap:5px;margin-bottom:19px}.home-stats>div{padding:4px 5px}.home-stats small{font-size:9px}.home-stats strong{font-size:16px}.home-tower{position:absolute;right:-53px;bottom:0;height:76%;width:60%;opacity:.26;pointer-events:none}.tower-art{width:170px;min-width:170px}.home-scene .action-row{flex-direction:column;align-items:stretch;width:min(260px,100%)}.home-scene .action-row button{min-height:43px;padding:11px;font-size:12px}.plain-action{align-self:flex-start;margin-top:10px;font-size:11px}.scene-caption{font-size:9px;margin-bottom:7px}.encounter-main{display:flex;flex-direction:column;gap:4px}.portrait-platform{flex:0 0 25%;min-height:100px;width:100%}.trainer-silhouette{height:105%;width:130px}.encounter-info{flex:1;min-height:0;overflow:auto}.encounter-info h1{font-size:32px;margin:4px 0}.encounter-info blockquote{font-size:12px;padding:7px 10px;margin:9px 0}.pokemon-grid.compact{gap:4px}.pokemon-card{padding:5px 1px 3px}.pokemon-card img{height:38px}.pokemon-card strong{font-size:8px}.pokemon-card small{font-size:8px}.reward-promise{font-size:10px;padding:8px;margin:9px 0}.action-primary,.action-secondary{min-height:42px;font-size:12px;padding:10px 14px}.team-scene h2,.collection-scene h2{font-size:24px}.team-scene .scene-description{margin-bottom:8px;font-size:10px}.team-list{grid-template-columns:1fr;gap:9px}.team-option{min-height:125px;flex:0 0 auto}.team-roster{grid-template-columns:repeat(6,minmax(0,1fr))}.team-roster .pokemon-card{min-height:57px}.team-roster .pokemon-card img{height:38px}.team-option .team-detail{font-size:10px}.scene-footer{padding:9px 0 0;gap:8px;font-size:10px}.scene-footer .action-primary{flex-shrink:0}.battle-scene{padding:4px}.battle-header{font-size:10px;min-height:27px}.battle-header #battle-help{display:none}.recruit-heading h2{font-size:25px}.recruit-heading p{font-size:10px}.reward-symbol{font-size:27px}.recruit-panels{grid-template-columns:1fr;grid-template-rows:1fr 1fr;min-height:0;gap:7px}.recruit-panels h3{font-size:11px;margin-bottom:5px}.recruit-panels h3 span{font-size:9px}.recruit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.recruit-item{padding:5px;gap:3px;min-height:57px}.recruit-item img{width:30px;height:34px}.recruit-item strong{font-size:9px}.recruit-item small{font-size:8px;margin-top:2px}.recruit-item .slot{font-size:8px}.recruit-scene .scene-footer>span{order:3;flex:100%}.result-center{width:100%}.result-emblem{font-size:45px}.result-score{margin:0;padding:7px}.result-score strong{font-size:57px}.result-metrics{margin:6px 0}.result-metrics>div{padding:8px}.result-metrics strong{font-size:20px}.result-center .action-row{gap:6px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-item img{height:53px}.dialog-panel{padding:13px}.dialog-head h2{font-size:17px}}
@media(max-width:700px){#hud{height:56px;padding:0 11px}.brand{gap:6px}.brand-mark{font-size:21px}.brand small{font-size:7px;letter-spacing:1px}.brand strong{font-size:14px}.hud-center{font-size:10px;gap:6px}.hud-right{gap:7px;font-size:9px}.hud-menu{width:32px;height:31px}.scene{height:calc(100% - 56px);padding:12px}.home-scene{display:flex;align-items:stretch}.home-intro{flex:1;display:flex;flex-direction:column;justify-content:center}.home-intro h1{font-size:clamp(42px,11vw,72px);letter-spacing:-2px;margin:13px 0}.home-intro>p{font-size:11px;max-width:290px;margin-bottom:18px}.home-stats{gap:5px;margin-bottom:19px}.home-stats>div{padding:4px 5px}.home-stats small{font-size:9px}.home-stats strong{font-size:16px}.home-tower{position:absolute;right:-53px;bottom:0;height:76%;width:60%;opacity:.26;pointer-events:none}.tower-art{width:170px;min-width:170px}.home-scene .action-row{flex-direction:column;align-items:stretch;width:min(260px,100%)}.home-scene .action-row button{min-height:43px;padding:11px;font-size:12px}.plain-action{align-self:flex-start;margin-top:10px;font-size:11px}.scene-caption{font-size:9px;margin-bottom:7px}.encounter-main{display:flex;flex-direction:column;gap:4px}.portrait-platform{flex:0 0 25%;min-height:100px;width:100%}.trainer-silhouette{height:105%;width:130px}.encounter-info{flex:1;min-height:0;overflow:auto}.encounter-info h1{font-size:32px;margin:4px 0}.encounter-info blockquote{font-size:12px;padding:7px 10px;margin:9px 0}.pokemon-grid.compact{gap:4px}.pokemon-card{padding:5px 1px 3px}.pokemon-card img{height:38px}.pokemon-card strong{font-size:8px}.pokemon-card small{font-size:8px}.reward-promise{font-size:10px;padding:8px;margin:9px 0}.action-primary,.action-secondary{min-height:42px;font-size:12px;padding:10px 14px}.team-scene h2,.collection-scene h2{font-size:24px}.team-scene .scene-description{margin-bottom:8px;font-size:10px}.team-list{grid-template-columns:1fr;gap:9px}.team-option{min-height:125px;flex:0 0 auto}.team-roster{grid-template-columns:repeat(6,minmax(0,1fr))}.team-roster .pokemon-card{min-height:57px}.team-roster .pokemon-card img{height:38px}.team-option .team-detail{font-size:10px}.scene-footer{padding:9px 0 0;gap:8px;font-size:10px}.scene-footer .action-primary{flex-shrink:0}.battle-scene{padding:4px}.battle-header{font-size:10px;min-height:27px}.battle-header #battle-help{display:none}.recruit-heading h2{font-size:25px}.recruit-heading p{font-size:10px}.reward-symbol{font-size:27px}.recruit-panels{grid-template-columns:1fr;grid-template-rows:1fr 1fr;min-height:0;gap:7px}.recruit-panels h3{font-size:11px;margin-bottom:5px}.recruit-panels h3 span{font-size:9px}.recruit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.recruit-item{padding:5px;gap:3px;min-height:57px}.recruit-item img{width:30px;height:34px}.recruit-item strong{font-size:9px}.recruit-item small{font-size:8px;margin-top:2px}.recruit-item .slot{font-size:8px}.recruit-scene .scene-footer>span{order:3;flex:100%}.result-center{width:100%}.result-emblem{font-size:45px}.result-score{margin:0;padding:7px}.result-score strong{font-size:57px}.result-metrics{margin:6px 0}.result-metrics>div{padding:8px}.result-metrics strong{font-size:20px}.result-center .action-row{gap:6px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-item img{height:53px}.dialog-panel{padding:13px}.dialog-head h2{font-size:17px}}
@media(max-height:625px){.scene{padding-top:10px;padding-bottom:9px}.home-intro h1{margin:8px 0}.home-intro>p{margin-bottom:12px}.home-stats{margin-bottom:12px}.portrait-platform{max-height:240px}.encounter-info blockquote{margin:9px 0}.reward-promise{margin:8px 0}.pokemon-grid.compact .pokemon-card img{height:38px}.result-emblem{font-size:39px}.result-score strong{font-size:48px}.scene-footer{padding-top:5px}}
/* Final fixed-console layout override: the original compact mobile rules
   accidentally applied the 56px HUD sizing at desktop widths as well. */
#game-shell,#game-screen,#scene-battle{overflow:clip}
.battle-scene{height:calc(100% - 74px);min-height:0}
@media(max-width:700px){#hud{height:56px;padding:0 11px}.battle-scene{height:calc(100% - 56px)}}