:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-blue:#3b82f6;--accent-violet:#8b5cf6;--accent-pink:#ec4899;--glass-bg:#111827bf;--glass-bg-strong:#111827e6;--glass-border:#ffffff14;--glass-border-hover:#ffffff26;--card-shadow:0 4px 24px #0000004d;--card-shadow-hover:0 12px 40px #00000080;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:9999px;--transition-fast:.2s ease;--transition-normal:.3s ease;--transition-bounce:.4s cubic-bezier(.175, .885, .32, 1.275)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Outfit,sans-serif;line-height:1.6;overflow-x:hidden}.background{z-index:-1;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(100px);opacity:.4;border-radius:50%;animation:25s ease-in-out infinite alternate float;position:absolute}.blob-1{background:radial-gradient(circle,#3b82f680 0%,#0000 70%);width:55vw;height:55vw;top:-15%;left:-15%}.blob-2{background:radial-gradient(circle,#8b5cf666 0%,#0000 70%);width:60vw;height:60vw;animation-delay:-8s;bottom:-20%;right:-15%}.blob-3{background:radial-gradient(circle,#ec48994d 0%,#0000 70%);width:45vw;height:45vw;animation-delay:-15s;top:35%;left:25%}@keyframes float{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,-20px)scale(1.05)}to{transform:translate(-20px,40px)scale(1.08)}}#app{flex-direction:column;max-width:1280px;min-height:100vh;margin:0 auto;padding:2rem 1.5rem;display:flex}.header{text-align:center;transition:padding var(--transition-normal);padding:2rem 0 3rem;animation:.7s ease-out fadeInDown}.header.compact{padding:1rem 0 1.5rem}.header.compact .subtitle{display:none}.header-title{letter-spacing:-1.5px;margin-bottom:.4rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:800}.header-title a{color:inherit;text-decoration:none}.header-title a:hover{opacity:.9}.header .highlight{background:linear-gradient(135deg,#60a5fa 0%,#a78bfa 50%,#f472b6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header .subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem;font-weight:300}.banner-section{max-width:1200px;margin:1.5rem auto 4rem}.announcement-banner{color:#34d399;text-align:center;text-transform:uppercase;letter-spacing:.1em;-webkit-backdrop-filter:blur(12px);background:#10b9811a;border:1px solid #10b9814d;border-radius:100px;justify-content:center;align-items:center;gap:.75rem;max-width:fit-content;margin:0 auto 4rem;padding:.8rem 2rem;font-size:1.1rem;font-weight:600;display:flex;box-shadow:0 0 20px #10b9811a,inset 0 0 10px #10b9810d}.announcement-banner:before{content:"";background-color:#34d399;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot;display:inline-block;box-shadow:0 0 10px #34d399}@keyframes pulse-dot{0%{opacity:1;box-shadow:0 0 10px #34d399}50%{opacity:.5;box-shadow:0 0 2px #34d399}to{opacity:1;box-shadow:0 0 10px #34d399}}.search-container{max-width:480px;margin:0 auto;position:relative}.search-icon{width:20px;height:20px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:1.2rem;transform:translateY(-50%)}#search-input{border-radius:var(--radius-pill);background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;color:var(--text-primary);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(16px);transition:border-color var(--transition-normal), box-shadow var(--transition-normal);outline:none;padding:.9rem 1.2rem .9rem 3.2rem;font-family:inherit;font-size:1rem;font-weight:400}#search-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 4px #3b82f626, var(--card-shadow)}#search-input::placeholder{color:var(--text-muted);font-weight:300}.loading{flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;padding:5rem 0;display:flex}.loading p{color:var(--text-secondary);font-weight:300}.spinner{border:3px solid var(--glass-border);border-top-color:var(--accent-blue);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.character-grid{grid-template-columns:repeat(auto-fill,125px);justify-content:center;gap:1.25rem;padding-bottom:3rem;display:grid}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);box-shadow:var(--card-shadow);cursor:pointer;transition:transform var(--transition-bounce), box-shadow var(--transition-normal), border-color var(--transition-normal);animation:.5s ease-out backwards fadeInUp;overflow:hidden}.card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--glass-border-hover);transform:translateY(-6px)scale(1.02)}.card:active{transform:translateY(-2px)scale(1)}.card-image-container{background:linear-gradient(135deg,#3b82f626 0%,#8b5cf626 100%);justify-content:center;align-items:center;width:100%;height:125px;display:flex;overflow:hidden}.card-image-container img{object-fit:contain;max-width:125px;max-height:125px;transition:transform var(--transition-normal)}.card:hover .card-image-container img{transform:scale(1.08)}.card-image-placeholder{color:#ffffff1f;text-transform:uppercase;font-size:3rem;font-weight:700}.card-info{border-top:1px solid var(--glass-border);padding:.6rem .5rem}.card-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.character-page{animation:.4s ease-out fadeInUp}.character-nav{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.back-button{border-radius:var(--radius-pill);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500;display:inline-flex}.back-button svg{width:18px;height:18px}.back-button:hover{color:var(--text-primary);border-color:var(--glass-border-hover);background:#ffffff14}.banner-title{text-align:center;background:linear-gradient(90deg,#60a5fa,#a78bfa,#f472b6);-webkit-text-fill-color:transparent;text-shadow:0 4px 20px #a78bfa4d;-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:2.5rem;font-weight:800}.banner-cards-container{flex-wrap:wrap;justify-content:center;gap:4rem;display:flex}.banner-card-wrapper{flex-direction:column;align-items:center;gap:1rem;display:flex}.banner-region{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-size:1.2rem;font-weight:700}.banner-grid-inner{justify-content:center;display:flex}.character-page-title{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.view-toggle-container{background:var(--glass-bg);border-radius:var(--radius-pill);border:1px solid var(--glass-border);justify-content:center;gap:1rem;width:fit-content;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;padding:.5rem;display:flex}.toggle-btn{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:.6rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:500}.toggle-btn:hover{color:var(--text-primary);background:#ffffff0d}.toggle-btn.active{background:var(--accent-blue);color:#fff;box-shadow:0 4px 12px #3b82f64d}.sheet-content{flex-direction:column;gap:1.5rem;min-height:300px;display:flex}.sheet-table-wrapper{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);box-shadow:var(--card-shadow);padding:1.5rem;animation:.5s ease-out fadeInUp;overflow-x:auto}.sheet-section-label{border-bottom:1px solid var(--glass-border);background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.sheet-table-wrapper table{border-collapse:collapse;background:0 0;width:auto;min-width:50%;max-width:100%;margin:0 auto}.sheet-table-wrapper thead{display:none}.sheet-table-wrapper td,.sheet-table-wrapper th{vertical-align:middle;text-align:center;padding:.6rem .8rem;font-size:.85rem;line-height:1.5;color:var(--text-secondary)!important;background:0 0!important;border:2px solid #000000e6!important;font-family:Outfit,sans-serif!important}.sheet-table-wrapper td[dir=ltr],.sheet-table-wrapper td:not(:empty){color:var(--text-primary)!important}.sheet-table-wrapper td[colspan]{font-size:.95rem;font-weight:600}.sheet-table-wrapper img{border-radius:var(--radius-sm);max-width:100%;height:auto}.sheet-table-wrapper [style*=background]{background:0 0!important}.sheet-table-wrapper .column-headers-background,.sheet-table-wrapper .row-headers-background,.sheet-table-wrapper .freezebar-cell,.sheet-table-wrapper .header-row-number{display:none!important}.sheet-table-wrapper a{color:var(--accent-blue);text-decoration:none}.sheet-table-wrapper a:hover{text-decoration:underline}.error-message{text-align:center;color:var(--text-secondary);padding:3rem;font-size:1.1rem;font-weight:300}.footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--glass-border);margin-top:auto;padding:2rem 0;font-size:.85rem}.footer a{color:var(--accent-blue);transition:color var(--transition-fast);text-decoration:none}.footer a:hover{color:var(--accent-violet)}.no-results{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:3rem 0;font-size:1.1rem;font-weight:300}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-25px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){#app{padding:1rem}.header{padding:1.5rem 0 2rem}.character-grid{gap:.8rem}.sheet-table-wrapper{border-radius:var(--radius-lg);padding:.8rem}.sheet-table-wrapper td,.sheet-table-wrapper th{padding:.3rem .4rem;font-size:.78rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}
