*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--pokedex-red:#dc0a2d;--pokedex-dark-red:#a00020;--pokedex-light:#f5f5f5;--pokedex-cream:#fffbf0;--pokedex-dark:#2c2c2c;--pokedex-gray:#888;--pokedex-border:#333;--pokeball-red:#ee1515;--pokeball-white:#f0f0f0;--pokeball-border:#222;--shadow:0 4px 15px #0003;--shadow-lg:0 8px 30px #0000004d}body{color:var(--pokedex-dark);background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);min-height:100vh;font-family:Outfit,sans-serif}.pokedex-header{background:var(--pokedex-red);border-bottom:6px solid var(--pokedex-dark-red);z-index:100;box-shadow:var(--shadow-lg);padding:16px 24px;transition:transform .35s,opacity .35s;position:sticky;top:0}.pokedex-header.collapsed{opacity:0;pointer-events:none;position:fixed;left:0;right:0;transform:translateY(-100%)}.header-top{align-items:center;gap:20px;margin-bottom:14px;display:flex}.header-lens{align-items:center;gap:8px;display:flex}.lens-big{background:radial-gradient(circle at 35% 35%,#7dd3fc,#0284c7,#0369a1);border:4px solid #fff;border-radius:50%;width:52px;height:52px;animation:3s ease-in-out infinite lensPulse;position:relative;box-shadow:0 0 10px #0284c780,inset 0 0 15px #fff3}@keyframes lensPulse{0%,to{box-shadow:0 0 10px #0284c780,inset 0 0 15px #fff3}50%{box-shadow:0 0 20px #0284c7cc,inset 0 0 15px #ffffff4d}}.lens-shine{background:#fff9;border-radius:50%;width:14px;height:14px;position:absolute;top:8px;left:10px}.lens-small{border:2px solid #fff9;border-radius:50%;width:14px;height:14px}.lens-small.red{background:#ef4444}.lens-small.yellow{background:#fbbf24}.lens-small.green{background:#34d399}.header-title{color:#fff;text-shadow:2px 2px 0 var(--pokedex-dark-red);letter-spacing:1px;font-family:"Press Start 2P",cursive;font-size:1.3rem}.header-title span{color:#fde68a;font-size:.9rem}.header-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.game-selector{align-items:center;gap:8px;display:flex}.game-selector label{color:#fff;white-space:nowrap;font-size:.9rem;font-weight:600}.game-selector select{color:#fff;cursor:pointer;background:#ffffff26;border:2px solid #ffffff4d;border-radius:8px;outline:none;min-width:200px;padding:8px 12px;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:500;transition:all .2s}.game-selector select:hover,.game-selector select:focus{background:#ffffff40;border-color:#fff}.game-selector select option{background:var(--pokedex-dark);color:#fff}.search-bar{flex:1;min-width:200px;max-width:350px;position:relative}.search-icon{color:#fff9;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-bar input{color:#fff;background:#ffffff26;border:2px solid #ffffff4d;border-radius:8px;outline:none;width:100%;padding:8px 12px 8px 38px;font-family:Outfit,sans-serif;font-size:.9rem;transition:all .2s}.search-bar input::placeholder{color:#ffffff80}.search-bar input:focus{background:#ffffff40;border-color:#fff}.progress-bar-container{min-width:180px}.progress-info{color:#fff;justify-content:space-between;margin-bottom:4px;font-size:.8rem;font-weight:600;display:flex}.progress-bar{background:#0000004d;border:1px solid #fff3;border-radius:5px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#34d399,#10b981);border-radius:5px;width:0%;height:100%;transition:width .4s}.pokedex-main{max-width:1400px;margin:0 auto;padding:20px 24px}.loading{flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:80px 20px;display:flex}.loading.hidden{display:none}.loading p{color:#ffffffb3;font-family:"Press Start 2P",cursive;font-size:.75rem}.pokeball-loader{width:60px;height:60px;animation:1s linear infinite pokeballSpin;position:relative}@keyframes pokeballSpin{to{transform:rotate(360deg)}}.pokeball-top{background:var(--pokeball-red);border:3px solid var(--pokeball-border);border-bottom:none;border-radius:30px 30px 0 0;width:60px;height:30px}.pokeball-bottom{background:var(--pokeball-white);border:3px solid var(--pokeball-border);border-top:none;border-radius:0 0 30px 30px;width:60px;height:30px}.pokeball-center{background:var(--pokeball-border);justify-content:center;align-items:center;width:60px;height:3px;display:flex;position:relative}.pokeball-center:after{content:"";border:3px solid var(--pokeball-border);background:#fff;border-radius:50%;width:18px;height:18px;position:absolute}.box-section{margin-bottom:28px}.box-header{background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:12px;margin-bottom:12px;padding:8px 16px;display:flex}.box-title{color:#fff;letter-spacing:1px;font-family:"Press Start 2P",cursive;font-size:.7rem}.box-count{color:#ffffff80;margin-left:auto;font-size:.8rem}.pokemon-grid{flex-direction:column;gap:0;display:flex}.pokemon-grid.hidden{display:none}.box-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.pokemon-card{text-align:center;cursor:pointer;background:#ffffff14;border:2px solid #ffffff0f;border-radius:12px;padding:10px 8px 8px;transition:all .25s;position:relative;overflow:hidden}.pokemon-card:hover{background:#ffffff24;border-color:#fff3;transform:translateY(-4px);box-shadow:0 8px 25px #0000004d}.pokemon-card.captured{background:#34d39914;border-color:#34d39966}.pokemon-card.captured:hover{border-color:#34d39999}.card-number{color:#ffffff59;margin-bottom:2px;font-family:"Press Start 2P",cursive;font-size:.65rem;font-weight:700}.card-sprite-container{width:80px;height:80px;margin:0 auto;position:relative}.card-sprite{width:80px;height:80px;image-rendering:pixelated;filter:grayscale()brightness(.7);transition:filter .4s,transform .2s}.pokemon-card.captured .card-sprite{filter:none}.pokemon-card:hover .card-sprite{transform:scale(1.1)}.card-name{color:#fffc;text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:.72rem;font-weight:600;overflow:hidden}.capture-btn{cursor:pointer;z-index:2;background:0 0;border:none;width:24px;height:24px;padding:0;transition:transform .2s;position:absolute;top:6px;right:6px}.capture-btn:hover{transform:scale(1.25)}.capture-btn svg{width:24px;height:24px}.capture-btn .pokeball-icon{filter:grayscale()opacity(.4);transition:filter .3s}.pokemon-card.captured .capture-btn .pokeball-icon{filter:none}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-overlay.hidden{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-lg);background:linear-gradient(145deg,#1e293b,#0f172a);border:2px solid #ffffff1a;border-radius:20px;animation:.3s slideUp;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:#fff9;cursor:pointer;z-index:10;background:0 0;border:none;font-size:1.8rem;line-height:1;transition:color .2s;position:absolute;top:12px;right:16px}.modal-close:hover{color:#fff}.modal-pokemon-header{text-align:center;padding:30px 30px 0;position:relative}.modal-pokemon-header:before{content:"";pointer-events:none;background:radial-gradient(#ffffff0d 0%,#0000 70%);position:absolute;inset:0}.modal-artwork{z-index:1;width:200px;height:200px;margin:0 auto;position:relative}.modal-artwork img{object-fit:contain;width:100%;height:100%;transition:filter .3s,transform .3s}.modal-artwork img.uncaptured{filter:grayscale()brightness(.7)}.modal-artwork-placeholder{color:#ffffff40;background:#ffffff08;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.modal-artwork-placeholder svg{width:48px;height:48px}.modal-artwork-placeholder span{text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.modal-artwork img.uncaptured:hover{filter:grayscale(20%)brightness(.9);transform:scale(1.05)}.modal-pokemon-name{color:#fff;text-transform:capitalize;margin-top:12px;font-family:"Press Start 2P",cursive;font-size:1rem}.modal-pokemon-id{color:#fff6;margin-top:4px;font-size:.85rem}.modal-types{justify-content:center;gap:8px;margin-top:12px;display:flex}.type-badge{color:#fff;text-transform:uppercase;letter-spacing:1px;border-radius:20px;padding:4px 14px;font-size:.75rem;font-weight:700}.modal-body-content{padding:24px 30px 30px}.modal-section{margin-bottom:20px}.modal-section-title{color:#fff9;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;font-family:"Press Start 2P",cursive;font-size:.6rem}.stat-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.stat-name{color:#fff9;text-transform:uppercase;flex-shrink:0;width:45px;font-size:.75rem;font-weight:600}.stat-bar-bg{background:#ffffff1a;border-radius:4px;flex:1;height:8px;overflow:hidden}.stat-bar-fill{border-radius:4px;height:100%;transition:width .5s}.stat-value{color:#fffc;text-align:right;flex-shrink:0;width:35px;font-size:.8rem;font-weight:700}.info-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.info-item{background:#ffffff0d;border-radius:10px;padding:10px 14px}.info-label{color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:.65rem}.info-value{color:#ffffffe6;text-transform:capitalize;font-size:.85rem;font-weight:600}.abilities-list{flex-wrap:wrap;gap:8px;display:flex}.ability-badge{color:#fffc;text-transform:capitalize;background:#ffffff14;border:1px solid #ffffff1a;border-radius:8px;padding:6px 12px;font-size:.8rem}.ability-badge.hidden-ability{color:#a78bfa;border-color:#a78bfa66}.flavor-text{color:#ffffffb3;border-left:3px solid var(--pokedex-red);background:#ffffff0a;border-radius:10px;padding:14px;font-size:.85rem;font-style:italic;line-height:1.6}.evo-pokemon{cursor:pointer;flex-direction:column;flex-shrink:0;align-items:center;transition:transform .2s;display:flex}.evo-pokemon:hover{transform:scale(1.1)}.evo-sprite{width:56px;height:56px;image-rendering:pixelated}.evo-name{color:#ffffffb3;text-transform:capitalize;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:70px;margin-top:2px;font-size:.65rem;overflow:hidden}.evo-arrow-block{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.evo-arrow{color:#ffffff4d;font-size:.9rem;line-height:1}.evo-branch-row .evo-arrow{transform:rotate(90deg)}.evo-condition{color:#ffffff73;text-align:center;text-transform:capitalize;background:#ffffff0f;border-radius:4px;max-width:80px;padding:2px 6px;font-size:.55rem;line-height:1.2}.evo-linear{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.evo-tree{flex-direction:column;align-items:center;gap:10px;display:flex}.evo-tree-base{justify-content:center;display:flex}.evo-branches{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;width:100%;display:grid}.evo-branch-row{background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;display:flex}.modal-capture-btn{color:#ffffffb3;cursor:pointer;background:#ffffff0d;border:2px solid #ffffff26;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:16px;padding:12px;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;transition:all .3s;display:flex}.modal-capture-btn:hover{background:#ffffff1a;border-color:#ffffff40}.modal-capture-btn.captured{color:#34d399;background:#34d3991a;border-color:#34d39966}.modal-capture-btn .pokeball-icon{filter:grayscale()opacity(.5);width:22px;height:22px;transition:filter .3s}.modal-capture-btn.captured .pokeball-icon{filter:none}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:0 0}.modal-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.landscape-hint{color:#60a5facc;background:#60a5fa1a;border:1px solid #60a5fa33;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;padding:8px 16px;font-size:.78rem;font-weight:500;display:none}.landscape-hint svg{flex-shrink:0;width:16px;height:16px}@media (width<=600px) and (orientation:portrait){.pokedex-header{padding:12px 16px}.header-title{font-size:.9rem}.header-title span{font-size:.65rem}.lens-big{width:38px;height:38px}.header-controls{flex-direction:column;align-items:stretch;gap:10px}.game-selector{width:100%}.game-selector select{flex:1;min-width:0}.search-bar{max-width:none}.box-grid{grid-template-columns:repeat(3,1fr);gap:8px}.card-sprite-container,.card-sprite{aspect-ratio:1;width:100%;height:auto}.pokemon-card{padding:10px 6px 8px}.modal-content{border-radius:14px}.modal-artwork{width:160px;height:160px}.info-grid{grid-template-columns:1fr}.landscape-hint{display:flex}}@media (width<=900px) and (orientation:landscape){.pokedex-header{padding:10px 16px}.header-top{margin-bottom:8px}.header-controls{gap:12px}.box-grid{grid-template-columns:repeat(6,1fr);gap:6px}}.no-results{text-align:center;color:#ffffff80;padding:60px 20px}.no-results p{margin-top:12px;font-family:"Press Start 2P",cursive;font-size:.7rem}.no-results-icon{color:#ffffff4d;width:48px;height:48px;margin:0 auto 8px}.no-results-icon svg{width:100%;height:100%}.modal-not-in-dex{color:#fbbf24cc;text-align:center;background:#fbbf2414;border:2px solid #fbbf244d;border-radius:12px;margin-top:16px;padding:12px;font-size:.85rem;font-weight:500}.header-collapse-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-left:auto;transition:all .2s;display:flex}.header-collapse-btn:hover{background:#fff3;border-color:#fff}.header-collapse-btn svg{width:18px;height:18px}.header-expand-btn{z-index:101;background:var(--pokedex-red);color:#fff;cursor:pointer;border:1px solid #ffffff26;border-top:none;border-radius:0 0 14px 14px;justify-content:center;align-items:center;width:44px;height:24px;transition:all .2s;animation:.3s expandSlideDown;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.header-expand-btn.hidden{display:none}@keyframes expandSlideDown{0%{opacity:0;transform:translate(-50%)translateY(-100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.header-expand-btn:hover{background:var(--pokedex-dark-red);height:30px}.header-expand-btn svg{width:18px;height:18px}.settings-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.settings-btn:hover{background:#fff3;border-color:#fff;transform:rotate(45deg)}.settings-btn svg{width:20px;height:20px}.settings-modal{max-width:520px}.settings-body{padding:30px}.settings-title{color:#fff;text-align:center;margin-bottom:24px;font-family:"Press Start 2P",cursive;font-size:.9rem}.settings-section{margin-bottom:24px}.settings-options{flex-wrap:wrap;gap:10px;display:flex}.settings-option{cursor:pointer;background:#ffffff0a;border:2px solid #ffffff1a;border-radius:10px;flex-direction:column;flex:0 0 calc(33.333% - 8px);align-items:center;gap:6px;padding:10px;transition:all .2s;display:flex}.settings-option:hover{background:#ffffff14;border-color:#ffffff40}.settings-option.active{background:#34d39914;border-color:#34d39980}.settings-option input[type=radio]{display:none}.option-preview{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.option-preview img{object-fit:contain;max-width:100%;max-height:100%}.option-preview img.pixelated{image-rendering:pixelated}.option-name{color:#fffc;text-align:center;margin:0;padding:0;font-size:.7rem;font-weight:600;line-height:1.2}.settings-option.wide{flex-direction:row;flex:0 0 100%;align-items:center;gap:10px;padding:8px 14px}.settings-option.wide .option-name{text-align:left}.option-text{flex-direction:column;gap:1px;display:flex}.option-desc{color:#fff6;margin:0;padding:0;font-size:.72rem;line-height:1.2}.settings-hint{color:#fbbf24d9;background:#fbbf2414;border:1px solid #fbbf2433;border-radius:8px;flex:0 0 100%;margin-top:4px;padding:8px 12px;font-size:.75rem;line-height:1.4}.settings-hint-warning{color:#ef4444e6;background:#ef44441a;border-color:#ef44444d}.settings-option.disabled{opacity:.35;pointer-events:none;cursor:not-allowed}.gender-btn{cursor:pointer;z-index:2;opacity:.5;background:0 0;border:none;width:22px;height:22px;padding:0;transition:transform .2s;position:absolute;top:6px;left:6px}.gender-btn:hover{opacity:1;transform:scale(1.25)}.gender-btn svg{width:22px;height:22px}.gender-icon.male{color:#60a5fa}.gender-icon.female{color:#f472b6}.gender-indicator{z-index:2;font-size:.85rem;font-weight:800;line-height:1;position:absolute;top:5px;left:6px}.gender-indicator.male{color:#60a5fa}.gender-indicator.female{color:#f472b6}.card-sprite.smooth{image-rendering:auto}.card-sprite.pixelated,.modal-artwork img.pixelated{image-rendering:pixelated}@media (width<=480px){.settings-option{flex:0 0 calc(50% - 5px)}}.box-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:90;background:#0f172aeb;border:1px solid #ffffff26;border-radius:14px;align-items:center;gap:6px;padding:6px 10px;animation:.3s navSlideUp;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}.box-nav.hidden{display:none}@keyframes navSlideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.box-nav-select{color:#fff;cursor:pointer;text-align:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;outline:none;min-width:140px;padding:6px 10px;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;transition:all .2s}.box-nav-select:hover,.box-nav-select:focus{background:#ffffff2e;border-color:#fff6}.box-nav-select option{color:#fff;background:#1e293b}.box-nav-prev,.box-nav-next{color:#ffffffb3;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;transition:all .2s;display:flex}.box-nav-prev:hover,.box-nav-next:hover{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.box-nav-prev:disabled,.box-nav-next:disabled{opacity:.3;cursor:default}.pokemon-card.legendary{border-color:#a78bfa80;box-shadow:0 0 8px #a78bfa26}.pokemon-card.legendary:hover{border-color:#a78bfab3;box-shadow:0 0 16px #a78bfa40}.pokemon-card.mythical{border-color:#f59e0b80;box-shadow:0 0 8px #f59e0b26}.pokemon-card.mythical:hover{border-color:#f59e0bb3;box-shadow:0 0 16px #f59e0b40}.pokemon-card.captured.legendary{border-color:#a78bfa80}.pokemon-card.captured.mythical{border-color:#f59e0b80}.gender-rate-bar{border-radius:4px;height:18px;margin-top:4px;font-size:.65rem;font-weight:700;display:flex;overflow:hidden}.gender-rate-male{color:#fff;background:#60a5fa;justify-content:center;align-items:center;min-width:0;display:flex}.gender-rate-female{color:#fff;background:#f472b6;justify-content:center;align-items:center;min-width:0;display:flex}.gender-rate-male span,.gender-rate-female span{white-space:nowrap;padding:0 4px;overflow:hidden}.info-item.full-width{grid-column:1/-1}.toggle-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;transition:color .2s;display:flex}.toggle-header:hover{color:#fffc}.toggle-icon{color:#ffffff4d;margin-left:auto;font-size:.6rem;transition:transform .2s}.toggle-content{margin-top:10px}.toggle-content.hidden{display:none}.moves-table{border-collapse:collapse;width:100%;font-size:.8rem}.moves-table thead th{text-align:left;color:#fff6;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #ffffff1a;padding:4px 8px;font-size:.65rem}.moves-table tbody tr{border-bottom:1px solid #ffffff0a}.moves-table tbody tr:hover{background:#ffffff0a}.move-level{color:#ffffff80;width:40px;padding:5px 8px;font-family:"Press Start 2P",cursive;font-size:.55rem;font-weight:700}.move-name{color:#fffc;text-transform:capitalize;padding:5px 8px}.move-count{color:#ffffff59;font-family:Outfit,sans-serif;font-size:.7rem;font-weight:400}.forms-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;display:grid}.form-pokemon{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;align-items:center;padding:6px;transition:all .2s;display:flex}.form-sprite-wrap{justify-content:center;align-items:center;width:56px;height:56px;display:flex}.form-pokemon:hover{background:#ffffff14;border-color:#ffffff26}.form-pokemon.current-form{background:#34d3990f;border-color:#34d39966}.form-pokemon.form-unavailable{opacity:.4}.form-pokemon.form-unavailable .evo-sprite{filter:grayscale()}.encounter-item{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;gap:2px;margin-bottom:6px;padding:8px 10px;display:flex}.encounter-location{color:#fffc;text-transform:capitalize;font-size:.8rem;font-weight:600}.encounter-details{color:#fff6;font-size:.7rem}.offline-banner{color:#ef4444e6;z-index:99;background:#ef444426;border-bottom:1px solid #ef44444d;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:500;display:flex;position:sticky;top:0}.offline-banner.hidden{display:none}.download-bar{color:#60a5facc;background:#60a5fa1a;border-bottom:1px solid #60a5fa33;align-items:center;gap:10px;padding:6px 16px;font-size:.75rem;font-weight:500;display:flex}.download-bar.hidden{display:none}.download-progress{background:#ffffff1a;border-radius:3px;flex:1;height:6px;overflow:hidden}.download-fill{background:#60a5fa;border-radius:3px;width:0%;height:100%;transition:width .3s}.sprite-placeholder{color:#fff3;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;display:flex}.sprite-placeholder svg{opacity:.4;width:32px;height:32px}.sprite-placeholder span{text-transform:uppercase;letter-spacing:.5px;font-size:.5rem}.site-footer{text-align:center;border-top:1px solid #ffffff0f;max-width:1400px;margin:0 auto;padding:24px 24px 32px}.footer-disclaimer{color:#ffffff40;max-width:600px;margin:0 auto 16px;font-size:.65rem;line-height:1.6}.footer-credits{color:#fff6;justify-content:center;align-items:center;gap:12px;font-size:.8rem;display:flex}.footer-credits span{align-items:center;gap:4px;display:flex}.footer-link{color:#ffffff80;align-items:center;text-decoration:none;transition:color .2s;display:flex}.footer-link:hover{color:#fff}.heart-icon{vertical-align:middle}.share-btn{color:#60a5fae6;cursor:pointer;background:#60a5fa14;border:2px solid #60a5fa4d;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.share-btn:hover{background:#60a5fa26;border-color:#60a5fa80}.share-modal,.import-modal{max-width:480px}.share-body,.import-body{text-align:center;padding:30px}.share-icon{color:#ffffff4d;margin-bottom:12px}.share-title{color:#fff;margin-bottom:10px;font-family:"Press Start 2P",cursive;font-size:.85rem}.share-description{color:#ffffff80;margin-bottom:16px;font-size:.85rem;line-height:1.5}.share-url-box{gap:8px;display:flex}.share-url-input{color:#ffffffb3;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;outline:none;flex:1;min-width:0;padding:10px 12px;font-family:monospace;font-size:.75rem}.share-copy-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#60a5fa;border:none;border-radius:8px;padding:10px 16px;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;transition:background .2s}.share-copy-btn:hover{background:#3b82f6}.share-copy-btn.copied{background:#34d399}.import-stats{color:#60a5fa;margin-bottom:12px;font-family:"Press Start 2P",cursive;font-size:.7rem}.import-warning{color:#fbbf24cc;background:#fbbf2414;border:1px solid #fbbf2433;border-radius:8px;margin-bottom:20px;padding:8px 12px;font-size:.8rem}.import-actions{justify-content:center;gap:10px;display:flex}.import-cancel-btn{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;padding:10px 24px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.import-cancel-btn:hover{color:#fff;background:#ffffff1a}.import-confirm-btn{color:#fff;cursor:pointer;background:#60a5fa;border:none;border-radius:8px;padding:10px 24px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:background .2s}.import-confirm-btn:hover{background:#3b82f6}.auth-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:flex;overflow:hidden}.auth-btn:hover{background:#fff3;border-color:#fff}.auth-icon-login{width:20px;height:20px}.auth-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%}.auth-avatar.hidden{display:none}.auth-btn.logged-in{cursor:default;border-color:#34d39980;padding:0}.auth-btn.logged-in:hover{transform:none}.auth-btn.logged-in .auth-icon-login{display:none}.auth-btn.logged-in .auth-avatar{display:block}.auth-logout-header-btn{color:#fffc;cursor:pointer;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.auth-logout-header-btn.hidden{display:none}.auth-logout-header-btn:hover{color:#fca5a5;background:#ef444433;border-color:#ef444499}.sync-indicator{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.sync-indicator.hidden{display:none}.sync-indicator .sync-icon{width:16px;height:16px;transition:color .3s}.sync-indicator.idle .sync-icon{color:#ffffff73}.sync-indicator.pending .sync-icon{color:#fbbf24}.sync-indicator.syncing .sync-icon{color:#60a5fa;animation:1s linear infinite syncSpin}.sync-indicator.error .sync-icon{color:#ef4444}.sync-indicator.offline .sync-icon{color:#fff3}.sync-indicator.idle .sync-icon{display:none}.sync-indicator.idle:after{content:"✓";color:#ffffff80;font-size:.7rem;font-weight:700}@keyframes syncSpin{to{transform:rotate(360deg)}}.sync-now-btn{color:#ffffffb3;cursor:pointer;background:#ffffff14;border:2px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.sync-now-btn.hidden{display:none}.sync-now-btn:hover{color:#fff;background:#ffffff26;border-color:#fff6}.sync-now-btn:disabled{opacity:.4;cursor:default}.sync-now-btn svg{width:18px;height:18px}.account-logged-out{text-align:center;padding:12px}.account-logged-out p{color:#ffffff80;margin-bottom:14px;font-size:.85rem;line-height:1.5}.google-sign-in-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:2px solid #ffffff26;border-radius:8px;align-items:center;gap:10px;padding:10px 24px;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.google-sign-in-btn:hover{background:#ffffff1f;border-color:#ffffff4d}.google-sign-in-btn svg{width:20px;height:20px}.account-logged-in{flex-direction:column;gap:12px;display:flex}.account-user-info{background:#ffffff0d;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.account-user-avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px}.account-user-name{color:#ffffffe6;font-size:.85rem;font-weight:600}.account-user-email{color:#fff6;font-size:.75rem}.account-sync-status{color:#fff9;background:#ffffff08;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.8rem;display:flex}.account-sync-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.account-sync-dot.idle{background:#34d399}.account-sync-dot.pending{background:#fbbf24}.account-sync-dot.syncing{background:#60a5fa;animation:1s ease-in-out infinite syncDotPulse}.account-sync-dot.error{background:#ef4444}.account-sync-dot.offline{background:#ffffff4d}@keyframes syncDotPulse{0%,to{opacity:1}50%{opacity:.3}}.account-actions{gap:10px;display:flex}.account-sync-btn{color:#60a5fae6;cursor:pointer;background:#60a5fa14;border:2px solid #60a5fa4d;border-radius:8px;flex:1;padding:10px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.account-sync-btn:hover{background:#60a5fa26;border-color:#60a5fa80}.account-logout-btn{color:#ef4444cc;cursor:pointer;background:#ef44440f;border:1px solid #ef44444d;border-radius:8px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.account-logout-btn:hover{background:#ef44441f;border-color:#ef444480}.merge-modal{max-width:480px}.merge-body{text-align:center;padding:30px}.merge-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.merge-btn{color:#fffc;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;padding:12px 20px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.merge-btn:hover{background:#ffffff1f;border-color:#ffffff4d}.merge-btn-primary{color:#34d399;background:#34d3991a;border-color:#34d39966}.merge-btn-primary:hover{background:#34d3992e;border-color:#34d39999}
