@font-face{font-family:Nunito;src:url('assets/fonts/Nunito-Variable.ttf')}@font-face{font-family:Baloo;src:url('assets/fonts/Baloo2-Variable.ttf')}*{box-sizing:border-box}body{margin:0;color:#334b43;background:#f5efdf;font-family:Nunito,system-ui,sans-serif;font-weight:650;background-image:radial-gradient(#cbbd9c40 .7px,transparent .7px);background-size:7px 7px}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e7ac47;outline-offset:4px}button{border:1px solid #b9c5b4;border-radius:13px;padding:11px 17px;background:#fffaf0;color:#314d43;font-weight:850;box-shadow:0 3px 0 #d6d4bf;transition:transform .13s,background .13s}button:not(:disabled):hover{background:#e9efdc;transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(2px);box-shadow:none}.primary{background:#285c4e;color:#fff3d5;border-color:#234c40;box-shadow:0 4px 0 #183e39}.primary:not(:disabled):hover{background:#34715d}.gold{background:#edcb7a;color:#4a442e;border-color:#b79a59}.danger{color:#9d4847}.ghost{background:transparent;box-shadow:none;border-color:#d6d4bf}.small{padding:8px 12px;font-size:13px}.eyebrow{font-size:11px;letter-spacing:2.8px;text-transform:uppercase;font-weight:900;color:#79957f}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Baloo,Nunito,sans-serif;line-height:1.15;font-weight:750}h1{font-size:clamp(28px,4vw,49px)}h2{font-size:28px}h3{font-size:21px}p{line-height:1.65}.muted{color:#7e8776;font-size:13px}.pixel{image-rendering:pixelated;image-rendering:crisp-edges}.icon{width:22px;height:22px;display:inline-block;vertical-align:middle;image-rendering:pixelated;margin-right:6px}.inline{display:flex;align-items:center;gap:9px}.between{display:flex;justify-content:space-between;align-items:center;gap:16px}.wrap{flex-wrap:wrap}.shell{max-width:1536px;margin:auto;padding:24px 34px 32px}.topbar{height:74px;background:#183e39;color:#fff1cd;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1470px)/2));gap:18px;border-bottom:4px solid #d6b575;box-shadow:0 3px 18px #183e3920}.brand{display:flex;gap:10px;align-items:center;font-family:Baloo;font-size:23px;letter-spacing:1px;white-space:nowrap}.brand small{display:block;font-family:Nunito;font-size:9px;letter-spacing:3px;color:#a8c4af}.topbar button{background:#31574b;color:#f6edce;border-color:#527461;box-shadow:none;padding:8px 13px}.nav{display:flex;gap:7px}.wallet{display:flex;align-items:center;gap:6px;background:#f2d58f;color:#4f4b30;border-radius:13px;padding:9px 17px;font-size:20px;box-shadow:inset 0 0 0 2px #fff0c6;font-weight:900}.wallet small{font-size:10px;letter-spacing:1px;display:block;line-height:1.1}.hero{display:grid;grid-template-columns:36% 64%;margin:0 0 26px;border-radius:24px;overflow:hidden;box-shadow:0 7px 0 #ded9c7,0 12px 30px #34463812;border:2px solid #d5ceba;min-height:258px}.hero-copy{background:#fff9e9;padding:23px 30px;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;border-right:2px solid #d5ceba;z-index:1}.hero-copy img{width:100%;max-width:310px;height:185px;object-fit:contain}.hero-copy .eyebrow{margin-top:5px;letter-spacing:2px;font-size:10px}.camp{position:relative;background:#c5d89c url('assets/art/menu.png') center/cover;overflow:hidden;min-width:0;display:flex;align-items:end;justify-content:center;padding:65px 20px 34px}.camp:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#294d232d)}.camp-label{position:absolute;left:22px;top:19px;background:#fff9e9e8;border:1px solid #d1cead;border-radius:9px;padding:7px 12px;font-size:11px;letter-spacing:1.5px}.camp-team{display:flex;align-items:end;justify-content:space-evenly;width:100%;position:relative;gap:3px}.camp-pokemon{width:16%;max-width:110px;text-align:center}.camp-pokemon canvas{width:100%;height:94px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 0 #53673940);animation:bob 3s ease-in-out infinite}.camp-pokemon:nth-child(2n) canvas{animation-delay:-1.5s}.camp-pokemon span{display:block;font-size:10px;color:#314b32;background:#fff9e9d6;border-radius:9px;padding:3px 4px;overflow:hidden;text-overflow:ellipsis}.section-head{margin:25px 0 18px}.section-head h2{font-size:31px}.section-head p{font-size:13px;color:#7b8371;margin-top:3px}.regions{display:flex;gap:8px;background:#e8e5d6;padding:6px;border-radius:16px}.region{border:0;box-shadow:none;background:transparent;padding:11px 22px;color:#778370}.region.active{background:#285c4e;color:#fff2d2;box-shadow:0 3px 8px #223d3320}.region small{display:block;font-size:9px;font-weight:650;opacity:.8;letter-spacing:.7px}.map-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.map-card{background:#fffaf0;border:1px solid #d2ceba;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 5px 0 #dfdbcb;transition:transform .18s,box-shadow .18s;min-width:0}.map-card:hover{transform:translateY(-4px);box-shadow:0 8px 0 #dfdbcb}.map-preview{width:100%;aspect-ratio:1.34;display:block;object-fit:cover}.map-badge{position:absolute;top:12px;left:12px;border-radius:8px;background:#fff8e8ef;font-size:10px;padding:5px 9px;box-shadow:0 2px 6px #3f4f3620}.map-body{padding:16px}.map-body h3{font-size:20px;min-height:46px}.map-body p{font-size:11px;color:#83907a;margin:4px 0 9px;min-height:37px;line-height:1.5}.map-body button{width:100%;margin-top:13px;font-size:13px}.map-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#85917e}.diamonds{color:#ad8847;letter-spacing:1px}.route-chip{font-size:10px;color:#527564;background:#ebefdf;border-radius:6px;padding:4px 6px;display:inline-block}.home-footer{display:flex;justify-content:space-between;gap:15px;margin:26px 2px 0;font-size:11px;color:#84907f;align-items:center}.home-footer .inline{gap:15px}.card{border:1px solid #d5cfba;border-radius:18px;background:#fffaf0;padding:22px;box-shadow:0 4px 0 #ded9c7}.modal-backdrop{position:fixed;inset:0;background:#122d29b8;backdrop-filter:blur(6px);z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fbf5e5;border:2px solid #d4c8ab;border-radius:24px;max-width:900px;width:100%;max-height:92dvh;overflow:auto;box-shadow:0 20px 80px #061c2460}.modal-head{padding:23px 26px;border-bottom:1px solid #ddd4bd;display:flex;align-items:center;justify-content:space-between}.modal-body{padding:24px 26px}.modal-foot{padding:18px 26px;border-top:1px solid #ddd4bd;display:flex;justify-content:flex-end;gap:10px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.setup-image{width:100%;border-radius:13px;aspect-ratio:1.43}.choices{display:flex;flex-direction:column;gap:8px;margin:10px 0 18px}.choice{display:flex;align-items:center;justify-content:space-between;text-align:left;background:#fff9eb}.choice.active{background:#dce8ce;border-color:#759473;box-shadow:0 2px 0 #b7c8a8}.choice small{font-size:11px;font-weight:600;color:#7c886f}.tag{display:inline-block;font-size:10px;border-radius:7px;padding:4px 7px;background:#e4eadc;color:#4e6b57;margin:3px}.collection{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.poke-card{border:1px solid #d8d1bc;background:#fffaf1;border-radius:16px;padding:12px;text-align:center;min-width:0}.poke-card canvas{height:78px;width:90px;image-rendering:pixelated}.poke-card.chosen{background:#e4edda;border-color:#6b9874;box-shadow:inset 0 0 0 1px #6b9874}.poke-card h3{font-size:18px}.poke-card p{font-size:11px}.poke-card button{font-size:12px;margin-top:9px;padding:7px 9px;width:100%}.mega-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.mega-cell{border-radius:13px;border:1px solid #d8d1bc;padding:10px;text-align:center;font-size:11px;background:#fffaf0}.mega-cell canvas{width:62px;height:66px;image-rendering:pixelated}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.tabs button.active{background:#285c4e;color:#fff3d5}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rule{display:flex;gap:11px;padding:16px;border:1px solid #d8d1bc;border-radius:14px;background:#fffaf0}.rule p{font-size:12px;margin-top:6px;color:#7f8775}.rule h3{font-size:17px}.rule canvas{width:40px;height:45px;image-rendering:pixelated;flex-shrink:0}.search{width:100%;padding:11px 14px;border:1px solid #c9cbb8;border-radius:11px;background:#fffaf0;margin-bottom:15px;color:#334b43}.battle-page{padding:12px 20px 18px;max-width:1500px;margin:auto}.battle-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:0 0 12px}.battle-title h2{font-size:24px}.battle-title small{font-size:11px;color:#7d8774}.hud{display:flex;gap:10px}.stat{min-width:100px;padding:8px 15px;background:#fff9e7;border:1px solid #d6cfb8;border-radius:13px}.stat b{font-size:22px;line-height:1}.stat small{font-size:9px;display:block;text-transform:uppercase;letter-spacing:1.7px;color:#81917c;margin-bottom:5px}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:16px;align-items:start}.board-shell{position:relative;border:3px solid #a9b49b;border-radius:19px;overflow:hidden;background:#d9e4c6;box-shadow:0 5px 0 #d6d8bf}.board{display:block;width:100%;height:auto;aspect-ratio:920/640;touch-action:none}.board-toolbar{position:absolute;top:10px;right:10px;display:flex;gap:5px}.board-toolbar button{padding:7px 11px;background:#fff9e9ed;font-size:12px}.battle-side{padding:16px;background:#fff9e9;border:1px solid #cecbb4;border-radius:18px;box-shadow:0 5px 0 #ded9c7}.battle-side h3{font-size:20px;margin-bottom:9px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.team-button{padding:5px 3px;border-radius:11px;box-shadow:0 2px 0 #d6d4bf;min-height:89px;position:relative;font-size:10px}.team-button canvas{width:49px;height:48px;display:block;margin:auto}.team-button b{display:block;font-size:11px}.team-button.active{background:#d9e9c9;border-color:#60966c;box-shadow:inset 0 0 0 1px #60966c}.details{margin-top:15px;border-top:1px solid #ded6bd;padding-top:14px;min-height:196px}.details h3{margin-bottom:3px}.details p{font-size:11px;color:#7e8976}.detail-buttons{display:grid;gap:7px;margin-top:10px}.detail-buttons button{padding:8px 10px;font-size:12px}.priority{display:flex;gap:3px;margin-top:8px}.priority button{padding:5px 4px;font-size:10px;flex:1;border-radius:6px;box-shadow:none}.priority button.active{background:#dce7cd}.battle-controls{margin-top:14px;display:grid;gap:9px}.battle-controls button{width:100%;font-size:13px}.pulse-button{background:#dce8e9;border-color:#91b4b7}.note{margin:12px 4px 0;min-height:26px;font-size:12px;color:#7c8975}.notice{border-radius:9px;background:#e8e7d5;padding:9px 12px;font-size:11px;margin-top:10px}.progress-bar{height:5px;border-radius:5px;background:#d6dcc7;overflow:hidden;margin-top:9px}.progress-bar div{height:100%;background:#7a9c6b;transition:width .3s}.preview-caption{font-size:11px;margin-top:10px;color:#7d8977}.result{max-width:490px;text-align:center}.result h1{font-size:42px}.result-medal{width:80px;height:80px;margin:0 auto 20px;background:#efcd7c;border:5px double #9f7e3b;transform:rotate(45deg);border-radius:16px;display:grid;place-items:center}.result-medal .icon{transform:rotate(-45deg);width:40px;height:40px;margin:0}.music-line{font-size:10px;opacity:.8;max-width:350px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#loading{position:fixed;inset:0;background:#fff8e7;z-index:90;display:flex;align-items:center;justify-content:center;flex-direction:column}#loading img{width:280px;max-height:220px;object-fit:contain}#loading p{color:#71856c;font-size:13px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:min(560px,90vw);background:#1e473eea;color:#fff4d9;padding:13px 23px;border:1px solid #789580;border-radius:14px;z-index:100;font-size:13px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.settings-row{padding:13px 0;border-bottom:1px solid #e4ddc9}.settings-row label{font-size:13px}.settings-row input[type=range]{width:160px;accent-color:#38725b}.credits{font-size:11px;color:#88907d;margin-top:20px}.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;margin:8px 0}.legend span{border-radius:6px;padding:4px 7px;background:#e8eadb}a{color:#39715c}#pause-veil{position:absolute;inset:0;background:#17392d83;backdrop-filter:blur(3px);display:grid;place-items:center;text-align:center;color:#fff6dd}#pause-veil h1{margin-bottom:18px}.hidden{display:none!important}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:1100px){.shell{padding:22px}.map-grid{gap:10px}.map-body{padding:12px}.map-body h3{font-size:18px}.region{padding:10px 15px}.brand{font-size:18px}.hero-copy{padding:18px}.hero-copy img{height:165px}.hero{min-height:235px}.battle-layout{grid-template-columns:minmax(0,1fr) 245px;gap:10px}.battle-side{padding:12px}.battle-page{padding:10px 12px}.stat{min-width:85px;padding:7px 11px}.section-head{align-items:start}.rules-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:62px;padding:0 13px;gap:8px}.brand{font-size:15px;letter-spacing:0}.brand small{font-size:7px;letter-spacing:1.2px}.nav button{font-size:0;padding:7px}.nav button .icon{margin:0;width:22px;height:22px}.wallet{padding:7px 10px;font-size:17px}.wallet small{font-size:8px}.shell{padding:15px}.hero{grid-template-columns:35% 65%;min-height:168px;margin-bottom:22px;border-radius:17px}.hero-copy{padding:8px}.hero-copy img{height:115px}.hero-copy .eyebrow{font-size:7px;letter-spacing:.6px;text-align:center}.camp{padding:48px 8px 20px}.camp-label{font-size:8px;top:11px;left:10px;padding:5px 7px}.camp-pokemon canvas{height:62px}.camp-pokemon span{display:none}.section-head{display:block}.section-head h2{font-size:27px}.regions{margin-top:15px;justify-content:space-between}.region{flex:1;padding:9px 5px;font-size:13px}.region small{font-size:8px}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.map-grid .map-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:46% 54%}.map-grid .map-card:last-child .map-preview{height:100%;aspect-ratio:auto}.map-body h3{min-height:0}.map-body p{min-height:0}.home-footer{display:block}.home-footer .inline{margin-top:12px;gap:8px}.modal-backdrop{padding:10px}.modal-head,.modal-body,.modal-foot{padding:17px}.setup-grid{grid-template-columns:1fr}.setup-image{max-height:220px;object-fit:cover}.collection{grid-template-columns:repeat(3,1fr);gap:8px}.poke-card{padding:8px}.poke-card canvas{width:64px;height:64px}.mega-list{grid-template-columns:repeat(2,1fr)}.battle-head{flex-wrap:wrap;gap:8px}.battle-title h2{font-size:22px}.hud{gap:6px}.stat{min-width:75px;padding:6px 10px}.stat b{font-size:19px}.battle-layout{grid-template-columns:1fr}.battle-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.battle-side>h3{grid-column:1/-1;margin:0}.team-grid{grid-column:1/2;grid-row:2}.details{grid-column:2/3;grid-row:2/4;border:0;padding:0;margin:0;min-height:0}.battle-controls{grid-column:1/2;margin:0}.team-button{min-height:76px}.team-button canvas{height:40px;width:44px}.board-shell{border-radius:14px}.note{font-size:11px}.rules-grid{grid-template-columns:1fr}.board-toolbar{top:6px;right:6px}.board-toolbar button{padding:5px 8px}.legend{font-size:10px}.modal-foot button{flex:1}.music-line{max-width:250px}.topbar .nav{gap:5px}}
@media(max-height:540px) and (orientation:landscape){.topbar{display:none}.battle-page{padding:6px 10px}.battle-head{padding-bottom:6px;flex-wrap:nowrap}.battle-title h2{font-size:19px}.battle-title small{font-size:9px}.stat{padding:5px 10px}.stat b{font-size:18px}.stat small{font-size:8px;margin:0}.battle-layout{grid-template-columns:minmax(0,1fr) 240px;gap:8px}.board-shell{max-width:calc((100dvh - 93px)*1.4375);width:100%;justify-self:center}.battle-side{display:block;max-height:calc(100dvh - 70px);overflow:auto;padding:10px}.team-button{min-height:65px}.team-button canvas{height:34px;width:40px}.team-button b{font-size:10px}.details{margin-top:10px;min-height:0}.battle-controls{margin-top:10px;gap:6px}.details h3{font-size:16px}.battle-side>h3{font-size:17px;margin-bottom:6px}.detail-buttons button,.battle-controls button{padding:6px;font-size:11px}.note{font-size:10px;margin:7px 0 0}.shell{padding:15px 24px}.hero{min-height:145px;margin-bottom:15px}.hero-copy img{height:105px}.camp{padding-top:30px}.camp-pokemon canvas{height:62px}.map-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.map-grid .map-card:last-child{display:block;grid-column:auto}.map-body h3{font-size:16px}.map-body p{font-size:10px}.section-head{display:flex}.regions{margin:0}.modal{max-height:95dvh}.setup-grid{grid-template-columns:1fr 1fr}.collection{grid-template-columns:repeat(4,1fr)}.rules-grid{grid-template-columns:repeat(3,1fr)}}
/* Keep the whole battlefield visible on desktop, including the southern exit. */
@media(min-width:1000px) and (min-height:541px){.battle-layout{grid-template-columns:minmax(0,calc((100dvh - 132px)*1.4375)) 280px;justify-content:center}.battle-side{max-height:calc(100dvh - 132px);overflow:auto}.board-shell{width:100%;align-self:start}}
@media(max-width:760px) and (orientation:portrait){.topbar{height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:9px 13px;gap:8px}.topbar .brand{grid-column:1;grid-row:1;min-width:0}.topbar .wallet{grid-column:2;grid-row:1}.topbar .nav{grid-column:1/-1;grid-row:2;justify-content:center}.topbar .nav button{font-size:12px;flex:1;padding:6px}.topbar .nav .icon{width:18px;height:18px;margin-right:3px}.hero{grid-template-columns:1fr}.hero-copy{min-height:130px}.hero-copy img{height:105px}.camp{min-height:130px}.camp-pokemon canvas{height:42px}}
@media(max-height:540px) and (orientation:landscape){.topbar{display:flex;height:50px;padding:5px 16px;gap:9px}.topbar .brand{font-size:16px}.topbar .brand small{font-size:7px;letter-spacing:1px}.topbar .nav button{padding:5px 8px;font-size:11px}.topbar .wallet{padding:5px 10px;font-size:15px}.topbar .wallet small{font-size:7px}}
.region.active:not(:disabled):hover{background:#285c4e;color:#fff1cd}
/* Mobile battlefield: use the entire viewport; keep controls beside the map. */
.route-actions{display:flex;gap:7px}.route-actions .primary{flex:1}.victory-stars{font-size:52px;color:#dba63f;letter-spacing:8px;margin-top:15px}.encounter-list{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:12px 0}.encounter-list canvas{width:58px;height:58px;image-rendering:pixelated}.encounter-list span{display:block;font-size:11px}.team-button{touch-action:none;user-select:none;-webkit-user-select:none}.camp-team{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;width:100%;gap:4px}.camp-pokemon{min-width:0;text-align:center}.camp-pokemon canvas{width:100%;max-width:100px;aspect-ratio:1;height:auto!important;object-fit:contain}.camp-pokemon span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;font-size:clamp(8px,1vw,12px)}
@media(orientation:landscape) and (max-height:600px){
 body.in-battle{overflow:hidden}.in-battle .battle-page{position:fixed;inset:0;max-width:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);height:100dvh;overflow:hidden}
 .in-battle .battle-layout{height:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(150px,21vw,205px);gap:3px;align-items:stretch}
 .in-battle .battle-layout>div{min-width:0;height:100%;position:relative}.in-battle .board-shell{width:100%;max-width:none;height:100%;border:0;border-radius:0}.in-battle .board{width:100%;height:100%;aspect-ratio:auto}.in-battle .note{display:none}
 .in-battle .battle-head{position:absolute;z-index:3;top:max(3px,env(safe-area-inset-top));left:max(5px,env(safe-area-inset-left));right:calc(clamp(150px,21vw,205px) + 5px);height:35px;padding:0;gap:5px;pointer-events:none;flex-wrap:nowrap}.in-battle .battle-head>*{pointer-events:auto}.in-battle .battle-title{display:none}.in-battle .hud{gap:4px}.in-battle .stat{min-width:0;padding:4px 7px;background:#fff9e7e8;border-radius:9px;white-space:nowrap}.in-battle .stat small{display:none}.in-battle .stat b{font-size:17px}.in-battle .stat .icon{width:16px;height:16px;margin-right:3px}.in-battle .battle-head button{font-size:10px;padding:6px 8px}.in-battle .battle-head .inline{gap:3px}
 .in-battle .board-toolbar{top:auto;bottom:6px;right:6px;z-index:4}.in-battle .board-toolbar button{min-height:34px;padding:5px 9px;font-size:11px;background:#fff9e9f5}
 .in-battle .battle-side{display:flex;flex-direction:column;height:100%;max-height:none;padding:6px;border:0;border-radius:0;overflow-y:auto;gap:5px;box-shadow:none}.in-battle .battle-side>h3{font-size:13px;margin:0}.in-battle .team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.in-battle .team-button{min-height:59px;padding:2px;box-shadow:none}.in-battle .team-button canvas{width:40px;height:36px}.in-battle .team-button span,.in-battle .team-button b{font-size:9px;line-height:1.1}.in-battle .details{min-height:0;margin:0;padding:5px 0;border-top:1px solid #d8d0b9}.in-battle .details h3{font-size:14px;margin:0}.in-battle .details p{font-size:10px}.in-battle .details .notice{font-size:10px;padding:4px;margin:4px 0}.in-battle .detail-buttons{gap:4px;margin-top:5px}.in-battle .detail-buttons button{font-size:10px;padding:7px 3px;min-height:32px}.in-battle .priority{flex-wrap:wrap}.in-battle .priority button{min-width:45%;font-size:10px;padding:5px}.in-battle .battle-controls{position:sticky;bottom:-6px;margin-top:auto;padding:5px 0;background:#fff9e9;gap:4px}.in-battle .battle-controls button{font-size:10px;padding:7px 3px;min-height:33px}.in-battle .battle-controls>p,.in-battle .progress-bar{display:none}
 .hero{grid-template-columns:28% 72%;min-height:145px}.camp{padding:32px 8px 8px;min-width:0}.camp-label{top:8px;font-size:9px}.camp-team{gap:3px}.camp-pokemon canvas{max-height:65px}.camp-pokemon span{font-size:9px;padding:3px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.5px}.hero-copy{padding:10px}.hero-copy img{max-width:100%;height:95px}
}
@media(max-width:760px) and (orientation:portrait){.camp-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.camp{padding-top:36px}.camp-pokemon canvas{width:64px}.camp-pokemon span{font-size:10px}.encounter-list{grid-template-columns:repeat(3,1fr)}}
.camp-pokemon{width:100%;max-width:none}
@media(orientation:landscape) and (max-height:600px){.in-battle .battle-layout{grid-template-rows:minmax(0,1fr)}.in-battle .battle-layout>div,.in-battle .battle-side{min-height:0}.in-battle .battle-layout>div{height:100%;overflow:hidden}.in-battle .board-shell{position:absolute;inset:0;height:100%;min-height:0}.in-battle .battle-side{height:100%;min-height:0}.in-battle .battle-head .inline button{background:#fff9e7ed}.in-battle .battle-controls{flex-shrink:0}.in-battle .details{flex-shrink:0}}
.mobile-back{display:none}
@media(orientation:landscape) and (max-height:600px){.in-battle .has-selection .team-grid,.in-battle .has-selection>h3{display:none}.in-battle .has-selection .mobile-back{display:block;width:100%;margin-bottom:5px}.in-battle .has-selection .details{border:0}.in-battle .has-selection .battle-controls{margin-top:auto}}
/* 6.2: native controls, stable cards and grounded companions. */
.native-app [data-action="fullscreen"]{display:none!important}.native-app .settings-row:has([data-action="fullscreen"]){display:none!important}
.route-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0}.route-actions button{width:100%;min-width:0;white-space:normal;padding:10px 8px}.route-actions .primary{display:flex;align-items:center;justify-content:center;gap:5px}.route-actions .icon{flex-shrink:0;margin:0}.map-body{min-width:0}.map-meta{flex-wrap:wrap;gap:5px}
.camp-pokemon canvas{animation:none;filter:drop-shadow(0 3px 0 #53673935)}
@media(orientation:landscape) and (max-height:600px){.camp{padding:38px 8px 8px;background-position:center 60%}.camp-team{transform:translateY(5px)}.camp-pokemon canvas{display:block;margin:0 auto -6px;max-height:65px}.camp-pokemon span{position:relative;z-index:1}.hero{min-height:175px}.hero-copy{align-self:center}}
#pause-veil>div{display:flex;flex-direction:column;align-items:center;gap:10px}#pause-veil button{min-width:190px}#pause-veil h1{margin-bottom:6px}
.victory-stars{display:flex;justify-content:center;gap:10px;letter-spacing:0;margin:20px 0}.award-star{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#e6e1cf;border:2px solid #c7bea1;box-shadow:0 5px 0 #b9ae91;transform:rotate(-6deg)}.award-star:nth-child(2){width:88px;height:88px;transform:translateY(-8px) rotate(0)}.award-star:nth-child(3){transform:rotate(6deg)}.award-star .icon{width:55px;height:55px;margin:0}.award-star .icon rect{fill:#b6ad92}.award-star.earned{background:linear-gradient(135deg,#fff8b8,#ffd45a 55%,#ec9a25);border-color:#fff4bb;box-shadow:0 5px 0 #aa6b28,0 0 24px #f6c65366;animation:award-pop .6s calc(var(--order)*.18s) both}.award-star.earned .icon rect{fill:#fff9cf;filter:drop-shadow(0 1px 0 #bc7423)}@keyframes award-pop{from{opacity:0;scale:.2;rotate:-30deg}to{opacity:1;scale:1;rotate:0deg}}@media(prefers-reduced-motion:reduce){.award-star.earned{animation:none}}
@media(max-width:1000px){.camp{background-size:100% 100%}.camp-team{grid-template-columns:repeat(6,minmax(0,1fr))}.camp-pokemon canvas{display:block;width:100%;margin:0 auto -5px}.camp-pokemon span{font-size:8px;padding:3px 1px}.camp{padding-bottom:9px;min-height:155px}}
/* 6.3 · Pastel field journal: semantic actions, clear spending and progression. */
button{transition:background .16s,box-shadow .16s,transform .16s}.modal{background:linear-gradient(145deg,#fffaf0,#f8f2e4);border:2px solid #ded1bb}.modal-head{background:linear-gradient(110deg,#ecf0df,#fff4df);border-bottom:1px solid #d8d2ba}.modal-head h2{color:#315b4c}.modal-foot{background:#f3efdf}.poke-card{background:linear-gradient(150deg,#fffdf4,#f6f0e3);border-color:#ded2bc;box-shadow:0 4px 0 #d8d1bd55}.poke-card.chosen{background:linear-gradient(145deg,#edf3df,#deeadb);border-color:#8eaa8d}.poke-card .tag{margin:8px 2px}.poke-card p{color:#5e7062}.collection{gap:14px}.tabs{flex-wrap:wrap;gap:7px}.tabs button{border-radius:12px;background:#f2eddf}.tabs .active{background:#dbe9d4;border-color:#94ab8c;color:#294f3e}.map-card.locked .map-preview{filter:saturate(.48);opacity:.72}.map-card.locked{background:#f2eee2}.map-card .lock-hint{font-size:11px;line-height:1.5;color:#766c5e;min-height:0}.lock-hint .icon{width:15px;height:15px}.slot-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:linear-gradient(115deg,#e5eee0,#faf3dc);border:1px solid #bdcbb4;border-radius:18px;padding:18px;margin:0 0 20px;box-shadow:0 4px 0 #d7ddc855}.slot-track{display:flex;gap:7px;margin:12px 0}.slot-track>span{width:37px;height:39px;display:grid;place-items:center;border:1px dashed #b5b7a4;border-radius:10px;background:#eeeadd}.slot-track>span.filled{border-style:solid;background:#faffed;border-color:#9ab491;box-shadow:0 3px 0 #c5d1b9}.slot-track .icon{margin:0}.economy-note{display:flex;align-items:center;gap:8px;padding:12px 15px;background:#fff1ca;border:1px solid #e0ce9b;border-radius:12px;font-size:12px;line-height:1.5;margin-bottom:18px}.economy-note .icon{flex-shrink:0}.detail-buttons button[class*="upgrade-"]{display:flex;justify-content:center;align-items:center;gap:7px;border-width:1px;min-height:48px;padding:10px;color:#354d46}.detail-buttons button small{display:block;font-weight:650;font-size:10px;line-height:1.35;margin-top:3px}.detail-buttons .icon{flex-shrink:0;width:23px;height:23px;margin:0}.upgrade-power{background:#f3d7da;border-color:#c997a1;box-shadow:0 3px 0 #d9afb6}.upgrade-haste{background:#d8e6f4;border-color:#99b6ce;box-shadow:0 3px 0 #b7cbdc}.upgrade-evolve{background:#e8dcf1;border-color:#b69cc9;box-shadow:0 3px 0 #ccbadb}.upgrade-radar{background:#d7eeeb;border-color:#94bdb8;box-shadow:0 3px 0 #b3d3cd}.upgrade-mega{background:linear-gradient(110deg,#f3d9ea,#e0ddf5,#d8eee2);border-color:#b8a6ce;box-shadow:0 3px 0 #c8bad8}.upgrade-sell{background:#ece2d9;border-color:#c5ad9c;box-shadow:0 3px 0 #d5c4b6}.upgrade-slot{background:#dcead6;border-color:#a5b99b}.detail-buttons button:not(:disabled):hover{filter:brightness(1.035);background-image:linear-gradient(#ffffff25,#ffffff25)}.detail-buttons button:disabled{opacity:.6}.progression-result{background:#e5eddb;border-radius:12px;padding:10px;margin-top:15px;font-size:13px}.camp-team{grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center}.camp-team:has(.camp-pokemon:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.camp-team .camp-pokemon{max-width:110px}
@media(max-height:600px) and (orientation:landscape){.detail-buttons button[class*="upgrade-"]{min-height:36px;padding:6px 3px;gap:4px}.detail-buttons .icon{width:17px;height:17px}.detail-buttons button small{font-size:8px}.slot-panel{padding:12px}.modal-head h2{font-size:23px}}
@media(max-width:560px){.slot-panel>button{width:100%}.slot-track{gap:5px}.economy-note{font-size:11px}.collection{gap:8px}.modal-body{padding:14px}.slot-panel h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){button,.map-card{transition:none}}

/* Keep every route entrance visible: controls occupy the sidebar, never the canvas. */
.battle-side .board-toolbar{position:static;display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-bottom:12px}.battle-side .board-toolbar button{flex:1;padding:7px}.topbar button:not(:disabled):hover{background:#486f5d;color:#fff7df}
@media(max-width:760px) and (orientation:portrait){.battle-side .board-toolbar{grid-column:1/-1;margin:0}.battle-side>h3{display:none}}
@media(orientation:landscape) and (max-height:600px){.in-battle .battle-side .board-toolbar{position:static;margin:0 0 4px;flex-shrink:0}.in-battle .battle-side .board-toolbar button{padding:5px 3px;font-size:10px;min-width:30px}.in-battle .battle-layout>div .board-shell{top:42px;height:calc(100% - 42px)}.in-battle .battle-head{height:36px;background:#f5efdf;top:3px}.in-battle .battle-layout>div{background:#f5efdf}}
/* 6.4 · Guardian mastery and the watercolor field guide. */
.guardian-heading{display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(120deg,#e7edda,#fff4df);border:1px solid #d4d9bd;border-radius:17px;margin-bottom:10px}.guardian-heading canvas{width:64px;height:64px;flex-shrink:0;image-rendering:pixelated}.guardian-heading h3{margin:4px 0;font-size:23px}.guardian-heading .eyebrow{font-size:9px;letter-spacing:.14em}.mastery-label{display:inline-block;color:#6b547e;font-size:10px;font-weight:750;background:#eee2f2;border-radius:8px;padding:4px 7px}.upgrade-copy{width:100%;text-align:left}.upgrade-meter{display:flex;gap:5px;margin-top:8px}.upgrade-meter i{height:5px;flex:1;background:#fff8;border:1px solid #ffffff80;border-radius:6px}.upgrade-power .upgrade-meter .filled{background:#b86d7c}.upgrade-haste .upgrade-meter .filled{background:#608fb7}.detail-buttons button.mastered:disabled{opacity:1;border:2px solid #bfa473;box-shadow:0 3px 0 #d3c19c, inset 0 0 16px #fff7cf80}.route-report-head{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;margin-bottom:25px}.route-report-head canvas{width:100%;border-radius:18px;box-shadow:0 5px 0 #d5d3bd}.encounter-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px;margin:15px 0 28px}.encounter-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 5px;background:linear-gradient(145deg,#fffdf4,#eef0e1);border:1px solid #dad6be;border-radius:15px;box-shadow:0 3px 0 #dedbc644}.encounter-card canvas{width:64px;height:64px;image-rendering:pixelated}.encounter-card b{font-size:12px;margin-top:5px}.encounter-card small{font-size:10px;color:#71816d;margin-top:5px}button:focus-visible{outline:3px solid #b38c53;outline-offset:3px}.map-card{box-shadow:0 6px 0 #d8d3be70}.modal-body>h3{border-bottom:1px solid #ddd7be;padding-bottom:10px;color:#426653}
@media(max-height:600px) and (orientation:landscape){.guardian-heading{padding:6px;gap:6px;margin-bottom:6px}.guardian-heading canvas{width:42px;height:42px}.guardian-heading h3{font-size:16px}.guardian-heading .eyebrow{font-size:7px}.mastery-label{font-size:8px}.upgrade-meter{margin-top:5px;gap:3px}.upgrade-meter i{height:4px}.encounter-list{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}}
@media(max-width:560px){.route-report-head{grid-template-columns:1fr;gap:12px}.encounter-list{grid-template-columns:repeat(3,minmax(0,1fr))}.encounter-card b{font-size:10px}}
/* V6.5: mobile sheets and a proportionate battlefield. */
[hidden]{display:none!important}.palette-tabs,.upgrade-tabs{display:flex;gap:5px;margin-bottom:6px}.palette-tabs button,.upgrade-tabs button{flex:1;padding:7px;font-size:12px}.palette-tabs .active,.upgrade-tabs .active{background:#dcebd5;border-color:#90ad8e}.support-grid{display:grid;gap:7px}.support-button{display:flex;align-items:center;gap:5px;font-size:12px;padding:8px}.support-button b{margin-left:auto;white-space:nowrap}.support-emblem{padding:16px}.support-emblem .icon{width:48px;height:48px}.sheet-pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:8px}.sheet-pager button{padding:6px 12px;min-height:34px}.shop-select{padding:8px 12px;border:1px solid #b3c2a7;border-radius:12px;background:#eef1df;color:#315b4c;font:700 14px Nunito;max-width:100%}
@media(max-width:1000px),(max-height:600px){
 .compact-sheet{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);width:calc(100vw - 16px);max-width:1000px;display:flex;flex-direction:column;overflow:hidden;border-radius:20px}.compact-sheet .modal-head{padding:8px 14px;min-height:45px;flex-shrink:0}.compact-sheet .modal-head h2{font-size:20px}.compact-sheet .modal-head button{padding:4px 12px;min-height:32px}.compact-sheet .modal-body{padding:10px 14px;min-height:0;flex:1;overflow:hidden}.compact-sheet .modal-foot{padding:7px 14px;gap:8px;flex-shrink:0}.compact-sheet .modal-foot button{padding:7px 14px;min-height:35px;font-size:13px}.compact-sheet p{font-size:12px;line-height:1.35}.compact-sheet h3{font-size:17px}.compact-sheet .collection,.compact-sheet .mega-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0}.compact-sheet .poke-card{padding:7px;min-width:0}.compact-sheet .poke-card canvas{width:50px;height:50px}.compact-sheet .poke-card h3{font-size:15px;margin:2px}.compact-sheet .poke-card p{font-size:11px;line-height:1.3;margin:3px 0}.compact-sheet .poke-card button{padding:6px 9px;font-size:12px;min-height:34px;margin-top:4px;width:100%}.compact-sheet .poke-card .tag{margin:3px;font-size:10px;padding:3px 6px}.compact-sheet .slot-panel{padding:7px 10px;margin:0 0 5px;gap:5px;flex-wrap:nowrap}.compact-sheet .slot-panel h3{font-size:15px}.compact-sheet .slot-panel button{padding:6px;font-size:12px;width:auto;min-height:32px}.team-sheet>p{margin:0 0 5px!important}.shop-sheet>.between{position:absolute;right:70px;top:8px;margin:0!important}.shop-sheet .wallet{padding:4px 12px;font-size:18px}.shop-sheet .wallet small{display:none}.shop-sheet .wallet .icon{width:18px}.compact-sheet .setup-grid{grid-template-columns:.8fr 1.2fr;gap:16px}.compact-sheet .setup-image{max-height:130px;width:auto;max-width:100%}.compact-sheet .setup-grid h2{font-size:18px;margin-top:4px!important}.compact-sheet .setup-grid .preview-caption{display:none}.compact-sheet .choices{gap:4px;margin:4px 0 8px}.compact-sheet .choice{padding:5px 8px;min-height:30px;font-size:12px}.compact-sheet .choice small{font-size:10px}.compact-sheet .eyebrow{font-size:10px}.compact-sheet .legend{margin:4px 0}.compact-sheet .tabs{margin:0 0 8px}.compact-sheet .tabs button{padding:6px;font-size:12px}.compact-sheet .rules-grid{grid-template-columns:1fr 1fr;gap:12px}.compact-sheet .rule{padding:10px;font-size:12px}.compact-sheet .credits{font-size:9px;margin:5px}.compact-sheet .settings-row{padding:7px 0;font-size:12px}.compact-sheet .settings-row button{padding:6px}.compact-sheet .route-report-head{display:block;margin-bottom:5px}.compact-sheet .encounter-list{grid-template-columns:repeat(6,minmax(0,1fr));margin:8px 0;gap:5px}.compact-sheet .encounter-card{padding:5px}.compact-sheet .encounter-card canvas{width:48px;height:48px}.compact-sheet .mega-cell{padding:5px}.compact-sheet .mega-cell canvas{width:44px;height:44px}.compact-sheet .mega-cell b,.compact-sheet .mega-cell span{font-size:11px}.compact-sheet.result h1{font-size:24px}.compact-sheet.result .result-medal{display:none}.compact-sheet.result .victory-stars{margin:8px}.compact-sheet.result .award-star{width:50px;height:50px}.compact-sheet.result p{margin:5px!important}.compact-sheet.result h2{font-size:20px;margin-top:6px!important}
 .in-battle{overflow:hidden}.in-battle .battle-page{padding:0;height:100dvh;width:100%;max-width:none}.in-battle .battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:5px;height:100dvh;padding:4px}.in-battle .battle-layout>div{position:relative;min-width:0;height:100%;padding-top:38px}.in-battle .battle-layout>div .board-shell{position:absolute;inset:38px 0 0;height:auto;width:100%;max-width:none;display:flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:#e7ead8;overflow:hidden}.in-battle .board{flex:none;max-width:none;max-height:none;object-fit:contain;aspect-ratio:920/640;border-radius:12px}.in-battle .battle-head{position:absolute;z-index:2;left:7px;top:4px;width:calc(100% - 264px);height:34px;padding:0;display:flex;justify-content:space-between;background:#f8f3e4}.in-battle .battle-title{display:none}.in-battle .hud{display:flex;gap:4px}.in-battle .stat{padding:3px 6px;min-width:0;display:flex;gap:4px;align-items:center;font-size:14px}.in-battle .stat small{display:none}.in-battle .stat .icon{width:14px;height:14px}.in-battle .battle-head button{padding:4px 7px;font-size:11px;min-height:30px}.in-battle .battle-side{height:100%;max-height:none;min-width:0;overflow:hidden;display:flex;flex-direction:column;padding:7px;border-radius:14px;gap:4px}.in-battle .battle-side .board-toolbar{margin:0;gap:4px;flex:none}.in-battle .board-toolbar button{min-height:30px;padding:4px;font-size:11px}.in-battle .team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex:none}.in-battle .team-button{padding:3px;min-height:62px;gap:0}.in-battle .team-button canvas{width:30px;height:30px}.in-battle .team-button span,.in-battle .team-button b{font-size:10px}.in-battle .details{border:0;padding:0;margin:0;min-height:0;flex:1;overflow:hidden}.in-battle .details>h3{font-size:15px}.in-battle .details>p,.in-battle .notice{font-size:11px;line-height:1.3;margin:4px 0}.in-battle .notice{padding:5px}.in-battle .has-selection .team-grid,.in-battle .has-selection .support-grid,.in-battle .has-selection .palette-tabs{display:none!important}.in-battle .mobile-back{display:block;padding:3px 6px;font-size:10px;min-height:24px;margin-bottom:3px}.in-battle .guardian-heading{padding:3px 7px;margin:0 0 3px;gap:6px}.in-battle .guardian-heading canvas{width:32px;height:32px}.in-battle .guardian-heading h3{font-size:15px;margin:0}.in-battle .guardian-heading .eyebrow,.in-battle .mastery-label{display:none}.in-battle .upgrade-tabs{margin:3px 0;gap:4px}.in-battle .upgrade-tabs button{padding:3px;font-size:11px;min-height:28px}.in-battle .upgrade-page{display:grid;grid-template-columns:1fr 1fr;gap:5px}.in-battle .upgrade-page button{padding:5px;min-height:42px;font-size:11px;line-height:1.2;border-radius:10px}.in-battle .upgrade-page button .icon{width:16px;height:16px;margin:0}.in-battle .upgrade-page button small{display:none}.in-battle .upgrade-copy{display:block;text-align:center}.in-battle .upgrade-meter{margin-top:4px;gap:3px}.in-battle .upgrade-page p{font-size:10px;margin:0;line-height:1.25;grid-column:1/-1}.in-battle .upgrade-page .priority{grid-column:1/-1;display:flex;gap:3px}.in-battle .priority button{flex:1;padding:4px 1px;min-height:29px;font-size:10px}.in-battle .battle-controls{position:static;flex:none;display:grid;grid-template-columns:1.25fr 1fr;gap:4px;padding:3px 0;margin:0;background:none}.in-battle .battle-controls button{margin:0;padding:5px;min-height:36px;font-size:11px}.in-battle .battle-controls p,.in-battle .progress-bar,.in-battle .note{display:none}.in-battle #pause-veil{inset:0}.in-battle #pause-veil h1{font-size:22px}.in-battle #pause-veil button{font-size:12px;padding:8px}
}
@media(max-width:600px) and (orientation:portrait){.compact-sheet .collection,.compact-sheet .mega-list{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-sheet .poke-card{padding:12px 6px}.compact-sheet .poke-card canvas{width:64px;height:64px}.compact-sheet .rules-grid{grid-template-columns:1fr}.compact-sheet .encounter-list{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-sheet .setup-grid{grid-template-columns:1fr}.compact-sheet .setup-grid>div:first-child{display:none}.compact-sheet .choice{min-height:45px}.compact-sheet .shop-sheet>.between{right:55px}.compact-sheet .modal-head h2{font-size:17px}.in-battle .battle-layout{grid-template-columns:1fr;grid-template-rows:45% 55%;gap:0}.in-battle .battle-head{width:calc(100% - 14px)}.in-battle .battle-side{height:100%;padding:6px 10px}.in-battle .team-button{min-height:54px}.in-battle .details{min-height:0}.in-battle .upgrade-page button{min-height:43px}.in-battle .guardian-heading{min-height:34px}}
@media(max-height:450px){.compact-sheet .poke-card canvas{width:38px;height:38px}.compact-sheet .poke-card p{font-size:10px;line-height:1.2}.compact-sheet .poke-card{padding:5px}.compact-sheet .slot-panel{padding:4px 8px}.compact-sheet .support-emblem{padding:5px}.compact-sheet .support-emblem .icon{width:32px;height:32px}.compact-sheet .card{padding:8px}.compact-sheet .sheet-pager{margin-top:5px}.compact-sheet .sheet-pager button{min-height:30px;padding:4px 10px}}
@media(max-width:1000px),(max-height:600px){.compact-sheet .shop-sheet .collection:not(.support-shop){grid-template-columns:repeat(2,minmax(0,1fr))}.compact-sheet .setup-grid .shop-select{display:block;width:100%;margin:7px 0 18px;min-height:40px;white-space:normal}.compact-sheet .search{padding:6px 10px;margin:0 0 5px;min-height:34px}.compact-sheet .mega-list{margin-top:4px}.compact-sheet .card .between h3{font-size:15px}.compact-sheet .card button{padding:5px 10px;min-height:30px}.compact-sheet .card{margin-bottom:4px}.modal-backdrop{overflow:hidden}}
@media(max-height:450px){.compact-sheet .shop-sheet .collection{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-sheet .shop-sheet .poke-card{display:grid;grid-template-columns:40px 1fr;gap:3px;align-items:center}.compact-sheet .shop-sheet .poke-card canvas,.compact-sheet .support-emblem{grid-column:1;grid-row:1/4;padding:0}.compact-sheet .shop-sheet .poke-card h3,.compact-sheet .shop-sheet .poke-card p{grid-column:2;margin:1px}.compact-sheet .shop-sheet .poke-card .tag,.compact-sheet .shop-sheet .poke-card button{grid-column:1/-1}.compact-sheet .shop-sheet .poke-card .tag{margin:0}.compact-sheet .mega-cell canvas{width:34px;height:34px}.compact-sheet .mega-cell{padding:2px}.compact-sheet .sheet-pager{margin-top:3px}.compact-sheet .mega-cell span{display:none}.compact-sheet .slot-panel{margin-bottom:3px}.compact-sheet .settings-row h3{font-size:15px}.compact-sheet .settings-row .inline{margin-top:5px!important}}
@media(max-height:380px){.compact-sheet .modal-body{padding-top:7px;padding-bottom:7px}}
/* V6.5.1 · Aligned route cards, visible expedition choices, illustrated pixel assets. */
.map-card{display:flex;flex-direction:column}.map-card .map-body{flex:1;display:grid;grid-template-rows:40px 46px minmax(68px,1fr) minmax(80px,auto) auto;gap:5px}.map-card .route-chip{align-self:start;min-height:32px;display:flex;align-items:center;font-size:11px;line-height:1.35}.map-card .map-body h3{margin:0;min-height:0}.map-card .map-body>p{margin:0;min-height:0}.map-card .map-meta{display:flex;flex-wrap:wrap;gap:3px 8px;align-content:center;min-height:40px}.map-card .route-actions{margin-top:3px;display:grid;grid-template-columns:1fr;grid-template-rows:40px 62px 46px;gap:7px}.map-card .route-actions button{margin:0;padding:6px;font-size:12px;height:100%;min-height:0}.map-card .route-actions .lock-hint{margin:0;display:flex;align-items:center;gap:5px;font-size:10px;line-height:1.4;min-height:0}.map-card .route-actions .available{color:#65876c}.map-card .route-actions .lock-hint .icon{width:17px;height:17px;flex-shrink:0}.item-icon{object-fit:contain;image-rendering:pixelated}.illustrated-icon{filter:drop-shadow(0 1px 0 #ffffff70)}.support-sprite{width:36px;height:36px;vertical-align:middle;flex-shrink:0;filter:drop-shadow(0 2px 0 #73816625)}.support-emblem .support-sprite{width:72px;height:72px}.support-button .support-sprite{width:32px;height:32px}.details h3 .support-sprite{width:42px;height:42px}.upgrade-page .item-icon{width:22px!important;height:22px!important}.victory-stars .illustrated-icon{filter:drop-shadow(0 2px 0 #c49748)}
@media(max-width:1000px),(max-height:600px){.expedition-sheet .setup-grid{grid-template-columns:minmax(140px,.65fr) minmax(0,1.35fr);gap:16px;height:100%;align-items:center}.expedition-sheet .setup-grid>div{min-width:0}.expedition-sheet .setup-image{width:100%;height:auto;max-height:140px;object-fit:contain}.expedition-sheet .setup-grid h2{font-size:19px}.expedition-sheet .setup-grid .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0 12px}.expedition-sheet .setup-grid .choices:last-child{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.expedition-sheet .choice{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;min-height:48px;gap:6px;border-radius:12px;text-align:left;background:#fffaf0;box-shadow:0 2px 0 #d8d3bf;font-size:13px}.expedition-sheet .choice.active{background:#dfebd4;border:2px solid #87a88a;box-shadow:0 2px 0 #adc4a3}.expedition-sheet .choice small{font-size:10px;line-height:1.25;font-weight:650;white-space:normal}.expedition-sheet .choices:last-child .choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:61px}.expedition-sheet .choice b{color:#72916d;background:#eef2de;padding:3px 5px;border-radius:6px;font-size:12px}.compact-sheet .support-emblem .support-sprite{width:42px;height:42px}.in-battle .support-button .support-sprite{width:28px;height:28px}.in-battle .support-button{padding:4px 7px}.in-battle .details h3 .support-sprite{width:36px;height:36px}}
@media(max-height:380px){.expedition-sheet .setup-grid .choices{gap:4px;margin:4px 0 8px}.expedition-sheet .choice{min-height:44px;padding:5px 7px;font-size:12px}.expedition-sheet .setup-grid .choices:last-child .choice{min-height:56px}.expedition-sheet .setup-image{max-height:115px}}
@media(max-width:600px) and (orientation:portrait){.expedition-sheet .setup-grid{display:block}.expedition-sheet .setup-grid>div:first-child{display:block;margin-bottom:16px}.expedition-sheet .setup-image{float:left;width:100px;height:70px;margin-right:12px}.expedition-sheet .setup-grid>div:first-child:after{content:'';display:block;clear:both}.expedition-sheet .choices:last-child .choice{min-height:85px}.map-grid .map-card:last-child{display:flex;grid-column:auto}.map-grid .map-card:last-child .map-preview{height:auto;aspect-ratio:1.34}.map-card .map-body{grid-template-rows:40px 46px minmax(65px,1fr) minmax(80px,auto) auto}.map-card .route-actions{grid-template-rows:40px 62px 46px}}
.map-grid .map-card:last-child{display:flex;flex-direction:column;grid-column:auto}.map-grid .map-card:last-child .map-preview{height:auto;aspect-ratio:1.34;width:100%}
.award-star:not(.earned) .icon{filter:grayscale(1);opacity:.42}
/* Regional mission album and consistent watercolor rating stars. */
.route-stars{display:inline-flex;gap:3px;align-items:center;vertical-align:middle}.route-stars .icon{width:24px;height:24px;display:block}.route-stars .unearned{filter:grayscale(1) brightness(.48);opacity:.45}.route-stars .earned{filter:drop-shadow(0 2px 1px #bd914a33)}.map-meta>span:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.map-meta small{font-size:12px;white-space:nowrap}
.mode-reward{display:flex!important;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:6px 9px;margin-top:6px;border-radius:10px;background:#efdfad44;color:#655b36}.mode-reward>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.mode-reward .icon{width:17px;height:17px}.mode-reward em{font-size:10px;font-style:normal;color:#687b67}.mission-prizes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.mission-prizes>div{display:flex;align-items:center;flex-direction:column;max-width:100px}.mission-prizes canvas{width:64px;height:64px}.mission-card{display:flex;flex-direction:column;gap:8px}.mission-card h3{font-size:18px}.mission-card p{font-size:13px}.mission-card progress{width:100%;height:12px;accent-color:#588675}.mission-card>button{margin-top:auto}.mission-tabs{flex-wrap:wrap}.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.award-star:not(.earned){filter:grayscale(1) brightness(.45);opacity:.32}
@media(max-width:1000px),(max-height:600px){.mission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mission-prizes canvas{width:42px;height:42px}.mission-prizes small{font-size:10px}.mission-card h3{font-size:14px}.mission-card p{font-size:11px}.mission-tabs{gap:3px}.mission-tabs button{padding:5px 9px;font-size:12px}.nav{flex-wrap:wrap}.mode-reward{padding:3px 5px;margin-top:3px}}
@media(max-width:600px) and (orientation:portrait){.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:1000px),(max-height:600px){.mission-sheet .modal-body>p:first-child{display:none}.mission-sheet .mission-card{gap:2px;padding:5px;min-height:0}.mission-sheet .mission-card h3{font-size:12px;margin:0;line-height:1.15}.mission-sheet .mission-card p{font-size:10px;line-height:1.15;margin:2px 0}.mission-sheet .mission-prizes canvas{width:32px;height:32px}.mission-sheet .mission-prizes small{font-size:9px}.mission-sheet .mission-card>b{font-size:12px;line-height:14px}.mission-sheet .mission-card>button{font-size:11px;min-height:28px;padding:4px 8px;margin-top:2px}.mission-sheet .sheet-pager{margin:4px 0}.mission-sheet .sheet-pager button{padding:4px 12px;min-height:28px}.mission-sheet .tabs{margin-bottom:5px}.mission-sheet .mission-card progress{height:8px}.topbar .nav{flex-wrap:nowrap;gap:3px}.topbar .nav button{padding:7px 8px;font-size:11px;min-width:0}.topbar .nav .icon{width:18px;height:18px}}

.upgrade-legendary{background:linear-gradient(120deg,#e8d7a5,#e1d5eb,#c8e5dc);border-color:#b6aa77;grid-column:1/-1;min-height:42px}.reward-reveal{text-align:center;position:relative}.reward-reveal h2{margin:5px}.reward-halo{width:180px;height:155px;margin:auto;display:grid;place-items:center;background:radial-gradient(ellipse,#fff9d3 0%,#f0d69288 35%,transparent 70%);animation:reward-bloom 3s ease-in-out infinite}.reward-halo canvas{width:130px!important;height:130px!important;image-rendering:pixelated}.reward-move{display:flex;gap:5px;flex-direction:column;background:#e7ecd9;border:1px solid #c7c9a9;border-radius:18px;padding:12px;margin:10px auto;max-width:400px}.reward-sheet .modal-body{overflow:auto}.reward-reveal>p{margin:5px}.reward-reveal>small{display:block}@keyframes reward-bloom{50%{filter:brightness(1.12);transform:scale(1.035)}}@media(max-height:600px){.reward-reveal{display:grid;grid-template-columns:150px 1fr;gap:4px 14px;align-items:center}.reward-halo{grid-column:1;grid-row:1/7;width:145px;height:160px}.reward-reveal>:not(.reward-halo){grid-column:2}.reward-reveal h2{font-size:20px}.reward-move{padding:8px;margin:0;width:100%;box-sizing:border-box}.reward-reveal>small{font-size:11px}}@media(prefers-reduced-motion:reduce){.reward-halo{animation:none}}

/* Keep route ratings and challenge counts inside their own row. */
.map-card .map-meta{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:center;gap:6px;padding:4px 0;min-width:0}.map-card .map-meta>span:last-child{align-items:flex-start;gap:4px}.map-card .map-meta small{line-height:1.4}.map-card .route-stars .icon{margin:0}.map-card .route-actions{margin-top:8px}

.upgrade-mega-form{display:flex;gap:4px;min-width:0;align-items:stretch}.upgrade-mega-form button{flex:1;min-width:0;padding:5px!important;white-space:normal}.upgrade-mega-form button.active{background:#ddd2ed;border-color:#9d80b9;box-shadow:inset 0 0 0 1px #9d80b9}.upgrade-mega-form button:disabled{opacity:.6}

@media(max-width:1000px),(max-height:600px){.expedition-sheet .setup-grid .choices:first-of-type{grid-template-columns:repeat(3,minmax(0,1fr))}.expedition-sheet .setup-grid .choices:first-of-type .choice{min-width:0;font-size:11px;padding:5px;min-height:68px}.expedition-sheet .setup-grid .choices:first-of-type .choice small{font-size:9px}.expedition-sheet .mode-reward{gap:2px;padding:2px}.expedition-sheet .mode-reward em{display:none}}

/* Allow touch scrolling through the entire battle shop on compact screens. */
@media(max-width:1000px),(max-height:600px){.in-battle .battle-side{overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0}.in-battle .battle-side> *{flex-shrink:0}.in-battle .battle-side .details{flex:1 0 auto;overflow:visible}.in-battle .battle-controls{padding-bottom:max(6px,env(safe-area-inset-bottom))}}

/* Larger inspection portraits exclusively in the Mega shop catalog. */
.mega-list .mega-cell canvas.mega-shop-preview{width:min(45%,104px);height:auto;aspect-ratio:1;image-rendering:pixelated;vertical-align:middle}
