*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--surface:#1c1c2e;--surface-2:#252540;--border:#2e2e50;--text:#e0e0f0;--text-muted:#7878a0;--text-dim:#4a4a6a;--owned-green:#22c55e;--owned-bg:#22c55e14;--reverse-blue:#60a5fa;--reverse-bg:#60a5fa14;--shadow:0 4px 16px #0006;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}body,#root{min-height:100vh}button{cursor:pointer;font-family:inherit;font-size:inherit}img{display:block}.home{flex-direction:column;align-items:center;gap:40px;padding:48px 24px;display:flex}.home-header{text-align:center}.home-header-user{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.home-header-user p{margin-top:0}.switch-user-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:4px 12px;font-size:.75rem;transition:color .15s,border-color .15s}.switch-user-btn:hover{color:var(--text);border-color:var(--text-muted)}.user-selector{flex-direction:column;align-items:center;gap:32px;min-height:100dvh;padding:60px 24px 40px;display:flex}.user-list{flex-direction:column;gap:10px;width:100%;max-width:360px;display:flex}.user-row{align-items:center;gap:8px;display:flex}.user-play-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;border-radius:12px;flex:1;padding:14px 20px;font-size:1.05rem;font-weight:600;transition:background .15s,border-color .15s}.user-play-btn:hover{background:var(--surface-2);border-color:var(--owned-green)}.user-delete-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;padding:10px 14px;font-size:.8rem;transition:color .15s,border-color .15s,background .15s}.user-delete-btn:hover{color:#f66;background:#ff505014;border-color:#f66}.user-empty{color:var(--text-muted);text-align:center;font-size:.9rem}.user-create{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:360px;display:flex}.user-create-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;padding:12px 16px;font-size:.95rem}.user-create-input:focus{border-color:var(--owned-green);outline:none}.user-create-btn{background:var(--owned-green);color:#000;cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px 32px;font-size:.95rem;font-weight:600}.user-create-error{color:#f66;font-size:.82rem}.home-header h1{color:var(--text);letter-spacing:-.5px;font-size:2.4rem;font-weight:700}.home-header p{color:var(--text-muted);margin-top:8px;font-size:1rem}.set-list{grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:900px;display:grid}@media (width<=720px){.home{gap:28px;padding:32px 16px}.home-header h1{font-size:1.8rem}.set-list{grid-template-columns:1fr;max-width:360px}}.set-card{background:var(--surface);border:2px solid var(--border);color:inherit;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:20px 16px;transition:border-color .2s,transform .15s,box-shadow .2s;display:flex}.set-card:hover{border-color:var(--set-color,#888);transform:translateY(-4px);box-shadow:0 8px 24px #0006}.set-logo{object-fit:contain;width:100%;height:56px}.set-card-info{flex-direction:column;align-items:center;gap:4px;display:flex}.set-name-row{align-items:center;gap:6px;display:flex}.set-symbol{object-fit:contain;filter:invert();opacity:.9;flex-shrink:0;width:auto;height:18px}.set-name-fr{color:var(--text);font-size:1.1rem;font-weight:600}.set-name-en{color:var(--text-muted);font-size:.8rem}.set-owned-hint{color:var(--owned-green);margin-top:2px;font-size:.72rem}.set-owned-value{color:var(--text-muted);font-size:.72rem;font-weight:600}.set-card-progress-bar{background:var(--surface-2);border-radius:99px;width:100%;height:5px;margin-top:4px;overflow:hidden}.set-card-progress-fill{border-radius:99px;min-width:2px;height:100%;transition:width .4s}.home-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px;font-size:.9rem;display:flex}.view-all-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:10px;padding:10px 28px;font-size:.88rem;transition:color .15s,border-color .15s,background .15s}.view-all-btn:hover{color:var(--text);border-color:var(--text-muted);background:var(--surface)}.home-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.import-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:10px;padding:10px 20px;font-size:.82rem;transition:color .15s,border-color .15s,background .15s}.import-btn:hover{color:var(--text);border-color:var(--text-muted);background:var(--surface)}.export-btn{border:1px solid var(--owned-green);color:var(--owned-green);background:0 0;border-radius:10px;padding:10px 20px;font-size:.82rem;transition:color .15s,border-color .15s,background .15s}.export-btn:hover{background:var(--owned-green);color:#000}.import-backup-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:10px;padding:10px 20px;font-size:.82rem;transition:color .15s,border-color .15s,background .15s}.import-backup-btn:hover{color:var(--text);border-color:var(--text-muted);background:var(--surface)}.scan-fab{background:var(--surface-2);border:2px solid var(--border);z-index:50;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 20px #00000080}.scan-fab:hover{border-color:var(--text-muted);transform:scale(1.08);box-shadow:0 6px 28px #0009}@media (width<=540px){.scan-fab{width:50px;height:50px;font-size:1.3rem;bottom:20px;right:16px}}.all-sets-page{flex-direction:column;min-height:100vh;display:flex}.all-sets-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.all-sets-title{color:var(--text);flex:1;font-size:1.1rem;font-weight:700}.all-sets-count{color:var(--text-dim);font-size:.8rem}.all-sets-search-wrap{align-self:center;width:100%;max-width:560px;padding:12px 20px 0;position:relative}.all-sets-search{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:9px 36px 9px 14px;font-size:.88rem;transition:border-color .15s}.all-sets-search:focus{border-color:var(--text-muted)}.all-sets-search::placeholder{color:var(--text-dim)}.all-sets-search-clear{color:var(--text-dim);background:0 0;border:none;margin-top:6px;padding:4px;font-size:.75rem;transition:color .12s;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.all-sets-search-clear:hover{color:var(--text-muted)}.all-sets-content{flex-direction:column;gap:32px;padding:20px;display:flex}.all-sets-series-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;border-left:3px solid var(--border);margin-bottom:12px;padding-left:8px;font-size:.78rem;font-weight:700}.all-sets-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}@media (width<=540px){.all-sets-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:7px}.all-sets-content{gap:24px;padding:12px}.all-sets-search-wrap{padding:10px 12px 0}}.all-set-card{background:var(--surface);border:2px solid var(--border);color:inherit;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:14px 12px 10px;transition:border-color .2s,transform .15s,box-shadow .15s;display:flex;position:relative}.all-set-card:hover{border-color:var(--set-color,#888);transform:translateY(-3px);box-shadow:0 6px 20px #0006}.all-set-logo{object-fit:contain;max-width:100%;height:52px}.all-set-name-row{justify-content:center;align-items:center;gap:5px;display:flex}.all-set-symbol{object-fit:contain;filter:invert();opacity:.85;flex-shrink:0;width:auto;height:16px}.all-set-info{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.all-set-name{color:var(--text);font-size:.82rem;font-weight:600;line-height:1.3}.all-set-name-en{color:var(--text-dim);font-size:.68rem}.all-set-meta{color:var(--text-dim);margin-top:2px;font-size:.66rem}.all-set-owned-badge{background:var(--owned-green);color:#000;border-radius:99px;padding:1px 5px;font-size:.6rem;font-weight:700;line-height:1.6;position:absolute;top:6px;right:6px}.set-page{flex-direction:column;min-height:100vh;display:flex}.set-header{background:var(--surface);border-bottom:3px solid var(--border);z-index:100;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.back-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:8px;flex-shrink:0;padding:6px 14px;font-size:.85rem;transition:color .15s,border-color .15s}.back-btn:hover{color:var(--text);border-color:var(--text-muted)}.set-title-block{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.set-header-logo{object-fit:contain;flex-shrink:0;height:36px}.set-title-text{min-width:0}.set-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1.2rem;font-weight:700;line-height:1;overflow:hidden}.set-subtitle{color:var(--text-muted);margin-top:2px;font-size:.72rem;display:block}.scan-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:8px;flex-shrink:0;padding:6px 14px;font-size:.82rem;transition:color .15s,border-color .15s,background .15s}.scan-btn:hover{color:var(--text);border-color:var(--text-muted);background:var(--surface-2)}@media (width<=540px){.scan-btn{padding:5px 10px;font-size:.76rem}}.view-toggle{border:1px solid var(--border);border-radius:8px;flex-shrink:0;display:flex;overflow:hidden}.view-btn{color:var(--text-muted);background:0 0;border:none;padding:6px 16px;font-size:.82rem;transition:background .15s,color .15s}.view-btn.active{background:var(--surface-2);color:var(--text);font-weight:600}@media (width<=540px){.set-header{gap:10px;padding:10px 12px}.set-header-logo{display:none}.set-title{font-size:1rem}.view-btn{padding:5px 12px;font-size:.78rem}}.set-content{flex-direction:column;gap:16px;padding:16px 20px;display:flex}@media (width<=540px){.set-content{gap:12px;padding:12px}}.set-progress{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.progress-stats{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.progress-count{color:var(--text);font-size:1rem;font-weight:600}.progress-percent{color:var(--owned-green);font-size:.85rem;font-weight:600}.progress-owned-value{color:var(--owned-green);font-size:.82rem}.progress-owned-value strong{color:var(--owned-green)}.progress-missing{color:var(--text-muted);margin-left:auto;font-size:.82rem}.progress-missing strong{color:var(--text)}.progress-bar{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.progress-fill{background:var(--owned-green);border-radius:99px;height:100%;transition:width .4s}.rarity-filter{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.rarity-filter::-webkit-scrollbar{display:none}.rarity-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:99px;flex-shrink:0;padding:5px 13px;font-size:.76rem;transition:background .15s,color .15s,border-color .15s}.rarity-btn:hover{color:var(--text);border-color:var(--text-dim)}.rarity-btn.active{background:var(--surface-2);border-color:var(--text-muted);color:var(--text);font-weight:600}.search-sort-bar{align-items:center;gap:8px;display:flex}.card-search-wrap{flex:1;position:relative}.card-search{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:8px 32px 8px 12px;font-size:.85rem;transition:border-color .15s}.card-search:focus{border-color:var(--text-muted)}.card-search::placeholder{color:var(--text-dim)}.card-search-clear{color:var(--text-dim);background:0 0;border:none;padding:2px 4px;font-size:.72rem;transition:color .12s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.card-search-clear:hover{color:var(--text-muted)}.sort-select{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:10px;outline:none;flex-shrink:0;padding:8px 10px;font-family:inherit;font-size:.82rem;transition:border-color .15s}.sort-select:focus{border-color:var(--text-muted)}@media (width<=540px){.card-search{padding:7px 28px 7px 10px;font-size:.8rem}.sort-select{padding:7px 8px;font-size:.76rem}}.owned-only-label{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.85rem;display:flex}.owned-only-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--owned-green);cursor:pointer;flex-shrink:0}.owned-only-label:has(input:checked){color:var(--owned-green)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}@media (width<=540px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}}.card-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.card-item:hover{border-color:var(--text-dim);box-shadow:var(--shadow)}.card-item.fully-owned{border-color:var(--owned-green);background:var(--owned-bg)}.card-img-wrapper{cursor:zoom-in;background:#111128;position:relative}.card-img{aspect-ratio:245/342;object-fit:cover;width:100%}.owned-badge{background:var(--owned-green);color:#000;border-radius:99px;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;font-weight:700;display:flex;position:absolute;top:5px;right:5px}.card-info{flex-direction:column;gap:1px;padding:5px 7px 3px;display:flex}.card-number{color:var(--text-dim);font-size:9px}.card-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.card-variants{flex-direction:column;gap:3px;margin-top:auto;padding:3px 7px 7px;display:flex}.variant-row{cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:3px 4px;transition:background .12s;display:flex}.variant-row:hover{background:var(--surface-2)}.variant-row.owned{background:var(--owned-bg)}.reverse-row.owned{background:var(--reverse-bg)}.variant-row input[type=checkbox]{width:13px;height:13px;accent-color:var(--owned-green);cursor:pointer;flex-shrink:0}.reverse-row input[type=checkbox]{accent-color:var(--reverse-blue)}.variant-label{color:var(--text-muted);flex:1;font-size:10px}.variant-row.owned .variant-label{color:var(--owned-green)}.reverse-row.owned .variant-label{color:var(--reverse-blue)}.variant-price{color:var(--text-dim);white-space:nowrap;font-feature-settings:"tnum";font-size:10px}.variant-row.owned .variant-price{color:var(--text-muted)}.lightbox{z-index:999;cursor:zoom-out;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:fixed;inset:0}.lightbox-img{border-radius:12px;max-width:100%;max-height:85vh;box-shadow:0 0 60px #000c}.lightbox-name{color:var(--text-muted);font-size:.9rem}.binder-view{flex-direction:column;align-items:center;gap:16px;display:flex}.binder-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.binder-size-selector{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.binder-size-label{color:var(--text-muted);font-size:.82rem}.binder-size-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:5px 14px;font-size:.8rem;transition:background .15s,color .15s,border-color .15s}.binder-size-btn:hover{color:var(--text);border-color:var(--text-dim)}.binder-size-btn.active{background:var(--surface-2);border-color:var(--text-muted);color:var(--text);font-weight:600}.binder-owned-count{color:var(--text-muted);font-size:.82rem}.binder-grid{grid-template-columns:repeat(var(--binder-cols,3), 1fr);background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:6px;width:100%;max-width:700px;padding:12px;display:grid}@media (width<=540px){.binder-grid{gap:4px;padding:8px}.binder-grid[style*="--binder-cols: 4"]{grid-template-columns:repeat(3,1fr)}}.binder-slot{aspect-ratio:245/342;cursor:pointer;background:var(--surface-2);border-radius:6px;transition:transform .12s,box-shadow .12s;position:relative;overflow:hidden}.binder-slot:hover{z-index:1;transform:scale(1.04);box-shadow:0 4px 12px #00000080}.binder-slot-empty{border:1px dashed var(--border);cursor:default}.binder-slot-empty:hover{box-shadow:none;transform:none}.binder-slot.slot-owned{box-shadow:0 0 0 2px var(--owned-green)}.binder-slot.slot-missing{opacity:.38}.binder-slot.slot-missing:hover{opacity:.65}.binder-card-img{object-fit:cover;width:100%;height:100%}.binder-missing-overlay{background:#0f111773;position:absolute;inset:0}.binder-variant-badge{border-radius:4px;padding:1px 4px;font-size:.6rem;font-weight:700;line-height:1.4;position:absolute;top:4px;right:4px}.binder-badge-normal{color:#000;background:#60a5fad9}.binder-badge-reverse{color:#fff;background:#a855f7d9}.binder-nav{align-items:center;gap:20px;display:flex}.binder-nav-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 20px;font-size:1.1rem;transition:background .15s,opacity .15s}.binder-nav-btn:hover{background:var(--surface-2)}.binder-nav-btn:disabled{opacity:.3;cursor:default}.binder-page-info{color:var(--text);text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:140px;font-size:.88rem;font-weight:600;display:flex}.binder-page-range{color:var(--text-muted);font-size:.72rem;font-weight:400}.binder-hint{color:var(--text-dim);font-size:.72rem}@media (width<=540px){.binder-hint,.binder-page-range{display:none}}.import-instructions{flex-direction:column;gap:8px;display:flex}.import-step{color:var(--text-muted);align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.4;display:flex}.import-step strong{color:var(--text)}.import-step-num{background:var(--surface-2);border:1px solid var(--border);width:20px;min-width:20px;height:20px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;margin-top:1px;font-size:.68rem;font-weight:700;display:flex}.import-script{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;max-height:100px;padding:10px 12px;font-family:Consolas,Fira Code,monospace;font-size:.65rem;line-height:1.5;overflow-y:auto}.import-textarea{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:8px;outline:none;padding:10px 12px;font-family:monospace;font-size:.78rem;line-height:1.4;transition:border-color .15s}.import-textarea:focus{border-color:var(--text-muted)}.import-textarea::placeholder{color:var(--text-dim)}.import-error{color:#f87171;background:#f8717114;border-radius:8px;padding:8px 12px;font-size:.8rem}.import-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.import-preview-title{color:var(--text-muted);font-size:.82rem}.import-preview-stats{flex-wrap:wrap;gap:16px;display:flex}.import-stat{color:var(--text-muted);font-size:.82rem}.import-stat strong{color:var(--text)}.import-done{color:var(--owned-green);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:8px 0;font-size:.9rem;display:flex}.import-set-picker{flex-direction:column;gap:8px;display:flex}.import-set-search-wrap{flex-direction:column;gap:0;display:flex}.import-set-options{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;gap:2px;max-height:200px;padding:4px;display:flex;overflow-y:auto}.import-set-option{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;transition:background .12s;display:flex}.import-set-option:hover{background:var(--surface)}.import-set-logo{object-fit:contain;flex-shrink:0;height:24px}.import-set-name{flex:1;font-size:.82rem;font-weight:600}.import-set-series{color:var(--text-muted);flex-shrink:0;font-size:.68rem}.scanner-overlay{z-index:200;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.scanner-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:440px;max-height:90vh;padding:20px;display:flex;overflow-y:auto}.scanner-header{justify-content:space-between;align-items:center;display:flex}.scanner-title{color:var(--text);font-size:1.1rem;font-weight:700}.scanner-close-btn{border:1px solid var(--border);color:var(--text-muted);background:0 0;border-radius:8px;padding:4px 10px;font-size:.9rem;transition:color .15s,border-color .15s}.scanner-close-btn:hover{color:var(--text);border-color:var(--text-muted)}.scanner-idle{flex-direction:column;align-items:center;gap:16px;display:flex}.scanner-hint{color:var(--text-muted);text-align:center;font-size:.82rem;line-height:1.4}.scanner-input-row{gap:10px;display:flex}.scanner-action-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 22px;font-size:.88rem;font-weight:600;transition:background .15s,border-color .15s}.scanner-action-btn:hover{background:var(--border)}.scanner-action-btn.secondary{color:var(--text-muted);background:0 0}.scanner-action-btn.secondary:hover{background:var(--surface-2);color:var(--text)}.scanner-preview{object-fit:contain;background:#111128;border-radius:8px;width:100%;max-height:160px}.scanner-status{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;font-size:.88rem;display:flex}.scanner-status.error{color:#f87171}.scanner-results{flex-direction:column;gap:16px;display:flex}.scanner-section-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.scanner-best-card{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:12px;padding:10px;display:flex}.scanner-best-thumb{border-radius:6px;flex-shrink:0;width:72px}.scanner-best-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.scanner-card-num{color:var(--text-dim);font-size:.68rem}.scanner-card-nm{color:var(--text);font-size:.92rem;font-weight:700}.scanner-card-rar{color:var(--text-muted);font-size:.7rem}.scanner-best-btns{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.scanner-vbtn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:6px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.scanner-vbtn:hover{color:var(--text);border-color:var(--text-muted)}.scanner-vbtn.owned{background:var(--owned-bg);border-color:var(--owned-green);color:var(--owned-green)}.scanner-vbtn.reverse{border-color:var(--border)}.scanner-vbtn.reverse.owned{background:var(--reverse-bg);border-color:var(--reverse-blue);color:var(--reverse-blue)}.scanner-vbtn.small{padding:3px 8px;font-size:.72rem}.scanner-alt-list{flex-direction:column;gap:4px;display:flex}.scanner-alt-item{border-radius:8px;align-items:center;gap:10px;padding:6px 8px;transition:background .12s;display:flex}.scanner-alt-item:hover{background:var(--surface-2)}.scanner-alt-thumb{border-radius:4px;flex-shrink:0;width:36px}.scanner-alt-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.scanner-alt-btns{flex-shrink:0;gap:4px;display:flex}.gscanner-result-list{flex-direction:column;gap:2px;max-height:50vh;display:flex;overflow-y:auto}.gscanner-result-item{border-radius:8px;align-items:center;gap:10px;padding:7px 8px;transition:background .12s;display:flex}.gscanner-result-item:hover{background:var(--surface-2)}.gscanner-result-thumb{border-radius:4px;flex-shrink:0;width:44px}.gscanner-result-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.gscanner-result-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.gscanner-result-set{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:.68rem;display:flex;overflow:hidden}.gscanner-set-symbol{object-fit:contain;flex-shrink:0;width:14px;height:14px}.gscanner-result-rarity{color:var(--text-dim);font-size:.63rem}.gscanner-result-btns{flex-shrink:0;gap:4px;display:flex}.scanner-footer{border-top:1px solid var(--border);justify-content:center;padding-top:4px;display:flex}.page-state{min-height:60vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.page-error{color:#f87171}.empty-state{color:var(--text-muted);text-align:center;padding:40px;font-size:.9rem}.spinner{border:3px solid var(--border);border-top:3px solid var(--text-muted);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
