.database-view-toggle button {
  min-height: 44px;
  border: 0;
  padding: 0 18px;
  background: rgba(15, 24, 33, 0.86);
  color: var(--muted);
  font-size: var(--t-body);
  font-weight: 700;
  cursor: pointer;
}
.database-view-toggle button + button {
  border-left: 1px solid rgba(147, 164, 179, 0.2);
}
.inv-page .inv-hero { display: grid; grid-template-columns: minmax(0, 1fr) 620px; gap: 34px;
  align-items: center; padding: 30px 0 8px; }
.inv-page .inv-hero h1 { margin: 0 0 18px; font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.02; }
.inv-page .inv-said { padding-top: 20px; border-top: 1px solid rgba(95, 199, 223, .4); }
.inv-page .inv-say { margin: 0; max-width: 30ch; font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.3vw, 2rem); font-weight: 700; line-height: 1.16; color: var(--ink); }
.inv-page .inv-fig { margin: 13px 0 0; max-width: 46ch; font-size: var(--t-base); line-height: 1.6; color: var(--muted); }
.inv-page .inv-band { display: flex; flex-wrap: wrap; gap: 6px 26px; margin: 16px 0 0;
  font-family: var(--font-mono); font-size: var(--t-body); color: var(--dim); font-variant-numeric: tabular-nums; }
.inv-page .dp-triad { --dp-glow-a: rgba(63, 227, 164, .12); --dp-glow-b: rgba(95, 199, 223, .12); }
.inv-page .inv-capline { margin: 4px 0 0; text-align: center; font-family: var(--font-mono);
  font-size: var(--t-small); color: var(--dim); }
.inv-page .inv-aside { display: inline; margin-left: 14px; font-size: var(--t-body); color: var(--dim); }
.inv-page .inv-loadstatus { margin: 10px 0 0; max-width: 52ch; font-size: var(--t-body);
  line-height: 1.6; color: var(--dim); }
.inv-page .inv-fold { margin: 20px 0 0; max-width: 62ch; }
.inv-page .inv-fold summary { cursor: pointer; font-family: var(--font-display); font-size: var(--t-base);
  font-weight: 600; color: var(--muted); }
.inv-page .inv-fold p { margin: 10px 0 8px; font-size: var(--t-body); line-height: 1.65; color: var(--dim); }
.inv-page .inv-fold textarea { width: 100%; min-height: 110px; padding: 10px 12px; resize: vertical;
  border: 1px solid var(--line); border-radius: 8px; background: rgba(15, 24, 33, .8);
  color: var(--ink); font-family: var(--font-mono); font-size: var(--t-body); line-height: 1.6; }
.inv-page .inv-fold-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 10px; }
.inv-page .inv-fold-status { font-size: var(--t-body); color: var(--dim); }
.inv-page .inv-find { margin: 28px 0 0; }
.inv-page .cdb-line { grid-template-columns: minmax(0, 1fr) auto; }
.inv-page .inv-cols { display: grid; grid-template-columns: 44px minmax(0, 1.5fr) 64px 96px 110px 92px;
  gap: 0 16px; padding: 12px 0 8px; font-family: var(--font-display); font-size: var(--t-small);
  font-weight: 600; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--dim); }
.inv-page .inv-cols .r { text-align: right; }
.inv-page .inv-row { display: grid; grid-template-columns: 44px minmax(0, 1.5fr) 64px 96px 110px 92px;
  gap: 0 16px; align-items: center; padding: 9px 0; width: 100%; text-align: inherit;
  border: 0; border-top: 1px solid rgba(45, 58, 70, .5); background: none;
  text-decoration: none; cursor: pointer; font: inherit; color: inherit; }
.inv-page .inv-row img { width: 44px; height: auto; display: block; filter: drop-shadow(0 3px 8px rgba(0,0,0,.5)); }
.inv-page .inv-manual { display: grid; place-items: center; width: 44px; height: 58px;
  border: 1px dashed rgba(45, 58, 70, .9); border-radius: 6px;
  font-family: var(--font-mono); font-size: var(--t-base); color: var(--dim); }
.inv-page .inv-nm { min-width: 0; }
.inv-page .inv-nm strong { display: block; font-family: var(--font-display); font-size: var(--t-base); font-weight: 600;
  letter-spacing: .01em; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv-page .inv-nm small { font-size: var(--t-small); color: var(--dim); }
.inv-page .inv-num { font-family: var(--font-mono); font-size: var(--t-body); color: var(--ink);
  text-align: right; font-variant-numeric: tabular-nums; }
.inv-page .inv-call { font-family: var(--font-display); font-size: var(--t-small); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; text-align: right; }
.inv-page .call-sell, .inv-page .call-quick { color: var(--sage); }
.inv-page .call-hold, .inv-page .call-watch { color: var(--steel); }
.inv-page .call-squad, .inv-page .call-collect, .inv-page .call-match { color: var(--cyan); }
.inv-page .call-exchange { color: var(--gold); }
.inv-page .inv-dock { --dock: var(--cyan); border-top: 1px solid rgba(45, 58, 70, .55);
  border-bottom: 1px solid rgba(45, 58, 70, .55); border-left: 2px solid var(--dock);
  background: linear-gradient(160deg, rgba(95, 199, 223, .05), transparent 55%), rgba(15, 24, 33, .6);
  padding: 15px 22px 17px; margin: 0; }
.inv-page .inv-dock.t-hold, .inv-page .inv-dock.t-watch { --dock: var(--steel); }
.inv-page .inv-dock p { margin: 0 0 8px; max-width: 68ch; font-size: var(--t-base); line-height: 1.62; color: var(--muted); }
.inv-page .inv-dock p b { color: var(--ink); font-weight: 600; }
.inv-page .inv-dock .figs b { color: var(--ink); font-weight: 600; }
.inv-page .inv-dock .acts a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px;
  border: 1px solid var(--line); border-radius: 7px; color: var(--muted); text-decoration: none;
  font-family: var(--font-display); font-size: var(--t-small); font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; }
.inv-page .inv-dock .acts a.go { min-height: 44px; border-color: rgba(63, 227, 164, .5);
  background: rgba(63, 227, 164, .12); color: #7bf0c0; }
.inv-page .inv-dock.t-hold .acts a.go, .inv-page .inv-dock.t-watch .acts a.go {
  border-color: rgba(95, 199, 223, .55); background: rgba(95, 199, 223, .14); color: var(--cyan-ink); }
.inv-page .inv-dock.t-exchange .acts a.go {
  border-color: rgba(241, 184, 75, .5); background: rgba(241, 184, 75, .13); color: var(--gold); }
.inv-page .inv-board { margin: 4px 0 8px; }
.inv-page .inv-status { padding: 12px 0 0; font-family: var(--font-mono); font-size: var(--t-small); color: var(--dim); }
.inv-page .inv-foot { padding: 6px 0 0; margin-bottom: 60px; font-family: var(--font-mono);
  font-size: var(--t-small); color: var(--dim); }
.inv-page .inv-foot button.inline-link { border: 0; background: none; padding: 0; cursor: pointer;
  font-family: inherit; color: var(--cyan); }
@media (max-width: 1311px) {
.inv-page .inv-hero { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
.inv-page .inv-cols { display: none; }
.inv-page .inv-row { grid-template-columns: 36px minmax(0, 1fr) 96px 78px; }
.inv-page .inv-row img { width: 36px; }
.inv-page .inv-manual { width: 36px; height: 48px; }
.inv-page .inv-row .inv-num:not(.is-ink) { display: none; }
}
.inv-page .inv-more { display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 16px 0 4px; }
.inv-page .inv-more span { font-family: var(--font-mono); font-size: var(--t-small); color: var(--dim); }
.inv-page .inv-cols { font-size: var(--t-base); }
.inv-page .inv-num { font-size: var(--t-base); }
.inv-page .inv-call { font-size: var(--t-base); }
.inv-page .inv-nm strong { font-size: 1.12rem; }
.inv-page .inv-nm small { font-size: var(--t-body); }
.inv-page .inv-status, .inv-page .inv-foot { font-size: var(--t-body); }
.inv-page .inv-cols { font-size: var(--t-micro); letter-spacing: .16em; color: var(--muted); }
.inv-viewbar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 0 0 18px; }
.inv-page .inv-viewbar .database-view-toggle button { background: none; border: 0;
  border-bottom: 3px solid transparent; border-radius: 0; padding: 11px 2px; min-height: 44px;
  font-family: var(--font-display); font-size: var(--t-base); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
  display: inline-flex; align-items: baseline; gap: 9px; }
.inv-page .inv-viewbar .database-view-toggle button + button { border-left: 0; }
.inv-page .inv-viewbar .database-view-toggle button:hover { color: var(--ink); }
.inv-page .inv-viewbar .database-view-toggle button:focus-visible { outline: 2px solid var(--cyan);
  outline-offset: 3px; }
.inv-page .inv-viewbar .database-view-toggle button.is-active { color: var(--ink);
  background: none; border-bottom-color: var(--cyan); }
.inv-viewnum { font-family: var(--font-mono); font-size: var(--t-small); font-weight: 400;
  letter-spacing: 0; text-transform: none; color: var(--sage); }
.inv-viewnum[hidden] { display: none; }
.inv-provenance { margin: 0; font-family: var(--font-mono); font-size: var(--t-micro); color: var(--dim); letter-spacing: .05em; text-transform: uppercase; }
.sv-lead { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin: 0 0 14px; }
.sv-fig { font-family: var(--font-mono); font-size: clamp(2rem, 4.4vw, 2.75rem); line-height: .92;
  color: var(--sage); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.sv-cap { font-family: var(--font-display); font-size: var(--t-small); font-weight: 700;
  letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--muted); padding-bottom: 6px; }
.sv-bar { display: flex; gap: 2px; height: 6px; margin: 0 0 10px; }
.sv-bar i { display: block; border-radius: 2px; min-width: 3px; }
.sv-bar .k-sell { background: var(--sage); }
.sv-bar .k-coll { background: var(--gold); opacity: .82; }
.sv-bar .k-none { background: #46586a; }
.sv-bar .k-rest { background: #26323d; }
.sv-key { display: flex; gap: 20px; flex-wrap: wrap; margin: 0 0 22px; }
.sv-key span { font-family: var(--font-display); font-size: var(--t-micro); font-weight: 600;
  letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--dim);
  display: inline-flex; align-items: baseline; gap: 6px; }
.sv-key b { font-family: var(--font-mono); font-size: var(--t-small); font-weight: 500; letter-spacing: 0; }
.sv-key .k-sell b { color: var(--sage); }
.sv-key .k-coll b { color: var(--gold); }
.sv-key .k-none b, .sv-key .k-rest b { color: var(--muted); }
.sv-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding-bottom: 11px; border-bottom: 1px solid var(--line); margin-bottom: 22px; }
.sv-head h2 { font-family: var(--font-display); font-size: var(--t-lead); font-weight: 700; color: var(--ink); margin: 0; line-height: 1; }
.sv-head em { font-style: normal; font-size: var(--t-base); color: var(--dim); }
.sv-head .tot { margin-left: auto; font-family: var(--font-mono); font-size: var(--t-base); color: var(--sage); }
.sv-note { margin: 0 0 18px; font-size: var(--t-small); color: var(--dim); max-width: 76ch; }
.inv-refine-slot { margin-left: auto; display: inline-flex; align-items: center; gap: 9px; }
.inv-refine-slot[hidden] { display: none; }
.inv-page .cdb-refine { min-height: 38px; padding: 8px 13px; }
.inv-page .cdb-panel { margin: 10px 0 0; padding: 14px 0 4px; border: 0; border-top: 1px solid var(--line);
  border-radius: 0; background: none; box-shadow: none; }
.sv-chips { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; margin: 0 0 20px; }
.sv-chips button { font-family: var(--font-display); font-size: var(--t-base); letter-spacing: .06em; text-transform: uppercase; font-weight: 700; padding: 11px 2px; min-height: 44px; border: 0; background: none; color: var(--muted); cursor: pointer; display: inline-flex; align-items: baseline; gap: 8px; }
.sv-chips button:hover { color: var(--ink); }
.sv-chips button small { font-family: var(--font-mono); font-size: var(--t-small); font-weight: 400; letter-spacing: 0; color: var(--dim); margin-left: 0; }
.sv-chips button.on { color: var(--ink); }
.sv-chips button.on::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); flex: none; }
.sv-chips button.on small { color: var(--cyan); }
.sv-sorts { margin-left: auto; display: flex; gap: 18px; align-items: center; }
.sv-sorts button { font-family: var(--font-display); font-size: var(--t-body); letter-spacing: .05em; text-transform: uppercase; font-weight: 700; padding: 11px 2px; min-height: 44px; border: 0; background: none; color: var(--muted); cursor: pointer; display: inline-flex; align-items: baseline; gap: 7px; }
.sv-sorts button:hover { color: var(--ink); }
.sv-sorts button.on { color: var(--ink); }
.sv-sorts button.on::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); flex: none; }
.sv-flip { perspective: 900px; display: block; }
.sv-mover { display: block; position: relative; transform-style: preserve-3d; aspect-ratio: 5 / 7;
  transition: transform .55s cubic-bezier(.2, .7, .3, 1); }
.sv-tile.is-flipped .sv-mover { transform: rotateY(180deg); }
.sv-face { display: block; position: absolute; inset: 0; backface-visibility: hidden;
  border-radius: 7px; overflow: hidden; filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .5)); }
.sv-front .sv-art { width: 100%; height: 100%; object-fit: cover; }
.sv-tile:not(.is-flipped) .sv-back { visibility: hidden; }
.sv-tile.is-flipped .sv-front { visibility: hidden; }
.sv-flipbtn { position: absolute; inset: 0; width: 100%; height: 100%; background: none; border: 0;
  cursor: pointer; z-index: 5; border-radius: 7px; }
.sv-flipbtn:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.sv-hint { position: absolute; left: 7px; bottom: 7px; z-index: 6; width: 20px; height: 20px;
  border-radius: 50%; background: rgba(8, 14, 20, .72); color: var(--cyan); display: grid;
  place-items: center; font-size: var(--t-micro); pointer-events: none; opacity: .7; transition: opacity .15s ease; }
.sv-tile:hover .sv-hint, .sv-tile.is-flipped .sv-hint { opacity: 1; }
.sv-back { transform: rotateY(180deg); }
.sv-stock { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 8px 9px 7px;
  box-sizing: border-box; border-radius: 7px; overflow: hidden; color: #2a2014;
  background: linear-gradient(168deg, #eee1c6 0%, #e4d5b3 58%, #d9c8a0 100%); }
.sv-keyline { position: absolute; inset: 4px; border-radius: 4px; pointer-events: none; z-index: 3;
  border: 1px solid rgba(36, 27, 16, .22); }
.sv-grain { position: absolute; inset: 0; pointer-events: none; border-radius: 7px; background:
  radial-gradient(circle at 30% 18%, rgba(120, 95, 55, .07), transparent 62%),
  repeating-linear-gradient(0deg, rgba(120, 100, 60, .05) 0 2px, transparent 2px 4px); }
.sv-plate { position: relative; z-index: 2; display: flex; align-items: center; gap: 6px;
  padding: 4px 6px; border-radius: 2px; background: #a81f2a; color: #fbf3e2;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .32); }
.sv-plate b { font-family: var(--font-display); font-size: var(--t-small); font-weight: 700;
  letter-spacing: .03em; text-transform: uppercase; line-height: 1.05; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
.sv-no { flex: none; margin-left: auto; font-family: var(--font-mono); font-size: var(--t-micro);
  font-weight: 500; line-height: 1; color: #f2cf9c; }
.sv-stock table { position: relative; z-index: 2; width: 100%; border-collapse: collapse; margin-top: 7px; }
.sv-stock th { font-family: var(--font-display); font-size: var(--t-micro); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; text-align: right; padding: 0 2px 3px;
  color: #6d5b3d; border-bottom: 1.5px solid #2a2014; }
.sv-stock th:first-child { text-align: left; }
.sv-stock td { font-family: var(--font-mono); font-size: var(--t-micro); text-align: right; padding: 4px 2px;
  font-variant-numeric: tabular-nums; border-bottom: 1px solid rgba(42, 32, 20, .16);
  text-shadow: 0 1px 0 rgba(255, 255, 255, .28); }
.sv-stock td:first-child { text-align: left; font-family: var(--font-display); font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase; }
.sv-stock tr:nth-child(even) td { background: rgba(42, 32, 20, .05); }
.sv-stock tr.is-win td { color: #0c6236; font-weight: 600; }
.sv-stock tr.is-tot td { border-top: 1.5px solid #2a2014; border-bottom: 0; background: none; font-weight: 700; }
.sv-note-print { position: relative; z-index: 2; margin: 7px 0 0; font-size: var(--t-micro);
  line-height: 1.35; font-style: italic; color: #5f5138; overflow: hidden; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sv-foot { position: relative; z-index: 2; display: flex; align-items: center; margin-top: auto;
  padding-top: 6px; min-height: 30px; border-top: 1.5px solid #2a2014; }
.sv-foot a { font-family: var(--font-display); font-size: var(--t-micro); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: #a81f2a; }
.sv-foot a:focus-visible { outline: 2px solid #1b4a86; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
.sv-mover { transition: none; }
.sv-tile.is-flipped .sv-mover { transform: none; }
.sv-face { transition: opacity .18s linear; }
.sv-back { transform: none; opacity: 0; }
.sv-tile.is-flipped .sv-back { opacity: 1; visibility: visible; }
.sv-tile.is-flipped .sv-front { opacity: 0; }
}
.sv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 26px 20px; }
.sv-tile { display: block; text-align: left; background: none; border: 0; padding: 0; cursor: pointer; color: inherit; font: inherit; }
.sv-lift { position: relative; display: block; border-radius: 7px; overflow: hidden; filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .5)); transition: transform .18s ease; }
.sv-tile:hover .sv-lift, .sv-tile:focus-visible .sv-lift { transform: translateY(-4px); }
.sv-tile:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 9px; }
@media (prefers-reduced-motion: reduce) {
.sv-lift { transition: none; }
.sv-tile:hover .sv-lift, .sv-tile:focus-visible .sv-lift { transform: none; }
}
.sv-art { display: block; width: 100%; height: auto; }
.sv-dupe { position: absolute; top: 8px; left: 8px; z-index: 2; font-family: var(--font-mono);
  font-size: var(--t-body); font-weight: 700; letter-spacing: .02em; color: #1a1230;
  background: var(--violet); border-radius: 999px; padding: 3px 10px; line-height: 1.25;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .55), 0 0 0 1.5px rgba(10, 16, 22, .35); }
.sv-nm { display: block; margin: 11px 0 0; font-size: var(--t-base); font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-meta { display: block; margin-top: 3px; font-family: var(--font-mono); font-size: var(--t-micro); color: var(--dim); }
.sv-net { display: block; margin-top: 7px; font-family: var(--font-mono); font-size: 1.14rem; color: var(--sage); font-variant-numeric: tabular-nums; }
.sv-net small { font-family: var(--font-mono); font-size: var(--t-micro); color: var(--dim); margin-left: 6px; }
.sv-list { display: block; margin-top: 3px; font-family: var(--font-mono); font-size: var(--t-micro); color: var(--dim); }
.sv-open { grid-column: 1 / -1; padding: 4px 0 20px; border-bottom: 1px solid rgba(45, 58, 70, .55); }
.sv-open p { margin: 0 0 10px; font-size: var(--t-base); color: var(--muted); line-height: 1.6; max-width: 70ch; }
.sv-open b { color: var(--ink); }
.sv-open a { display: inline-flex; align-items: center; min-height: 44px; padding: 11px 15px; border-radius: 9px; background: var(--cyan); color: #08121a; font-family: var(--font-display); font-size: var(--t-small); letter-spacing: .06em; text-transform: uppercase; font-weight: 700; text-decoration: none; }
.sv-open a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.sv-more { display: block; margin: 26px auto 0; font-family: var(--font-display); font-size: var(--t-small); letter-spacing: .06em; text-transform: uppercase; font-weight: 700; min-height: 44px; padding: 11px 22px; border-radius: 999px; border: 1px solid var(--line); background: none; color: var(--muted); cursor: pointer; }
.sv-empty { padding: 30px 0; color: var(--dim); font-size: var(--t-base); }
@media (max-width: 640px) {
.sv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
.sv-sorts { margin-left: 0; width: 100%; }
}
