/* Item index: every catalog item, values, RAP and RSP. */
.index-page{width:min(1800px,calc(100% - 64px));margin:28px auto 64px}
.index-heading{margin-bottom:22px}
.index-heading h1{margin:6px 0 8px;font-size:30px;line-height:1.15}
.index-heading p{margin:0;color:var(--muted);max-width:640px}
.index-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}
.index-search{flex:1 1 320px;max-width:520px}
.index-search input{width:100%}
.index-sort{width:230px}
.index-sort .sort-picker{margin:0}
.index-sort .sort-trigger{height:42px;font-size:13px}
/* "Listed only" switch. */
.index-toggle{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 13px 0 10px;border:1px solid hsl(var(--theme-hue,217) calc(29.2% * var(--theme-saturation,1)) 28.2%);border-radius:8px;background:hsl(var(--theme-hue,217) calc(37.2% * var(--theme-saturation,1)) 14.5%);color:hsl(var(--theme-hue,217) calc(34.6% * var(--theme-saturation,1)) 79.6%);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.index-toggle:hover{border-color:hsl(var(--theme-hue,217) calc(36.5% * var(--theme-saturation,1)) 50.6%)}
.index-toggle:focus-visible{outline:2px solid var(--theme-accent,var(--blue));outline-offset:2px}
.index-toggle-track{position:relative;width:32px;height:18px;flex:none;border-radius:999px;background:hsl(var(--theme-hue,217) calc(20% * var(--theme-saturation,1)) 26%);transition:background .18s}
.index-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0006;transition:transform .18s}
.index-toggle[aria-checked=true]{color:#fff;border-color:hsl(var(--theme-hue,217) calc(43.9% * var(--theme-saturation,1)) 45%)}
.index-toggle[aria-checked=true] .index-toggle-track{background:var(--theme-accent,var(--blue))}
.index-toggle[aria-checked=true] .index-toggle-thumb{transform:translateX(14px)}
.index-count{margin-left:auto;color:var(--muted);font-size:13px}
/* Six compact cards per row on desktop. */
.index-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.index-grid>.empty-state,.index-grid>.market-loading{grid-column:1/-1}
.float-card.index-card{cursor:pointer;overflow:visible;transition:border-color .15s,transform .15s}
.float-card.index-card:hover,.float-card.index-card:focus-within{z-index:2}
.index-card:hover{border-color:var(--theme-accent,var(--blue));transform:translateY(-2px)}
.index-card .item-name{min-width:0;font-size:12.5px;line-height:1.35;height:2.7em}
.index-card .float-image{height:150px}
.index-card .float-image>button:first-child{padding:20px 18px 6px}
.index-card .float-image>button>img{width:min(80%,116px)}
.index-card .float-card-info{padding-top:8px}
.index-card .catalog-card-stats>div{min-height:22px}
.index-card .catalog-card-stats dt{font-size:11px}
.index-card .catalog-card-stats dd{font-size:12px}
.index-card-stats .card-rsp dd{color:#edbf59}
/* Listings: a slim status bar under the stats, green when the item is for sale. */
.index-card-market{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;margin:10px 0 0;padding:0 9px;box-sizing:border-box;border:1px solid var(--theme-border);border-radius:8px;background:color-mix(in srgb,var(--theme-surface) 55%,transparent);font-size:11.5px;transition:border-color .15s,background .15s}
.index-market-count{display:inline-flex;align-items:center;gap:7px;min-width:0;overflow:hidden;color:var(--muted);font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.index-market-count i{width:6px;height:6px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--muted) 55%,transparent)}
.index-card-market.is-listed{border-color:color-mix(in srgb,#3ccf6e 30%,var(--theme-border));background:color-mix(in srgb,#3ccf6e 7%,transparent)}
.index-card-market.is-listed .index-market-count{color:#62dc8f}
.index-card-market.is-listed .index-market-count i{background:#3ccf6e;box-shadow:0 0 0 3px color-mix(in srgb,#3ccf6e 22%,transparent)}
.index-card:hover .index-card-market.is-listed{border-color:color-mix(in srgb,#3ccf6e 50%,var(--theme-border))}
/* "from $250": one size, one line with "3 listings"; only the weight and colour differ. */
.index-market-price{display:inline-flex;align-items:baseline;gap:4px;flex:none;color:var(--text);font-size:inherit;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.index-market-price small{color:var(--muted);font-size:inherit;font-weight:500;line-height:inherit}
@container (max-width:165px){.index-market-price small{display:none}}
.index-more{display:flex;justify-content:center;margin-top:20px}
.index-more:empty{display:none}
/* Page buttons under the index and the calculator's item list. */
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
.pager button{display:grid;place-items:center;min-width:38px;height:38px;padding:0 11px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-surface);color:var(--text);font:inherit;font-size:13.5px;font-weight:650;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.pager button:hover:not(:disabled,[aria-current=page]){border-color:var(--theme-accent);color:var(--theme-accent)}
.pager button[aria-current=page]{border-color:var(--theme-primary);background:var(--theme-primary);color:var(--theme-on-primary,#fff);cursor:default}
.pager button:disabled{opacity:.4}
.pager .pager-step{padding:0}
.pager-step .icon{width:16px;height:16px}
.pager-previous .icon{transform:rotate(180deg)}
.pager-gap{min-width:18px;color:var(--muted);text-align:center}
@media(max-width:420px){.pager{gap:4px}.pager button{min-width:34px;height:34px;padding:0 8px;font-size:13px}}
@media(max-width:1280px){.index-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){.index-page{width:calc(100% - 32px)}.index-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.index-page{width:calc(100% - 24px);margin-top:18px}.index-heading h1{font-size:24px}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.index-sort{flex:1 1 180px;width:auto}.index-count{margin-left:0;width:100%}}


/* Item popup in index mode. */
.detail-index-prices{align-items:flex-start}
.detail-index-prices>div:last-child{text-align:right}
.detail-index-prices strong{display:block}
.detail-index-note{margin:0 0 14px;color:var(--muted);font-size:12px}
.detail-index-card .detail-purchase-actions .button{width:100%;justify-content:center}
