.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;z-index:100}.info-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:600px;max-height:80vh;overflow-y:auto;background:linear-gradient(145deg,#1c1c36,#242444);border-radius:15px;padding:30px;z-index:101;color:var(--text-primary);box-shadow:0 5px 30px #00000080;border:1px solid rgba(255,255,255,.1)}.info-modal h2{margin-top:0;font-size:1.8rem;color:var(--accent-light);text-align:center;margin-bottom:20px}.info-modal h3{font-size:1.3rem;color:var(--accent-light);margin-top:20px;margin-bottom:10px}.info-modal p{line-height:1.6;margin-bottom:15px;color:var(--text-secondary)}.info-modal ul{margin-left:20px;margin-bottom:20px;color:var(--text-secondary)}.info-modal li{margin-bottom:8px;line-height:1.5}.info-modal li strong{color:var(--text-primary)}.close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.8rem;color:var(--text-secondary);cursor:pointer;height:30px;width:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.credits{text-align:center;font-style:italic;color:var(--accent-light);margin-top:25px;font-size:.9rem}.disclaimer{text-align:center;font-style:italic;color:var(--text-secondary);font-size:.85rem;margin-top:10px;opacity:.8}.info-modal::-webkit-scrollbar{width:8px}.info-modal::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.info-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.info-modal::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 600px){.info-modal{padding:20px;width:85%;max-height:85vh}.info-modal h2{font-size:1.5rem}.info-modal h3{font-size:1.2rem}.info-modal p,.info-modal li{font-size:.9rem}}.landing-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,var(--primary-bg) 0%,var(--secondary-bg) 50%,var(--accent-bg) 100%);overflow:hidden}.landing-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,rgba(95,44,130,.1) 0%,transparent 70%);pointer-events:none}.content-container{text-align:center;z-index:2;position:relative}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.main-logo{height:120px;width:auto;filter:drop-shadow(0 0 20px rgba(255,255,255,.4));animation:glow-pulse 3s ease-in-out infinite alternate}@keyframes glow-pulse{0%{filter:drop-shadow(0 0 20px rgba(255,255,255,.4))}to{filter:drop-shadow(0 0 30px rgba(255,255,255,.6)) drop-shadow(0 0 40px rgba(128,0,255,.3))}}.subtitle{font-size:1.8rem;color:var(--text-secondary);margin-bottom:1rem;font-style:italic;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.card-count{font-size:1.1rem;color:var(--accent-light);margin-bottom:3rem;opacity:.9}.enter-button{font-size:1.4rem;padding:16px 32px;margin:0 auto;display:block;border-radius:50px;background:linear-gradient(90deg,var(--accent-purple) 0%,var(--accent-blue) 100%);border:2px solid rgba(255,255,255,.2);transition:all .3s ease}.enter-button:hover{border-color:#fff6;transform:translateY(-3px);box-shadow:0 8px 25px #5f2c8266}.info-button{position:absolute;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:var(--text-primary);font-size:1.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.info-button:hover{background:#fff3;border-color:#fff6;transform:scale(1.1)}@media (max-width: 768px){.main-logo{height:80px}.subtitle{font-size:1.4rem}.card-count{font-size:1rem}.enter-button{font-size:1.2rem;padding:14px 28px}.info-button{bottom:20px;right:20px;width:45px;height:45px;font-size:1.3rem}}@media (max-width: 480px){.main-logo{height:70px}.subtitle{font-size:1.2rem}.enter-button{font-size:1.1rem;padding:12px 24px}}.search-bar{background:#1a1a2ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:20px;margin-bottom:30px;box-shadow:0 4px 20px #0003}.search-controls{display:flex;flex-direction:column;gap:15px}.search-input-container{width:100%}.search-input{width:100%;padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.search-input::placeholder{color:var(--text-secondary);opacity:.7}.search-input:focus{outline:none;border-color:var(--accent-blue);background:#ffffff26;box-shadow:0 0 10px #49a09d4d}.filter-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.filter-select{padding:10px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .3s ease}.filter-select:focus{outline:none;border-color:var(--accent-blue);background:#ffffff26}.filter-select:hover{background:#ffffff26}.filter-select option{background:var(--primary-bg);color:var(--text-primary);padding:8px}.sort-select{grid-column:-1;background:linear-gradient(90deg,#5f2c824d,#49a09d4d);border-color:#ffffff4d}.sort-select:hover{background:linear-gradient(90deg,#5f2c8266,#49a09d66)}@media (max-width: 768px){.search-bar{padding:15px;margin-bottom:20px}.search-controls{gap:12px}.filter-controls{grid-template-columns:1fr 1fr;gap:10px}.sort-select{grid-column:span 2}.search-input,.filter-select{font-size:14px;padding:8px 12px}}@media (max-width: 480px){.filter-controls{grid-template-columns:1fr}.sort-select{grid-column:span 1}}.card-viewer-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;z-index:200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.card-viewer-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:900px;max-height:90vh;background:linear-gradient(145deg,#1c1c36,#242444);border-radius:20px;padding:30px;z-index:201;color:var(--text-primary);box-shadow:0 10px 50px #00000080;border:1px solid rgba(255,255,255,.1);overflow-y:auto}.close-button{position:absolute;top:20px;right:20px;background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;z-index:202}.close-button:hover{background-color:#ffffff1a;transform:scale(1.1);color:var(--text-primary)}.card-viewer-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}.card-image-container{display:flex;justify-content:center;align-items:center;background:#ffffff0d;border-radius:15px;padding:20px;min-height:400px}.card-image-large{max-width:100%;max-height:500px;border-radius:10px;box-shadow:0 10px 30px #0000004d;transition:transform .3s ease}.card-image-large:hover{transform:scale(1.05)}.card-details{display:flex;flex-direction:column;justify-content:center;gap:20px}.card-name{font-size:2.5rem;font-weight:700;background:linear-gradient(90deg,var(--accent-purple),var(--accent-blue));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin-bottom:30px}.card-info{display:flex;flex-direction:column;gap:15px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#ffffff0d;border-radius:10px;border-left:4px solid var(--accent-blue)}.info-label{font-weight:700;color:var(--text-secondary);font-size:1.1rem}.info-value{font-size:1.2rem;color:var(--text-primary);font-weight:600}.rarity-badge{padding:6px 12px;border-radius:20px;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.navigation-controls{display:flex;justify-content:space-between;gap:20px;margin-bottom:15px}.nav-button{flex:1;padding:12px 24px;background:linear-gradient(90deg,var(--accent-purple),var(--accent-blue));color:var(--text-primary);border:none;border-radius:10px;cursor:pointer;font-weight:700;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 15px #5f2c824d}.nav-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 20px #5f2c8266}.nav-button.disabled{opacity:.4;cursor:not-allowed;background:#ffffff1a}.keyboard-hint{text-align:center;color:var(--text-secondary);font-size:.9rem;opacity:.7;font-style:italic}@media (max-width: 768px){.card-viewer-modal{width:95vw;padding:20px;max-height:95vh}.card-viewer-content{grid-template-columns:1fr;gap:20px}.card-name{font-size:2rem}.card-image-container{min-height:300px;padding:15px}.info-item{padding:10px 15px}.info-label,.info-value{font-size:1rem}.navigation-controls{flex-direction:column;gap:10px}.nav-button{padding:10px 20px}}@media (max-width: 480px){.card-viewer-modal{width:98vw;padding:15px}.card-name{font-size:1.8rem}.close-button{top:15px;right:15px;width:35px;height:35px;font-size:1.5rem}}.card-grid-container{min-height:100vh;padding:20px;background:linear-gradient(135deg,var(--primary-bg) 0%,var(--secondary-bg) 50%,var(--accent-bg) 100%)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:0 10px}.logo-container{display:flex;justify-content:center;align-items:center}.page-logo{height:80px;width:auto;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}.footer-logo{display:flex;justify-content:center;align-items:center;margin-top:60px;margin-bottom:40px;padding:30px}.footer-logo-image{height:60px;width:auto;opacity:.7}.back-button{font-size:1rem;padding:10px 20px;border-radius:25px}.results-info{text-align:center;color:var(--text-secondary);margin-bottom:30px;font-size:1.1rem;font-weight:500}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;padding:0 10px}.card-item{cursor:pointer;transition:all .7s ease;position:relative;overflow:hidden;border-radius:15px}.card-item:hover{transform:scale(1.05)}.card-image-container{position:relative;display:flex;justify-content:center;align-items:center;border-radius:15px;overflow:hidden}.card-image{width:100%;height:100%;border-radius:15px;transition:transform .7s ease;object-fit:cover}.no-results{text-align:center;color:var(--text-secondary);padding:60px 20px;margin-top:40px}.no-results h3{font-size:1.8rem;margin-bottom:15px;color:var(--text-primary)}.no-results p{font-size:1.1rem;opacity:.8}.card-item.loading{background:linear-gradient(90deg,#ffffff1a,#fff3,#ffffff1a);background-size:200% 100%;animation:loading-shimmer 1.5s ease-in-out infinite}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 768px){.card-grid-container{padding:15px}.header{flex-direction:column;gap:15px;text-align:center}.page-logo{height:60px}.footer-logo-image{height:45px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}}@media (max-width: 480px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;padding:0}.page-logo{height:50px}.footer-logo-image{height:40px}}:root{--primary-bg: #1a1a2e;--secondary-bg: #16213e;--accent-bg: #0f3460;--text-primary: #ffffff;--text-secondary: #b8c0ff;--accent-purple: #5f2c82;--accent-blue: #49a09d;--accent-light: #a1a6ff}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background:linear-gradient(135deg,var(--primary-bg) 0%,var(--secondary-bg) 50%,var(--accent-bg) 100%);color:var(--text-primary);min-height:100vh}.App{text-align:center;min-height:100vh}.btn{padding:12px 24px;background:linear-gradient(90deg,var(--accent-purple) 0%,var(--accent-blue) 100%);color:var(--text-primary);border:none;border-radius:30px;cursor:pointer;font-weight:700;font-size:1rem;box-shadow:0 4px 15px #4f2c8280;transition:all .3s ease;text-decoration:none;display:inline-block}.btn:hover{transform:translateY(-3px);box-shadow:0 7px 20px #4f2c82b3}.btn:active{transform:translateY(-1px)}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:var(--text-secondary)}.spinner{border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--accent-blue);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-right:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{color:#ff6b6b;padding:20px;text-align:center;font-size:1.1rem}@media (max-width: 768px){.btn{padding:10px 20px;font-size:.9rem}}
