:root{--bg:#f6f4ef;--card:#fff;--ink:#1f1d1a;--muted:#75706a;--accent:#8a5a2b;--line:#e6e1d8}
*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
header.top{display:flex;gap:1.5rem;align-items:center;padding:.6rem 1.2rem;background:var(--card);border-bottom:1px solid var(--line)}
header .brand{font-weight:700;color:var(--ink);text-decoration:none}header nav a{margin-right:1rem;color:var(--muted);text-decoration:none}
header nav a:hover{color:var(--accent)}header form.inline{margin-left:auto}
main{padding:1.2rem;max-width:1200px;margin:0 auto}footer{padding:1rem;text-align:center;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem}
.card h2{margin:0 0 .6rem;font-size:1rem}dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;margin:0}dt{color:var(--muted)}dd{margin:0}
table{width:100%;border-collapse:collapse}td,th{padding:.3rem .4rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.mono{font-family:ui-monospace,Menlo,monospace}.small{font-size:12px}.muted{color:var(--muted)}.error{color:#b3261e}
button{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:.4rem .8rem;cursor:pointer}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
input,select{padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;font:inherit}.row{display:flex;gap:.4rem;align-items:center}
body.login{display:grid;place-items:center;min-height:100vh}body.login .card{width:320px}body.login label{display:block;margin:.8rem 0}body.login input{width:100%}
.pill{display:inline-block;padding:.05rem .45rem;border-radius:999px;font-size:12px;background:#eee;color:#444}
.pill.running{background:#e3f1e4;color:#1b5e20}.pill.announced{background:#e6ecf7;color:#1a3c8a}.pill.closed{background:#f1eeea;color:#6b625a}
.pill.bid{background:#fde9d9;color:#8a3b00;font-weight:600}.pill.watch{background:#fff4d6;color:#7a5a00}.pill.skip{background:#eee;color:#666}
td.num,th.num{text-align:right;white-space:nowrap}img.thumb{width:48px;height:36px;object-fit:cover;border-radius:4px}
.gallery{display:flex;flex-wrap:wrap;gap:.5rem}.gallery img{height:140px;border-radius:6px;object-fit:cover}
pre.wrap{white-space:pre-wrap;font:inherit;margin:0}

.grid.two{grid-template-columns:minmax(320px,1fr) minmax(360px,1.2fr)}
.carousel{position:relative;margin:.6rem 0 1rem}.carousel .stage{position:relative;height:340px;background:#111;border-radius:8px;overflow:hidden}
.carousel .slide{display:none;position:absolute;inset:0}.carousel .slide.active{display:block}.carousel .slide img{width:100%;height:100%;object-fit:contain}
.carousel .nav{position:absolute;top:150px;z-index:2;background:rgba(0,0,0,.45);color:#fff;border:0;border-radius:50%;width:38px;height:38px;font-size:22px;line-height:1;cursor:pointer}.carousel .prev{left:8px}.carousel .next{right:8px}
.carousel .thumbs{display:flex;gap:.35rem;margin-top:.4rem;overflow-x:auto}.carousel .thumbs img{height:54px;width:72px;object-fit:cover;border-radius:4px;opacity:.55;cursor:pointer;border:2px solid transparent}.carousel .thumbs img.active{opacity:1;border-color:var(--accent)}
.pill.hidden{background:#e6e6e6;color:#555}.pill.wear{background:#eef3f8;color:#2b4c7e}.pill.risk{background:#fdecea;color:#8a1c1c}
.pill.grade-A{background:#dff3e3;color:#1b5e20}.pill.grade-B{background:#e8f4dc;color:#3d6b12}.pill.grade-C{background:#fff2cc;color:#7a5a00}.pill.grade-D{background:#fde2d9;color:#8a2b0f}.pill.grade-U{background:#eee;color:#666}
.lead{font-size:15px}.band span{color:var(--muted);font-size:12px}ul.tight{margin:.3rem 0 .6rem 1.1rem;padding:0}.warn{color:#8a5a00;background:#fff7e6;padding:.5rem .7rem;border-radius:6px}
table.comps tr.used td{background:#f7f3ea}button.danger{color:#a3321c;border-color:#a3321c}button.tiny{padding:.15rem .45rem;font-size:12px}
details summary{cursor:pointer;font-weight:600}h3{font-size:.95rem;margin:1rem 0 .3rem}

.lotnav{display:flex;gap:1.2rem;align-items:center;margin:0 0 .8rem;font-size:14px}.lotnav .grow{flex:1}.lotnav a{color:var(--accent);text-decoration:none}
kbd{font:11px ui-monospace,Menlo,monospace;background:#efece6;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 .3rem;color:#555}
.pill.queued{background:#fff4d6;color:#7a5a00}.queued{background:#fff7e6;color:#6b4e00;padding:.4rem .7rem;border-radius:6px}
.pricehist{margin:.6rem 0 .2rem;padding:.6rem .8rem;background:#faf8f3;border:1px solid var(--line);border-radius:8px}
svg.spark{display:block;width:100%;height:70px;margin:.3rem 0;stroke:var(--accent);fill:var(--accent)}

.deal{display:inline-block;min-width:2.2rem;text-align:center;padding:.1rem .4rem;border-radius:6px;font-weight:700;font-size:12px;background:#eee;color:#666}
.deal.speculative{background:#fff4d6;color:#7a5a00}.deal.good{background:#dff3e3;color:#1b5e20}.deal.hot{background:#8a5a2b;color:#fff}
.dealbox{border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;margin:.4rem 0 .8rem;background:#faf8f3}.dealbox.good{border-color:#9fcf9f}.dealbox.hot{border-color:var(--accent);background:#fdf6ec}
.dealhead{display:flex;gap:.5rem;align-items:center;margin-bottom:.3rem}ul.checks{list-style:none;margin:0;padding:0;font-size:13px}ul.checks li{padding:.1rem 0}ul.checks .mark{display:inline-block;width:1.1rem;font-weight:700}ul.checks li.ok .mark{color:#1b5e20}ul.checks li.ko .mark{color:#a3321c}ul.checks .pts{color:var(--muted);font-size:11px}

/* ---- responsive ---- */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.actionbar{display:none}
@media (max-width: 820px){
  header.top{flex-wrap:wrap;gap:.5rem .9rem;padding:.5rem .8rem}header nav a{margin-right:.7rem}header form.inline{margin-left:auto}
  main{padding:.7rem}.grid,.grid.two{grid-template-columns:1fr}.card{padding:.8rem}
  .lots .sec{display:none}td,th{padding:.45rem .35rem}
  .row{flex-wrap:wrap}input,select,button{min-height:40px;font-size:15px}button.tiny{min-height:32px}
  .carousel .stage{height:56vw;max-height:340px}.carousel .nav{top:calc(28vw - 19px);width:44px;height:44px}
  .lotnav{flex-wrap:wrap;gap:.6rem}.lotnav .keys{display:none}
  dl{grid-template-columns:auto 1fr}
  body{padding-bottom:64px}
  .actionbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;gap:.4rem;padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(0,0,0,.06)}
  .ab{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;border:1px solid var(--line);background:#faf8f3;color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;padding:0 .3rem;white-space:nowrap}
  .ab.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ab.danger{color:#a3321c;border-color:#e3b9ad}.ab.ok{background:#dff3e3;color:#1b5e20}.ab.disabled{opacity:.4}
}
@media (max-width: 480px){.lots th:nth-child(9),.lots td:nth-child(9){display:none}}

.rare{display:inline-block;padding:.1rem .4rem;border-radius:6px;font-weight:700;font-size:12px;background:#eef;color:#3b2a8a}.rare.rare_find{background:#5b3fb5;color:#fff}
.rarebox{border:1px solid #c9bff0;background:#f6f3ff;border-radius:8px;padding:.6rem .8rem;margin:.4rem 0 .8rem}.rarebox.rare_find{border-color:#5b3fb5}
.pill.rarity{background:#eef;color:#3b2a8a}
