.store-shell{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0;background:var(--bg)}.store-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;gap:18px;flex-wrap:wrap}.store-title-text{font-family:Bebas Neue,sans-serif;font-size:22px;letter-spacing:7px;color:var(--accent2);text-shadow:0 0 14px rgba(0,255,127,.3)}.store-title-sub{font-size:9px;letter-spacing:2px;color:var(--label);text-transform:uppercase;margin-top:3px}.store-header-controls{display:flex;gap:8px;align-items:center}.store-search{font-family:DM Mono,monospace;font-size:10px;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:6px 10px;outline:none;letter-spacing:1px;width:220px;border-radius:var(--r-sm)}.store-search:focus{border-color:var(--accent2)}.store-sort{font-family:DM Mono,monospace;font-size:9px;background:var(--bg);color:var(--text);border:1px solid var(--border);padding:6px 10px;outline:none;letter-spacing:1px;cursor:pointer;border-radius:var(--r-sm)}.store-sort:focus{border-color:var(--accent2)}.store-grid{flex:1;overflow-y:auto;padding:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;align-content:start;min-height:0}.store-grid::-webkit-scrollbar{width:6px}.store-grid::-webkit-scrollbar-track{background:transparent}.store-grid::-webkit-scrollbar-thumb{background:var(--border2);border-radius:var(--r-pill)}.store-loading,.store-empty,.store-error{grid-column:1 / -1;text-align:center;padding:60px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--border2)}.store-error{color:var(--danger)}.store-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);overflow:hidden;transition:border-color var(--trans),transform var(--trans);border-radius:var(--r-sm)}.store-card:hover{border-color:var(--accent2);transform:translateY(-1px)}.store-card.owned{opacity:.62;border-color:var(--accent)}.store-card-thumb{height:110px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative}.store-card-thumb-mark{font-family:Bebas Neue,sans-serif;font-size:38px;letter-spacing:6px;text-shadow:0 0 14px currentColor}.store-card-body{flex:1;display:flex;flex-direction:column;gap:6px;padding:12px 14px 8px}.store-card-title{font-size:12px;letter-spacing:1.5px;color:var(--text);font-family:DM Mono,monospace;font-weight:500}.store-card-seller{font-size:8px;letter-spacing:1px;color:var(--label);text-transform:lowercase}.store-card-desc{font-size:9px;letter-spacing:.5px;color:var(--text2);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.store-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.store-tag{font-size:7px;letter-spacing:1px;text-transform:uppercase;color:var(--label);border:1px solid var(--border2);padding:2px 5px;background:var(--bg);border-radius:var(--r-pill)}.store-card-footer{border-top:1px solid var(--border);padding:8px 10px;background:var(--bg)}.store-buy{width:100%;font-family:DM Mono,monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:8px 10px;border:1px solid var(--accent2);color:var(--accent2);background:#00ff7f0d;cursor:pointer;transition:all var(--trans);border-radius:var(--r-sm)}.store-buy:hover{background:#00ff7f26}.store-buy:disabled{opacity:.5;cursor:default}.store-buy.owned{border-color:var(--accent);color:var(--accent);background:transparent}.buy-overlay{display:none;position:fixed;inset:0;background:#060a06db;backdrop-filter:blur(5px);z-index:100000;align-items:center;justify-content:center;padding:20px}.buy-overlay.visible{display:flex}.buy-modal{background:var(--surface);border:1px solid var(--border2);width:420px;max-width:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-float);border-radius:var(--r-lg)}.buy-thumb{height:130px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.buy-thumb-mark{font-family:Bebas Neue,sans-serif;font-size:50px;letter-spacing:8px;text-shadow:0 0 18px currentColor}.buy-body{padding:22px 26px 20px;display:flex;flex-direction:column;gap:6px}.buy-title{font-family:Bebas Neue,sans-serif;font-size:22px;letter-spacing:4px;color:var(--text)}.buy-seller{font-size:9px;letter-spacing:1.5px;color:var(--label);text-transform:lowercase;margin-bottom:4px}.buy-desc{font-size:10px;letter-spacing:.5px;color:var(--text2);line-height:1.6;margin-bottom:12px}.buy-ledger{border-top:1px solid var(--border);padding-top:14px;margin-bottom:18px;display:flex;flex-direction:column;gap:6px}.buy-ledger-row{display:flex;justify-content:space-between;align-items:baseline;font-family:DM Mono,monospace}.buy-ledger-label{font-size:8px;letter-spacing:2px;color:var(--label);text-transform:uppercase}.buy-ledger-val{font-size:12px;letter-spacing:1.5px;color:var(--text);font-variant-numeric:tabular-nums}.buy-ledger-val.price{color:var(--warn)}.buy-ledger-row.total{margin-top:4px;padding-top:8px;border-top:1px dashed var(--border)}.buy-ledger-val.after{font-size:14px;color:var(--accent2);text-shadow:0 0 8px rgba(0,255,127,.35)}.buy-actions{display:flex;gap:8px}.buy-btn{flex:1;font-family:DM Mono,monospace;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;padding:11px;border:1px solid var(--border);background:transparent;color:var(--label);cursor:pointer;transition:all var(--trans);border-radius:var(--r-sm)}.buy-btn:hover{border-color:var(--accent2);color:var(--accent2)}.buy-btn.primary{border-color:var(--accent2);color:var(--accent2);background:#00ff7f14}.buy-btn.primary:hover{background:#00ff7f2e}.dup-modal{max-width:460px}.dup-options{display:flex;flex-direction:column;gap:8px;margin:14px 0 16px}.dup-opt{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-sm);background:transparent;cursor:pointer;transition:all var(--trans)}.dup-opt:hover{border-color:var(--accent2);background:#00ff7f0f}.dup-opt.danger:hover{border-color:#ff5a5a;background:#ff5a5a12}.dup-opt-main{font-family:DM Mono,monospace;font-size:12px;letter-spacing:1px;color:var(--text)}.dup-opt:hover .dup-opt-main{color:var(--accent2)}.dup-opt.danger:hover .dup-opt-main{color:#ff7a7a}.dup-opt-sub{font-size:11px;line-height:1.45;color:var(--label)}.toast-host{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:600;pointer-events:none;align-items:flex-end}.toast{font-family:DM Mono,monospace;font-size:10px;letter-spacing:1px;padding:11px 16px;border:1px solid var(--border2);background:var(--surface);color:var(--text);max-width:360px;pointer-events:auto;opacity:0;transform:translate(20px);transition:opacity .2s,transform .2s;cursor:pointer;box-shadow:var(--shadow-md);user-select:none;border-radius:var(--r-md)}.toast.toast-in{opacity:1;transform:translate(0)}.toast.toast-out{opacity:0;transform:translate(20px)}.toast.toast-success{border-color:var(--accent2);color:var(--accent2);background:#00ff7f0f}.toast.toast-error{border-color:var(--danger);color:var(--danger);background:#ff4d0014}.toast.toast-info{border-color:var(--accent);color:var(--accent);background:#00e5ff0f}.toast.toast-action{cursor:default;display:flex;flex-direction:column;gap:9px}.toast.toast-action .toast-msg{cursor:pointer;line-height:1.5}.toast.toast-action .toast-actions{display:flex;gap:6px;flex-wrap:wrap}.toast.toast-action .toast-btn{font-family:DM Mono,monospace;font-size:9px;letter-spacing:1px;padding:5px 10px;cursor:pointer;border-radius:var(--r-xs);color:var(--text);background:var(--bg);border:1px solid var(--border2)}.toast.toast-action .toast-btn:hover{border-color:var(--accent2);color:var(--accent2)}.toast.toast-action .toast-btn-primary{color:var(--bg);background:var(--accent2);border-color:var(--accent2);font-weight:600}.toast.toast-action .toast-btn-primary:hover{color:var(--bg);filter:brightness(1.1)}.toast.toast-action .toast-btn-danger{color:#ff6b6b;border-color:#ff464666}.toast.toast-action .toast-btn-danger:hover{color:#ff6b6b;border-color:#f54;background:#ff46461a}
