body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#fff;background-image:none}.App{text-align:center}.App-header{background-color:#282c34;flex-direction:column;font-size:calc(10px + 2vmin)}.App-header,.login-body{align-items:center;color:#fff;display:flex;justify-content:center;min-height:100vh}.login-body{background:radial-gradient(circle at top,#22162c 0,#050507 48%,#000 100%);box-sizing:border-box;padding:24px}.login-panel{background:#16161cf0;border:1px solid #ffffff1a;border-radius:18px;box-shadow:0 20px 60px #00000085;padding:28px;text-align:center;width:min(92vw,420px)}.login-logo{display:block;margin:0 auto 12px;max-width:50%;width:130px}.login-name{display:block;margin:0 auto 16px;max-width:88%;width:230px}.login-copy{color:#e9e6f0;line-height:1.45}.login-error{color:#ff8e8e;line-height:1.4}.login-button{background:linear-gradient(135deg,#5865f2,#9b59ff);border:0;border-radius:999px;box-shadow:0 10px 28px #5865f259;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:14px;padding:12px 22px}.login-button:hover{filter:brightness(1.08)}:root{--viz-bg:#050509;--viz-panel:#12121deb;--viz-panel-2:#1d1c2beb;--viz-line:#b47dff3d;--viz-purple:#9a5cff;--viz-pink:#ff4fd8;--viz-cyan:#60e7ff;--viz-gold:#ffd166;--viz-text:#f7f3ff;--viz-muted:#a8a2b8;--viz-danger:#ff4976;--viz-good:#7cffb2}*{box-sizing:border-box}body{background:#050509;background:var(--viz-bg)}.dash-root{background:radial-gradient(circle at 20% 0,#794aff3d,#0000 34%),radial-gradient(circle at 85% 15%,#ff4fd824,#0000 30%),linear-gradient(180deg,#050509,#020204);color:#f7f3ff;color:var(--viz-text);min-height:100vh;padding:26px}.dash-header{gap:20px;justify-content:space-between;margin-bottom:22px}.dash-brand,.dash-header{align-items:center;display:flex}.dash-brand{gap:18px;text-align:left}.dash-brand img{filter:drop-shadow(0 0 18px rgba(154,92,255,.52));max-height:78px;object-fit:contain;width:132px}.dash-brand h1{font-size:clamp(1.8rem,3vw,3.2rem);letter-spacing:-.04em;margin:0 0 4px}.dash-brand p{color:#a8a2b8;color:var(--viz-muted);margin:0;max-width:720px}.dash-userbox{align-items:center;background:#ffffff0f;border:1px solid #ffffff1c;border-radius:16px;display:flex;gap:10px;padding:10px}.dash-avatar{border:1px solid #ffffff2e;border-radius:50%;height:46px;width:46px}.dash-copy,.dash-donate,.dash-empty-state button,.dash-logout,.dash-pager button,.dash-view-toggle button{background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;color:#f7f3ff;color:var(--viz-text);cursor:pointer;font-weight:800;letter-spacing:.06em;padding:10px 14px;text-transform:uppercase}.dash-donate{background:linear-gradient(135deg,#9a5cff,#ff4fd8);background:linear-gradient(135deg,var(--viz-purple),var(--viz-pink));border:0;box-shadow:0 0 26px #9a5cff47}.dash-logout{border-color:#ff497673;color:#ff8dab}.dash-stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.dash-command-panel,.dash-control-deck,.dash-empty-state,.dash-library,.dash-loading,.dash-spotlight,.dash-stat-card{background:#12121deb;background:var(--viz-panel);border:1px solid #b47dff3d;border:1px solid var(--viz-line);border-radius:18px;box-shadow:0 18px 60px #00000052}.dash-stat-card{min-height:112px;overflow:hidden;padding:18px;position:relative;text-align:left}.dash-stat-card:after{background:radial-gradient(circle,#9a5cff6b,#0000 70%);content:"";height:90px;position:absolute;right:-40px;top:-40px;width:90px}.dash-stat-label{color:#a8a2b8;color:var(--viz-muted);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase}.dash-stat-value{color:#fff;font-size:clamp(1.3rem,2.1vw,2rem);font-weight:900;line-height:1;margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-stat-hint{color:#a8a2b8;color:var(--viz-muted);font-size:.86rem;margin-top:10px}.dash-control-deck{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(130px,1fr)) auto;margin-bottom:18px;padding:16px}.dash-control-deck label,.dash-search-wrap{color:#a8a2b8;color:var(--viz-muted);display:flex;flex-direction:column;font-size:.78rem;gap:7px;letter-spacing:.1em;text-align:left;text-transform:uppercase}.dash-control-deck input,.dash-control-deck select{background:#0000005c;border:1px solid #ffffff21;border-radius:12px;color:#f7f3ff;color:var(--viz-text);outline:none;padding:12px;width:100%}.dash-control-deck input:focus,.dash-control-deck select:focus{border-color:#9a5cffcc;box-shadow:0 0 0 3px #9a5cff2e}.dash-view-toggle{display:flex;gap:8px}.dash-view-toggle button.active{background:#9a5cff52;border-color:#9a5cffbf}.dash-main-grid{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.dash-spotlight{padding:18px;position:-webkit-sticky;position:sticky;text-align:left;top:16px}.dash-spotlight-art{align-items:center;background:radial-gradient(circle at 50% 30%,#9a5cff29,#0000 62%);border:1px solid #ffffff14;border-radius:16px;display:flex;justify-content:center;min-height:440px;overflow:hidden}.dash-card-art-large{border-radius:14px;box-shadow:0 30px 80px #00000075;max-height:440px;max-width:100%}.dash-card-placeholder,.dash-card-placeholder-large{background:linear-gradient(160deg,#131424,#050509 54%,#2d1433);border:1px solid #9a5cff85;border-radius:14px;color:#f7f3ff;color:var(--viz-text);display:flex;flex-direction:column;justify-content:space-between;padding:18px;text-align:left}.dash-card-placeholder-large{height:390px;width:270px}.dash-card-placeholder{height:190px;width:100%}.dash-card-placeholder span,.dash-card-placeholder-large span{color:#60e7ff;color:var(--viz-cyan);font-family:monospace;letter-spacing:.1em}.dash-card-placeholder strong,.dash-card-placeholder-large strong{font-size:1.2rem}.dash-card-placeholder em,.dash-card-placeholder-large em{color:#ffd166;color:var(--viz-gold);font-size:.72rem;font-style:normal;letter-spacing:.14em;text-transform:uppercase}.dash-spotlight-info h2{font-size:2rem;line-height:1;margin:16px 0 6px}.dash-spotlight-info p{color:#a8a2b8;color:var(--viz-muted);margin:0 0 14px}.dash-id-line{color:#60e7ff;color:var(--viz-cyan);display:flex;font-family:monospace;justify-content:space-between;letter-spacing:.08em;margin-top:16px}.dash-id-line strong{color:#ffd166;color:var(--viz-gold)}.dash-value-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:14px 0}.dash-detail-list div,.dash-value-grid span{background:hsla(0,0%,100%,.055);border:1px solid #ffffff14;border-radius:12px;padding:12px}.dash-value-grid b{display:block;font-size:1.22rem}.dash-value-grid em{color:#a8a2b8;color:var(--viz-muted);display:block;font-size:.76rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase}.dash-detail-list{grid-gap:8px;display:grid;gap:8px}.dash-detail-list div{color:#a8a2b8;color:var(--viz-muted);display:flex;gap:10px;justify-content:space-between}.dash-detail-list b{color:#f7f3ff;color:var(--viz-text)}.dash-copy{background:#60e7ff21;border-color:#60e7ff6b;margin-top:14px;width:100%}.dash-library{padding:16px}.dash-library-head{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px;text-align:left}.dash-library-head h2{margin:0 0 4px}.dash-library-head p{color:#a8a2b8;color:var(--viz-muted);margin:0}.dash-pager{align-items:center;display:flex;gap:8px}.dash-pager button:disabled{cursor:not-allowed;opacity:.35}.dash-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.dash-card-tile{background:hsla(0,0%,100%,.045);border:1px solid #ffffff17;border-radius:16px;color:#f7f3ff;color:var(--viz-text);cursor:pointer;display:flex;flex-direction:column;gap:10px;min-height:310px;padding:10px;position:relative;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;width:100%}.dash-card-tile.selected,.dash-card-tile:hover{border-color:#9a5cffdb;box-shadow:0 0 0 3px #9a5cff2e,0 14px 40px #00000057;transform:translateY(-2px)}.dash-rank-chip{background:#000000b8;border:1px solid #ffffff24;border-radius:999px;color:#ffd166;color:var(--viz-gold);font-size:.72rem;font-weight:900;left:8px;padding:5px 7px;position:absolute;top:8px;z-index:1}.dash-card-art{background:#020204;border-radius:12px;height:190px;object-fit:contain;width:100%}.dash-card-tile-body span,.dash-card-tile-body strong{display:block}.dash-card-tile-body strong{font-size:.95rem;line-height:1.05}.dash-card-tile-body>span{color:#a8a2b8;color:var(--viz-muted);font-size:.78rem;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-card-meta-row{color:#60e7ff;color:var(--viz-cyan);display:flex;font-family:monospace;font-size:.76rem;justify-content:space-between;margin-top:10px}.dash-table{grid-gap:8px;display:grid;gap:8px}.dash-table-row{grid-gap:10px;align-items:center;background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;color:#f7f3ff;color:var(--viz-text);cursor:pointer;display:grid;gap:10px;grid-template-columns:60px 90px minmax(160px,1.2fr) minmax(160px,1fr) 80px 90px;padding:12px;text-align:left;width:100%}.dash-table-row.head{background:#0000;color:#a8a2b8;color:var(--viz-muted);cursor:default;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}.dash-table-row.selected,.dash-table-row:hover:not(.head){border-color:#9a5cffd1}.dash-table-row .id,.dash-table-row .rank,.dash-table-row .wishlist{font-family:monospace}.dash-table-row .image.ok{color:#7cffb2;color:var(--viz-good)}.dash-table-row .image.pending{color:#ffd166;color:var(--viz-gold)}.dash-command-panel{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-top:18px;padding:18px;text-align:left}.dash-command-panel h2{margin:0 0 4px}.dash-command-panel p{color:#a8a2b8;color:var(--viz-muted);margin:0}.dash-command-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dash-command-list code{background:#0000006b;border:1px solid #ffffff1a;border-radius:999px;color:#60e7ff;color:var(--viz-cyan);padding:9px 12px}.dash-empty-state,.dash-loading{padding:46px;text-align:center}.dash-empty-state.compact{padding:28px}.dash-empty-state h2,.dash-loading h2{margin:12px 0 6px}.dash-empty-state p,.dash-loading p{color:#a8a2b8;color:var(--viz-muted)}.dash-spinner{animation:viz-spin .8s linear infinite;border:4px solid #ffffff1f;border-radius:50%;border-top:4px solid var(--viz-purple);height:42px;margin:0 auto;width:42px}@keyframes viz-spin{to{transform:rotate(1turn)}}@media (max-width:1180px){.dash-control-deck,.dash-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-main-grid{grid-template-columns:1fr}.dash-spotlight{grid-gap:18px;display:grid;gap:18px;grid-template-columns:330px minmax(0,1fr);position:relative;top:auto}.dash-spotlight-art{min-height:360px}.dash-card-art-large{max-height:360px}}@media (max-width:760px){.dash-root{padding:14px}.dash-brand,.dash-command-panel,.dash-header,.dash-userbox{align-items:stretch;flex-direction:column}.dash-brand{text-align:center}.dash-brand img{margin:0 auto}.dash-control-deck,.dash-main-grid,.dash-spotlight,.dash-stats-grid{grid-template-columns:1fr}.dash-library-head{align-items:stretch;flex-direction:column}.dash-table-row{grid-template-columns:45px 70px 1fr}.dash-table-row .image,.dash-table-row .series,.dash-table-row .wishlist{display:none}.dash-card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.dash-command-list{justify-content:flex-start}}.dash-inventory-panel{background:linear-gradient(135deg,#12121df0,#241537db);border:1px solid #60e7ff33;border-radius:18px;box-shadow:0 18px 60px #00000052;margin-bottom:18px;padding:18px;text-align:left}.dash-inventory-head{align-items:start;display:flex;gap:18px;justify-content:space-between;margin-bottom:14px}.dash-inventory-head h2{margin:0 0 4px}.dash-inventory-head p{color:#a8a2b8;color:var(--viz-muted);margin:0}.dash-inventory-empty code,.dash-inventory-head code{background:#00000059;border-radius:6px;color:#60e7ff;color:var(--viz-cyan);padding:2px 6px}.dash-inventory-score{background:#00000047;border:1px solid #60e7ff40;border-radius:14px;min-width:120px;padding:12px;text-align:center}.dash-inventory-score span{color:#60e7ff;color:var(--viz-cyan);display:block;font-size:1.8rem;font-weight:900}.dash-inventory-score em{color:#a8a2b8;color:var(--viz-muted);font-size:.72rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase}.dash-inventory-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.dash-inventory-metrics div{background:hsla(0,0%,100%,.055);border:1px solid #ffffff14;border-radius:14px;padding:12px}.dash-inventory-metrics b{color:#ffd166;color:var(--viz-gold);display:block;font-size:1.32rem}.dash-inventory-metrics span{color:#a8a2b8;color:var(--viz-muted);display:block;font-size:.78rem;letter-spacing:.1em;margin-top:4px;text-transform:uppercase}.dash-inventory-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.dash-inventory-categories span{background:#60e7ff14;border:1px solid #60e7ff33;border-radius:999px;color:#a8a2b8;color:var(--viz-muted);padding:7px 10px}.dash-inventory-categories b{color:#f7f3ff;color:var(--viz-text)}.dash-inventory-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.dash-inventory-item{grid-gap:10px;align-items:center;background:#0000003d;border:1px solid hsla(0,0%,100%,.075);border-radius:14px;display:grid;gap:10px;grid-template-columns:36px minmax(0,1fr) auto;padding:10px}.dash-inventory-item .emoji{font-size:1.3rem}.dash-inventory-item .item-main b,.dash-inventory-item .item-main em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-inventory-item .item-main em{color:#a8a2b8;color:var(--viz-muted);font-family:monospace;font-size:.78rem;font-style:normal}.dash-inventory-item .amount{color:#ffd166;color:var(--viz-gold);font-family:monospace;font-weight:900}.dash-inventory-empty{border:1px dashed #ffffff2e;border-radius:14px;color:#a8a2b8;color:var(--viz-muted);padding:16px}@media (max-width:1180px){.dash-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.dash-inventory-head{flex-direction:column}.dash-inventory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-inventory-list{grid-template-columns:1fr}}:focus{outline:0}.vizbot-empty-carousel{background:radial-gradient(circle at top,#1b1d35 0,#050506 65%);border:1px solid #262a44;border-radius:12px;box-shadow:0 0 28px #5466ff24;color:#f4f4f4;max-width:750px;min-height:260px;padding:42px}.vizbot-card-placeholder{background:linear-gradient(160deg,#111421,#050506 55%,#211126);border:1px solid #7b87ff8c;border-radius:12px;box-shadow:inset 0 0 32px #ffffff0a,0 0 28px #794aff38;box-sizing:border-box;color:#f5f5ff;display:flex;flex-direction:column;height:320px;justify-content:space-between;padding:18px;text-align:left;width:220px}.vizbot-card-id{color:#95a6ff;font-family:monospace;font-size:18px;letter-spacing:.08em}.vizbot-card-character{font-size:22px;font-weight:800;line-height:1.1}.vizbot-card-collection{color:#c7c9d8;font-size:14px}.vizbot-card-missing{color:#ffcc7a;font-size:12px;letter-spacing:.15em;text-transform:uppercase}.UpperUpper{align-items:center;display:flex;flex-direction:column}.UpperBody{align-items:flex-start;align-self:"stretch";display:flex;justify-content:space-between;width:90vw}.FeedContainer{justify-self:"flex-start"}.FeedContainer,.FilterCard{display:"flex";flex-direction:"column"}.FilterCard{align-items:"center";justify-content:"space-evenly"}.Carousel{display:flex;margin-right:10vw;width:700px}@media(max-width:700px){.UpperBody{align-items:center;align-self:center;display:flex;flex-direction:column;justify-content:flex-start}.UpperBody :first-child{order:2}.UpperBody :nth-child(2){order:3}.UpperBody :nth-child(3){order:1}.FeedContainer{flex-direction:row;flex-wrap:wrap;margin-top:15px}.FilterBtnsContainer{align-items:center;display:flex;justify-content:center;margin-top:20px}.FilterCard{display:flex;flex-direction:column;height:auto;width:350px}.FilterTop{justify-content:space-around}.FilterBtns,.FilterTop{align-items:center;display:flex;flex-direction:row}.FilterBtns{flex-wrap:wrap;justify-content:space-evenly}}