:root{
  --bg:#000; --bg2:#0d0d0f; --card:#141416; --card2:#1e1e21; --line:#26262a;
  --text:#f4f4f5; --muted:#8e8e96; --gold:#e8b94a; --gold2:#f7d57a; --silver:#c3cad6;
  --plat:#9fd3e0; --pall:#d6a6e0; --up:#22e07a; --down:#ff7b7b; --teal:#22d3ee; --radius:16px;
  --safe-b: env(safe-area-inset-bottom, 0px); --safe-t: env(safe-area-inset-top, 0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.4 Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--gold)}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:calc(10px + var(--safe-t)) 16px 10px;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);border-bottom:1px solid #111}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.3px}
.brand img{width:28px;height:28px;border-radius:7px}
.pricechip{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.dot.ok{background:var(--up);box-shadow:0 0 6px var(--up)} .dot.stale{background:var(--gold)} .dot.err{background:var(--down)}
.view{max-width:720px;margin:0 auto;padding:14px 14px calc(90px + var(--safe-b))}
.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-around;background:rgba(10,10,11,.94);backdrop-filter:blur(12px);border-top:1px solid #1a1a1d;padding:6px 0 calc(6px + var(--safe-b))}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);text-decoration:none;font-size:11px;padding:4px}
.tabbar svg{width:22px;height:22px;fill:currentColor}
.tabbar a.active{color:var(--text)} .tabbar a.active svg{fill:var(--teal)}
.tabbar a.addtab svg{background:linear-gradient(135deg,var(--gold2),var(--gold));fill:#1a1405;border-radius:12px;width:40px;height:30px;padding:4px 9px}
h1{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:18px 2px 8px}
h2{font-size:18px;margin:0 0 6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px}
.hero{background:var(--card)}
.hero .label{color:var(--muted);font-size:13px}
.hero .big{font-size:34px;font-weight:750;letter-spacing:-.5px;margin:2px 0}
.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-weight:650;font-size:13px}
.pill.up{background:rgba(34,224,122,.14);color:var(--up)} .pill.down{background:rgba(255,123,123,.14);color:var(--down)} .pill.flat{background:var(--card2);color:var(--muted)}
.up{color:var(--up)} .down{color:var(--down)} .muted{color:var(--muted)} .gold{color:var(--gold)} .small{font-size:12px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat .k{color:var(--muted);font-size:12px} .stat .v{font-weight:650;font-size:15px}
.spot{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}
.spot .m{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.spot .p{font-size:19px;font-weight:700;margin-top:4px} .spot .g{font-size:12px;color:var(--muted)}
.mdot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.mdot.gold{background:var(--gold)} .mdot.silver{background:var(--silver)} .mdot.platinum{background:var(--plat)} .mdot.palladium{background:var(--pall)}
.chart{width:100%;height:180px;display:block}
.ranges{display:flex;gap:6px;margin-top:8px}
.ranges button,.seg button{flex:1;background:var(--card2);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:6px 0;font-size:12px;cursor:pointer}
.ranges button.on,.seg button.on{color:#1a1405;background:var(--gold);border-color:var(--gold);font-weight:700}
.seg{display:flex;gap:6px}
.bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--card2);margin:10px 0}
.bar span{display:block;height:100%}
.list .item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.list .item:last-child{border-bottom:0}
.thumb{width:46px;height:46px;border-radius:12px;background:var(--card2);flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:800;font-size:13px}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.gold{color:var(--gold)} .thumb.silver{color:var(--silver)} .thumb.platinum{color:var(--plat)} .thumb.palladium{color:var(--pall)}
.item .mid{flex:1;min-width:0} .item .name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item .sub{color:var(--muted);font-size:12px} .item .right{text-align:right;white-space:nowrap}
.tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 6px;border-radius:6px;background:rgba(214,166,224,.15);color:var(--pall);vertical-align:middle}
.list.card{padding:0}
label{display:block;font-size:12px;color:var(--muted);margin:10px 2px 4px}
input,select,textarea{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:11px 12px;font-size:16px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:70px;resize:vertical}
.inline{display:flex;gap:8px} .inline>*{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--card2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:11px 14px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}
.btn.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1a1405;border:0}
.btn.danger{color:var(--down)} .btn.block{width:100%} .btn.sm{padding:7px 10px;font-size:13px;border-radius:10px}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px} .btns .btn{flex:1}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{background:var(--card2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer}
.chip.on{background:var(--gold);color:#1a1405;border-color:var(--gold);font-weight:700}
.catalog{max-height:300px;overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:12px}
.catalog .grp{position:sticky;top:0;background:var(--bg2);font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.6px;padding:6px 10px}
.catalog .opt{padding:10px;border-top:1px solid var(--line);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px}
.catalog .opt:hover,.catalog .opt.on{background:var(--card2)}
.hint{font-size:12px;color:var(--muted);margin-top:4px}
.calc{background:var(--bg2);border:1px dashed var(--line);border-radius:12px;padding:10px;margin-top:10px;font-size:13px}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14px}
.kv .k{color:var(--muted)} .kv .v{text-align:right;font-weight:600}
.kv .sep{grid-column:1/-1;border-top:1px solid var(--line);margin:2px 0}
.photo{width:100%;max-height:260px;object-fit:contain;border-radius:12px;background:var(--bg2)}
.toast{position:fixed;left:50%;bottom:calc(84px + var(--safe-b));transform:translateX(-50%) translateY(20px);background:var(--card2);border:1px solid var(--gold);color:var(--text);padding:10px 14px;border-radius:12px;opacity:0;transition:.25s;pointer-events:none;z-index:20;font-size:14px}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.empty{text-align:center;padding:30px 10px;color:var(--muted)}
table.tbl{width:100%;border-collapse:collapse;font-size:12px}
table.tbl th,table.tbl td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:right}
table.tbl th:first-child,table.tbl td:first-child{text-align:left}
.sparkwrap{margin-top:8px}
@media (min-width:640px){.grid3.spots{grid-template-columns:repeat(4,1fr)}}

.beta{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:2px 6px;border-radius:6px;background:var(--gold);color:#1a1405;vertical-align:middle}
.ver{font-size:11px;color:var(--muted);font-weight:500}
.overlay{position:fixed;inset:0;z-index:30;background:rgba(5,7,10,.72);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--card);border:1px solid var(--line);border-radius:20px 20px 0 0;width:100%;max-width:560px;max-height:92vh;overflow:auto;padding:18px 16px calc(18px + var(--safe-b))}
@media (min-width:640px){.overlay{align-items:center}.sheet{border-radius:20px}}
body.modal-open{overflow:hidden}
body.modal-open .fab{display:none}
.fab{position:fixed;right:14px;bottom:calc(76px + var(--safe-b));z-index:11;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--card2);font-size:20px;box-shadow:0 6px 18px rgba(0,0,0,.45);cursor:pointer}
.stars{display:flex;gap:6px}
.stars button{background:none;border:0;font-size:30px;color:var(--line);cursor:pointer;padding:0 2px}
.stars button.on{color:var(--gold)}

/* ===== v0.3 Collectr-style layout ===== */
.card{border-color:#1c1c1f}
.topright{display:flex;align-items:center;gap:8px}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--text);cursor:pointer;text-decoration:none;font-size:17px;flex:none;padding:0}
.iconbtn svg{width:20px;height:20px;fill:currentColor}
.iconbtn.sm{width:34px;height:34px} .iconbtn.sm svg{width:18px;height:18px}
.iconbtn.gold{color:var(--gold)}
.home-hero{padding:8px 4px 6px}
.home-hero .muted{font-size:13px}
.huge{font-size:44px;font-weight:800;letter-spacing:-1.2px;line-height:1.08;margin:4px 0 6px;font-variant-numeric:tabular-nums}
.chg{font-size:15px;font-weight:650}
.chartbox{margin:6px -4px 0;min-height:150px}
.chartbox .chart{height:auto}
.skeleton{height:190px;border-radius:14px;background:linear-gradient(90deg,#0d0d0f 0%,#17171a 50%,#0d0d0f 100%);background-size:200% 100%;animation:sk 1.2s infinite linear}
@keyframes sk{to{background-position:-200% 0}}
.pills{display:flex;gap:6px;margin:10px 0 4px}
.pills button{flex:1;background:transparent;border:0;color:var(--muted);border-radius:999px;padding:7px 0;font-size:13px;font-weight:700;cursor:pointer}
.pills button.on{background:var(--card2);color:var(--text)}
.mini{margin:14px 0 4px} .mini .stat{background:var(--card);border:1px solid #1c1c1f;border-radius:14px;padding:10px}
.sechead{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 10px}
.sechead h2,.sechead h3{margin:0} .sechead h3{font-size:18px;font-weight:750}
.sechead a{color:var(--teal);font-weight:600;text-decoration:none;font-size:14px}
.view>.sechead:first-child{margin-top:4px} .sechead h2{font-size:24px;font-weight:800}
img.thumb{object-fit:contain;padding:3px;background:var(--card2)}
.thumb.lg{width:64px;height:64px}
.item .b,.b{font-weight:700}
.searchbar{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 6px 4px 12px}
.searchbar>svg{width:18px;height:18px;fill:var(--muted);flex:none}
.searchbar input{background:transparent;border:0;padding:9px 4px;flex:1;min-width:0}
.searchbar input:focus{border:0}
.sbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:transparent;border:0;color:var(--muted);cursor:pointer;flex:none}
.sbtn svg{width:20px;height:20px;fill:currentColor} .sbtn.on{color:var(--gold)} .sbtn.cam{color:var(--teal)}
.actionrow{display:flex;gap:8px;overflow-x:auto;margin:12px -14px 10px;padding:0 14px;scrollbar-width:none}
.actionrow::-webkit-scrollbar{display:none}
.actionrow .chip{white-space:nowrap;text-decoration:none;font-weight:600;background:var(--card);border-color:var(--line)}
.actionrow .chip.on,.chip.on{background:var(--text);color:#000;border-color:var(--text)}
.chip.sm{padding:5px 10px;font-size:12px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pcard{display:block;background:var(--card);border:1px solid #1c1c1f;border-radius:16px;padding:8px 8px 10px;text-decoration:none;color:inherit;position:relative;min-width:0}
.pcard.sel{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal) inset}
.pimg{position:relative;aspect-ratio:1/1;border-radius:12px;background:radial-gradient(circle at 50% 40%,#1d1d21,#0c0c0e);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:8px}
.pimg img{width:78%;height:78%;object-fit:contain}
.pimg img[src^="data:image/jpeg"],.pimg img[src^="blob:"]{width:100%;height:100%;object-fit:cover}
.qty{position:absolute;left:6px;top:6px;background:rgba(0,0,0,.72);border:1px solid #333;color:var(--text);font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px}
.favbtn{position:absolute;right:4px;top:4px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.favbtn svg{width:16px;height:16px;fill:#55555c} .favbtn.on svg{fill:var(--gold)}
.check{position:absolute;left:6px;bottom:6px;width:24px;height:24px;border-radius:50%;border:2px solid var(--text);background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}
.pcard.sel .check{background:var(--teal);border-color:var(--teal);color:#000}
.selecting .qty{left:auto;right:38px}
.ptitle{font-weight:650;font-size:13px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:32px}
.psub{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.pval{font-size:17px;font-weight:800;margin-top:6px;font-variant-numeric:tabular-nums}
.pchg{font-size:12px;font-weight:650}
.flat{color:var(--muted)}
.addbtn{position:absolute;right:6px;bottom:6px;width:34px;height:34px;border-radius:50%;border:0;background:var(--teal);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.addbtn svg{width:20px;height:20px;fill:#001417}
.bulkbar{position:fixed;left:8px;right:8px;bottom:calc(68px + var(--safe-b));z-index:12;background:#18181b;border:1px solid #2c2c31;border-radius:16px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.6);max-width:700px;margin:0 auto}
.bulkbar .btn:disabled{opacity:.4}
.grab{width:40px;height:4px;border-radius:2px;background:#3a3a40;margin:-6px auto 12px}
.sheet{background:#121214;border-color:#222}
.sheet h2{font-size:20px}
.optlist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.optlist .opt{display:block;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--text);padding:13px 14px;font-size:15px;cursor:pointer;text-decoration:none;font-family:inherit}
.optlist .opt:last-child{border-bottom:0} .optlist .opt.on{color:var(--teal);font-weight:700}
.itemtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.itemimg{display:flex;justify-content:center;align-items:center;height:230px;border-radius:20px;background:radial-gradient(circle at 50% 45%,#1f1f24,#050506 70%);overflow:hidden}
.itemimg img{max-width:72%;max-height:88%;object-fit:contain}
.itemimg img[src^="data:image/jpeg"]{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:cover}
.itemtitle{font-size:22px;font-weight:800;margin:14px 2px 6px;line-height:1.2}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tg{display:inline-block;font-size:11px;font-weight:650;padding:4px 9px;border-radius:999px;background:var(--card2);color:#c9c9cf;text-transform:capitalize}
.tg.on{background:rgba(34,211,238,.14);color:var(--teal);text-transform:none;padding:2px 7px;font-size:10px}
.btn.outline{background:transparent;border:1px solid #3a3a40}
.seg.tabs{background:var(--card);border-radius:12px;padding:3px;gap:0;border:1px solid var(--line)}
.seg.tabs button{border:0;background:transparent;padding:9px 0;font-size:14px;font-weight:700;border-radius:9px}
.seg.tabs button.on{background:var(--card2);color:var(--text);border:0}
.pricebox{margin:14px 2px 0} .pricebox .big{font-size:34px;font-weight:800;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.holdcard{margin-top:12px} .big2{font-size:26px;font-weight:800;letter-spacing:-.4px}
.stepper{display:inline-flex;align-items:center;background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:3px}
.stepper button{width:38px;height:38px;border-radius:50%;border:0;background:#2a2a2f;color:var(--text);font-size:22px;font-weight:600;cursor:pointer;line-height:1}
.stepper button:disabled{opacity:.35}
.stepper span{min-width:40px;text-align:center;font-weight:800;font-size:18px}
.soldbar{border-color:var(--gold);display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
label.toggle{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text);margin-top:14px}
label.toggle input{width:20px;height:20px;accent-color:var(--teal)}
.profile{display:flex;align-items:center;gap:12px;margin:4px 2px 14px}
.avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--teal),#0e7490);color:#001417;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;flex:none}
.statgrid .sc{margin:0;padding:12px} .statgrid{margin-bottom:10px}
.sc .k{color:var(--muted);font-size:12px} .sc .v{font-size:22px;font-weight:800;margin-top:2px;letter-spacing:-.3px} .sc .s{font-size:11px;margin-top:2px}
.counts .v{font-size:20px;font-weight:800}
.tx .txi{width:32px;height:32px;border-radius:50%;background:var(--card2);display:flex;align-items:center;justify-content:center;font-weight:800;flex:none;font-size:14px}
.txi.add{color:var(--up)} .txi.delete{color:var(--down)} .txi.sold{color:var(--gold)} .txi.price{color:var(--pall)} .txi.qty{color:var(--teal)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.tile{position:relative;height:62px;border-radius:14px;border:1px solid #232327;cursor:pointer;text-align:left;padding:8px 10px;display:flex;align-items:flex-end;color:var(--text);font-weight:750;font-size:13px;overflow:hidden;font-family:inherit}
.tile.gold{background:linear-gradient(135deg,rgba(232,185,74,.35),#141416 70%)}
.tile.silver{background:linear-gradient(135deg,rgba(195,202,214,.3),#141416 70%)}
.tile.platinum{background:linear-gradient(135deg,rgba(159,211,224,.3),#141416 70%)}
.tile.palladium{background:linear-gradient(135deg,rgba(214,166,224,.32),#141416 70%)}
.tile.on{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal) inset}
.camview{position:fixed;inset:0;z-index:50;background:#000;overflow:hidden}
.camview video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.camshade{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.frame{position:relative;width:78%;max-width:420px;aspect-ratio:4/3;border-radius:22px;box-shadow:0 0 0 9999px rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.85)}
.frame i{position:absolute;width:28px;height:28px;border:4px solid var(--teal)}
.frame i:nth-child(1){left:-4px;top:-4px;border-right:0;border-bottom:0;border-radius:20px 0 0 0}
.frame i:nth-child(2){right:-4px;top:-4px;border-left:0;border-bottom:0;border-radius:0 20px 0 0}
.frame i:nth-child(3){left:-4px;bottom:-4px;border-right:0;border-top:0;border-radius:0 0 0 20px}
.frame i:nth-child(4){right:-4px;bottom:-4px;border-left:0;border-top:0;border-radius:0 0 20px 0}
.camtop{position:absolute;left:0;right:0;top:0;padding:calc(12px + var(--safe-t)) 14px 12px;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.camtop .iconbtn,.cambot .iconbtn{background:rgba(20,20,22,.7);border-color:#333}
.camhint{position:absolute;left:0;right:0;top:calc(50% + min(39vw,210px) * .75 + 18px);text-align:center;font-weight:700;font-size:16px;text-shadow:0 1px 6px #000}
.camerr{position:absolute;left:24px;right:24px;top:40%;text-align:center;background:rgba(20,20,22,.9);border:1px solid #333;border-radius:14px;padding:14px;font-size:14px}
.cambot{position:absolute;left:0;right:0;bottom:0;padding:18px 30px calc(26px + var(--safe-b));display:flex;justify-content:space-between;align-items:center}
.shutter{width:76px;height:76px;border-radius:50%;border:5px solid #fff;background:rgba(255,255,255,.25);cursor:pointer;padding:0}
.shutter:active{background:#fff}
body.cam-open .topbar,body.cam-open .tabbar,body.cam-open .fab{display:none}
.list .item.tx{padding:10px 12px}
body:has(.bulkbar) .fab{display:none}

/* ===== v0.3.1: real product photos, valuation view, sources, profiles ===== */
.pimg img.cimg, .itemimg img.cimg, img.thumb.cimg { object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0,0,0,.55)) drop-shadow(0 1px 2px rgba(0,0,0,.6)); background: transparent; }
.pimg img.cimg { width: 84%; height: 84%; }
.pimg { background: radial-gradient(circle at 50% 40%, #2a2d33 0%, #17191d 70%); }
.itemimg img.cimg { max-height: 240px; }
img.thumb.cimg { background: radial-gradient(circle, #2a2d33, #17191d); padding: 3px; box-sizing: border-box; }
.viewtog { display: flex; background: var(--card); border-radius: 999px; padding: 3px; margin: 2px 0 10px; }
.viewtog button { flex: 1; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 13px; font-weight: 600; padding: 8px 6px; border-radius: 999px; }
.viewtog button.on { background: #fff; color: #000; }
.src { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .02em; padding: 2px 6px; border-radius: 6px; background: #22262c; color: var(--muted); vertical-align: middle; white-space: nowrap; }
.src.dealer { background: rgba(34,211,238,.14); color: var(--teal); }
.src.ebay { background: rgba(96,165,250,.16); color: #8ab8ff; }
.src.sale { background: rgba(34,224,122,.14); color: var(--up); }
.src.weight { background: rgba(232,185,74,.15); color: var(--gold); }
.src.melt { background: rgba(255,123,123,.12); color: #ff9c9c; }
.pval .src { font-size: 9.5px; margin-left: 2px; position: relative; top: -2px; }
.psub.dl { margin-top: 3px; }
.tg.checking { background: rgba(96,165,250,.16); color: #8ab8ff; animation: pulse 1.2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .45; } }
.valpair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.valpair .vp { text-align: left; background: var(--card); border: 1.5px solid transparent; border-radius: 14px; padding: 10px 12px; color: var(--text); font: inherit; }
.valpair .vp.on { border-color: var(--teal); }
.valpair .k { font-size: 12px; color: var(--muted); }
.valpair .v { font-size: 20px; font-weight: 800; margin: 2px 0; }
.valpair .s { font-size: 11px; color: var(--muted); }
.basis { font-size: 12.5px; color: var(--muted); margin: 8px 2px 0; line-height: 1.5; }
.tbl.listings td, .tbl.listings th { font-size: 12px; padding: 6px 5px; vertical-align: top; }
.tbl.listings td:nth-child(2) { min-width: 120px; }
.profbtn { border: 0; background: transparent; padding: 0; display: flex; align-items: center; }
.pavatar { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; font-size: 19px; flex: 0 0 auto; line-height: 1; }
.pavatar.sm { width: 30px; height: 30px; font-size: 16px; box-shadow: 0 0 0 2px #000, 0 0 0 3.5px rgba(255,255,255,.25); }
.pavatar.xl { width: 72px; height: 72px; font-size: 38px; }
.profile .avatar { border: 0; font-size: 26px; }
.emojis { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; }
.emojis button { font-size: 22px; background: var(--bg2); border: 1.5px solid transparent; border-radius: 10px; padding: 4px 0; }
.emojis button.on { border-color: var(--teal); }
.swatches { display: flex; gap: 10px; flex-wrap: wrap; }
.swatches button { width: 32px; height: 32px; border-radius: 50%; border: 0; box-shadow: 0 0 0 2px var(--bg2); }
.swatches button.on { box-shadow: 0 0 0 2px #000, 0 0 0 4px #fff; }
.opt.prow { display: flex; align-items: center; gap: 10px; }
.famlink { display: flex; justify-content: space-between; align-items: center; color: var(--text); text-decoration: none; margin-top: 10px; }
.card.list button.item { width: 100%; background: transparent; border: 0; color: inherit; font: inherit; text-align: left; }
.opt.tpl { display: flex; gap: 12px; align-items: flex-start; text-align: left; }
.tplicon { font-size: 28px; line-height: 1; }
.credits { font-size: 11.5px; line-height: 1.5; max-height: 260px; overflow: auto; margin-top: 6px; color: var(--muted); }
.credits a { color: var(--teal); }
@media (max-width: 420px) { .topbar .ver { display: none; } }

/* hide the floating feedback button where it covers cards/prices (still in Profile + Settings) */
body[data-route="item"] .fab, body[data-route="search"] .fab, body[data-route="portfolio"] .fab, body[data-route="family"] .fab { display: none; }
/* compact quick-filter tiles so results show above the fold */
.tiles { grid-template-columns: repeat(4, 1fr); gap: 6px; }
.tile { height: 40px; font-size: 12px; padding: 6px 8px; align-items: center; }
/* v0.3.2 estimates + fallbacks */
.tg.est { background: rgba(232,185,74,.14); color: var(--gold); font-size: 10px; padding: 2px 6px; margin-left: 4px; vertical-align: middle; }
.pval .tg.est { position: relative; top: -2px; }
.src.ebay-old { background: rgba(96,165,250,.10); color: #9fbfe8; }
.src.similar { background: rgba(167,139,250,.15); color: #c4b5fd; }
.src.cost { background: #22262c; color: var(--muted); }
.card.explain summary { cursor: pointer; list-style: none; }
.card.explain summary::-webkit-details-marker { display: none; }
.card.explain { margin-top: 10px; }

/* News tab (v0.3.4) */
.nchips{margin:0 0 12px}
.ncard{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;color:var(--text);text-decoration:none}
.ncard:active{background:var(--card2)}
.nbody{flex:1;min-width:0}
.nmeta{font-size:12px;color:var(--muted);margin-bottom:4px}
.nsrc{color:var(--gold2);font-weight:600}
.nhead{font-weight:700;font-size:15px;line-height:1.3}
.nsnip{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nthumb{width:84px;height:84px;object-fit:cover;border-radius:10px;flex:none;background:var(--card2)}
#newsRefresh{font-size:20px;line-height:1}
#newsRefresh.spin{animation:nspin 1s linear infinite}
@keyframes nspin{to{transform:rotate(360deg)}}
.tabbar a span{white-space:nowrap}

/* ===== Light theme (v0.3.6). html[data-theme] is set before first paint by the inline script in index.html ===== */
html[data-theme="light"]{
  --bg:#f5f5f7; --bg2:#f0f0f3; --card:#ffffff; --card2:#f1f1f4; --line:#e3e3e8;
  --text:#16161a; --muted:#5f5f69; --gold:#8a5d06; --gold2:#e2b54a; --silver:#7c8592;
  --plat:#2c7a8c; --pall:#8a4a98; --up:#0b7a3b; --down:#c62828; --teal:#0e7490;
  --shadow:0 1px 2px rgba(16,16,24,.05),0 2px 10px rgba(16,16,24,.05);
}
[data-theme="light"] .topbar{background:rgba(255,255,255,.9);border-bottom-color:#e6e6eb}
[data-theme="light"] .tabbar{background:rgba(255,255,255,.95);border-top-color:#e6e6eb}
[data-theme="light"] .card,[data-theme="light"] .pcard,[data-theme="light"] .mini .stat,[data-theme="light"] .ncard,[data-theme="light"] .spot{border-color:#e6e6eb;box-shadow:var(--shadow)}
[data-theme="light"] .btn.primary,[data-theme="light"] .tabbar a.addtab svg{background:linear-gradient(135deg,#f3d27a,#dcaa3c)}
[data-theme="light"] .chip.on,[data-theme="light"] .ranges button.on,[data-theme="light"] .seg button.on,[data-theme="light"] .beta{background:#e2b54a;border-color:#e2b54a;color:#1a1405}
[data-theme="light"] .actionrow .chip.on{background:var(--text);color:#fff;border-color:var(--text)}
[data-theme="light"] .pills button.on{background:#e7e7ec;color:var(--text)}
[data-theme="light"] .seg.tabs button.on{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
[data-theme="light"] .viewtog button.on{background:var(--text);color:#fff}
[data-theme="light"] .pill.up{background:rgba(11,122,59,.1)} [data-theme="light"] .pill.down{background:rgba(198,40,40,.09)}
[data-theme="light"] .tag{background:rgba(138,74,152,.1)}
[data-theme="light"] .overlay{background:rgba(20,20,28,.35)}
[data-theme="light"] .fab{background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.14)}
[data-theme="light"] .skeleton{background:linear-gradient(90deg,#ececf0 0%,#f7f7f9 50%,#ececf0 100%);background-size:200% 100%}
[data-theme="light"] .pimg{background:radial-gradient(circle at 50% 40%,#ffffff 0%,#e9ebef 75%)}
[data-theme="light"] img.thumb.cimg{background:radial-gradient(circle,#ffffff,#e6e8ec)}
[data-theme="light"] .itemimg{background:radial-gradient(circle at 50% 45%,#ffffff,#e4e6ea 75%)}
[data-theme="light"] .pimg img.cimg,[data-theme="light"] .itemimg img.cimg,[data-theme="light"] img.thumb.cimg{filter:drop-shadow(0 5px 8px rgba(0,0,0,.18)) drop-shadow(0 1px 2px rgba(0,0,0,.2))}
[data-theme="light"] .qty{background:rgba(255,255,255,.9);border-color:#d9d9df}
[data-theme="light"] .favbtn,[data-theme="light"] .check{background:rgba(255,255,255,.8)}
[data-theme="light"] .favbtn svg{fill:#a3a3ab} [data-theme="light"] .favbtn.on svg{fill:#d39e2a}
[data-theme="light"] .pcard.sel .check{color:#fff}
[data-theme="light"] .addbtn{box-shadow:0 4px 10px rgba(14,116,144,.3)} [data-theme="light"] .addbtn svg{fill:#fff}
[data-theme="light"] .bulkbar{background:#fff;border-color:#e3e3e8;box-shadow:0 10px 30px rgba(0,0,0,.15)}
[data-theme="light"] .grab{background:#cfcfd6}
[data-theme="light"] .sheet{background:#fff;border-color:#e3e3e8}
[data-theme="light"] .tg{color:#4b4b55}
[data-theme="light"] .btn.outline{border-color:#cfcfd7}
[data-theme="light"] .stepper button{background:#ececf1}
[data-theme="light"] .avatar{background:linear-gradient(135deg,#22d3ee,#0e7490);color:#001417}
[data-theme="light"] .tile{border-color:#e3e3e8;box-shadow:var(--shadow)}
[data-theme="light"] .tile.gold{background:linear-gradient(135deg,rgba(226,181,74,.45),#fff 70%)}
[data-theme="light"] .tile.silver{background:linear-gradient(135deg,rgba(150,160,175,.38),#fff 70%)}
[data-theme="light"] .tile.platinum{background:linear-gradient(135deg,rgba(80,170,190,.3),#fff 70%)}
[data-theme="light"] .tile.palladium{background:linear-gradient(135deg,rgba(170,110,185,.3),#fff 70%)}
[data-theme="light"] .src,[data-theme="light"] .src.cost{background:#ececf0}
[data-theme="light"] .src.dealer,[data-theme="light"] .tg.on{background:rgba(14,116,144,.1)}
[data-theme="light"] .src.ebay,[data-theme="light"] .tg.checking{background:rgba(37,99,235,.1);color:#1d4ed8}
[data-theme="light"] .src.ebay-old{background:rgba(37,99,235,.07);color:#3b5f9e}
[data-theme="light"] .src.sale{background:rgba(11,122,59,.1)}
[data-theme="light"] .src.weight,[data-theme="light"] .tg.est{background:rgba(148,102,10,.1)}
[data-theme="light"] .src.melt{background:rgba(198,40,40,.08);color:#b42323}
[data-theme="light"] .src.similar{background:rgba(109,79,199,.1);color:#5b3fb5}
[data-theme="light"] .pavatar.sm{box-shadow:0 0 0 2px #fff,0 0 0 3.5px rgba(0,0,0,.15)}
[data-theme="light"] .swatches button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--text)}
[data-theme="light"] .nsrc{color:var(--gold)}
[data-theme="light"] .toast{background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.15)}
[data-theme="light"] .mdot.silver{background:#a3abb6}
/* camera stays dark in both themes (full-screen viewfinder) */
[data-theme="light"] .camview{--text:#f4f4f5;--muted:#a0a0a8;--card:#141416;--card2:#1e1e21;--line:#2a2a2e;--bg2:#0d0d0f;--gold:#e8b94a;--teal:#22d3ee;color:var(--text)}

/* v0.3.7 scan credits */
.quota{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--card2);border:1px solid var(--line);font-size:13px}
.quota .btn{flex:none}
.quota.out{border-color:var(--gold);align-items:flex-start}
.quota > .muted{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#acctCard .btn.sm{white-space:nowrap;flex:none}
/* v0.3.7 sync nudge, rating sheet, feedback admin */
.nudge{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--gold);border-radius:14px;padding:10px 12px;margin:8px 0 12px;font-size:14px}
.nudge > span{flex:1;min-width:0}
.nudge .btn{flex:none}
.iconbtn.sm{width:30px;height:30px;font-size:13px}
.linkbtn{background:none;border:0;padding:0;color:var(--teal);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.stars{display:flex;justify-content:center;gap:6px;margin:12px 0 4px}
.stars button{background:none;border:0;font-size:38px;line-height:1;color:var(--line);cursor:pointer;padding:2px;transition:transform .1s}
.stars button.on{color:#e8b94a}
.stars button:active{transform:scale(1.15)}
[data-theme="light"] .stars button{color:#d6d6dc} [data-theme="light"] .stars button.on{color:#d9a93a}
.fbbar{flex:1;height:8px;border-radius:4px;background:var(--card2);overflow:hidden}
.fbbar i{display:block;height:100%;background:#e8b94a}
.fbitem{margin-bottom:8px}
/* v0.3.7 legal / privacy */
.legalov{z-index:60}.consentov{z-index:55}
.legal{font-size:14px;line-height:1.5}.legal h2{font-size:18px;margin:16px 0 6px}.legal h3{font-size:16px;margin:16px 0 6px}.legal h4{font-size:14px;margin:12px 0 4px}
.legal p,.legal ul{margin:6px 0}.legal ul{padding-left:20px}.legal li{margin:3px 0}.legal a{color:var(--gold)}
.legal blockquote{margin:8px 0;padding:6px 10px;border-left:3px solid var(--gold);color:var(--muted)}
.overlay.legalov .sheet{max-height:92vh;overflow:auto}
.tblwrap{overflow-x:auto;margin:8px 0}.legaltbl{border-collapse:collapse;width:100%;font-size:13px}.legaltbl th,.legaltbl td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.legaltbl th{background:var(--bg2)}
.legallinks .opt{text-decoration:none;color:var(--text)}
.privnote{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);color:var(--text);font-size:12.5px;line-height:1.4}.privnote a{color:var(--gold);font-weight:600}
#camPrivacy{position:absolute;left:14px;right:14px;bottom:calc(112px + var(--safe-b));margin:0;background:rgba(0,0,0,.66);border-color:rgba(255,255,255,.18);color:#f2f2f2;backdrop-filter:blur(6px);text-align:center}#camPrivacy a{color:#f5c84c}
.disclaimer{font-size:11.5px;color:var(--muted);line-height:1.35;margin-top:6px}
.agree{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:13px;line-height:1.4;color:var(--text)}.agree input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--gold)}.agree a{color:var(--gold)}
.ncredit{font-size:12px;color:var(--muted);margin-top:3px}
/* v0.3.8 analytics / outbound */
.switchrow{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin:0;cursor:pointer}.switchrow input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--gold)}
.partner{display:inline-block;margin-left:4px;padding:0 5px;border-radius:6px;border:1px solid var(--gold);color:var(--gold);font-size:10px;font-weight:700;line-height:15px;vertical-align:middle}
.statchart{width:100%;height:auto;display:block}.lg{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:middle;margin-right:2px}
/* v0.3.9 spot ticker (sticky, inside the top bar so it sits under the safe area on every tab) */
.topbar{flex-wrap:wrap;row-gap:8px;padding-bottom:8px}
html{scroll-padding-top:calc(112px + var(--safe-t));scroll-padding-bottom:calc(84px + var(--safe-b))}
.ticker{flex:1 0 100%;display:flex;align-items:stretch;gap:10px;min-height:38px;margin:0 -2px;position:relative}
.ticker[hidden]{display:none}
.tk{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:1px 0 1px 9px;border-left:2px solid var(--gold);color:var(--text);text-decoration:none;-webkit-tap-highlight-color:transparent;border-radius:0}
.tk.silver{border-left-color:var(--silver)}
.tk:active{opacity:.7}
.tk-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px;white-space:nowrap}
.tk-name{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--muted)}
.tk.gold .tk-name{color:var(--gold)}.tk.silver .tk-name{color:var(--silver)}
.tk-chg{font-size:11px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.tk-chg.up{color:var(--up,#3ad07a)}.tk-chg.down{color:var(--down,#ff5d5d)}.tk-chg.flat{color:var(--muted);font-weight:500}
.tk-arrow{font-size:9px;vertical-align:1px}
.tk-price{font-size:16px;font-weight:800;letter-spacing:.2px;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.15}
.tk-unit{font-size:10px;font-weight:600;color:var(--muted);margin-left:4px;letter-spacing:.3px}
.tk-skel{display:inline-block;width:88px;height:14px;border-radius:5px;background:linear-gradient(90deg,var(--card) 0%,var(--card2) 50%,var(--card) 100%);background-size:200% 100%;animation:tkshim 1.2s linear infinite;vertical-align:middle}
@keyframes tkshim{from{background-position:200% 0}to{background-position:-200% 0}}
.ticker.stale .tk-price{opacity:.6}.ticker.busy .tk-price{opacity:.75}
.tk-stale{position:absolute;right:0;bottom:-7px;font-size:9px;line-height:11px;padding:0 5px;border-radius:6px;background:var(--card2);color:var(--muted);border:1px solid var(--line)}
.brand{flex:1 1 auto;min-width:0;white-space:nowrap}.brand>span{overflow:hidden;text-overflow:ellipsis}.brand img{flex:0 0 auto}.topright{flex:0 0 auto}
@media (max-width:360px){
  .topbar{padding-left:12px;padding-right:12px}.topright{gap:6px}.brand .beta,.brand .ver{display:none}.pricechip{padding:6px 8px;font-size:11.5px}
  .ticker{gap:8px;margin:0}
  .tk{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"name price" "chg chg";column-gap:6px;align-items:baseline;padding-left:7px}
  .tk-top{display:contents}.tk-name{grid-area:name;font-size:10px;letter-spacing:.6px}.tk-price{grid-area:price;font-size:14px;text-align:right}
  .tk-chg{grid-area:chg;font-size:10.5px}.tk-unit{display:none}
}
[data-theme="light"] .tk.gold .tk-name{color:#86640f}[data-theme="light"] .tk.gold{border-left-color:#c9a032}
[data-theme="light"] .tk.silver .tk-name{color:#6f7682}[data-theme="light"] .tk.silver{border-left-color:#9aa1ad}
[data-theme="light"] .tk-chg.up{color:#13873f}[data-theme="light"] .tk-chg.down{color:#c62828}
/* v0.4.0 one-screen scan: photo fits the viewport, fixed action bar above the tab bar, results in a bottom sheet */
.scan-mini{display:none}
.scan.has-img .scan-intro{display:none}
.scan.has-img .scan-mini{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-4px 0 8px}
.scan.has-img .scan-mini b{font-size:17px;white-space:nowrap}
.scan-mini .btn.sm{padding:6px 10px;font-size:13px}
body:has(.scan.has-img) #ticker{display:none}
.view:has(> .scan.has-img){padding-bottom:var(--scan-bottom,180px)}
.scan-photo{display:flex;justify-content:center}
#imgWrap{position:relative;display:inline-block;max-width:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;line-height:0}
#imgWrap img{display:block;max-width:100%;width:auto;height:auto;max-height:60vh;border-radius:12px;object-fit:contain;pointer-events:none}
#selBox{position:absolute;border:2px dashed #fff;display:none;border-radius:6px;box-shadow:0 0 0 1px rgba(0,0,0,.4);pointer-events:none}
.sbox{position:absolute;border:2px solid var(--gold);border-radius:6px;pointer-events:none;line-height:normal}
.sbox span{background:var(--gold);color:#1a1405;font-size:11px;font-weight:700;padding:1px 5px;border-radius:4px}
.scan-tip{position:absolute;left:8px;top:8px;right:8px;width:max-content;max-width:calc(100% - 16px);line-height:normal;font-size:12px;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;pointer-events:none;transition:opacity .2s}
#imgWrap.drawing .scan-tip{opacity:0}
.scanbar{position:fixed;left:0;right:0;bottom:64px;z-index:9;max-width:720px;margin:0 auto;padding:8px 12px;background:rgba(10,10,11,.94);backdrop-filter:blur(12px);border-top:1px solid #1a1a1d;display:flex;flex-direction:column;gap:8px}
.scanbar:empty{display:none}
.sb-row{display:flex;gap:8px}
.sb-row .btn{flex:1 1 0;min-width:0;white-space:nowrap;padding:10px 6px;font-size:13.5px}
.sb-row #ssToggle{flex:0 0 auto;padding:10px 12px}
.sb-row .sb-commit{flex:2 1 0;font-size:15px}
.scansheet{display:none}
.scansheet.open{display:flex;flex-direction:column;position:fixed;left:0;right:0;z-index:9;max-width:720px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.45);overflow:hidden}
.ss-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 8px;position:relative;flex:0 0 auto}
.ss-grab{position:absolute;left:50%;top:5px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--line)}
.ss-body{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 12px 10px;flex:1 1 auto}
.ss-body .card{margin:0 0 8px}
@media (max-width:360px){.sb-row .btn{font-size:12.5px;padding:9px 4px}.scan.has-img .scan-mini b{font-size:15px}.scan-mini .btn.sm{padding:6px 8px;font-size:12px}}
[data-theme="light"] .scanbar{background:rgba(255,255,255,.94);border-top-color:#e6e6eb}
[data-theme="light"] .scansheet.open{background:#fff;border-color:#e3e3e8;box-shadow:0 -10px 30px rgba(0,0,0,.12)}
body:has(.scan.has-img) .fab{display:none}
.scan-mini label.btn{margin:0;color:var(--text)}
body:has(.scan.has-img) .toast{bottom:calc(var(--scan-bottom,180px) + 8px)}
.ss-head .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-head b{white-space:nowrap}
@media (max-width:360px){.ss-head .muted{display:none}}
/* small phones: compact scan start screen so it fits without scrolling */
@media (max-width:360px), (max-height:700px){
  .scan-intro > .row h2{font-size:19px;white-space:nowrap}
  .scan-intro > .row .btn.sm{padding:6px 8px;font-size:12px;white-space:nowrap}
  .scan-intro .card{padding:12px}
  .scan-intro .card > .muted.small{font-size:12px;line-height:1.35}
  .scan-intro .quota{font-size:12px;padding:8px 10px;margin-top:8px}
  .scan-intro .btns{margin-top:8px}
  .scan-intro .btns .btn{padding:9px 12px}
  .scan-intro .privnote{font-size:11.5px;line-height:1.35;padding:8px 10px;margin-top:8px}
}
.view:has(> .scan:not(.has-img)){padding-bottom:calc(68px + var(--safe-b))}
@media (max-width:360px){.scan-intro > .row{gap:6px}.scan-intro > .row h2{font-size:17px}.scan-intro > .row .btn.sm{padding:6px 7px;font-size:11.5px}.scan-intro > .row > .row{gap:5px!important}}
/* v0.4.0 eBay listings with thumbnails (hotlinked from eBay, linked to the listing) */
.eblist{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.ebrow{display:flex;align-items:center;gap:10px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--card2);color:var(--text);text-decoration:none;min-width:0}
.ebrow.more{display:none}.eblist.all .ebrow.more{display:flex}
.ebthumb{flex:0 0 52px;width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--bg2)}
.ebthumb.none{display:block}
.ebt{flex:1 1 auto;min-width:0;font-size:13px;line-height:1.3;display:flex;flex-direction:column}
.ebtt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ebt .muted{display:block;font-size:11.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ebp{flex:0 0 auto;font-size:14px;font-variant-numeric:tabular-nums}
#ebSold{white-space:nowrap}
[data-theme="light"] .ebrow{background:#f7f7f9;border-color:#e3e3e8}
.ebhead{flex-wrap:wrap;gap:8px}.ebhead #ebSold{flex:0 0 auto;padding:6px 10px;font-size:12.5px}
/* v0.4.1 image credits */
.itemimg { position: relative; }
.imgcredit { position: absolute; right: 10px; bottom: 10px; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font: italic 700 13px/1 Georgia, serif; color: #fff; background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.35); text-decoration: none; z-index: 2; }
.imgcredit.sm { right: auto; left: 6px; bottom: auto; top: 6px; width: 18px; height: 18px; font-size: 11px; opacity: .8; }
.credline { font-size: 11px; color: var(--muted); text-align: center; margin-top: 4px; }
.credline a { color: var(--teal); }
.creditlist .item.credit { align-items: flex-start; }
.creditlist .item.credit .sub { white-space: normal; overflow-wrap: anywhere; }
.creditlist .item.credit a { color: var(--teal); }
.creditlist .item.credit.hl { background: rgba(214,166,64,.14); border-radius: 10px; }
.creditlist .dim, .credits .dim { opacity: .75; }
[data-theme="light"] .imgcredit { background: rgba(255,255,255,.8); color: #333; border-color: rgba(0,0,0,.2); }
/* v0.4.2 eBay Partner Network disclosure */
.epnnote { font-size: 11.5px; opacity: .85; }
