:root{--sleeve: #e8ebee;--sleeve-deep: #dde1e6;--ink: #1b2432;--ink-soft: #4a5568;--slab-red: #b3202c;--foil-gold: #9a7b1e;--label-cream: #faf7ef;--line: #c3c9d1;--green: #2e6e4e;--font-display: "Barlow Condensed", sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-body: "Inter", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--sleeve);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55}.page{max-width:1120px;margin:0 auto;padding:0 24px 64px}.masthead{display:flex;align-items:baseline;gap:16px;padding:28px 0 20px;border-bottom:3px solid var(--ink);margin-bottom:32px}.wordmark{font-family:var(--font-display);font-weight:700;font-size:42px;letter-spacing:.08em;color:var(--ink)}.wordmark:first-letter{color:var(--slab-red)}.tagline{color:var(--ink-soft);font-size:14px}.layout{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start}@media (max-width: 820px){.layout{grid-template-columns:1fr}}.dropzone{aspect-ratio:5 / 7;border:2px dashed var(--line);border-radius:10px;background:var(--sleeve-deep);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:border-color .12s ease,background .12s ease}.dropzone:hover,.dropzone.dragging{border-color:var(--slab-red);background:#e3e7eb}.dropzone:focus-visible{outline:3px solid var(--slab-red);outline-offset:2px}.dropzone.busy{opacity:.65;pointer-events:none}.dropzone .preview{width:100%;height:100%;object-fit:contain}.dropzone-empty{text-align:center;padding:24px;color:var(--ink-soft)}.dropzone-empty p{margin:6px 0}.dropzone-empty strong{color:var(--ink)}.dz-sub{font-size:12.5px}.dz-frame{width:74px;height:104px;margin:0 auto 16px;border:2px solid var(--line);border-radius:6px;position:relative}.dz-frame:after{content:"";position:absolute;inset:8px 8px auto 8px;height:34px;border:1.5px solid var(--line);border-radius:3px}.working{color:var(--ink-soft);font-size:13.5px;margin-top:14px}.error{margin-top:14px;padding:10px 14px;font-size:13.5px;border-left:4px solid var(--slab-red);background:#f6e3e4}.slab{background:var(--label-cream);border:1.5px solid var(--ink);border-radius:6px;box-shadow:0 2px 0 var(--ink),0 10px 24px #1b24321f;overflow:hidden}.slab-head{display:flex;justify-content:space-between;align-items:stretch;border-bottom:1.5px solid var(--ink)}.slab-title{padding:14px 18px;min-width:0}.slab-name{display:block;font-family:var(--font-display);font-weight:700;font-size:30px;line-height:1.05;letter-spacing:.02em;text-transform:uppercase}.slab-set{display:block;margin-top:3px;font-size:13px;color:var(--ink-soft)}.slab-grade{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 18px;min-width:96px;border-left:1.5px solid var(--ink);font-family:var(--font-display)}.grade-word{font-size:12px;letter-spacing:.18em;font-weight:600}.grade-num{font-family:var(--font-mono);font-size:28px;font-weight:600}.tier-high{background:#f3ecd4;color:var(--foil-gold)}.tier-mid{background:#e8edf4;color:var(--ink)}.tier-low{background:#f6e3e4;color:var(--slab-red)}.slab-body{padding:18px}.ladder{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px}.rung{text-align:center;padding:10px 6px;border:1px solid var(--line);border-radius:4px}.rung-mid{border:1.5px solid var(--slab-red)}.rung-label{display:block;font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.rung-mid .rung-label{color:var(--slab-red)}.rung-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.rung-mid .rung-price{font-size:26px}.no-estimate{margin:4px 0;color:var(--ink-soft)}.slab-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:12.5px;color:var(--ink-soft)}.slab-serial{margin-left:auto;font-family:var(--font-mono);color:var(--slab-red);letter-spacing:.1em}.warnings{margin:18px 0 0;padding:12px 16px 12px 32px;background:#f3ecd4;border-left:4px solid var(--foil-gold);font-size:13.5px}.warnings li{margin:4px 0}.freshness{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.chip{font-family:var(--font-mono);font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line)}.chip-fresh{border-color:var(--green);color:var(--green)}.chip-stale{border-color:var(--foil-gold);color:var(--foil-gold)}.chip-err{border-color:var(--slab-red);color:var(--slab-red)}.factors{margin-top:18px;display:grid;gap:8px}.factor{display:grid;grid-template-columns:150px 1fr 34px;gap:12px;align-items:center;font-size:13px}.factor-label{color:var(--ink-soft)}.factor-bar{height:8px;background:var(--sleeve-deep);border-radius:4px;overflow:hidden}.factor-fill{height:100%;background:var(--ink)}.factor-val{font-family:var(--font-mono);text-align:right}.comps{margin-top:28px}.comps h2{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:6px}.comps table{width:100%;border-collapse:collapse;font-size:13.5px}.comps th{text-align:left;font-family:var(--font-display);font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:8px 10px 6px;border-bottom:1px solid var(--line)}.comps td{padding:8px 10px;border-bottom:1px solid var(--sleeve-deep);vertical-align:top}.comps .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.listing{max-width:420px;overflow-wrap:anywhere}.listing a{color:var(--ink);text-decoration-color:var(--line)}.listing a:hover{text-decoration-color:var(--slab-red)}tr.excluded td,tr.excluded .listing a{color:#9aa3ae}.src{font-family:var(--font-mono);font-size:11.5px;padding:1px 7px;border-radius:3px;border:1px solid currentColor}.src-ebay{color:#5b4bb5}.src-pokemontcg{color:var(--slab-red)}.src-scryfall{color:var(--green)}.status-used{color:var(--green);font-weight:500}.status-cut{color:#9aa3ae;font-style:italic}.idle{border:1px solid var(--line);border-radius:6px;padding:22px 26px;color:var(--ink-soft);background:var(--sleeve-deep)}.idle ol{margin:10px 0 0;padding-left:20px}.idle li{margin:8px 0}.foot{margin-top:48px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-soft)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
