#pokedex-modal.ui-hidden{display:flex!important;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s ease,visibility .25s}#pokedex-modal{position:fixed;inset:0;width:100%;height:100%;z-index:6000;display:flex;flex-direction:column;transition:opacity .25s ease,visibility .25s;visibility:hidden}#pokedex-modal:not(.ui-hidden){opacity:1;pointer-events:auto;visibility:visible}.pokedex-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.pokedex-content{position:relative;z-index:6001;background:#00000059;color:#fff;display:flex;flex-direction:column;flex:1;width:100%;min-height:0;padding:12px;box-sizing:border-box;font-family:LCD40x2,monospace;transform:scale(.9) translateY(15px);opacity:0;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .25s ease}#pokedex-modal:not(.ui-hidden) .pokedex-content{transform:scale(1) translateY(0);opacity:1}.pokedex-header{display:flex;align-items:center;gap:14px;flex-shrink:0}.pokedex-header-icon{width:48px;height:48px;image-rendering:pixelated}.pokedex-header h2{margin:0;font-size:16px;letter-spacing:1px}.pokedex-counters{display:flex;gap:18px;justify-content:center;margin-top:10px;flex-shrink:0;font-family:Lato Medium,sans-serif;font-size:15px;color:#ffffff80}.pokedex-counters b{font-weight:400;color:#4fc3f7}.pokedex-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;margin-top:14px;padding-bottom:max(calc(5vh + 44px),calc(env(safe-area-inset-bottom) + 60px));scrollbar-width:none;-ms-overflow-style:none}.pokedex-scroll::-webkit-scrollbar{display:none}.pokedex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pokedex-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:4px;box-sizing:border-box;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden}.pokedex-cell-sprite{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated}.pokedex-cell-num{font-family:LCD40x2,monospace;font-size:13px;letter-spacing:1px;color:#ffffffbf}.pokedex-cell[data-state=unknown] .pokedex-cell-sprite{display:none}.pokedex-cell:not([data-state=unknown]) .pokedex-cell-num{display:none}.pokedex-cell[data-state=seen] .pokedex-cell-sprite{filter:brightness(0);opacity:.55}.pokedex-cell[data-state=caught]{background:#4fc3f71a;border-color:#4fc3f759}.pokedex-loading{grid-column:1 / -1;text-align:center;padding:24px 0;font-size:12px;color:#ffffff80}
