@font-face{font-family:Pixelify;src:url('../assets/fonts/PixelifyPS-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#ecf2dc;--muted:#a9bca6;--gold:#edca79;--line:#3a5039;--surface:#1d3225;font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;color:var(--ink);font-size:14px;background:#14271c}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit;color:var(--ink)}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold);text-underline-offset:3px}input,select{border:1px solid var(--line);border-radius:4px;background:#16251b;padding:10px}h1,h2,h3,p{margin:0}h2{font-size:clamp(21px,2.5vw,30px);font-weight:600;line-height:1.5}h3{font-size:15px;line-height:1.6}p{line-height:1.8}canvas{image-rendering:pixelated}#game{display:block;width:100vw;height:100dvh;touch-action:none;background:#244b2c}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-family:Pixelify,monospace;color:var(--gold);font-size:12px;letter-spacing:2.4px;margin-bottom:8px}.center{text-align:center}.status-dot{display:inline-block;width:6px;height:6px;background:#bcd99f;box-shadow:0 0 8px #bcd99f60;margin-right:7px}.separator{margin:0 9px;color:#637c62}.keycap{font-family:Pixelify,monospace;border:1px solid #4b6248;padding:2px 5px;border-radius:3px;color:#d2ddbf}.boot{position:fixed;inset:0;z-index:100;background:#14271c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:var(--muted)}.boot strong{font-size:19px;color:var(--ink)}.pixel-leaf{display:block;width:24px;height:24px;transform:rotate(-45deg);background:#c2d9a0;border-radius:0 70% 0 70%;box-shadow:8px 8px #6b905d;animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{opacity:.5;transform:rotate(-35deg) translateY(-4px)}}
.menu-shell{position:fixed;inset:0;overflow:auto;padding:35px max(30px,calc((100vw - 1160px)/2));background:radial-gradient(ellipse at 95% -15%,#53613a66,transparent 50%),linear-gradient(135deg,#172d21f5,#14251cfb 65%);scrollbar-color:#536c47 #16271c}.menu-shell:before{content:'';pointer-events:none;position:fixed;inset:0;opacity:.07;background-image:linear-gradient(90deg,#bac998 1px,transparent 1px),linear-gradient(#bac998 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(transparent 50%,#000)}.masthead,.menu-tabs,.menu-panel,.menu-footer{position:relative}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.brand{display:flex;align-items:center;gap:16px}.brand-mark{font-size:40px;color:var(--gold);transform:rotate(15deg)}.brand-en{font-family:Pixelify,monospace;font-size:12px;color:#cccea3;letter-spacing:2.4px}h1{font-size:25px;letter-spacing:3px;font-weight:700;margin-top:5px}h1 span{font-weight:400;color:#bfd1aa;margin-left:8px}.save-badge{display:flex;align-items:center;color:#c4cfb5;font-size:12px;white-space:nowrap}.coin-balance{margin-left:24px;display:flex;align-items:center;gap:9px;font-family:Pixelify,monospace;font-size:19px;color:var(--gold)}.coin-balance span{font-size:12px}.menu-tabs{display:flex;border-top:1px solid #40543a;border-bottom:1px solid #40543a;gap:20px;padding:0 2px;margin-bottom:35px}.tab{background:none;color:var(--muted);padding:18px 13px 16px;position:relative;letter-spacing:1px;white-space:nowrap}.tab span{font-family:Pixelify;margin-right:10px;font-size:12px;color:#829978}.tab.active{color:var(--gold)}.tab.active:after{content:'';position:absolute;bottom:-1px;left:10px;right:10px;height:3px;background:var(--gold)}.tab:hover{color:#f3db9e}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.section-heading .muted{margin-top:7px}.edition-tag{font-size:11px;letter-spacing:1px;white-space:nowrap;color:#c7d3b4;border:1px solid #506043;padding:8px 12px;background:#c8cd8e08}.party-configs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.party-slot{background:linear-gradient(150deg,#33462c66,#20352766);border:1px solid #49603f;padding:17px;position:relative;border-radius:5px;transition:border-color .15s}.party-slot.selected{border-color:var(--gold);box-shadow:0 0 0 1px #edca7933}.slot-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.slot-number{font-family:Pixelify;font-size:12px;color:#b4c4a5;letter-spacing:1px}.leader-tag{color:var(--gold);font-size:11px}.slot-arrows{display:flex;gap:4px}.tiny-button{background:#18291e;border:1px solid #50603e;border-radius:3px;padding:2px 8px;line-height:1.5;color:#b8cba4}.slot-mon{display:flex;align-items:center;width:100%;gap:9px;background:none;text-align:left;margin:4px 0 12px;min-height:95px;padding:0}.slot-mon canvas{width:94px;height:92px;flex:0 0 94px}.slot-mon h3{font-size:18px;font-weight:500}.slot-types{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}.type-chip{display:inline-block;font-size:10px;line-height:1.5;padding:2px 6px;border:1px solid currentColor;border-radius:3px;background:#0002;opacity:.9}.config-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.config-fields label{min-width:0;font-size:10px;color:#a4b697;display:block}.config-fields select{display:block;width:100%;padding:8px 7px;font-size:12px;margin-top:5px}.config-desc{font-size:11px;color:#acbea2;margin-top:10px;min-height:34px;line-height:1.65}.actual-stats{font-size:10px;color:#849b7a;margin-top:5px;line-height:1.5}.empty-slot{min-height:254px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}.empty-slot button{font-size:28px;color:var(--gold);background:none}.departure-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0 28px;border-bottom:1px solid #364d35}.departure-row p{font-size:11px;color:#a8b99d}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid #536343;background:#33472c;color:#e9eddd;border-radius:4px;padding:12px 20px;font-size:13px;min-height:44px;white-space:nowrap;transition:filter .15s,transform .15s}.button:hover{filter:brightness(1.15)}.button:active{transform:translateY(1px)}.button.primary{background:var(--gold);border-color:#f9dc9f;color:#263420;font-weight:700;box-shadow:0 3px #9a7f40}.button.primary span{font-size:20px;line-height:1}.button.ghost{background:none;color:#b2c4a3;border-color:#40543a}.pool-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:25px 0 16px}.pool-heading h3{font-weight:500;font-size:16px}.search-field{display:flex;align-items:center;border:1px solid #3d5338;border-radius:4px;background:#132218;max-width:220px}.search-field span{padding-left:12px;font-size:22px;color:#94aa85}.search-field input{border:0;background:none;padding:10px;width:180px;min-width:0;font-size:12px}.search-field input::placeholder{color:#7f9775}.pokemon-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.pokemon-cell{position:relative;background:#21362788;border:1px solid #3b5239;border-radius:4px;padding:10px 5px 12px;text-align:center;min-width:0;color:#d4dfc6;transition:background .15s,border-color .15s}.pokemon-cell:hover{background:#365038aa;border-color:#7d915d}.pokemon-cell.chosen{border-color:var(--gold);background:#7d72301a}.pokemon-cell.locked{opacity:.45}.pokemon-cell canvas{display:block;width:72px;height:65px;max-width:100%;margin:0 auto 5px}.pokemon-cell strong{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dex-no{position:absolute;left:7px;top:6px;font-family:Pixelify;color:#8da17d;font-size:10px}.shiny-star,.chosen-tag{position:absolute;right:7px;top:6px;color:var(--gold);font-size:10px}.chosen-tag{font-family:Pixelify}.menu-footer{margin-top:30px;border-top:1px solid #344b34;padding:18px 0 4px;display:flex;justify-content:space-between;color:#7c9572;font-size:10px;letter-spacing:1px}.menu-footer>span:last-child{font-family:Pixelify;letter-spacing:1.5px}.menu-footer #local-version{color:#a3b48c;margin-left:8px}.collection-filters{display:flex;gap:7px;align-items:center}.chip{padding:8px 12px;background:none;border:1px solid #40543a;border-radius:3px;font-size:12px;color:var(--muted)}.chip.active{border-color:#839460;color:var(--gold);background:#a89e4e13}.collection-filters select{font-size:12px;padding:8px}.collection-detail{border:1px solid var(--line);padding:20px;margin-top:18px;background:#1b3022;display:flex;align-items:center;gap:24px}.collection-detail>canvas{width:120px;height:110px}.collection-detail h3{font-size:20px}.collection-detail .detail-copy{flex:1}.collection-detail p{margin-top:7px}.detail-facts{display:flex;flex-wrap:wrap;gap:15px;color:#adc29c;font-size:12px;margin-top:8px}#prep-more,#collection-more{display:flex;margin:20px auto}.upgrade-choose{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.upgrade-choose select{min-width:150px}.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.upgrade-card{background:#233729;border:1px solid #42553b;border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:10px}.upgrade-top{display:flex;justify-content:space-between;align-items:center}.upgrade-card h3{font-weight:500;font-size:16px}.upgrade-level{font-family:Pixelify;color:var(--gold)}.upgrade-card p{font-size:12px;color:var(--muted);flex:1}.upgrade-card button{align-self:flex-end;min-height:34px;padding:8px 13px;color:var(--gold)}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-card{border:1px solid #40553a;background:#203427;padding:22px;border-radius:4px}.settings-card h3{margin-bottom:18px;font-size:16px;font-weight:500}.setting-row{display:grid;grid-template-columns:90px 1fr 40px;align-items:center;gap:12px;margin-bottom:23px;font-size:12px;color:#c3d1b2}.setting-row input[type=range]{padding:0;width:100%;accent-color:var(--gold)}.setting-row output{text-align:right;font-family:Pixelify;color:var(--gold)}.setting-toggle{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:12px;color:var(--muted);margin-bottom:17px}.setting-toggle input{accent-color:var(--gold);width:18px;height:18px}.setting-toggle select{padding:7px;font-size:12px}.settings-note{font-size:12px;color:#8da37e;line-height:1.8;margin-top:24px}.about{border-top:1px solid #40543a;margin-top:25px;padding-top:20px;font-size:12px;color:var(--muted);line-height:1.9}.about summary{cursor:pointer;color:#d4dfc1;font-size:14px;margin-bottom:15px}.about p{margin:12px 0}.about-links{display:flex;flex-wrap:wrap;gap:8px 18px}.music-credit{padding:10px 0;border-top:1px solid #344a32}.music-credit b{color:#c7d6b5;font-weight:500}.music-credit a{font-size:11px}.about code{color:#b8cba4;font-size:11px;word-break:break-all}
.battle-hud{position:fixed;inset:0;z-index:10;pointer-events:none;padding:18px max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));text-shadow:0 2px 4px #000a}.xp-track{position:absolute;top:0;left:0;right:0;height:5px;background:#102016b0}.xp-track i{height:100%;display:block;background:linear-gradient(90deg,#a5cd86,#eed18a);width:0}.hud-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.hud-level{display:flex;align-items:center;gap:8px;color:#d4dfbd;font-size:11px;background:#14271db0;border:1px solid #a2bd7b35;border-radius:4px;padding:7px 12px}.hud-level b{font-family:Pixelify;font-size:22px;color:var(--gold)}#hud-xp-text{font-family:Pixelify;font-size:11px;color:#b9ccac}.hud-center{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column}.hud-center b{font-family:Pixelify;font-size:28px;color:#f2ebcb}.hud-center span{font-size:10px;color:#d3dfbf;margin-top:2px}.pause-button{pointer-events:auto;width:42px;height:40px;border-radius:4px;border:1px solid #adc09466;background:#192d21cc;color:#f0e3b4;font-family:Pixelify;font-size:21px}.hud-party{display:flex;gap:6px;margin-top:12px;max-width:660px}.hud-member{position:relative;display:flex;align-items:center;gap:6px;min-width:62px;background:#14271dd1;border:1px solid #61734b77;border-radius:4px;padding:5px 7px 5px 4px;max-width:120px}.hud-member.leader{border-color:#e4c77b}.hud-member.down{filter:grayscale(1);opacity:.6}.hud-member canvas{width:28px;height:30px;flex:0 0 28px}.member-info{min-width:0}.member-name{font-size:9px;display:block;max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.member-hp-track{height:4px;background:#09150e;border-radius:3px;overflow:hidden;margin-top:3px;min-width:32px}.member-hp-track i{height:100%;display:block;background:#a4ca82}.member-hp-text{font-family:Pixelify;color:#c0d3ac;font-size:9px;line-height:1.4}.member-leader{position:absolute;top:-7px;right:5px;color:var(--gold);font-size:8px;background:#193322;border-radius:2px;padding:0 2px}.move-hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#dfebccaa;font-size:11px;transition:opacity 1s}.overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:26px;background:#07130db8;backdrop-filter:blur(7px);overflow:auto}.decision-panel,.small-panel,.settings-modal{width:min(1010px,100%);padding:32px;background:linear-gradient(145deg,#283c2a,#192d20);border:1px solid #7a8557;border-radius:6px;box-shadow:0 18px 80px #0008;max-height:calc(100dvh - 40px);overflow:auto;position:relative}.decision-heading{text-align:center;margin-bottom:25px}.decision-heading h2{color:#f1e7c8;margin-bottom:8px}.decision-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.decision-card{display:flex;flex-direction:column;text-align:left;border:1px solid #60734d;border-top:3px solid #bbcc91;background:#233b2a;border-radius:4px;padding:22px;color:var(--ink);gap:12px;min-height:220px;transition:border-color .15s,transform .15s}.decision-card:hover{border-color:var(--gold);transform:translateY(-3px)}.card-ordinal{font-family:Pixelify;color:#879e77;font-size:12px}.card-tag{color:var(--gold);font-size:10px;letter-spacing:1px}.decision-card h3{font-size:20px;font-weight:500;line-height:1.45}.decision-card p{font-size:12px;line-height:1.8;color:#bfd0af;flex:1}.card-select{padding-top:12px;color:#e5d99d;font-size:11px;border-top:1px solid #49603e;display:flex;justify-content:space-between}.decision-actions{display:flex;gap:12px;justify-content:center;margin-top:22px}.inline-error{font-size:12px;color:#f0a28b;text-align:center;margin-top:12px}.target-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.target-card{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #5a7047;background:#213828;border-radius:4px;padding:12px}.target-card:hover{border-color:var(--gold)}.target-card canvas{width:64px;height:60px}.target-card h3{font-size:15px;font-weight:500}.target-card p{font-size:11px;color:var(--muted);line-height:1.7}.replace-note{color:#e1c88b!important}.target-intro{padding:16px;border:1px solid #506243;background:#9ca5570d;margin-bottom:18px;text-align:center}.target-intro h3{color:var(--gold);font-size:18px}.target-intro p{font-size:12px;color:var(--muted);margin-top:6px}.recruit-preview{display:grid;grid-template-columns:160px 1fr;gap:25px;max-width:680px;margin:auto}.recruit-preview>canvas{width:160px;height:160px;background:radial-gradient(ellipse at 50% 68%,#99af5d33,transparent 65%)}.recruit-copy h3{font-size:25px;font-weight:500;margin-bottom:8px}.recruit-copy>p{color:var(--muted);font-size:12px;margin:10px 0}.recruit-copy .config-desc{min-height:0}.recruit-replace{margin-top:20px}.recruit-replace h3{font-weight:500;font-size:13px;color:#d9c795;margin-bottom:12px}.small-panel{width:min(480px,100%);padding:36px}.small-panel h2{margin-bottom:15px}.stack-buttons{display:flex;flex-direction:column;gap:12px;margin-top:25px}.settings-modal{width:min(790px,100%)}.settings-modal h2{margin-bottom:24px}.close-button{position:absolute;top:12px;right:15px;font-size:25px;color:var(--muted);background:none;padding:2px 8px}.over-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.over-stat{border:1px solid #455d3b;padding:15px 8px}.over-stat b{font-family:Pixelify;font-size:28px;color:var(--gold);display:block;margin-bottom:5px}.over-stat span{font-size:11px;color:var(--muted)}#return-menu{margin-top:22px}.local-toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);z-index:90;padding:12px 22px;border:1px solid #839363;background:#203325ee;border-radius:4px;box-shadow:0 5px 25px #0005;font-size:13px;color:#e6eaca;max-width:calc(100vw - 35px);text-align:center}
@media(min-width:1400px){.menu-shell{padding-top:44px}.party-slot{padding:20px}.slot-mon canvas{width:115px;height:100px;flex-basis:115px}.slot-mon{min-height:108px}.pokemon-grid{gap:12px}.pokemon-cell{padding-top:14px;padding-bottom:14px}.pokemon-cell canvas{height:72px}}
@media(max-width:1000px){.menu-shell{padding:25px}.party-configs{gap:12px}.party-slot{padding:12px}.slot-mon{gap:2px;min-height:84px}.slot-mon canvas{width:76px;height:80px;flex-basis:76px}.slot-mon h3{font-size:16px}.config-fields{grid-template-columns:1fr;gap:7px}.config-fields label{display:flex;align-items:center;gap:8px}.config-fields select{margin:0;flex:1;min-width:0}.pokemon-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.departure-row p{max-width:60%}.separator{margin:0 4px}.hud-member{max-width:95px}.member-name{max-width:45px}}
@media(max-width:700px){:root{font-size:13px}.menu-shell{padding:20px 15px}.masthead{gap:10px;margin-bottom:20px}.brand{gap:9px}.brand-mark{font-size:29px}.brand-en{font-size:9px;letter-spacing:1px}h1{font-size:19px;letter-spacing:1px}h1 span{margin-left:4px}.save-badge{font-size:0}.save-badge .status-dot{display:none}.coin-balance{font-size:17px;margin-left:0}.menu-tabs{gap:0;justify-content:space-between;margin-bottom:25px}.tab{padding:15px 5px;font-size:12px;letter-spacing:0}.tab span{font-size:10px;margin-right:3px}.tab.active:after{left:4px;right:4px}.section-heading{gap:10px;margin-bottom:20px;align-items:flex-start}.section-heading h2{font-size:21px}.section-heading .muted{font-size:11px}.eyebrow{font-size:10px;letter-spacing:1.8px}.edition-tag{font-size:9px;padding:6px 7px;letter-spacing:0}.party-configs{gap:8px}.party-slot{padding:9px 7px}.slot-top{gap:2px}.slot-number{font-size:9px;letter-spacing:0}.leader-tag{font-size:9px}.slot-arrows{gap:2px}.tiny-button{padding:1px 5px;font-size:10px}.slot-mon{flex-direction:column;gap:0;min-height:116px;text-align:center;margin-bottom:9px}.slot-mon canvas{width:80px;height:72px;flex-basis:72px}.slot-mon h3{font-size:13px}.slot-types{justify-content:center;margin-top:4px;gap:3px}.type-chip{font-size:8px;padding:1px 4px}.config-fields{gap:7px}.config-fields label{display:block;font-size:9px}.config-fields select{font-size:10px;padding:7px 2px;margin-top:3px}.config-desc{font-size:9px;min-height:47px;margin-top:8px}.actual-stats{display:none}.empty-slot{min-height:280px;font-size:10px}.departure-row{flex-direction:column;gap:14px;padding:20px 0}.departure-row p{font-size:10px;max-width:none;text-align:center;order:2}.departure-row .button{width:100%;justify-content:space-between;padding:13px 18px}.pool-heading{align-items:flex-start;gap:9px;margin-top:22px}.pool-heading h3{font-size:14px}.pool-heading .small{font-size:10px}.search-field{max-width:145px}.search-field span{font-size:18px;padding-left:8px}.search-field input{font-size:10px;padding:8px;width:115px}.pokemon-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pokemon-cell{padding:9px 3px}.pokemon-cell canvas{width:60px;height:55px;margin-bottom:3px}.pokemon-cell strong{font-size:9px}.dex-no,.shiny-star,.chosen-tag{font-size:8px}.dex-no{left:5px;top:4px}.chosen-tag,.shiny-star{right:5px;top:4px}.menu-footer{font-size:8px;letter-spacing:0;gap:10px}.menu-footer #local-version{margin-left:4px}.collection-filters{flex-wrap:wrap;gap:4px}.chip{font-size:10px;padding:6px 8px}.collection-filters select{font-size:10px;padding:6px}.collection-detail{gap:10px;padding:12px;align-items:flex-start}.collection-detail>canvas{width:80px;height:85px}.collection-detail h3{font-size:16px}.detail-facts{font-size:10px;gap:6px 10px}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.upgrade-card{padding:13px;gap:8px}.upgrade-card h3{font-size:14px}.upgrade-card p{font-size:10px}.upgrade-card button{font-size:11px;padding:6px 10px}.upgrade-choose{flex-direction:column;gap:5px;font-size:10px;align-items:flex-end}.upgrade-choose select{font-size:11px;min-width:105px;padding:7px}.settings-grid{grid-template-columns:1fr;gap:12px}.settings-card{padding:17px}.settings-card h3{margin-bottom:18px}.settings-note{margin-top:12px;font-size:11px}.setting-row{grid-template-columns:80px 1fr 30px}.settings-modal{padding:30px 17px 20px}.about{font-size:11px}.battle-hud{padding:14px 12px}.hud-level{font-size:9px;padding:6px 8px;gap:5px}.hud-level b{font-size:18px}#hud-xp-text{font-size:9px}.hud-center b{font-size:24px}.hud-center span{font-size:9px}.pause-button{width:37px;height:35px;font-size:18px}.hud-party{gap:4px;margin-top:11px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:310px}.hud-member{min-width:0;max-width:none;padding:3px 5px;gap:3px}.hud-member canvas{width:23px;height:26px;flex-basis:23px}.member-name{max-width:57px;font-size:8px}.member-hp-text{font-size:8px}.member-hp-track{min-width:45px;height:3px;margin-top:2px}.member-leader{font-size:7px;top:-6px}.move-hint{font-size:9px;bottom:24px}.overlay{padding:12px}.decision-panel{padding:24px 16px;max-height:calc(100dvh - 20px)}.decision-heading{margin-bottom:20px}.decision-heading h2{font-size:23px}.decision-heading p.muted{font-size:11px}.decision-cards{grid-template-columns:1fr;gap:10px}.decision-card{padding:14px;min-height:0;gap:6px;position:relative}.decision-card h3{font-size:16px}.decision-card p{font-size:11px;line-height:1.65}.card-ordinal{position:absolute;top:12px;right:12px;font-size:10px}.card-tag{font-size:9px}.card-select{padding-top:7px;font-size:10px}.decision-card:hover{transform:none}.target-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.target-card{padding:8px;gap:5px}.target-card canvas{width:46px;height:48px}.target-card h3{font-size:12px}.target-card p{font-size:9px}.recruit-preview{grid-template-columns:100px 1fr;gap:12px}.recruit-preview>canvas{width:100px;height:120px}.recruit-copy h3{font-size:20px}.recruit-copy .config-fields{grid-template-columns:1fr 1fr}.recruit-copy .config-desc{font-size:10px;min-height:0}.recruit-copy>p{font-size:10px}.decision-actions{gap:9px;margin-top:18px}.decision-actions .button{padding:10px 18px;font-size:12px}.small-panel{padding:30px 22px}.small-panel h2{font-size:23px}}
@media(max-width:380px){.pokemon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-en{font-size:8px}h1{font-size:17px}.slot-mon h3{font-size:11px}.slot-mon canvas{width:65px}.slot-number{font-size:8px}.config-fields select{font-size:9px}.hud-center{left:59%}.edition-tag{display:none}.party-configs{gap:5px}}
@media(max-height:600px) and (min-width:701px){.overlay{padding:12px}.decision-panel{padding:22px;max-height:calc(100dvh - 20px)}.decision-heading{margin-bottom:18px}.decision-heading h2{font-size:22px}.decision-card{min-height:175px;padding:15px;gap:8px}.decision-card h3{font-size:17px}.decision-card p{font-size:11px}.decision-actions{margin-top:16px}.small-panel{padding:25px}.small-panel h2{font-size:23px}.stack-buttons{margin-top:17px;gap:9px}.move-hint{bottom:12px}}
.shiny-toggle{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--gold);margin-top:9px}.shiny-toggle input{accent-color:var(--gold)}.profile-actions{margin:18px 0 10px;display:flex;gap:10px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Local battle roster uses available viewport dimensions rather than browser names. */
.battle-hud{padding-top:max(18px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.battle-team{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));pointer-events:auto;touch-action:manipulation;max-width:1100px;margin:auto;text-shadow:none}
.battle-team-top{display:flex;align-items:stretch;gap:8px;background:#13291fec;border:1px solid #a1b87777;border-radius:5px;padding:5px 8px;box-shadow:0 4px 18px #0005}
.hud-leader{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:0;background:transparent;text-align:left}
.hud-leader canvas{width:49px;height:44px;flex:0 0 49px}
.leader-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;padding:0 4px 0 0}
#hud-leader-name{font-size:12px;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leader-health{display:flex;align-items:center;gap:12px;width:100%;min-width:0}
#hud-leader-hp{font-size:12px;font-weight:500;white-space:nowrap}
.leader-hp-track{display:block;flex:1;min-width:40px;height:10px;background:#07170f;border-radius:3px;overflow:hidden;border:1px solid #b8d28f33}
.leader-hp-track i{display:block;height:100%;background:linear-gradient(90deg,#77b569,#d1e7a0);width:0}
.team-menu-toggle{flex:0 0 auto;background:#28422b;border:1px solid #81945f;border-radius:3px;font-size:12px;color:#e7dfb5;padding:7px 13px;min-height:42px}
.battle-team .hud-party{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:100%;max-width:none;margin-top:9px}
.battle-team .hud-member{display:flex;max-width:none;min-width:0;width:100%;text-align:left;padding:6px 9px;gap:7px;min-height:55px}
.battle-team .hud-member canvas{width:34px;height:37px;flex:0 0 34px}
.battle-team .member-info{flex:1;min-width:0}
.battle-team .member-name{max-width:none;font-size:10px}
.battle-team .member-hp-track{display:block;min-width:0;height:5px}
.battle-team .member-hp-text{display:block;font:10px/1.4 'Microsoft YaHei',system-ui,sans-serif;color:#cad9b5}
.member-state{display:block;font-size:9px;color:#b9c997;white-space:nowrap}
.battle-team .member-leader{font-size:8px;top:-6px}
.battle-team.compact:not(.pinned) .hud-party{display:none}
.battle-team.compact .hud-party{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px}
.battle-team.compact .hud-member{padding:4px 5px;gap:4px;min-height:49px}
.battle-team.compact .hud-member canvas{width:27px;height:31px;flex-basis:27px}
.battle-team.compact .member-name{font-size:9px}
.battle-team.compact .member-hp-text,.battle-team.compact .member-state{font-size:8px}
.battle-team.compact .battle-team-top{padding:4px 6px;gap:6px}
.battle-team.compact .hud-leader canvas{width:38px;height:40px;flex-basis:38px}
.battle-team.compact .leader-health{flex-direction:column;align-items:stretch;gap:4px}
.battle-team.compact #hud-leader-name,.battle-team.compact #hud-leader-hp{font-size:10px}
.battle-team.compact .leader-hp-track{flex:none;height:8px}
.battle-team.compact .team-menu-toggle{font-size:10px;padding:5px 8px}
.move-hint{bottom:max(150px,calc(env(safe-area-inset-bottom) + 150px));background:#14271d88;padding:3px 8px;border-radius:3px}
.team-overlay{z-index:36;touch-action:manipulation;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.team-panel{width:min(920px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:26px;background:linear-gradient(145deg,#283c2a,#192d20);border:1px solid #8c9863;border-radius:6px;box-shadow:0 18px 80px #0008}
.team-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px}
.team-heading .eyebrow{margin-bottom:4px}
.team-heading h2{font-size:24px;margin-bottom:6px}
.team-heading .button{flex:0 0 auto}
.team-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.team-member{min-width:0;border:1px solid #5a7047;background:#1c3424;padding:13px;border-radius:4px}
.team-member.leader{border-color:var(--gold)}
.team-member.down{background:#243028}
.team-member h3{font-size:14px;margin-bottom:7px}
.team-select{display:flex;align-items:center;width:100%;min-width:0;background:#101f1699;border:1px solid #577349;border-radius:3px;padding:4px 7px;text-align:left;gap:8px;min-height:70px}
.team-select canvas{width:66px;height:64px;flex:0 0 66px}
.team-health{flex:1;min-width:0}
.team-health .member-hp-track{display:block;height:8px;min-width:0;margin:0 0 6px}
.team-hp{font-size:11px;white-space:nowrap}
.team-status,.team-item{font-size:11px;color:#bfcea9;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}
.team-status{color:#dfcb93;min-height:18px}
.team-help{margin-top:18px;text-align:center}
.team-resume-confirm{z-index:39;touch-action:manipulation}
.decision-rules{font-size:11px;line-height:1.8;color:#c4d0b3;border-top:1px solid #526346;padding-top:14px;margin-top:18px;text-align:center}
.decision-actions{flex-wrap:wrap;align-items:center}
.skip-note{font-size:11px;color:#becfae;line-height:1.6;text-align:center}
.local-toast{bottom:max(170px,calc(env(safe-area-inset-bottom) + 170px))}
@media(max-width:799px){.team-panel{padding:19px 13px}.team-heading{gap:10px;align-items:flex-start;margin-bottom:16px}.team-heading h2{font-size:21px}.team-heading .button{font-size:10px;padding:8px}.team-heading .small{font-size:10px}.team-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-member{padding:9px}.team-select{flex-direction:column;gap:2px;padding:5px;min-height:102px}.team-select canvas{width:64px;height:58px;flex-basis:58px}.team-health{width:100%;flex:none}.team-hp{font-size:9px}.team-status,.team-item{font-size:10px}.team-help{font-size:10px}.decision-rules{font-size:10px}.skip-note{width:100%;font-size:10px}.move-hint{font-size:9px;bottom:180px}}
@media(max-height:600px) and (pointer:coarse){.battle-team.compact .hud-party{grid-template-columns:repeat(6,minmax(0,1fr))}.battle-team.compact .hud-member{min-height:43px}.battle-team.compact .member-state{display:none}.battle-team.compact .hud-leader canvas{height:31px;width:34px;flex-basis:34px}.battle-team.compact .leader-health{flex-direction:row;align-items:center;gap:9px}.battle-team.compact .leader-hp-track{flex:1}.battle-team.compact .battle-team-top{padding:3px 6px}.battle-team.compact .team-menu-toggle{min-height:32px}.team-panel{padding:16px;max-height:calc(100dvh - 24px)}.team-heading{margin-bottom:10px}.team-heading h2{font-size:20px}.team-members{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.team-member{padding:7px 9px}.team-member h3{font-size:12px;margin-bottom:3px}.team-select{flex-direction:row;min-height:44px;padding:3px 5px}.team-select canvas{height:40px;width:43px;flex-basis:43px}.team-health{flex:1}.team-status,.team-item{font-size:9px;margin-top:3px}.team-help{margin-top:9px;font-size:10px}.team-overlay{padding:12px}.move-hint{bottom:135px}}

/* v0.4 armor, growth previews and paused dismissal. */
.leader-health:has(>.leader-armor:not(.hidden)){display:grid;grid-template-columns:max-content minmax(40px,1fr);column-gap:12px;row-gap:3px}
.leader-health:has(>.leader-armor:not(.hidden)) #hud-leader-hp{grid-column:1;grid-row:2}
.leader-health:has(>.leader-armor:not(.hidden)) .leader-hp-track{grid-column:2;grid-row:2;width:100%}
.leader-health:has(>.leader-armor:not(.hidden)) .leader-armor{grid-column:2;grid-row:1;width:100%;min-width:40px;margin:0}
.leader-armor{display:block;position:relative;height:15px;background:#10283d;border:1px solid #5bc5ff;border-radius:4px;margin:3px 0;overflow:hidden}.leader-armor i{display:block;height:100%;background:#59bbf5}.leader-armor b{position:absolute;inset:0;text-align:center;font-size:10px;color:white;text-shadow:0 1px #10283d}.danger{background:#9c293c!important;color:#fff!important;border-color:#dc6879!important}.danger:disabled{background:#4e494b!important;color:#aaa!important;border-color:#686266!important;cursor:not-allowed}.team-dismiss-controls{display:flex;gap:10px;margin:8px 0 20px}.team-member{position:relative}.dismiss-x{position:absolute;left:3px;top:48px;z-index:2;width:30px;height:30px;border-radius:50%;background:#b62e43;color:white;border:2px solid #f28e9d;font-size:25px;line-height:24px}.dismiss-x:disabled{opacity:.4}.dismiss-mode canvas{animation:dismiss-wiggle 1s ease-in-out infinite}.dismiss-mode .team-select:disabled{opacity:1;filter:none}.team-dismiss-confirm{z-index:180}.loadout-choice{display:block;margin:16px 0}.loadout-choice select{max-width:100%;margin-top:8px}.loadout-preview article{padding:12px;border:1px solid #718268;border-radius:9px;margin:8px 0}.base-stats{font-size:12px;color:#b6c7ac}.actual-stats{line-height:1.7}.card-rarity{font-size:11px;color:#d9c5ef}@keyframes dismiss-wiggle{0%,100%{transform:rotate(0deg) translateX(0)}25%{transform:rotate(-2deg) translateX(-1px)}75%{transform:rotate(2deg) translateX(1px)}}@media(prefers-reduced-motion:reduce){.dismiss-mode canvas{animation:none;outline:1px dashed #e98595}}

/* Species evolution presentation uses its own UI clock. */
.species-evolution{position:fixed;inset:0;z-index:80;background:radial-gradient(ellipse at center,#22435e 0%,#07141ff5 65%);display:grid;place-items:center;padding:18px;color:#edf8ff;text-align:center}
.species-evolution.hidden{display:none}.species-evolution>section{max-width:720px;width:100%;padding:28px;border:1px solid #8ddbf580;border-radius:24px;background:#0b1d30ee;box-shadow:0 0 100px #6cddff30}.species-evolution h2{font-size:28px;margin:8px}.species-evolution canvas{max-width:100%;height:270px}.species-evolution .eyebrow{letter-spacing:5px;color:#a8e8fb}.evolution-branches,.evolution-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.species-evolution button{background:#d4f4ff;color:#102941;border:0;border-radius:12px;padding:14px 24px;font-weight:bold;font-size:16px;cursor:pointer}.evolution-message{min-height:30px}
.species-evolution>section{max-height:calc(100dvh - 36px);overflow:auto}.evolution-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-height:290px;overflow:auto}.evolution-branches button{text-align:left}.evolution-branches span{display:block}.branch-name{font-size:19px}.branch-types{color:#356479;margin:5px 0}.branch-ability{font-size:12px;line-height:1.55;font-weight:normal}.evolution-controls{margin-top:14px}

.encounter-map-selection{margin:20px 0;padding:16px 20px;border:1px solid #557866;border-radius:16px;background:#0e251de6}.encounter-map-selection .section-heading{align-items:center;margin-bottom:0}.encounter-map-selection h3{margin:0}.encounter-map-selection select{padding:9px;border-radius:8px;max-width:100%}
.departure-selectors{display:grid;grid-template-columns:minmax(100px,1fr) minmax(150px,1.4fr);gap:16px}.departure-selectors label{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted)}.departure-selectors select{flex:1;min-width:0;min-height:44px;color:var(--ink)}
@media(max-width:600px){.encounter-map-selection .section-heading{display:block}.encounter-map-selection h3{margin-bottom:12px}.departure-selectors{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px}.departure-selectors label{display:block;font-size:12px}.departure-selectors select{display:block;width:100%;margin-top:6px}}

/* Paused loadout controls stay separate from the member switch button. */
.team-growth{margin-top:12px;min-width:0}.team-growth>summary{cursor:pointer;font-size:12px;color:#f0dfae;padding:10px 0;min-height:40px}.team-member:has(.team-growth[open]){grid-column:1/-1}.team-growth-content{min-width:0;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.team-growth-content h4{font-size:13px;color:#e4dfb7;margin:10px 0 6px}.team-ability{padding:10px 12px;border-left:3px solid #a4be85;background:#11231980}.team-slot-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.team-loadout label{display:block;min-width:0;color:#c8d8b4}.team-loadout select{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;background:#13291f;border:1px solid #7c9360;border-radius:4px;color:#f2e9c7;padding:8px;margin-top:4px;font-size:12px}.team-ray-choice{margin-top:10px;max-width:440px}.team-known-moves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.team-known-moves>h4{grid-column:1/-1}.team-move-record{min-width:0;padding:10px;border:1px solid #51664a;background:#142b1c;border-radius:4px}.team-move-record.enabled{border-color:#879961}.team-move-record h5{font-size:13px;color:#e5e8c5;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.team-move-record h5 span{font-size:10px;color:#c5c79d;font-weight:normal}.team-move-record p{margin-top:5px;color:#bdcdb2}.team-move-record .team-upgrades{color:#d5c99b}.team-loadout select:focus-visible,.team-growth summary:focus-visible{outline:2px solid #e4cb80;outline-offset:2px}
@media(max-width:600px){.team-slot-selects,.team-known-moves{grid-template-columns:minmax(0,1fr)}.team-growth-content{font-size:11px}.team-growth-content h4{font-size:12px}.team-loadout select{font-size:12px}.team-ray-choice{max-width:none}.team-move-record h5{font-size:12px}}
