*,:before,:after{box-sizing:border-box;outline:none;margin:0;padding:0}button,input,textarea,select{font:inherit;color:inherit;background:0 0;border:none;outline:none}vite-error-overlay{display:none!important}:root{--bg:white;--surface:darkgrey;--primary:#2f39b5;--secondary:#457b9d;--text:black;--text-muted:black;--sans:system-ui, "Segoe UI", Roboto, sans-serif}body{font-family:var(--sans);background-color:var(--bg);color:var(--text);min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--secondary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary)}.loading-spinner{border:4px solid #2f39b533;border-top-color:#2f39b5;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.header{text-align:center;border-bottom:2px solid var(--primary);background-color:gray;border-top:5px solid #2f39b5;padding:20px 0;position:relative}.header-banner{height:auto;margin:0 auto;display:block}.header-menu-toggle{color:#fff;cursor:pointer;z-index:1;background:0 0;border:none;padding:10px;font-size:1.8rem;display:none;position:absolute;top:50%;transform:translateY(-50%)}.header-menu-left{left:16px}.header-menu-right{right:16px}.main-nav{background-color:silver;border-top:5px solid #2f39b5;justify-content:space-between;align-items:center;display:flex}.main-nav-left,.main-nav-center{align-items:center;display:flex}.main-nav-center a{color:#000;border-left:1px solid #0000001a;padding:12px 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:block}.main-nav-center a:hover{color:#fff;background-color:#2f39b5}.main-nav-right{align-items:center;gap:12px;padding:0 16px;display:flex}.nav-auth-btn,.nav-auth-link{color:#fff;cursor:pointer;background-color:#2f39b5;border:none;border-radius:4px;padding:8px 16px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .2s}.nav-auth-btn:hover,.nav-auth-link:hover{background-color:#252ea0}.profile-icon{color:#333;align-items:center;transition:opacity .2s;display:flex}.profile-icon:hover{opacity:.7}.social-icon{width:28px;height:28px;transition:opacity .2s;display:block}.social-icon:hover{opacity:.7}.main-nav-left a{color:#000;background-color:silver;border:none;border-right:1px solid #0000001a;padding:12px 24px;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:block}.main-nav-left a:hover{color:#fff;background-color:#2f39b5}.main-nav .search-bar{background-color:silver;border-left:1px solid #ffffff26;align-items:center;padding:0;display:flex}.main-nav .search-icon{pointer-events:none;padding:0 0 0 12px;font-size:.9rem}.main-nav .search-bar input{color:#000;background-color:silver;border:none;border-radius:0;padding:12px 12px 12px 8px}.main-nav .search-bar input::placeholder{color:#00000080}.main-nav .search-bar input:focus{background-color:silver}.navbar{background-color:var(--surface);border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:14px 20px;display:none;position:relative}.menu-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;padding:10px;font-size:1.5rem;transition:color .2s}.menu-toggle:hover{color:var(--primary)}.menu-overlay{display:none}.side-menu{z-index:1000;background-color:#fff;width:280px;height:100vh;padding:50px 20px 20px;transition:transform .3s;display:none;position:fixed;top:0;overflow-y:auto}.side-menu-left{left:0;transform:translate(-100%)}.side-menu-right{right:0;transform:translate(100%)}.side-menu.open{transform:translate(0)}.menu-close{color:#000;cursor:pointer;background:0 0;border:none;font-size:1.2rem;font-weight:700;transition:color .2s;position:absolute;top:16px;right:16px}.menu-close:hover{color:var(--primary)}.content-layout{flex:1;grid-template-columns:250px 1fr 250px;display:grid}.desktop-panel{background-color:#f5f5f5;padding:0;overflow-y:auto}.desktop-panel-left{border-right:1px solid #0000001a}.desktop-panel-right{border-left:1px solid #0000001a}.panel-content{flex-direction:column;display:flex}.category-header{color:#fff;background-color:#2f39b5;border:1px solid gray;padding:12px 16px;font-size:1rem;font-weight:600}.category-toggle{color:#fff;cursor:pointer;text-align:left;background-color:#2f39b5;border:1px solid gray;width:100%;padding:12px 16px;font-size:1rem;font-weight:600;transition:background-color .2s}.category-toggle:hover{background-color:#252ea0}.sub-links{background-color:#f5f5f5;padding:0;list-style:none}.sub-links li{margin-bottom:0}.sub-links a{color:#000;padding:10px 16px 10px 24px;font-size:.95rem;text-decoration:none;transition:background-color .2s;display:block}.sub-links a:hover{color:#000;background-color:#0000000d}.sub-links .sub-sub a{padding-left:40px;font-size:.85rem}.search-bar{position:relative}.search-bar input{color:#fff;box-sizing:border-box;background-color:#2f39b5;border:1px solid gray;outline:none;width:100%;padding:12px 16px;font-size:1rem;font-weight:600;transition:background-color .2s;display:block}.search-bar input::placeholder{color:#ffffffb3}.search-bar input:focus{background-color:#252ea0}.search-results{z-index:10;background-color:#fff;border:1px solid #00000026;border-radius:4px;position:absolute;top:100%;left:12px;right:12px;overflow:hidden;box-shadow:0 4px 8px #0000001a}.search-result-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;padding:10px 12px;font-size:.95rem;transition:background-color .2s;display:block}.search-result-item:hover{color:var(--primary);background-color:#2f39b51a}.search-no-results{color:var(--text-muted);padding:10px 12px;font-size:.9rem}.game-section-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:center;background-color:#0000000d;border:5px solid gray;border-top:none;padding:10px 16px;font-size:.85rem;font-weight:700}.mobile-bookmarks,.mobile-search{display:none}.nav-block a{color:#fff;background-color:#2f39b5;border:1px solid gray;padding:12px 16px;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:block}.nav-block a:hover{color:#fff;background-color:#252ea0}.mobile-nav-links{display:none}.mobile-nav-btn{color:#fff;text-align:left;cursor:pointer;background-color:#2f39b5;border:1px solid gray;width:100%;padding:12px 16px;font-size:1rem;font-weight:600;transition:background-color .2s;display:block}.mobile-nav-btn:hover{background-color:#252ea0}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.hero h2{color:var(--text);margin-bottom:16px;font-size:3rem;font-weight:600}.hero h2 span{color:var(--primary)}.hero .subtitle{color:var(--text-muted);max-width:500px;margin-bottom:40px;font-size:1.2rem}.hero .cta{background-color:var(--primary);color:#fff;letter-spacing:.5px;border-radius:6px;padding:14px 32px;font-size:1.1rem;font-weight:600;transition:background-color .2s,transform .2s;display:inline-block}.hero .cta:hover{color:var(--text);background-color:#d3d3d3;transform:translateY(-2px)}.footer{text-align:center;background-color:#d3d3d3;border-top:1px solid #ffffff0d;padding:24px 20px}.footer p{color:#000;font-size:1rem}.footer a{color:var(--secondary)}.footer .social-links{justify-content:center;gap:16px;margin-top:12px;display:none}.sitemap-bar{text-align:center;background-color:#333;padding:12px 20px}.sitemap-bar a{color:#ffffffa6;font-size:.85rem;text-decoration:none;transition:color .2s}.sitemap-bar a:hover{color:#fff}.back-to-top{z-index:900;color:#fff;cursor:pointer;background-color:#2f39b5;border:none;border-radius:50%;width:88px;height:88px;font-size:1.2rem;transition:background-color .2s,transform .2s;position:fixed;bottom:24px;right:24px;box-shadow:0 2px 8px #0000004d}.back-to-top:hover{background-color:#252ea0;transform:translateY(-2px)}.page-container{max-width:800px;margin:0 auto;padding:60px 40px}.page-container h2{color:var(--text);margin-bottom:16px;font-size:2.2rem}.page-description{color:var(--text-muted);margin-bottom:32px;font-size:1.1rem;line-height:1.6}@media (width<=768px){.side-menu{background-color:gray}.game-section-header{color:#000;background-color:silver;border:5px solid #a9a9a9;border-color:silver #a9a9a9 #a9a9a9 silver}.header{border-top:5px solid #252ea0;border-bottom:5px solid #252ea0}.header-banner{max-width:350px}.header-menu-toggle{display:block}.main-nav{display:none}.footer .social-links{display:flex}.mobile-nav-links{margin-bottom:4px;display:block}.mobile-bookmarks,.mobile-search{display:block}.mobile-search .search-bar{background-color:#2f39b5;border:1px solid gray;align-items:center;display:flex}.mobile-search .search-icon{pointer-events:none;flex-shrink:0;padding:0 0 0 12px;font-size:.9rem}.mobile-search .search-bar input{color:#fff;background-color:#0000;border:none;border-radius:0;flex:1;padding:12px 12px 12px 8px}.mobile-search .search-bar input::placeholder{color:#ffffffb3}.navbar{display:flex}.desktop-panel{display:none}.content-layout{grid-template-columns:1fr}.side-menu{display:block}.menu-overlay{z-index:999;background-color:#0009;width:100%;height:100%;display:block;position:fixed;top:0;left:0}.hero h2{font-size:2rem}.hero .subtitle{font-size:1rem}.hero{padding:60px 20px}}.pokedex-page{padding:40px 24px}.pokedex-page h2{color:var(--text);margin-bottom:16px;font-size:2.2rem}.pokedex-type-filter{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.type-filter-btn{cursor:pointer;color:#fff;background-color:#888;border:2px solid #0000;border-radius:20px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:opacity .2s,transform .2s}.type-filter-btn:hover{opacity:.85;transform:translateY(-1px)}.type-filter-btn.active{border-color:#333;box-shadow:0 0 0 1px #333}.type-normal{background-color:#a8a878}.type-fire{background-color:#f08030}.type-water{background-color:#6890f0}.type-electric{color:#333;background-color:#f8d030}.type-grass{background-color:#78c850}.type-ice{color:#333;background-color:#98d8d8}.type-fighting{background-color:#c03028}.type-poison{background-color:#a040a0}.type-ground{color:#333;background-color:#e0c068}.type-flying{background-color:#a890f0}.type-psychic{background-color:#f85888}.type-bug{background-color:#a8b820}.type-rock{background-color:#b8a038}.type-ghost{background-color:#705898}.type-dragon{background-color:#7038f8}.type-steel{color:#333;background-color:#b8b8d0}.type-fairy{color:#333;background-color:#ee99ac}.pokedex-layout{align-items:flex-start;gap:24px;display:flex}.pokedex-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.pokedex-card{cursor:pointer;background-color:#fff;border:2px solid #00000014;border-radius:6px;flex-direction:column;align-items:center;padding:8px 4px;transition:border-color .2s,transform .15s;display:flex}.pokedex-card:hover{border-color:var(--primary);transform:translateY(-2px)}.pokedex-card.active{border-color:var(--primary);background-color:#2f39b50f}.pokedex-card img{width:64px;height:64px;image-rendering:pixelated}.pokedex-card-number{color:var(--text-muted);opacity:.6;font-size:.7rem}.pokedex-card-name{text-align:center;font-size:.8rem;font-weight:600}.pokedex-card-types{justify-content:center;gap:4px;margin-top:4px;display:flex}.pokedex-type-badge{color:#fff;border-radius:8px;padding:2px 6px;font-size:.6rem;font-weight:600}.pokedex-no-results{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:40px;font-size:1rem}.pokedex-detail{background-color:#f5f5f5;border:1px solid #0000001a;border-radius:8px;flex-shrink:0;width:280px;padding:20px;position:sticky;top:20px}.pokedex-detail-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.pokedex-detail-header h3{color:var(--text);font-size:1.4rem}.pokedex-detail-number{color:var(--text-muted);opacity:.6;font-size:1rem}.pokedex-detail-sprite{text-align:center;margin-bottom:16px}.pokedex-detail-sprite img{width:120px;height:120px;image-rendering:pixelated}.pokedex-shiny-toggle{text-align:center;color:#fff;background-color:var(--primary);cursor:pointer;border-radius:4px;width:90px;margin-top:8px;padding:6px 16px;font-size:.85rem;font-weight:600;transition:background-color .2s;display:inline-block}.pokedex-shiny-toggle:hover{background-color:#252ea0}.pokedex-detail-section{margin-bottom:16px}.pokedex-detail-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:.85rem;font-weight:700}.pokedex-abilities{flex-wrap:wrap;gap:6px;display:flex}.pokedex-ability{color:var(--primary);background-color:#2f39b51a;border-radius:4px;padding:4px 10px;font-size:.85rem;font-weight:600}.pokedex-stats{flex-direction:column;gap:6px;display:flex}.pokedex-stat-row{align-items:center;gap:8px;display:flex}.pokedex-stat-label{width:70px;color:var(--text-muted);flex-shrink:0;font-size:.8rem;font-weight:600}.pokedex-stat-bar-bg{background-color:#00000014;border-radius:4px;flex:1;height:8px;overflow:hidden}.pokedex-stat-bar{background-color:var(--primary);border-radius:4px;height:100%;transition:width .3s}.pokedex-stat-value{text-align:right;flex-shrink:0;width:30px;font-size:.8rem;font-weight:700}.pokedex-locations-text{color:var(--text);font-size:.85rem;line-height:1.5}.pokedex-no-locations{color:var(--text-muted);opacity:.6;font-size:.85rem;font-style:italic}.pokedex-modal-overlay{display:none}@media (width<=768px){.pokedex-layout{flex-direction:column;align-items:center}.pokedex-detail{display:none}.pokedex-grid{grid-template-columns:repeat(3,1fr);justify-items:center}.pokedex-modal-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.pokedex-modal{background-color:#f5f5f5;border-radius:8px;width:100%;max-width:360px;max-height:85vh;padding:24px 20px;position:relative;overflow-y:auto}.pokedex-modal-close{color:#333;cursor:pointer;background:0 0;border:none;font-size:1.2rem;transition:color .2s;position:absolute;top:12px;right:12px}.pokedex-modal-close:hover{color:var(--primary)}}.submissions-placeholder{text-align:center;color:var(--text-muted);background-color:#f5f5f5;border:1px solid #0000001a;border-radius:6px;padding:40px;font-size:1.1rem}.submissions-placeholder a{color:#2f39b5;font-weight:600}.feedback-form{flex-direction:column;gap:12px;max-width:600px;display:flex}.feedback-form textarea{resize:vertical;border:1px solid #0003;border-radius:4px;outline:none;padding:12px;font-family:inherit;font-size:1rem}.feedback-form textarea:focus{border-color:#2f39b5}.feedback-btn{color:#fff;cursor:pointer;background-color:#2f39b5;border:none;border-radius:4px;align-self:flex-start;padding:12px;font-size:1rem;font-weight:600;transition:background-color .2s}.feedback-btn:hover{background-color:#252ea0}.feedback-success{color:#363;background-color:#efe;border:1px solid #cec;border-radius:4px;padding:10px 12px;font-size:.9rem}.feedback-error{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:4px;padding:10px 12px;font-size:.9rem}.login-form{flex-direction:column;gap:16px;max-width:360px;display:flex}.login-form label{color:var(--text);flex-direction:column;gap:6px;font-size:.95rem;font-weight:600;display:flex}.login-form input{border:1px solid #0003;border-radius:4px;outline:none;padding:10px 12px;font-size:1rem;transition:border-color .2s}.login-form input:focus{border-color:#2f39b5}.login-btn{color:#fff;cursor:pointer;background-color:#2f39b5;border:none;border-radius:4px;padding:12px;font-size:1rem;font-weight:600;transition:background-color .2s}.login-btn:hover{background-color:#252ea0}.login-error{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:4px;padding:10px 12px;font-size:.9rem}.login-toggle{color:var(--text-muted);font-size:.9rem}.login-toggle button{color:#2f39b5;cursor:pointer;background:0 0;border:none;font-size:.9rem;font-weight:600}.login-toggle button:hover{text-decoration:underline}.profile-info{margin-bottom:32px}.profile-username{color:var(--text);font-size:1.3rem;font-weight:600}.profile-bookmarks{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.profile-bookmarks li{background-color:#f5f5f5;border:1px solid #0000001a;border-radius:4px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.profile-bookmarks a{color:#2f39b5;font-weight:600;text-decoration:none}.profile-bookmarks a:hover{text-decoration:underline}.remove-bookmark-btn{color:#fff;cursor:pointer;background-color:#c33;border:none;border-radius:4px;padding:6px 12px;font-size:.85rem;transition:background-color .2s}.remove-bookmark-btn:hover{background-color:#a22}.profile-empty{color:var(--text-muted);font-size:1rem}.bookmark-search{max-width:400px;position:relative}.bookmark-search input{box-sizing:border-box;border:1px solid #0003;border-radius:4px;outline:none;width:100%;padding:10px 12px;font-size:1rem}.bookmark-search input:focus{border-color:#2f39b5}.bookmark-search-results{z-index:10;background-color:#fff;border:1px solid #00000026;border-radius:4px;max-height:240px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 8px #0000001a}.bookmark-search-item{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.bookmark-search-item:last-child{border-bottom:none}.bookmark-search-item span{color:var(--text);font-size:.95rem}.bookmark-search-item button{color:#fff;cursor:pointer;background-color:#2f39b5;border:none;border-radius:4px;padding:4px 12px;font-size:.85rem;font-weight:600;transition:background-color .2s}.bookmark-search-item button:hover{background-color:#252ea0}.bookmark-search-empty{color:var(--text-muted);padding:10px 12px;font-size:.9rem}.firered-placeholder,.legendaries-placeholder,.gifts-trades-placeholder{text-align:center;color:var(--text-muted);background-color:#f5f5f5;border:1px solid #0000001a;border-radius:6px;padding:40px;font-size:1.1rem}.items-page{max-width:1000px}.items-table{border-collapse:separate;border-spacing:0 4px;width:100%;font-size:.9rem}.items-table th{text-align:center;color:#fff;background-color:#2f39b5;border:1px solid #252ea0;padding:10px 12px;font-weight:600}.items-table td{vertical-align:middle;text-align:center;padding:8px 12px}.items-table tbody tr:nth-child(odd){background-color:#c0c0c04d}.items-table tbody tr:nth-child(2n){background-color:#ffd7004d}.items-table tbody tr:hover{filter:brightness(.95)}.items-table tbody tr td:first-child{border-radius:8px 0 0 8px}.items-table tbody tr td:last-child{border-radius:0 8px 8px 0}.item-sprite-cell{text-align:center;width:40px}.item-sprite{width:32px;height:32px;image-rendering:pixelated}.item-name{white-space:nowrap;text-align:left;font-weight:600}.item-effect{color:var(--text-muted);text-align:left;max-width:300px;font-size:.85rem}.item-highlight{animation:2s ease-out item-flash}@keyframes item-flash{0%{background-color:#2f39b540}to{background-color:#0000}}.item-modal-overlay{display:none}@media (width<=768px){.item-modal-overlay{z-index:1100;background-color:#0009;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.item-modal{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:24px;position:relative}.item-modal-close{cursor:pointer;color:#333;background:0 0;border:none;font-size:1.2rem;font-weight:700;position:absolute;top:12px;right:12px}.item-modal-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.item-modal-header h3{margin:0;font-size:1.2rem}.item-modal-sprite{width:48px;height:48px;image-rendering:pixelated}.item-modal-row{font-size:.95rem;line-height:1.8}.item-modal-row .item-label{font-weight:600}.item-card{cursor:pointer}}.items-cards{display:none}@media (width<=768px){.items-table{display:none}.items-cards{flex-direction:column;gap:8px;display:flex}.item-card{border:1px solid #0000001a;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.item-card:nth-child(odd){background-color:#c0c0c080}.item-card:nth-child(2n){background-color:#ffd70080}.item-card-image{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.item-card-image img{width:32px;height:32px;image-rendering:pixelated}.item-card-price-row{gap:16px;display:flex}.item-card-info{flex:1;min-width:0}.item-card-name{margin-bottom:4px;font-size:1rem;font-weight:600}.item-card-row{color:var(--text-muted);font-size:.85rem;line-height:1.5}.item-label{color:var(--text);font-weight:600}}
