/* Physical databases — Cards, Shoes, Cars. Built on clothes.css (same page shell). */
.market-page .topbar-tabs { overflow-x:auto; scrollbar-width:none; }
.market-bar { display:flex; flex-wrap:wrap; gap:12px; align-items:end; padding:18px; margin:0 0 18px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg); }
.market-bar label { flex:1; min-width:130px; }
.market-bar .market-wide { flex:3; min-width:220px; }
.market-bar button { min-height:41px; }
.market-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 16px; margin:8px 0 14px; }
.market-head h2 { font-size:18px; font-weight:600; margin:0; }
.market-head span { font-size:11px; color:var(--ink-3); }
.market-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.market-stat { padding:14px 16px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg); display:grid; gap:4px; }
.market-stat span { font-size:11px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.06em; }
.market-stat strong { font-size:22px; font-weight:600; font-variant-numeric:tabular-nums; }
.market-stat small { font-size:11px; color:var(--ink-3); }
.market-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:14px; }
.market-card { display:grid; gap:6px; align-content:start; text-align:left; padding:10px !important; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg) !important; color:var(--ink); }
.market-card img, .market-card .market-noimg { width:100%; aspect-ratio:63/88; object-fit:contain; border-radius:6px; background:var(--paper); display:block; }
.market-card strong { font-size:13px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.market-card small { font-size:11px; color:var(--ink-3); line-height:1.4; }
.market-card .market-price { font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; }
.market-listing { text-decoration:none; display:block; }
.market-listing .clothes-image { height:180px; }
.market-out { display:block; margin-top:8px; }
.market-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.market-chips button { padding:6px 12px !important; font-size:12px; }
.market-chips button[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.market-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:auto; padding:24px; }
.market-dialog::backdrop { background:rgb(0 0 0 / .45); }
.market-detail { display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; }
.market-detail img { width:100%; border-radius:10px; background:var(--paper); }
.market-detail h2 { margin:0 0 6px; font-size:22px; }
.market-table { width:100%; border-collapse:collapse; font-size:13px; margin:12px 0; }
.market-table th, .market-table td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--rule); }
.market-table td.num, .market-table th.num { text-align:right; font-variant-numeric:tabular-nums; }
.market-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px; }
.market-actions a { font-size:12px; }
.market-close { float:right; }
.market-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin-bottom:18px; }
.market-two .clothes-panel h2 { font-size:16px; margin:0 0 12px; }
.market-panel-form { display:grid; gap:12px; }
.market-panel-form .clothes-form-row { align-items:end; }
.market-recalls { display:grid; gap:10px; }
.market-recalls details { padding:12px 14px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg); }
.market-recalls summary { cursor:pointer; font-size:13px; font-weight:600; }
.market-recalls p { margin:8px 0 0; }
.market-dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin:10px 0; font-size:13px; }
.market-dl div { display:grid; gap:2px; }
.market-dl dt { font-size:11px; color:var(--ink-3); }
.market-dl dd { margin:0; overflow-wrap:anywhere; }
.market-empty { grid-column:1/-1; padding:36px 20px; text-align:center; border:1px dashed var(--rule-2); border-radius:var(--r-lg); font-size:13px; color:var(--ink-2); }
.market-page #pageMessage.is-error { border-color:var(--rule-2); }
@media (max-width:800px) {
  .market-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .market-two, .market-detail { grid-template-columns:1fr; }
  .market-detail img { max-width:260px; margin:auto; }
}
@media (max-width:480px) {
  .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .market-page main { padding:20px 16px; }
}
.market-sub { font-size:15px; font-weight:600; margin:22px 0 12px; }
.market-page #pageMessage { padding:12px 16px; margin:0 0 16px; border:1px solid var(--rule); border-radius:var(--r-lg); background:var(--card); font-size:13px; color:var(--ink); }
.market-note { margin:0 0 18px; font-size:13px; line-height:1.6; }
.market-sales td:first-child, .market-table td.handle { font-weight:600; overflow-wrap:anywhere; }
.market-table td small { color:var(--ink-3); }
.market-table button { padding:4px 10px !important; font-size:11px; }
.domain-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; align-items:baseline; }
.domain-head h2 { margin:0; font-size:22px; overflow-wrap:anywhere; }
.domain-state { font-size:12px; font-weight:600; padding:4px 10px; border:1px solid var(--rule-2); border-radius:999px; }
.domain-traits { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.domain-traits span { font-size:11px; padding:3px 8px; border:1px solid var(--rule); border-radius:999px; color:var(--ink-2); }
/* Activity: small multiples, one series each, bars per day */
.act-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; margin-bottom:18px; }
.act-chart { position:relative; padding:14px 16px 10px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg); }
.act-chart h3 { margin:0; font-size:13px; font-weight:600; }
.act-chart .act-sum { font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; margin:4px 0 2px; }
.act-chart .act-sub { font-size:11px; color:var(--ink-3); }
.act-chart svg { display:block; width:100%; height:84px; margin-top:8px; overflow:visible; }
.act-chart rect.bar { fill:var(--ink); opacity:.78; }
.act-chart rect.hit { fill:transparent; }
.act-chart rect.hit:hover + rect.bar, .act-chart g:hover rect.bar { opacity:1; }
.act-chart line.base { stroke:var(--rule-2); stroke-width:1; }
.act-chart .act-axis { display:flex; justify-content:space-between; font-size:10px; color:var(--ink-3); margin-top:4px; }
.act-tip { position:absolute; pointer-events:none; padding:6px 9px; font-size:11px; background:var(--ink); color:var(--paper); border-radius:6px; white-space:nowrap; transform:translate(-50%,-120%); z-index:2; }
.act-tip[hidden] { display:none; }
.act-bars { display:grid; gap:8px; margin-top:8px; }
.act-bars div { display:grid; grid-template-columns:110px minmax(0,1fr) 56px; gap:10px; align-items:center; font-size:12px; }
.act-bars i { display:block; height:10px; background:var(--ink); opacity:.78; border-radius:0 4px 4px 0; }
.act-bars b { font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
.act-lower { margin-top:4px; }
.act-table { margin:18px 0; font-size:13px; }
.act-table summary { cursor:pointer; font-weight:600; }
.linkish { background:none !important; border:0 !important; padding:0 !important; font:inherit; font-weight:600; color:var(--ink); text-decoration:underline; cursor:pointer; text-align:left; }
.market-page .clothes-tabs { overflow-x:auto; scrollbar-width:none; }
.market-page .clothes-tabs::-webkit-scrollbar { display:none; }
.market-page .clothes-tabs button { white-space:nowrap; flex:0 0 auto; }
.market-page .db-scroll { overflow-x:auto; max-width:100%; }
.market-spark { width:80px; height:22px; display:block; color:var(--ink-2); }
.market-muted { color:var(--ink-3); }
.market-brands th button { background:none !important; border:0 !important; padding:0 !important; font:inherit; font-weight:600; color:var(--ink-2); cursor:pointer; }
.market-brands th[aria-sort=ascending] button::after { content:" ↑"; } .market-brands th[aria-sort=descending] button::after { content:" ↓"; }
@media (max-width:700px) { .market-table .wide { display:none; } }
.market-crumbs { display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:12px; margin:0 0 14px; color:var(--ink-3); }
.market-crumbs a { color:var(--ink-2); }
.market-crumbs:empty { display:none; }
.market-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-bottom:22px; }
.market-tile { display:grid; gap:4px; padding:14px 16px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg); color:var(--ink); text-decoration:none; }
.market-tile:hover, .market-tile:focus-visible { border-color:var(--rule-2); }
.market-tile strong { font-size:14px; font-weight:600; }
.market-tile small { font-size:11px; color:var(--ink-3); }
.market-tile img { width:100%; height:64px; object-fit:contain; margin-bottom:4px; }
.market-az { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:4px 14px; margin:10px 0 18px; font-size:13px; }
.market-az a { color:var(--ink); padding:5px 0; text-decoration:none; border-bottom:1px solid var(--rule); display:flex; justify-content:space-between; gap:8px; }
.market-az a small { color:var(--ink-3); font-variant-numeric:tabular-nums; }
.market-more { margin:6px 0 22px; }
.market-more summary { cursor:pointer; font-weight:600; font-size:14px; margin-bottom:8px; }
.market-more input { max-width:320px; }
.market-vin { margin-top:10px; }
.market-inline { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.market-safety { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-bottom:8px; }
.market-safety article { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; padding:14px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg); align-items:center; }
.market-safety img { width:120px; height:80px; object-fit:contain; background:var(--paper); border-radius:6px; }
.market-safety h4 { margin:0 0 6px; font-size:13px; font-weight:600; }
.market-safety p { margin:2px 0 !important; font-size:12px !important; }
.market-chart { position:relative; padding:14px 16px 10px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r-lg); margin:0 0 18px; }
.market-chart h3 { margin:0 0 6px; font-size:13px; font-weight:600; }
.market-chart svg { display:block; width:100%; height:120px; overflow:visible; }
.market-chart .act-axis { display:flex; justify-content:space-between; font-size:10px; color:var(--ink-3); margin-top:4px; }
.market-tiles-lg { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); } .market-tiles-lg .market-tile { padding:20px; gap:8px; } .market-tiles-lg .market-tile strong { font-size:18px; } .market-tiles-lg .market-tile span { font-size:13px; color:var(--ink-2); line-height:1.5; }
.market-setgroup { margin:0 0 18px; } .market-setgroup h3 { font-size:13px; font-weight:600; color:var(--ink-2); margin:0 0 8px; }
.market-sets { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px; }
.market-sets a { display:grid; grid-template-columns:44px minmax(0,1fr); gap:10px; align-items:center; padding:10px 12px; background:var(--card); border:1px solid var(--rule); border-radius:var(--r); color:var(--ink); text-decoration:none; font-size:12px; }
.market-sets a:hover, .market-sets a:focus-visible { border-color:var(--rule-2); }
.market-sets img { width:44px; height:28px; object-fit:contain; }
.market-sets .market-svg { filter:none; }
.market-sets strong { display:block; font-weight:600; overflow-wrap:anywhere; } .market-sets small { color:var(--ink-3); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .market-sets img.market-svg { filter:invert(1); } }
:root[data-theme="dark"] .market-sets img.market-svg { filter:invert(1); }
.market-capture { margin:6px 0 18px; } .market-capture h2 { font-size:16px; margin:0; } .market-capture button { margin-top:6px; }
.market-capture { margin:6px 0 18px; } .market-capture h2 { font-size:16px; margin:0; } .market-capture button { margin-top:6px; }
/* Choice tiles — the same look as the Physical page (icon, title, line, Enter →). */
.market-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,300px)); gap:18px; justify-content:center; margin:28px 0 8px; }
.market-choice { display:flex; flex-direction:column; gap:14px; padding:30px 28px 26px; background:var(--card); border:1px solid var(--rule); border-radius:14px;
  color:inherit; text-decoration:none; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; animation:market-arrive .8s cubic-bezier(.22,.61,.36,1) both; }
.market-choice:nth-child(2) { animation-delay:.06s; } .market-choice:nth-child(3) { animation-delay:.12s; } .market-choice:nth-child(4) { animation-delay:.18s; }
.market-choice:nth-child(5) { animation-delay:.24s; } .market-choice:nth-child(6) { animation-delay:.3s; }
.market-choice:hover, .market-choice:focus-visible { transform:translateY(-3px); border-color:var(--ink); box-shadow:0 10px 30px rgba(0,0,0,.08); outline:none; }
.market-choice svg { width:34px; height:34px; stroke:var(--ink); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.market-choice h2 { margin:0; font-size:24px; font-weight:650; letter-spacing:-.02em; }
.market-choice p { margin:0 !important; color:var(--ink-2); font-size:14px !important; line-height:1.55; }
.market-choice .go { margin-top:auto; padding-top:8px; font-size:13px; font-weight:600; color:var(--ink-3); display:flex; align-items:center; gap:6px; transition:color .18s ease, gap .18s ease; }
.market-choice:hover .go, .market-choice:focus-visible .go { color:var(--ink); gap:10px; }
.market-choices.small .market-choice { padding:22px 22px 20px; gap:10px; }
.market-choices.small .market-choice h2 { font-size:20px; }
@keyframes market-arrive { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .market-choice { animation:none; transition:none; } }
@media (max-width:640px) {
  .market-choices { grid-template-columns:1fr; gap:12px; margin-top:18px; }
  .market-choice { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:6px 14px; padding:18px 16px !important; border-radius:12px; }
  .market-choice svg { grid-column:1; grid-row:1 / 3; width:28px; height:28px; align-self:center; }
  .market-choice h2 { grid-column:2; font-size:20px !important; }
  .market-choice p { grid-column:2; font-size:13px !important; }
  .market-choice .go { grid-column:3; grid-row:1 / 3; align-self:center; margin:0; padding:0; font-size:12px; }
  .market-choice:hover, .market-choice:focus-visible { transform:none; }
}
