@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/e3t4euO8T-267oIAQAu6jDQyK3nYivN04w-CIYZrvmP.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/e3t4euO8T-267oIAQAu6jDQyK3nRivN04w-DBn7fddJ.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/e3t4euO8T-267oIAQAu6jDQyK3nWivN04w-DQfalijU.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/e3t4euO8T-267oIAQAu6jDQyK3nbivN04w-DpfYvR5A.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/e3t4euO8T-267oIAQAu6jDQyK3nVivM-_wFEWmAB.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;image-rendering:pixelated}:root{--font-pixel: "Press Start 2P", monospace;--font-body: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--text-xs: 8px;--text-sm: 9px;--text-base: 11px;--text-md: 12px;--text-lg: 15px;--text-xl: 19px;--bg-dark: #0e1117;--bg-deep: #090c11;--bg-panel: #161b23;--bg-panel-light: #1f2732;--surface-deep: #202834;--surface-mid: #2a3543;--surface-raised: #384657;--surface-raised-hover: #4a5a6e;--line: #2b3644;--line-warm: #3a4757;--line-accent: #b07d27;--text-color: #e6edf3;--text-muted: #a9b3bf;--text-dim: #a0a9b4;--text-soft: #aeb8c6;--text-bright: #f4f8ff;--ink: #1a1f27;--ink-strong: #0d1015;--ink-warm: #1a1f27;--on-accent: #1a1208;--text-on-type: #10151c;--parchment: #dde6f0;--parchment-dark: #c3ccd8;--parchment-texture: none;--wood-texture: none;--accent: #e5484d;--gold: #f0b429;--gold-bright: #ffd166;--gold-dark: #8a5a10;--gold-line: #a06d18;--stone-dark: #222b36;--exp-blue: #6cb6ff;--wood-dark: #26303c;--scroll-thumb: #3a4759;--scroll-thumb-hover: #53657c;--scroll-track: #00000026;--modal-backdrop: #05070b99;--battle-tint: linear-gradient(180deg, #1b2a4638, #0e11171f);--ease-out: cubic-bezier(.22,.61,.36,1);--ease-in-out: cubic-bezier(.45,.05,.55,.95);--dur-fast: .12s;--dur: .2s;--shadow-panel: 0 6px 20px #00000059;--shadow-raised: 0 2px 0 #00000040,inset 0 1px #ffffff12 }[data-theme=classic]{--bg-dark: #1a1208;--bg-deep: #1a1008;--bg-panel: #2a1e10;--bg-panel-light: #3a2e18;--surface-deep: #4a3828;--surface-mid: #5a4838;--surface-raised: #685040;--surface-raised-hover: #786050;--line: #483828;--line-warm: #5a3e20;--line-accent: #8a7040;--text-color: #e8dcc0;--text-muted: #d0cabd;--text-dim: #c7bda3;--text-soft: #d2c8b2;--text-bright: #f0e6c8;--ink: #3a2818;--ink-strong: #2a1808;--ink-warm: #3a2810;--on-accent: #1a1008;--text-on-type: #1a1808;--parchment: #e8dcc0;--parchment-dark: #d8c8a0;--parchment-texture: url(/assets/parchment-C2Op655E.png) repeat;--wood-texture: url(/assets/wood-button-Dl06xYm_.png) center / cover no-repeat;--accent: #c8a848;--gold: #ddc98e;--gold-bright: #f0d060;--gold-dark: #74500c;--gold-line: #8a6820;--stone-dark: #483828;--exp-blue: #8ab8e8;--wood-dark: #4a3828;--scroll-thumb: #685040;--scroll-thumb-hover: #8a6a50;--modal-backdrop: #00000080 --battle-tint: linear-gradient(180deg, #c8a8482e, #6a4a1024) }[data-theme=noir]{--bg-dark: #000;--bg-deep: #000;--bg-panel: #0a0b0e;--bg-panel-light: #13151a;--surface-deep: #15171d;--surface-mid: #1d2027;--surface-raised: #292d36;--surface-raised-hover: #3a3f4b;--line: #23262e;--line-warm: #2f333d;--line-accent: #2b8f9e;--text-color: #e7f4f6;--text-muted: #89969c;--text-dim: #808d95;--text-soft: #a6b5bc;--text-bright: #fff;--ink: #0c0e11;--ink-strong: #000;--ink-warm: #0c0e11;--on-accent: #04121a;--text-on-type: #10151c;--parchment: #d6e5e9;--parchment-dark: #b7ccd2;--parchment-texture: none;--wood-texture: none;--accent: #35c0d4;--gold: #35c0d4;--gold-bright: #7fe6f2;--gold-dark: #1c6b78;--gold-line: #2a8f9d;--stone-dark: #1a1c20;--exp-blue: #6cc4ff;--wood-dark: #1a1c20;--scroll-thumb: #2a2d34;--scroll-thumb-hover: #454a55;--modal-backdrop: #000000cc --battle-tint: linear-gradient(180deg, #04141c66, #0000004d) }[data-theme=verdant]{--bg-dark: #0b1410;--bg-deep: #07100c;--bg-panel: #12201a;--bg-panel-light: #1a2c24;--surface-deep: #1d3229;--surface-mid: #264036;--surface-raised: #335445;--surface-raised-hover: #456b5a;--line: #253a31;--line-warm: #315043;--line-accent: #4f9c6a;--text-color: #e4f1e8;--text-muted: #b2c4ba;--text-dim: #a5b9af;--text-soft: #bdd0c5;--text-bright: #f2fff7;--ink: #10201a;--ink-strong: #08130e;--ink-warm: #10201a;--on-accent: #06130d;--text-on-type: #0c1712;--parchment: #dcefe2;--parchment-dark: #c0d9c8;--parchment-texture: none;--wood-texture: none;--accent: #f2673f;--gold: #7ed08a;--gold-bright: #b6efb8;--gold-dark: #2f7a4a;--gold-line: #438a5c;--stone-dark: #16302a;--exp-blue: #6cc4ff;--wood-dark: #14261f;--scroll-thumb: #2b463a;--scroll-thumb-hover: #406052 --battle-tint: linear-gradient(180deg, #12302059, #07100c2e) }html,body,#root{height:100%;width:100%}body{font-family:var(--font-pixel);font-size:10px;background:var(--bg-dark);color:var(--text-color);display:flex;align-items:center;justify-content:center;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}button{font-family:var(--font-pixel);cursor:pointer;border-radius:0;-webkit-font-smoothing:none}img{image-rendering:pixelated}.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex:none;fill:currentColor}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}::-webkit-scrollbar-corner{background:transparent}.game-window{width:100%;height:100%;background:var(--bg-dark);border:none;border-radius:0;overflow:hidden;box-shadow:0 0 0 4px var(--bg-deep),0 0 0 6px var(--surface-mid),0 0 0 8px var(--text-dim),0 0 0 10px var(--surface-mid),0 0 0 12px var(--bg-deep),0 0 0 14px var(--bg-dark),0 0 0 16px var(--line),0 0 0 18px var(--surface-raised),0 0 0 20px var(--line),0 8px 0 20px #0009}.starter-select{padding:32px 24px;display:flex;flex-direction:column;align-items:center;gap:24px;background:var(--bg-panel);background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(200,168,72,.05) 3px,rgba(200,168,72,.05) 4px);width:100%;min-height:100%;height:100%;overflow-y:auto;justify-content:safe center}.starter-title{font-size:16px;color:var(--gold-bright);text-shadow:2px 0 0 var(--gold-dark),-2px 0 0 var(--gold-dark),0 2px 0 var(--gold-dark),0 -2px 0 var(--gold-dark);text-align:center}.starter-subtitle{font-size:9px;color:var(--text-muted);text-align:center;margin:8px 0 4px}.starter-mode-summary{font-size:10px;font-weight:700;color:var(--gold);text-align:center;margin:-8px 0 0}.starter-mode-change{font-size:9px;padding:0;background:none;border:none;color:var(--text-muted);text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer;margin-top:-16px}.starter-mode-change:hover{color:var(--gold)}.welcome-select{gap:18px;justify-content:center}.welcome-hero{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:560px}.welcome-title{font-size:24px;letter-spacing:1px}.welcome-tagline{font-family:var(--font-body);font-size:var(--text-md);line-height:1.65;color:var(--text-muted);text-align:center;margin:0}.welcome-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:560px}.welcome-feature{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;text-align:left;background:#0000002e;border:1px solid var(--line);border-radius:8px}.welcome-feature-icon{flex:none;font-size:14px;line-height:1.3}.welcome-feature-body{display:flex;flex-direction:column;gap:2px;min-width:0}.welcome-feature-title{display:block;font-size:var(--text-sm);font-weight:700;line-height:1.35;color:var(--gold-bright)}.welcome-feature-text{font-family:var(--font-body);font-size:var(--text-base);line-height:1.45;color:var(--text-muted)}.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:420px}.welcome-start{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:16px 18px;text-align:center;color:var(--on-accent);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border:3px solid var(--gold-dark);border-radius:8px;box-shadow:0 4px 0 var(--gold-dark),0 10px 24px #00000059;cursor:pointer}.welcome-start:hover{filter:brightness(1.06)}.welcome-start:active{transform:translateY(2px);box-shadow:0 2px 0 var(--gold-dark),0 6px 16px #00000059}.welcome-start-title{display:flex;align-items:center;gap:6px;font-size:var(--text-md);font-weight:700}.welcome-start-hint{font-family:var(--font-body);font-size:var(--text-base);line-height:1.4;color:#2a1c05}.welcome-secondary{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 14px;text-align:center;background:transparent;color:var(--text-muted);border:1px solid var(--line);border-radius:8px;cursor:pointer}.welcome-secondary:hover{border-color:var(--line-warm);background:#ffffff08}.welcome-secondary-title{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:700;color:var(--text-soft)}.welcome-secondary-hint{font-family:var(--font-body);font-size:var(--text-xs);line-height:1.45;color:var(--text-dim)}.welcome-secondary.locked{cursor:default;border-style:dashed;background:none}.welcome-secondary.locked .welcome-secondary-title{color:var(--text-dim);font-size:var(--text-base)}.settings-hint-locked{color:var(--text-dim);border-left:3px solid var(--line-warm);padding-left:8px}@media (max-width:520px){.welcome-features{grid-template-columns:minmax(0,1fr)}.welcome-title{font-size:20px}}.mode-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}.challenge-rules{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px;box-sizing:border-box}.challenge-rule{display:flex;flex-direction:column;gap:3px}.challenge-rule-hint{margin:0;font-size:9px;line-height:1.5;color:var(--text-muted)}.choose-btn.secondary{background:var(--surface-raised);color:var(--parchment);border-color:var(--line)}.choose-btn.secondary:hover{background:var(--surface-raised-hover)}.starter-region-tabs{justify-content:center;flex-wrap:wrap;background:none;border-bottom:none;margin-bottom:12px}.starter-cards{display:flex;gap:16px;justify-content:center}.monotype-starter{flex-direction:column;align-items:center}.monotype-starter-card{width:220px;cursor:default}.monotype-starter-note{font-size:9px;line-height:1.5;color:var(--surface-mid);text-align:center}.starter-card{background:linear-gradient(180deg,var(--parchment) 0% 50%,var(--parchment-dark) 50% 100%);border:none;border-radius:0;padding:16px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:none;width:180px;box-shadow:-4px 0 var(--line),4px 0 var(--line),0 -4px var(--line),0 4px var(--line),-4px -4px var(--line),4px -4px var(--line),-4px 4px var(--line),4px 4px var(--line),-6px 0 var(--surface-raised),6px 0 var(--surface-raised),0 -6px var(--surface-raised),0 6px var(--surface-raised),-8px 0 var(--line),8px 0 var(--line),0 -8px var(--line),0 8px var(--line),inset 2px 2px #ffffff26,inset -2px -2px #00000026}.starter-card:hover{border-color:transparent;transform:none;box-shadow:-4px 0 0 0 var(--gold-dark),4px 0 0 0 var(--gold-dark),0 -4px 0 0 var(--gold-dark),0 4px 0 0 var(--gold-dark),-4px -4px 0 0 var(--gold-dark),4px -4px 0 0 var(--gold-dark),-4px 4px 0 0 var(--gold-dark),4px 4px 0 0 var(--gold-dark),-6px 0 0 0 var(--gold),6px 0 0 0 var(--gold),0 -6px 0 0 var(--gold),0 6px 0 0 var(--gold),-8px 0 0 0 var(--gold-dark),8px 0 0 0 var(--gold-dark),0 -8px 0 0 var(--gold-dark),0 8px 0 0 var(--gold-dark),inset 2px 2px #fff3,inset -2px -2px #00000026}.starter-card h3{font-size:11px;color:var(--ink)}.starter-sprite{width:80px;height:80px;image-rendering:pixelated}.starter-types{display:flex;gap:6px}.starter-stats{font-size:9px;color:var(--surface-mid);display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;text-align:left;width:100%}.choose-btn{font-size:10px;padding:8px 20px;background:var(--gold);color:var(--ink-strong);border:4px solid var(--wood-dark);border-radius:0;text-shadow:none;transition:none;box-shadow:2px 2px #0006,inset 2px 2px #fff3}.choose-btn:hover{opacity:1;background:var(--gold-bright)}.type-badge{font-size:8px;padding:2px 8px;border-radius:0;color:#fff;text-transform:uppercase;text-shadow:1px 1px 0 rgba(0,0,0,.4);border:2px solid rgba(0,0,0,.3)}.type-normal{background:#a8a878;color:var(--text-on-type);text-shadow:none}.type-fire{background:#c86828;color:var(--text-on-type);text-shadow:none}.type-water{background:#4a68b8}.type-electric{background:#f0c828;color:var(--text-on-type);text-shadow:none}.type-grass{background:#60a040;color:var(--text-on-type);text-shadow:none}.type-ice{background:#78b0b0;color:var(--text-on-type);text-shadow:none}.type-fighting{background:#a02820}.type-poison{background:#883088}.type-ground{background:#d8b45c;color:var(--text-on-type);text-shadow:none}.type-flying{background:#9078c8;color:var(--text-on-type);text-shadow:none}.type-psychic{background:#c03a62}.type-bug{background:#90a018;color:var(--text-on-type);text-shadow:none}.type-rock{background:#b8a038;color:var(--text-on-type);text-shadow:none}.type-ghost{background:#604878}.type-dragon{background:#6030c8}.type-dark{background:#5a4a40}.type-steel{background:#9898b0;color:var(--text-on-type);text-shadow:none}.type-fairy{background:#c87890;color:var(--text-on-type);text-shadow:none}.battle-screen{display:flex;flex-direction:column;position:relative}.battle-scene-scaler{position:relative;flex:0 0 auto;width:100%;overflow:hidden}.battle-scene-scaler-inner{position:absolute;top:0;left:50%;width:560px;margin-left:-280px;transform-origin:top center}.battle-scene{position:relative;width:560px;height:480px;overflow:hidden;background-image:url(/backgrounds/grassland.webp);background-size:cover;background-position:center bottom}.battle-scene-bg{position:absolute;inset:0;background-size:cover;background-position:center bottom;pointer-events:none}.battle-scene-tint{position:absolute;inset:0;pointer-events:none;background:var(--battle-tint, none)}.info-box{background:var(--parchment-texture);background-size:64px 64px;background-color:var(--parchment);border:4px solid var(--line-warm);border-radius:0;padding:8px 14px 6px;min-width:200px;position:relative;box-shadow:inset 2px 2px #ffdca04d,inset -2px -2px #00000026,0 0 0 2px var(--ink-warm),0 0 0 4px var(--surface-deep),0 0 0 6px var(--line-accent),0 0 0 8px var(--surface-deep),0 0 0 10px var(--ink-warm),2px 4px 0 10px #0000004d}.info-name-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;border-bottom:2px solid var(--text-dim);padding-bottom:3px}.info-pokemon-name{font-size:11px;color:var(--ink);font-weight:700;letter-spacing:.5px}.info-pokemon-level{font-size:10px;color:var(--gold-dark)}.status-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;width:36px;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;letter-spacing:.5px;white-space:nowrap;color:#fff}.status-empty{visibility:hidden}.status-poison{background:#a040a0}.status-toxic{background:#6a2c8a}.status-burn{background:#e07030}.status-paralysis{background:#d8b020;color:var(--bg-deep)}.status-freeze{background:#70c8e8;color:#103040}.status-sleep{background:#8888b0}.status-flinching{background:#b0a060;color:var(--bg-deep)}.info-hp-numbers{font-size:10px;color:var(--surface-deep);text-align:right;margin-top:1px}.info-box .hp-label{color:var(--ink)}.info-box .info-pokemon-level{color:#6a4e10}.info-box .exp-label{color:#2a4a80}.hp-bar{display:flex;align-items:center;gap:6px;margin-top:4px}.hp-label{font-size:9px;color:var(--gold);font-weight:700}.stats-panel .hp-label{color:var(--ink)}.hp-track{flex:1;height:8px;background:var(--bg-dark);border-radius:0;overflow:hidden;border:2px solid var(--line);box-shadow:inset 1px 1px #0006}.hp-fill{height:100%;border-radius:0;transition:width .3s linear}.exp-bar{display:flex;align-items:center;gap:6px;margin-top:4px}.exp-label{font-size:9px;color:var(--exp-blue);font-weight:700}.exp-track{flex:1;height:6px;background:var(--bg-dark);border-radius:0;overflow:hidden;border:2px solid var(--line);box-shadow:inset 1px 1px #0006}.exp-fill{height:100%;background:var(--exp-blue);border-radius:0;transition:width .3s linear}.enemy-info-anchor{position:absolute;top:60px;right:180px;z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.masterball-throw-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:9px;font-weight:700;letter-spacing:.5px;color:#f0e6ff;background:linear-gradient(#5a2a8a,#3a1a5a);border:2px solid #7030a0;border-radius:0;cursor:pointer;white-space:nowrap;animation:masterballBtnPulse 1.6s ease-in-out infinite}.masterball-throw-btn:hover:not(:disabled){background:linear-gradient(#7038a8,#4a2270)}.masterball-throw-btn:disabled{opacity:.5;cursor:not-allowed;animation:none}@keyframes masterballBtnPulse{0%,to{box-shadow:0 0 0 2px #2a1840,0 0 6px #a060ff44}50%{box-shadow:0 0 0 2px #2a1840,0 0 16px #c890ffcc}}.player-info-anchor{position:absolute;bottom:175px;left:185px;z-index:20}.speed-overlay{position:absolute;top:12px;right:12px;z-index:25}.speed-controls{display:flex;gap:3px}.sprite-container{position:absolute;z-index:10}.sprite-container img{image-rendering:pixelated;position:relative;z-index:1}.sprite-shadow{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:80%;height:12px;background:#00000040;border-radius:50%;z-index:0}.enemy-sprite{right:40px;top:80px;width:120px;height:120px;display:flex;align-items:flex-end;justify-content:center}.enemy-sprite img{transform:scale(2);transform-origin:bottom center}.player-sprite{left:30px;bottom:175px;width:140px;height:140px;display:flex;align-items:flex-end;justify-content:center}.player-sprite img{transform:scale(2.2);transform-origin:bottom center}.hit-flash{animation:hitFlash .3s steps(4)}@keyframes hitFlash{0%,to{opacity:1}25%{opacity:.1}50%{opacity:1}75%{opacity:.1}}.hit-shake{animation:hitShake .3s ease-in-out}.hit-flash.hit-shake{animation:hitFlash .3s steps(4),hitShake .3s ease-in-out}@keyframes hitShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.move-impact{position:absolute;top:50%;left:50%;width:82%;height:82%;margin:-41% 0 0 -41%;border-radius:50%;pointer-events:none;z-index:3;background:radial-gradient(circle,var(--type-color, #fff) 0%,transparent 62%);animation:moveImpact .3s ease-out forwards}.move-impact-physical{background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.95) 48%,transparent 54%),radial-gradient(circle,var(--type-color, #fff) 0%,transparent 60%);animation:moveImpactPhysical .28s ease-out forwards}@keyframes moveImpact{0%{opacity:0;transform:scale(.35)}35%{opacity:.9}to{opacity:0;transform:scale(1.15)}}@keyframes moveImpactPhysical{0%{opacity:0;transform:scale(.5) rotate(-12deg)}40%{opacity:1}to{opacity:0;transform:scale(1.05) rotate(-12deg)}}.damage-float{position:absolute;top:0;left:50%;z-index:30;font-family:var(--font-pixel);font-size:15px;font-weight:700;color:#ff5252;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;pointer-events:none;animation:damageFloat .7s ease-out forwards}@keyframes damageFloat{0%{opacity:0;transform:translate(-50%,8px) scale(.7)}30%{opacity:1;transform:translate(-50%,-8px) scale(1.15)}to{opacity:0;transform:translate(-50%,-34px) scale(1)}}@media (prefers-reduced-motion: reduce){.hit-flash.hit-shake{animation:hitFlash .3s steps(4)}.damage-float{animation:damageFloatReduced .7s ease-out forwards}.move-impact{display:none}}@keyframes damageFloatReduced{0%,80%{opacity:1;transform:translate(-50%,-6px)}to{opacity:0;transform:translate(-50%,-6px)}}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}[data-large-text=true] body{zoom:1.15}[data-reduced-motion=true] .damage-float{animation:none!important;opacity:1;transform:translate(-50%,-10px)}[data-colourblind-types=true] .type-badge{border-color:#000;text-shadow:1px 1px 0 #000}[data-colourblind-types=true] .move-cell,[data-colourblind-types=true] .stats-panel-move{position:relative}[data-colourblind-types=true] .move-cell:after,[data-colourblind-types=true] .stats-panel-move:after{content:var(--type-abbr);position:absolute;top:1px;right:3px;font-size:7px;font-weight:700;color:#fff;letter-spacing:.5px;text-shadow:1px 1px 0 #000;opacity:.95;pointer-events:none}[data-colourblind-types=true] .type-bg-normal{--type-abbr: "NOR" }[data-colourblind-types=true] .type-bg-fire{--type-abbr: "FIR" }[data-colourblind-types=true] .type-bg-water{--type-abbr: "WAT" }[data-colourblind-types=true] .type-bg-electric{--type-abbr: "ELE" }[data-colourblind-types=true] .type-bg-grass{--type-abbr: "GRA" }[data-colourblind-types=true] .type-bg-ice{--type-abbr: "ICE" }[data-colourblind-types=true] .type-bg-fighting{--type-abbr: "FIG" }[data-colourblind-types=true] .type-bg-poison{--type-abbr: "POI" }[data-colourblind-types=true] .type-bg-ground{--type-abbr: "GRO" }[data-colourblind-types=true] .type-bg-flying{--type-abbr: "FLY" }[data-colourblind-types=true] .type-bg-psychic{--type-abbr: "PSY" }[data-colourblind-types=true] .type-bg-bug{--type-abbr: "BUG" }[data-colourblind-types=true] .type-bg-rock{--type-abbr: "ROC" }[data-colourblind-types=true] .type-bg-ghost{--type-abbr: "GHO" }[data-colourblind-types=true] .type-bg-dragon{--type-abbr: "DRA" }[data-colourblind-types=true] .type-bg-dark{--type-abbr: "DAR" }[data-colourblind-types=true] .type-bg-steel{--type-abbr: "STE" }[data-colourblind-types=true] .type-bg-fairy{--type-abbr: "FAI" }.protect-shield{position:absolute;inset:-6px;z-index:5;border:3px solid #78c8ff;border-radius:50%;background:radial-gradient(circle,#78c8ff33,#78c8ff08);box-shadow:0 0 14px #78c8ffaa,inset 0 0 12px #78c8ff66;pointer-events:none;animation:protectPulse .5s ease-in-out infinite alternate}@keyframes protectPulse{0%{opacity:.55}to{opacity:1}}.protect-callout{position:absolute;top:-10px;left:50%;z-index:31;font-family:var(--font-pixel);font-size:10px;font-weight:700;color:#9fe0ff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;pointer-events:none;transform:translate(-50%);animation:protectCallout .9s ease-out forwards}.protect-callout.failed{color:#ffb060}@keyframes protectCallout{0%{opacity:0;transform:translate(-50%,6px)}25%{opacity:1;transform:translate(-50%,-4px)}to{opacity:0;transform:translate(-50%,-18px)}}.faint-anim{animation:faint .8s steps(8) forwards}@keyframes faint{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(40px)}}.bottom-panel{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;height:160px;z-index:30;border-top:4px solid var(--line)}.battle-text-row{display:flex;align-items:stretch;height:50px;flex-shrink:0;background:var(--parchment-texture);background-size:128px 128px;background-color:var(--parchment-dark);border-bottom:4px solid var(--line);box-shadow:inset 2px 2px #ffffff26,inset -2px -2px #00000014}.battle-text-box{flex:1;min-width:0;padding:8px 18px;display:flex;align-items:center}.battle-text-row .battle-mode-btn{align-self:center;flex-shrink:0;margin:0 12px 0 8px}.text-box-inner{width:100%}.battle-text-box p{font-size:11px;line-height:1.5;color:var(--ink-strong)}.text-cursor{display:inline-block;margin-left:4px;font-size:10px;color:var(--surface-deep);animation:cursorBlink .8s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.bottom-right-panel{width:100%;flex:1;background:var(--wood-texture);background-color:var(--line);padding:6px 10px;display:flex;flex-direction:column;gap:4px}.move-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%;align-items:stretch}.move-cell{padding:6px 8px;border-radius:0;font-size:10px;background-color:var(--parchment);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.4);display:flex;flex-direction:column;justify-content:center;gap:3px;border:2px solid rgba(0,0,0,.3);cursor:default;box-shadow:inset 2px 2px #ffffff26,inset -2px -2px #0000001a,2px 2px #0003}.move-top-row{display:flex;align-items:center;gap:5px}.move-category-icon{font-size:14px;line-height:1;flex-shrink:0;display:flex;align-items:center}.move-name{font-weight:700;flex:1;min-width:0}.move-stats{opacity:.9;font-size:8px;display:flex;gap:8px}.move-stat-label{opacity:.7}.move-preview{display:flex;align-items:center;gap:5px;font-size:8px;font-weight:700}.move-effectiveness{padding:1px 4px;border-radius:2px;background:#00000038;color:#fff}.move-effectiveness.strong{background:#2e7d32;color:#eaffea}.move-effectiveness.weak{background:#8a3a1a;color:#ffe6d6}.move-effectiveness.immune{background:#333;color:#bbb}.move-ko{padding:1px 4px;border-radius:2px;background:var(--gold);color:var(--on-accent)}.move-actions{display:flex;align-items:center;gap:6px;margin-bottom:5px}.battle-mode-btn{font-family:inherit;font-size:9px;font-weight:700;padding:4px 8px;background:var(--surface-mid);color:var(--parchment);border:2px solid #3f3024;cursor:pointer}.battle-mode-btn.active{background:var(--gold);border-color:var(--gold);color:var(--on-accent)}.manual-switch-btn{font-family:inherit;font-size:9px;font-weight:700;padding:4px 8px;background:#6d8a4d;color:#10200a;border:2px solid #44582f;cursor:pointer}.manual-switch-btn:disabled{opacity:.5;cursor:default}.manual-status{margin-left:auto;font-size:9px;font-weight:700;color:var(--parchment);opacity:.8}.manual-status.your-turn{color:var(--gold);opacity:1;animation:manualPulse 1s ease-in-out infinite}@keyframes manualPulse{0%,to{opacity:1}50%{opacity:.5}}.move-cell.selectable{cursor:pointer;outline:2px solid #ffe9a0}.move-cell.selectable:hover{filter:brightness(1.12);transform:translateY(-1px)}.move-cell.chosen{outline:3px solid var(--gold)}.switch-modal{max-width:360px}.switch-list{display:flex;flex-direction:column;gap:6px;padding:10px}.switch-option{display:flex;align-items:center;gap:10px;font-family:inherit;text-align:left;padding:6px 8px;background:var(--parchment);border:2px solid var(--line-accent);cursor:pointer}.switch-option:disabled{opacity:.45;cursor:default}.switch-option.active{background:var(--parchment-dark);border-color:var(--gold)}.switch-option-sprite{width:44px;height:44px;image-rendering:pixelated;object-fit:contain}.switch-option-info{display:flex;flex-direction:column;gap:2px}.switch-option-name{font-size:10px;font-weight:700;color:#2a1c0c}.switch-option-meta{font-size:9px;color:var(--surface-mid)}.type-bg-normal{background:#a8a878;color:var(--text-on-type);text-shadow:none;--type-color: #a8a878;--type-ink: var(--text-on-type) }.type-bg-fire{background:#c86828;color:var(--text-on-type);text-shadow:none;--type-color: #c86828;--type-ink: var(--text-on-type) }.type-bg-water{background:#4a68b8;--type-color: #4a68b8;--type-ink: #fff }.type-bg-electric{background:#f0c828;color:var(--text-on-type);text-shadow:none;--type-color: #f0c828;--type-ink: var(--text-on-type) }.type-bg-grass{background:#60a040;color:var(--text-on-type);text-shadow:none;--type-color: #60a040;--type-ink: var(--text-on-type) }.type-bg-ice{background:#78b0b0;color:var(--text-on-type);text-shadow:none;--type-color: #78b0b0;--type-ink: var(--text-on-type) }.type-bg-fighting{background:#a02820;--type-color: #a02820;--type-ink: #fff }.type-bg-poison{background:#883088;--type-color: #883088;--type-ink: #fff }.type-bg-ground{background:#d8b45c;color:var(--text-on-type);text-shadow:none;--type-color: #d8b45c;--type-ink: var(--text-on-type) }.type-bg-flying{background:#9078c8;color:var(--text-on-type);text-shadow:none;--type-color: #9078c8;--type-ink: var(--text-on-type) }.type-bg-psychic{background:#c03a62;--type-color: #c03a62;--type-ink: #fff }.type-bg-bug{background:#90a018;color:var(--text-on-type);text-shadow:none;--type-color: #90a018;--type-ink: var(--text-on-type) }.type-bg-rock{background:#b8a038;color:var(--text-on-type);text-shadow:none;--type-color: #b8a038;--type-ink: var(--text-on-type) }.type-bg-ghost{background:#604878;--type-color: #604878;--type-ink: #fff }.type-bg-dragon{background:#6030c8;--type-color: #6030c8;--type-ink: #fff }.type-bg-dark{background:#5a4a40;--type-color: #5a4a40;--type-ink: #fff }.type-bg-steel{background:#9898b0;color:var(--text-on-type);text-shadow:none;--type-color: #9898b0;--type-ink: var(--text-on-type) }.type-bg-fairy{background:#c87890;color:var(--text-on-type);text-shadow:none;--type-color: #c87890;--type-ink: var(--text-on-type) }.move-panel{background:var(--parchment-texture);background-size:64px 64px;background-color:var(--parchment);width:min(420px,100%);max-height:400px;display:flex;flex-direction:column;box-shadow:inset 2px 2px #ffdca04d,inset -2px -2px #00000026,0 0 0 4px var(--line-warm),0 0 0 6px var(--ink-warm),0 0 0 8px var(--surface-deep),0 0 0 10px var(--line-accent),0 0 0 12px var(--surface-deep),0 0 0 14px var(--ink-warm),4px 6px 0 14px #0006}.move-panel-header{display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px 6px;border-bottom:2px solid var(--text-dim)}.move-panel-title{font-size:12px;font-weight:700;color:var(--ink)}.move-panel-species{font-size:10px;color:var(--ink)}.move-panel-section-label{font-size:9px;color:var(--ink);padding:6px 14px 2px;text-transform:uppercase;letter-spacing:.5px}.move-panel-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px 14px}.move-panel-slot{padding:5px 4px;font-size:9px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.4);display:flex;align-items:center;gap:3px;border:2px solid rgba(0,0,0,.3);cursor:pointer;box-shadow:inset 2px 2px #ffffff26,inset -2px -2px #0000001a;text-align:center;justify-content:center;min-width:0;overflow:hidden}.move-panel-slot.empty{background:#c8b898;color:var(--ink);text-shadow:none;cursor:default}.move-panel-slot:not(.empty):hover{border-color:#c04040}.move-panel-slot-icon{font-size:11px;line-height:1}.move-panel-slot-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.move-panel-list{flex:1;overflow-y:auto;margin:4px 14px;border:2px solid var(--text-dim);background:#0000000d;max-height:160px}.move-panel-item{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:10px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.4);cursor:pointer;border-bottom:1px solid rgba(0,0,0,.15);border-left:3px solid transparent}.move-panel-item:last-child{border-bottom:none}.move-panel-item:hover{filter:brightness(1.1)}.move-panel-item.selected{border-left:3px solid var(--gold-bright);box-shadow:inset 0 0 0 1px var(--gold)}.move-panel-item-icon{font-size:12px;line-height:1;flex-shrink:0;width:14px;text-align:center}.move-panel-item-name{font-weight:700;flex:1;min-width:0}.move-panel-item-stats{font-size:9px;opacity:.9;width:32px;text-align:right}.move-panel-item-level{font-size:8px;opacity:.7;width:34px;text-align:right}.move-panel-item.locked{opacity:.4;cursor:not-allowed}.move-panel-item.locked:hover{filter:none}.move-panel-tutor-cost{font-size:9px;font-weight:700;color:var(--ink);padding:4px 14px 0;text-align:right}.move-panel-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:8px 14px 10px;justify-content:flex-end;border-top:2px solid var(--text-dim)}.move-panel-btn{font-size:10px;padding:6px 16px;border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;box-shadow:2px 2px #0000004d,inset 1px 1px #ffffff26}.move-panel-btn.cancel{background:var(--surface-raised);color:var(--parchment)}.move-panel-btn.cancel:hover{background:var(--surface-raised-hover)}.move-panel-btn.confirm{background:var(--gold);color:var(--ink-strong);border-color:var(--gold-dark);text-shadow:none}.move-panel-btn.confirm:hover{background:var(--gold-bright)}.battle-log{background:var(--bg-dark);border-top:3px solid var(--line);padding:6px 12px;display:flex;flex-direction:column;overflow:hidden}.log-title{font-size:8px;color:var(--gold);margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}.active-effects-bar{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid #2a1a10}.active-effect-tag{font-size:7px;padding:1px 4px;border-radius:2px;white-space:nowrap}.active-effect-tag.effect-expShare{background:#2a4020;color:#80d060;border:1px solid #4a6830}.active-effect-tag.effect-repel{background:#1a2848;color:#90b8e8;border:1px solid #3a5888}.active-effect-tag.effect-honey{background:#483818;color:var(--gold);border:1px solid #786020}.log-entries{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:1px}.log-entry{font-size:8px;color:var(--text-dim);padding:1px 0}.level-up-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,var(--parchment) 0% 50%,var(--parchment-dark) 50% 100%);color:var(--ink-strong);padding:16px 32px;border:none;border-radius:0;font-size:16px;z-index:200;animation:levelUpPop .4s steps(4);text-shadow:none;box-shadow:inset 2px 2px #ffffff40,inset -2px -2px #0000001f,-4px 0 0 0 var(--gold),4px 0 0 0 var(--gold),0 -4px 0 0 var(--gold),0 4px 0 0 var(--gold),-4px -4px 0 0 var(--gold),4px -4px 0 0 var(--gold),-4px 4px 0 0 var(--gold),4px 4px 0 0 var(--gold),-6px 0 0 0 var(--gold-bright),6px 0 0 0 var(--gold-bright),0 -6px 0 0 var(--gold-bright),0 6px 0 0 var(--gold-bright),-8px 0 0 0 var(--gold),8px 0 0 0 var(--gold),0 -8px 0 0 var(--gold),0 8px 0 0 var(--gold),-8px -8px 0 0 var(--gold),8px -8px 0 0 var(--gold),-8px 8px 0 0 var(--gold),8px 8px 0 0 var(--gold),-10px 0 0 0 var(--gold-dark),10px 0 0 0 var(--gold-dark),0 -10px 0 0 var(--gold-dark),0 10px 0 0 var(--gold-dark),4px 4px 0 10px #00000080}@keyframes levelUpPop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.notification-stack{position:fixed;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:260;pointer-events:none;max-width:min(320px,80vw)}.notification-toast{pointer-events:auto;display:flex;align-items:center;gap:6px;padding:7px 10px;font-size:10px;line-height:1.35;color:var(--ink-strong);background:linear-gradient(180deg,var(--text-bright) 0% 50%,#e2d3b4 50% 100%);border-left:4px solid var(--gold-dark);box-shadow:2px 3px #00000059;cursor:pointer;animation:notificationIn .22s ease-out}.notification-icon{font-size:12px;line-height:1}.notification-go{margin-left:auto;font:inherit;font-weight:700;font-size:9px;color:var(--ink-strong);background:#e8d090;border:1px solid var(--gold-dark);border-radius:3px;padding:2px 6px;cursor:pointer}.notification-go:hover{background:var(--gold-bright)}.notification-info{border-left-color:#3a6a9a}.notification-success{border-left-color:#4a7a30}.notification-shiny{border-left-color:var(--gold-bright);background:linear-gradient(180deg,#fff6cf 0% 50%,#f0dfa0 50% 100%)}.notification-warn{border-left-color:#b04818}@keyframes notificationIn{0%{transform:translate(18px);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay.hatch-popup-overlay{z-index:210}.hatch-popup{background:linear-gradient(180deg,var(--parchment) 0% 50%,var(--parchment-dark) 50% 100%);color:var(--ink-strong);padding:18px 26px;min-width:320px;max-width:92vw;max-height:90vh;overflow-y:auto;text-align:center;box-shadow:inset 2px 2px #ffffff40,inset -2px -2px #0000001f,-4px 0 0 0 var(--gold),4px 0 0 0 var(--gold),0 -4px 0 0 var(--gold),0 4px 0 0 var(--gold),-4px -4px 0 0 var(--gold),4px -4px 0 0 var(--gold),-4px 4px 0 0 var(--gold),4px 4px 0 0 var(--gold),4px 4px 0 8px #00000080}.hatch-popup.shiny{box-shadow:inset 2px 2px #ffffff40,inset -2px -2px #0000001f,-4px 0 0 0 var(--gold-bright),4px 0 0 0 var(--gold-bright),0 -4px 0 0 var(--gold-bright),0 4px 0 0 var(--gold-bright),-4px -4px 0 0 var(--gold-bright),4px -4px 0 0 var(--gold-bright),-4px 4px 0 0 var(--gold-bright),4px 4px 0 0 var(--gold-bright),4px 4px 0 8px #00000080}.hatch-popup-title{font-size:10px;margin-bottom:8px}.hatch-popup-sprite{width:96px;height:96px;image-rendering:pixelated;display:block;margin:0 auto}.hatch-popup-name{font-size:12px;margin-top:6px;display:flex;align-items:center;justify-content:center;gap:3px}.hatch-popup-meta{font-size:9px;margin-top:4px;opacity:.85}.hatch-popup-buttons{display:flex;gap:8px;justify-content:center;margin-top:14px}.hatch-popup .stats-panel-nature{justify-content:center;margin-top:8px}.hatch-popup .stats-panel-ivs{align-items:center;margin-top:8px}.hatch-popup .stats-panel-iv-grid{width:100%}.hatch-popup-stats{display:flex;gap:4px;margin-top:8px}.hatch-popup-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;background:#00000010;border:1px solid var(--text-dim);padding:3px 2px}.hatch-popup-stat-label{font-size:7px;color:var(--surface-mid)}.hatch-popup-stat-value{font-size:9px;font-weight:700;color:var(--ink-strong)}.hatch-popup-btn{font-size:9px;padding:5px 12px;border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;color:var(--parchment);background:var(--surface-raised)}.hatch-popup-btn:hover{border-color:var(--gold-dark)}.hatch-popup-btn.release{background:#7a3a30}.modal-overlay.feature-unlock-overlay{z-index:215}.feature-unlock{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(360px,100%);padding:20px 22px 16px;text-align:center;color:var(--parchment);background:linear-gradient(180deg,var(--bg-panel-light),var(--bg-panel));border:2px solid var(--line-accent);border-radius:12px;box-shadow:var(--shadow-panel),0 0 0 4px #00000040;animation:featureUnlockIn var(--dur) var(--ease-out)}@keyframes featureUnlockIn{0%{transform:translateY(10px) scale(.96);opacity:0}to{transform:none;opacity:1}}.feature-unlock-kicker{font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.feature-unlock-icon{font-size:34px;line-height:1;filter:drop-shadow(0 4px 10px #00000080)}.feature-unlock-title{font-size:var(--text-lg);color:var(--gold-bright);text-shadow:2px 2px 0 var(--gold-dark)}.feature-unlock-description{font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--text-soft)}.feature-unlock-requirement{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--gold-bright);padding:3px 9px;background:#0003;border:1px solid var(--gold-line);border-radius:999px}.feature-unlock-next{font-family:var(--font-body);font-size:var(--text-xs);line-height:1.45;color:var(--text-dim)}.feature-unlock-next strong{font-family:var(--font-pixel);font-size:var(--text-xs);font-weight:700;color:var(--text-soft)}.feature-unlock-btn{margin-top:4px;padding:8px 22px;font-size:var(--text-sm);font-weight:700;font-family:var(--font-pixel);color:var(--on-accent);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border:2px solid var(--gold-dark);border-radius:8px;box-shadow:0 3px 0 var(--gold-dark);cursor:pointer}.feature-unlock-btn:hover{filter:brightness(1.06)}.feature-unlock-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--gold-dark)}.feature-unlock-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.feature-unlock-actions .feature-unlock-btn{margin-top:0}.feature-unlock-btn.secondary{color:var(--text-soft);background:linear-gradient(180deg,#3a3327,#2b261d);border-color:var(--line);box-shadow:0 3px #00000060}.feature-unlock-btn.secondary:active{box-shadow:0 1px #00000060}@media (prefers-reduced-motion: reduce){.feature-unlock{animation:none}}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(400px,min(58vh,46vw),760px) minmax(0,1fr);height:100%;min-height:0;background:var(--bg-dark)}.center-column{border-left:3px solid var(--line);border-right:3px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}.center-column .battle-screen{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.center-column .battle-scene{flex:0 0 auto}.center-column .battle-log{flex:1;min-height:0}.center-column .town-map{flex:0 0 clamp(240px,40vh,520px)}.side-panel{background:var(--bg-panel);background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(200,168,72,.03) 3px,rgba(200,168,72,.03) 4px);display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.panel-header{background:var(--bg-panel-light);padding:8px 14px;border-bottom:2px solid var(--line);box-shadow:inset 0 -2px #0003;display:flex;justify-content:space-between;align-items:center}.panel-title{font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:1px}.panel-content{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;padding:16px;position:relative;overflow-y:auto;overflow-x:hidden;z-index:1}.tab-bar{display:flex;flex-wrap:wrap;gap:2px;background:var(--bg-panel-light);padding:6px 6px 0;border-bottom:2px solid var(--line)}.tab-btn{font-size:9px;padding:6px 12px;background:var(--stone-dark);color:var(--parchment);border:2px solid var(--line);border-bottom:none;border-radius:0;transition:none;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 1px 1px #ffffff14}.tab-btn.active{background:var(--gold);color:var(--on-accent);border-color:var(--gold-dark);text-shadow:none;box-shadow:inset 1px 1px #fff3}.tab-btn:hover:not(.active){border-color:var(--gold-dark)}.party-content{flex:1;display:flex;flex-direction:column;padding:8px;gap:6px;min-height:0;overflow-y:auto;overflow-x:hidden}.party-list{display:flex;flex-direction:column;gap:4px;flex:0 0 auto}.party-slot{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--bg-dark);border:2px solid var(--line);cursor:pointer}.party-reorder{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.party-reorder-btn{width:22px;height:18px;display:flex;align-items:center;justify-content:center;font-size:8px;line-height:1;padding:0;color:var(--gold-bright);background:var(--bg-panel);border:2px solid var(--line-warm);cursor:pointer}.party-reorder-btn:disabled{opacity:.35;cursor:default}.party-slot.active{border-color:var(--gold-dark)}.party-slot.selected{border-color:var(--gold-bright)}.party-sprite{width:32px;height:32px;image-rendering:pixelated;object-fit:contain}.party-sprite-wrap{position:relative;flex-shrink:0;line-height:0}.party-held-item,.box-held-item{position:absolute;right:-3px;bottom:-3px;display:flex;align-items:center;justify-content:center;padding:1px;background:var(--bg-dark);border:1px solid var(--line);line-height:0;z-index:2}.party-held-item .item-icon,.box-held-item .item-icon{width:12px;height:12px}.box-alpha-marker{position:absolute;left:-2px;top:-3px;font-size:10px;color:var(--gold);text-shadow:0 0 2px #000,0 0 3px #000;line-height:1;pointer-events:none;z-index:2}.box-mark-marker{position:absolute;right:-2px;top:-3px;font-size:10px;line-height:1;text-shadow:0 0 2px #000,0 0 3px #000;pointer-events:none;z-index:2}.party-info{flex:1;min-width:0}.party-info .exp-bar{margin-top:1px}.party-info .exp-track{height:6px}.party-name-row{display:flex;justify-content:space-between;font-size:9px;color:var(--parchment);margin-bottom:2px}.party-pokerus-badge{margin-left:4px;font-size:7px;font-weight:700;color:var(--gold-bright);background:#7030a0;border:1px solid var(--gold-bright);padding:0 3px;letter-spacing:.3px}.party-favourite-badge{margin-left:4px;color:#ff5a78;text-shadow:0 0 4px #ff5a7888}.party-egg-hint{font-size:8px;color:var(--text-muted);margin-top:3px}.stats-panel-egg-hint{font-size:10px;color:var(--surface-mid);line-height:1.45;margin:4px 0 0}.stats-panel-spacer{flex:1}.box-container{flex:0 0 auto;display:flex;flex-direction:column;border-top:2px solid var(--line)}.box-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:4px 8px;background:linear-gradient(180deg,#4a6838,#3a5428);border-bottom:2px solid #2a3a18;position:relative}.box-search{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:2px solid var(--line)}.box-search-input{flex:1;min-width:0;font-family:var(--font-pixel);font-size:9px;padding:4px 6px;color:var(--ink-strong);background:var(--parchment);border:2px solid var(--line-warm);border-radius:0;outline:none}.box-filter-btn{font-family:var(--font-pixel);font-size:8px;padding:4px 6px;color:var(--text-soft);background:linear-gradient(180deg,var(--ink-warm),var(--bg-panel));border:2px solid var(--line-warm);cursor:pointer}.box-filter-btn.active{color:var(--bg-dark);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright)}.box-search-count{flex:0 0 auto;font-size:8px;color:var(--text-muted)}.box-header-arrow{font-size:10px;padding:1px 6px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;line-height:1;box-shadow:1px 1px #0000004d,inset 1px 1px #ffffff1a}.box-header-arrow:hover{background:var(--surface-raised-hover);border-color:var(--gold-dark)}.box-header-name{font-size:10px;color:var(--gold-bright);text-shadow:1px 1px 0 rgba(0,0,0,.6);letter-spacing:.5px;font-weight:700;min-width:48px;text-align:center}.box-grid-wrapper{flex:1;padding:6px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse 40px 40px at 20% 30%,rgba(60,100,40,.25) 0%,transparent 70%),radial-gradient(ellipse 50px 35px at 70% 60%,rgba(50,90,35,.2) 0%,transparent 70%),radial-gradient(ellipse 35px 45px at 45% 80%,rgba(55,95,38,.22) 0%,transparent 70%),radial-gradient(ellipse 45px 30px at 85% 20%,rgba(60,100,40,.18) 0%,transparent 70%),linear-gradient(180deg,#2a4a1e,#264418,#223e14,#1e3810,#1a3210)}.box-grid{display:grid;grid-template-columns:repeat(6,48px);grid-template-rows:repeat(5,48px);gap:4px 6px}.box-grid-slot{width:48px;height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden}.box-grid-slot:not(.filled){background:#0003;box-shadow:inset 2px 2px #00000059,inset -2px -2px #ffffff0f}.box-grid-slot img{width:40px;height:40px;object-fit:contain}.box-sprite-wrap{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.box-grid-slot.filled{cursor:pointer}.box-grid-slot.filled:hover{outline:2px solid var(--gold);outline-offset:-2px;background:#c8a84826}.stats-panel{position:relative;background:var(--parchment-texture);background-size:64px 64px;background-color:var(--parchment);border:4px solid var(--line-warm);padding:4px 10px 8px;display:flex;flex-direction:column;gap:5px;min-height:0;overflow-y:auto;box-shadow:inset 2px 2px #ffdca04d,inset -2px -2px #00000026,0 0 0 2px var(--ink-warm)}.stats-panel-header{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-bottom:-4px}.stats-panel-close{font-size:9px;padding:1px 6px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.stats-panel-close:hover{background:var(--surface-raised-hover)}.stats-panel-identity{display:flex;align-items:center;gap:8px}.stats-panel-sprite{width:64px;height:64px;image-rendering:pixelated;object-fit:contain}.stats-panel-name-block{display:flex;flex-direction:column;gap:2px;min-width:0}.stats-panel-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.stats-panel-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.stats-panel-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px}.stats-panel-name{font-size:11px;font-weight:700;color:var(--ink)}.stats-panel-name-input{width:120px;font-family:var(--font-pixel);font-size:11px;font-weight:700;color:var(--ink-strong);background:#fff8e0;border:2px solid var(--gold-dark);border-radius:0;padding:0 3px;outline:none}.stats-panel-name-edit{margin-left:4px;padding:0 2px;font-size:10px;background:none;border:none;color:var(--ink);cursor:pointer}.stats-panel-name-edit:hover{color:var(--gold-dark)}.pokemon-gender{margin-left:4px;font-size:11px;font-weight:700}.gender-male{color:#6aa8f0}.gender-female{color:#f080a8}.gender-none{color:#b0a890}.stats-panel .gender-male,.hatch-popup .gender-male{color:#2a5a9a}.stats-panel .gender-female,.hatch-popup .gender-female{color:#a02850}.stats-panel .gender-none,.hatch-popup .gender-none{color:var(--text-dim)}.stats-panel-level{font-size:10px;color:var(--gold-dark)}.stats-panel-types{display:flex;gap:4px;margin-top:2px}.stats-panel-nature{font-size:9px;font-weight:700;color:var(--surface-deep);background:linear-gradient(var(--parchment),var(--parchment-dark));border:1px solid var(--text-dim);padding:1px 6px}.stats-panel-nature-name{font-size:9px;font-weight:700;color:var(--ink);background:#00000012;border:1px solid var(--text-dim);padding:1px 5px}.stats-panel-nature-effects{display:flex;gap:5px}.nature-stat{font-size:9px;font-weight:700}.nature-up{color:#1f5c22}.nature-down{color:#b02a2a}.nature-neutral{color:var(--surface-mid);font-weight:400}.stats-panel-pokerus{font-size:9px;font-weight:700;color:#f0e6ff;background:linear-gradient(#5a2a8a,#3a1a5a);border:1px solid #a060ff;padding:1px 6px}.stats-panel-friendship{font-size:9px;font-weight:700;color:#ffd9e6;background:linear-gradient(#8a2a55,#5a1a38);border:1px solid #ff7aa8;padding:1px 6px}.stats-panel-friendship.high{color:#fff;border-color:#ff3d7f;box-shadow:0 0 4px #ff3d7f}.stats-panel-ability{font-size:9px;font-weight:700;color:#d9f0ff;background:linear-gradient(#2a4a7a,#1a2a4a);border:1px solid #60a0e0;padding:1px 6px}.stats-panel-mark{font-size:9px;font-weight:700;color:#fff3d0;background:linear-gradient(var(--gold-dark),#4a3618);border:1px solid #d8b060;padding:1px 6px}.stats-panel-mark.rare{color:#fff;border-color:#7ce0ff;box-shadow:0 0 4px #7ce0ff}.stats-panel-gmax{font-size:9px;font-weight:700;color:#ffe0f0;background:linear-gradient(#a02060,#601038);border:1px solid #ff4d94;padding:1px 6px}.stats-panel-gmax.locked{color:#b9b2b6;background:linear-gradient(#4a4448,#2e2a2d);border-color:#6a6266;opacity:.75}.stats-panel-mega{font-size:9px;font-weight:700;color:#efe6ff;background:linear-gradient(#4a2a8a,#28154a);border:1px solid #a080ff;padding:1px 6px}.stats-panel-mega.locked{color:#b9b2b6;background:linear-gradient(#4a4448,#2e2a2d);border-color:#6a6266;opacity:.75}.stats-panel-held{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;color:#fff0c8;background:linear-gradient(#7a5a1a,var(--gold-dark));border:1px solid var(--gold);padding:1px 4px 1px 6px}.stats-panel-held-remove{font-size:8px;font-weight:700;color:var(--gold-dark);background:var(--gold);border:none;border-radius:2px;padding:1px 4px;cursor:pointer}.stats-panel-fav-btn{font-size:10px;line-height:1;padding:1px 7px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.stats-panel-fav-btn:hover{background:var(--surface-raised-hover);border-color:var(--gold-dark)}.stats-panel-fav-btn.active{color:#ff8aa0}.stats-panel-ivs{display:flex;flex-direction:column;gap:4px}.stats-panel-ivs-title{font-size:8px;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.5px}.stats-panel-iv-grid{display:flex;gap:3px}.stats-panel-size{align-self:flex-start;font-size:8px;font-weight:700;color:var(--surface-mid);letter-spacing:.5px}.stats-panel-size.alpha{color:#b8860b}.stats-panel-ribbons{display:flex;flex-direction:column;gap:4px;margin-top:8px}.stats-panel-ribbons-title{font-size:8px;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.5px}.ribbon-grid{display:flex;flex-wrap:wrap;gap:3px}.ribbon-chip{font-size:8px;font-weight:700;padding:2px 5px;color:var(--ink-strong);background:var(--gold);border:1px solid var(--gold-dark);border-radius:8px}.iv-chip{flex:1;text-align:center;font-size:8px;font-weight:700;padding:3px 2px;color:var(--ink-strong);background:#00000012;border:1px solid var(--text-dim)}.iv-best,.iv-fantastic{background:#ffd870;border-color:#b8901a}.iv-very-good{background:#a8e0a8;border-color:#4a8a4a}.iv-pretty-good{background:#c8e0c8;border-color:#7a9a7a}.iv-decent{background:var(--parchment-dark);border-color:var(--text-dim)}.iv-no-good{background:#e0c0c0;border-color:#a07070;color:#6a2020}.stats-panel-grid{display:flex;flex-direction:column;gap:3px}.stats-panel-stat-row{display:flex;align-items:center;gap:4px}.stats-panel-stat-label{font-size:8px;color:var(--surface-mid);width:22px;text-align:right;font-weight:700}.stats-panel-stat-bar{flex:1;height:10px;background:var(--bg-dark);border:2px solid var(--line);overflow:hidden}.stats-panel-stat-fill{height:100%;transition:width .3s linear}.stats-panel-stat-value{font-size:8px;color:var(--surface-mid);width:40px;text-align:right}.stats-panel-stat-value.nature-up{color:#1f5c22;font-weight:700}.stats-panel-stat-value.nature-down{color:#b02a2a;font-weight:700}.stats-panel-moves{display:flex;flex-direction:column;gap:3px}.stats-panel-manage{font-size:7px;padding:1px 8px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.stats-panel-manage:hover{background:var(--surface-raised-hover);border-color:var(--gold-dark)}.stats-panel-moves-title{font-size:8px;color:var(--ink);text-transform:uppercase;letter-spacing:.5px}.stats-panel-move{display:flex;align-items:center;gap:4px;padding:4px 6px;font-size:9px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.4);border:2px solid rgba(0,0,0,.3)}.stats-panel-move-icon{font-size:10px;line-height:1}.stats-panel-move-name{flex:1;font-weight:700}.stats-panel-move-stats{font-size:8px;opacity:.8;display:flex;gap:6px;white-space:nowrap}.stats-panel-btn{font-size:9px;padding:4px 10px;background:var(--gold);color:var(--ink-strong);border:2px solid var(--gold-dark);border-radius:0;cursor:pointer;font-weight:700;text-align:center;box-shadow:1px 1px #0000004d,inset 1px 1px #fff3}.stats-panel-btn:hover:not(:disabled){background:var(--gold-bright)}.stats-panel-btn.disabled{background:var(--surface-raised);color:var(--text-dim);border-color:var(--line);cursor:not-allowed;opacity:.7}.stats-panel-reorder{display:flex;align-items:center;gap:6px}.stats-panel-reorder-label{font-size:9px;color:var(--surface-mid);text-transform:uppercase;letter-spacing:.5px}.stats-panel-reorder-btn{width:34px;height:28px;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;padding:0;color:var(--ink-strong);background:var(--gold);border:2px solid var(--gold-dark);cursor:pointer}.stats-panel-reorder-btn:hover:not(:disabled){background:var(--gold-bright)}.stats-panel-reorder-btn:disabled{background:var(--surface-raised);color:var(--text-dim);border-color:var(--line);cursor:default;opacity:.7}.party-slot[draggable=true]{cursor:grab}.party-slot[draggable=true]:active{cursor:grabbing}.party-slot.dragging{opacity:.4}.party-slot-drop-indicator{height:2px;background:var(--gold-bright);margin:-1px 0;box-shadow:0 0 4px var(--gold)}.box-container.drag-over{outline:2px solid var(--gold);outline-offset:-2px;box-shadow:inset 0 0 8px #c8a8484d}.party-slot.inspected{border-color:var(--gold-bright);background:var(--bg-panel)}.box-grid-slot.inspected{outline:2px solid var(--gold-bright);outline-offset:-2px;background:#c8a84840}.box-grid-slot.filled[draggable=true]{cursor:grab}.box-grid-slot.filled[draggable=true]:active{cursor:grabbing}.box-grid-slot.dragging{opacity:.4}.box-grid-slot.drop-target{outline:2px solid var(--gold-bright);outline-offset:-2px;background:#c8a8484d}.party-slot.drop-target{border-color:var(--gold-bright);background:#c8a84826}.box-sort-group{display:flex;align-items:center;gap:4px}.box-sort-btn{font-size:10px;padding:1px 8px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;line-height:1;box-shadow:1px 1px #0000004d,inset 1px 1px #ffffff1a}.box-sort-btn:hover{background:var(--surface-raised-hover);border-color:var(--gold-dark)}.stats-panel-release-btn{font-size:9px;padding:4px 10px;background:#8b2020;color:#fdd;border:2px solid #5a1010;border-radius:0;cursor:pointer;font-weight:700;text-align:center;box-shadow:1px 1px #0000004d,inset 1px 1px #ffffff26}.stats-panel-release-btn:hover{background:#a52828}.stats-panel-trade{display:flex;flex-direction:column;gap:4px;margin-top:4px}.stats-panel-trade-btn{font-size:9px;padding:4px 10px;background:#285a8b;color:#ddf;border:2px solid #10385a;border-radius:0;cursor:pointer;font-weight:700;text-align:center;box-shadow:1px 1px #0000004d,inset 1px 1px #ffffff26}.stats-panel-trade-btn:hover:not(:disabled){background:#3070a8}.stats-panel-trade-btn:disabled{opacity:.45;cursor:not-allowed}.release-confirm{background:#3a1010;border:2px solid #8b2020;padding:6px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#fdd;font-weight:700}.release-reward-hint{color:#ffd060;font-weight:400}.release-confirm-buttons{display:flex;gap:6px}.release-confirm-yes,.release-confirm-no{font-size:9px;padding:2px 10px;border:2px solid;border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.release-confirm-yes{background:#8b2020;color:#fdd;border-color:#5a1010}.release-confirm-yes:hover{background:#a52828}.release-confirm-no{background:var(--surface-raised);color:var(--parchment);border-color:var(--line)}.release-confirm-no:hover{background:var(--surface-raised-hover)}.town-map{background:var(--bg-dark);border-top:3px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.town-map-header{display:flex;justify-content:space-between;align-items:center;padding:5px 12px;background:linear-gradient(180deg,var(--ink),var(--bg-panel));border-bottom:2px solid var(--line-warm);box-shadow:inset 0 1px #c8a8481a,inset 0 -1px #0000004d}.town-map-title{font-size:8px;color:var(--gold);text-transform:uppercase;letter-spacing:1px}.town-map-location-name{font-size:10px;color:var(--gold-bright);font-weight:700;letter-spacing:.5px;text-shadow:1px 1px 0 rgba(0,0,0,.6)}.town-map-battles{font-size:8px;color:var(--text-muted)}.day-phase-chip{flex:0 0 auto;font-size:8px;color:var(--gold);white-space:nowrap}.weather-chip{flex:0 0 auto;font-size:8px;color:var(--text-muted);white-space:nowrap}.weather-chip.active{color:var(--gold)}.season-chip{flex:0 0 auto;font-size:8px;white-space:nowrap}.season-chip.season-spring{color:#f0a8c2}.season-chip.season-summer{color:#f2c44f}.season-chip.season-autumn{color:#d98a3a}.season-chip.season-winter{color:#a8d8f0}.town-map[data-season=spring] .town-map-terrain{filter:saturate(1.1) brightness(1.03) hue-rotate(4deg)}.town-map[data-season=summer] .town-map-terrain{filter:saturate(1.22) brightness(1.08) hue-rotate(-4deg)}.town-map[data-season=autumn] .town-map-terrain{filter:sepia(.22) saturate(1.28) brightness(.96) hue-rotate(-10deg)}.town-map[data-season=winter] .town-map-terrain{filter:saturate(.45) brightness(1.14)}.map-search-toggle,.map-legend-toggle{flex:0 0 auto;font-family:var(--font-pixel);font-size:10px;line-height:1;padding:2px 6px;color:var(--gold);background:var(--bg-panel);border:2px solid var(--line-warm);border-radius:0;cursor:pointer}.map-search-toggle:hover,.map-legend-toggle:hover{color:var(--bg-dark);background:var(--gold)}.map-search-toggle.active,.map-legend-toggle.active{color:var(--bg-dark);background:var(--gold);border-color:var(--gold-dark)}.map-legend{position:absolute;top:6px;left:6px;z-index:12;padding:5px 8px 6px;background:#2a1e10e8;border:2px solid var(--line-warm);border-radius:3px;box-shadow:0 2px 6px #00000080;pointer-events:auto}.map-legend-title{font-family:var(--font-pixel);font-size:8px;color:var(--gold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.map-legend-items{display:grid;grid-template-columns:auto auto;gap:3px 12px}.map-legend-item{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--parchment);white-space:nowrap}.map-legend-swatch{width:10px;height:10px;flex:0 0 auto;box-shadow:0 0 0 1px #00000080}.map-legend-swatch.legend-town{border-radius:2px;background:radial-gradient(circle at 38% 38%,#f06848,#d03020,#a82018)}.map-legend-swatch.legend-route{border-radius:50%;background:radial-gradient(circle at 38% 38%,#5cb85c,#3a8f3a,#2d7a2d)}.map-legend-swatch.legend-complete{border-radius:50%;background:radial-gradient(circle at 38% 38%,#8ff0e0,#26b6a4,#138070)}.map-legend-swatch.legend-zone{border-radius:2px;transform:rotate(45deg);background:radial-gradient(circle at 38% 38%,#8fd0ff,#3a78c8,#264f8f)}.map-legend-swatch.legend-raid{border-radius:50%;background:radial-gradient(circle at 38% 38%,var(--gold-bright),#b060d0,#7030a0)}.map-legend-swatch.legend-current{border-radius:50%;background:var(--gold-bright);box-shadow:0 0 4px 1px #f0c85099}.map-legend-swatch.legend-poi{border-radius:50%;background:#2f6fbb}.map-legend-icon{width:12px;flex:0 0 auto;font-size:10px;line-height:1;text-align:center}.map-search{position:relative;padding:4px 8px;background:var(--bg-deep);border-bottom:2px solid var(--ink-warm)}.map-search-input{width:100%;box-sizing:border-box;font-family:var(--font-pixel);font-size:9px;padding:5px 8px;color:var(--ink-strong);background:var(--parchment);border:2px solid var(--line-warm);border-radius:0;outline:none}.map-search-input::placeholder{color:var(--text-muted)}.map-search-results{position:absolute;left:8px;right:8px;top:100%;z-index:30;max-height:140px;overflow-y:auto;background:var(--parchment);border:2px solid var(--line-warm);box-shadow:2px 2px #0000004d}.map-search-result{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;font-family:var(--font-pixel);font-size:9px;padding:6px 8px;background:none;border:none;border-bottom:1px solid var(--text-soft);color:var(--ink-strong);cursor:pointer;text-align:left}.map-search-result:last-child{border-bottom:none}.map-search-result:hover{background:var(--parchment-dark)}.map-search-result.current{background:#c8b088}.map-search-region{flex:0 0 auto;font-size:8px;color:var(--surface-mid)}.map-search-empty{font-size:9px;color:var(--surface-mid);padding:6px 8px}.map-region-tabs{display:flex;gap:4px;padding:4px 8px;overflow-x:auto;background:var(--bg-deep);border-bottom:2px solid var(--ink-warm);scrollbar-width:none}.map-region-tabs::-webkit-scrollbar{display:none}.map-region-tab{flex:0 0 auto;font-family:var(--font-pixel);font-size:8px;padding:4px 8px;color:var(--text-soft);background:linear-gradient(180deg,var(--ink-warm),var(--bg-panel));border:2px solid var(--line-warm);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:.12s}.map-region-tab:hover:not(:disabled){color:var(--gold-bright);border-color:var(--gold-line)}.map-region-tab.active{color:var(--bg-dark);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright)}.map-region-tab.locked{opacity:.4;cursor:not-allowed;color:#6a5a44}.map-region-tab.locked.unlockable{opacity:1;cursor:pointer;color:var(--gold);border-color:var(--gold-line);animation:unlock-pulse 1.6s ease-in-out infinite}@keyframes unlock-pulse{0%,to{box-shadow:0 0 #f0d06000}50%{box-shadow:0 0 6px 1px #f0d06066}}.map-region-tab.unlocking{opacity:1;color:var(--bg-dark);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright)}.map-unlock-tokens{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:8px;color:var(--gold-bright);background:#2a2010;border-bottom:1px solid var(--ink-warm)}.map-unlock-token-icon{font-size:10px}.map-unlock-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;background:#3a2c10;border-bottom:2px solid var(--line-warm)}.map-unlock-text{font-size:9px;color:var(--parchment)}.map-unlock-actions{display:flex;gap:6px}.map-unlock-btn,.map-unlock-cancel{font-family:var(--font-pixel);font-size:8px;padding:3px 8px;border:2px solid var(--line-warm);background:linear-gradient(180deg,var(--ink-warm),var(--bg-panel));color:var(--text-soft);cursor:pointer;text-transform:uppercase}.map-unlock-btn{color:var(--bg-dark);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright)}.map-unlock-cancel:hover{color:var(--gold-bright)}.town-map-canvas{flex:1;position:relative;min-height:120px;margin:6px 8px 8px;overflow:hidden;background:radial-gradient(ellipse 85% 18% at 35% 88%,rgba(70,110,140,.4) 0%,transparent 70%),radial-gradient(ellipse 60% 10% at 30% 84%,rgba(60,100,130,.3) 0%,transparent 65%),radial-gradient(ellipse 30% 8% at 30% 82%,rgba(65,105,135,.2) 0%,transparent 60%),radial-gradient(ellipse 12% 10% at 22% 24%,rgba(80,110,65,.3) 0%,transparent 70%),radial-gradient(ellipse 8% 6% at 26% 20%,rgba(75,105,60,.2) 0%,transparent 60%),radial-gradient(ellipse 18% 8% at 36% 16%,rgba(140,120,90,.25) 0%,transparent 65%),radial-gradient(ellipse 10% 8% at 72% 24%,rgba(140,120,90,.2) 0%,transparent 60%),radial-gradient(ellipse 8% 6% at 82% 22%,rgba(130,115,85,.2) 0%,transparent 60%),radial-gradient(ellipse 10% 6% at 42% 70%,rgba(90,130,75,.2) 0%,transparent 65%),radial-gradient(ellipse 20% 15% at 65% 55%,rgba(160,130,80,.08) 0%,transparent 70%),radial-gradient(ellipse 15% 20% at 25% 60%,rgba(150,125,75,.06) 0%,transparent 70%),radial-gradient(ellipse 25% 18% at 50% 30%,rgba(155,128,78,.05) 0%,transparent 70%),radial-gradient(ellipse 110% 110% at 50% 50%,transparent 42%,rgba(120,95,55,.12) 52%,rgba(100,80,45,.2) 100%),linear-gradient(165deg,var(--parchment-dark),#d4c498 10%,#d0c090 25%,#ccbc88 50%,#c8b884 70%,#c4b480,#c0b07c);border:4px solid var(--line-warm);box-shadow:inset 3px 3px #dcc8a026,inset -3px -3px #503c1e26,0 0 0 2px var(--ink-warm),0 0 0 4px var(--surface-deep),0 0 0 6px var(--ink-warm);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.town-map-canvas:active{cursor:grabbing}.town-map-world{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.town-map-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.town-map-terrain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:1}.map-compass{position:absolute;top:8px;left:8px;width:34px;height:34px;z-index:5;pointer-events:none;opacity:.85;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}.map-compass-n{font-family:var(--font-pixel);font-size:8px;fill:var(--line-warm)}.map-zoom-controls{position:absolute;right:6px;bottom:6px;z-index:6;display:flex;flex-direction:column;gap:3px}.map-zoom-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:var(--font-pixel);font-size:10px;line-height:1;padding:0;color:var(--gold-bright);background:linear-gradient(180deg,var(--ink-warm),var(--bg-panel));border:2px solid var(--line-warm);cursor:pointer;transition:.12s}.map-zoom-btn:hover{color:var(--bg-dark);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright)}.map-pan-hint{position:absolute;left:8px;bottom:7px;z-index:6;font-size:7px;letter-spacing:.3px;color:#9a8a70;pointer-events:none;text-shadow:0 1px 0 rgba(220,205,170,.5)}.map-road-border.unlocked{stroke:#5a3d1e;stroke-width:.9;stroke-linecap:round;fill:none}.map-road-border.locked{stroke:var(--text-dim);stroke-width:.417;stroke-linecap:round;fill:none;opacity:.15}.map-road-fill.unlocked{stroke:#d3af6c;stroke-width:.42;stroke-linecap:round;fill:none}.map-road-fill.locked{stroke:#b0a080;stroke-width:.208;stroke-linecap:round;fill:none;stroke-dasharray:.333,.667;opacity:.15}.map-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;z-index:2;padding:0;border:none;background:none;box-shadow:none;pointer-events:none}.map-node-dot{pointer-events:auto}.map-node.town .map-node-dot{width:20px;height:20px;border-radius:4px;background:radial-gradient(circle at 38% 38%,#f06848,#d03020,#a82018);border:2.5px solid var(--gold);position:relative;box-shadow:0 0 0 1px #6a4028,1px 1px 0 1px #0000004d}.map-node.route .map-node-dot{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 38% 38%,#5cb85c,#3a8f3a,#2d7a2d);border:2px solid var(--text-dim);position:relative;box-shadow:0 0 0 .5px #1a4a1a,1px 1px 0 .5px #00000040}.map-node.route.complete .map-node-dot{background:radial-gradient(circle at 38% 38%,#8ff0e0,#26b6a4,#138070);border-color:#d8f8f0;box-shadow:0 0 0 .5px #0a4a40,0 0 6px 2px #4ae0cc73,1px 1px 0 .5px #00000040}.map-node.zone .map-node-dot{width:24px;height:24px;border-radius:5px;transform:rotate(45deg);background:radial-gradient(circle at 38% 38%,#8fd0ff,#3a78c8,#264f8f);border:2.5px solid var(--gold-bright);position:relative;box-shadow:0 0 0 1px #20406a,0 0 6px 2px #4a90e280,1px 1px 0 1px #0000004d}.map-node.zone .map-node-dot:after{content:"";position:absolute;inset:6px;border-radius:2px;background:var(--gold-bright);box-shadow:0 0 4px 1px #f0d870aa}.map-node.current.town .map-node-dot{background:radial-gradient(circle at 38% 38%,#ff7860,#e84038,#c82820);border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold-dark),0 0 8px 3px #f0c85080,1px 1px 0 2px #00000040}.map-node.current.route .map-node-dot{background:radial-gradient(circle at 38% 38%,#6dd06d,#45a845,#339433);border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold-dark),0 0 8px 3px #f0c85080,1px 1px 0 2px #00000040}.map-node-blink{position:absolute;inset:-5px;border:2.5px solid var(--gold-bright);border-radius:inherit;animation:mapBlink .8s step-end infinite;pointer-events:none}@keyframes mapBlink{0%,to{opacity:1}50%{opacity:0}}.map-node.swarm .map-node-dot{box-shadow:0 0 0 2px var(--gold-bright),0 0 8px 3px #f0c85088}.map-node-swarm{position:absolute;top:-13px;right:-13px;font-size:13px;line-height:1;filter:drop-shadow(0 0 3px var(--gold-bright)) drop-shadow(0 0 6px #f0c85088);animation:swarmBob 1.2s ease-in-out infinite;pointer-events:none}.map-node-pois{position:absolute;top:-11px;left:-11px;display:flex;flex-wrap:wrap;gap:2px;pointer-events:none}.map-node-poi{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#2f6fbb;color:#fff;font-size:11px;font-weight:700;line-height:1;border:1.5px solid var(--gold-bright);box-shadow:0 0 4px 1px #4a90e280;pointer-events:none}.map-node-poi.service{background:#9a5a1a}@keyframes swarmBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.map-node.clickable{cursor:pointer}.map-node.clickable:hover .map-node-dot{border-color:var(--gold-bright);box-shadow:0 0 0 1px var(--gold-dark),0 0 6px 2px #f0c85073,1px 1px 0 1px #00000040}.map-node.locked .map-node-dot{background:#a08c644d;border-color:#8c785040;box-shadow:none}.map-node-label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2px;font-size:7px;color:var(--ink-warm);font-weight:700;white-space:nowrap;letter-spacing:.2px;text-shadow:.5px 0 0 rgba(200,180,140,.6),-.5px 0 0 rgba(200,180,140,.6),0 .5px 0 rgba(200,180,140,.6),0 -.5px 0 rgba(200,180,140,.6);pointer-events:none}.map-node-label{background:#d2c39bd9;padding:1px 3px;border-radius:2px;z-index:10}.map-node.label-above .map-node-label{top:auto;bottom:100%;margin-top:0;margin-bottom:2px}.map-node.zone .map-node-label{color:#12335c;background:#cfe4fbee}.map-node-zone-count{position:absolute;top:-5px;right:-10px;min-width:13px;height:13px;padding:0 2px;display:flex;align-items:center;justify-content:center;font-family:var(--font-pixel);font-size:8px;line-height:1;color:#102040;background:var(--gold-bright);border:1.5px solid var(--gold-dark);border-radius:7px;box-shadow:0 1px 2px #0006;z-index:6;pointer-events:none}.map-node.locked .map-node-label{color:#7864464d;text-shadow:none;background:none}.map-focus-bar{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bg-deep);border-bottom:2px solid var(--ink-warm)}.map-focus-back{font:inherit;font-family:var(--font-pixel);font-size:8px;padding:3px 8px;color:var(--gold-bright);background:#00000040;border:2px solid var(--line);cursor:pointer}.map-focus-back:hover{color:#fff;border-color:var(--gold-bright)}.map-focus-title{font-family:var(--font-pixel);font-size:9px;color:var(--parchment)}.map-focus-hint{margin-left:auto;font-family:var(--font-pixel);font-size:7px;color:#c8a848c0}.map-node.raid .map-node-dot{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 38% 38%,var(--gold-bright),#b060d0,#7030a0);border:2.5px solid var(--gold-bright);position:relative;box-shadow:0 0 0 1px #4a2070,0 0 8px 3px #b464dc80,1px 1px 0 1px #0000004d;animation:raidPulse 2s ease-in-out infinite}@keyframes raidPulse{0%,to{box-shadow:0 0 0 1px #4a2070,0 0 8px 3px #b464dc80,1px 1px 0 1px #0000004d}50%{box-shadow:0 0 0 1px #4a2070,0 0 14px 5px #dca0ffb3,1px 1px 0 1px #0000004d}}.map-node.raid.current .map-node-dot{border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold-dark),0 0 10px 4px #f0c85099,1px 1px 0 2px #00000040;animation:none}.map-node.raid.cooldown .map-node-dot{background:radial-gradient(circle at 38% 38%,#a0a0a0,#707070,#505050);border-color:#888;box-shadow:none;animation:none;opacity:.6}.raid-cooldown-timer{font-size:8px;color:var(--gold);font-weight:700;white-space:nowrap;background:#1e140ad9;padding:1px 3px;border-radius:2px;pointer-events:none;z-index:10}.town-map-canvas{background:radial-gradient(ellipse 125% 95% at 50% 38%,var(--map-ocean, #2f6fae) 0%,var(--map-ocean-deep, #1b4a80) 74%,#0e2f52 100%)}.map-region-watermark{position:absolute;top:8px;right:10px;z-index:4;font-family:var(--font-pixel);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--map-accent-bright, #f5c542);padding:2px 6px 3px;border-bottom:2px solid var(--map-accent, #d8453a);text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none;opacity:.72}.map-node-dot{position:relative;pointer-events:auto;transition:box-shadow .14s ease,border-color .14s ease,filter .14s ease}.map-node.town .map-node-dot{width:18px;height:15px;margin-top:7px;border-radius:2px 2px 3px 3px;background:linear-gradient(180deg,#f3dcaa,#cf9f56 68%,#a8763c);border:2px solid #6a4522;box-shadow:0 1px 0 1px #00000059,inset 0 1px #ffffff8c}.map-node.town .map-node-dot:before{content:"";position:absolute;left:50%;bottom:100%;transform:translate(-50%);margin-bottom:-1px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:9px solid #b63024;filter:drop-shadow(0 -1px 0 #6a1810)}.map-node.town .map-node-dot:after{content:"";position:absolute;left:50%;bottom:1px;transform:translate(-50%);width:4px;height:6px;background:#5a3a1a;border-radius:1px 1px 0 0}.map-node.route .map-node-dot{width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#9be88f,#46a04a 62%,#2c7a34);border:2px solid #e9f2d2;box-shadow:0 0 0 1px #1c4a1e,1px 1px 0 1px #00000059}.map-node.route .map-node-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#ffffff57}.map-node.route.complete .map-node-dot{background:radial-gradient(circle at 38% 32%,#b8fbef,#26b6a4 62%,#138070);border-color:#e6fffb;box-shadow:0 0 0 1px #0a4a40,0 0 7px 2px #4ae0cc8c}.map-node.zone .map-node-dot{width:24px;height:24px;border-radius:4px;transform:rotate(45deg);background:linear-gradient(135deg,#a8ddff,#3f86d0 60%,#2a5a9a);border:2.5px solid var(--map-accent-bright, var(--gold-bright));box-shadow:0 0 0 1px #1c3a66,0 0 9px 2px #5a96e699}.map-node.zone .map-node-dot:after{content:"";position:absolute;inset:6px;border-radius:2px;background:var(--map-accent-bright, var(--gold-bright));box-shadow:0 0 4px 1px #f0d870b3}.map-node.league .map-node-dot{width:24px;height:24px;margin-top:0;border-radius:50% 50% 7px 7px/46% 46% 16px 16px;background:linear-gradient(180deg,#fff4c8,var(--gold) 58%,var(--gold-dark));border:2.5px solid #6a4a12;box-shadow:0 0 0 1px #4a3208,0 0 10px 3px #f0c8509e,inset 0 1px #ffffffbf}.map-node.league .map-node-dot:before{content:"";position:absolute;inset:4px 3px;border:none;background:var(--gold-dark);clip-path:polygon(0 100%,0 32%,26% 58%,50% 0,74% 58%,100% 32%,100% 100%);filter:none}.map-node.league .map-node-dot:after{content:"";position:absolute;left:50%;bottom:2px;transform:translate(-50%);width:5px;height:4px;background:#f8e090;border-radius:1px}.map-node.hideout .map-node-dot{width:22px;height:22px;border:none;border-radius:0;background:linear-gradient(180deg,#5a1616,#2a0808 70%,#180404);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);filter:drop-shadow(0 0 4px rgba(220,50,40,.75));box-shadow:none}.map-node.hideout .map-node-dot:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9px;height:2px;border-radius:1px;background:#ff4d3a;box-shadow:0 0 4px 1px #ff503ce6}.map-node.facility .map-node-dot{width:18px;height:18px;border-radius:4px;background:linear-gradient(180deg,#d6ecf8,#6fa0c0 68%,#3d6a8a);border:2px solid #2c4a66;box-shadow:0 1px 0 1px #0000004d,inset 0 1px #fff9}.map-node.facility .map-node-dot:after{content:"";position:absolute;inset:4px;border-radius:50%;border:2px solid #2c4a66}.map-node.raid .map-node-dot{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 38% 30%,#7a4fb0,#3d1f66 68%,#241040);border:2.5px solid var(--map-accent-bright, var(--gold-bright));box-shadow:0 0 0 1px #2a1248,0 0 13px 4px #b46ee6b3;animation:raidPulse 2s ease-in-out infinite}.map-node.raid .map-node-dot:after{content:"";position:absolute;inset:5px;background:linear-gradient(180deg,#ffe680,#f0b020);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 3px rgba(255,220,120,.9))}.map-node-gym{position:absolute;top:-9px;right:-10px;width:11px;height:11px;border-radius:50%;background:var(--badge-color, var(--gold-bright));border:1.5px solid #4a3008;box-shadow:0 0 4px 1px #00000073,inset 0 1px #fff9;z-index:6;pointer-events:none}.map-node.current .map-node-dot{border-color:var(--gold-bright);filter:drop-shadow(0 0 5px rgba(248,224,96,.95))}.map-node.current.town .map-node-dot{background:linear-gradient(180deg,#ffe9bc,#e0aa5a 70%,#b4803f)}.map-node.current.route .map-node-dot{background:radial-gradient(circle at 38% 32%,#b6ffa8,#52b855 62%,#378a3e)}.map-node.current.league .map-node-dot,.map-node.current.raid .map-node-dot,.map-node.current.zone .map-node-dot,.map-node.current.facility .map-node-dot,.map-node.current.hideout .map-node-dot{filter:drop-shadow(0 0 6px rgba(248,224,96,.95))}.map-node-blink{clip-path:inherit}.map-node.raid.cooldown .map-node-dot{filter:none}.map-node.locked .map-node-dot{filter:grayscale(.75) opacity(.55)}.map-legend-swatch.legend-gym{border-radius:50%;background:radial-gradient(circle at 38% 38%,#ffe0a0,#d09030,#8a5a10);border:1px solid #4a3008}.map-legend-swatch.legend-league{border-radius:50% 50% 30% 30%;background:radial-gradient(circle at 40% 34%,#fff4c8,var(--gold),var(--gold-dark))}.map-legend-swatch.legend-hideout{background:linear-gradient(180deg,#5a1616,#2a0808);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.map-legend-swatch.legend-facility{border-radius:2px;background:radial-gradient(circle at 40% 34%,#d6ecf8,#6fa0c0,#3d6a8a)}.raid-location-panel{text-align:center}.raid-legendary-info{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px 0}.raid-legendary-sprite{width:96px;height:96px;image-rendering:pixelated}.raid-legendary-name{font-size:14px;font-weight:700;color:var(--gold-bright);text-transform:capitalize}.raid-leave-btn{margin-top:8px;padding:6px 16px;background:linear-gradient(180deg,#a03030,#802020);color:var(--gold-bright);border:2px solid var(--gold);border-radius:4px;cursor:pointer;font-weight:700;font-size:12px}.raid-leave-btn:hover{background:linear-gradient(180deg,#c04040,#a03030)}.location-info{display:flex;flex-direction:column;gap:10px;width:100%;padding:4px}.location-header{display:flex;align-items:center;gap:8px}.location-type-icon{font-size:20px}.location-name{font-size:11px;font-weight:700;color:var(--gold-bright)}.location-type-label{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.location-description{font-size:9px;color:var(--text-dim);line-height:1.4}.location-services{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.location-services-label{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.location-service-tag{padding:2px 6px;font-size:9px;color:var(--ink-strong);background:var(--gold);border:1px solid var(--gold-dark);border-radius:999px}.location-status{padding:4px 8px;background:#0003;border:2px solid var(--line)}.location-status-label{font-size:9px;color:var(--text-muted);font-style:italic}.location-minigames{display:flex;flex-direction:column;gap:6px}.location-minigame-card{padding:6px 8px 8px;background:#0003;border:2px solid var(--line)}.location-minigame-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}.location-minigame-head-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.location-minigame-assign{padding:2px 6px;font:inherit;font-size:8px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--gold);background:#0a0e0a99;border:1px solid var(--surface-mid);border-radius:3px;cursor:pointer;white-space:nowrap}.location-minigame-assign:hover:not(:disabled){border-color:var(--gold);color:var(--gold-bright)}.location-minigame-assign:disabled{opacity:.5;cursor:not-allowed}.location-minigame-icon{font-size:12px;line-height:1}.location-minigame-title{font-size:10px;font-weight:700;color:var(--gold)}.location-minigame-hint{margin:0 0 6px;font-size:9px;line-height:1.45;color:var(--text-soft)}.location-minigame-card .location-minigame-hint{margin-bottom:4px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-minigame-types{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}.location-minigame-types .type-badge{font-size:8px;padding:1px 4px}.location-minigame-condition{margin-bottom:5px;font-size:8px;letter-spacing:.3px;text-transform:uppercase;color:#8a9bb0}.location-minigame-condition.active{color:var(--gold)}.job-controls{display:flex;flex-direction:column;gap:4px;margin:-2px 0 8px;padding:6px 8px;background:#0a0e0a66;border:1px dashed #6b5a34;border-radius:4px}.job-hint{font-size:8px;line-height:1.4;color:var(--text-soft)}.job-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.job-worker{font-size:9px;color:#8fd0ff}.job-btn{font-family:inherit;font-size:8px;letter-spacing:.3px;text-transform:uppercase;padding:3px 6px;color:var(--parchment);background:linear-gradient(180deg,var(--surface-deep),var(--bg-deep));border:1px solid var(--text-dim);border-radius:3px;cursor:pointer;white-space:nowrap}.job-btn:hover:not(:disabled){filter:brightness(1.15)}.job-btn:disabled{opacity:.5;cursor:default}.job-btn.assign,.job-btn.collect,.job-btn.fight{border-color:var(--gold);color:var(--gold)}.job-progress{position:relative;height:6px;overflow:hidden;background:#0a0e0ab3;border:1px solid #6b5a34;border-radius:3px}.job-progress-fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#6ab04c,#54e0ff)}.job-ready{display:flex;flex-direction:column;gap:4px}.job-ready-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.job-ready-items{font-size:8px;line-height:1.4;color:var(--text-soft)}.job-encounters{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.job-encounters-label{font-size:8px;color:var(--text-dim)}.job-encounter{display:flex;align-items:center;gap:3px}.job-encounter-sprite{width:22px;height:22px;image-rendering:pixelated}.job-rate{font-size:8px;color:#8fa3b8}.location-jobs-btn{flex:0 0 auto;align-self:center;margin:0;font-family:inherit;font-size:9px;letter-spacing:.3px;padding:4px 8px;white-space:nowrap;color:#8fd0ff;background:#0a0e0a80;border:1px solid #4a6a8a;border-radius:4px;cursor:pointer}.location-jobs-btn:hover{filter:brightness(1.15)}.modal-overlay.field-jobs-overlay{z-index:60}.modal.field-jobs-modal{box-sizing:border-box;width:520px;max-width:92vw;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:14px 16px}.field-jobs-empty{margin:0;font-size:10px;line-height:1.5;color:var(--text-soft)}.field-jobs-list{display:flex;flex-direction:column;gap:8px}.field-job{display:flex;flex-direction:column;gap:4px}.field-job-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-job-name{font-size:10px;color:var(--parchment)}.field-job-location{font-size:9px;color:var(--text-dim)}.field-job-worker{font-size:9px;color:#8fd0ff}.field-job-idle{font-size:9px;color:var(--text-soft)}.field-job-ready{display:flex;flex-direction:column;gap:4px}.field-jobs-collect-all{align-self:flex-end}.research-panel{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;background:#1c2014;border:1px solid #4a6a8a;border-radius:6px}.research-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.research-title{font-size:10px;color:#8fd0ff}.research-level{font-size:9px;color:var(--gold)}.research-level.complete{color:#8fdc6a}.research-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.research-task{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:var(--text-soft)}.research-task.done{color:#8fdc6a}.research-task-progress{color:var(--text-soft)}.research-task.done .research-task-progress{color:#8fdc6a}.research-reward{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:9px;color:#b8a583}.research-reward-label{color:#b8a583}.research-reward-item{display:inline-flex;align-items:center;gap:3px;color:#d9c8a6}.research-shop-list{display:flex;flex-direction:column;gap:6px}.research-shop-row{display:flex;align-items:center;gap:8px}.research-shop-name{flex:1;font-size:10px;color:var(--parchment)}.research-shop-owned{font-size:8px;color:var(--text-soft)}.research-shop-cost{min-width:48px;text-align:right;font-size:10px;color:var(--gold)}.research-shop-cost.short{color:#e88a8a}.location-minigame-start{width:100%;padding:6px 8px;font:inherit;font-size:9px;font-weight:700;color:var(--on-accent);background:var(--gold);border:2px solid var(--gold-dark);cursor:pointer}.location-minigame-start:hover:not(:disabled){background:var(--gold-bright)}.location-minigame-start:disabled{opacity:.5;cursor:not-allowed}.location-minigame-help{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;font:inherit;font-size:9px;font-weight:700;line-height:1;color:var(--gold);background:none;border:1px solid var(--surface-mid);border-radius:50%;cursor:pointer}.location-minigame-help:hover,.location-minigame-help.active{border-color:var(--gold);color:var(--gold-bright)}.location-minigame-steps{margin:0 0 6px;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:9px;line-height:1.45;color:var(--text-soft)}.minigame-tutorial-overlay{position:fixed;inset:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0600cc}.minigame-tutorial{width:min(430px,92vw);max-height:86vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px 16px;color:var(--ink);background:linear-gradient(180deg,var(--parchment) 0% 50%,var(--parchment-dark) 50% 100%);border:4px solid var(--line-warm);box-shadow:inset 2px 2px #ffffff40,inset -2px -2px #0000001f,0 0 0 2px var(--ink-warm)}.minigame-tutorial-head{display:flex;align-items:center;gap:8px}.minigame-tutorial-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;font-size:11px;font-weight:700;color:var(--ink-strong);background:var(--gold);border:2px solid var(--gold-dark)}.minigame-tutorial-heading{display:flex;flex-direction:column;gap:2px}.minigame-tutorial-kicker{font-size:7px;letter-spacing:1px;color:var(--gold-dark)}.minigame-tutorial-title{font-size:11px;font-weight:700}.minigame-tutorial-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:10px;line-height:1.6}.minigame-tutorial-close{align-self:flex-end;font-family:var(--font-pixel);font-size:10px;font-weight:700;padding:6px 16px;color:var(--ink-strong);background:var(--gold);border:2px solid var(--gold-dark);cursor:pointer}.minigame-tutorial-close:hover{background:var(--gold-bright)}.zone-area-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.zone-area-btn{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;box-sizing:border-box;padding:4px 8px;font:inherit;font-size:9px;color:var(--parchment);background:#00000026;border:2px solid var(--line);cursor:pointer}.zone-area-req{font-size:7px;color:#c8a848c0;text-align:left}.zone-area-btn.active{color:var(--gold);border-color:var(--gold)}.zone-area-btn:hover{border-color:var(--gold)}.zone-area-btn.locked{opacity:.7;cursor:default}.zone-area-btn.locked:hover{border-color:var(--line)}.zone-area{display:flex;flex-direction:column}.zone-area-toggle{align-self:flex-start;margin:2px 0 0;padding:2px 6px;font:inherit;font-size:8px;color:var(--parchment);background:none;border:none;cursor:pointer;opacity:.85}.zone-area-toggle:hover,.zone-area-toggle.open{color:var(--gold);opacity:1}.zone-area-grid{padding:4px 6px 6px;background:#0000001a;border:2px solid var(--line);border-top:none}.zone-area-grid .pokedex-grid-container{margin:0}.zone-area-grid .pokedex-grid-header{margin-bottom:4px}.zone-back-btn{align-self:flex-start;margin:4px 0 6px;padding:3px 8px;font:inherit;font-size:9px;color:var(--parchment);background:#00000026;border:2px solid var(--line);cursor:pointer}.zone-back-btn:hover{color:var(--gold);border-color:var(--gold)}.location-next-unlock{display:flex;flex-direction:column;gap:3px;padding:6px 8px;background:#00000026;border:2px solid var(--line)}.location-unlock-entry+.location-unlock-entry{margin-top:6px;padding-top:6px;border-top:1px solid #48382866}.location-unlock-name{font-size:9px;color:var(--parchment);font-weight:700;margin-bottom:2px}.location-unlock-checklist{display:flex;flex-direction:column;gap:2px}.location-unlock-check{display:flex;flex-direction:column;gap:1px;font-size:8px;color:var(--gold)}.location-unlock-check-row{display:flex;align-items:center;gap:4px}.location-unlock-check-detail{margin-left:14px;font-size:7px;color:var(--parchment);opacity:.75;line-height:1.3}.location-unlock-check.met{color:#6a8;opacity:.7}.location-unlock-check-icon{font-size:9px;width:10px;text-align:center}.location-unlock-check-label{font-size:8px}.location-unlock-entry.clickable,.location-unlock-check.clickable{cursor:pointer}.location-unlock-entry.clickable:hover{background:#ffffff14}.location-unlock-entry.clickable:hover .location-unlock-name,.location-unlock-check.clickable:hover .location-unlock-check-label{color:var(--parchment);text-decoration:underline}.location-unlock-blocked{display:flex;flex-direction:column;gap:3px;margin-top:6px;padding-top:6px;border-top:1px solid #48382866}.location-unlock-blocked-toggle{align-self:flex-start;padding:2px 0;font:inherit;font-size:8px;color:var(--parchment);background:none;border:none;cursor:pointer;opacity:.75}.location-unlock-blocked-toggle:hover{color:var(--gold);opacity:1}.location-unlock-entry.blocked .location-unlock-name{opacity:.85}.location-unlock-check.blocked{color:#b08a6a}.location-panel-scroll{width:100%;min-width:0;align-self:flex-start;overflow-x:hidden}.panel-content:has(.location-panel-scroll){align-items:flex-start;justify-content:flex-start}.rarity-text-common{color:var(--text-dim)}.rarity-text-uncommon{color:#2f6a22}.rarity-text-rare{color:#6a4f08}.rarity-text-very_rare{color:#a02848}.rarity-text-ultra_rare{color:#5a1a6a}.catch-toggle{font-size:7px;font-weight:700;padding:2px 5px;border:1px solid var(--line);background:var(--surface-deep);color:var(--text-muted);cursor:pointer;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.catch-toggle:hover{background:#685848}.catch-toggle.active{background:#2a6a2a;color:#a0e0a0;border-color:#3a8a3a}.catch-toggle.active:hover{background:#3a7a3a}.catch-mode-option{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:7px;color:var(--parchment);cursor:pointer;padding:1px 0}.catch-mode-hint{width:100%;padding-left:12px;font-size:7px;line-height:1.4;color:var(--gold);opacity:.8}.catch-mode-option input[type=radio]{accent-color:var(--gold);width:8px;height:8px;margin:0}.encounter-bulk-btn{font-size:7px;padding:1px 6px;background:#0003;border:1px solid var(--line);color:var(--text-muted);cursor:pointer}.encounter-bulk-btn:hover{background:#ffffff0d;color:var(--parchment)}.evolution-scene,.masterball-scene{position:relative;width:560px;height:480px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.masterball-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 45%,#2a1a4a,#12081f 60%,#050208)}.masterball-stage{position:relative;z-index:10;width:200px;height:200px;display:flex;align-items:center;justify-content:center}.masterball-ball{filter:drop-shadow(0 0 10px #a060ff88)}.step-throw .masterball-ball{animation:masterballThrow .65s ease-out forwards}.step-wobble .masterball-ball{animation:masterballWobble 1.35s ease-in-out}.step-click .masterball-ball{animation:masterballClick .4s ease-out forwards}.masterball-flash{position:absolute;inset:0;z-index:15;pointer-events:none;background:radial-gradient(circle at 50% 45%,#fff 0%,#d8b0ff 25%,transparent 60%);animation:masterballFlash .5s ease-out forwards}.masterball-burst{position:absolute;inset:0;z-index:12;pointer-events:none}.masterball-spark{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px 0 0 -5px;background:#ffe680;box-shadow:0 0 8px #ffd040}.spark-0{--spark-angle: 0deg }.spark-1{--spark-angle: 45deg }.spark-2{--spark-angle: 90deg }.spark-3{--spark-angle: 135deg }.spark-4{--spark-angle: 180deg }.spark-5{--spark-angle: 225deg }.spark-6{--spark-angle: 270deg }.spark-7{--spark-angle: 315deg }@keyframes masterballThrow{0%{transform:translate(-260px,200px) rotate(-540deg) scale(.6);opacity:0}20%{opacity:1}to{transform:translate(0) rotate(0) scale(1);opacity:1}}@keyframes masterballWobble{0%,to{transform:rotate(0)}15%{transform:rotate(-18deg)}35%{transform:rotate(14deg)}55%{transform:rotate(-10deg)}75%{transform:rotate(6deg)}}@keyframes masterballClick{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes masterballFlash{0%{opacity:.9}to{opacity:0}}@keyframes masterballSpark{0%{opacity:1;transform:rotate(var(--spark-angle)) translateY(-20px) scale(.6)}to{opacity:0;transform:rotate(var(--spark-angle)) translateY(-90px) scale(1.2)}}.masterball-text{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:20;background:var(--parchment-texture);background-size:64px 64px;background-color:var(--parchment-dark);padding:10px 24px;border:4px solid var(--line-warm);box-shadow:inset 2px 2px #ffdca04d,inset -2px -2px #00000026,0 0 0 2px var(--ink-warm);white-space:nowrap}.masterball-text p{font-size:12px;color:var(--ink-strong);margin:0}.game-over-overlay{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000d9;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(200,48,40,.04) 3px,rgba(200,48,40,.04) 4px)}.game-over-card{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 20px;text-align:center;background:linear-gradient(180deg,var(--bg-panel),var(--bg-dark));border:3px solid #b83028;box-shadow:0 0 0 3px var(--bg-dark),0 0 0 5px var(--surface-raised),0 12px 40px #000c}.game-over-title{font-size:26px;letter-spacing:2px;color:#e85040;text-shadow:2px 0 0 #5a1008,-2px 0 0 #5a1008,0 2px 0 #5a1008,0 -2px 0 #5a1008}.game-over-message{font-size:10px;line-height:1.6;color:var(--parchment)}.game-over-summary{display:flex;flex-direction:column;gap:4px;width:100%;padding:10px;font-size:10px;color:var(--text-muted);background:#00000040;border:1px solid var(--line)}.game-over-new-btn{font:inherit;font-size:11px;font-weight:700;padding:10px 18px;color:var(--on-accent);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border:2px solid var(--gold-dark);cursor:pointer}.game-over-new-btn:hover{background:var(--gold-bright)}.game-over-hint{font-size:8px;color:var(--text-muted)}.dex-complete-scene{position:relative;width:560px;height:480px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.dex-complete-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 55% at 50% 42%,var(--gold-dark),#1a1408 60%,#050402)}.dex-complete-sparks{position:absolute;inset:0;pointer-events:none}.dex-spark{position:absolute;top:42%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;background:#ffe680;box-shadow:0 0 8px #ffd040;opacity:0;animation:dexSpark 1.6s ease-out infinite}.dex-spark-0{--dex-angle: 0deg }.dex-spark-1{--dex-angle: 45deg }.dex-spark-2{--dex-angle: 90deg }.dex-spark-3{--dex-angle: 135deg }.dex-spark-4{--dex-angle: 180deg }.dex-spark-5{--dex-angle: 225deg }.dex-spark-6{--dex-angle: 270deg }.dex-spark-7{--dex-angle: 315deg }@keyframes dexSpark{0%{opacity:0;transform:rotate(var(--dex-angle)) translateY(0) scale(.4)}25%{opacity:1}to{opacity:0;transform:rotate(var(--dex-angle)) translateY(-170px) scale(1.1)}}.dex-complete-badge{position:relative;z-index:10;width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%,#fff6c0,var(--gold-bright) 55%,#a87818);border:4px solid var(--line-warm);border-radius:50%;box-shadow:0 0 0 4px var(--gold-line),0 0 30px #ffd040aa;animation:dexBadgePop .8s cubic-bezier(.2,1.6,.4,1) both}.dex-complete-badge-icon{font-size:44px;line-height:1}@keyframes dexBadgePop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.15) rotate(6deg);opacity:1}to{transform:scale(1) rotate(0)}}.dex-complete-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.dex-complete-kicker{font-size:10px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:2px}.dex-complete-region{font-size:22px;font-weight:700;color:#fff6d0;text-shadow:0 0 12px #ffd040aa,2px 2px 0 var(--ink-warm)}.dex-complete-title{font-size:11px;font-weight:700;color:#f0e6c0;margin-top:4px}.dex-complete-sub{font-size:10px;color:var(--gold-bright)}.dex-complete-reward{margin-top:6px;font-size:10px;color:var(--bg-dark);background:var(--gold-bright);border:2px solid var(--gold-dark);padding:4px 10px}.evolution-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 45%,#1a1a3a,#0a0a1a 60%,#000008)}.evolution-sprite-container{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;width:160px;height:160px}.evolution-sprite-container img{width:140px;height:140px;image-rendering:pixelated}.evo-sprite{position:relative;z-index:1}.evo-flash{animation:evoFlash 2.5s steps(2) forwards}.evo-burst{animation:evoBurst 1s steps(4) forwards}.evo-glow{animation:evoGlow 2s ease-in-out infinite}@keyframes evoFlash{0%{filter:brightness(1)}10%{filter:brightness(2)}20%{filter:brightness(1)}30%{filter:brightness(2.5)}40%{filter:brightness(1)}50%{filter:brightness(3)}60%{filter:brightness(1)}70%{filter:brightness(3.5)}80%{filter:brightness(1.5)}90%{filter:brightness(4)}to{filter:brightness(5)}}@keyframes evoBurst{0%{filter:brightness(6);transform:scale(1.3)}25%{filter:brightness(4);transform:scale(1.2)}50%{filter:brightness(2);transform:scale(1.1)}to{filter:brightness(1);transform:scale(1)}}@keyframes evoGlow{0%,to{filter:brightness(1) drop-shadow(0 0 8px rgba(200,200,255,.4))}50%{filter:brightness(1.2) drop-shadow(0 0 16px rgba(200,200,255,.7))}}.evolution-text{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:20;background:var(--parchment-texture);background-size:64px 64px;background-color:var(--parchment-dark);padding:10px 24px;border:4px solid var(--line-warm);box-shadow:inset 2px 2px #ffdca04d,inset -2px -2px #00000026,0 0 0 2px var(--ink-warm);white-space:nowrap}.evolution-text p{font-size:12px;color:var(--ink-strong);margin:0}.stats-panel-evolve-row{position:absolute;right:6px;top:36px;display:flex;gap:4px;z-index:1}.stats-panel-evolve-btn{font-size:9px;padding:2px 10px;background:#2f7f3a;color:#fff;border:2px solid #1e5a28;border-radius:0;cursor:pointer;font-weight:700;letter-spacing:.5px;box-shadow:1px 1px #0000004d,inset 1px 1px #fff3;animation:evolvePulse 1.5s ease-in-out infinite;text-shadow:0 1px 0 #00000073;z-index:1}.stats-panel-evolve-btn:hover:not(.disabled){background:#3f9a4a}.stats-panel-evolve-btn.form{background:#2f5f97;border-color:#1f4268}.stats-panel-evolve-btn.form:hover:not(.disabled){background:#3f74b0}.stats-panel-evolve-btn.disabled{opacity:1;cursor:not-allowed;background-color:#6b6455;border-color:#453f33;color:#f0e8d4;text-shadow:none;animation:none}.evolve-btn-label{display:block;font-weight:700;line-height:1}.evolve-btn-req{display:block;font-size:.75em;opacity:.92;line-height:1}@keyframes evolvePulse{0%,to{box-shadow:1px 1px #0000004d,inset 1px 1px #fff3,0 0 4px #40a0404d}50%{box-shadow:1px 1px #0000004d,inset 1px 1px #fff3,0 0 12px #40a04099}}.heal-scene{position:relative;width:560px;height:480px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000}.heal-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.heal-flash-overlay{position:absolute;inset:0;z-index:5;pointer-events:none;animation:healFlash .8s ease-in-out infinite}.heal-done-flash{position:absolute;inset:0;z-index:5;pointer-events:none;animation:healDoneFlash .6s ease-out forwards}.heal-text{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:20;background:var(--parchment-texture);background-size:64px 64px;background-color:var(--parchment-dark);padding:10px 24px;border:4px solid var(--line-warm);box-shadow:inset 2px 2px #ffdca04d,inset -2px -2px #00000026,0 0 0 2px var(--ink-warm);white-space:nowrap}.heal-text p{font-size:12px;color:var(--ink-strong);margin:0}@keyframes healFlash{0%,to{background:#fff0}50%{background:#ffffff40}}@keyframes healDoneFlash{0%{background:#fff9}to{background:#fff0}}.heal-btn{font-size:8px;padding:2px 8px;background:linear-gradient(180deg,#267a2b,#1c5a20);color:#fff;border:2px solid #14521a;border-radius:0;cursor:pointer;font-weight:700;letter-spacing:.5px;box-shadow:1px 1px #0000004d,inset 1px 1px #fff3}.heal-btn:hover:not(.disabled){background:linear-gradient(180deg,#2f8f34,#267a2b)}.heal-btn.disabled{background:#4a4a4a;border-color:#333;color:#d0d0d0;cursor:not-allowed;box-shadow:none}.team-presets-btn{margin-left:auto;margin-right:6px;font-size:8px;padding:2px 6px;background:linear-gradient(180deg,#5a7ab0,#46618f);color:#fff;border:2px solid #2e3f5f;border-radius:0;cursor:pointer;font-weight:700;letter-spacing:.5px;box-shadow:1px 1px #0000004d,inset 1px 1px #fff3}.team-presets-btn:hover{background:linear-gradient(180deg,#6a8ac0,#5a7ab0)}.team-presets-modal{max-width:360px}.team-presets-empty{font-size:10px;color:var(--surface-mid);margin:8px 0}.team-presets-list{display:flex;flex-direction:column;gap:5px;margin:8px 0}.team-presets-row{display:flex;align-items:center;gap:6px;background:#00000012;padding:4px 6px;border-radius:3px}.team-presets-name{flex:1;min-width:0;font-size:9px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-presets-count{font-size:8px;color:var(--gold-dark)}.team-presets-apply{font-family:inherit;font-size:8px;font-weight:700;padding:3px 8px;background:var(--gold-dark);color:var(--parchment);border:2px solid var(--gold);cursor:pointer}.team-presets-apply:disabled{opacity:.5;cursor:not-allowed}.team-presets-delete{font-family:inherit;font-size:8px;font-weight:700;padding:3px 6px;background:transparent;color:#8a3a1a;border:1px solid #8a3a1a;cursor:pointer}.team-presets-save{font-family:inherit;width:100%;font-size:10px;font-weight:700;padding:8px;margin-top:6px;background:var(--gold-dark);color:var(--parchment);border:2px solid var(--gold);cursor:pointer}.team-presets-save:disabled{opacity:.5;cursor:not-allowed}.shop-panel{display:flex;flex-direction:column;gap:4px;padding:6px 0}.shop-header{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;background:#0003;border:2px solid var(--line)}.shop-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.shop-name{font-size:9px;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-toggle{display:flex;align-items:center;gap:5px;min-width:0;flex:1;padding:0;font-family:inherit;color:inherit;background:none;border:none;cursor:pointer}.shop-toggle-arrow{font-size:9px;color:var(--gold);transition:transform .15s ease}.shop-header.collapsed .shop-toggle-arrow{color:var(--text-muted)}.shop-toggle:hover .shop-name{color:#ffe9a8}.shop-qty-selector{display:flex;gap:2px}.shop-empty{font-size:9px;color:#c8a84866;text-align:center;padding:12px 0;font-style:italic}.shop-items{display:flex;flex-direction:column;gap:3px}.shop-item-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#00000026;border:1px solid var(--line)}.shop-item-info{display:flex;flex-direction:column;flex:1;min-width:0}.shop-item-name{font-size:9px;color:var(--parchment);font-weight:700}.shop-item-desc{font-size:7px;color:var(--text-muted)}.shop-owned{font-size:9px;color:var(--text-muted);white-space:nowrap}.shop-buy-btn{font-size:8px;padding:3px 8px;background:var(--gold);color:var(--ink-strong);border:2px solid var(--gold-dark);border-radius:0;cursor:pointer;font-weight:700;white-space:nowrap;box-shadow:1px 1px #0000004d,inset 1px 1px #fff3}.shop-buy-btn:hover:not(.disabled){background:var(--gold-bright)}.shop-buy-btn.disabled{background:var(--surface-raised);color:var(--text-dim);border-color:var(--line);cursor:not-allowed;opacity:.7}.shop-sell-btn{font-size:8px;padding:3px 8px;background:#8a6a20;color:#ffe8a0;border:2px solid #b08a30;border-radius:0;cursor:pointer;font-weight:700;white-space:nowrap}.shop-sell-btn:hover:not(.disabled){background:#a07a28}.shop-sell-btn.disabled{background:var(--surface-raised);color:var(--text-dim);border-color:var(--line);cursor:not-allowed;opacity:.7}.market-panel{display:flex;flex-direction:column;gap:3px}.market-hint{font-size:8px;color:var(--text-muted);padding:2px 2px 4px;font-style:italic}.market-item-row{flex-wrap:wrap}.market-item-actions{display:flex;gap:4px;margin-left:auto;flex-shrink:0}.market-trend{font-weight:700}.market-trend.up{color:#7bd88f}.market-trend.down{color:#e07a7a}.market-trend.flat{color:var(--text-muted)}.trainer-name-display{position:absolute;top:44px;left:6px;z-index:25;font-size:10px;color:var(--parchment);background:#0009;padding:3px 10px;border:2px solid var(--line);font-weight:700;letter-spacing:.5px;pointer-events:none}.trainer-intro-anchor{position:absolute;right:25px;top:55px;z-index:15;width:150px;height:150px;display:flex;align-items:flex-end;justify-content:center}.trainer-intro-anchor.slide-in{animation:trainer-slide-in .4s ease-out both}.trainer-intro-anchor.slide-out{animation:trainer-slide-out .4s ease-in both}.trainer-intro-img{max-height:100%;max-width:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(2px 3px 3px rgba(0,0,0,.5));transform:scale(1.75);transform-origin:bottom center}@keyframes trainer-slide-in{0%{transform:translate(200px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes trainer-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(200px);opacity:0}}.pokemon-appear{animation:pokemon-pop-in .4s ease-out both}@keyframes pokemon-pop-in{0%{transform:scale(0);opacity:0}70%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.trainer-team-indicator{position:absolute;top:48px;right:180px;z-index:20;display:flex;gap:4px}.player-team-indicator{position:absolute;bottom:163px;left:185px;z-index:20;display:flex;gap:4px}.team-ball{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ff5050,#cc2020 70%);border:1.5px solid var(--line);box-shadow:inset 0 -2px #0003}.team-ball.fainted{background:var(--line);opacity:.5}.team-ball.active{border-color:var(--gold-bright);box-shadow:inset 0 -2px #0003,0 0 4px #f0c85080}.catch-ball-selector{display:flex;align-items:center;gap:4px;padding-top:3px;border-top:1px solid rgba(255,255,255,.08);margin-top:2px;flex-wrap:wrap}.catch-ball-label{font-size:7px;color:var(--gold);font-weight:700}.catch-ball-icon-btn{background:transparent;border:1px solid transparent;border-radius:3px;padding:1px;display:flex;align-items:center;justify-content:center;cursor:pointer}.catch-ball-icon-btn:hover{border-color:var(--gold)}.catch-ball-icon-btn.active{border-color:var(--gold);background:#f0c85026}.pokeball-disabled{opacity:.3}.pokedex-grid-container{width:100%;min-width:0}.pokedex-grid-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:4px;margin-bottom:4px}.pokedex-settings-btn{display:flex;align-items:center;gap:3px;background:#00000040;border:1px solid var(--line);color:var(--parchment);font-size:8px;cursor:pointer;padding:3px 6px;line-height:1}.pokedex-settings-btn:hover{color:var(--gold-bright);border-color:var(--gold);background:#00000059}.pokeball-icon{flex-shrink:0}.pokedex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:2px;width:100%}.pokedex-tile{display:flex;flex-direction:column;align-items:center;background:#0000004d;border:1px solid var(--line);border-bottom:3px solid var(--text-dim);cursor:pointer;padding:3px 1px 2px;gap:1px}.pokedex-tile:hover{background:#ffffff0d}.pokedex-tile.selected{border-color:var(--gold-bright);background:#c8a8281a}.rarity-border-common{border-bottom-color:var(--text-dim)}.rarity-border-uncommon{border-bottom-color:#60a040}.rarity-border-rare{border-bottom-color:var(--gold)}.rarity-border-very_rare{border-bottom-color:#d04870}.rarity-border-ultra_rare{border-bottom-color:#7b2d8e}.pokedex-tile-sprite{width:48px;height:48px;image-rendering:pixelated;object-fit:contain}.pokedex-tile-sprite.unseen{filter:brightness(0)}.pokedex-tile-sprite.seen{filter:grayscale(1) opacity(.5)}.pokedex-tile-name{font-size:7px;color:var(--parchment);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.pokedex-detail{margin-top:4px}.pokedex-detail .stats-panel-sprite.unseen{filter:brightness(0)}.pokedex-detail .stats-panel-sprite.seen{filter:grayscale(1) opacity(.5)}.type-unknown{background:#585858}.pokedex-detail-encounter-info{width:64px;text-align:center}.pokedex-detail-effects{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:2px 0}.effect-use-btn{padding:2px 6px;font-size:8px;font-family:inherit;border-radius:2px;cursor:pointer;border:1px solid;white-space:nowrap}.repel-btn{background:#2a3858;color:#90b8e8;border-color:#4a6898}.repel-btn:hover:not(.disabled){background:#3a4868}.repel-btn.active{background:#1a4878;border-color:#60a0e0;color:#a0d0ff}.honey-btn{background:#584828;color:var(--gold);border-color:#887830}.honey-btn:hover:not(.disabled){background:#685838}.honey-btn.active{background:#786018;border-color:#c8a020;color:#f0d860}.sweet-scent-btn{background:#4a3050;color:#e0a8e8;border-color:#7a5090}.sweet-scent-btn:hover:not(.disabled){background:#5a3a60}.sweet-scent-btn.active{background:#6a2878;border-color:#c060d0;color:#f0c0f8}.effect-use-btn.disabled{opacity:.35;cursor:default}.pokedex-detail-rarity{font-size:8px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.modal-overlay.catch-modal-overlay{position:absolute;inset:0;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 4px 4px}.modal.catch-modal{width:200px;margin:0 auto;transform:scale(1.5);transform-origin:top center}.catch-modal-route-settings{display:flex;flex-direction:column;gap:2px}.catch-modal-divider{height:1px;background:var(--text-dim)}.catch-modal-species-header{display:flex;align-items:center;justify-content:space-between}.catch-modal-bulk-btns{display:flex;gap:4px}.catch-modal-species-list{display:flex;flex-direction:column;gap:2px;max-height:312px;overflow-y:auto}.catch-modal-species-row{display:flex;align-items:center;gap:4px;padding:1px 2px;background:#0000000d;border:1px solid rgba(0,0,0,.1);cursor:pointer}.catch-modal-species-row:hover{background:#0000001a}.catch-modal-species-sprite{width:24px;height:24px;image-rendering:pixelated;object-fit:contain;flex-shrink:0}.catch-modal-species-name{font-size:8px;color:var(--ink);flex:1}.catch-modal-species-row .catch-toggle{font-size:7px}.catch-modal-route-settings .catch-mode-option{color:var(--ink)}.catch-modal-route-settings .catch-mode-hint{color:var(--gold-dark)}.catch-modal-route-settings .catch-ball-label{color:var(--surface-mid)}.catch-modal-route-settings .catch-ball-icon-btn:hover{border-color:var(--text-dim)}.catch-modal-route-settings .catch-ball-icon-btn.active{border-color:var(--text-dim);background:#8a7a6026}.catch-shiny-toggle{background:transparent;border:1px solid var(--text-dim);border-radius:3px;padding:3px 8px;font-size:8px;color:var(--text-muted);cursor:pointer;opacity:.4;font-weight:700}.catch-shiny-toggle:hover{opacity:.65}.catch-shiny-toggle.active{opacity:1;color:var(--parchment);border-color:var(--line);background:var(--surface-raised)}.bag-container{border-top:2px solid var(--line);display:flex;flex-direction:column;height:clamp(240px,32vh,420px);position:relative;z-index:0}.bag-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;background:linear-gradient(180deg,#6a4030,#5a3020);border-bottom:2px solid #3a1e10}.bag-tabs{display:flex;flex-wrap:wrap;gap:2px;flex:1;min-width:0}.bag-tab{position:relative;font-family:inherit;font-size:8px;padding:2px 5px;background:#4a3426;color:#d8b868;border:1px solid transparent;border-radius:0;cursor:pointer;font-weight:700;line-height:1.2}.bag-tab:hover{background:var(--surface-raised);color:var(--parchment)}.bag-tab.active{background:var(--gold);border-color:var(--gold-dark);color:var(--on-accent)}.bag-tab.parchment{background:var(--parchment);color:var(--surface-mid);border-color:var(--text-dim)}.bag-tab.parchment:hover{background:#f0e6cc;color:var(--ink);border-color:var(--gold-line)}.bag-tab.parchment.active{background:var(--surface-deep);color:var(--text-bright);border-color:var(--gold-line)}.section{background:#00000010;border:1px solid #00000026;border-radius:6px;padding:10px}.section.dark{background:#0002;border-color:#fff2}.section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--ink);margin:0 0 4px}.section.dark .section-title,.section-title.inverse{color:var(--gold)}.section-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;padding:2px 0}.section-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;margin-bottom:8px}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--modal-backdrop)}.modal{background:linear-gradient(180deg,var(--parchment),var(--parchment-dark));border:2px solid var(--line);border-radius:6px;padding:8px;width:min(480px,100%);max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;color:var(--ink)}.modal.dark{background:linear-gradient(180deg,var(--bg-deep),var(--bg-deep));border-color:var(--line-accent);color:var(--parchment)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}.modal-title{font-size:10px;font-weight:700;color:var(--ink);min-width:0}.modal.dark .modal-title{color:var(--gold)}.modal-close{flex:none;margin-left:8px;font-family:var(--font-pixel);font-size:9px;padding:1px 6px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.modal-close:hover{background:var(--surface-raised-hover)}.modal-content{font-size:10.5px;color:var(--ink);line-height:1.4}.modal.dark .modal-content{color:var(--parchment)}.pokedex-detail-header .modal-close{margin-left:auto}.bag-header-money{font-size:10px;color:var(--gold-bright);font-weight:700;white-space:nowrap;text-shadow:1px 1px 0 rgba(0,0,0,.6)}.bag-content{flex:1;overflow-y:auto;padding:4px 6px;background:radial-gradient(ellipse 40px 40px at 20% 30%,rgba(100,60,40,.25) 0%,transparent 70%),radial-gradient(ellipse 50px 35px at 70% 60%,rgba(90,50,35,.2) 0%,transparent 70%),radial-gradient(ellipse 35px 45px at 45% 80%,rgba(95,55,38,.22) 0%,transparent 70%),linear-gradient(180deg,#3a2418,#342018,#2e1c14)}.bag-item-list{display:flex;flex-direction:column;gap:1px}.bag-item{display:flex;justify-content:space-between;align-items:center;padding:3px 6px;cursor:pointer;border-radius:2px}.bag-item:hover{background:#c8a84826}.bag-item.selected{background:#c8a84840;outline:1px solid var(--gold-dark);outline-offset:-1px}.bag-item-name{font-size:9px;color:var(--parchment)}.bag-item-left{display:flex;align-items:center;gap:5px;min-width:0}.bag-item-qty{font-size:9px;color:var(--gold-bright);font-weight:700}.bag-empty{font-size:9px;color:#c8a84866;text-align:center;padding:10px 0;font-style:italic}.bag-description{border-top:1px solid var(--line);padding:4px 8px;font-size:8px;color:#c8a84899;background:#1e120a80;min-height:20px}.bag-use-btn{display:inline-block;margin-left:6px;padding:2px 8px;font-size:8px;background:#4a6830;color:#d0e8a0;border:1px solid #6a8840;border-radius:2px;cursor:pointer;font-family:inherit;vertical-align:middle}.bag-use-btn:hover{background:#5a7840}.bag-target-picker{margin-top:4px;border-top:1px solid var(--line);padding-top:4px}.bag-target-title{display:flex;align-items:center;gap:4px;margin-bottom:3px;color:var(--gold-bright)}.bag-use-qty{display:flex;align-items:center;gap:4px;margin-bottom:3px}.bag-use-qty-label{color:var(--text-soft)}.bag-use-qty-btn{padding:2px 7px;font-size:8px;font-family:inherit;background:var(--surface-deep);color:var(--gold-bright);border:1px solid var(--surface-mid);border-radius:2px;cursor:pointer}.bag-use-qty-btn:hover{background:#5a4a34}.bag-use-qty-btn.active{background:var(--gold);color:var(--ink-strong);border-color:var(--gold-dark);font-weight:700}.bag-target-btn{display:block;width:100%;margin-top:2px;padding:3px 6px;font-size:8px;text-align:left;font-family:inherit;background:var(--surface-deep);color:var(--gold-bright);border:1px solid var(--surface-mid);border-radius:2px;cursor:pointer}.bag-target-btn:hover:not(.disabled){background:#5a4a34}.bag-target-btn.disabled{opacity:.4;cursor:not-allowed}.bag-active-effects{margin-top:2px}.bag-effect-status{display:block;font-size:8px;color:#80d060}.bag-item.effect-active .bag-item-name{color:#80d060}.item-icon{display:block;flex-shrink:0;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 1px 0 #00000066)}.tm-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;border:2px solid #2a2016;background:var(--type-color, var(--text-dim));color:var(--type-ink, #fff);font-weight:700;letter-spacing:-.5px;text-shadow:1px 1px 0 #00000066;box-shadow:inset 0 0 0 1px #ffffff59,0 1px 1px #0006}.tm-icon:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff6,#fff0 58%);pointer-events:none}.tm-icon:after{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid #ffffff38;pointer-events:none}.tm-icon-number{position:relative;z-index:1;line-height:1}.shiny-sparkle:before,.shiny-sparkle:after{content:"✦";position:absolute;font-size:14px;color:#ffe860;text-shadow:0 0 4px #ffe860;z-index:20;pointer-events:none;animation:shinySparkle 1.5s ease-in-out infinite}.shiny-sparkle:before{top:10%;right:15%}.shiny-sparkle:after{bottom:30%;left:20%;animation-delay:.75s}@keyframes shinySparkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}25%{opacity:1;transform:scale(1.2) rotate(20deg)}50%{opacity:.6;transform:scale(.8) rotate(-10deg)}75%{opacity:1;transform:scale(1) rotate(15deg)}}.shiny-star{color:#ffe860;text-shadow:0 0 3px rgba(255,232,96,.8);margin-right:2px}.info-box .shiny-star{color:#000;text-shadow:none}.dex-ball-badge{display:inline-flex;align-items:center;justify-content:center;margin-right:2px;line-height:1;vertical-align:middle;filter:drop-shadow(0 1px 0 rgba(0,0,0,.45))}.dex-ball-shiny{filter:drop-shadow(0 0 3px rgba(255,232,96,.9))}.pokedex-tile-ball{position:absolute;bottom:1px;right:2px;margin:0;z-index:5}.box-grid-slot{position:relative}.box-grid-slot.shiny-slot:after{content:"★";position:absolute;top:1px;right:1px;font-size:8px;color:#ffe860;z-index:5;pointer-events:none}.pokedex-tile{position:relative}.pokedex-exclusive-badge{position:absolute;top:2px;left:2px;font-size:9px;color:#54c8c8;text-shadow:0 0 2px #000;z-index:5}.pokedex-forms-badge{position:absolute;top:1px;left:50%;transform:translate(-50%);font-size:8px;line-height:1.1;color:#f4e8ff;background:#1a1208cc;border-radius:2px;padding:0 3px;z-index:6}.pokedex-time-badge{position:absolute;top:1px;right:2px;font-size:9px;line-height:1;z-index:5}.pokedex-time-badge.night{color:#b8c4ff;text-shadow:0 0 2px #000,0 0 3px #101430}.pokedex-time-badge.day{color:#ffd75e;text-shadow:0 0 2px #000,0 0 3px #5a3d00}.pokedex-exclusive-legend{font-size:7px;color:#54c8c8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chain-badge{position:absolute;bottom:1px;left:50%;transform:translate(-50%);font-size:8px;color:#ffe860;text-shadow:0 0 2px #000,0 0 3px #000;z-index:6}.swarm-legend{font-size:7px;color:#e07030;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hunt-legend{font-size:7px;color:#4fae4f;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pokedex-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.effect-selector-btn{padding:2px 6px;font-size:8px;font-family:inherit;cursor:pointer;border:1px solid;white-space:nowrap}.effect-selector-btn.active-mode{animation:selector-pulse 1.5s ease-in-out infinite}.effect-selector-btn.disabled{opacity:.35;cursor:default}@keyframes selector-pulse{0%,to{opacity:1}50%{opacity:.7}}.pokedex-effect-indicator{position:absolute;bottom:1px;font-size:7px;font-weight:700;z-index:5;padding:0 1px;border-radius:1px;line-height:1.2}.repel-indicator{left:1px;color:#90b8e8;background:#2a3858cc}.honey-indicator{right:1px;color:var(--gold);background:#584828cc}.reveal-indicator{left:50%;bottom:8px;transform:translate(-50%);font-size:8px;line-height:1;background:#0006;border-radius:2px}.pokedex-grid.selector-mode .pokedex-tile.selector-target{cursor:crosshair}.box-header-actions{display:flex;flex-wrap:wrap;gap:4px;z-index:2}.box-header-pager{display:flex;align-items:center;gap:4px}.box-pokedex-btn{font-size:10px;padding:1px 8px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;line-height:1;box-shadow:1px 1px #0000004d,inset 1px 1px #ffffff1a}.box-pokedex-btn:hover{background:var(--surface-raised-hover);border-color:var(--gold-dark)}.box-pokedex-btn.active{background:var(--gold);color:var(--bg-dark);border-color:var(--gold-dark)}@media (max-width: 640px){.box-header{flex-wrap:wrap;justify-content:center;gap:4px}.box-header-actions{position:static;transform:none;flex-basis:100%;justify-content:center}.pokedex-modal{transform:scale(1);width:min(280px,calc(100vw - 24px))}}.modal-overlay.pokedex-modal-overlay{position:absolute;inset:0;align-items:flex-start;justify-content:center;padding:40px 4px 4px}.pokedex-modal{width:280px;transform:scale(1.5);transform-origin:top center;max-height:60%}.pokedex-modal-grid-scroll{flex:1;min-height:0;overflow-y:auto}.pokedex-modal-counts{font-size:8px;color:var(--surface-mid);flex:1;text-align:right}.pokedex-gen-tabs{flex:none;margin:6px 0}.pokedex-search{margin:0 0 6px}.pokedex-search-input{width:100%;box-sizing:border-box;font-family:var(--font-pixel);font-size:8px;padding:4px 6px;color:var(--ink);background:var(--text-bright);border:2px solid var(--text-dim)}.pokedex-search-input:focus{outline:none;border-color:var(--gold-line)}.pokedex-search-toggle{flex:0 0 auto;margin-left:auto}.pokedex-grid-empty{grid-column:1 / -1;font-size:8px;color:var(--surface-mid);padding:6px}.pokedex-modal .pokedex-grid{gap:2px}.pokedex-modal .pokedex-tile-name,.pokedex-inline .pokedex-tile-name{color:var(--ink)}.pokedex-modal .pokedex-tile:hover{background:#00000026}.pokedex-modal .pokedex-tile.selected{border-color:var(--line);background:#ffffff0d}.pokedex-modal-detail{background:#00000014;border:1px solid var(--text-dim);padding:6px;display:flex;flex-direction:column;gap:4px}.pokedex-form-tabs{flex:none}.pokedex-detail-header{display:flex;align-items:flex-start;gap:4px}.pokedex-detail-header .pokedex-form-tabs{flex:1;min-width:0}.pokedex-modal-detail .stats-panel-identity{display:flex;align-items:center;gap:6px}.pokedex-modal-detail .stats-panel-sprite{width:48px;height:48px;image-rendering:pixelated;object-fit:contain}.pokedex-modal-detail .stats-panel-sprite.unseen{filter:brightness(0)}.pokedex-modal-detail .stats-panel-sprite.seen{filter:grayscale(1) opacity(.5)}.pokedex-modal-detail .stats-panel-name-block{display:flex;flex-direction:column;gap:1px}.pokedex-modal-detail .stats-panel-name{font-size:10px;font-weight:700;color:var(--ink)}.pokedex-modal-detail .stats-panel-level{font-size:8px;color:var(--surface-mid)}.pokedex-modal-detail .stats-panel-types{display:flex;gap:2px}.pokedex-modal-detail .stats-panel-stat-label,.pokedex-modal-detail .stats-panel-stat-value{color:var(--ink)}.pokedex-modal-routes{font-size:8px;color:var(--surface-mid);line-height:1.3;display:flex;flex-wrap:wrap;gap:0}.pokedex-modal-routes-label{font-weight:700;color:var(--ink)}.pokedex-modal-sources{font-size:8px;color:var(--surface-mid);line-height:1.3}.pokedex-route-link{font:inherit;color:#2a5a8a;background:none;border:none;padding:0;text-decoration:underline;cursor:pointer}.pokedex-route-link:hover{color:#103a6a}.pokedex-route-link.locked{color:inherit;text-decoration:none;cursor:default}.pokedex-route-link.raid:not(.locked){color:#8a4a2a}.pokedex-route-link.raid:not(.locked):hover{color:#5a2a10}.battle-info-btn{position:absolute;top:6px;left:6px;z-index:20;font-size:9px;padding:4px 8px;aspect-ratio:1;background:var(--wood-texture);background-color:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;line-height:1;box-shadow:2px 2px #0000004d,inset 1px 1px #ffffff1a}.battle-info-btn:hover{border-color:var(--gold-dark)}.battle-top-buttons{position:absolute;top:6px;left:6px;z-index:20;display:flex;flex-wrap:wrap;gap:3px;max-width:45%}.battle-field-badges{position:absolute;top:6px;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:50%;pointer-events:none}.battle-weather-badge{font-size:9px;font-weight:700;color:#fff;background:#0000008c;border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:2px 8px;white-space:nowrap;pointer-events:none}.battle-weather-badge.terrain-electric{border-color:#f0d020}.battle-weather-badge.terrain-grassy{border-color:#60b040}.battle-weather-badge.terrain-misty{border-color:#f0a0d0}.battle-weather-badge.terrain-psychic{border-color:#d060f0}.battle-weather-badge.weather-rain{border-color:#60a0e0}.battle-weather-badge.weather-sun{border-color:#f0c040}.battle-weather-badge.weather-sandstorm{border-color:#c0a060}.battle-weather-badge.weather-snow,.battle-weather-badge.weather-hail{border-color:#a0e0ff}.battle-weather-overlay{position:absolute;inset:0;z-index:5;overflow:hidden;pointer-events:none}.battle-weather-overlay:before,.battle-weather-overlay:after{content:"";position:absolute;inset:-25%}.battle-weather-overlay.weather-rain:before,.battle-weather-overlay.weather-heavyRain:before{background-image:repeating-linear-gradient(102deg,transparent 0 9px,rgba(190,220,255,.42) 9px 10px);animation:weatherRain .55s linear infinite}.battle-weather-overlay.weather-rain:after,.battle-weather-overlay.weather-heavyRain:after{background-image:repeating-linear-gradient(102deg,transparent 0 17px,rgba(215,238,255,.24) 17px 18px);animation:weatherRain .85s linear infinite}.battle-weather-overlay.weather-heavyRain:before{animation-duration:.38s}@keyframes weatherRain{0%{background-position:0 0}to{background-position:-54px 320px}}.battle-weather-overlay.weather-snow:before,.battle-weather-overlay.weather-hail:before{background-image:radial-gradient(circle at 20% 0%,#fff 1.6px,transparent 2.2px),radial-gradient(circle at 70% 40%,#fff 1.2px,transparent 1.8px);background-size:110px 110px;animation:weatherSnow 3s linear infinite}.battle-weather-overlay.weather-hail:before{animation-duration:1.3s;opacity:.9}@keyframes weatherSnow{0%{background-position:0 -110px}to{background-position:24px 110px}}.battle-weather-overlay.weather-sandstorm:before{background:linear-gradient(90deg,#d6bc784d,#d6bc780f 45%,#d6bc784d);animation:weatherSand 1.1s linear infinite}.battle-weather-overlay.weather-sandstorm:after{background-image:repeating-linear-gradient(96deg,transparent 0 12px,rgba(232,212,150,.32) 12px 13px);animation:weatherSand 1.7s linear infinite reverse}@keyframes weatherSand{0%{transform:translate(-5%)}to{transform:translate(5%)}}.battle-weather-overlay.weather-sun:before,.battle-weather-overlay.weather-harshSunlight:before{background:radial-gradient(circle at 78% 6%,rgba(255,240,160,.55),rgba(255,220,120,.14) 20%,transparent 46%);animation:weatherSun 5s ease-in-out infinite}@keyframes weatherSun{0%,to{opacity:.75}50%{opacity:1}}.battle-weather-overlay.weather-strongWinds:before{background-image:repeating-linear-gradient(86deg,transparent 0 46px,rgba(220,240,255,.18) 46px 48px);animation:weatherWind .6s linear infinite}@keyframes weatherWind{0%{transform:translate(0)}to{transform:translate(76px)}}[data-reduced-motion=true] .battle-weather-overlay{display:none}@media (prefers-reduced-motion: reduce){.battle-weather-overlay{display:none}}.battle-top-buttons .battle-info-btn{position:static}.auto-proceed-btn{opacity:.35}.auto-proceed-btn.active{opacity:1}.settings-icon{font-size:14px;position:relative;top:-2px}.daily-event-btn,.dailies-btn{font-size:13px}.daily-event-btn.claimable,.companion-btn.claimable,.pokewalker-btn.claimable,.mystery-gift-btn.claimable,.dailies-btn.claimable{animation:dailyPulse 1.6s ease-in-out infinite}.modal.daily-hub-modal{width:min(560px,100%)}.daily-hub-tabs{flex:none;border:2px solid var(--line);background:#00000010}.daily-hub-tabs .bag-tab{display:flex;align-items:center;justify-content:center;gap:3px}.daily-hub-tab-icon{font-size:10px;line-height:1}.daily-hub-tab-dot{color:#c8901c;font-size:8px;line-height:1}.daily-hub-tabs .bag-tab.locked{opacity:.55}.daily-hub-tab-lock{font-size:8px;line-height:1}.daily-hub-locked{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;text-align:center}.daily-hub-locked-icon{font-size:30px;line-height:1}.daily-hub-locked-title{font-weight:700}.daily-hub-locked-hint{opacity:.75;max-width:34ch}.daily-hub-modal .mystery-gift-content{max-height:none;overflow:visible}.mystery-gift-btn{font-size:13px}.pokewalker-modal{width:min(460px,100%)}.pokewalker-modal-content{padding:4px 2px}.pokewalker-panel{display:flex;flex-direction:column;gap:10px}.pokewalker-balance{display:flex;align-items:baseline;justify-content:center;gap:6px;color:var(--ink)}.pokewalker-balance-icon{font-size:22px;line-height:1}.pokewalker-balance-value{font-size:22px;font-weight:700}.pokewalker-balance-value small{font-size:10px;font-weight:400;color:var(--surface-mid)}.pokewalker-hint{margin:0;font-size:10px;line-height:1.45;color:var(--surface-mid);text-align:center}.pokewalker-daily{display:flex;flex-direction:column;gap:4px}.pokewalker-daily-label{font-size:10px;color:var(--ink)}.pokewalker-daily-bar{height:8px;background:#0002;border:1px solid var(--text-dim);border-radius:3px;overflow:hidden}.pokewalker-daily-fill{height:100%;background:#4c9a4c}.pokewalker-options{display:flex;flex-direction:column;gap:6px}.pokewalker-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px;text-align:left;background:var(--parchment);border:2px solid var(--text-dim);border-radius:4px;cursor:pointer;font-family:inherit}.pokewalker-option:not(.disabled):hover{background:#f2e8cc;border-color:var(--gold)}.pokewalker-option.disabled{opacity:.5;cursor:not-allowed}.pokewalker-option-icon{font-size:20px;line-height:1}.pokewalker-option-body{display:flex;flex-direction:column;flex:1;min-width:0}.pokewalker-option-name{font-size:10px;font-weight:700;color:var(--ink)}.pokewalker-option-desc{font-size:9px;line-height:1.35;color:var(--surface-mid)}.pokewalker-option-cost{flex-shrink:0;font-size:10px;font-weight:700;color:var(--ink);white-space:nowrap}.pokewalker-total{margin:0;font-size:9px;text-align:center;color:var(--surface-mid)}.offline-report-steps{display:block;margin-top:6px;font-size:10px;color:var(--ink);text-align:center}.companion-modal{width:min(460px,100%)}.companion-modal-content{padding:4px 2px}@keyframes dailyPulse{0%,to{box-shadow:2px 2px #0000004d,0 0 0 2px var(--gold),0 0 4px #ffd04088}50%{box-shadow:2px 2px #0000004d,0 0 0 2px var(--gold),0 0 14px #ffe070ee}}.daily-event-content{display:flex;flex-direction:column;align-items:center;text-align:center}.daily-event-icon{font-size:32px;line-height:1}.daily-event-name{font-size:12px;font-weight:700;color:var(--ink);margin-top:4px}.daily-event-description{font-size:10px;color:var(--surface-mid);margin:6px 0 0;line-height:1.45}.daily-event-divider{width:100%;height:1px;background:#0002;margin:12px 0 8px}.daily-event-gift-title{font-size:10px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.5px}.daily-event-gift-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0 12px}.daily-event-gift-item{font-size:10px;color:var(--ink-strong);background:#00000012;border:1px solid var(--text-dim);padding:3px 8px}.daily-event-claim-btn{font-size:10px;font-weight:700;padding:8px 18px;background:var(--gold-dark);color:var(--parchment);border:2px solid var(--gold);border-radius:0;cursor:pointer;box-shadow:1px 1px #0000004d}.daily-event-claim-btn:hover{background:var(--gold);color:var(--on-accent)}.daily-event-claimed{font-size:10px;color:var(--surface-mid);margin:0}.mystery-gift-modal{width:min(560px,100%)}.mystery-gift-content{display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow-y:auto}.mystery-gift-featured{display:flex;flex-direction:column;gap:6px}.mystery-card{display:flex;gap:10px;align-items:center;background:linear-gradient(180deg,#f4e8c8,#dcc79a);border:2px solid var(--gold);box-shadow:inset 0 0 0 2px #00000018,2px 2px #0000004d;padding:10px}.mystery-card.featured{border-color:var(--gold-bright);box-shadow:inset 0 0 0 2px #fff5,0 0 10px #ffd04066}.mystery-card.claimed{filter:saturate(.7)}.mystery-card.locked{filter:grayscale(.6);opacity:.8}.mystery-gift-sprite{width:64px;height:64px;flex:0 0 auto}.mystery-card.compact{padding:6px;gap:6px}.mystery-card.compact .mystery-gift-sprite{width:44px;height:44px}.mystery-card.compact .mystery-card-name{font-size:10px}.mystery-gift-items{display:flex;gap:4px;align-items:center;justify-content:center;min-width:64px}.mystery-card-body{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0;text-align:left}.mystery-card-name{font-size:11px;font-weight:700;color:var(--ink)}.mystery-card-sub,.mystery-card-reward{font-size:9px;color:var(--text-dim)}.mystery-card-desc{font-size:10px;color:var(--surface-deep);line-height:1.4}.mystery-card-badge{font-size:9px;font-weight:700;color:var(--ink-strong);padding:3px 6px;align-self:flex-start}.mystery-card-badge.claimed{background:#a8c878;border:1px solid #5a7838}.mystery-card-badge.locked{background:#00000014;border:1px solid var(--text-dim)}.mystery-claim-btn{font-size:10px;font-weight:700;padding:6px 12px;background:var(--gold-dark);color:var(--parchment);border:2px solid var(--gold);cursor:pointer;align-self:flex-start;box-shadow:1px 1px #0000004d}.mystery-claim-btn:hover{background:var(--gold);color:var(--on-accent)}.mystery-gift-more,.mystery-gift-next,.mystery-gift-empty{font-size:9px;color:var(--surface-mid)}.mystery-code-row{display:flex;gap:6px}.mystery-code-input{flex:1 1 auto;font-family:var(--font-pixel);font-size:10px;padding:7px 8px;background:#fffaf0;border:2px solid var(--text-dim);color:var(--ink-strong)}.mystery-code-btn{font-size:10px;font-weight:700;padding:6px 12px;background:var(--gold-dark);color:var(--parchment);border:2px solid var(--gold);cursor:pointer}.mystery-code-btn:disabled{opacity:.5;cursor:default}.mystery-code-message{font-size:9px}.mystery-code-message.error{color:#a03020}.mystery-code-message.success{color:#3a7020}.mystery-gift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}.quests-content{display:flex;flex-direction:column;gap:10px}.quest.complete{border-color:var(--gold)}.quest.claimed{opacity:.6}.quest-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.quest-label{font-size:10px;font-weight:700;color:var(--ink)}.quest-reward{flex:0 0 auto;font-size:9px;color:#5c3d08}.quest-bar{height:8px;margin:8px 0 6px;background:var(--bg-dark);border:2px solid var(--line);overflow:hidden}.quest-fill{height:100%;background:linear-gradient(90deg,#48a048,#6dd06d);transition:width .3s linear}.quest-foot{display:flex;justify-content:space-between;align-items:center}.quest-progress{font-size:9px;color:var(--surface-mid)}.quest-claimed{font-size:9px;font-weight:700;color:#2e7d32}.quest-claim-btn{font-size:9px;font-weight:700;padding:3px 12px;background:var(--gold);color:var(--ink-strong);border:2px solid var(--gold-dark);border-radius:0;cursor:pointer;box-shadow:1px 1px #0000004d}.quest-claim-btn:hover{background:var(--gold-bright)}.quests-empty{font-size:10px;color:var(--surface-mid);margin:0}.story-progress{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.story-progress-label{font-size:10px;font-weight:700;color:var(--ink)}.story-charm{font-size:9px;font-weight:700;color:var(--gold-dark)}.story-chapter{background:#00000010;border:2px solid var(--text-dim);padding:8px 10px}.story-chapter.done{opacity:.7;border-color:#6a8a4a}.story-chapter.locked{opacity:.5;border-style:dashed}.story-chapter.active{border-color:var(--gold-dark)}.story-chapter.active.complete{border-color:var(--gold)}.story-chapter-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.story-chapter-title{font-size:10px;font-weight:700;color:var(--ink)}.story-chapter-professor{flex:0 0 auto;font-size:9px;color:var(--gold-dark)}.story-chapter-check{color:#2e7d32;font-weight:700}.story-chapter-intro{font-size:9px;line-height:1.5;color:var(--surface-mid);margin:6px 0}.story-chapter-reward{display:block;font-size:9px;color:#5c3d08}.story-chapter-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px}.story-step{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:9px;color:var(--surface-mid);padding:2px 0}.story-step.done{color:#2e7d32}.story-step-progress{flex:0 0 auto;font-weight:700}.offline-report-content{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.offline-report-time{font-size:12px;font-weight:700;color:var(--ink)}.offline-report-hint{font-size:10px;color:var(--surface-mid)}.offline-report-reward{margin:4px 0;font-size:10px;font-weight:700;color:var(--bg-dark);background:var(--gold-bright);border:2px solid var(--gold-dark);padding:6px 12px}.offline-report-btn{font-size:10px;font-weight:700;padding:6px 18px;background:var(--gold);color:var(--ink-strong);border:2px solid var(--gold-dark);border-radius:0;cursor:pointer;box-shadow:1px 1px #0000004d}.offline-report-btn:hover{background:var(--gold-bright)}.records-section{margin-bottom:10px}.records-summary-btn{width:100%;margin-bottom:8px}.run-summary-identity{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;margin-bottom:8px}.run-summary-name{font-size:13px;font-weight:700;color:var(--ink)}.run-summary-title{font-size:10px;color:var(--gold-dark)}.run-summary-region{font-size:10px;color:var(--surface-mid)}.run-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.run-summary-stat{display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 2px;background:#00000014;border:1px solid #0000001a;border-radius:6px}.run-summary-stat-value{font-size:13px;font-weight:700;color:var(--ink)}.run-summary-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.run-summary-callouts{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:8px}.run-summary-callout{font-size:9.5px;color:var(--surface-deep)}.run-summary-actions{display:flex;align-items:center;gap:8px;margin-bottom:10px}.run-summary-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.run-summary-filters{display:flex;flex-wrap:wrap;gap:3px}.run-summary-filter{font-size:9px;padding:2px 6px;background:#00000014;border:1px solid #0000001a;border-radius:999px;color:var(--surface-mid);cursor:pointer}.run-summary-filter.active{background:var(--surface-raised);border-color:var(--line);color:var(--parchment);font-weight:700}.run-summary-timeline{display:flex;flex-direction:column;margin-top:6px}.run-summary-event{display:flex;align-items:center;gap:8px;padding:4px 2px;border-bottom:1px solid #00000012}.run-summary-event:last-child{border-bottom:0}.run-summary-event-icon{flex:0 0 auto;font-size:14px;width:18px;text-align:center}.run-summary-event-text{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.run-summary-event-label{font-size:9.5px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-summary-event-detail{font-size:8.5px;color:var(--text-dim)}.run-summary-event-age{flex:0 0 auto;font-size:9px;color:#8a7868}.run-summary-empty{margin:8px 0 0}.records-label{color:var(--surface-mid)}.records-value{font-weight:700;color:var(--ink);text-align:right}.achievement-grid{display:flex;flex-direction:column;gap:2px}.achievement{display:flex;align-items:baseline;gap:5px;font-size:10px;color:var(--text-dim);opacity:.95}.achievement.achieved{color:var(--ink);opacity:1}.achievement-icon{width:12px;text-align:center;flex:0 0 auto}.achievement-text{display:flex;flex-direction:column}.achievement-name{font-weight:700}.achievement-desc{font-size:9px;opacity:.75}.achievement-reward{font-size:9px;color:var(--gold-dark);margin-top:1px}.achievement-reward.claimed{color:#1f5c22}.daycare-slots{display:flex;gap:8px;margin-bottom:8px}.daycare-slot-button{flex:1;display:flex;flex-direction:column;gap:4px}.daycare-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px;border:2px dashed var(--text-dim);border-radius:4px;min-height:80px;font-size:10px;color:var(--text-muted)}.daycare-slot.filled{border-style:solid;background:#00000010}.daycare-slot-sprite{width:48px;height:48px;image-rendering:pixelated}.daycare-slot-name{font-weight:700;color:var(--ink)}.daycare-slot-level{font-size:9px;color:var(--surface-mid)}.daycare-withdraw-btn{font-size:9px;padding:2px 6px;background:#8b2020;color:#fdd;border:2px solid #5a1010;cursor:pointer;font-weight:700}.daycare-withdraw-btn:hover{background:#a52828}.daycare-hint{font-size:10px;color:var(--surface-mid);margin:0 0 8px}.daycare-progress{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.daycare-progress-bar{height:10px;background:#0002;border:1px solid var(--text-dim);border-radius:3px;overflow:hidden}.daycare-progress-fill{height:100%;background:linear-gradient(90deg,#60a040,var(--gold));transition:width .2s}.daycare-progress-label{font-size:9px;text-align:center;color:var(--ink)}.daycare-panel .daycare-slot{color:#a89a80;border-color:var(--line-accent)}.daycare-panel .daycare-slot.filled{background:#0003}.daycare-panel .daycare-slot-name{color:var(--parchment)}.daycare-panel .daycare-slot-level{color:#a89a80}.daycare-panel .daycare-progress-label{color:var(--parchment)}.daycare-deposit{display:flex;flex-direction:column;gap:4px;margin-top:6px}.daycare-deposit-search{width:100%;box-sizing:border-box;font-family:inherit;font-size:10px;padding:5px 8px;background:#140e06b8;color:var(--parchment);border:1px solid var(--line-accent);border-radius:4px}.daycare-deposit-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;padding-right:2px}.daycare-deposit-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#00000026;border:1px solid var(--line)}.daycare-deposit-row.incompatible{opacity:.5}.daycare-deposit-sprite{width:32px;height:32px;image-rendering:pixelated;flex:0 0 auto}.daycare-deposit-info{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.daycare-deposit-name{font-size:10px;font-weight:700;color:var(--parchment)}.daycare-deposit-detail{font-size:8px;color:var(--text-muted)}.modal-content p{margin:0 0 8px}.modal-content p:last-child{margin-bottom:0}.modal-content a{color:#2a4a80;text-decoration:underline}.modal-content a:hover{color:#1a3a6a}.modal-content a.settings-guide-btn{color:var(--parchment)}.info-shiny-stats{display:flex;flex-direction:column;gap:2px;background:#0000000f;border-radius:3px;padding:4px 6px;margin:6px 0;font-size:10px}.info-shiny-stats span{color:var(--ink)}.info-shiny-hint{color:#8a6a48;font-style:italic;font-size:10px}.info-shiny-generations{display:flex;flex-wrap:wrap;gap:1px 8px}.info-shiny-gen{color:#8a6a48;font-size:10px}.info-shiny-gen.complete{color:#2e7d32;font-weight:700}.settings-hint{font-size:10px;color:var(--ink);line-height:1.45;margin:0 0 10px}.settings-guide-btn{display:block;text-align:center;font-size:10px;font-weight:700;padding:7px 12px;margin-bottom:8px;background:var(--gold-dark);color:var(--parchment);border:2px solid var(--gold);text-decoration:none}.settings-guide-btn:hover{background:var(--gold);color:var(--on-accent)}.settings-link{display:block;text-align:center;font-size:10px;color:var(--surface-mid);margin-bottom:14px}.settings-link:hover{color:var(--ink)}.settings-section{margin-bottom:14px}.settings-save-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.settings-save-btn{flex:1;font-size:10px;padding:7px 10px;background:var(--gold-dark);color:var(--parchment);border:2px solid var(--gold);border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.settings-save-btn:hover:not(:disabled){background:var(--gold);color:var(--on-accent)}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-toggle-btn{width:100%;box-sizing:border-box;font-size:10px;padding:7px 10px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.settings-toggle-btn:hover{background:var(--surface-raised-hover)}.settings-toggle-btn.active{background:var(--gold);border-color:var(--gold-dark);color:var(--bg-dark)}.settings-toggle-btn+.settings-toggle-btn{margin-top:6px}.keybind-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.keybind-row{display:flex;align-items:center;gap:8px}.keybind-info{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.keybind-label{font-size:10px;font-weight:700;color:var(--ink)}.keybind-description{font-size:9px;color:var(--text-dim);line-height:1.3}.keybind-key{flex:0 0 auto;min-width:74px;padding:6px 8px;font-size:10px;font-weight:700;text-align:center;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;box-shadow:1px 1px #0000004d}.keybind-key:hover{background:var(--surface-raised-hover)}.keybind-key.capturing{background:var(--gold);border-color:var(--gold-dark);color:var(--bg-dark)}.keybind-key.conflict{border-color:#a03020}.keybind-conflict{font-size:9px;color:#a03020;margin-bottom:8px}.offline-progress{margin-bottom:10px}.offline-progress-bar{height:12px;background:var(--ink);border:2px solid var(--line);overflow:hidden}.offline-progress-fill{height:100%;background:var(--gold);transition:width .15s linear}.offline-progress-label{font-size:10px;color:var(--ink);margin:6px 0}.offline-status{font-size:10px;color:var(--ink);margin:8px 0 0}.offline-status.ok{color:#2e7d32;font-weight:700}.settings-speed{display:flex;align-items:center;gap:6px;margin-top:8px}.settings-speed-label{flex:1;font-size:10px;font-weight:700;color:var(--ink)}.settings-default-catch{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding-top:10px;border-top:1px solid #00000022}.settings-default-catch .catch-mode-option{font-size:10px;color:var(--ink)}.settings-default-catch .catch-mode-hint{color:var(--gold-dark)}.settings-default-catch .catch-ball-label{font-size:10px;color:var(--surface-mid)}.settings-default-catch .catch-ball-icon-btn.active{border-color:var(--gold-dark);background:#8a7a6026}.monotype-select{margin-top:8px}.monotype-select label{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;color:var(--ink)}.monotype-select select{flex:1;min-width:0;font-family:inherit;font-size:10px;padding:6px 8px;background:var(--parchment);color:var(--ink);border:2px solid var(--line);border-radius:0;cursor:pointer}.monotype-hint{margin:6px 0 0;font-size:9px;line-height:1.4;color:var(--surface-mid)}.starter-select .monotype-select{width:100%;max-width:360px;margin-top:0}.starter-select .monotype-select label,.starter-select .monotype-hint{color:var(--text-muted)}.settings-share-hint{margin-top:12px}.settings-share{display:flex;flex-direction:column;gap:8px}.settings-share-code{box-sizing:border-box;width:100%;min-height:54px;resize:vertical;font-family:monospace;font-size:9px;line-height:1.4;word-break:break-all;padding:6px;background:var(--parchment);color:var(--ink);border:2px solid var(--line);border-radius:0}.settings-share-status{margin:0;font-size:10px;font-weight:700;color:#2e7d32;line-height:1.4}.slot-select{align-items:center}.save-slot-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.save-slot-grid.compact{flex-direction:column;gap:8px}.save-slot-card{width:200px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;padding:12px;background:linear-gradient(180deg,var(--parchment) 0% 50%,var(--parchment-dark) 50% 100%);box-shadow:-3px 0 var(--line),3px 0 var(--line),0 -3px var(--line),0 3px var(--line);color:var(--ink)}.save-slot-grid.compact .save-slot-card{width:100%}.save-slot-card.active{box-shadow:-3px 0 var(--gold),3px 0 var(--gold),0 -3px var(--gold),0 3px var(--gold),-5px 0 var(--gold-dark),5px 0 var(--gold-dark),0 -5px var(--gold-dark),0 5px var(--gold-dark)}.save-slot-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.save-slot-name{font-size:10px;font-weight:700}.save-slot-badge{font-size:8px;font-weight:700;padding:2px 5px;background:var(--gold-dark);color:var(--parchment)}.save-slot-empty{margin:0;font-size:10px;opacity:.7}.save-slot-info{font-size:10px;line-height:1.5}.save-slot-mode{margin-top:2px;font-size:8px;letter-spacing:.3px;color:#4a5a3a}.save-slot-mode.challenge{color:#d07030}.save-slot-date{font-size:8px;opacity:.6;margin-top:2px}.save-slot-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.save-slot-actions .settings-save-btn{flex:1;min-width:0}.settings-save-btn.danger{background:#8b3030;border-color:#5a1a1a}.settings-save-btn.danger:hover:not(:disabled){background:#a03a3a;color:var(--parchment)}.settings-save-error{margin:8px 0 0;font-size:10px;color:#8b3030;font-weight:700;line-height:1.4}.bank-modal{width:260px;transform:scale(1.4)}.bank-hint{margin:0;font-size:8px;line-height:1.5;color:var(--surface-mid)}.bank-capacity-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.bank-capacity{font-size:8px;font-weight:700;color:var(--line)}.bank-tabs{flex:none}.bank-message{margin:0;font-size:8px;color:#3a6a3a}.bank-message-error{color:#8b3030;font-weight:700}.bank-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.bank-row{display:flex;align-items:center;gap:6px;padding:3px 4px;background:#00000010;border:1px solid #00000018}.bank-sprite{width:32px;height:32px;image-rendering:pixelated;object-fit:contain}.bank-row-info{display:flex;flex-direction:column;flex:1;min-width:0}.bank-row-name{font-size:9px;font-weight:700;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-row-meta{font-size:8px;color:var(--surface-mid)}.bank-action{flex:0 0 auto;background:var(--gold-dark);border:1px solid var(--line);color:var(--ink-strong);font-size:8px;padding:4px 6px;cursor:pointer}.bank-action:hover{background:var(--gold)}.bank-action:disabled{opacity:.4;cursor:not-allowed;background:#b0a48c}.bank-action:disabled:hover{background:#b0a48c}.bank-empty{margin:0;padding:8px 0;font-size:9px;text-align:center;opacity:.7}.settings-reset-btn{font-size:10px;padding:6px 12px;background:#8b3030;color:var(--parchment);border:2px solid #5a1a1a;border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.settings-reset-btn:hover{background:#a03838}.settings-confirm p{margin:0 0 8px;font-size:10px;color:#5a1a1a;font-weight:700}.settings-confirm-buttons{display:flex;gap:8px}.settings-confirm-yes{font-size:10px;padding:6px 12px;background:#8b3030;color:var(--parchment);border:2px solid #5a1a1a;border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.settings-confirm-yes:hover{background:#a03838}.settings-confirm-no{font-size:10px;padding:6px 12px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;font-weight:700;box-shadow:1px 1px #0000004d}.settings-confirm-no:hover{background:var(--surface-raised-hover)}.gym-panel{display:flex;flex-direction:column;gap:10px;width:100%;align-self:flex-start;padding:4px}.panel-content:has(.gym-panel){align-items:flex-start;justify-content:flex-start}.gym-badge-display{display:flex;gap:4px;justify-content:center;padding:8px;background:#0003;border:2px solid var(--line)}.gym-badge-slot{width:24px;height:24px;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);background-color:#2a2018;opacity:.3;transition:opacity .3s,background-color .3s}.gym-badge-slot.earned{opacity:1;box-shadow:0 0 6px #ffffff4d}.gym-section{display:flex;flex-direction:column;gap:3px}.gym-row{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;background:#00000026;border:1px solid var(--line);gap:6px}.gym-row.locked{opacity:.6}.gym-row.defeated{border-left:2px solid #5a8a40}.gym-row-info{display:flex;flex-direction:column;gap:1px;min-width:0}.gym-leader-name{font-size:9px;color:var(--parchment);font-weight:700}.gym-badge-label{font-size:8px;color:var(--text-muted)}.gym-level-range{align-self:flex-start;margin-top:1px;padding:0 4px;font-size:8px;font-weight:700;color:var(--gold);background:#00000040;border:1px solid var(--line-accent);border-radius:3px}.gym-rematch-tag{font-size:8px;font-weight:700;color:#ff8a7a;border:1px solid #ff8a7a;border-radius:2px;padding:0 3px;margin-left:4px}.gym-row-status{display:flex;align-items:center;gap:4px;flex-shrink:0}.gym-defeated-mark{color:#5a8a40;font-size:10px;font-weight:700}.gym-fight-btn{font-size:8px;padding:2px 8px;background:var(--stone-dark);color:var(--parchment);border:2px solid var(--line);cursor:pointer;font-weight:700;letter-spacing:.5px;box-shadow:inset 1px 1px #ffffff14}.gym-fight-btn:hover:not(:disabled){background:var(--gold);color:var(--on-accent);border-color:var(--gold-dark)}.gym-fight-btn:disabled{opacity:.4;cursor:not-allowed}.gym-fight-btn.champion{background:var(--gold-dark);color:var(--parchment);border-color:var(--gold)}.gym-fight-btn.champion:hover:not(:disabled){background:var(--gold);color:var(--on-accent)}.gym-row.active-gauntlet{border-left:2px solid var(--gold);background:#ffc8321a}.gym-locked-label{font-size:8px;color:var(--text-muted);font-style:italic}.gym-locked-label.travel{color:var(--gold);font-style:normal;font-weight:700}.gym-locked-label.travel.clickable{padding:0;font-family:inherit;background:none;border:none;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.gym-locked-label.travel.clickable:hover{color:var(--gold-dark);text-decoration:underline}.gym-league-hint{font-size:8px;font-style:italic;color:#9a6a20;padding:4px 6px;margin-bottom:6px;background:var(--bg-panel);border:1px dashed var(--line-warm);text-align:center}.victory-token-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;font-size:11px}.victory-token-count{font-weight:700;font-size:14px;color:var(--gold, #c8a84e)}.reward-shop-open-btn{font-size:10px;padding:3px 10px;background:var(--stone-dark);color:var(--parchment);border:2px solid var(--line);cursor:pointer;font-weight:700;letter-spacing:.5px}.reward-shop-open-btn:hover{background:var(--gold);color:var(--on-accent);border-color:var(--gold-dark)}.prestige-section{border-top:1px solid #ffffff1a;padding-top:8px}.prestige-hint{font-size:9px;color:var(--parchment);opacity:.75;line-height:1.4;margin-bottom:6px}.prestige-actions{display:flex;gap:6px}.prestige-actions .gym-fight-btn{flex:1;font-size:10px;padding:4px 8px}.prestige-cancel-btn{font-size:10px;padding:4px 10px;background:var(--stone-dark);color:var(--parchment);border:2px solid var(--line);cursor:pointer;font-weight:700;letter-spacing:.5px}.prestige-cancel-btn:hover{background:#55412c;color:var(--parchment)}.tower-hint{font-size:9px;color:var(--parchment);opacity:.75;line-height:1.4;margin-bottom:6px}.tower-hint.tower-deterministic{opacity:.9;color:#9fe0c0}.tower-preview{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.tower-preview-title{font-size:9px;font-weight:700;color:var(--parchment)}.tower-preview-list{display:flex;flex-wrap:wrap;gap:3px}.tower-preview-member{font-size:8px;color:#fff;background:#00000059;border:1px solid rgba(224,192,96,.6);border-radius:3px;padding:2px 4px}.tower-preview-level{opacity:.7}.location-frontier{margin-top:10px}.frontier-hint{font-size:9px;color:var(--parchment);opacity:.75;line-height:1.4;margin-bottom:8px}.frontier-facility-list{display:flex;flex-direction:column;gap:10px}.frontier-facility{padding:7px 8px;background:#00000014;border:1px solid #00000033;border-radius:4px}.frontier-facility-head{display:flex;align-items:center;gap:6px}.frontier-facility-icon{font-size:15px;line-height:1}.frontier-facility-title{display:flex;flex-direction:column;flex:1;min-width:0}.frontier-facility-name{font-size:10px;font-weight:700;color:var(--ink)}.frontier-facility-tagline{font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:var(--gold-dark)}.frontier-facility-best{font-size:9px;color:var(--gold-dark)}.frontier-facility-hint{font-size:9px;color:var(--surface-mid);line-height:1.4;margin:4px 0}.frontier-facility-preview{display:flex;flex-direction:column;gap:3px;margin-bottom:5px}.frontier-preview-title{font-size:9px;font-weight:700;color:var(--ink)}.frontier-preview-list{display:flex;flex-wrap:wrap;gap:3px}.frontier-preview-member{font-size:8px;color:var(--ink);background:#00000012;border:1px solid #00000033;border-radius:3px;padding:2px 4px}.frontier-preview-member.rental{border-color:#4a8a5a;color:#1f4a2a}.frontier-preview-level{opacity:.7}.frontier-fight-btn{width:100%;margin-top:2px}.ladder-banner{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;margin-bottom:8px;background:#00000073;border:1px solid rgba(224,192,96,.55);border-left-width:3px;border-radius:4px}.ladder-banner.compact{padding:5px 7px;margin-bottom:6px}.ladder-banner.ladder-standard{border-left-color:#9fe0c0}.ladder-banner.ladder-inverse{border-left-color:#c9a6ff}.ladder-banner.ladder-barehanded{border-left-color:#f0a0a0}.ladder-banner.ladder-storm{border-left-color:#8fc4ff}.ladder-banner.ladder-attrition{border-left-color:#ff9fb0}.ladder-banner-icon{font-size:16px;line-height:1}.ladder-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ladder-banner-title{font-size:10px;font-weight:700;color:#ffe9a8;text-transform:uppercase;letter-spacing:.5px}.ladder-banner-hint{font-size:9px;line-height:1.4;color:#f0e6d2;opacity:.9}.ladder-banner-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.ladder-tag{font-size:8px;color:#fff;background:#ffffff24;border:1px solid rgba(224,192,96,.5);border-radius:3px;padding:2px 4px}.minigame-scene{position:relative;width:560px;height:480px;overflow:hidden;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;padding:10px 14px;background-size:cover;background-position:center bottom;color:var(--parchment)}.minigame-scene-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#080c144d,#06080ead)}.mining-scene{background-image:url(/backgrounds/cave.webp)}.game-corner-scene{background-image:url(/backgrounds/town_port.webp)}.minigame-scene-header{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:8px;background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px;padding:4px 8px}.minigame-scene-title{font-size:11px;font-weight:700;color:var(--gold)}.minigame-scene-tally{font-size:9px}.minigame-scene-body{position:relative;z-index:2;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden}.minigame-scene-footer{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:8px;min-height:24px}.route-activity-scene{background-image:url(/backgrounds/beach.webp)}.route-activity-scene.activity-forage{background-image:url(/backgrounds/grassland.webp)}.activity-hint{max-width:92%;text-align:center;font-size:10px;line-height:1.5;color:var(--parchment)}.activity-rod{text-align:center;font-size:9px;color:#9fd0ff}.activity-condition{text-align:center;font-size:9px;color:#8a9bb0}.activity-condition.active{color:var(--gold);text-shadow:0 0 4px rgba(240,200,80,.5)}.activity-bar{position:relative;width:90%;height:34px;background:#0a0e0acc;border:2px solid var(--line-accent);border-radius:4px;overflow:hidden}.activity-bar.locked .activity-marker{opacity:.4}.activity-zone{position:absolute;top:0;bottom:0}.activity-zone-hit{background:#6ab04c55;border-left:1px solid #6ab04c;border-right:1px solid #6ab04c}.activity-zone-perfect{background:#f0c85088;border-left:1px solid var(--gold-bright);border-right:1px solid var(--gold-bright)}.activity-zone-ultra{background:#54e0ffdd;border-left:1px solid #bff4ff;border-right:1px solid #bff4ff;box-shadow:0 0 6px #54e0ff}.activity-marker{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;background:#fff;box-shadow:0 0 6px 2px #fff8}.activity-message{min-height:12px;text-align:center;font-size:10px;color:var(--gold)}.activity-found{max-width:92%;text-align:center;font-size:9px;line-height:1.5;color:var(--text-soft)}.activity-combo{text-align:center;font-size:10px;font-weight:700;color:var(--gold-bright);text-shadow:0 0 4px #f0c85080}.activity-actions{display:flex;gap:8px;width:100%;justify-content:flex-end}.wonder-trade-scene{position:relative;width:560px;height:480px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;padding:16px;color:var(--parchment)}.wonder-trade-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 45%,#241a44,#120a24 60%,#050208)}.wonder-trade-title{position:relative;z-index:2;font-size:16px;font-weight:700;letter-spacing:2px;color:var(--gold);text-shadow:0 2px 0 #1c1408}.wonder-trade-stage{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;width:100%}.wonder-trade-side{display:flex;flex-direction:column;align-items:center;gap:3px;width:170px;min-height:180px}.wonder-trade-label{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--text-soft)}.wonder-trade-sprite{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}.wonder-trade-sprite.shiny{filter:drop-shadow(0 0 10px #ffe680) drop-shadow(0 6px 10px rgba(0,0,0,.5))}.wonder-trade-side.gone .wonder-trade-sprite{animation:wonderTradeSend .55s ease-in forwards}.wonder-trade-side.received .wonder-trade-sprite{animation:wonderTradeReceive .55s ease-out}@keyframes wonderTradeSend{to{transform:translate(-50px) scale(.35) rotate(-20deg);opacity:0}}@keyframes wonderTradeReceive{0%{transform:translate(50px) scale(.35) rotate(20deg);opacity:0}to{transform:none;opacity:1}}.wonder-trade-name{font-size:11px;font-weight:700;text-align:center}.wonder-trade-level{font-size:9px;color:var(--gold)}.wonder-trade-link{position:relative;width:70px;height:70px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.wonder-trade-link-ring{position:absolute;inset:6px;border:3px solid transparent;border-top-color:#7fd0ff;border-right-color:#b98cff;border-radius:50%;animation:wonderTradeSpin 1s linear infinite}@keyframes wonderTradeSpin{to{transform:rotate(360deg)}}.wonder-trade-link-icon{font-size:30px;color:#cfe8ff;text-shadow:0 0 10px #7fd0ff}.wonder-trade-mystery{display:flex;align-items:center;justify-content:center;width:96px;height:96px;font-size:48px;font-weight:700;color:#6b5b8a;border:3px dashed #4a3e66;border-radius:12px}.wonder-trade-text{position:relative;z-index:2;min-height:18px;font-size:10px;text-align:center;color:#fff}.wonder-trade-actions{position:relative;z-index:2;min-height:24px}.mining-scene .mining-grid{width:100%;max-width:400px;margin:0}.mining-scene .mining-found{width:100%;max-width:460px;min-height:22px;margin:0;justify-content:center}.mining-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:8px}.mining-tile{aspect-ratio:1;font-size:8px;font-weight:700;line-height:1.1;color:var(--text-bright);background:linear-gradient(var(--surface-mid),var(--bg-panel-light));border:1px solid var(--line-accent);border-radius:3px;padding:1px;cursor:pointer;overflow:hidden}.mining-tile:hover:not(:disabled){border-color:var(--gold-bright)}.mining-tile.dug{color:#9a8a68;background:#2a2318;border-color:#4a4030;cursor:default}.mining-tile.reward{color:var(--ink-strong);background:linear-gradient(var(--gold-bright),#c9a227);border-color:#fff0b0}.dowsing-scene{background-image:url(/backgrounds/grassland.webp)}.dowsing-scene .dowsing-grid{width:100%;max-width:460px;margin:0;padding:8px;background:radial-gradient(circle at 50% 40%,#285a608c,#0a181eb8 70%);border:2px solid #3f8a86;border-radius:10px;box-shadow:inset 0 0 22px #78f0e62e}.dowsing-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:8px}.dowsing-tile{aspect-ratio:1;font-size:13px;font-weight:700;line-height:1.1;color:#cdeeea;background:linear-gradient(#17323a,#0c1f26);border:1px solid #2f6b6b;border-radius:4px;padding:1px;cursor:pointer;overflow:hidden}.dowsing-tile:hover:not(:disabled){border-color:#7ff0e0;box-shadow:0 0 8px #78f0dc8c}.dowsing-tile.swept{color:#5d8a8a;background:#0a181d;border-color:#1d3d40;cursor:default}.dowsing-tile.find{color:#12240a;background:linear-gradient(#c8ff9a,#6fce4a);border-color:#eaffd0;box-shadow:0 0 10px #96ff7899}.dowsing-aura{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.dowsing-aura-icon{font-size:15px;line-height:1}.dowsing-aura-label{font-size:7px;text-transform:uppercase;letter-spacing:.5px}.dowsing-tile.aura-surging{background:radial-gradient(circle,#fff6a0,#c98a10 70%);border-color:#fff2a0;color:#2a1c00}.dowsing-tile.aura-radiating{background:radial-gradient(circle,#ffe084,#b06a10 75%);border-color:#ffd98a;color:#2a1a00}.dowsing-tile.aura-humming{background:radial-gradient(circle,#a8f0d0,#1f7a68 75%);border-color:#b8ffe8;color:#062620}.dowsing-tile.aura-faint{background:radial-gradient(circle,#8fb6e8,#26456f 78%);border-color:#c4dcff;color:#061426}.dowsing-tile.aura-still{background:radial-gradient(circle,#5a6f7a,#1a2630 80%);border-color:#7f96a0;color:#c6d6dc}.dowsing-found{display:flex;gap:6px;font-size:9px;color:var(--parchment);margin-bottom:8px}.dowsing-found-title{font-weight:700;color:#8ff0d8}.dowsing-scene .dowsing-found{width:100%;max-width:460px;min-height:22px;margin:0;justify-content:center}.mining-found{display:flex;gap:6px;font-size:9px;color:var(--parchment);margin-bottom:8px}.mining-found-title{font-weight:700;color:var(--gold)}.bug-contest-scene{position:relative;width:560px;height:480px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding:10px 14px;background-image:url(/backgrounds/grassland.webp);background-size:cover;background-position:center bottom;color:var(--parchment)}.bug-contest-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08140a33,#0610088c)}.bug-contest-topbar{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:8px;background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px;padding:4px 8px}.bug-contest-heading{font-size:11px;font-weight:700;color:var(--gold)}.bug-contest-tally{font-size:9px;color:var(--parchment)}.bug-contest-field{position:relative;z-index:2;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.bug-contest-bushes{display:flex;gap:26px;align-items:flex-end}.bug-contest-bush{position:relative;width:96px;height:78px;padding:0;border:none;background:transparent;cursor:pointer;transition:transform .12s ease}.bug-contest-bush:hover{transform:translateY(-6px) scale(1.04)}.bug-contest-bush-leaf{position:absolute;inset:0;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 30% 30%,#6fae4e,transparent 55%),radial-gradient(circle at 70% 28%,#5d9a41,transparent 55%),radial-gradient(circle at 50% 68%,#4d8a37,transparent 60%),linear-gradient(180deg,#3f7a2e,#245017);border:2px solid #1c3d12;box-shadow:inset 0 -8px 12px #00000059,0 6px 10px #00000059}.bug-contest-bush:hover .bug-contest-bush-leaf{animation:bushRustle .35s ease-in-out}.bug-contest-bush-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:26px;font-weight:700;color:#f4e9c0;text-shadow:0 2px 0 #1c3d12}@keyframes bushRustle{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-4px) rotate(-3deg)}75%{transform:translate(4px) rotate(3deg)}}.bug-contest-bugs{display:flex;align-items:flex-end;justify-content:center;gap:28px}.bug-contest-bug{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;color:inherit;background:transparent;border:2px solid transparent;border-radius:8px;cursor:pointer}.bug-contest-bug:disabled{cursor:default}.bug-contest-bug.selected{background:#ffc8321a;border-color:var(--gold);box-shadow:0 0 12px #ffc83255}.bug-contest-bug-sprite{width:128px;height:128px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}.bug-contest-bug.throwing .bug-contest-bug-sprite{animation:bugStartled .4s ease-in-out}@keyframes bugStartled{0%,to{transform:translateY(0)}50%{transform:translateY(-10px) scale(1.05)}}.bug-contest-ball{filter:drop-shadow(0 0 6px #4fd0ff88);animation:netBallThrow .75s ease-in-out infinite alternate}@keyframes netBallThrow{0%{transform:translate(-90px) rotate(-40deg)}to{transform:translate(40px) rotate(40deg)}}.bug-contest-bug-meta{display:flex;flex-direction:column;align-items:center;gap:2px}.bug-contest-bug-name{font-size:13px;font-weight:700;color:#fff}.bug-contest-bug-detail{font-size:10px;color:var(--gold)}.bug-contest-results{display:flex;flex-direction:column;align-items:center;gap:8px}.bug-contest-results-title{font-size:15px;font-weight:700;color:var(--gold);text-shadow:0 2px 0 #1c1408}.bug-contest-podium{display:flex;align-items:flex-end;justify-content:center;gap:10px}.bug-contest-place{display:flex;flex-direction:column;align-items:center;gap:2px;width:122px;padding:6px 6px 8px;background:#140e06d1;border:2px solid var(--line-accent);border-radius:6px;color:#fff}.bug-contest-place.place-1{padding-top:12px;padding-bottom:14px;border-color:var(--gold-bright);box-shadow:0 0 14px #f0d06073}.bug-contest-place.place-2{border-color:#c8ccd8}.bug-contest-place.place-3{border-color:#c88a5a}.bug-contest-place.player{background:#281e0aeb}.bug-contest-place-rank{font-size:10px;font-weight:700;color:var(--gold)}.bug-contest-place-sprite{width:56px;height:56px;object-fit:contain;image-rendering:pixelated}.bug-contest-place.place-1 .bug-contest-place-sprite{width:68px;height:68px}.bug-contest-place-name{font-size:10px;font-weight:700}.bug-contest-place-detail{font-size:9px;color:var(--gold)}.bug-contest-place-owner{font-size:8px;color:var(--parchment);opacity:.85;text-align:center}.bug-contest-place.player .bug-contest-place-owner{color:#ffe680;opacity:1}.bug-contest-place-score{font-size:9px;font-weight:700}.bug-contest-prize{display:flex;align-items:center;gap:8px;padding:4px 10px;background:linear-gradient(180deg,#f0d0602e,#785a142e);border:1px solid var(--gold);border-radius:4px}.bug-contest-prize-label{font-size:10px;font-weight:700;color:var(--gold)}.bug-contest-prize-reward{font-size:9px;color:#fff}.bug-contest-results-note{font-size:9px;color:var(--parchment);text-align:center;max-width:460px}.bug-contest-lower{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}.bug-contest-text{min-height:30px;font-size:10px;line-height:1.4;color:#fff;background:#140e06c7;border:1px solid var(--line-accent);border-radius:4px;padding:6px 8px}.bug-contest-actions{display:flex;justify-content:flex-end;gap:8px;min-height:24px}.bug-contest-flash{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle at 50% 45%,#fff,#ffe680 30%,transparent 65%);animation:bugContestFlash .5s ease-out forwards}@keyframes bugContestFlash{0%{opacity:1}to{opacity:0}}.slot-machine{display:flex;gap:8px;justify-content:center;padding:8px;background:linear-gradient(#241a10,#120c06);border:2px solid var(--line-accent);border-radius:8px;box-shadow:inset 0 0 20px #0009}.slot-reel{display:flex;flex-direction:column;gap:6px}.slot-cell{width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:#1a1a2a;border:2px solid var(--line-accent);border-radius:6px;overflow:hidden}.slot-reel.spinning .slot-cell{border-color:#4a4030;animation:slotShake .12s linear infinite}@keyframes slotShake{0%,to{transform:translateY(-1px)}50%{transform:translateY(1px)}}.slot-sprite{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.slot-cell.win{border-color:var(--gold-bright);box-shadow:0 0 10px var(--gold-bright);animation:game-corner-pop .4s ease}@keyframes game-corner-pop{0%{transform:scale(1.15)}to{transform:scale(1)}}.game-corner-result{font-size:10px;font-weight:700;color:var(--parchment);text-align:center;margin-bottom:8px;min-height:12px}.game-corner-table{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;justify-content:center}.game-corner-payout{display:inline-flex;align-items:center;gap:3px;font-size:8px;color:var(--text-soft);background:#00000059;border-radius:3px;padding:2px 4px}.game-corner-payout-sprite{width:18px;height:18px;object-fit:contain;image-rendering:pixelated}.game-corner-track{display:flex;align-items:center;gap:6px;width:100%;max-width:260px;margin-top:10px}.game-corner-track-label{font-size:8px;font-weight:700;color:var(--gold-bright);letter-spacing:.5px}.game-corner-track-bar{flex:1;height:8px;background:#00000073;border:1px solid var(--surface-mid);border-radius:4px;overflow:hidden}.game-corner-track-fill{height:100%;background:linear-gradient(90deg,#e0a020,#f8e070);transition:width .3s ease}.game-corner-track-count{font-size:8px;color:var(--text-soft);min-width:26px;text-align:right}.reward-shop-token-display{text-align:center;padding:6px 0 10px;font-size:12px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.reward-shop-list{display:flex;flex-direction:column;gap:6px}.reward-shop-header-buttons{display:flex;align-items:center;gap:6px}.reward-shop-search-btn{font-family:var(--font-pixel);font-size:9px;padding:2px 8px;color:var(--ink);background:var(--parchment-dark);border:2px solid var(--text-dim);border-radius:0;cursor:pointer}.reward-shop-search-btn:hover{border-color:var(--gold-line)}.reward-shop-search-btn.active{background:var(--gold);border-color:var(--gold-dark)}.reward-shop-empty{padding:12px 0;text-align:center;font-size:9px;color:var(--surface-mid)}.reward-shop-row{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;font-size:11px;border-bottom:1px solid rgba(255,255,255,.05)}.reward-shop-left{display:flex;align-items:center;gap:6px;min-width:0}.reward-shop-item-info{display:flex;flex-direction:column;gap:1px}.reward-shop-item-name{font-weight:700}.reward-shop-item-desc{font-size:10px;opacity:.6}.reward-shop-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.reward-shop-item-owned{font-size:10px;opacity:.6}.reward-shop-buy-btn{display:flex;flex-direction:column;align-items:center;width:75px;padding:3px 4px;background:var(--stone-dark);color:var(--parchment);border:1px solid var(--line);cursor:pointer}.reward-shop-buy-label{font-size:10px;font-weight:700}.reward-shop-buy-cost{font-size:9px;opacity:.7}.reward-shop-buy-btn:hover:not(.disabled){background:var(--gold);color:var(--on-accent)}.reward-shop-buy-btn.disabled{opacity:.4;cursor:not-allowed}.patch-notes-modal{background:var(--bg-deep);border:2px solid var(--gold);border-radius:6px;width:min(680px,100%);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0009}.patch-notes-content{padding:8px 12px;font-size:11px;color:var(--text-color);overflow-y:auto;max-height:75vh;line-height:1.5}.patch-notes-title{font-size:16px;font-weight:700;color:var(--gold);text-align:center;margin-bottom:2px}.patch-notes-modal .modal-title{color:var(--gold)}.patch-notes-subtitle{font-size:12px;color:var(--text-color);text-align:center;opacity:.7;margin-bottom:10px}.patch-notes-section{margin-bottom:8px}.patch-notes-section-heading{font-weight:700;font-size:12px;color:var(--gold);margin-bottom:2px}.patch-notes-list{margin:0;padding-left:16px}.patch-notes-list li{margin:2px 0}.patch-notes-feedback{margin-top:8px;font-style:italic;opacity:.8}.patch-notes-feedback a{color:var(--gold);text-decoration:underline}.patch-notes-footer{padding:6px 12px 10px;text-align:center}.patch-notes-dismiss-btn{background:var(--gold);color:var(--on-accent);border:1px solid var(--gold);padding:4px 20px;font-size:11px;font-weight:700;cursor:pointer;border-radius:3px}.patch-notes-dismiss-btn:hover{background:var(--gold)}.patch-notes-link-btn{display:inline-block;margin-top:8px;background:var(--gold);color:var(--on-accent);border:1px solid var(--gold);padding:4px 14px;font-size:10px;font-weight:700;cursor:pointer;border-radius:3px}.patch-notes-link-btn:hover{background:var(--gold-bright)}.patch-notes-page{min-height:100vh;background:var(--bg-dark);color:#d4c8a0;font-family:"Press Start 2P",monospace;padding:0}.patch-notes-page-header{background:var(--bg-panel);border-bottom:2px solid var(--surface-mid);padding:16px 24px;display:flex;align-items:center;gap:24px}.patch-notes-back-btn{color:var(--gold);text-decoration:none;font-size:10px;border:1px solid var(--surface-mid);padding:4px 12px;border-radius:3px;background:#c8a8601a;white-space:nowrap}.patch-notes-back-btn:hover{background:#c8a86040}.patch-notes-page-title{font-size:16px;color:var(--gold-bright);margin:0;text-shadow:1px 1px 0 #5a4020}.patch-notes-page-content{max-width:700px;margin:0 auto;padding:24px}.patch-notes-version-block{margin-bottom:8px}.patch-notes-page-version-header{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.patch-notes-page-version{font-size:14px;color:var(--gold-bright);font-weight:700}.patch-notes-page-subtitle{font-size:10px;color:var(--text-dim)}.patch-notes-divider{border:none;border-top:1px solid rgba(200,168,96,.2);margin:20px 0}@media (max-width: 1200px){.box-grid{grid-template-columns:repeat(6,40px);gap:3px}.box-grid-slot{width:40px;height:40px}.box-grid-slot img{width:34px;height:34px}.party-sprite{width:28px;height:28px}.party-content{padding:6px}.panel-content{padding:10px}.bag-container{height:clamp(220px,28vh,360px)}}@media (max-width: 900px){.box-grid{grid-template-columns:repeat(6,36px);gap:2px}.party-reorder-btn{width:30px;height:26px;font-size:10px}.map-zoom-btn{width:34px;height:34px;font-size:12px}.map-pan-hint{font-size:8px}.box-grid-slot{width:36px;height:36px}.box-grid-slot img{width:30px;height:30px}.party-sprite{width:24px;height:24px}.party-slot{padding:4px 6px}.center-column .town-map{min-height:120px}}.game-layout.mobile{display:flex;flex-direction:column;height:100vh;height:100dvh;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);overflow:hidden}.game-layout.mobile .battle-screen{flex:0 0 auto;overflow:hidden}.mobile-tabs{flex:1;display:flex;flex-direction:column;width:100%;max-width:720px;margin:0 auto;min-height:0}.mobile-tab-bar{flex:0 0 auto}.mobile-tab-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;background:var(--bg-panel)}.mobile-tabs .tab-btn{font-size:9px;min-height:44px;padding:10px 3px}.mobile-tabs .tab-btn:active{opacity:.7}.mobile-party-wrapper{display:flex;flex-direction:column;padding:0}.mobile-party-wrapper .panel-header{padding:8px 10px}.mobile-party-wrapper .party-content{padding:8px}.mobile-box-wrapper{padding:0}.mobile-box-wrapper .box-container{border-top:none}.mobile-location-wrapper{display:flex;flex-direction:column;min-height:100%}.mobile-location-wrapper .panel-content{flex:1}.mobile-backpack-wrapper{display:flex;flex-direction:column;height:100%}.mobile-backpack-wrapper .backpack-panel{flex:1;height:auto}.mobile-log-wrapper{display:flex;flex-direction:column;height:100%}.mobile-log-wrapper .battle-log{flex:1;min-height:0}.mobile-tab-content .town-map{min-height:300px;height:100%;border-top:none}@media (max-width: 767px){.move-panel-overlay{max-height:100vh;max-height:100dvh;overflow-y:auto}.game-window{box-shadow:none}}.companion-content,.garden-content{display:flex;flex-direction:column;gap:8px}.companion-card{display:flex;gap:10px;align-items:center}.companion-portrait{display:flex;flex-direction:column;align-items:center;gap:2px;width:96px}.companion-sprite{width:72px;height:72px;image-rendering:pixelated}.companion-name{font-size:10px;font-weight:700;text-align:center}.companion-level{font-size:9px;color:var(--surface-mid)}.companion-care{flex:1;display:flex;flex-direction:column;gap:6px}.companion-bar-row{display:flex;align-items:center;gap:6px}.companion-bar-label{width:62px;font-size:9px;color:var(--ink)}.companion-bar{flex:1;height:10px;background:#0002;border:1px solid var(--text-dim);border-radius:3px;overflow:hidden}.companion-bar-fill{height:100%;background:#4c9a4c}.companion-bar-fill.low{background:#c07030}.companion-bar-value{width:24px;font-size:9px;text-align:right}.companion-bonus{font-size:9px;color:var(--surface-mid);padding:6px;background:#00000012;border:1px solid #00000022}.companion-bonus.active{color:#1e5a1e;background:#4c9a4c22;border-color:#4c9a4c}.companion-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.companion-action-btn{flex:1;padding:8px 6px;font:inherit;font-size:9px;font-weight:700;color:var(--parchment);background:var(--gold-dark);border:2px solid var(--gold);cursor:pointer}.companion-action-btn:hover:not(:disabled){background:var(--gold);color:var(--on-accent)}.companion-action-btn:disabled{opacity:.5;cursor:not-allowed}.companion-cooldown{margin:0;font-size:9px;color:var(--surface-mid);text-align:center}.companion-picker-title,.garden-picker-title{font-size:10px;font-weight:700;color:var(--ink);margin-top:4px}.companion-picker{display:flex;flex-wrap:wrap;gap:4px}.companion-pick{display:flex;align-items:center;gap:4px;padding:3px 6px;font:inherit;font-size:9px;color:var(--ink);background:#00000012;border:2px solid var(--line);cursor:pointer}.companion-pick.active{border-color:var(--gold);background:#f0c85033}.companion-pick-sprite{width:22px;height:22px;image-rendering:pixelated}.companion-unpin{align-self:center;padding:5px 12px;font:inherit;font-size:9px;color:var(--parchment);background:#8b3030;border:2px solid #5a1a1a;cursor:pointer}.companion-buddy{position:relative;width:86px;height:86px;display:flex;align-items:center;justify-content:center;padding:0;border:2px solid #b89a68;border-radius:50%;background:radial-gradient(circle at 50% 68%,#fff6d8,var(--parchment) 70%,#e0cc9c);cursor:pointer;animation:companionBob 2.6s ease-in-out infinite}.companion-portrait[data-mood=low] .companion-buddy{filter:saturate(.75)}.companion-sprite.pet{animation:companionPet .5s ease}.companion-heart{position:absolute;bottom:58%;transform:translate(-50%);font-size:15px;pointer-events:none;animation:companionHeart 1s ease-out forwards}.companion-mood{font-size:9px;color:var(--surface-mid);padding:1px 7px;background:#00000012;border-radius:7px}.companion-pet-hint{margin:0;font-size:9px;color:var(--surface-mid);text-align:center}@keyframes companionBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes companionPet{0%{transform:scale(1) rotate(0)}30%{transform:scale(1.14) rotate(-5deg)}60%{transform:scale(.95) rotate(4deg)}to{transform:scale(1) rotate(0)}}@keyframes companionHeart{0%{opacity:0;transform:translate(-50%) scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-46px) scale(1.15)}}.garden-plots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.garden-plot{min-height:64px;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;background:#00000014;border:2px solid var(--line)}.garden-plot.empty{cursor:pointer;border-style:dashed;color:#7a6848}.garden-plot.ready{border-color:#4c9a4c;background:#4c9a4c22}.garden-plot-filled{display:flex;flex-direction:column;gap:6px;width:100%}.garden-berry-name{font-size:10px;font-weight:700}.garden-harvest-btn{padding:5px;font:inherit;font-size:9px;font-weight:700;color:var(--parchment);background:#2e7d32;border:2px solid #1b4d1f;cursor:pointer}.garden-growth-bar{height:8px;background:#0002;border:1px solid var(--text-dim);border-radius:3px;overflow:hidden}.garden-growth-fill{height:100%;background:#6ab04c}.garden-growth-label,.garden-plot-empty-label{font-size:9px;color:var(--surface-mid)}.garden-picker{display:flex;flex-wrap:wrap;gap:4px}.garden-berry-pick{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 8px;font:inherit;font-size:9px;color:var(--ink);background:#00000012;border:2px solid var(--line);cursor:pointer}.garden-berry-pick.active{border-color:var(--gold);background:#f0c85033}.garden-berry-pick.empty{opacity:.55}.garden-berry-pick-name{font-weight:700}.garden-berry-pick-owned{font-size:8px;color:var(--surface-mid)}.garden-blend-btn{padding:8px;font:inherit;font-size:9px;font-weight:700;color:var(--parchment);background:#7a4fa0;border:2px solid #4a2a6a;cursor:pointer}.garden-blend-btn:hover:not(:disabled){background:#8f5fb8}.garden-blend-btn:disabled{opacity:.5;cursor:not-allowed}.location-tower{display:flex;flex-direction:column;gap:3px;margin-top:4px}.activity-rings{position:relative;flex:0 0 auto;width:170px;height:170px;border-radius:50%}.activity-rings.locked .activity-ring-marker{opacity:.4}.activity-ring-target{position:absolute;left:50%;top:50%;box-sizing:border-box;width:100%;height:100%;transform:translate(-50%,-50%);border:1px dashed #ffffff80;border-radius:50%}.activity-ring-marker{position:absolute;left:50%;top:50%;box-sizing:border-box;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 6px #fff8}.activity-ring-marker.hit{border-color:#6ab04c;box-shadow:0 0 6px #6ab04c}.activity-ring-marker.perfect{border-color:var(--gold-bright);box-shadow:0 0 8px var(--gold-bright)}.activity-ring-marker.ultra{border-color:#54e0ff;box-shadow:0 0 10px #54e0ff}.safari-scene{position:relative;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;width:560px;height:480px;overflow:hidden;padding:10px 14px;background-image:url(/backgrounds/grassland.webp);background-size:cover;background-position:center bottom;color:var(--parchment)}.safari-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08180a40,#06120899)}.safari-topbar{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 8px;background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px}.safari-heading{font-size:11px;font-weight:700;color:var(--gold)}.safari-tally{font-size:9px}.safari-field{position:relative;z-index:2;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.safari-pokemon{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.safari-sprite{width:130px;height:130px;image-rendering:pixelated;filter:drop-shadow(0 6px 4px #0006)}.safari-pokemon.throwing .safari-sprite{animation:safariWobble .6s ease-in-out}.safari-meta{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 10px;background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px}.safari-name{font-size:11px;font-weight:700}.safari-detail{font-size:9px}.safari-effects{display:flex;gap:4px}.safari-effect{padding:1px 5px;font-size:8px;font-weight:700;border-radius:8px}.safari-effect.baited{background:#30b0d0;color:#062028}.safari-effect.rocked{background:#c07030;color:#2a1206}.safari-shiny{padding:1px 6px;font-size:8px;font-weight:700;color:#3a2a00;background:linear-gradient(#ffe680,#f0c030);border-radius:8px;box-shadow:0 0 8px var(--gold-bright);animation:safariShiny 1.4s ease-in-out infinite}@keyframes safariShiny{0%,to{box-shadow:0 0 6px var(--gold-bright)}50%{box-shadow:0 0 16px #ffe680}}.safari-ball{position:absolute;top:10px;animation:safariThrow .6s ease-in-out infinite alternate}.safari-ready{display:flex;flex-direction:column;align-items:center;gap:8px}.safari-ready-icon{font-size:44px}.safari-ready-text,.safari-summary-note{max-width:320px;text-align:center;font-size:10px;line-height:1.5}.safari-summary{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;background:#140e06b8;border:1px solid var(--line-accent);border-radius:6px}.safari-summary-title{font-size:14px;font-weight:700;color:var(--gold)}.safari-lower{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}.safari-text{min-height:30px;padding:6px 8px;font-size:10px;line-height:1.4;color:#fff;background:#140e06c7;border:1px solid var(--line-accent);border-radius:4px}.safari-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-height:24px}.safari-flash{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle at 50% 45%,#fff,#ffe680 30%,transparent 65%);animation:bugContestFlash .5s ease-out forwards}@keyframes safariThrow{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-6px) rotate(20deg)}}@keyframes safariWobble{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.safari-areas{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.safari-areas-title{font-size:10px;color:var(--text-bright)}.safari-area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;max-width:480px}.safari-area{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;text-align:left;color:var(--on-accent);background:linear-gradient(var(--parchment),var(--parchment-dark));border:2px solid var(--line-accent);border-radius:6px;cursor:pointer}.safari-area:hover{filter:brightness(1.06)}.safari-area-name{font-size:10px;font-weight:700}.safari-area-desc{font-size:8px;line-height:1.35;opacity:.85}.safari-area-rares{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.safari-area-rare{display:flex;align-items:center;gap:2px;padding:1px 4px 1px 1px;font-size:8px;font-weight:700;color:var(--parchment);background:#140e06b8;border-radius:8px}.safari-area-rare-sprite{width:16px;height:16px;image-rendering:pixelated}.safari-area-center{background-image:linear-gradient(#78c8782e,#78c8782e),url(/backgrounds/grassland.webp)}.safari-area-east{background-image:linear-gradient(#5096dc38,#5096dc38),url(/backgrounds/grassland.webp)}.safari-area-north{background-image:linear-gradient(#b48c5038,#b48c5038),url(/backgrounds/grassland.webp)}.safari-area-west{background-image:linear-gradient(#5aa05a47,#285a324d),url(/backgrounds/grassland.webp)}.route-activity-scene.activity-rockSmash{background-image:url(/backgrounds/cave.webp)}.route-activity-scene.activity-headbutt{background-image:url(/backgrounds/grassland.webp)}.route-activity-scene.activity-diving{background-image:url(/backgrounds/beach.webp)}.route-activity-scene.activity-bugCatch{background-image:url(/backgrounds/forest.webp)}.route-activity-scene.activity-climb{background-image:url(/backgrounds/mountain.webp)}.route-activity-scene.activity-prospecting{background-image:url(/backgrounds/ruins.webp)}.activity-diving .minigame-scene-bg{background:linear-gradient(180deg,#0a285073,#041028d1)}.activity-gauge{position:relative;width:64px;height:172px;overflow:hidden;background:#140e0699;border:2px solid var(--line-accent);border-radius:4px}.activity-gauge .activity-zone{left:0;right:0;bottom:auto}.activity-charge{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.activity-trees{display:flex;gap:22px;align-items:flex-end}.activity-tree{width:78px;height:92px;display:flex;align-items:center;justify-content:center;font-size:52px;line-height:1;background:linear-gradient(180deg,#2e5220,#1a2f12);border:2px solid #6d8a4d;border-radius:12px 12px 6px 6px;cursor:pointer;touch-action:none;user-select:none;transition:transform .1s ease,filter .1s ease,box-shadow .1s ease}.activity-tree:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)}.activity-tree.charging{animation:activityTreeShake .16s linear infinite;box-shadow:0 0 0 3px var(--gold),0 0 18px #ffd65a99;border-color:var(--gold)}.activity-tree:disabled{cursor:default;opacity:.75}.activity-charge.locked .activity-tree{opacity:.6}.activity-charge .activity-bar{width:80%}.activity-charge-fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#ffd65a59,#ffffff1f);border-right:2px solid rgba(255,255,255,.85);pointer-events:none}@keyframes activityTreeShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-2px) rotate(-1.5deg)}75%{transform:translate(2px) rotate(1.5deg)}}.activity-gauge-depth{background:linear-gradient(180deg,#0b3a6a,#062038)}.activity-gauge-marker{position:absolute;left:50%;transform:translate(-50%,-50%);font-size:16px;line-height:1}.activity-gauge-marker.hit{filter:drop-shadow(0 0 4px #6ab04c)}.activity-gauge-marker.perfect{filter:drop-shadow(0 0 6px var(--gold-bright))}.activity-gauge-marker.ultra{filter:drop-shadow(0 0 8px #54e0ff)}.activity-gauge.locked .activity-gauge-marker{opacity:.5}.activity-mash{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.activity-mash-timer{position:relative;width:80%;height:10px;overflow:hidden;background:#0a0e0acc;border:2px solid var(--line-accent);border-radius:4px}.activity-mash-timer-fill{position:absolute;inset:0;transform:scaleX(1);transform-origin:left;background:linear-gradient(90deg,var(--gold-bright),#ff6a3d)}.activity-mash-timer-fill.running{animation-name:activityMashDrain;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes activityMashDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.activity-boulder{width:132px;height:108px;display:flex;align-items:center;justify-content:center;font-size:70px;line-height:1;background:linear-gradient(180deg,#8a8578,#4a463d);border:2px solid #b3ab98;border-radius:46% 54% 48% 52%;cursor:pointer;touch-action:none;user-select:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5));transition:transform .06s ease,filter .06s ease}.activity-boulder.active{box-shadow:0 0 0 3px var(--gold),0 0 18px #ffd65a99}.activity-boulder:active:not(:disabled){transform:scale(.93)}.activity-boulder:disabled{cursor:default;opacity:.75}.activity-mash-power{position:relative;width:80%;height:16px;overflow:hidden;background:#0a0e0acc;border:2px solid var(--line-accent);border-radius:4px}.activity-mash-power-fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#6ab04c,var(--gold-bright),#54e0ff);transition:width .05s linear}.activity-mash-count{font-size:10px;color:var(--gold)}.activity-bugfield{position:relative;width:90%;height:172px;overflow:hidden;background:linear-gradient(180deg,#14321973,#08160c99);border:2px solid #5a7d3a;border-radius:6px}.activity-bug-bush{position:absolute;transform:translate(-50%,-50%);font-size:30px;opacity:.75;pointer-events:none}.activity-bug{position:absolute;box-sizing:border-box;padding:0;transform:translate(-50%,-50%);font-size:34px;line-height:1;background:transparent;border:0;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 0 6px rgba(255,255,255,.55));animation:activityBugWiggle .4s ease-in-out infinite alternate}.activity-bugfield.locked .activity-bug{opacity:.45;cursor:default;animation-play-state:paused}@keyframes activityBugWiggle{0%{transform:translate(-50%,-50%) rotate(-9deg)}to{transform:translate(-50%,-50%) rotate(9deg)}}.activity-bug-timer{position:absolute;left:0;right:0;bottom:0;height:5px;background:#ffffff29}.activity-bug-timer-fill{height:100%;transform:scaleX(1);transform-origin:left;background:var(--gold-bright);animation-name:activityBugDrain;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes activityBugDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.activity-grip{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.activity-wall{position:relative;width:124px;height:186px;overflow:hidden;background:linear-gradient(180deg,#6f675b,#2e2a24);border:2px solid var(--text-dim);border-radius:8px}.activity-wall-band{position:absolute;left:0;right:0;background:#6ab04c52;border-top:1px solid #6ab04c;border-bottom:1px solid #6ab04c}.activity-climber{position:absolute;left:50%;transform:translate(-50%,-50%);font-size:26px;line-height:1}.activity-grip-progress{position:relative;width:70%;height:12px;overflow:hidden;background:#0a0e0acc;border:2px solid var(--line-accent);border-radius:4px}.activity-grip-progress-fill{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#6ab04c,#54e0ff)}.activity-hold{width:70%;padding:8px 10px;font-family:inherit;font-size:10px;color:var(--parchment);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(180deg,var(--surface-deep),var(--bg-deep));border:2px solid var(--text-dim);border-radius:6px;cursor:pointer;touch-action:none;user-select:none}.activity-hold.holding{color:#101408;background:linear-gradient(180deg,#ffd65a,#c89020);border-color:#ffe89a;box-shadow:0 0 14px #ffd65a99}.activity-hold:disabled{cursor:default;opacity:.6}.activity-dig{display:flex;flex-direction:column;align-items:center;gap:8px}.activity-dig-grid{display:grid;grid-template-columns:repeat(3,64px);gap:8px}.activity-dig-cell{box-sizing:border-box;width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(180deg,#6b4a2a,#2e1c10);border:2px solid var(--line-accent);border-radius:6px;cursor:pointer;transition:filter .1s ease,transform .1s ease}.activity-dig-cell:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.activity-dig-cell.dug{background:linear-gradient(180deg,#3a2a1a,#1c120a);border-color:#5a4528}.activity-dig-cell.treasure{background:linear-gradient(180deg,var(--gold-bright),#c89020);border-color:#ffe89a;box-shadow:0 0 12px #f0c850b3}.activity-dig-cell:disabled{cursor:default}.activity-dig-tries{font-size:10px;color:var(--gold)}.activity-tap-btn{width:70%;padding:10px;font-family:inherit;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--parchment);background:linear-gradient(180deg,var(--surface-deep),var(--bg-deep));border:2px solid var(--text-dim);border-radius:6px;cursor:pointer;touch-action:none;user-select:none}.activity-tap-btn:hover:not(:disabled){filter:brightness(1.15)}.activity-tap-btn:disabled{cursor:default;opacity:.6}.route-activity-scene.activity-kindle{background-image:url(/backgrounds/volcano.webp)}.activity-stoke{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.activity-fire{font-size:50px;line-height:1;filter:drop-shadow(0 0 14px rgba(255,150,40,.65))}.activity-blaze{display:flex;align-items:center;gap:6px;width:80%}.activity-blaze-label{font-size:8px;letter-spacing:.4px;color:#ffb347}.activity-blaze-track{position:relative;flex:1;height:14px;overflow:hidden;background:#140e06b3;border:2px solid var(--line-accent);border-radius:4px}.activity-blaze-fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#ffb347,#ff6a3d,#ff2d2d);transition:width .12s ease}.activity-blaze-count{min-width:26px;text-align:right;font-size:9px;color:var(--gold)}.activity-risk{font-size:9px;color:var(--text-soft)}.activity-risk.high{color:#e8874a}.activity-stoke-actions{display:flex;gap:8px;width:80%}.activity-stoke-actions .activity-tap-btn{width:50%}.route-activity-scene.activity-overcharge{background-image:url(/backgrounds/cave.webp)}.activity-circuit{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.activity-coil{position:relative;width:168px;height:168px;border:3px solid var(--line-accent);border-radius:50%;background:radial-gradient(circle at center,#54e0ff1f,#0a0e0a99)}.activity-contact{position:absolute;left:50%;top:-5px;width:16px;height:28px;transform:translate(-50%);background:#54e0ff;border-radius:4px;box-shadow:0 0 10px #54e0ff}.activity-spark{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px #fff8}.activity-spark.charged{background:#54e0ff;box-shadow:0 0 12px 3px #54e0ff}.activity-spark-pips{display:flex;gap:10px}.activity-spark-pip{width:14px;height:14px;border-radius:50%;background:#ffffff26;border:1px solid var(--line-accent)}.activity-spark-pip.charged{background:#54e0ff;border-color:#bff4ff;box-shadow:0 0 8px #54e0ff}.route-activity-scene.activity-seance{background-image:url(/backgrounds/ruins.webp)}.activity-runes{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.activity-rune-status{font-size:10px;color:var(--gold)}.activity-rune-grid{display:grid;grid-template-columns:repeat(2,72px);gap:12px}.activity-rune{width:72px;height:72px;display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(180deg,#2a1a3a,#160d20);border:2px solid #6a4a8a;border-radius:10px;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease}.activity-rune.active{transform:scale(1.08);border-color:#c9a6ff;box-shadow:0 0 16px #b478ffcc}.activity-rune:disabled{cursor:default;opacity:.85}.activity-rune-dots{display:flex;gap:8px}.activity-rune-dot{width:10px;height:10px;border-radius:50%;background:#ffffff26;border:1px solid #6a4a8a}.activity-rune-dot.done{background:#c9a6ff;box-shadow:0 0 8px #c9a6ff}.route-activity-scene.activity-summit{background-image:url(/backgrounds/mountain.webp)}.activity-soar{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.activity-sky{position:relative;width:150px;height:188px;overflow:hidden;background:linear-gradient(180deg,#1a2a4a,#0a1020);border:2px solid #6a7a9a;border-radius:8px}.activity-roost{position:absolute;left:0;right:0;top:0;height:14%;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;background:#6ab04c4d;border-bottom:2px solid #6ab04c}.activity-flier{position:absolute;left:50%;transform:translate(-50%,-50%);font-size:28px;line-height:1;filter:drop-shadow(0 0 6px rgba(255,255,255,.5))}.activity-soar-bars{display:flex;flex-direction:column;gap:4px;width:76%}.activity-soar-bar{display:flex;align-items:center;gap:6px}.activity-soar-bar-label{width:26px;font-size:8px;letter-spacing:.4px;color:#8fa3b8}.activity-soar-bar-track{position:relative;flex:1;height:8px;overflow:hidden;background:#0a0e0ab3;border:1px solid #6a7a9a;border-radius:3px}.activity-soar-bar-fill{position:absolute;top:0;bottom:0;left:0}.activity-soar-bar-fill.stamina{background:linear-gradient(90deg,#6ab04c,#8fdc6a)}.activity-soar-bar-fill.stamina.low{background:linear-gradient(90deg,#e8874a,#e85a5a)}.activity-soar-bar-fill.thermal{background:linear-gradient(90deg,#54e0ff,#8fd0ff)}.academy-scene{position:relative;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;width:560px;height:480px;overflow:hidden;padding:10px 14px;background-image:url(/backgrounds/town.webp);background-size:cover;background-position:center;color:var(--parchment)}.academy-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#141230b8,#0a081ce6)}.academy-topbar{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 8px;background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px}.academy-heading{font-size:11px;font-weight:700;color:var(--gold)}.academy-tally{font-size:9px}.academy-field{position:relative;z-index:2;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.academy-question{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px}.academy-timer{height:10px;overflow:hidden;background:#0006;border:1px solid var(--line-accent);border-radius:4px}.academy-timer-fill{height:100%;background:linear-gradient(90deg,var(--gold-bright),#c83030)}.academy-prompt{text-align:center;font-size:12px;font-weight:700;line-height:1.4}.academy-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.academy-option{padding:10px;background:#140e06b8;border:2px solid var(--line-accent);border-radius:4px;cursor:pointer}.academy-option:hover:not(:disabled){border-color:var(--gold)}.academy-option:disabled{cursor:default;opacity:.85}.academy-option.correct{border-color:#4c9a4c;background:#4c9a4c44}.academy-option.wrong{border-color:#8b3030;background:#8b303044}.academy-summary-score{font-size:11px;font-weight:700}.academy-lower{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}.academy-text{min-height:30px;padding:6px 8px;font-size:10px;line-height:1.4;color:#fff;background:#140e06c7;border:1px solid var(--line-accent);border-radius:4px}.academy-actions{display:flex;justify-content:flex-end;gap:8px;min-height:24px}.pelago-scene{background-image:url(/backgrounds/beach.webp)}.pelago-scene-body{align-items:stretch;justify-content:flex-start;gap:6px;padding:8px;overflow-y:auto;background:linear-gradient(var(--parchment),#e2d3ad);border:2px solid var(--line-accent);border-radius:6px}.pelago-scene-content{flex:1;min-height:0}.pelago-collect{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:16px;background:#080c14b8}.pelago-collect-card{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;max-width:340px;padding:14px 18px;background:linear-gradient(var(--parchment),#e2d3ad);border:3px solid var(--line-accent);border-radius:8px;box-shadow:0 8px 24px #0008}.pelago-collect-title{font-size:12px;font-weight:700;text-align:center;color:var(--ink)}.pelago-collect-list{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto}.pelago-collect-row{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--ink)}.pelago-collect-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.pelago-collect-name{flex:1}.pelago-collect-qty{font-weight:700}.pelago-collect-exp{font-size:11px;font-weight:700;text-align:center;color:#1b6f3a}.pelago-tabs{flex:none;margin-bottom:2px}.pelago-tab-dot{position:absolute;top:4px;right:5px;width:7px;height:7px;border-radius:50%;background:#c83030;border:1px solid #ffe680}.pelago-islands{display:flex;flex-direction:column;gap:10px}.pelago-island{padding:8px;background:#00000012;border:2px solid var(--line)}.pelago-island.ready{border-color:#4c9a4c;background:#4c9a4c1f}.pelago-island-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pelago-island-name{font-size:10px;font-weight:700;color:var(--ink)}.pelago-island-ready{padding:1px 6px;font-size:8px;font-weight:700;color:#fff;background:#2e7d32;border-radius:8px}.pelago-island-desc{margin:3px 0 6px;font-size:9px;color:var(--surface-mid)}.pelago-slots{display:flex;gap:6px;margin-bottom:6px}.pelago-slot{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;font:inherit;font-size:8px;color:var(--ink);background:#00000012;border:2px dashed var(--text-dim)}.pelago-slot.filled{cursor:pointer;border-style:solid;border-color:var(--line)}.pelago-slot.empty{align-items:center;justify-content:center;min-height:44px;color:var(--text-muted)}.pelago-slot-sprite{width:34px;height:34px;image-rendering:pixelated}.pelago-slot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pelago-slot-exp{width:100%}.pelago-slot-exp .exp-label{font-size:7px}.pelago-slot-exp .exp-bar{margin-top:2px}.pelago-progress{display:flex;align-items:center;gap:6px;margin-bottom:6px}.pelago-progress-bar{flex:1;height:8px;overflow:hidden;background:#0002;border:1px solid var(--text-dim);border-radius:3px}.pelago-progress-fill{height:100%;background:#6ab04c}.pelago-progress-label{font-size:8px;color:var(--surface-mid);white-space:nowrap}.pelago-island-actions{display:flex;gap:6px}.pelago-collect-btn,.pelago-assign-btn{flex:1;padding:6px;font:inherit;font-size:9px;font-weight:700;color:var(--parchment);border:2px solid var(--line);cursor:pointer}.pelago-collect-btn{background:#2e7d32;border-color:#1b4d1f}.pelago-assign-btn{background:var(--gold-dark);border-color:var(--gold)}.pelago-collect-btn:disabled,.pelago-assign-btn:disabled{opacity:.5;cursor:not-allowed}.pelago-picker{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.pelago-pick{display:flex;align-items:center;gap:4px;padding:3px 6px;font:inherit;font-size:9px;color:var(--ink);background:#fff8;border:2px solid var(--line);cursor:pointer}.pelago-pick-sprite{width:22px;height:22px;image-rendering:pixelated}.secret-base-bg{background:radial-gradient(circle at 30% 20%,#6d5a3ecc,transparent 55%),linear-gradient(160deg,#3b2f22,#211810)}.secret-base-body{display:flex;flex-direction:column;gap:8px}.secret-base-scroll{flex:1;overflow-y:auto;padding:0 2px 12px}.secret-base-stats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.secret-base-stat{display:flex;flex-direction:column;align-items:center;min-width:58px;padding:5px 8px;color:#c9b48f;background:#1b140dcc;border:2px solid var(--line);font-size:9px}.secret-base-stat.active{color:var(--gold)}.secret-base-stat-label{opacity:.75;font-size:8px}.secret-base-stat-value{font-weight:700}.secret-base-stat.total{justify-content:center;color:#9ad3a0}.secret-base-yield{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;background:#1b140dcc;border:2px solid var(--line)}.secret-base-yield.ready{border-color:var(--gold)}.secret-base-yield-info{display:flex;flex:1;flex-direction:column;gap:2px}.secret-base-yield-title{font-size:10px;font-weight:700;color:var(--parchment)}.secret-base-yield-desc{font-size:8px;color:#b9a583}.secret-base-collect-btn{padding:8px 12px;font:inherit;font-size:9px;font-weight:700;color:var(--parchment);background:#2e7d32;border:2px solid #1b4d1f;cursor:pointer}.secret-base-collect-btn:disabled{opacity:.5;cursor:not-allowed}.secret-base-subtitle{margin:8px 0 4px;font-size:9px;font-weight:700;color:#d8c6a2}.secret-base-grid{display:grid;gap:4px}.secret-base-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:20px;background:#2a2016;border:2px solid var(--surface-deep);cursor:pointer}.secret-base-cell.placeable{border-color:#6f8f4c;background:#2f3a22}.secret-base-cell.filled{background:#3d3222;border-color:var(--gold-dark)}.secret-base-cell-icon{pointer-events:none}.secret-base-inventory{display:flex;flex-wrap:wrap;gap:4px}.secret-base-selection{display:flex;align-items:center;gap:4px;padding:4px 6px;font:inherit;font-size:9px;color:var(--ink);background:#fff8;border:2px solid var(--line);cursor:pointer}.secret-base-selection.active{border-color:var(--gold);background:#ffe9a8}.secret-base-selection-count{opacity:.7}.secret-base-shop-group{margin-bottom:10px}.secret-base-shop-row{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:4px;background:#1b140dcc;border:2px solid var(--line)}.secret-base-shop-row.locked{opacity:.6}.secret-base-shop-row.owned{border-color:var(--gold-dark)}.secret-base-shop-icon{font-size:20px}.secret-base-shop-info{display:flex;flex:1;flex-direction:column;gap:1px}.secret-base-shop-name{font-size:10px;font-weight:700;color:var(--parchment)}.secret-base-shop-bonus{font-size:8px;color:#9ad3a0}.secret-base-shop-milestone{font-size:8px;color:#c9a86a}.secret-base-buy-btn{min-width:64px;padding:6px 8px;font:inherit;font-size:9px;font-weight:700;color:var(--parchment);background:var(--gold-dark);border:2px solid var(--gold);cursor:pointer}.secret-base-buy-btn:disabled{opacity:.5;cursor:not-allowed}.secret-base-card .location-minigame-hint{margin-bottom:6px}.secret-base-toggle{display:flex;align-items:center;gap:5px;width:100%;padding:0;font-family:inherit;text-align:left;background:none;border:none;cursor:pointer}.secret-base-toggle-arrow{font-size:9px;color:var(--gold)}.secret-base-toggle:hover .secret-base-toggle-label,.secret-base-toggle:hover .secret-base-toggle-arrow,.secret-base-toggle.open .secret-base-toggle-arrow{color:var(--gold-bright)}.secret-base-toggle-status{margin-left:auto;font-size:8px;color:var(--text-muted);letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-encounters{display:flex;align-items:stretch;justify-content:center;gap:16px;width:100%}.activity-encounter{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;background:#140e06b8;border:2px solid var(--line-accent);border-radius:6px;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.activity-encounter.selected{border-color:var(--gold);background:#ffc8321a;box-shadow:0 0 12px #ffc83255}.activity-encounter.shiny{border-color:var(--gold-bright);box-shadow:0 0 14px #f0d06088}.activity-encounter-sprite{width:96px;height:96px;image-rendering:pixelated}.activity-encounter-name{font-size:12px;font-weight:700}.activity-encounter-level{font-size:10px}.activity-encounter-types{display:flex;gap:4px}.activity-encounter-bonuses{margin-top:4px;text-align:center;font-size:9px;color:#9fd0ff}.activity-catch-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:9px;font-weight:700;letter-spacing:.5px;color:#10240c;background:linear-gradient(#8ecf6a,#4c9a34);border:2px solid #2e7d32;border-radius:0;cursor:pointer;white-space:nowrap}.activity-catch-btn:hover:not(:disabled){background:linear-gradient(#a5e07f,#5cb040)}.activity-catch-btn:disabled{opacity:.55;cursor:not-allowed}.minigame-scene-log{max-width:92%;min-height:24px;padding:5px 8px;text-align:center;font-size:10px;line-height:1.4;color:#fff;background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px}.voltorb-scene{background-image:url(/backgrounds/town_port.webp)}.voltorb-board{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;width:100%;max-width:350px}.voltorb-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px;font-size:9px;line-height:1.1;color:var(--text-bright);background:#140e06b8;border:1px solid var(--line-accent);border-radius:3px}.voltorb-hint-bombs{display:flex;align-items:center;gap:2px;color:#ff8a8a;font-weight:700}.voltorb-hint-sum{color:var(--gold);font-weight:700}.voltorb-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--on-accent);background:linear-gradient(#dfe8c8,#b9c9a0);border:2px solid #6d8a4d;border-radius:4px;cursor:pointer}.voltorb-tile:hover:not(:disabled){filter:brightness(1.08)}.voltorb-tile:disabled{cursor:default}.voltorb-tile.flipped{background:var(--parchment);border-color:var(--line-accent)}.voltorb-tile.flipped.one{color:var(--surface-mid)}.voltorb-tile.flipped.two{color:#1b6f3a}.voltorb-tile.flipped.three{color:#a3221f}.voltorb-tile.flipped.voltorb{color:#ff8a8a;background:#3a1d1d;border-color:#7a2020}.voltorb-tile.marked{box-shadow:inset 0 0 0 2px #d4a017}.voltorb-mark{font-size:11px;color:#c0392b}.voltorb-tile.revealed.voltorb{color:#ff8a8a;background:#3a1d1d;border-color:#7a2020;opacity:.9}.voltorb-revealed{font-size:11px;animation:voltorbReveal .35s ease both}@keyframes voltorbReveal{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.voltorb-summary-score{font-size:10px;color:#fff}.auction-scene{background-image:url(/backgrounds/town_port.webp)}.auction-podium{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:380px;padding:10px 12px;background:#140e06c7;border:1px solid var(--line-accent);border-radius:6px}.auction-lot-name{font-size:12px;font-weight:700;color:var(--gold);text-align:center}.auction-lot-blurb{font-size:9px;color:var(--text-soft);text-align:center}.auction-lot-items{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:2px}.auction-lot-item{display:inline-flex;align-items:center;gap:3px;padding:2px 5px;font-size:8px;color:var(--text-bright);background:#0005;border:1px solid var(--line-accent);border-radius:3px}.auction-appraisal{display:flex;align-items:baseline;gap:6px;margin-top:4px;font-size:9px;color:var(--text-soft)}.auction-appraisal strong{font-size:10px;color:var(--gold)}.auction-current{display:flex;align-items:baseline;gap:10px}.auction-price{font-size:18px;font-weight:700;color:var(--gold)}.auction-high-bidder{font-size:10px;color:#fff}.auction-bidders{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.auction-bidder{padding:2px 6px;font-size:9px;color:var(--parchment);background:#0004;border:1px solid var(--line-accent);border-radius:999px}.auction-bidder.out{opacity:.45;text-decoration:line-through}.auction-bidder.leading{color:#fff;background:#b48c2880;border-color:var(--gold)}.auction-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.auction-log{display:flex;flex-direction:column;gap:2px;width:100%;max-width:360px}.auction-log-line{font-size:9px;color:#cbb890;text-align:center}.contest-scene{background-image:url(/backgrounds/town_port.webp)}.contest-theme{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px;background:#140e06b8;border:1px solid var(--line-accent);border-radius:6px}.contest-theme-label{font-size:12px;font-weight:700;color:var(--gold)}.contest-theme-types{font-size:9px;color:var(--text-bright)}.contest-theme-cool{box-shadow:inset 0 0 0 2px #e05a2b}.contest-theme-beauty{box-shadow:inset 0 0 0 2px #4aa8d8}.contest-theme-cute{box-shadow:inset 0 0 0 2px #e88fb0}.contest-theme-clever{box-shadow:inset 0 0 0 2px #8e6fd0}.contest-theme-tough{box-shadow:inset 0 0 0 2px #b08040}.contest-moves{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:100%;max-width:360px}.contest-move{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:10px;color:var(--on-accent);background:linear-gradient(var(--parchment),var(--parchment-dark));border:2px solid var(--line-accent);border-radius:4px;cursor:pointer}.contest-move:hover:not(:disabled){filter:brightness(1.06)}.contest-move:disabled{opacity:.6;cursor:default}.contest-move-name{flex:1;text-align:left;font-weight:700}.contest-move-appeal{font-weight:700;color:#1b6f3a}.contest-rivals{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.contest-rival{padding:2px 6px;font-size:9px;color:var(--parchment);background:#0004;border:1px solid var(--line-accent);border-radius:999px}.contest-rival strong{color:var(--gold)}.contest-board{display:flex;flex-direction:column;gap:4px;width:100%;max-width:340px}.contest-rank{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:10px;color:var(--text-bright);background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px}.contest-rank.player{color:#fff;border-color:var(--gold)}.contest-rank-place{width:14px;font-weight:700;color:var(--gold)}.contest-rank-name{flex:1}.contest-rank-score{font-weight:700}.pokeathlon-scene{background-image:url(/backgrounds/grassland.webp)}.athlon-event{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:380px}.athlon-event-label{font-size:10px;color:var(--text-bright);text-align:center}.athlon-timer{width:100%;height:10px;overflow:hidden;background:#0006;border:1px solid var(--line-accent);border-radius:999px}.athlon-timer-fill{height:100%;background:linear-gradient(90deg,#7fd06a,var(--gold));transition:width .05s linear}.athlon-big-readout{font-size:14px;font-weight:700;color:var(--gold)}.athlon-mash-btn{width:120px;height:120px;font-size:14px;font-weight:700;color:#10240c;background:radial-gradient(#a5e07f,#4c9a34);border:4px solid #2e7d32;border-radius:50%;cursor:pointer}.athlon-mash-btn:active{transform:scale(.96)}.athlon-mash-btn:disabled{opacity:.55;cursor:default}.athlon-track{position:relative;width:100%;height:36px;overflow:hidden;background:#140e06b8;border:1px solid var(--line-accent);border-radius:6px}.athlon-sweet-spot{position:absolute;left:50%;top:0;bottom:0;width:16%;transform:translate(-50%);background:#d2b43c59}.athlon-marker{position:absolute;top:2px;bottom:2px;width:6px;margin-left:-3px;background:#fff;border-radius:3px;box-shadow:0 0 6px #fff}.athlon-summary{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 18px;background:#140e06cc;border:1px solid var(--line-accent);border-radius:6px}.athlon-summary-title{font-size:12px;font-weight:700;color:var(--gold)}.athlon-summary-score{font-size:10px;color:#fff}.athlon-summary-events{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.athlon-summary-event{font-size:9px;color:var(--parchment)}.athlon-ready{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:380px;padding:16px 20px;text-align:center;background:#140e06cc;border:1px solid var(--line-accent);border-radius:6px}.athlon-ready-title{font-size:14px;font-weight:700;color:var(--gold)}.athlon-ready-how{font-size:10px;line-height:1.5;color:var(--text-bright)}.athlon-ready-count{font-size:40px;font-weight:700;color:#fff;text-shadow:0 0 14px rgba(232,201,74,.7);animation:athlonCount .9s ease-out}@keyframes athlonCount{0%{transform:scale(1.5);opacity:.2}to{transform:scale(1);opacity:1}}.radar-scene{background-image:url(/backgrounds/grassland.webp)}.radar-target{display:flex;flex-direction:column;align-items:center;gap:2px}.radar-target-sprite{width:52px;height:52px;image-rendering:pixelated}.radar-target-label{font-size:10px;color:var(--text-bright)}.radar-target-chain{font-size:10px;font-weight:700;color:var(--gold)}.radar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%;max-width:280px}.radar-patch{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:0;overflow:hidden;background:linear-gradient(#6fae4a,#3f7a2c);border:2px solid #4f7a35;border-radius:6px;cursor:default;transition:box-shadow .1s,filter .1s}.radar-face{width:74%;height:74%;object-fit:contain;image-rendering:pixelated;pointer-events:none;opacity:.75;transition:transform .12s ease,opacity .12s ease}.radar-patch.lit .radar-face{opacity:1;transform:scale(1.18)}.radar-patch.active{cursor:pointer}.radar-patch.active:active{filter:brightness(1.15)}.radar-patch.lit{box-shadow:0 0 0 3px var(--gold),0 0 14px var(--gold);filter:brightness(1.5)}.gauntlet-scene{background-image:url(/backgrounds/town.webp)}.gauntlet-layout{display:flex;gap:10px;width:100%;min-height:0;flex:1}.gauntlet-bracket{display:flex;flex-direction:column;gap:3px;width:168px;flex:0 0 auto;overflow-y:auto;padding:6px;background:#140e068c;border:2px solid var(--line-accent);border-radius:6px}.gauntlet-entry{display:flex;align-items:center;gap:6px;padding:4px 5px;border-radius:4px;background:#ffffff0a}.gauntlet-entry.current{background:#f0c8502e;box-shadow:inset 0 0 0 1px var(--gold)}.gauntlet-entry.beaten{opacity:.5}.gauntlet-entry-sprite{width:26px;height:26px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto}.gauntlet-entry-info{display:flex;flex-direction:column;min-width:0}.gauntlet-entry-name{font-size:9px;color:var(--parchment);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gauntlet-entry-tier{font-size:7px;letter-spacing:.3px;text-transform:uppercase;color:var(--text-dim)}.gauntlet-stage{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.gauntlet-current{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(180deg,#140e0680,#140e06cc);border:2px solid var(--line-accent);border-radius:6px}.gauntlet-trainer-sprite{width:56px;height:56px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto}.gauntlet-current-info{display:flex;flex-direction:column;gap:3px}.gauntlet-current-name{font-size:11px;color:var(--gold)}.gauntlet-current-title{font-size:8px;letter-spacing:.4px;color:var(--text-soft)}.gauntlet-team{display:flex;flex-wrap:wrap;gap:2px;max-width:260px}.gauntlet-mon{image-rendering:pixelated}.gauntlet-mon-sm{width:26px;height:26px}.gauntlet-mon-lg{width:34px;height:34px}.gauntlet-result{display:flex;flex-direction:column;gap:2px;text-align:center}.gauntlet-result-title{font-size:10px;color:var(--parchment)}.gauntlet-result.win .gauntlet-result-title{color:#8fdc6a}.gauntlet-result.loss .gauntlet-result-title{color:#e88a8a}.gauntlet-result-sub{font-size:8px;color:var(--text-soft)}.gauntlet-party-row{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}.gauntlet-party-label{font-size:8px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim)}.gauntlet-party{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.royal-scene{background-image:url(/backgrounds/town.webp)}.royal-arena{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;padding:12px 16px;background:linear-gradient(180deg,#140e0680,#140e06cc);border:2px solid var(--line-accent);border-radius:6px}.royal-fighter{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:92px;padding:6px;background:#00000047;border:1px solid var(--line-accent);border-radius:5px}.royal-fighter.hit{animation:royalHit .5s ease}.royal-level{font-size:8px;color:var(--text-soft)}.royal-hp{position:relative;display:flex;align-items:center;justify-content:center;width:82px;height:12px;overflow:hidden;font-size:8px;color:#fff;background:#00000080;border:1px solid var(--line);border-radius:999px}.royal-hp-text{position:relative;z-index:1}.royal-empty{font-size:20px;color:#888}.royal-sprite{width:64px;height:64px;image-rendering:pixelated}.royal-fighter.down .royal-sprite{filter:grayscale(1) brightness(.6);transform:rotate(90deg)}.royal-name{font-size:9px;color:var(--text-bright)}.royal-versus{font-size:12px;font-weight:700;color:var(--gold)}.royal-party{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.royal-member{display:flex;flex-direction:row;align-items:center;gap:5px;min-width:116px;padding:3px 6px;font-size:8px;color:var(--text-bright);background:#140e06b8;border:1px solid var(--line-accent);border-radius:4px}.royal-member-sprite{width:28px;height:28px;flex-shrink:0;image-rendering:pixelated;object-fit:contain}.royal-member-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.royal-ko,.royal-in{margin-left:4px;padding:0 3px;font-size:7px;border-radius:2px;vertical-align:middle}.royal-ko{background:#7a2020;color:#ffd0c0}.royal-in{background:#2a5a20;color:#c8f0a8}.royal-member.active{border-color:var(--gold)}.royal-member.fainted{opacity:.45}.royal-member-name{font-weight:700}.royal-member-hp{position:relative;display:flex;align-items:center;justify-content:flex-end;height:10px;padding-right:3px;overflow:hidden;font-size:8px;color:#fff;background:#0006;border-radius:999px}.royal-hp-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#7fd06a,#4c9a34);transition:width .3s ease}.royal-result{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 12px;border-radius:4px;animation:royalPop .25s ease}.royal-result.win{background:#1f4a1a;color:#b8f0a0;border:1px solid #4c9a34}.royal-result.loss{background:#4a1a1a;color:#f0b0a0;border:1px solid #9a3434}.royal-result-title{font-size:10px;font-weight:700}.royal-result-sub{font-size:8px;opacity:.85}.dynamax-scene{background-image:url(/backgrounds/cave.webp)}.dynamax-paths{display:flex;gap:10px;justify-content:center;width:100%}.dynamax-path{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;color:var(--text-bright);background:#140e06c7;border:2px solid var(--line-accent);border-radius:8px;cursor:pointer}.dynamax-path:hover{border-color:var(--gold)}.dynamax-path-sprite{width:56px;height:56px;image-rendering:pixelated}.dynamax-path-info{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:var(--text-bright)}.dynamax-boss{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 18px;background:radial-gradient(#783ca080,#140a1ed9);border:2px solid #a06fd0;border-radius:10px}.dynamax-boss-tag{font-size:9px;letter-spacing:2px;color:#e0b0ff}.dynamax-boss-sprite{width:84px;height:84px;image-rendering:pixelated}.dynamax-scout{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.dynamax-scout-hint{margin:0;font-size:9px;color:#d8c8a8;text-align:center}.dynamax-reroll{font:inherit;font-size:9px;padding:5px 12px;color:var(--parchment-dark);background:#140e06c7;border:2px solid var(--line-accent);border-radius:6px;cursor:pointer}.dynamax-reroll:hover{border-color:var(--gold)}.dynamax-pickups{display:flex;align-items:center;gap:5px;font-size:9px;color:#d8c8a8}.dynamax-pickups-label{opacity:.75}.dynamax-pickup-chip{font-size:13px;line-height:1}.mega-evolve-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:9px;font-weight:700;letter-spacing:.5px;color:#1a0a24;background:linear-gradient(#d59bf0,#8e4fd0);border:2px solid #6a2fa0;border-radius:0;cursor:pointer;white-space:nowrap;animation:mega-pulse 1.2s ease-in-out infinite}.mega-evolve-btn:hover{background:linear-gradient(#e5b6ff,#9d5fe0)}.mega-evolve-icon{font-size:11px}@keyframes mega-pulse{0%,to{box-shadow:0 0 #be78f099}50%{box-shadow:0 0 10px 2px #be78f0bf}}.gmax-evolve-btn{color:#240a0a;background:linear-gradient(#f09b9b,#d04f4f);border-color:#a02f2f;animation:gmax-pulse 1.2s ease-in-out infinite}.gmax-evolve-btn:hover{background:linear-gradient(#ffb6b6,#e05f5f)}@keyframes gmax-pulse{0%,to{box-shadow:0 0 #f0787899}50%{box-shadow:0 0 10px 2px #f07878bf}}.location-gifts{display:flex;flex-direction:column;gap:6px}.location-gift-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:#140e068c;border:1px solid var(--line-accent);border-radius:4px}.location-gift-card.claimed{opacity:.55}.location-gift-main{display:flex;align-items:center;gap:8px;min-width:0}.location-gift-sprite{width:40px;height:40px;image-rendering:pixelated}.location-gift-starters{display:flex;align-items:center;gap:1px;flex-shrink:0}.location-gift-starters .location-gift-sprite{width:34px;height:34px}.location-gift-text{display:flex;flex-direction:column;gap:1px;min-width:0}.location-gift-name{font-size:10px;font-weight:700;color:var(--gold)}.location-gift-description{font-size:9px;color:var(--text-soft)}.fossil-lab-hint{margin:0 0 8px;font-size:9px;line-height:1.4;color:var(--text-soft)}.location-gift-reward{font-size:9px;color:var(--parchment)}.location-gift-requirements{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.location-gift-requirement{font-size:8px;color:#d08a8a}.location-gift-requirement.met{color:#7fd06a}.location-gift-action{flex-shrink:0;padding:5px 10px;font-size:9px;font-weight:700;color:#10240c;background:linear-gradient(#e8d27a,#c9a63c);border:2px solid #8a6a1e;border-radius:0;cursor:pointer;white-space:nowrap}.location-gift-action:hover:not(:disabled){filter:brightness(1.08)}.location-gift-action:disabled{opacity:.5;cursor:not-allowed}.lights-out-scene{background-image:url(/backgrounds/cave.webp)}.lights-grid{display:grid;gap:8px;width:100%;max-width:300px}.light-tile{aspect-ratio:1;background:#2a2416;border:2px solid #4a3a1a;border-radius:8px;box-shadow:inset 0 0 8px #000;cursor:pointer;transition:background .12s,box-shadow .12s}.light-tile.lit{background:radial-gradient(#fff6c0,var(--gold));border-color:var(--gold);box-shadow:0 0 12px var(--gold)}.light-tile:hover:not(:disabled){filter:brightness(1.1)}.curry-scene{background-image:url(/backgrounds/grassland.webp)}.curry-choose,.curry-cook{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.curry-countdown{display:flex;flex-direction:column;align-items:center;gap:6px}.curry-countdown-number{font-size:64px;font-weight:700;color:var(--gold);text-shadow:0 4px 0 #000,0 0 24px var(--gold-bright);animation:curryCountdownPop .5s ease-out}.curry-countdown-hint{font-size:10px;color:var(--text-bright)}@keyframes curryCountdownPop{0%{transform:scale(1.6);opacity:.2}to{transform:scale(1);opacity:1}}.curry-request{font-size:10px;color:var(--text-bright)}.curry-request strong{color:var(--gold)}.curry-ingredients{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;max-width:380px}.curry-ingredient{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;font-size:9px;color:var(--on-accent);background:linear-gradient(var(--parchment),var(--parchment-dark));border:2px solid var(--line-accent);border-radius:5px;cursor:pointer}.curry-ingredient:hover{filter:brightness(1.06)}.curry-ingredient.match{box-shadow:0 0 0 2px var(--gold)}.curry-ingredient-flavor{opacity:.7}.curry-flame{position:relative;width:100%;max-width:380px;height:28px;overflow:hidden;background:#140e06b8;border:1px solid var(--line-accent);border-radius:999px}.curry-flame-target{position:absolute;top:0;bottom:0;background:#d2b43c59}.curry-flame-marker{position:absolute;top:-2px;bottom:-2px;width:8px;margin-left:-4px;background:#ff8a3a;border-radius:4px;box-shadow:0 0 8px #ff8a3a}.curry-flame-marker.hot{background:var(--gold-bright);box-shadow:0 0 10px var(--gold-bright)}.curry-fan-btn{width:100%;max-width:380px;padding:16px;font-size:11px;font-weight:700;color:#10240c;background:radial-gradient(#ffd98a,#e8892b);border:3px solid #a85a12;border-radius:8px;cursor:pointer;user-select:none;touch-action:none}.curry-fan-btn:active{transform:scale(.99)}.curry-hint{font-size:9px;color:var(--text-soft)}.pokestar-scene{background-image:url(/backgrounds/town_port.webp)}.pokestar-brief{max-width:92%;padding:8px 12px;font-size:10px;line-height:1.4;text-align:center;color:#fff;background:#140e06c7;border:1px solid var(--line-accent);border-radius:4px}.pokestar-takes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:100%;max-width:400px}.pokestar-take{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;font-size:10px;color:var(--on-accent);background:linear-gradient(var(--parchment),var(--parchment-dark));border:2px solid var(--line-accent);border-radius:5px;cursor:pointer}.pokestar-take:hover:not(:disabled){filter:brightness(1.06)}.pokestar-take:disabled{opacity:.7;cursor:default}.pokestar-take.best{box-shadow:0 0 0 2px var(--gold)}.pokestar-take.chosen{box-shadow:0 0 0 2px #d08a8a}.pokestar-take-score{font-weight:700;color:#1b6f3a}.pokestar-summary-score{font-size:14px;font-weight:700;color:var(--gold)}.puzzle-league-scene{background-image:url(/backgrounds/town_port.webp)}.match3-grid{position:relative;width:100%;max-width:360px;aspect-ratio:1;margin:0 auto;overflow:hidden}.match3-tile{position:absolute;top:0;left:0;box-sizing:border-box;width:calc(100% / var(--cols));height:calc(100% / var(--cols));padding:2px;background:none;border:none;cursor:pointer;transform:translate(calc(var(--col) * 100%),calc(var(--row) * 100%));transition:transform .18s ease}.match3-tile:hover:not(:disabled) .match3-tile-inner{filter:brightness(1.12)}.match3-tile.selected .match3-tile-inner{box-shadow:0 0 0 3px var(--gold),inset 0 -3px #0003;animation:match3Select .7s ease-in-out infinite}.match3-tile-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid #00000055;border-radius:4px;box-shadow:inset 0 -3px #0003;overflow:hidden}.match3-tile-inner img{width:88%;height:88%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.match3-fire .match3-tile-inner{background:#f08030}.match3-water .match3-tile-inner{background:#6890f0}.match3-grass .match3-tile-inner{background:#78c850}.match3-electric .match3-tile-inner{background:#f8d030}.match3-psychic .match3-tile-inner{background:#f85888}.match3-normal .match3-tile-inner{background:#a8a878}.memory-scene{background-image:url(/backgrounds/beach.webp)}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%;max-width:340px}.memory-card{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(#3a4a6a,#23304a);border:2px solid #5a6a8a;border-radius:6px;cursor:pointer}.memory-card.up{background:var(--parchment);border-color:var(--line-accent)}.memory-card.matched{opacity:.8;box-shadow:0 0 0 2px var(--gold)}.memory-back{font-size:20px;font-weight:700;color:#8fa6d8}.memory-sprite{width:48px;height:48px;image-rendering:pixelated}.whack-scene{background-image:url(/backgrounds/grassland.webp)}.whack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:300px}.whack-hole{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(var(--ink-warm),#241a0e);border:3px solid #4f3a22;border-radius:50%;cursor:pointer}.whack-hole:hover{filter:brightness(1.1)}.whack-hole.diglett{background:radial-gradient(var(--gold-dark),#4a3418)}.whack-hole.zubat{background:radial-gradient(#4a3a6a,#241a3a)}.whack-hole.dugtrio{background:radial-gradient(#c8962a,#7a5410);border-color:#e0b040;box-shadow:0 0 12px #e0b04088}.whack-grid.whack-rush{filter:drop-shadow(0 0 6px #e04038aa)}.whack-hole-dot{width:14px;height:14px;background:#0006;border-radius:50%}.whack-sprite{width:60px;height:60px;image-rendering:pixelated}.mantine-surf-scene{background-image:url(/backgrounds/beach.webp)}.surf-play{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:540px}.surf-ocean{width:100%;height:40px;background:linear-gradient(#3aa0d8,#1a6a9a);border-radius:10px 10px 0 0;box-shadow:inset 0 -8px 16px #0a3a5a88}.surf-bar{position:relative;width:100%;height:46px;background:linear-gradient(#1a6a9a,#0a3a5a);border:2px solid #7fd0ee88;border-radius:8px;overflow:hidden}.surf-zone{position:absolute;top:0;bottom:0;background:#6ee07a55;box-shadow:inset 0 0 0 2px #6ee07a}.surf-zone-core{position:absolute;top:0;bottom:0;background:#ffe066aa}.surf-marker{position:absolute;top:-10%;width:6px;height:120%;background:#fff;box-shadow:0 0 10px #fff,0 0 4px var(--gold-bright);transform:translate(-50%)}.surf-rider{font-size:42px;line-height:1}.surf-jump-btn{min-width:220px;font-size:18px;letter-spacing:2px}.surf-hint,.surf-score-line{color:#dbeaff;font-size:12px;text-align:center}.rotom-rally-scene{background-image:url(/backgrounds/grassland.webp)}.rally-play{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:540px}.rally-track{position:relative;height:18px;margin-top:44px;background:#2a2a2a;border:2px solid #666;border-radius:9px}.rally-track-fill{height:100%;background:linear-gradient(var(--gold-bright),#e0a020);border-radius:9px}.rally-checkpoint{position:absolute;top:-20px;font-size:18px;transform:translate(-50%)}.rally-bike{position:absolute;top:2px;width:52px;height:52px;image-rendering:pixelated;transform:translate(-50%);transition:left .05s linear}.rally-heat{display:flex;align-items:center;gap:8px;font-size:12px;color:#eee}.rally-heat-track{position:relative;flex:1;height:16px;background:#222;border:2px solid #555;border-radius:8px;overflow:hidden}.rally-heat-fill{height:100%;background:linear-gradient(var(--gold-bright),#e04038)}.rally-heat-redline{position:absolute;top:0;bottom:0;width:2px;background:#ff3030}.rally-heat.hot .rally-heat-state{color:#fc3}.rally-heat.stalled .rally-heat-state{color:#ff5252;animation:rallyStall .3s ease-in-out infinite alternate}.rally-heat.hot .rally-heat-track{box-shadow:0 0 10px #f638}.rally-throttle-btn{min-height:52px;font-size:16px;letter-spacing:1px}.rally-hint,.rally-score-line{color:#dbeaff;font-size:12px;text-align:center}.ogre-oustin-scene{background-image:url(/backgrounds/forest.webp)}.ogre-field-wrap{display:flex;flex-direction:column;width:100%;max-width:460px}.ogre-field{position:relative;width:100%;height:340px;background:linear-gradient(#3a6a3a,#1a3a1a);border:2px solid #7aa05a88;border-radius:10px;overflow:hidden}.ogre-drop{position:absolute;font-size:26px;line-height:1;transform:translate(-50%,-50%)}.ogre-drop.gold{filter:drop-shadow(0 0 6px var(--gold-bright))}.ogre-drop.rock{filter:grayscale(.4) drop-shadow(0 0 4px #000)}.ogre-basket-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:6px}.ogre-basket-cell{display:flex;align-items:center;justify-content:center;height:42px;font-size:26px;background:#0003;border:1px solid #ffffff22;border-radius:6px}.ogre-basket-cell.active{background:#ffe06633;border-color:var(--gold-bright);box-shadow:0 0 10px #ffe06666}.ogre-controls{display:flex;justify-content:center;gap:16px;margin-top:10px}.ogre-score-line{color:#dbeaff;font-size:12px;text-align:center}.ultra-warp-scene{background-image:url(/backgrounds/cave.webp)}.ultra-warp-field-wrap{display:flex;flex-direction:column;align-items:center;width:100%;max-width:460px;gap:8px}.ultra-warp-field{position:relative;width:100%;height:340px;background:radial-gradient(circle at 50% 0%,#3a1a6a,#180a38 45%,#05030f);border:2px solid #8a5cff66;border-radius:12px;overflow:hidden;touch-action:none;cursor:crosshair}.ultra-warp-field:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 18px,#966eff14 18px 20px);animation:ultra-warp-scroll 1s linear infinite}@keyframes ultra-warp-scroll{0%{background-position-y:0}to{background-position-y:20px}}.ultra-warp-object{position:absolute;transform:translate(-50%,-50%);font-size:24px;line-height:1;z-index:2}.ultra-warp-object.ring{color:#6ff2ff;text-shadow:0 0 6px #6ff2ff}.ultra-warp-object.gold{color:var(--gold-bright);text-shadow:0 0 8px var(--gold-bright)}.ultra-warp-object.debris{filter:grayscale(.4) drop-shadow(0 0 4px #000)}.ultra-warp-rider{position:absolute;width:54px;height:54px;transform:translate(-50%,-50%);image-rendering:pixelated;z-index:3;filter:drop-shadow(0 0 8px #b98cff)}.ultra-warp-controls{display:flex;justify-content:center;gap:16px}.ultra-warp-score-line{color:#dbeaff;font-size:12px;text-align:center}.ultra-warp-doors{display:flex;flex-direction:column;align-items:center;gap:10px}.ultra-warp-doors-hint{margin:0;font-size:10px;color:var(--parchment)}.ultra-warp-door-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.ultra-warp-door{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:104px;padding:10px 12px;background:radial-gradient(circle at 50% 30%,#4a1f8f,#150830);border:2px solid #8a5cff;border-radius:10px;color:var(--parchment);font-family:inherit;cursor:pointer;box-shadow:0 0 12px #8a5cff44}.ultra-warp-door:hover{border-color:var(--gold);box-shadow:0 0 14px #ffe06666}.ultra-warp-door.tier-1{border-color:#6ff2ff;box-shadow:0 0 12px #6ff2ff55}.ultra-warp-door.tier-2{border-color:#ffd54a;box-shadow:0 0 16px #ffd54a77}.ultra-warp-door-tier{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#c8b8ff}.ultra-warp-door-sprite{width:56px;height:56px;image-rendering:pixelated}.ultra-warp-door-name{font-size:10px;font-weight:700}.type-fusion-scene{background-image:url(/backgrounds/town.webp)}.fusion-play{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%}.fusion-main{display:flex;align-items:center;justify-content:center;gap:18px;width:100%}.fusion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:300px;padding:8px;background:#1c2333;border-radius:10px;box-sizing:border-box}.fusion-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:2px;background:#2a3247;border-radius:8px;color:#20242e;font-size:10px;line-height:1.1;overflow-wrap:anywhere;font-weight:700;text-align:center}.fusion-tile.filled{box-shadow:inset 0 -3px #0003}.fusion-pad{display:flex;flex-direction:column;align-items:center;gap:6px}.fusion-pad-row{display:flex;gap:6px}.fusion-pad .move-panel-btn{min-width:56px;min-height:44px}.fusion-hint{color:#dbeaff;font-size:12px;text-align:center}.unown-picross-scene{background-image:url(/backgrounds/ruins.webp)}.picross-play{display:flex;flex-direction:column;align-items:center;gap:14px}.picross-grid{display:grid;grid-template-columns:34px repeat(5,40px);gap:4px}.picross-clue{display:flex;align-items:center;justify-content:center;color:#ffe9b0;font-size:12px;font-weight:700;white-space:pre}.picross-clue.col{align-items:flex-end;padding-bottom:2px}.picross-clue.row{justify-content:flex-end;padding-right:4px}.picross-cell{width:40px;height:40px;background:#2a3247;border:2px solid #55617e;border-radius:6px;cursor:pointer}.picross-cell:hover{filter:brightness(1.15)}.picross-cell.on{background:var(--gold-bright);border-color:#fff3b0;box-shadow:inset 0 -3px #b8860b88}.picross-check-btn{min-width:180px}.picross-hint,.picross-score-line{color:#dbeaff;font-size:12px;text-align:center}.hide-and-seek-scene{background-image:url(/backgrounds/forest.webp)}.track-play{display:flex;flex-direction:column;align-items:center;gap:12px}.track-grid{display:grid;grid-template-columns:38px repeat(5,40px);gap:4px;padding:10px;background:#142812b8;border:2px solid #5a8a3c;border-radius:8px;box-shadow:inset 0 0 18px #78c8502e}.track-corner{display:flex;align-items:center;justify-content:center;font-size:18px;color:#cfe8a8}.track-clue{display:flex;align-items:center;justify-content:center;color:#d8f0b0;font-size:12px;font-weight:700;white-space:pre}.track-clue.col{align-items:flex-end;padding-bottom:2px}.track-clue.row{justify-content:flex-end;padding-right:4px}.track-cell{width:40px;height:40px;background:#2e4a24;border:2px solid #4d7038;border-radius:6px;cursor:pointer}.track-cell:hover{filter:brightness(1.18)}.track-cell.on{background:linear-gradient(#8fe06a,#4f9e34);border-color:#d8ffb0;box-shadow:inset 0 -3px #2f6a1c88}.track-cell.on:after{content:"🐾";display:block;line-height:34px;text-align:center;font-size:18px}.track-follow-btn{min-width:180px}.track-hint{color:#dbeaff;font-size:12px;text-align:center}.pokeshot-scene{background-image:url(/backgrounds/town.webp)}.pokeshot-play{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.pokeshot-stage{position:relative;width:100%;max-width:400px;aspect-ratio:1 / 1;background:url(/backgrounds/town.webp) center/cover;border:2px solid #ffffff44;border-radius:12px;overflow:hidden}.pokeshot-frame{position:absolute;left:50%;top:50%;border:3px dashed #ffe066cc;border-radius:50%;box-shadow:0 0 0 9999px #00000026;transform:translate(-50%,-50%)}.pokeshot-sprite{position:absolute;width:96px;height:96px;image-rendering:pixelated;filter:drop-shadow(0 4px 4px #0008);transform:translate(-50%,-50%)}.pokeshot-sprite.shiny{filter:drop-shadow(0 0 8px var(--gold-bright)) drop-shadow(0 4px 4px #0008)}.pokeshot-flash{position:absolute;left:50%;top:12%;color:#fff;font-size:22px;font-weight:700;text-shadow:0 2px 4px #000;transform:translate(-50%);animation:pokeshotFlash .5s ease}.pokeshot-flash.shiny{color:var(--gold-bright)}.pokeshot-snap-btn{min-width:200px}.pokeshot-hint,.pokeshot-score-line{color:#dbeaff;font-size:12px;text-align:center}.tera-raid-scene{background-image:url(/backgrounds/cave.webp)}.raid-stars{color:var(--gold-bright);font-size:14px;letter-spacing:2px}.raid-tera-chip{padding:1px 6px;background:#7038f8;border-radius:8px;color:#fff;font-size:10px;text-transform:uppercase}.raid-summary{color:#dbeaff;font-size:12px}.gmax-raid-scene{background-image:url(/backgrounds/volcano.webp)}.raid-event-banner{display:flex;flex-direction:column;align-items:center;gap:2px}.raid-event-name{color:var(--gold-bright);font-size:13px;font-weight:700;letter-spacing:1px}.raid-event-sub{color:#dbeaff;font-size:10px;text-transform:uppercase;letter-spacing:1px}.raid-mode-toggle{display:flex;gap:6px}.raid-mode-btn{padding:2px 10px;border:1px solid #55617e;border-radius:8px;background:#2b3350;color:#dbeaff;cursor:pointer;font-size:10px;letter-spacing:1px}.raid-mode-btn.active{border-color:var(--gold-bright);background:#7038f8;color:#fff}.raid-ally-chip{padding:1px 6px;background:#2f9e44;border-radius:8px;color:#fff;font-size:10px;text-transform:uppercase}.royal-fighter.raid-ally .royal-sprite{filter:drop-shadow(0 0 6px #2f9e44)}.pokeword-scene{background-image:url(/backgrounds/town.webp)}.pokeword-play{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.pokeword-silhouette{width:120px;height:120px;image-rendering:pixelated;filter:brightness(0)}.pokeword-slots{display:flex;gap:6px}.pokeword-slot{display:flex;align-items:center;justify-content:center;width:30px;height:38px;border-bottom:3px solid #55617e;color:#fff;font-size:18px;font-weight:700}.pokeword-slot.filled{border-color:var(--gold-bright)}.pokeword-letters{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:320px}.pokeword-letter{width:38px;height:38px;background:#2a3247;border:2px solid #55617e;border-radius:6px;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.pokeword-letter:hover:not(:disabled){filter:brightness(1.2)}.pokeword-letter.used{opacity:.35}.pokeword-controls{display:flex;gap:10px}.pokeword-hint,.pokeword-score-line{color:#dbeaff;font-size:12px;text-align:center}.berry-blender-scene{background-image:url(/backgrounds/autumn.webp)}.blender-play{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:520px}.blender-recipe{display:flex;gap:8px}.blender-berry{width:22px;height:22px;border-radius:50%;box-shadow:inset -3px -3px #0003,0 0 6px #0005}.blender-bar{position:relative;width:100%;height:44px;background:linear-gradient(#2a3247,#1c2333);border:2px solid #ffffff33;border-radius:8px;overflow:hidden}.blender-zone{position:absolute;top:0;bottom:0;background:#6ee07a66;box-shadow:inset 0 0 0 2px #6ee07a}.blender-marker{position:absolute;top:-6%;width:6px;height:112%;background:#fff;box-shadow:0 0 10px #fff;transform:translate(-50%)}.blender-marker.hot{background:var(--gold-bright);box-shadow:0 0 12px var(--gold-bright)}.blender-tap-btn{min-width:220px;min-height:52px;font-size:18px;letter-spacing:2px}.blender-hint,.blender-score-line{color:#dbeaff;font-size:12px;text-align:center}.musical-scene{background-image:url(/backgrounds/town_port.webp)}.musical-board{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.musical-progress{width:100%;max-width:360px;height:4px;background:#ffffff24;border-radius:999px;overflow:hidden}.musical-progress-fill{height:100%;background:linear-gradient(90deg,#6ac4ff,var(--gold-bright));transition:width .1s linear}.musical-hud{display:flex;align-items:baseline;gap:10px}.musical-hud-label{margin-right:4px;font-size:8px;opacity:.7}.musical-score-value{display:inline-block;font-size:14px;font-weight:700;color:var(--gold);animation:musicalScorePop .25s ease-out}.musical-hud-acc{font-size:10px;color:#9fd0ff}.musical-combo{position:absolute;top:12px;left:50%;z-index:4;padding:2px 10px;font-size:10px;font-weight:700;color:var(--on-accent);background:linear-gradient(#ffe08a,#e8892b);border-radius:999px;transform:translate(-50%);animation:musicalComboPop .3s ease-out}.musical-combo.hot{animation:musicalComboPop .3s ease-out,musicalComboGlow .7s ease-in-out infinite alternate}.musical-feedback{position:absolute;top:56%;left:50%;z-index:5;display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:musicalFeedback .6s ease-out forwards}.musical-feedback-label{font-size:22px;font-weight:700;text-shadow:0 2px 0 #000,0 0 14px currentColor}.musical-feedback-points{font-size:11px;color:#fff;text-shadow:0 1px 0 #000}.musical-feedback.grade-perfect .musical-feedback-label{color:var(--gold-bright)}.musical-feedback.grade-good .musical-feedback-label{color:#6ac4ff}.musical-feedback.grade-ok .musical-feedback-label{color:#9fd0ff}.musical-feedback.grade-miss .musical-feedback-label{color:#d06a6a}@keyframes musicalScorePop{0%{transform:scale(1.45)}to{transform:scale(1)}}@keyframes musicalComboPop{0%{transform:translate(-50%) scale(.65)}to{transform:translate(-50%) scale(1)}}@keyframes musicalComboGlow{0%{box-shadow:0 0 4px var(--gold-bright)}to{box-shadow:0 0 16px var(--gold-bright)}}@keyframes musicalFeedback{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}70%{opacity:1;transform:translate(-50%,-62%) scale(1)}to{opacity:0;transform:translate(-50%,-95%) scale(1)}}.musical-track{display:flex;gap:8px;width:100%;max-width:360px;height:228px}.musical-lane{position:relative;flex:1;background:#0a0e188c;border:1px solid #3a4a6a;border-radius:8px;overflow:hidden}.musical-lane-notes{position:absolute;inset:0}.musical-lane.lane-up{border-top:3px solid #6ac4ff}.musical-lane.lane-right{border-top:3px solid #f08030}.musical-lane.lane-down{border-top:3px solid #78c850}.musical-lane.lane-left{border-top:3px solid #f85888}.musical-hitline{position:absolute;left:0;right:0;bottom:8px;height:3px;background:var(--gold-bright);box-shadow:0 0 10px var(--gold-bright)}.musical-arrow{display:block;fill:currentColor}.musical-note{position:absolute;left:50%;width:22px;height:22px;color:#fff;transform:translate(-50%,-50%);filter:drop-shadow(0 0 6px #6ac4ff)}.musical-buttons{display:flex;gap:8px;width:100%;max-width:360px}.musical-btn{flex:1;padding:12px 0;font-size:20px;color:#fff;background:linear-gradient(#3a4a6a,#23304a);border:2px solid #5a6a8a;border-radius:8px;cursor:pointer;user-select:none;touch-action:none}.musical-btn:active{transform:scale(.96)}.musical-btn .musical-arrow{width:20px;height:20px;margin:0 auto}.musical-btn.hit{color:var(--on-accent);background:linear-gradient(#ffe08a,#e8892b);border-color:#fff;animation:musicalBtnHit .2s ease-out}@keyframes musicalBtnHit{0%{transform:scale(.9)}to{transform:scale(1)}}.musical-btn.lane-up{border-color:#6ac4ff}.musical-btn.lane-right{border-color:#f08030}.musical-btn.lane-down{border-color:#78c850}.musical-btn.lane-left{border-color:#f85888}.musical-summary{font-size:10px;color:#fff}.picnic-scene{background-image:url(/backgrounds/grassland.webp)}.picnic-board{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:360px}.picnic-swing{position:relative;width:100%;height:34px}.picnic-piece{position:absolute;top:0;transform:translate(-50%);padding:4px 10px;font-size:10px;color:var(--on-accent);background:var(--text-bright);border:2px solid #00000055;border-radius:6px;white-space:nowrap;box-shadow:0 4px 10px #0005}.picnic-stack{position:relative;width:100%;height:178px;background:#0a0e1866;border:1px solid #3a4a6a;border-radius:8px;overflow:hidden}.picnic-plate{position:absolute;left:6%;right:6%;bottom:0;height:12px;background:linear-gradient(#d8d8e0,#8a90a0);border-radius:50% 50% 0 0}.picnic-layer{position:absolute;display:flex;align-items:center;justify-content:center;width:62%;height:13px;font-size:10px;line-height:1;transform:translate(-50%);border:1px solid #00000055;border-radius:4px;box-shadow:inset 0 -3px #0002}.picnic-layer.grade-perfect{box-shadow:0 0 0 2px var(--gold),inset 0 -3px #0002}.picnic-layer.bread{border-color:#a8792f}.picnic-drop-btn{width:100%;padding:12px;font-size:12px;font-weight:700;color:#10240c;background:radial-gradient(#ffe08a,#e8892b);border:3px solid #a85a12;border-radius:8px;cursor:pointer;user-select:none;touch-action:none}.picnic-drop-btn:active{transform:scale(.99)}.picnic-choose{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.picnic-request{font-size:10px;color:var(--text-bright);text-align:center}.picnic-request strong{color:var(--gold)}.picnic-ingredients{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:100%;max-width:380px;max-height:250px;overflow-y:auto}.picnic-ingredient{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-size:8px;color:var(--on-accent);background:linear-gradient(var(--parchment),var(--parchment-dark));border:2px solid var(--line-accent);border-radius:5px;cursor:pointer}.picnic-ingredient:hover{filter:brightness(1.06)}.picnic-ingredient.picked{box-shadow:0 0 0 2px var(--gold)}.picnic-ingredient-emoji{font-size:16px}.picnic-ingredient-name{text-align:center}.picnic-ingredient .type-badge{font-size:8px}.picnic-type-preview{font-size:10px;color:#fff}.picnic-order{display:flex;align-items:center;gap:6px;min-height:30px;padding:3px 14px;font-size:18px;background:#140e0699;border:1px solid var(--line-accent);border-radius:999px}.picnic-order-bread{opacity:.85}.picnic-type-preview strong{color:var(--gold)}.picnic-spawn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 22px;background:#140e06cc;border:1px solid var(--line-accent);border-radius:8px}.picnic-spawn.shiny{border-color:var(--gold);box-shadow:0 0 16px #e8c94a88}.picnic-spawn-sprite{width:84px;height:84px;image-rendering:pixelated}.picnic-spawn-name{font-size:12px;font-weight:700;color:var(--gold)}.picnic-spawn-level{font-size:10px;color:#fff}.picnic-spawn-types{display:flex;gap:4px}.picnic-spawn-odds{font-size:9px;color:#9fd0ff}.picnic-failed{max-width:90%;text-align:center;font-size:10px;color:var(--text-bright)}.factory-scene{background-image:url(/backgrounds/town.webp)}.factory-wrap{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:360px;padding:12px;box-sizing:border-box;background:#080c14bd;border:1px solid #46587a;border-radius:12px}.factory-grid{flex:1;display:grid;gap:4px;min-width:0}.factory-tile{position:relative;aspect-ratio:1;background:#33405a;border:2px solid #5a6f96;border-radius:6px;cursor:pointer}.factory-tile.empty{background:#1a2030;border-color:#2a3346}.factory-tile.powered{background:#2f4a3a;border-color:#6ac46a}.factory-tile.inlet{box-shadow:-3px 0 0 var(--gold-bright)}.factory-tile.outlet{box-shadow:3px 0 0 var(--gold-bright)}.factory-tile.inlet:before,.factory-tile.outlet:after{position:absolute;top:50%;transform:translateY(-50%);font-size:13px;color:var(--gold-bright);text-shadow:0 0 6px var(--gold-bright)}.factory-tile.inlet:before{content:"▶";left:-15px}.factory-tile.outlet:after{content:"▶";right:-15px}.factory-tile:hover:not(:disabled){filter:brightness(1.12)}.factory-arm{position:absolute;background:#8fa6d8}.factory-tile.powered .factory-arm{background:var(--gold-bright);box-shadow:0 0 6px var(--gold-bright)}.factory-arm.arm-N{left:50%;top:0;width:5px;height:50%;transform:translate(-50%)}.factory-arm.arm-S{left:50%;bottom:0;width:5px;height:50%;transform:translate(-50%)}.factory-arm.arm-E{top:50%;right:0;height:5px;width:50%;transform:translateY(-50%)}.factory-arm.arm-W{top:50%;left:0;height:5px;width:50%;transform:translateY(-50%)}.factory-summary{font-size:10px;color:#fff}.minigame-reward{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.minigame-reward-rays{position:absolute;width:340px;height:340px;border-radius:50%;background:repeating-conic-gradient(rgba(255,214,90,.16) 0deg 10deg,transparent 10deg 20deg);animation:rewardRaysSpin 14s linear infinite;pointer-events:none}.minigame-reward-panel{position:relative;z-index:1;width:min(360px,90%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 16px 16px;box-sizing:border-box;background:linear-gradient(180deg,#261c0cf7,#120c05f7);border:2px solid var(--gold);border-radius:8px;box-shadow:0 0 0 2px #00000080,0 12px 30px #0000008c,inset 0 0 24px #ffc8501f;animation:rewardPanelIn .45s cubic-bezier(.2,1.4,.5,1) both}.minigame-reward-badge{font-size:26px;line-height:1;animation:rewardBadgePop .7s cubic-bezier(.2,1.5,.5,1) both}.minigame-reward-title{font-size:13px;font-weight:700;letter-spacing:1px;color:var(--gold);text-shadow:0 0 8px rgba(255,200,80,.5)}.minigame-reward-label{font-size:10px;color:#ffe9a8;text-align:center}.minigame-reward-list{display:flex;flex-direction:column;gap:4px;width:100%;max-height:190px;overflow-y:auto;margin-top:2px}.minigame-reward-row{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:10px;color:var(--text-bright);background:#ffffff0d;border:1px solid rgba(255,214,90,.25);border-radius:4px;animation:rewardRowIn .4s ease both}.minigame-reward-row.money{color:#fff;background:#ffd65a1f;border-color:#ffd65a99}.minigame-reward-icon{font-size:13px}.minigame-reward-row.pokemon{background:#78c8ff1f;border-color:#78c8ff80}.minigame-reward-pokemon{display:block;width:28px;height:28px;image-rendering:pixelated}.minigame-reward-name{flex:1}.minigame-reward-qty{font-weight:700;color:var(--gold)}.minigame-reward-empty{padding:8px;font-size:10px;text-align:center;opacity:.7}.minigame-reward-btn{align-self:stretch;margin-top:6px;animation:rewardBtnPulse 1.6s ease-in-out infinite}@keyframes rewardRaysSpin{to{transform:rotate(360deg)}}@keyframes rewardPanelIn{0%{opacity:0;transform:scale(.72) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes rewardBadgePop{0%{opacity:0;transform:scale(0) rotate(-40deg)}65%{opacity:1;transform:scale(1.35) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes rewardRowIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes rewardBtnPulse{0%,to{box-shadow:0 0 #ffd65a80}50%{box-shadow:0 0 10px 2px #ffd65a99}}.minigame-scene-bg{animation:minigameBgPulse 7s ease-in-out infinite alternate}@keyframes minigameBgPulse{0%{opacity:1}to{opacity:.78}}.minigame-scene-title{animation:minigameTitleGlow 2.6s ease-in-out infinite}@keyframes minigameTitleGlow{0%,to{text-shadow:0 0 0 rgba(255,214,90,0)}50%{text-shadow:0 0 8px rgba(255,214,90,.55)}}.mining-tile.dug{animation:miningDig .32s ease both}.mining-tile.reward{animation:miningSparkle .5s ease both}@keyframes miningDig{0%{transform:scale(1)}45%{transform:scale(.86)}to{transform:scale(1)}}@keyframes miningSparkle{0%{box-shadow:0 0 #ffd65acc;transform:scale(.9)}to{box-shadow:0 0 12px 3px #ffd65a00;transform:scale(1)}}.voltorb-tile.flipped{animation:voltorbFlip .28s ease both}.voltorb-tile.flipped.voltorb{animation:voltorbFlip .28s ease both,voltorbFizz .5s ease .1s}.voltorb-mark{animation:voltorbMarkPulse 1s ease-in-out infinite}@keyframes voltorbFlip{0%{transform:rotateY(90deg) scale(.85)}to{transform:rotateY(0) scale(1)}}@keyframes voltorbFizz{0%,to{filter:brightness(1)}50%{filter:brightness(1.5)}}@keyframes voltorbMarkPulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.auction-price{animation:auctionPricePulse 1.6s ease-in-out infinite}.auction-bidder.leading{animation:auctionLeader 1.4s ease-in-out infinite}@keyframes auctionPricePulse{0%,to{text-shadow:0 0 0 rgba(255,214,90,0)}50%{text-shadow:0 0 10px rgba(255,214,90,.7)}}@keyframes auctionLeader{0%,to{box-shadow:0 0 #ffd65a80}50%{box-shadow:0 0 8px 2px #ffd65a80}}.contest-move{transition:transform .12s ease,filter .12s ease}.contest-move:hover:not(:disabled){transform:translateY(-2px)}.contest-theme{animation:contestThemeGlow 2.4s ease-in-out infinite}.contest-rank.player{animation:contestPlayerRank 1.6s ease-in-out infinite}@keyframes contestThemeGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}@keyframes contestPlayerRank{0%,to{box-shadow:0 0 #ffd65a66}50%{box-shadow:0 0 10px 2px #ffd65a66}}.athlon-sweet-spot{animation:athlonSpot 1.4s ease-in-out infinite}.athlon-mash-btn:not(:disabled){animation:athlonMash 1s ease-in-out infinite}@keyframes athlonSpot{0%,to{opacity:.55}50%{opacity:1}}@keyframes athlonMash{0%,to{box-shadow:0 0 #7fd06a80}50%{box-shadow:0 0 16px 4px #7fd06a73}}.radar-patch.lit{animation:radarLit .5s ease}.radar-target-sprite{animation:radarSpriteBob 2.6s ease-in-out infinite}@keyframes radarLit{0%{transform:scale(.82)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes radarSpriteBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.royal-versus{animation:royalVersus 1.2s ease-in-out infinite}.royal-member.active{animation:royalActive 1.4s ease-in-out infinite}@keyframes royalVersus{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes royalActive{0%,to{box-shadow:0 0 #ffd65a59}50%{box-shadow:0 0 8px 1px #ffd65a80}}@keyframes royalHit{0%,to{transform:translate(0)}20%{transform:translate(-5px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}}@keyframes royalPop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.dynamax-path{transition:transform .14s ease}.dynamax-path:hover{transform:translateY(-3px)}.dynamax-boss-sprite{animation:dynamaxFloat 3s ease-in-out infinite}.dynamax-boss{animation:dynamaxGlow 2.4s ease-in-out infinite}@keyframes dynamaxFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.03)}}@keyframes dynamaxGlow{0%,to{box-shadow:0 0 #a06fd066}50%{box-shadow:0 0 16px 3px #a06fd080}}.light-tile.lit{animation:lightOn .28s ease,lightPulse 2s ease-in-out .28s infinite}@keyframes lightOn{0%{transform:scale(.9)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes lightPulse{0%,to{box-shadow:0 0 12px var(--gold)}50%{box-shadow:0 0 18px 2px #ffe98a}}.curry-flame-marker{animation:curryFlicker .5s ease-in-out infinite alternate}.curry-fan-btn:not(:disabled){animation:curryFanHint 2s ease-in-out infinite}@keyframes curryFlicker{0%{filter:brightness(1)}to{filter:brightness(1.35)}}@keyframes curryFanHint{0%,to{box-shadow:0 0 #e8892b66}50%{box-shadow:0 0 14px 3px #e8892b80}}.pokestar-take:not(:disabled){animation:pokestarTakeIn .3s ease both}.pokestar-summary-score{animation:pokestarScorePop .5s cubic-bezier(.2,1.5,.5,1) both}@keyframes pokestarTakeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pokestarScorePop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.match3-tile:active:not(:disabled) .match3-tile-inner{transform:scale(.92)}.match3-tile.new{animation:match3Drop .32s cubic-bezier(.3,1.35,.6,1) both}.match3-tile.clearing .match3-tile-inner{animation:match3Clear .2s ease-in forwards}@keyframes match3Drop{0%{transform:translate(calc(var(--col) * 100%),calc((var(--row) - 3) * 100%))}to{transform:translate(calc(var(--col) * 100%),calc(var(--row) * 100%))}}@keyframes match3Select{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes match3Clear{to{transform:scale(.15);opacity:0}}.memory-card.up{animation:memoryFlip .34s ease both}.memory-card.matched{animation:memoryMatch .5s cubic-bezier(.2,1.5,.5,1) both}@keyframes memoryFlip{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}@keyframes memoryMatch{0%{transform:scale(1)}45%{transform:scale(1.15)}to{transform:scale(1)}}.whack-hole.diglett{animation:whackRise .1s ease}.whack-hole.zubat{animation:whackFlee .1s ease}.whack-sprite{animation:whackPop .18s ease}@keyframes whackRise{0%{transform:scale(.7)}to{transform:scale(1)}}@keyframes whackFlee{0%{filter:brightness(1.6)}to{filter:brightness(1)}}@keyframes whackPop{0%{transform:translateY(10px) scale(.8)}to{transform:translateY(0) scale(1)}}@keyframes rallyStall{0%{opacity:1}to{opacity:.4}}@keyframes pokeshotFlash{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.global-tooltip{position:fixed;z-index:9999;transform:translate(-50%,calc(-100% - 8px));max-width:240px;box-sizing:border-box;padding:6px 8px;font-size:9px;line-height:1.45;text-align:left;color:var(--parchment);background:#140e06fa;border:1px solid var(--gold);border-radius:4px;box-shadow:0 6px 18px #0000008c;pointer-events:none;white-space:normal}.global-tooltip.below{transform:translate(-50%,8px)}.global-tooltip .tooltip-up,.global-tooltip .tooltip-down{display:block;margin-top:3px;font-weight:700}.global-tooltip .tooltip-up{color:#8fe07a}.global-tooltip .tooltip-down{color:#f08a8a}.voltorb-tile{position:relative}.voltorb-board.exploded{animation:voltorbShake .4s ease}.voltorb-tile.flipped.voltorb.exploding{animation:voltorbBlast .5s ease both;z-index:2}.voltorb-boom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;pointer-events:none;animation:voltorbBoom .6s ease-out both}@keyframes voltorbShake{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-1px)}80%{transform:translate(2px,1px)}}@keyframes voltorbBlast{0%{transform:scale(1);box-shadow:0 0 #ff5a3ce6}35%{transform:scale(1.25);box-shadow:0 0 18px 6px #ff7828d9}to{transform:scale(1);box-shadow:0 0 22px 8px #ff3c1400}}@keyframes voltorbBoom{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.3);opacity:1}to{transform:scale(1.6);opacity:0}}.ruins-scene{background-image:url(/backgrounds/cave.webp)}.ruins-wrap,.ice-wrap{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:14px;width:100%}.ice-side{display:flex;flex-direction:column;align-items:center;gap:8px;width:168px}.ruins-grid{display:grid;gap:6px;width:100%;max-width:320px}.ruins-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--parchment);background:linear-gradient(#6a5330,#3f3018);border:2px solid var(--line-accent);border-radius:6px;box-shadow:inset 0 -3px #0005;cursor:default;transition:transform .1s ease}.ruins-tile.slidable{background:linear-gradient(#8a6d3c,#5a4423);border-color:var(--gold);cursor:pointer}.ruins-tile.slidable:hover{filter:brightness(1.12)}.ruins-tile.slidable:active{transform:scale(.94)}.ruins-tile.blank{background:#00000073;border-style:dashed;border-color:#4a3a1a}.ruins-hint,.ice-hint{font-size:9px;color:var(--text-soft);text-align:center}.ruins-summary,.ice-summary{font-size:10px;color:#fff;text-align:center}.ice-scene{background-image:url(/backgrounds/cave.webp)}.ice-grid{display:grid;gap:3px}.ice-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(#bfe3f5,#7fb8d8);border:1px solid #5a90b0;border-radius:4px}.ice-cell.wall{background:#2a3340;border-color:#1a2028}.ice-cell.rock{background:linear-gradient(#8a7a5a,var(--surface-mid))}.ice-cell.goal{background:radial-gradient(#fff6c0,var(--gold));border-color:var(--gold);box-shadow:0 0 10px var(--gold)}.ice-player-sprite{width:80%;height:80%;image-rendering:pixelated;animation:icePop .14s ease}.ice-rock-mark{font-size:14px;color:var(--text-bright)}.ice-goal-mark{font-size:14px;color:var(--gold-dark)}.ice-cell.plate{background:radial-gradient(#d8e8f0,#a8c0d0);border-color:#6a8aa0}.ice-cell.block{background:linear-gradient(#b8a078,#7a6440)}.ice-cell.exit.locked{background:linear-gradient(#6a7480,#3a4450);border-color:#2a3038}.ice-cell.exit.open{background:radial-gradient(#fff6c0,var(--gold));border-color:var(--gold);box-shadow:0 0 10px var(--gold)}.ice-block-mark{font-size:15px;color:#4a3820}.ice-plate-mark{font-size:14px;color:#38506a}.ice-controls{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:6px;justify-content:center}.ice-arrow{font-size:16px;color:#10240c;background:linear-gradient(var(--parchment),var(--parchment-dark));border:2px solid var(--line-accent);border-radius:8px;cursor:pointer}.ice-arrow:hover{filter:brightness(1.08)}.ice-arrow-n{grid-column:2;grid-row:1}.ice-arrow-w{grid-column:1;grid-row:2}.ice-arrow-s{grid-column:2;grid-row:2}.ice-arrow-e{grid-column:3;grid-row:2}@keyframes icePop{0%{transform:scale(.8)}to{transform:scale(1)}}.type-bg-normal,.type-bg-fire,.type-bg-electric,.type-bg-grass,.type-bg-ice,.type-bg-ground,.type-bg-flying,.type-bg-bug,.type-bg-rock,.type-bg-steel,.type-bg-fairy{color:var(--text-on-type);text-shadow:none}.backpack-panel{flex:0 0 auto;height:clamp(280px,40vh,520px);display:flex;flex-direction:column;min-height:0;border-top:2px solid var(--line)}.backpack-header{display:flex;align-items:center;padding:6px 10px 2px;background:var(--bg-panel-light)}.backpack-title{font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:1px}.backpack-tab-bar{padding:4px 6px 0;background:var(--bg-panel-light)}.backpack-tab-bar .tab-btn{font-size:8px;padding:5px 8px}.backpack-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pokedex-inline,.records-inline,.reward-shop-inline{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px;overflow:hidden;background:linear-gradient(180deg,var(--parchment),var(--parchment-dark));color:var(--ink-strong)}.records-inline,.reward-shop-inline{overflow-y:auto}.backpack-content .bag-container{flex:1;min-height:0;height:auto;border-top:none}.doubles-arena{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;padding:10px 14px;background:linear-gradient(180deg,#140e0680,#140e06cc);border:2px solid var(--line-accent);border-radius:6px}.doubles-arena-triple .doubles-sprite{width:44px;height:44px}.doubles-arena-triple .doubles-fighter{min-width:80px;padding:3px}.rotation-fighter{position:relative;font:inherit;color:inherit;cursor:pointer}.rotation-fighter:disabled{cursor:default}.rotation-fighter:not(:disabled):hover{border-color:var(--gold)}.rotation-active-tag{margin-top:2px;font-size:7px;font-weight:700;letter-spacing:.5px;color:#1c1206;background:var(--gold);border-radius:3px;padding:0 3px}.rotation-hint{margin:6px 0 0;font-size:9px;line-height:1.4;text-align:center;color:var(--text-soft)}.ffa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.ffa-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;background:#00000047;border:1px solid var(--line-accent);border-radius:5px}.ffa-card.player{border-color:var(--gold)}.ffa-card.down{opacity:.6}.ffa-card.hit{animation:royalHit .5s ease}.ffa-card-name{font-size:9px;font-weight:700;color:var(--text-bright)}.ffa-sprite{width:48px;height:48px;image-rendering:pixelated}.ffa-mon-name{font-size:8px;color:var(--text-soft)}.ffa-pips{display:flex;gap:3px;margin-top:2px}.ffa-pip{width:6px;height:6px;border-radius:50%;background:#4a3c28}.ffa-pip.alive{background:#48b048}.ffa-remaining{font-size:7px;color:var(--text-dim)}.doubles-side{display:flex;flex-direction:column;gap:6px}.doubles-fighter{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:92px;padding:5px;background:#00000047;border:1px solid var(--line-accent);border-radius:5px}.doubles-fighter.hit{animation:royalHit .5s ease}.doubles-fighter.active{border-color:var(--gold)}.doubles-fighter.down .doubles-sprite{filter:grayscale(1) brightness(.6)}.doubles-sprite{width:54px;height:54px;image-rendering:pixelated}.doubles-name{font-size:9px;color:var(--text-bright)}.doubles-level{font-size:8px;color:var(--text-soft)}.doubles-hp{position:relative;display:flex;align-items:center;justify-content:center;width:80px;height:11px;overflow:hidden;font-size:8px;color:#fff;background:#00000080;border:1px solid var(--line);border-radius:999px}.doubles-hp-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#48b048,#2f7f2f)}.doubles-hp-text{position:relative;z-index:1}.doubles-empty{font-size:18px;color:#888}.doubles-versus{font-size:12px;font-weight:700;color:var(--gold)}.doubles-round-log{display:flex;flex-direction:column;gap:1px;width:100%;padding:4px 8px;font-size:8px;color:var(--parchment-dark);background:#140e0680;border-radius:4px}.doubles-round-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.horde-pack{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:8px;width:100%}.horde-fighter .doubles-sprite{width:44px;height:44px}.horde-player{display:flex;justify-content:center;width:100%}.horde-hint{font-size:9px;color:var(--text-soft)}.cafe-panel{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:#140e0680;border:1px solid var(--line-accent);border-radius:4px}.kurt-qty{display:flex;align-items:center;gap:4px;margin:4px 0}.kurt-qty-label{font-size:9px;color:var(--ink)}.kurt-qty-btn{padding:2px 7px;font-size:9px;font-family:inherit;background:#d8c49c;color:var(--ink);border:1px solid var(--line-accent);border-radius:2px;cursor:pointer}.kurt-qty-btn:hover{background:#e2d0ac}.kurt-qty-btn.active{background:var(--line-accent);color:#f4e8cc;font-weight:700}.kurt-list{display:flex;flex-direction:column;gap:5px;margin:6px 0}.kurt-row{display:flex;align-items:center;gap:6px;background:#00000012;padding:4px 6px;border-radius:3px}.kurt-name{flex:1;min-width:0;font-size:10px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kurt-owned{color:var(--gold-dark)}.kurt-ball-name{font-size:9px;color:var(--ink);min-width:64px}.route-mastery-hint{margin:2px 0 6px;font-size:9px;color:var(--text-muted)}.route-mastery-hint.mastered{color:#b8860b;font-weight:700}.daycare-tracker{display:flex;flex-direction:column;gap:4px;margin:8px 0;padding:6px 8px;background:#00000012;border-radius:3px}.daycare-tracker-line{font-size:9px;color:var(--ink)}.daycare-tracker-empty{font-size:9px;color:var(--gold-dark)}.daycare-project-list{display:flex;flex-direction:column;gap:3px}.daycare-project-row{display:flex;align-items:center;gap:6px}.daycare-project-name{flex:1;min-width:0;font-size:9px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daycare-project-remove{font-family:inherit;font-size:8px;font-weight:700;padding:2px 6px;background:transparent;color:#8a3a1a;border:1px solid #8a3a1a;cursor:pointer}.daycare-project-add{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}.daycare-project-select{font-family:inherit;font-size:9px;padding:3px 4px;background:var(--parchment);color:var(--ink-strong);border:2px solid var(--text-dim);border-radius:0}.offline-report-jobs{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid #00000022}.offline-report-jobs-title{font-size:9px;font-weight:700;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.5px}.offline-report-job{display:flex;flex-direction:column;gap:1px;background:#00000010;padding:4px 6px;border-radius:3px}.offline-report-job-name{font-size:10px;color:var(--ink)}.offline-report-job-detail{font-size:9px;color:var(--gold-dark)}.prestige-perks{margin-top:10px;padding-top:10px;border-top:1px solid #00000022}.prestige-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.prestige-respec-btn{font-family:inherit;font-size:9px;color:var(--text-muted);background:#00000010;border:1px solid #00000033;border-radius:3px;padding:3px 6px;cursor:pointer}.prestige-respec-btn:hover{background:#0000001e;color:var(--gold-bright)}.prestige-perk-row{display:flex;align-items:center;gap:8px;margin-top:6px;background:#00000012;padding:5px 7px;border-radius:3px}.prestige-perk-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.prestige-perk-name{font-size:10px;font-weight:700;color:var(--parchment)}.prestige-perk-rank{font-weight:400;color:var(--gold)}.prestige-perk-desc{font-size:9px;color:var(--text-muted)}.legendary-quest-panel{margin:10px 0;padding:8px;background:#00000014;border:1px solid var(--text-dim);border-radius:3px}.legendary-quest-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.legendary-quest-sprite{width:40px;height:40px;image-rendering:pixelated}.legendary-quest-info{display:flex;flex-direction:column;gap:2px}.legendary-quest-title{font-size:10px;font-weight:700;color:var(--parchment)}.legendary-quest-target{font-size:9px;color:var(--gold)}.legendary-quest-steps{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.legendary-quest-step{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--text-muted)}.legendary-quest-step.done{color:#7ad06a;font-weight:700}.legendary-quest-done{text-align:center;font-size:10px;font-weight:700;color:#b8860b}.legendary-intro-modal{max-width:320px;text-align:center;background:linear-gradient(180deg,var(--bg-deep),var(--bg-dark));border-color:var(--gold);color:var(--parchment)}.legendary-intro-head{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0 8px}.legendary-intro-sprite{width:80px;height:80px;image-rendering:pixelated}.legendary-intro-title{font-size:11px;font-weight:700;color:#f0e2c0}.legendary-intro-target{font-size:10px;color:var(--text-soft)}.legendary-intro-lines{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}.legendary-intro-line{margin:0;font-size:10px;line-height:1.5;color:#e4d6b8}.legendary-intro-actions{display:flex;justify-content:center;gap:8px}.postgame-hub-card{margin:8px 0}.postgame-hub-modal{max-width:420px;width:94%;max-height:88vh;overflow-y:auto;padding:14px;background-size:cover;background-position:center;color:#f0e2c0}.postgame-hub-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.postgame-hub-icon{font-size:24px;line-height:1}.postgame-hub-head-info{display:flex;flex-direction:column;gap:2px;flex:1}.postgame-hub-name{font-size:13px;font-weight:700}.postgame-hub-subtitle{font-size:9px;color:var(--text-soft)}.postgame-hub-greeting{margin:0 0 10px;font-size:10px;font-style:italic;line-height:1.5;color:#e4d6b8}.postgame-hub-actions{display:flex;gap:8px;margin-bottom:10px}.postgame-hub-actions .gym-fight-btn{flex:1}.postgame-hub-section{margin-bottom:10px}.postgame-hub-shop{margin:10px 0;padding:8px;background:#0000004d;border:1px solid var(--text-dim);border-radius:3px}.postgame-hub-description{margin:8px 0 0;font-size:9px;line-height:1.5;color:#a99a7d}.location-utility-row{display:flex;align-items:center;gap:6px;width:100%}.hunt-bar{display:flex;flex:1 1 auto;align-items:center;gap:5px;min-width:0;text-align:left;margin:0;padding:4px 8px;background:#00000012;border:1px dashed #00000044;border-radius:3px;color:var(--text-muted);font-family:inherit;font-size:9px;white-space:nowrap;cursor:pointer}.hunt-bar:hover{background:#0000001e}.hunt-bar.active{border-style:solid;border-color:#c08a2a;background:#c08a2a1e}.hunt-bar-icon{font-size:12px;line-height:1}.hunt-bar-text{display:flex;flex-direction:row;align-items:baseline;gap:5px;min-width:0;overflow:hidden}.hunt-bar-target{min-width:0;overflow:hidden;font-weight:700;color:var(--parchment);text-overflow:ellipsis;white-space:nowrap}.hunt-bar-progress{white-space:nowrap;color:var(--text-muted);opacity:.85}@media (max-width: 767px){.hunt-bar-progress{display:none}}.sos-chain-chip{display:flex;align-items:center;gap:6px;width:100%;margin:2px 0 6px;padding:4px 7px;background:#00000012;border:1px dashed #00000044;border-radius:3px;color:var(--text-muted);font-size:9px}.sos-chain-chip.active{border-style:solid;border-color:#4a90d9;background:#4a90d91e}.sos-chain-icon{font-size:12px;line-height:1}.sos-chain-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 6px;min-width:0}.sos-chain-count{font-weight:700;color:var(--parchment)}.sos-chain-best,.sos-chain-species,.sos-chain-odds,.sos-chain-next{color:var(--text-muted);opacity:.85}.sos-chain-species{color:#4a90d9;font-weight:700}.sos-chain-next{color:#c08a2a}.reveal-chip{display:flex;align-items:center;gap:6px;width:100%;margin:2px 0 6px;padding:4px 7px;background:#e0703014;border:1px solid #e07030;border-radius:3px;color:var(--text-muted);font-size:9px}.reveal-chip-icon{font-size:12px;line-height:1}.reveal-chip-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 6px;min-width:0}.reveal-chip-label{font-weight:700;color:#e07030}.reveal-chip-species{color:var(--parchment);font-weight:700}.reveal-chip-remaining{color:var(--text-muted);opacity:.85}.hunt-modal{width:248px}.hunt-active{display:flex;flex-direction:column;gap:6px;padding:6px;background:#00000012;border:1px solid #00000033;border-radius:4px}.hunt-active-head{display:flex;align-items:center;gap:6px}.hunt-active-sprite{width:40px;height:40px;image-rendering:pixelated}.hunt-active-icon{font-size:26px;line-height:1}.hunt-active-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.hunt-active-target{font-size:10px;font-weight:700;color:var(--ink)}.hunt-active-hint{font-size:8px;color:var(--gold-dark)}.hunt-stop-btn{font-family:inherit;font-size:9px;padding:3px 6px;background:#8a3a2a;color:var(--parchment);border:1px solid #5a2418;border-radius:3px;cursor:pointer}.hunt-stat-row{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:9px;color:var(--surface-deep)}.hunt-stat-value{font-weight:700;color:var(--ink-strong)}.hunt-routes{display:flex;flex-wrap:wrap;align-items:center;gap:3px;font-size:9px}.hunt-routes-label{color:var(--gold-dark)}.hunt-route-chip{background:#00000014;border:1px solid #00000033;border-radius:3px;padding:1px 4px;color:var(--ink)}.hunt-empty-hint{margin:0;font-size:9px;line-height:1.4;color:var(--surface-mid)}.hunt-mode-toggle{display:flex;gap:4px}.hunt-mode-btn{flex:1;font-family:inherit;font-size:9px;padding:3px;background:#00000012;border:1px solid #00000033;border-radius:3px;color:var(--surface-mid);cursor:pointer}.hunt-mode-btn.active{background:var(--gold);color:var(--bg-dark);border-color:var(--gold-dark);font-weight:700}.hunt-search-input{width:100%;box-sizing:border-box}.hunt-species-list{display:flex;flex-direction:column;gap:2px;max-height:190px;overflow-y:auto}.hunt-list-hint{font-size:9px;color:var(--gold-dark);padding:2px 0}.hunt-species-row{display:flex;align-items:center;gap:6px;width:100%;padding:3px 4px;background:none;border:none;border-radius:3px;font-family:inherit;cursor:pointer;text-align:left;color:var(--ink)}.hunt-species-row:hover{background:#0000001e}.hunt-species-sprite{width:26px;height:26px;image-rendering:pixelated}.hunt-species-name{flex:1;min-width:0;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hunt-species-types{font-size:8px;opacity:.7;white-space:nowrap}.hunt-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.hunt-type-btn{font-family:inherit;font-size:9px;padding:3px 2px;border:1px solid #00000055;border-radius:3px;cursor:pointer;color:#fff;text-shadow:0 1px 1px #000000aa}.hunt-type-btn.active{outline:2px solid var(--gold);outline-offset:-2px}.ui-segmented{display:inline-flex;gap:2px}.ui-segmented-btn{font-family:inherit;font-size:10px;font-weight:700;line-height:1;padding:5px 8px;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);border-radius:0;cursor:pointer;box-shadow:1px 1px #0000004d,inset 1px 1px #ffffff1a}.ui-segmented-btn:hover:not(:disabled){background:var(--surface-raised-hover);border-color:var(--gold-dark)}.ui-segmented-btn.active{background:var(--gold);color:var(--bg-dark);border-color:var(--gold-dark);box-shadow:1px 1px #0000004d,inset 1px 1px #ffffff40}.ui-segmented-btn:disabled{opacity:.5;cursor:not-allowed}.ui-segmented.compact .ui-segmented-btn{font-size:9px;padding:3px 6px}.speed-controls .ui-segmented{flex-wrap:wrap}.ui-number{display:inline-flex;align-items:center;gap:4px}.ui-number.disabled{opacity:.55}.ui-number-btn{font-family:inherit;font-size:10px;font-weight:700;line-height:1;width:16px;height:16px;padding:0;background:var(--surface-raised);color:var(--parchment);border:2px solid var(--line);cursor:pointer}.ui-number-btn:hover:not(:disabled){background:var(--surface-raised-hover);border-color:var(--gold-dark)}.ui-number-btn:disabled{opacity:.4;cursor:not-allowed}.ui-slider{position:relative;flex:1;min-width:64px;height:12px;box-sizing:border-box;background:var(--ink);border:2px solid var(--line);cursor:pointer;touch-action:none}.ui-slider:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ui-slider-fill{position:relative;height:100%;background:var(--gold)}.ui-slider-handle{position:absolute;right:-5px;top:50%;transform:translateY(-50%);width:8px;height:14px;background:var(--gold-bright);border:1px solid var(--line)}.ui-number-value{min-width:26px;text-align:center;font-size:10px;font-weight:700;color:var(--ink)}.ui-number.compact .ui-slider{min-width:48px}.level-threshold-control{flex:1;min-width:0}.shop-qty-selector .ui-number{flex:1}.shop-qty-selector .ui-number-value{color:var(--parchment)}.box-filter-segmented{flex:0 0 auto}.rival-quote{font-size:10px;font-style:italic;line-height:1.5;color:var(--ink);margin:2px 0 6px;padding-left:8px;border-left:2px solid #c08a2a66}.stats-panel-evs-title{display:block;margin-top:6px;font-size:9px;font-weight:700;color:var(--ink)}.stats-panel-ev-grid{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.ev-chip{font-size:8px;padding:1px 4px;border:1px solid #00000033;border-radius:3px;background:#00000012;color:var(--surface-deep)}.ev-chip.trained{background:#c08a2a26;border-color:#c08a2a88;color:var(--gold-dark)}.ev-chip.maxed{background:#c08a2a55;border-color:var(--gold-line);color:var(--ink-strong);font-weight:700}.stats-panel-origin{display:block;margin-top:4px;font-size:8px;color:#6a5a48}.battle-weather-badge.weather-fog{border-color:#b0b8c0}.battle-weather-overlay.weather-fog:before{background:linear-gradient(90deg,#d2d8e01f,#d2d8e066 50%,#d2d8e01f);animation:weatherFog 9s ease-in-out infinite}.battle-weather-overlay.weather-fog:after{background:linear-gradient(90deg,#bec6d014,#bec6d047 50%,#bec6d014);animation:weatherFog 13s ease-in-out infinite reverse}@keyframes weatherFog{0%,to{transform:translate(-6%);opacity:.8}50%{transform:translate(6%);opacity:1}}.kurt-queue{margin-bottom:8px;padding:6px 7px;background:#00000012;border:1px solid #00000033;border-radius:4px}.kurt-queue-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.kurt-queue-title{font-size:10px;font-weight:700;color:var(--ink)}.kurt-queue-row{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:9px;color:var(--surface-mid)}.kurt-queue-row.ready{color:#2e7d32;font-weight:700}.kurt-queue-ball{flex:1;min-width:0}.kurt-queue-progress{opacity:.85}.trainer-card{position:relative;box-sizing:border-box;width:100%;max-width:420px;padding:12px;border:3px solid #00000066;border-radius:8px;box-shadow:inset 0 0 0 2px #ffffff26;color:#fff;overflow:hidden}.trainer-card.compact{padding:8px;border-width:2px;border-radius:6px}.trainer-card-head{display:flex;align-items:center;gap:10px}.trainer-card-avatar{position:relative;flex:none;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #ffffff40}.trainer-card.compact .trainer-card-avatar{width:38px;height:38px}.trainer-card-avatar-head{position:absolute;top:6px;width:26px;height:26px;border-radius:50%;opacity:.9}.trainer-card.compact .trainer-card-avatar-head{top:4px;width:18px;height:18px}.trainer-card-avatar-emblem{position:relative;z-index:1;font-size:22px;line-height:1}.trainer-card.compact .trainer-card-avatar-emblem{font-size:16px}.trainer-card-identity{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.trainer-card-name{font-size:14px;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 2px #00000080;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trainer-card.compact .trainer-card-name{font-size:10px}.trainer-card-title{font-size:9px;color:#ffe9a8;text-shadow:0 1px 2px #00000080}.trainer-card-title.empty{opacity:.5}.trainer-card-region{font-size:9px;opacity:.85}.trainer-card-body{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.trainer-card.compact .trainer-card-body{margin-top:6px;gap:6px}.trainer-card-favourite{display:flex;align-items:center;gap:8px;min-width:0}.trainer-card-favourite-sprite{width:56px;height:56px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 3px #00000080)}.trainer-card.compact .trainer-card-favourite-sprite{width:40px;height:40px}.trainer-card-favourite-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.trainer-card-favourite-name{font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trainer-card-favourite-level,.trainer-card-favourite-empty{font-size:9px;opacity:.85}.trainer-card-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:9px;text-shadow:0 1px 2px #00000080;white-space:nowrap}.trainer-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.trainer-card.compact .trainer-card-badges{margin-top:6px;gap:3px}.trainer-card-badge{width:16px;height:16px;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);box-shadow:0 0 4px #fff6}.trainer-card.compact .trainer-card-badge{width:12px;height:12px}.trainer-card-panel{display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box}.trainer-card-panel.inline{flex:1;min-height:0}.trainer-card-scroll{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;padding:8px;overflow-y:auto}.trainer-card-scroll>*{flex:none}.sub-tab-bar{flex:none;padding:4px 6px;background:linear-gradient(180deg,#6a4030,#5a3020);border-bottom:2px solid #3a1e10}.sub-tab-bar .bag-tab{font-size:8px;padding:3px 6px}.trainer-card-panel-head{display:flex;align-items:center;justify-content:space-between}.trainer-card-panel-title{font-size:10px;font-weight:700;color:var(--gold)}.trainer-card-actions{display:flex;align-items:center;gap:8px}.trainer-card-export-status{font-size:9px;color:#2e7d32}.trainer-card-input,.trainer-card-select{flex:1;min-width:0;max-width:220px;box-sizing:border-box;padding:5px 6px;font-family:inherit;font-size:10px;color:var(--ink);background:var(--parchment);border:2px solid var(--line);border-radius:4px}.trainer-outfit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin-top:6px}.trainer-outfit{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.trainer-outfit-swatch{width:52px;height:52px;border-radius:8px;border:3px solid #ffffff33;display:flex;align-items:center;justify-content:center;cursor:pointer}.trainer-outfit-swatch:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.6}.trainer-outfit.selected .trainer-outfit-swatch{border-color:#ffe9a8;box-shadow:0 0 8px #ffe9a880}.trainer-outfit-emblem{font-size:22px}.trainer-outfit-name{font-size:8px;color:var(--parchment)}.trainer-outfit-hint,.trainer-outfit-buy{font-size:7px;color:var(--parchment-dark);opacity:.85}.trainer-outfit-buy{cursor:pointer;padding:2px 4px;background:#0003;border:1px solid #ffffff33;border-radius:3px;color:#ffe9a8}.trainer-outfit-buy:disabled{cursor:not-allowed;opacity:.5}.trainer-badge-picker{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.trainer-badge-pick{width:24px;height:24px;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);opacity:.35;cursor:pointer;transition:opacity .2s}.trainer-badge-pick.active{opacity:1;box-shadow:0 0 6px #ffffff80}.form-dex{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.form-dex-summary{display:flex;flex-direction:column;gap:3px}.form-dex-summary-line{display:flex;align-items:baseline;gap:6px}.form-dex-summary-label{font-size:9px;font-weight:700;color:var(--ink)}.form-dex-summary-count{margin-left:auto;font-size:8px;color:var(--surface-mid)}.form-dex-progress{height:6px;background:#00000026;border:1px solid var(--text-dim)}.form-dex-progress.small{height:4px}.form-dex-progress-fill{height:100%;background:linear-gradient(90deg,#7ac74c,#e8c84a);transition:width .2s}.form-dex-section{display:flex;flex-direction:column;gap:3px}.form-dex-section-grow{flex:1;min-height:0}.form-dex-sets{display:flex;flex-direction:column;gap:3px}.form-dex-set{display:flex;flex-direction:column;gap:2px}.form-dex-set-head{display:flex;align-items:center;gap:4px}.form-dex-set-name{font-size:8px;color:var(--ink)}.form-dex-set-count,.form-dex-family-count,.form-dex-generation-count{margin-left:auto;font-size:8px;color:var(--surface-mid)}.form-dex-rewarded{font-size:8px;color:#3f8a2a;font-weight:700}.form-dex-generations{display:flex;flex-wrap:wrap;gap:3px}.form-dex-generation{display:flex;align-items:center;gap:2px;padding:2px 4px;border:1px solid var(--text-dim);background:var(--parchment)}.form-dex-generation.complete{border-color:#3f8a2a;background:#d8ecc0}.form-dex-generation-name{font-size:8px;color:var(--ink)}.form-dex-filters{flex:none}.form-dex-families{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding-right:2px}.form-dex-family{display:flex;flex-direction:column;gap:2px;padding:3px 4px;border:1px solid var(--text-dim);background:#0000000d}.form-dex-family.complete{border-color:#3f8a2a;background:#d8ecc033}.form-dex-family-head{display:flex;align-items:center;gap:4px}.form-dex-family-name{font-size:8px;font-weight:700;color:var(--ink)}.form-dex-family-dex{font-size:7px;color:var(--text-dim)}.form-dex-targets{display:flex;flex-wrap:wrap;gap:2px}.form-dex-target{font-family:var(--font-pixel);font-size:7px;padding:1px 4px;color:#7a6a52;background:#00000012;border:1px solid var(--text-dim);cursor:pointer;transition:.1s}.form-dex-target:hover{border-color:var(--gold-line)}.form-dex-target.collected{color:#2a5a1a;background:#a8d88880;border-color:#3f8a2a}.form-dex-empty{font-size:8px;color:var(--surface-mid);padding:6px}.villain-panel .villain-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.villain-boss-sprite{width:48px;height:48px;image-rendering:pixelated;flex:0 0 auto}.villain-head-text{min-width:0}.villain-tagline{font-size:9px;font-style:italic;line-height:1.5;color:var(--surface-mid);margin-top:2px}.villain-progress{font-size:9px;font-weight:700;color:#7a3a1a;margin:2px 0 4px}.villain-done{margin-top:6px;padding:6px 8px;background:#c08a2a26;border:1px solid #c08a2a88;border-radius:4px}.villain-done-line{font-size:9px;font-style:italic;line-height:1.5;color:var(--ink)}.villain-reward{font-size:9px;font-weight:700;color:#7a3a1a;margin-top:4px}.modal-content,.settings-hint,.section-row,.section-field,.battle-log,.log-entries,.bag-description,.location-description,.location-info,.keybind-description,.achievement-desc,.daily-event-description,[class*=-hint],[class*=-description]{font-family:var(--font-body)}.modal-content{font-size:var(--text-md);line-height:1.5}.settings-hint{font-size:var(--text-base);line-height:1.55}.battle-log,.log-entries{font-size:var(--text-base);line-height:1.5}:root{--focus-ring: 0 0 0 2px var(--bg-dark),0 0 0 4px var(--accent) }button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--focus-ring)}button,.tab-btn,.settings-toggle-btn,.settings-save-btn,.settings-reset-btn,.modal-close{transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}button:active:not(:disabled),.tab-btn:active:not(.active),.settings-toggle-btn:active,.settings-save-btn:active:not(:disabled){transform:translateY(1px)}@media (prefers-reduced-motion: reduce){button,.tab-btn,.settings-toggle-btn,.settings-save-btn,.settings-reset-btn,.modal-close{transition:none}}.game-window{box-shadow:0 0 0 3px var(--bg-deep),0 0 0 5px var(--line-accent),0 0 0 8px var(--bg-deep),0 18px 60px #000000a6}.modal{border-radius:10px;box-shadow:var(--shadow-panel)}.modal-close,.tab-btn,.settings-toggle-btn,.settings-save-btn,.settings-reset-btn{border-radius:6px}.tab-btn{border-radius:5px 5px 0 0}.section{border-radius:8px}.settings-toggle-btn,.settings-save-btn,.modal-close{box-shadow:0 1px #ffffff1a inset,0 1px 2px #00000059}.settings-toggle-btn:hover,.settings-save-btn:hover:not(:disabled),.modal-close:hover{filter:brightness(1.08)}::selection{background:var(--accent);color:#fff}.settings-theme{margin-bottom:10px}.settings-theme-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.settings-theme-btn{display:flex;flex-direction:column;gap:2px;text-align:left;padding:7px 9px;font-size:10px;background:var(--surface-deep);color:var(--parchment);border:2px solid var(--line);cursor:pointer;box-shadow:0 1px #ffffff14 inset,0 1px 2px #00000059}.settings-theme-btn:hover{border-color:var(--line-accent);filter:brightness(1.08)}.settings-theme-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,0 1px #ffffff1a inset}.settings-theme-name{font-family:var(--font-pixel);font-weight:700;font-size:10px}.settings-theme-hint{font-family:var(--font-body);font-size:10px;line-height:1.35;color:var(--text-muted)}
