/* Real catalog: denser navigation, bounded list, restrained collection states. */
[hidden]{display:none!important}
.primary-categories{flex-wrap:wrap;gap:0;overflow:visible;padding-inline:10px}
.primary-categories button{padding:14px 12px;font-size:.8rem}
.primary-categories button span{font-size:.7rem}
.secondary-line{padding:10px 16px;min-height:55px}
.secondary-categories{gap:4px}
.secondary-categories button{font-size:.8rem;padding:7px 11px}
.list-heading{flex-wrap:wrap}.search{flex:1;min-width:150px;max-width:235px}
.list-filters{gap:7px}.tier-picker select{font-size:.8rem;padding:8px;max-width:125px;border-radius:2px}
.list-filters button{font-size:.8rem}.table-wrap{max-height:650px;overflow:auto;scrollbar-width:thin;scrollbar-color:#655334 #15130f}
.table-wrap thead{position:sticky;top:0;z-index:1;background:#100f0b}
td{padding-block:12px}.item-tile{width:40px;height:40px;flex-shrink:0;background:#171510;border:1px solid #50432d;border-radius:3px}
.item-tile img{padding:0;background:#171510;object-fit:contain}
.icon-fallback{font-family:Georgia,serif;font-size:1.1rem;color:#75664b}
.item-tile.icon-missing{border-style:dashed;background:#191710}
.item-tile.image-failed{border-style:dashed}.item-select{min-width:150px}
.item-name{overflow-wrap:anywhere}.item-sub{color:#a99b7d}.tier-6{color:#edc774;border-color:#957337}
.market-panel table{min-width:450px}.market-panel .item-select{min-width:130px}
.rarity-cell{text-align:center;white-space:nowrap;width:58px;padding-inline:7px}
.rarity-label{font-size:.875rem;color:#bfb8a8}.rarity-3{color:#dfcda5}.rarity-4{color:#e9bf6a;font-weight:600}
.item-sub:empty{display:none}
@media(min-width:1191px){.workspace{grid-template-columns:minmax(450px,1.28fr) minmax(365px,1.1fr) minmax(260px,.72fr)}}
.collection-time{font-size:.8rem;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.pending-inline{color:#a4967c;font-size:.75rem}.detail-price .neutral{color:#9d8d6e}
.price-pending{min-height:210px;border-block:1px dashed #463a27;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:10px 0 18px;background:radial-gradient(ellipse at center,#33271655,transparent 72%)}
.price-pending svg{width:36px;height:36px;stroke:#9b7d45;stroke-width:1.4;fill:none;margin-bottom:10px}
.price-pending h3{margin:0 0 8px;font-size:.875rem;color:#c8b58d;font-weight:500}
.price-pending p{font-size:.8rem;line-height:1.8;color:#a09379;margin:0}
.observed-info{white-space:pre-line;overflow-wrap:anywhere;font-size:.85rem;line-height:2;color:#d4c5a7}
.detail-top .item-tile{width:46px;height:46px}.item-portrait .item-tile{width:64px;height:64px}.item-portrait .icon-fallback{font-size:1.5rem}
.info-footnote{margin-top:12px}.item-options h3{color:#ae9870}.sample-badge{font-size:.7rem}
@media(max-width:850px){.table-wrap{max-height:540px}.primary-categories{flex-wrap:nowrap;overflow-x:auto}.primary-categories button{padding:14px 12px}}
@media(max-width:600px){.list-footer{flex-wrap:wrap}.list-heading{gap:14px}.search{max-width:none}.table-wrap{max-height:450px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Data status stays subordinate to prices, with explicit errors instead of zero. */
.field-error{font-size:.8rem;font-weight:500;color:#dda778;white-space:nowrap}
.data-error,#connection-status{color:#dda778;font-size:.9rem;line-height:1.6}
#connection-status{padding:8px 0 16px}
#connection-status[hidden]{display:none}
.comparison-basis{font-size:.85rem;color:var(--muted);line-height:1.6;margin-top:12px}
.server-label select{max-width:270px;background:#15140f;color:#dec58a;border:1px solid #504529;padding:8px;font:inherit}
.history-table{width:100%;text-align:left;font-size:.85rem;border-collapse:collapse}
.history-table th,.history-table td{padding:9px 6px;border-bottom:1px solid #383023}
.history-table td:not(:first-child),.history-table th:not(:first-child){text-align:right}
#price-history{height:auto;min-height:150px;max-height:360px;overflow:auto}
#price-history .live-price-chart{width:100%;margin:8px 0 12px}
#price-history .live-price-chart svg{display:block;width:100%;height:auto;margin:0;stroke:none;fill:none}
.live-price-chart svg text{fill:var(--muted);font:14px sans-serif}
.live-price-chart .price-grid{stroke:var(--line);stroke-dasharray:4 6;stroke-width:1}
.live-price-chart .price-line-path{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.live-price-chart .price-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2;cursor:crosshair}
.live-price-chart .price-dot:hover,.live-price-chart .price-dot:focus{r:7;stroke:var(--text);outline:none}
.live-price-chart figcaption{color:var(--muted);font-size:.875rem;line-height:1.6;padding:0 10px}
#refresh-data{color:#c0a36b;font:inherit}
/* Latest means share one snapshot; detailed history keeps intraday observations. */
.market-panel table{min-width:680px}
.market-panel th.number,.market-panel td.number{white-space:nowrap;padding-inline:10px}
.price-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.price-comparison .detail-price{margin:0;padding:0;min-width:0}
.price-comparison .price-line{margin-top:8px;flex-wrap:wrap}
.price-comparison .price-line strong{font-size:clamp(1.6rem,2.3vw,2.5rem);overflow-wrap:anywhere}
.price-comparison .change-pill{display:inline-flex;flex-wrap:wrap;gap:5px;margin-top:8px;font-size:.75rem}
.history-modes{display:inline-flex;margin:0 0 8px}.chart-explanation{font-size:.75rem;color:var(--muted);line-height:1.6;margin:4px 0 8px}
#price-history{max-height:none;overflow:visible}
.chart-legend{display:flex;justify-content:center;gap:20px;font-size:.8rem;color:var(--muted)}
.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:20px;border-top:3px solid var(--accent)}
.chart-legend .seven-day i{border-color:#c8c5b9;border-top-style:dashed}
.live-price-chart .price-line-path.seven-day{stroke:#c8c5b9;stroke-width:2;stroke-dasharray:6 5}
.live-price-chart .price-dot.seven-day{fill:#c8c5b9}
.live-price-chart .chart-readout{min-height:48px;margin:8px 10px 0;font-size:.75rem;line-height:1.7;color:var(--text);text-align:left}
@media(min-width:1400px){.workspace{grid-template-columns:minmax(580px,1.4fr) minmax(385px,1.05fr) minmax(250px,.65fr)}}
@media(max-width:420px){.price-comparison{gap:10px}.price-comparison .metric-label{font-size:.75rem}}
