:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;min-height:100%}body{margin:0;min-width:320px;min-height:100dvh;overflow-x:hidden;background:#0f1115}a{font-weight:500;color:inherit;text-decoration:inherit}button{font:inherit}:root{--menu-window-bg: #3890f8;--menu-window-border: #f8f8f8;--menu-tile-bg: #f8f8f8;--menu-tile-border: #a8a8a8;--menu-tile-hover: #e0e8f8;--menu-tile-selected: #c8e0ff;--menu-accent-color: #f83800;--menu-accent-faded: rgba(248, 56, 0, .3);--menu-text-color: #383838;--menu-text-disabled: #a0a0a0;--menu-shadow: rgba(0, 0, 0, .5)}.start-menu-overlay{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0006;animation:menu-fade-in .15s ease-out}@keyframes menu-fade-in{0%{opacity:0}to{opacity:1}}.start-menu-grid{display:grid;grid-template-columns:repeat(var(--grid-cols, 2),1fr);gap:6px;padding:12px;background:var(--menu-window-bg);border:3px solid var(--menu-window-border);border-radius:6px;box-shadow:0 4px 16px var(--menu-shadow),inset 0 1px #fff3;transform:scale(var(--zoom, 1));transform-origin:center center;animation:menu-scale-in .2s cubic-bezier(.34,1.56,.64,1)}@keyframes menu-scale-in{0%{opacity:0;transform:scale(calc(var(--zoom, 1) * .9))}to{opacity:1;transform:scale(var(--zoom, 1))}}.menu-tile{aspect-ratio:1;width:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;padding:0;margin:0;font:inherit;background:var(--menu-tile-bg);border:2px solid var(--menu-tile-border);border-radius:4px;cursor:pointer;font-family:Pokemon Emerald,Courier New,monospace;font-size:8px;font-weight:700;text-transform:uppercase;color:var(--menu-text-color);letter-spacing:.5px;transition:transform .1s ease-out,background .1s ease-out,border-color .1s ease-out,box-shadow .1s ease-out}.menu-tile:hover:not(.disabled){background:var(--menu-tile-hover);transform:scale(1.02)}.menu-tile.selected{background:var(--menu-tile-selected);border-color:var(--menu-accent-color);box-shadow:0 0 0 2px var(--menu-accent-color);animation:menu-pulse 1s ease-in-out infinite}@keyframes menu-pulse{0%,to{box-shadow:0 0 0 2px var(--menu-accent-color)}50%{box-shadow:0 0 0 4px var(--menu-accent-faded)}}.menu-tile.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.menu-tile.disabled:hover{transform:none;background:var(--menu-tile-bg)}.menu-tile-icon{width:24px;height:24px;image-rendering:pixelated;background-image:var(--asset-menu-icons-bg);background-repeat:no-repeat;background-size:48px 240px;background-position-x:0}.menu-tile.selected .menu-tile-icon{background-position-x:-24px}.menu-tile-icon.icon-pokedex{background-position-y:0}.menu-tile-icon.icon-pokemon{background-position-y:-24px}.menu-tile-icon.icon-bag{background-position-y:-48px}.menu-tile-icon.icon-trainerCard{background-position-y:-72px}.menu-tile-icon.icon-save{background-position-y:-96px}.menu-tile-icon.icon-option{background-position-y:-168px}.menu-tile-label{text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-menu-overlay.closing{animation:menu-fade-out .1s ease-in forwards}.start-menu-overlay.closing .start-menu-grid{animation:menu-scale-out .1s ease-in forwards}@keyframes menu-fade-out{0%{opacity:1}to{opacity:0}}@keyframes menu-scale-out{0%{opacity:1;transform:scale(var(--zoom, 1))}to{opacity:0;transform:scale(calc(var(--zoom, 1) * .9))}}@media(max-width:320px){.start-menu-grid{gap:6px;padding:12px}.menu-tile{width:60px;gap:4px}.menu-tile-icon{width:24px;height:24px}.menu-tile-label{font-size:8px}}.bag-content{display:flex;flex-direction:column;height:100%;padding:var(--space-1);padding-top:var(--header-padding);gap:var(--space-1)}.bag-header{display:flex;gap:var(--space-2);padding:var(--space-1);background:var(--section-bg);border-radius:var(--radius-md);flex-shrink:0}.bag-image-container{flex-shrink:0;display:flex;align-items:center;justify-content:center}.bag-image{width:var(--bag-frame-width);height:var(--bag-frame-height);background-image:var(--asset-bag-icon-pockets-bg);background-repeat:no-repeat;background-position-y:0;image-rendering:pixelated}.bag-image.bag-shake{animation:bagShake .5s ease-out}@keyframes bagShake{0%{transform:rotate(0)}10%{transform:rotate(-8deg)}20%{transform:rotate(8deg)}30%{transform:rotate(-6deg)}40%{transform:rotate(6deg)}50%{transform:rotate(-4deg)}60%{transform:rotate(4deg)}70%{transform:rotate(-2deg)}80%{transform:rotate(2deg)}to{transform:rotate(0)}}.bag-header-right{flex:1;display:flex;flex-direction:column;min-width:0}.pocket-label{background:var(--section-bg-accent);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-md);font-weight:700;color:var(--text-primary);text-shadow:var(--text-shadow);text-align:center;text-transform:uppercase}.pocket-tabs{flex:1;display:flex;gap:var(--space-0);justify-content:center;align-items:center}.pocket-tab{width:var(--pocket-icon-size);height:var(--pocket-icon-size);padding:0;border:none;background:transparent;cursor:pointer}.pocket-tab-icon{width:var(--pocket-icon-size);height:var(--pocket-icon-size);background-image:var(--asset-bag-icons-bg);background-repeat:no-repeat;background-size:208px 52px;background-position-y:0;image-rendering:pixelated}.pocket-tab-icon.selected{background-position-y:-26px}.bag-items{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.item-list{background:var(--section-bg-dark);border:var(--border-thin) solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-0);flex:1;min-height:0;overflow-y:auto}.empty-pocket{color:var(--text-muted);text-align:center;padding:var(--space-4) var(--space-2);font-family:var(--font-family);font-size:var(--font-sm);font-style:italic}.item-row{display:flex;align-items:center;padding:var(--space-0) var(--space-1);gap:var(--space-1);border-radius:var(--radius-sm);cursor:pointer}.item-row:hover{background:var(--bg-hover)}.item-row.selected{background:var(--bg-selected);box-shadow:inset 0 0 0 1px var(--border-selected)}.item-icon{width:var(--icon-item);height:var(--icon-item);image-rendering:pixelated;flex-shrink:0}.item-name{flex:1;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-primary);text-shadow:var(--text-shadow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.item-quantity{color:var(--text-highlight);font-family:var(--font-family);font-weight:700;font-size:var(--font-sm);text-shadow:var(--text-shadow);flex-shrink:0}.scroll-indicators{position:absolute;right:var(--space-1);top:var(--space-1);bottom:var(--space-1);display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.scroll-arrow{font-size:var(--font-sm);color:var(--text-muted);opacity:0;transition:opacity .15s}.scroll-arrow.visible{opacity:1;color:var(--text-secondary)}.bag-description{flex-shrink:0;background:var(--section-bg-darker);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.item-description{font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-primary);text-shadow:var(--text-shadow);line-height:1.4;min-height:20px}.bag-actions{margin-top:var(--space-1);display:flex;gap:var(--space-1)}.bag-action-btn{appearance:none;border:var(--border-thin) solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--section-bg-accent);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);font-weight:700;text-shadow:var(--text-shadow);padding:2px 8px;cursor:pointer}.bag-action-btn:hover{background:var(--bg-hover)}.party-content{display:flex;flex-direction:column;height:100%;padding:4px;gap:2px;overflow:hidden}.party-header{flex-shrink:0}.party-title{margin:0;font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-primary);text-shadow:var(--text-shadow);text-transform:uppercase;text-align:center}.party-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:4px;flex:1;min-height:0;overflow:hidden}.party-slot{display:flex;align-items:center;gap:var(--space-1);padding:2px 6px;background:linear-gradient(180deg,#4a5568,#2d3748);border:var(--border-thin) solid #1a202c;border-radius:20px;cursor:pointer;position:relative;overflow:hidden;box-sizing:border-box;min-height:0;min-width:0}.party-slot:hover{background:linear-gradient(180deg,#5a6678,#3d4758);border-color:#4a5568}.party-slot.selected{background:linear-gradient(180deg,#3182ce,#2b6cb0);border-color:#63b3ed;box-shadow:0 0 4px #63b3ed80}.party-slot.selected:hover{background:linear-gradient(180deg,#4299e1,#3182ce)}.party-slot.swap-target{animation:party-slot-pulse .8s ease-in-out infinite;border-color:#f6ad55}@keyframes party-slot-pulse{0%,to{box-shadow:0 0 3px #f6ad5566}50%{box-shadow:0 0 6px #f6ad55cc}}.party-slot.fainted{opacity:.7}.party-slot.empty{justify-content:center;background:linear-gradient(180deg,#2d3748,#1a202c);border-style:dashed;cursor:default}.party-slot.empty:hover{background:linear-gradient(180deg,#2d3748,#1a202c)}.party-slot-empty-text{font-family:var(--font-family);font-size:var(--font-sm);color:#4a5568;text-transform:uppercase}.party-slot-icon-container{position:relative;width:var(--icon-pokemon);height:var(--icon-pokemon);flex-shrink:0}.party-slot-icon{width:var(--icon-pokemon);height:var(--icon-pokemon);background-size:32px 64px;background-position:0 0;background-repeat:no-repeat;image-rendering:pixelated;animation:pokemon-icon-bounce .6s step-end infinite}.party-slot-icon.fainted{filter:grayscale(1) brightness(.7);animation:none}@keyframes pokemon-icon-bounce{0%,85%{background-position-y:0}85.01%,to{background-position-y:-32px}}.party-slot-item-indicator{position:absolute;bottom:0;right:0;font-size:var(--font-xs);color:var(--text-highlight);text-shadow:0 0 1px #000;line-height:1}.party-slot-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;overflow:hidden}.party-slot-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-0)}.party-slot-name{font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-primary);text-shadow:var(--text-shadow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-slot-gender{font-size:var(--font-sm);font-weight:700;text-shadow:var(--text-shadow);flex-shrink:0}.party-slot-gender.male{color:var(--gender-male)}.party-slot-gender.female{color:var(--gender-female)}.party-slot-hp-bar{height:4px;background:#1a202c;border-radius:2px;overflow:hidden}.party-slot-hp-fill{height:100%;border-radius:2px;transition:width .2s ease}.party-slot-hp-text{font-family:var(--font-family);font-size:var(--font-xs);color:var(--text-primary);text-shadow:var(--text-shadow)}.party-slot-level{font-family:var(--font-family);font-size:var(--font-xs);color:var(--text-secondary);text-shadow:var(--text-shadow);flex-shrink:0}.party-slot-status{font-family:var(--font-family);font-size:var(--font-xs);color:var(--text-highlight);text-shadow:1px 1px 0 rgba(0,0,0,.5)}.party-footer{text-align:center;padding-top:var(--space-0);flex-shrink:0}.party-hint{font-family:var(--font-family);font-size:var(--font-xs);color:var(--text-muted)}.summary-emerald{--gba-teal: #48a088;--gba-teal-light: #70c0a8;--gba-dark: #285068;--gba-shadow: #305048;--gba-panel: #f0f8f0;--gba-panel-dark: #d0e0d8;--gba-text: #404040;--gba-blue-dark: #386078;--gba-red: #d85030;--emerald-header: #c858c0;--emerald-header-border: #702870;--emerald-pill: #e080d8;--emerald-dot-inactive: #683060;--gradient-blue: linear-gradient(to right, #5090b0, #80c0d8);--gradient-yellow: linear-gradient(to right, #d8d030, #f0e850, #d8d030);--gradient-purple: linear-gradient(to right, #7038f8, #a050f8)}.summary-emerald{display:flex;flex-direction:column;width:100%;height:100%;background:var(--gba-teal);font-family:var(--font-family);overflow:hidden}.summary-emerald-header{height:28px;background:var(--emerald-pill);border-bottom:3px solid var(--emerald-header-border);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;flex-shrink:0}.summary-header-title-bg{position:absolute;left:0;top:0;bottom:0;width:60%;background:var(--emerald-header);border-radius:0 9999px 9999px 0;z-index:10}.summary-header-title{position:relative;z-index:20;padding-left:8px;font-size:var(--font-sm);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.3);text-transform:uppercase;white-space:nowrap}.summary-header-controls{position:relative;z-index:20;display:flex;align-items:center;padding-right:32px;height:100%}.summary-dots-container{display:flex;gap:6px;align-items:center}.summary-dot{width:12px;height:12px;aspect-ratio:1;border-radius:9999px;border:1px solid rgba(0,0,0,.1);background:var(--emerald-dot-inactive);cursor:pointer;transition:all .1s ease;padding:0;box-sizing:border-box}.summary-dot:hover{opacity:.8}.summary-dot.active{background:#fff;box-shadow:0 0 4px #fffc;transform:scale(1.1)}.summary-emerald-content{flex:1;display:flex;overflow:hidden;min-height:0}.summary-left-panel{width:42%;display:flex;flex-direction:column;height:100%;position:relative;border-right:2px solid rgba(48,80,72,.2)}.summary-left-panel:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#60b098,#60b098 2px,#48a088 2px 4px);opacity:.2;pointer-events:none;z-index:0}.summary-left-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;z-index:10}.summary-poke-number{font-size:var(--font-xs);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.3)}.summary-poke-number-label{color:#fef08a}.summary-markings{display:flex;gap:4px}.summary-marking{font-size:8px;color:var(--gba-shadow);opacity:.5}.summary-marking.active{opacity:1;color:#fbbf24}.summary-sprite-container{margin:8px auto;width:80px;height:80px;background:#fffc;border:2px solid var(--gba-panel-dark);border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 2px 4px #0000001a;z-index:10}.summary-sprite-container:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#fff,#fff 2px,#f0f8f0 2px 4px);opacity:.5;border-radius:2px}.summary-sprite-img{width:64px;height:64px;image-rendering:pixelated;image-rendering:crisp-edges;object-fit:contain;position:relative;z-index:10}.summary-left-info{padding:0 8px;margin-top:8px;z-index:10}.summary-poke-name-display{font-size:var(--font-sm);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.3);text-transform:uppercase;line-height:1.4}.summary-poke-nickname{font-size:var(--font-sm);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.3);text-transform:uppercase;opacity:.8;line-height:1.4}.summary-level-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.summary-level-info{display:flex;align-items:center;gap:8px}.summary-pokeball-icon{width:12px;height:12px;background:#dc2626;border-radius:50%;border:1px solid white;position:relative;overflow:hidden;box-shadow:0 1px 2px #0003}.summary-pokeball-icon:after{content:"";position:absolute;bottom:0;width:100%;height:50%;background:#fff}.summary-pokeball-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background:#fff;border-radius:50%;border:1px solid #6b7280;z-index:1}.summary-level-text{font-size:var(--font-sm);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.3)}.summary-level-v{font-size:.7em}.summary-gender-symbol{font-size:var(--font-sm);text-shadow:1px 1px 0 rgba(0,0,0,.3)}.summary-gender-symbol.male{color:var(--gender-male)}.summary-gender-symbol.female{color:var(--gender-female)}.summary-left-effect{margin-top:auto;padding:6px;z-index:10;background:linear-gradient(to bottom,#6038a0,#483878)}.summary-effect-header{background:var(--gradient-purple);padding:2px 8px;border-radius:2px;margin-bottom:4px}.summary-effect-header-text{font-size:var(--font-xs);color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.3);text-align:center;display:block;text-transform:uppercase;letter-spacing:.5px}.summary-effect-table{background:var(--gba-panel);border:2px solid var(--gba-panel-dark);border-radius:4px;padding:4px 8px}.summary-effect-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.summary-effect-row:last-child{margin-bottom:0}.summary-effect-label{font-size:var(--font-xs);color:var(--gba-text);text-shadow:1px 1px 0 rgba(255,255,255,.5)}.summary-effect-value{font-size:var(--font-sm);color:#000;font-weight:700}.summary-right-panel{width:58%;background:var(--gba-panel);height:100%;border-left:4px solid var(--gba-panel-dark);display:flex;flex-direction:column;position:relative;overflow:hidden}.summary-right-panel:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#fff,#fff 2px,#f0f8f0 2px 4px);opacity:.3;pointer-events:none}.summary-right-content{padding:4px;z-index:10;display:flex;flex-direction:column;height:100%;overflow:hidden}.summary-section-header{padding:2px 8px;border-radius:2px;margin-bottom:1px;box-shadow:0 1px 2px #0000001a;line-height:1}.summary-section-header.blue{background:var(--gradient-blue)}.summary-section-header.yellow{background:var(--gradient-yellow)}.summary-section-header.purple{background:var(--gradient-purple)}.summary-section-title{font-size:9px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.3);text-transform:uppercase;letter-spacing:.5px;display:block;line-height:1.2}.summary-section-header.yellow .summary-section-title{color:#404040b3;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.summary-profile{display:flex;flex-direction:column;height:100%;gap:1px}.summary-profile-ot-row{display:flex;justify-content:space-between;padding:0 8px;margin-bottom:1px}.summary-profile-ot-label{font-size:9px;color:var(--gba-teal-light);text-shadow:1px 1px 0 rgba(0,0,0,.3)}.summary-profile-ot-name{font-size:9px;color:var(--gba-blue-dark);text-transform:uppercase;font-weight:700;flex:1;margin-left:4px}.summary-profile-id{font-size:9px;color:var(--gba-text);letter-spacing:-.5px}.summary-profile-id-label{font-size:8px;color:var(--gba-blue-dark);margin-right:2px}.summary-type-row{display:flex;align-items:center;padding:0 8px;margin-bottom:2px}.summary-type-label{font-size:9px;color:var(--gba-text);margin-right:8px}.summary-type-tags{display:flex;gap:2px;flex-wrap:wrap}.summary-type-tag{padding:1px 6px;font-size:7px;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.4);border-radius:2px;text-transform:uppercase;line-height:1.2}.summary-type-img{width:32px;height:16px;image-rendering:pixelated;image-rendering:crisp-edges}.summary-ability-section{padding:0 8px;margin-bottom:4px}.summary-ability-name{font-size:9px;color:var(--gba-text);text-transform:uppercase;margin-bottom:2px}.summary-ability-desc-box{background:#ffffff80;padding:4px;border-radius:2px;border:1px solid rgba(56,96,120,.1)}.summary-ability-desc{font-size:10px;color:var(--gba-text);line-height:1.2}.summary-memo-section{flex:1;display:flex;flex-direction:column}.summary-memo-text{padding:2px 8px;font-size:10px;color:var(--gba-text);line-height:1.3}.summary-memo-nature,.summary-memo-location{color:var(--gba-red);font-weight:700;text-transform:uppercase}.summary-memo-flavor{padding:4px 8px;margin-top:auto;font-size:9px;color:var(--gba-text);opacity:.8;line-height:1.2;font-style:italic;border-top:1px solid rgba(56,96,120,.2)}.summary-skills{display:flex;flex-direction:column;height:100%;gap:4px}.summary-skills-top-row{display:flex;gap:4px}.summary-skills-top-item{flex:1}.summary-skills-item-value{font-size:9px;color:var(--gba-text);text-align:center}.summary-stats-list{padding:0 8px;flex:1;display:flex;flex-direction:column;gap:0}.summary-stat-row{display:flex;align-items:center;justify-content:space-between;line-height:1;padding:0;height:12px}.summary-stat-name{font-size:8px;color:var(--gba-blue-dark);text-transform:uppercase;width:56px}.summary-stat-name.nature-up{color:#f85888}.summary-stat-name.nature-down{color:#6890f0}.summary-stat-value{font-size:10px;color:var(--gba-text);font-weight:700;width:32px;text-align:right}.summary-hp-row{display:flex;align-items:center;justify-content:space-between}.summary-hp-values{font-size:10px;color:var(--gba-text);display:flex;gap:2px}.summary-exp-section{margin-top:auto;padding:0 8px 4px}.summary-exp-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.summary-exp-label{font-size:8px;color:var(--gba-blue-dark);text-transform:uppercase}.summary-exp-value{font-size:10px;color:var(--gba-text);font-weight:700}.summary-exp-bar-container{display:flex;align-items:center;gap:4px;margin-top:4px}.summary-exp-bar-label{font-size:7px;color:var(--gba-blue-dark);font-weight:700}.summary-exp-bar{flex:1;height:6px;background:#374151;border-radius:9999px;overflow:hidden;border:1px solid rgba(255,255,255,.5);position:relative}.summary-exp-bar-fill{height:100%;background:#3b82f6;position:absolute;top:0;left:0}.summary-exp-bar:after{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:#ffffff4d}.summary-moves{display:flex;flex-direction:column;height:100%;gap:4px}.summary-moves-list{flex:1;padding:0 4px;display:flex;flex-direction:column;gap:1px}.summary-move-row{display:flex;align-items:center;padding:4px;cursor:pointer;transition:transform .1s ease;border:1px solid transparent;border-radius:2px}.summary-move-row:hover{background:#0000000d}.summary-move-row.selected{background:#ef44441a;transform:translateY(-2px);box-shadow:0 2px 4px #0000001a;border-color:#f87171}.summary-move-row.empty{opacity:.3;cursor:default}.summary-move-row.empty:hover{background:transparent}.summary-moves-list .summary-move-type-img{width:32px;height:16px;margin-right:6px;image-rendering:pixelated;image-rendering:crisp-edges}.summary-move-name{flex:1;font-size:9px;color:var(--gba-text);text-transform:uppercase;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.summary-move-pp{font-size:9px;color:var(--gba-text)}.summary-move-pp-label{margin-right:4px}.summary-move-empty-type{width:44px;height:16px;background:#d1d5db;border-radius:2px;margin-right:8px}.summary-move-empty-name{flex:1;height:4px;background:#d1d5db;border-radius:2px}.summary-move-empty-pp{width:36px;height:4px;background:#d1d5db;border-radius:2px}.summary-move-desc-section{margin-top:auto}.summary-move-desc-box{padding:4px 8px;min-height:48px;background:#fff6;border-radius:2px;border:1px solid rgba(56,96,120,.1)}.summary-move-desc-text{font-size:10px;color:var(--gba-text);line-height:1.2}.move-forget-content{display:flex;flex-direction:column;height:100%;padding:6px;box-sizing:border-box;color:#102040;background:linear-gradient(180deg,#f8fcff,#d9e9ff);font-family:Pokemon Emerald,monospace;image-rendering:pixelated}.move-forget-header{margin-bottom:6px;border:1px solid #2b4c86;background:#f7fbff;padding:4px 6px}.move-forget-title{font-size:10px;font-weight:700;letter-spacing:.02em;color:#17335f}.move-forget-subtitle{margin-top:2px;font-size:9px;color:#294676}.move-forget-body{display:grid;grid-template-columns:1fr .95fr;gap:6px;flex:1;min-height:0}.move-forget-list{display:flex;flex-direction:column;gap:2px;border:1px solid #2b4c86;background:#f4f9ff;padding:4px}.move-forget-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;width:100%;border:1px solid #5878aa;background:#edf6ff;color:#1a3561;font-family:Pokemon Emerald,monospace;font-size:9px;line-height:1.2;padding:3px 4px;text-align:left;cursor:pointer}.move-forget-row.is-selected{background:#d6e9ff;border-color:#24457c}.move-forget-row:hover{background:#deeeff}.move-forget-cancel{margin-top:2px}.move-forget-cursor{color:#1a3f90;font-size:8px;line-height:1}.move-forget-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:6px}.move-forget-pp{font-variant-numeric:tabular-nums;color:#2f4b74}.move-forget-panel{display:flex;flex-direction:column;gap:4px;border:1px solid #2b4c86;background:#f4f9ff;padding:4px}.move-forget-panel-block{border:1px solid #5f7fb0;padding:4px;background:#edf6ff;min-height:38px}.move-forget-panel-label{font-size:8px;letter-spacing:.04em;color:#4d6792;margin-bottom:2px}.move-forget-panel-name{font-size:9px;font-weight:700;color:#1a3665;margin-bottom:2px}.move-forget-panel-meta{font-size:8px;color:#2f4c78}.move-forget-footer{margin-top:4px;border:1px solid #2b4c86;background:#f7fbff;padding:2px 4px;font-size:8px;color:#2d4670}@media(max-width:680px){.move-forget-body{grid-template-columns:1fr}}.script-choice-content{display:flex;flex-direction:column;gap:8px;min-width:220px;max-width:100%;margin:0 auto}.script-choice-title{font-family:Pokemon Emerald,monospace;font-size:14px;color:#303030;letter-spacing:.03em}.script-choice-prompt{font-family:Pokemon Emerald,monospace;font-size:12px;color:#505050}.script-choice-list{display:grid;grid-template-columns:1fr;gap:4px}.script-choice-row{display:flex;align-items:center;gap:6px;border:1px solid #6c6c6c;background:#f8f8f8;color:#303030;padding:4px 8px;font-family:Pokemon Emerald,monospace;font-size:12px;text-align:left}.script-choice-row.is-selected{background:#e8f0ff;border-color:#4568a8}.script-choice-row.is-disabled{color:#8f8f8f}.script-choice-cursor{width:10px;flex:0 0 10px}.script-choice-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.script-choice-footer{font-family:Pokemon Emerald,monospace;font-size:11px;color:#5f5f5f}:root{--font-xs: 6px;--font-sm: 8px;--font-md: 10px;--font-lg: 12px;--line-xs: 8px;--line-sm: 12px;--line-md: 14px;--line-lg: 16px;--icon-pokemon: 32px;--icon-item: 24px;--icon-small: 16px;--icon-tiny: 8px;--bar-width: 48px;--bar-height: 4px;--bar-height-lg: 6px;--space-0: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--header-padding: 4px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--border-thin: 1px;--border-medium: 2px;--overlay-bg: rgba(0, 0, 0, .5);--menu-bg: linear-gradient(180deg, #3890f8 0%, #2060b8 100%);--menu-bg-solid: #2868c0;--menu-border-color: #f8f8f8;--section-bg: rgba(0, 0, 0, .2);--section-bg-dark: rgba(0, 0, 0, .25);--section-bg-darker: rgba(0, 0, 0, .4);--section-bg-accent: rgba(0, 40, 80, .8);--bg-hover: rgba(255, 255, 255, .1);--bg-selected: rgba(255, 255, 255, .2);--bg-active: rgba(255, 255, 255, .3);--border-selected: rgba(255, 255, 255, .5);--border-subtle: rgba(255, 255, 255, .2);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--text-highlight: #f8d030;--text-shadow: 1px 1px 0 #000;--hp-green: #10d010;--hp-yellow: #f8c000;--hp-red: #f85888;--gender-male: #6890f0;--gender-female: #f85888;--status-psn: #a040a0;--status-brn: #f08030;--status-frz: #98d8d8;--status-par: #f8d030;--status-slp: #a0a0a0;--bag-frame-width: 59px;--bag-frame-height: 61px;--pocket-icon-size: 26px;--pocket-icon-cols: 8;--menu-icon-width: 25px;--menu-icon-height: 25px;--menu-icon-rows: 10;--font-family: "Pokemon GB", "Pokemon Emerald", monospace}.font-xs{font-size:var(--font-xs);line-height:var(--line-xs)}.font-sm{font-size:var(--font-sm);line-height:var(--line-sm)}.font-md{font-size:var(--font-md);line-height:var(--line-md)}.font-lg{font-size:var(--font-lg);line-height:var(--line-lg)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-highlight{color:var(--text-highlight)}.pixel-art{image-rendering:pixelated;image-rendering:crisp-edges}.menu-overlay{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--overlay-bg)}.menu-container{position:relative;width:var(--menu-width, 240px);height:var(--menu-height, 160px);background:var(--menu-bg);border:var(--border-medium) solid var(--menu-border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;font-family:var(--font-family);transform:scale(var(--zoom, 2));transform-origin:center center}.menu-container--fullscreen{border:none;border-radius:0}.menu-back-btn{position:absolute;top:0;right:0;z-index:100;width:28px;height:28px;padding:0;border:none;border-radius:0;cursor:pointer;clip-path:polygon(100% 0,0 0,100% 100%);background:#ffffff40;transition:background .15s ease,transform .1s ease}.menu-back-btn:after{content:"";position:absolute;top:3px;right:3px;width:10px;height:10px;background:var(--asset-menu-back-button-bg) center/contain no-repeat;opacity:.7}.menu-back-btn:hover{background:#fff6}.menu-back-btn:hover:after{opacity:1}.menu-back-btn:active{background:#ffffff80;transform:scale(.94);transform-origin:top right}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);padding-left:calc(var(--icon-small) + var(--space-3));flex-shrink:0}.menu-title{font-size:var(--font-md);color:var(--text-primary);text-shadow:var(--text-shadow);text-transform:uppercase}.menu-body{flex:1;min-height:0;overflow:auto;padding:var(--space-2)}.menu-footer{display:flex;justify-content:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--font-xs);color:var(--text-muted);flex-shrink:0;border-top:var(--border-thin) solid var(--border-subtle)}.menu-footer kbd{padding:0 var(--space-1);background:var(--section-bg-dark);border-radius:var(--radius-sm)}.menu-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-4);text-align:center;color:var(--text-primary)}.menu-placeholder h2{margin:0 0 var(--space-2);font-size:var(--font-md);text-shadow:var(--text-shadow)}.menu-placeholder p{margin:0;font-size:var(--font-sm);color:var(--text-secondary)}.menu-item{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.menu-item:hover{background:var(--bg-hover)}.menu-item.selected{background:var(--bg-selected);box-shadow:inset 0 0 0 1px var(--border-selected)}.menu-item:active,.menu-item.active{background:var(--bg-active)}.menu-item.disabled{opacity:.5;cursor:default}.menu-item.disabled:hover{background:transparent}.game-page{padding:1.5rem;color:#e6e6e6;background:#0f1115;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif}.game-page:not(.game-page--mobile){width:100%;max-width:none;margin:0 auto;box-sizing:border-box}.game-page:not(.game-page--mobile) .map-card{width:fit-content;max-width:100%;margin:0 auto}.game-page h1{margin:0}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.header-buttons{display:flex;align-items:center;gap:.5rem}.header-btn{border:none;padding:.4rem 1rem;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s ease,opacity .15s ease;background:#2a3444;color:#c8d6e5}.header-btn:hover:not(:disabled){background:#3a4656}.header-btn:disabled{opacity:.5;cursor:not-allowed}.header-btn--blue{background:#3890f8;color:#fff}.header-btn--blue:hover:not(:disabled){background:#2070d8}.header-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#161922;border:1px solid #2e3a4e;border-radius:8px;padding:4px;z-index:100;min-width:160px;box-shadow:0 8px 24px #0006}.header-dropdown--right{right:0;left:auto;min-width:210px}.header-dropdown__item{display:flex;flex-direction:column;gap:1px;width:100%;padding:.4rem .75rem;font-size:.82rem;background:transparent;color:#c8d6e5;border:none;border-radius:5px;cursor:pointer;text-align:left}.header-dropdown__item:hover:not(:disabled){background:#1e2636}.header-dropdown__item:disabled{color:#444;cursor:not-allowed}.header-dropdown__item-name{font-weight:600}.header-dropdown__item-desc{font-size:.72rem;color:#7f92b0;font-weight:400}.header-dropdown__divider{height:1px;background:#2e3a4e;margin:4px 6px}.header-dropdown__heading{padding:.3rem .75rem .15rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5a6a80}.selector{background:#161922;border:1px solid #242a38;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 10px 24px #00000040}.selector label{font-weight:600;display:block;margin-bottom:.35rem}.selector select{width:100%;padding:.5rem .6rem;background:#0f131c;color:#e6e6e6;border:1px solid #242a38;border-radius:6px}.selector__meta{margin-top:.35rem;color:#9fb0cc;font-size:.9rem}.card,.map-card{background:#11151f;border:1px solid #242a38;border-radius:10px;padding:.75rem;box-shadow:0 16px 30px #0000004d}.map-intro{margin:0 auto .75rem;padding:.8rem .95rem;border:1px solid #242a38;border-radius:8px;background:linear-gradient(180deg,#141b28,#101722);box-sizing:border-box}.map-intro__links{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.map-intro__link{display:inline-flex;align-items:center;gap:.4rem;color:#b8d5ff;text-decoration:none;font-size:.95rem;font-weight:700}.map-intro__link:hover{color:#d6e7ff;text-decoration:underline}.map-intro__link svg{flex-shrink:0}.map-intro__copy{margin:.3rem 0 0;color:#9fb0cc;font-size:.84rem;line-height:1.45}.map-canvas-wrapper{overflow:auto;border:1px solid #242a38;border-radius:8px;background:#0b0e16;padding:.5rem}.game-canvas{display:block;image-rendering:pixelated;background:#000}.stitching-status-chip{position:absolute;top:8px;left:8px;z-index:40;pointer-events:none;font-size:11px;font-weight:600;color:#dff3ff;background:#081526db;border:1px solid rgba(104,170,222,.75);border-radius:999px;padding:4px 10px;box-shadow:0 4px 12px #00000059}.map-stats{margin-top:.75rem}.map-toolbar{max-width:100%;margin:0 auto}.map-toolbar__controls-card{display:flex;flex-direction:column;gap:.8rem;width:100%;min-width:0;box-sizing:border-box;padding:.85rem 1rem;border:1px solid #242a38;border-radius:10px;background:#0f131c;overflow:hidden}.map-toolbar__controls-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.9rem 1.25rem;min-width:0;padding-bottom:.8rem;border-bottom:1px solid #242a38}.map-toolbar__zoom-panel{display:flex;flex-direction:column;gap:.5rem;min-width:180px;justify-self:start;align-items:flex-start;padding-top:.05rem}.map-toolbar__viewport-panel{display:flex;justify-content:flex-end;min-width:0;max-width:100%}.map-toolbar__label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#b8d5ff}.map-toolbar__zoom-buttons{display:inline-flex;flex-wrap:wrap;gap:.35rem}.map-toolbar__auto-fit{color:#7f92b0;font-size:11px}.map-toolbar__hints-section{display:flex;flex-direction:column;gap:.55rem;align-items:center}.map-toolbar__hints-heading{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7f92b0}.map-toolbar__hints{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.map-toolbar__hint{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.35rem;max-width:100%;padding:.28rem .55rem;border-radius:999px;border:1px solid #242a38;background:#0f131c;color:#cdd7f1;font-size:.78rem;line-height:1.2;text-align:center}@media(max-width:760px){.map-toolbar__controls-row{grid-template-columns:minmax(0,1fr)}.map-toolbar__zoom-panel{justify-self:start}}.map-toolbar__hint kbd{padding:.16rem .34rem;border-radius:4px;border:1px solid #33405a;background:#182133;color:#fff;font-family:IBM Plex Mono,SFMono-Regular,ui-monospace,monospace;font-size:.72rem;line-height:1}.game-page--mobile{box-sizing:border-box;width:100%;height:100dvh;min-height:100dvh;padding:max(.5rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(47,77,130,.35) 0%,transparent 38%),radial-gradient(circle at 80% 85%,rgba(86,61,37,.32) 0%,transparent 45%),#0c1017}.mobile-shell{width:min(100%,560px);max-height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:.35rem;padding:.62rem;box-sizing:border-box;background:linear-gradient(165deg,#c9cec9,#8f968f 60%,#7f867f);border:2px solid #586057;border-radius:22px;box-shadow:inset 0 2px #ffffff73,inset 0 -3px #0000002e,0 14px 32px #0000006b}.mobile-shell__screen-frame{min-height:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#2a343d,#11181f);border:2px solid #5b666f;border-radius:16px;padding:.45rem}.mobile-shell__hinge{height:10px;border-radius:999px;background:linear-gradient(180deg,#747e74,#555d55);border:1px solid #4a524a;margin:.35rem 1rem .2rem}.mobile-shell__controls-frame{margin-top:auto;background:linear-gradient(180deg,#ffffff38,#ffffff0f 18%,#0000001a),#7f877f;border:2px solid #545c54;border-radius:16px;padding:.7rem}.map-canvas-wrapper--mobile{overflow:hidden;border:1px solid #313b47;padding:.35rem;background:#040608;max-width:100%;max-height:100%}.map-canvas-wrapper--mobile .game-canvas{margin:0 auto}.mobile-control-deck{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;align-items:center}.mobile-control-deck__dpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:.38rem;width:min(100%,180px);aspect-ratio:1 / 1;justify-self:start;position:relative;padding:.22rem;border-radius:18px;background:radial-gradient(circle at 50% 35%,#78889c59,#1a222ce0);box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #00000059,0 12px 24px #0003;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-control-deck__actions{display:grid;gap:.7rem;justify-self:end}.mobile-control-deck__face-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;align-items:center}.mobile-control-deck__meta-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.mobile-control-btn{border:0;margin:0;padding:0;color:#f4f7ff;font-family:Pokemon Emerald Pro,system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:.02em;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-control-btn:focus-visible{outline:2px solid #dce8ff;outline-offset:2px}.mobile-control-btn.is-disabled{opacity:.45}.mobile-control-dpad__segment{background:linear-gradient(180deg,#4e5867,#343c48);border-radius:12px;box-shadow:inset 0 1px #ffffff40,inset 0 -1px #00000059,0 2px 4px #00000059;font-size:1rem;display:grid;place-items:center;color:#f4f7ff;font-family:Pokemon Emerald Pro,system-ui,-apple-system,sans-serif;font-weight:700;letter-spacing:.02em;transition:transform .12s ease,filter .12s ease}.mobile-control-dpad__segment.is-active{filter:brightness(1.18);transform:translateY(1px)}.mobile-control-dpad__segment--up{grid-column:2;grid-row:1}.mobile-control-dpad__segment--left{grid-column:1;grid-row:2}.mobile-control-dpad__segment--right{grid-column:3;grid-row:2}.mobile-control-dpad__segment--down{grid-column:2;grid-row:3}.mobile-control-dpad__core{grid-column:2;grid-row:2;border-radius:16px;background:radial-gradient(circle at 50% 40%,#6f7e9473,#1f262ff2);box-shadow:inset 0 1px #ffffff24,inset 0 -1px #00000059}.mobile-control-btn--face{width:3rem;height:3rem;border-radius:999px;background:linear-gradient(180deg,#b13f43,#7f2427);box-shadow:inset 0 1px 1px #ffffff4d,inset 0 -1px 1px #00000073,0 3px 6px #00000059;font-size:1rem}.mobile-control-btn--meta{min-width:4.1rem;height:1.7rem;border-radius:999px;background:linear-gradient(180deg,#2f3746,#1f2530);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000073;font-size:.72rem;text-transform:uppercase}.mobile-control-btn.is-active{transform:translateY(1px) scale(.985);filter:brightness(.92)}@media(orientation:portrait){.game-page--mobile{justify-content:flex-start}.mobile-shell{width:min(100%,520px);height:100%}.mobile-shell__controls-frame{margin-top:auto}}@media(max-width:960px){.map-toolbar__right{flex-basis:100%}}@media(orientation:landscape){.mobile-shell{width:min(100%,1280px);max-height:100%;grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr);grid-template-rows:minmax(0,1fr);align-items:center;padding:.9rem 1.15rem}.mobile-shell__screen-frame{grid-column:2;grid-row:1}.mobile-shell__hinge{display:none}.mobile-shell__controls-frame{grid-column:1 / span 3;grid-row:1;margin-top:0;background:transparent;border:0;padding:0;pointer-events:none;display:flex;align-items:center;min-height:0}.mobile-shell__controls-frame .mobile-control-deck{width:100%;grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr);pointer-events:none;gap:.6rem}.mobile-shell__controls-frame .mobile-control-deck__dpad{grid-column:1;justify-self:start;pointer-events:auto}.mobile-shell__controls-frame .mobile-control-deck__actions{grid-column:3;justify-self:end;pointer-events:auto}}
