/* Retro Stronghold — keep chrome. Load after page CSS so tokens and radius win. */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600;700&family=Outfit:wght@500;600;700&display=swap");

:root {
  --bg: #070812;
  --surface: #101428;
  --elevated: #181e38;
  --panel-keep: #222a4a;
  --mortar: #3d4a78;
  --ink: #f2f4ff;
  --parchment: #e6eaf6;
  --muted: #c5cbe0;
  --gold: #ffcc33;
  --gold-2: #ffe066;
  --blood: #e23b4a;
  --blood-2: #ff5a68;
  --moss: #2ea86a;
  --moss-2: #5ee89a;
  --torch: #ff8a1f;
  --shade: #05060c;
  --cart-crimson-a: #5a1420; --cart-crimson-b: #1a0810;
  --cart-forest-a: #14522a; --cart-forest-b: #07140c;
  --cart-navy-a: #1a2a6a; --cart-navy-b: #0a1028;
  --cart-gold-a: #6a4a10; --cart-gold-b: #181008;
  --cart-ember-a: #6a2410; --cart-ember-b: #160808;
  --cart-ink-a: #3a1a6a; --cart-ink-b: #100818;
  --cart-moss-a: #145a40; --cart-moss-b: #081410;
  --cart-slate-a: #2a3048; --cart-slate-b: #101018;

  --card: var(--elevated);
  --border: var(--mortar);
  --line: var(--mortar);
  --line-2: var(--mortar);
  --red: var(--blood);
  --red-lt: var(--blood-2);
  --red-ink: var(--blood-2);
  --blue: var(--gold);
  --blue-ink: var(--gold-2);
  --green: var(--moss);
  --teal: var(--moss-2);
  --white: var(--ink);
  --text: var(--parchment);
  --paper: var(--bg);
  --paper-2: var(--surface);
  --panel: var(--elevated);
  --panel-2: var(--surface);
  --panel-3: var(--panel-keep);
  --faint: var(--muted);
  --stripe-w: var(--gold);
  --lk-media-out: transform .48s cubic-bezier(.18,1.2,.28,1);
  --lk-media-back: transform .62s cubic-bezier(.22,1.75,.32,1);
  --lk-cart-rest: translateY(28%);
  --lk-cart-pop: translateY(-48%);
  --lk-disc-rest: translateX(-32%) rotate(-12deg);
  --lk-disc-pop: translateX(58%) rotate(12deg);

  --sans: "IBM Plex Sans", "Trebuchet MS", "Segoe UI", sans-serif;
  --display: "Outfit", "Trebuchet MS", "Segoe UI", sans-serif;
  --body: var(--sans);
  --pixel: var(--display);
  --mono: var(--sans);

  --r: 0;
  --rad: 0;
  --rad-sm: 0;
  --rad-lg: 0;
  --sb: env(safe-area-inset-bottom, 0px);
  --maxw: 1240px;
  --shadow: 4px 4px 0 var(--shade);
  --shadow-sm: 3px 3px 0 var(--shade);
}

[data-theme="light"] {
  --bg: #070812;
  --surface: #101428;
  --elevated: #181e38;
  --panel-keep: #222a4a;
  --mortar: #3d4a78;
  --ink: #f2f4ff;
  --parchment: #e6eaf6;
  --muted: #c5cbe0;
  --white: #f2f4ff;
  --text: #e6eaf6;
  --paper: #070812;
  --paper-2: #101428;
  --panel: #181e38;
  --panel-2: #101428;
  --panel-3: #222a4a;
  --line: #3d4a78;
  --card: #181e38;
  --border: #3d4a78;
}

*, *::before, *::after { border-radius: 0 !important; }
html, body {
  background-color: var(--bg) !important;
  color: var(--ink);
  font-family: var(--sans);
  letter-spacing: 0;
  text-transform: none;
  min-height: 100%;
  min-height: 100dvh;
  min-height: -webkit-fill-available;
}
html {
  height: 100%;
  height: 100dvh;
}
body {
  background-image:
    radial-gradient(ellipse 90% 42% at 50% 0%, rgba(255,138,31,0.16), transparent 62%),
    repeating-linear-gradient(0deg, #0c1022 0 14px, #0a0e1c 14px 16px),
    repeating-linear-gradient(90deg, #0c1022 0 14px, #0a0e1c 14px 16px) !important;
  background-size: auto, 16px 16px, 16px 16px !important;
}
html.rs-has-theme {
  --rs-theme-tile-size: 256px;
  /* Dark over the content column; bricks show in the side gutters. */
  --rs-theme-veil: linear-gradient(to right,
    rgba(7,8,18,0.10) 0%,
    rgba(7,8,18,0.10) max(0px, calc(50% - 820px)),
    rgba(7,8,18,0.58) max(0px, calc(50% - 700px)),
    rgba(7,8,18,0.92) max(0px, calc(50% - 640px)),
    rgba(7,8,18,0.97) max(0px, calc(50% - 600px)),
    rgba(7,8,18,0.97) min(100%, calc(50% + 600px)),
    rgba(7,8,18,0.92) min(100%, calc(50% + 640px)),
    rgba(7,8,18,0.58) min(100%, calc(50% + 700px)),
    rgba(7,8,18,0.10) min(100%, calc(50% + 820px)),
    rgba(7,8,18,0.10) 100%);
  background-color: #070812 !important;
  background-image: none !important;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  -ms-interpolation-mode: nearest-neighbor;
}
html.rs-has-theme body {
  background-color: #070812 !important;
  background-image: var(--rs-theme-veil), var(--rs-theme-tile) !important;
  background-repeat: no-repeat, repeat !important;
  background-size: 100% 100%, var(--rs-theme-tile-size) var(--rs-theme-tile-size) !important;
  background-attachment: scroll, scroll !important;
  background-position: 0 0, 0 0 !important;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  -ms-interpolation-mode: nearest-neighbor;
}
html.rs-has-theme #app-screen.visible,
html.rs-has-theme #guest-screen:not(.hidden) {
  background-color: #070812 !important;
  background-image: var(--rs-theme-veil), var(--rs-theme-tile) !important;
  background-repeat: no-repeat, repeat !important;
  background-size: 100% 100%, var(--rs-theme-tile-size) var(--rs-theme-tile-size) !important;
  background-attachment: local, local !important;
  background-position: 0 0, 0 0 !important;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  -ms-interpolation-mode: nearest-neighbor;
}
html.rs-has-theme:has(#app-screen.visible) body,
html.rs-has-theme:has(#guest-screen:not(.hidden)) body {
  background-image: none !important;
  background-color: #070812 !important;
}
@media (max-width: 1023px) {
  html.rs-has-theme {
    /* Narrow screens have no side gutters; let the tile read through. */
    --rs-theme-veil: linear-gradient(to right,
      rgba(7,8,18,0.40) 0%,
      rgba(7,8,18,0.72) 14%,
      rgba(7,8,18,0.80) 26%,
      rgba(7,8,18,0.80) 74%,
      rgba(7,8,18,0.72) 86%,
      rgba(7,8,18,0.40) 100%);
  }
}
/* Break inheritance from the themed html/body so photos stay filtered. */
img, video, canvas {
  image-rendering: auto;
  -ms-interpolation-mode: auto;
}
.theme-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.theme-card { border: 2px solid var(--mortar); background: var(--elevated); padding: 8px; box-shadow: 3px 3px 0 var(--shade); }
.theme-card:hover { border-color: var(--gold); }
.theme-card-preview {
  height: 112px;
  border: 2px solid var(--shade);
  background-repeat: repeat;
  background-size: 256px 256px;
  position: relative;
  overflow: hidden;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  -ms-interpolation-mode: nearest-neighbor;
}
.theme-card-preview::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(7,8,18,0.12), rgba(7,8,18,0.94) 22%, rgba(7,8,18,0.94) 78%, rgba(7,8,18,0.12));
  pointer-events: none;
}
.theme-card-name { margin: 8px 0 6px; font-weight: 700; font-size: .85rem; font-family: var(--display); }
.theme-pick { display: flex; flex-wrap: wrap; gap: 10px; }
.theme-opt {
  width: 112px; padding: 0; border: 2px solid var(--mortar); background: var(--surface);
  color: var(--ink); cursor: pointer; text-align: left; font: inherit;
}
.theme-opt.sel { border-color: var(--gold); }
.theme-opt-swatch {
  display: block; height: 64px; background-repeat: repeat; background-size: 32px 32px;
  position: relative;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  -ms-interpolation-mode: nearest-neighbor;
}
.theme-opt-swatch--default {
  background-image:
    repeating-linear-gradient(0deg, #0c1022 0 14px, #0a0e1c 14px 16px),
    repeating-linear-gradient(90deg, #0c1022 0 14px, #0a0e1c 14px 16px);
  background-size: 16px 16px;
}
.theme-opt-swatch::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(7,8,18,0.12), rgba(7,8,18,0.88) 22%, rgba(7,8,18,0.88) 78%, rgba(7,8,18,0.12));
  pointer-events: none;
}
.theme-opt-swatch--default::after { background: none; }
.theme-opt span { display: block; padding: 6px 8px; font-size: .75rem; font-weight: 700; }
h1, h2, h3, h4, .display, .lk-title, .lk-sec, .lk-item-title, .grid-title, .item-title {
  font-family: var(--display);
  color: var(--ink);
  letter-spacing: 0;
  font-weight: 700;
  text-wrap: balance;
  text-transform: none;
}
p, .lede, body, .lk-sum-lede, .lk-sum-sec p { font-family: var(--sans); color: var(--parchment); line-height: 1.5; text-wrap: pretty; }
.num, .lk-stat-val, .lk-item-val, .lk-cat-n, .lk-bar-val { font-family: var(--display); font-variant-numeric: tabular-nums; }

.kicker, .eyebrow {
  font-family: var(--display) !important;
  font-weight: 600;
  font-size: 12.5px !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: var(--gold) !important;
}

.keep-merlons { display: none !important; }
.mh .stripe, .stripe, #app-header::before, #guest-header::before, .lk-head::before { display: none !important; }

.mh {
  background: var(--surface) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 2px solid var(--gold) !important;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  padding-top: env(safe-area-inset-top, 0px);
  z-index: 300;
  box-sizing: border-box;
}
.mh-bar {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 24px;
  height: 56px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-sizing: border-box;
  width: 100%;
}
.mh-mark {
  display: flex;
  align-items: center;
  text-decoration: none;
  border-right: 2px solid var(--mortar) !important;
  gap: 10px;
  padding-right: 16px;
  font-family: var(--display) !important;
  flex-shrink: 0;
}
.mh-nav {
  display: flex;
  align-items: stretch;
  flex: 1;
}
.mh-link {
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding: 0 12px;
  position: relative;
  text-decoration: none;
}
.mh-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.mh-mark .wm, .mh-mark .logo-main, .mh-mark span {
  font-family: var(--display) !important;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ink);
  line-height: 1.15;
}
.keep-crest, .mh-mark-icon, #mhCrest {
  width: 28px; height: 28px; object-fit: contain; display: block; flex-shrink: 0;
  image-rendering: -moz-crisp-edges;
  image-rendering: pixelated;
  -ms-interpolation-mode: nearest-neighbor;
  border: 2px solid var(--gold);
  background: var(--surface);
}
.mh-mark .dot { display: none; }
.mh-nav { height: 56px; flex-wrap: nowrap; overflow: visible; }
.mh-link, .nav-tab, .lk-tab {
  font-family: var(--display) !important;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
  color: var(--muted);
}
.mh-link::after, .nav-tab::after { background: var(--gold) !important; height: 2px !important; }
.mh-link.active, .nav-tab.active, .lk-tab.active { color: var(--ink); }
.lk-tab { border-bottom: 2px solid transparent; }
.lk-tab.active { border-bottom-color: var(--gold) !important; color: var(--ink); }
.lk-tabs { flex-wrap: wrap; overflow: visible; }
#lk-app.lk{
  width:100%;
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
  align-self:center;
}

/* Dashboard hall — gold market board is the one loud thing; counts/shelf stay quiet. */
.lk-head .kicker { display: none !important; }
.lk-head .lede {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-size: 0.95rem;
  max-width: 36rem;
}
.lk-dash {
  container-type: inline-size;
  container-name: dash;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.lk-dash > .lk-adv-body {
  margin: 0;
  padding: 0;
}
.lk-dash .lk-adv-window {
  height: auto;
  min-height: 0;
  max-height: none;
  gap: 0.85rem;
  padding: 0.85rem 0.9rem 1rem;
  border: 2px solid var(--mortar);
  background: var(--elevated);
  box-shadow: 4px 4px 0 var(--shade);
}
.lk-dash .lk-adv-window:has(.lk-adv-workspace) {
  min-height: 36rem;
}
.lk-dash .lk-adv-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
}
.lk-dash .lk-adv-board-title {
  margin: 0;
  flex: 0 1 auto;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--ink);
  text-wrap: balance;
  text-box: trim-both cap alphabetic;
}
.lk-dash .lk-adv-groups {
  justify-content: flex-end;
  margin-inline-start: auto;
  flex: 1 1 10rem;
  min-inline-size: min(100%, 10rem);
}
.lk-dash .lk-adv-group {
  border: 2px solid var(--mortar);
  background: var(--surface);
  color: var(--muted);
  min-block-size: 36px;
}
.lk-dash .lk-adv-group.on {
  border-color: var(--gold);
  color: var(--ink);
  background: color-mix(in oklab, var(--gold) 16%, var(--surface));
}
.lk-dash .lk-adv-kpi,
.lk-dash .lk-adv-day-shelf,
.lk-dash .lk-adv-day-stats div {
  border: 2px solid var(--mortar);
  background: var(--surface);
  padding: 0.65rem 0.75rem;
}
.lk-dash .lk-adv-kpi span,
.lk-dash .lk-adv-day-hero span,
.lk-dash .lk-adv-day-stats span,
.lk-dash .lk-adv-parts i,
.lk-dash .lk-adv-cal-dow {
  text-transform: none;
  letter-spacing: 0;
  font-family: var(--display);
  font-weight: 600;
  font-size: 0.72rem;
  color: var(--muted);
}
.lk-dash .lk-adv-workspace {
  border: 2px solid var(--mortar);
  background: var(--surface);
  min-height: 22rem;
}
.lk-dash .lk-adv-cal { border-inline-end: 2px solid var(--mortar); }
.lk-dash .lk-adv-cal-day {
  border: 2px solid var(--mortar);
  background: var(--elevated);
  min-block-size: 3.25rem;
}
.lk-dash .lk-adv-cal-day.is-out { border-color: transparent; background: transparent; }
.lk-dash .lk-adv-cal-day.is-on {
  border-color: var(--gold);
  box-shadow: none;
  background: color-mix(in oklab, var(--gold) 22%, var(--elevated));
}
.lk-dash .lk-adv-day-kicker{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.3;
  height:1.3em;
}
.lk-dash .lk-adv-day-shelf{
  height:4.6rem;
  overflow:hidden;
  box-sizing:border-box;
}
.lk-dash .lk-adv-day-shelf b{
  font-size:1.7rem;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lk-dash .lk-adv-day-stats > div{
  height:4.35rem;
  overflow:hidden;
  box-sizing:border-box;
}
.lk-dash .lk-adv-day-stats b,
.lk-dash .lk-adv-day-stats .lk-adv-day-hero b{
  font-size:1rem;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.lk-dash .lk-adv-day-scroll {
  max-height: min(28rem, 52dvh);
  scrollbar-color: var(--gold) var(--surface);
  scrollbar-gutter: stable;
  padding-inline-end: 8px;
}
.lk-dash .lk-adv-move-row,
.lk-dash .lk-adv-item {
  border-color: var(--mortar);
}
.lk-dash .lk-adv-lock { padding: 2.5rem 1rem; }
.lk-dash-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}
.lk-dash-count {
  display: block;
  width: 100%;
  min-width: 0;
  min-block-size: 44px;
  text-align: start;
  padding: 0.85rem 1rem;
  border: 2px solid var(--mortar);
  background: var(--elevated);
  color: inherit;
  font: inherit;
  cursor: pointer;
  box-shadow: 4px 4px 0 var(--shade);
}
.lk-dash-count:last-child { border-inline-end: 2px solid var(--mortar); }
.lk-dash-count:hover:not(:disabled) {
  background: color-mix(in oklab, var(--gold) 10%, var(--elevated));
  border-color: var(--gold);
}
.lk-dash-count b {
  display: block;
  font-family: var(--display);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  font-size: clamp(1.25rem, 2.6vw, 1.7rem);
  font-size: clamp(1.25rem, 2.4cqi, 1.7rem);
  letter-spacing: -0.02em;
  color: var(--ink);
  line-height: 1.1;
}
.lk-dash-count span {
  display: block;
  margin-block-start: 0.3rem;
  font-family: var(--display);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
}
.lk-dash-recent {
  margin: 0;
  padding: 0.9rem 0.9rem 0.35rem;
  border: 2px solid var(--mortar);
  background: var(--elevated);
  box-shadow: 4px 4px 0 var(--shade);
}
.lk-dash-recent .lk-grid { padding-block-end: 0.75rem; }
.lk-dash .lk-link {
  font-family: var(--display);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--gold);
}
.lk-dash .lk-link:hover { color: var(--gold-2); }
.lk-dash .lk-block {
  padding: 1rem;
}
.lk-dash .lk-bar-track {
  height: 10px;
  background: var(--surface);
  border: 2px solid var(--mortar);
  overflow: hidden;
}
.lk-dash .lk-bar-fill {
  background: var(--gold);
}
.lk-dash .lk-badge-chip {
  border: 2px solid var(--mortar);
  background: var(--surface);
}
.lk-dash .cat-empty {
  padding: 1.5rem 1rem;
  border: 2px dashed var(--mortar);
  background: var(--surface);
  text-align: center;
}
@container dash (max-width: 820px) {
  .lk-dash-grid { grid-template-columns: 1fr; }
  .lk-dash .lk-adv-window:has(.lk-adv-workspace) { min-height: 42rem; }
  .lk-dash .lk-adv-workspace { grid-template-columns: 1fr; }
  .lk-dash .lk-adv-cal { border-inline-end: 0; border-block-end: 2px solid var(--mortar); }
}
@container dash (max-width: 520px) {
  .lk-dash-counts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lk-dash .lk-adv-window { padding: 0.7rem; }
  .lk-dash .lk-adv-window:has(.lk-adv-workspace) { min-height: 0; }
  .lk-dash .lk-adv-head { gap: 0.4rem 0.55rem; }
}

:where(a, button, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.inp:focus-visible, .input:focus-visible, .select:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
@media (forced-colors: active) {
  :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid CanvasText;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lk-item, .idx-card, .lk-badge, .lk-item .lk-media, .lp-shelf .lk-item {
    transition: none;
  }
  .lk-item:hover, .idx-card:hover, .lk-badge:hover {
    transform: none;
  }
  .pulse { animation: none; }
}
.lk-blog-list{display:flex;flex-direction:column;gap:10px;margin:0 0 18px}
.lk-blog-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:2px solid var(--mortar);background:var(--elevated)}
.lk-blog-row b{display:block;font-family:var(--display);font-size:1rem}
.lk-blog-row span{font-size:.78rem;color:var(--muted)}
.lk-blog-row p{margin:6px 0 0;font-size:.88rem;color:var(--parchment);line-height:1.45}
.lk-blog-acts{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.lk-blog-form .field{margin-bottom:12px}
.lk-blog-form textarea.input{min-height:200px;height:auto;padding:10px 12px;font-family:var(--sans);line-height:1.45}
.lk-tab[hidden], .lk-dock-tab[hidden]{display:none !important}
.tabs, .auth-tabs, .admin-tabs { overflow: visible !important; flex-wrap: wrap; }
.tabs { display: grid !important; grid-template-columns: 1fr 1fr; }
.auth-tabs { display: flex; }
.auth-tab { flex: 1; }
.wrap, .card, .auth-card, .auth-body { overflow: visible; }
#lkAddPanel.open, #lkSummaryPanel.open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#lkAddPanel .lk-panel-body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  -webkit-overflow-scrolling: touch;
}
#lkSummaryPanel .lk-panel-body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
#lkSummaryPanel .lk-sum-dock{
  flex:0 0 auto;
  border-top:2px solid var(--mortar);
  background:var(--elevated);
  padding:8px 16px calc(10px + env(safe-area-inset-bottom, 0px));
}
#lkSummaryPanel .lk-sum-dock .lk-sum-tools{
  margin:0;
  padding:0;
  border-top:0;
  justify-content:flex-end;
}

.btn, .btn-login, button.btn {
  font-family: var(--display) !important;
  font-weight: 600;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border-width: 2px !important;
  box-shadow: 3px 3px 0 var(--shade);
  min-height: 44px;
}
.btn:active, .btn.pressed { box-shadow: none; transform: translate(1px, 1px); }
.btn, .btn--primary, .btn.full, #auth-btn {
  background: var(--blood);
  border-color: var(--shade) !important;
  color: var(--ink) !important;
}
a.btn.full, button.btn.full, .btn.full {
  white-space: normal;
  height: auto;
  line-height: 1.35;
  text-align: center;
}
.btn:hover, .btn--primary:hover { background: var(--blood-2); color: var(--ink) !important; }
.btn.blue, .btn--ghost.gold, .btn.gold {
  background: transparent;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  box-shadow: 3px 3px 0 var(--shade);
}
.btn.blue:hover, .btn.gold:hover { background: var(--gold); color: var(--shade) !important; }
.btn.muted, .btn--ghost {
  background: transparent;
  border-color: var(--mortar) !important;
  color: var(--parchment) !important;
}
.btn.muted:hover, .btn--ghost:hover { border-color: var(--gold) !important; color: var(--ink) !important; background: transparent; }

.inp, .input, .select, select.inp, textarea.inp, input, textarea, select {
  background: var(--surface) !important;
  color: var(--ink) !important;
  border: 2px solid var(--mortar) !important;
  font-family: var(--sans) !important;
}
input[type="date"]{color-scheme:dark}
.inp:focus, .input:focus, .select:focus, input:focus, textarea:focus, select:focus {
  border-color: var(--gold) !important;
  box-shadow: none !important;
}
.inp:focus:not(:focus-visible),
.input:focus:not(:focus-visible),
.select:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible) {
  outline: none;
}
.inp:focus-visible, .input:focus-visible, .select:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.select.is-auto,
select.is-auto:disabled,
select:disabled {
  opacity: 1 !important;
  cursor: default;
  pointer-events: none;
  color: var(--ink) !important;
  background: var(--surface) !important;
}
label { text-transform: none !important; letter-spacing: 0 !important; font-family: var(--sans); color: var(--muted); }

.card, .panel, .lk-block, .lk-item, .auth-card, .modal-box, .lk-panel, .cfg-panel,
.lk-watch-mail, .ghost-cta-box, #tfa-prompt, .acct-menu, .hma-friends-menu, .lk-more-menu,
.lp-panel, .lp-plan, .lp-stat {
  background: var(--elevated) !important;
  border: 2px solid var(--mortar) !important;
  box-shadow: 4px 4px 0 var(--shade);
}
.lk-item:hover, .card:hover, .lp-plan:hover, .idx-card:hover { border-color: var(--gold) !important; }
.lk-item:hover, .idx-card:hover { transform: translateY(-5px); z-index: 6; }
.lp-plan.pro { border-color: var(--gold) !important; box-shadow: 4px 4px 0 var(--shade); }
.lp-welcome { background: var(--surface) !important; border: 2px solid var(--moss) !important; }
.lp-kicker { color: var(--gold) !important; font-family: var(--display) !important; }
.lp-price { color: var(--gold) !important; font-family: var(--display) !important; }

.lk-stat {
  background: var(--elevated) !important;
  border: 2px solid var(--mortar) !important;
  border-top: 4px solid var(--gold) !important;
  position: relative;
  box-shadow: 4px 4px 0 var(--shade);
}
.lk-stat::after {
  content: "";
  position: absolute;
  top: 8px; right: 8px;
  width: 6px; height: 6px;
  background: var(--torch);
}
.lk-stat-lbl { font-family: var(--display) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--muted); font-weight: 600; font-size: 12px !important; }
.lk-stat-val { color: var(--ink); }
.lk-pnl{display:flex;align-items:center;gap:6px;margin:0 0 6px;min-height:22px}
.lk-pnl-eye{flex-shrink:0;width:22px;height:22px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.lk-pnl-eye:hover{color:var(--ink)}
.lk-pnl-delta{font-family:var(--display);font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:4px}
.lk-pnl-delta.up{color:var(--moss-2,#5ee89a)}
.lk-pnl-delta.down{color:var(--blood-2,#ff5a68)}
.lk-pnl-delta.flat{color:var(--muted)}
.lk-pnl.is-hidden .lk-pnl-delta{display:none}

.lk-cat { border: 2px solid var(--mortar) !important; background: var(--elevated) !important; box-shadow: 4px 4px 0 var(--shade); }
.lk-cat.active { border-color: var(--gold) !important; }
.lk-cat-l { text-transform: none !important; letter-spacing: 0 !important; font-family: var(--display); }

.lk-head { background: transparent !important; border-bottom: none !important; padding-top: 18px; }
.lk-title { font-size: clamp(1.5rem, 4vw, 2.2rem); }

.lk-shelf-progress-track {
  height: 12px;
  background: var(--surface) !important;
  border: 2px solid var(--mortar) !important;
  box-shadow: 2px 2px 0 var(--shade);
  overflow: hidden;
  border-radius: 0 !important;
}
.lk-shelf-progress-fill {
  background: repeating-linear-gradient(-45deg, var(--gold) 0 10px, var(--gold-2) 10px 20px) !important;
}
.lk-shelf-box.is-busy label.btn { opacity: .55; pointer-events: none; }
.lk-shelf-quote { border: 2px solid var(--gold) !important; background: var(--surface) !important; box-shadow: 3px 3px 0 var(--shade); }
.lk-shelf-box-hit.owned{border-color:#35b87a;background:#35b87a66;box-shadow:0 0 0 2px #35b87a88}

.hw-pick{margin:0 0 10px}
.hw-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.hw-seg{display:flex;gap:4px;padding:3px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}
.hw-seg--kind{flex:1;min-width:240px}
.hw-seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:var(--muted);font-family:var(--sans);font-weight:600;font-size:.8rem;padding:6px 10px;border-radius:7px;cursor:pointer;white-space:nowrap;min-height:32px}
.hw-seg button:hover{color:var(--ink)}
.hw-seg button.on{background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--ink)}
.hw-filter{margin:0 0 8px}
.hw-crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px;font-size:.78rem;color:var(--muted)}
.hw-crumb:empty{display:none}
.hw-crumb button{border:0;background:transparent;color:var(--gold);cursor:pointer;padding:0;font-family:var(--sans);font-weight:600}
.hw-crumb-cur{color:var(--ink);font-weight:600}
.hw-crumb-sep{color:var(--muted);padding:0 1px}
.hw-list{display:flex;flex-direction:column;max-height:min(42vh,360px);overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.hw-list>.ac-spinner,.hw-list>.ac-empty{padding:14px}
.hw-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;flex:0 0 auto;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-family:var(--sans);font-size:.88rem;min-height:44px}
.hw-row:last-child{border-bottom:0}
.hw-row:hover{background:color-mix(in srgb,var(--gold) 8%,transparent)}
.hw-row.is-on{background:color-mix(in srgb,var(--gold) 16%,transparent);box-shadow:inset 3px 0 0 var(--gold)}
.hw-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.hw-row-t{font-weight:600;line-height:1.3}
.hw-row-sub{font-size:.72rem;color:var(--muted);line-height:1.3}
.hw-row-go{color:var(--muted);font-size:1.15rem;line-height:1}
.hw-row-price{font-family:var(--mono);font-size:.8rem;color:var(--ink);white-space:nowrap}
.hw-row-price small{color:var(--muted);font-size:.68rem}
.hw-owned{font-size:.68rem;font-weight:600;color:var(--green);font-family:var(--sans)}
.hw-chips{display:flex;flex-wrap:wrap;gap:8px;padding:12px}
.hw-chip{border:1px solid var(--line-2);background:var(--elevated);color:var(--ink);border-radius:999px;padding:6px 14px;font-family:var(--sans);font-weight:600;font-size:.85rem;cursor:pointer;min-height:36px}
.hw-chip:hover{border-color:var(--gold)}
.hw-chip--more{color:var(--muted);border-style:dashed;background:transparent}
.hw-note{margin:0;padding:8px 12px;font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--line)}
.hw-search-more{margin:0;padding:8px 12px;font-size:.75rem;color:var(--muted);text-align:center}
.hw-skus{display:flex;flex-direction:column;gap:6px;max-height:min(42vh,360px);overflow:auto}
.hw-picked{margin:10px 0 0;padding:8px 10px;border:2px solid var(--gold);background:var(--surface)}
.lk-shelf-pop{pointer-events:auto;z-index:8}
.lk-shelf-scanline { background: linear-gradient(90deg, transparent, var(--gold), transparent) !important; }

.lk-grid, .idx-grid, .vis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(158px, 1fr));
  gap: 28px 16px;
  align-items: stretch;
  overflow: visible;
  padding: 10px 6px 18px;
}
.lk-grid {
  grid-template-columns: repeat(auto-fill, minmax(204px, 1fr));
}
.lk-item, .idx-card, .vis-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: visible !important;
  background: var(--elevated);
  padding: 10px 10px 12px;
  width: 100%;
  height: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  transition: border-color .18s, transform .18s, box-shadow .18s, opacity .16s ease;
}
.lk-art-stage { padding: 28px 8px 6px; overflow: visible; }
.lk-art-stage::before, .lk-art-stage::after {
  content: "";
  position: absolute;
  top: 14px;
  width: 10px; height: 3px;
  background: var(--gold);
  z-index: 4;
}
.lk-art-stage::before { left: 14px; }
.lk-art-stage::after { right: 14px; }
.lk-watch {
  top: 8px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  z-index: 6;
  width: auto !important;
  height: auto !important;
  min-height: 28px;
  padding: 4px 10px !important;
  font-family: var(--display) !important;
  font-size: .72rem !important;
  font-weight: 700;
  letter-spacing: .02em;
  border: 2px solid var(--mortar) !important;
  background: var(--elevated) !important;
  color: var(--ink) !important;
  opacity: 1 !important;
  box-shadow: 2px 2px 0 var(--shade);
}
.lk-watch.on { border-color: var(--gold) !important; color: var(--gold) !important; }
.lk-item--text { padding-top: 36px; }
.lk-box {
  border-radius: 0 !important;
  overflow: hidden;
  border: 2px solid var(--shade);
  box-shadow: 4px 4px 0 var(--shade);
  background: linear-gradient(180deg, var(--cart-navy-a), var(--cart-navy-b));
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 3 / 4;
}
.lk-box img, .lk-box-img {
  filter: saturate(0.9) contrast(1.05) brightness(0.96);
  width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block;
}
.lk-sum-cover, .idx-sheet-cover {
  overflow: visible;
  aspect-ratio: auto;
  height: auto;
  background: transparent;
  border: none;
  box-shadow: none;
}
.lk-sum-cover img, .lk-sum-cover .lk-box-img,
.idx-sheet-cover img, .idx-sheet-cover .lk-box-img {
  width: 100%;
  height: auto;
  max-height: min(58vh, 440px);
  object-fit: contain;
  object-position: center top;
  display: block;
  background: var(--panel-2);
  border: 2px solid var(--shade);
  box-shadow: 4px 4px 0 var(--shade);
  filter: none;
}
.lk-sum-cover .lk-box-ph, .idx-sheet-cover .lk-box-ph {
  min-height: 180px;
  border: 2px solid var(--shade);
  box-shadow: 4px 4px 0 var(--shade);
}
.lk-box-ph {
  display: grid;
  place-items: center;
  padding: 10px;
  text-align: center;
  width: 100%;
  height: 100%;
  font-family: var(--display);
  font-weight: 800;
  font-size: .78rem;
  line-height: 1.2;
  color: var(--ink);
  background: var(--panel-2);
  background-image: repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--ink) 5%, transparent) 9px 10px);
}
.lk-box > .lk-box-ph {
  position: absolute;
  inset: 0;
  overflow: hidden;
  width: auto;
  height: auto;
}
.lk-box::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(24,30,56,0.10), rgba(7,8,18,0.28));
  pointer-events: none;
  mix-blend-mode: multiply;
}
.lk-media {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  filter: drop-shadow(4px 4px 0 var(--shade));
  transition: var(--lk-media-back);
}
.lk-art-stage {
  position: relative;
  display: block;
  padding: 36px 8px 4px;
  margin: 0;
  background: transparent;
  overflow: visible;
  flex-shrink: 0;
}
.lk-art-stage--top .lk-media {
  position: absolute; z-index: 1; pointer-events: none;
  left: 16%; right: 16%; bottom: 18%; height: 70%; top: auto;
  transform-origin: 50% 100%;
  transform: var(--lk-cart-rest);
  transition: var(--lk-media-back);
}
.lk-art-stage--top .lk-media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lk-art-stage--right .lk-media {
  position: absolute; z-index: 1; pointer-events: none;
  width: 52%; height: 52%; right: 2%; bottom: 16%; top: auto;
  transform-origin: 10% 80%;
  transform: var(--lk-disc-rest);
  transition: var(--lk-media-back);
}
.lk-art-stage--right .lk-media img { width: 100%; height: 100%; object-fit: contain; display: block; }
/* Any card that wraps an art stage — locker, Index, profile, homepage fan. */
.lk-art-stage--top:is(:hover, :active) .lk-media,
:is(:hover, :active, :focus-visible, :focus-within) > .lk-art-stage--top .lk-media {
  transform: var(--lk-cart-pop);
  transition: var(--lk-media-out);
}
.lk-art-stage--right:is(:hover, :active) .lk-media,
:is(:hover, :active, :focus-visible, :focus-within) > .lk-art-stage--right .lk-media {
  transform: var(--lk-disc-pop);
  transition: var(--lk-media-out);
}
.lk-art-stage:is(:hover, :active) .lk-box,
:is(:hover, :active, :focus-visible, :focus-within) > .lk-art-stage .lk-box { transform: translateY(-6px) rotate(-1.4deg); }
.lk-box { transition: transform .32s cubic-bezier(.2,.7,.3,1); }
@media (hover: none) {
  .hma-friend-actions { opacity: 1; pointer-events: auto; transform: translate(0,-50%); }
  .lk-art-stage--top .lk-media,
  .lk-art-stage--top:hover .lk-media,
  :hover > .lk-art-stage--top .lk-media { transform: var(--lk-cart-rest); }
  .lk-art-stage--right .lk-media,
  .lk-art-stage--right:hover .lk-media,
  :hover > .lk-art-stage--right .lk-media { transform: var(--lk-disc-rest); }
  .lk-art-stage:hover .lk-box,
  :hover > .lk-art-stage .lk-box { transform: none; }
  .lk-art-stage:active .lk-box,
  :active > .lk-art-stage .lk-box,
  :focus-visible > .lk-art-stage .lk-box { transform: translateY(-6px) rotate(-1.4deg); }
  .lk-art-stage--top:active .lk-media,
  :active > .lk-art-stage--top .lk-media,
  :focus-visible > .lk-art-stage--top .lk-media,
  :focus-within > .lk-art-stage--top .lk-media {
    transform: var(--lk-cart-pop);
    transition: var(--lk-media-out);
  }
  .lk-art-stage--right:active .lk-media,
  :active > .lk-art-stage--right .lk-media,
  :focus-visible > .lk-art-stage--right .lk-media,
  :focus-within > .lk-art-stage--right .lk-media {
    transform: var(--lk-disc-pop);
    transition: var(--lk-media-out);
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --lk-media-out: transform .28s ease;
    --lk-media-back: transform .28s ease;
  }
  .lk-box { transition: none; }
  .lk-media { transition: transform .28s ease; }
  .lk-item:hover, .lk-item:active, .lk-item:focus-visible, .idx-card:hover { transform: none; }
  .lk-art-stage:hover .lk-box,
  :hover > .lk-art-stage .lk-box { transform: none; }
}

.lk-badge, .lk-badge-chip {
  border: 2px solid var(--mortar) !important;
  background: var(--elevated) !important;
}
.lk-badge-ring, .badge-pip-ring, .pub-badge-ring {
  border-radius: 0 !important;
  border: 2px solid var(--gold) !important;
  background: var(--surface) !important;
  width: 48px; height: 48px;
}

.toast, .ok-box, .err-box, .warn-box, .info-box, .ok, .err, .warn, #badge-toast, #badge-popup {
  background: var(--surface) !important;
  border: 2px solid var(--gold) !important;
  box-shadow: 4px 4px 0 var(--shade);
  font-family: var(--sans) !important;
  border-radius: 0 !important;
}
.err-box, .err { border-color: var(--blood) !important; color: var(--blood-2); }
.ok-box, .ok { border-color: var(--moss) !important; color: var(--moss-2); }

.lk-bar-fill { background: var(--gold) !important; border-radius: 0 !important; }
.lk-bar-track { background: var(--panel-keep) !important; border-radius: 0 !important; }

#app-header, #guest-header {
  background: var(--surface) !important;
  border-bottom: 2px solid var(--gold) !important;
  backdrop-filter: none !important;
}
.mh-search { position: relative; }
.mh-search input { border-radius: 0 !important; width: 180px; height: 38px; padding: 0 12px 0 34px; font-size: 0.8rem; }
.mh-search input:focus { width: 220px; }
.mh-search .ic { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; display: grid; place-items: center; }
.mh-search-results {
  position: absolute; top: calc(100% + 8px); left: 0; right: 0; min-width: 220px;
  background: var(--elevated); border: 2px solid var(--mortar); box-shadow: 4px 4px 0 var(--shade);
  overflow: hidden; z-index: 60; display: none;
}
.mh-search-results.open { display: block; }
.mh-sr-item { display: flex; align-items: center; gap: 9px; padding: 9px 13px; font-size: 0.85rem; color: var(--parchment); text-decoration: none; }
.mh-sr-item:hover { background: var(--surface); color: var(--ink); }
.mh-sr-item .av {
  width: 22px; height: 22px; background: var(--gold); color: var(--shade);
  display: grid; place-items: center; flex-shrink: 0; font-size: 0.7rem; font-weight: 700;
}
.mh-right a { color: var(--gold); font-family: var(--display); font-weight: 600; }

.mh-link::after {
  content: ""; position: absolute; left: 12px; right: 12px; bottom: 0;
  height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .18s ease;
}
.mh-link:hover { color: var(--ink); }
.mh-link.active::after, .mh-link:hover::after { transform: scaleX(1); }

.mh-burger {
  display: none; width: 44px; height: 44px; border: 2px solid var(--mortar);
  background: var(--elevated); color: var(--ink); align-items: center; justify-content: center; cursor: pointer;
}
.mh-burger:hover { border-color: var(--gold); }
.btn-login, #mhLoginBtn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 38px; min-height: 38px !important; padding: 0 16px;
  border: 2px solid var(--gold) !important; background: transparent !important;
  color: var(--gold) !important; font-family: var(--display) !important;
  font-weight: 600; letter-spacing: 0 !important; text-transform: none !important;
  text-decoration: none; box-shadow: 3px 3px 0 var(--shade); white-space: nowrap;
}
.btn-login:hover, #mhLoginBtn:hover { background: var(--gold) !important; color: var(--shade) !important; }

.acct { position: relative; display: inline-flex; }
.acct-btn {
  display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px;
  border: 2px solid var(--mortar); background: var(--elevated); color: var(--ink);
  font-family: var(--display); font-weight: 600; font-size: 0.82rem; cursor: pointer;
}
.acct-btn:hover, .acct-btn.open { border-color: var(--gold); }
.acct-btn .av {
  width: 24px; height: 24px; background: var(--gold); color: var(--shade);
  display: grid; place-items: center; font-size: 0.72rem; font-weight: 700;
}
.acct-btn .cv { color: var(--muted); transition: transform .2s; }
.acct-btn.open .cv { transform: rotate(180deg); }
.acct-menu {
  position: absolute; right: 0; top: calc(100% + 8px); width: 248px; max-width: calc(100vw - 20px);
  background: var(--elevated); border: 2px solid var(--mortar); box-shadow: 4px 4px 0 var(--shade);
  overflow: hidden; z-index: 80; display: none;
}
.acct-menu.open { display: block; animation: acctMenuIn .14s ease-out; }
@keyframes acctMenuIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .acct-menu.open { animation: none; } }
.acct-menu a, .acct-menu button {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left;
  padding: 0 14px; min-height: 42px; font-family: var(--display); font-size: 0.88rem; font-weight: 500; color: var(--parchment);
  background: none; border: none; border-left: 3px solid transparent; text-decoration: none; cursor: pointer;
}
.acct-menu a:hover, .acct-menu button:hover, .acct-menu a:focus-visible {
  background: var(--surface); color: var(--ink); border-left-color: var(--gold); outline: none;
}
.acct-menu .ic { flex-shrink: 0; color: var(--muted); transition: color .12s; }
.acct-menu a:hover .ic, .acct-menu a:focus-visible .ic { color: var(--gold); }
.acct-menu .div { height: 2px; background: var(--mortar); margin: 4px 0; }
.acct-menu-head {
  gap: 12px !important; padding: 14px 14px !important; min-height: 0 !important;
  background: var(--surface) !important; border-bottom: 2px solid var(--mortar) !important;
}
.acct-menu-head .av, .keep-drawer-av {
  flex-shrink: 0; width: 40px; height: 40px; display: grid; place-items: center;
  background: var(--gold); color: var(--shade); font-weight: 700; font-size: 1.05rem;
}
.acct-menu-who, .keep-drawer-who { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.acct-menu-who strong, .keep-drawer-who strong {
  color: var(--ink); font-weight: 700; font-size: 0.95rem;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.acct-menu-who small, .keep-drawer-who small { color: var(--muted); font-size: 0.74rem; font-weight: 500; }
.acct-menu-head:hover .acct-menu-who small, .keep-drawer-user:hover .keep-drawer-who small { color: var(--gold); }
.acct-menu-list { padding: 4px 0; }
.acct-menu-foot { border-top: 2px solid var(--mortar); padding: 4px 0; }
.acct-menu .danger, .acct-menu .danger .ic { color: var(--blood-2); }
.acct-menu .danger:hover { border-left-color: var(--blood-2); color: var(--blood-2); }
.acct-menu .danger:hover .ic { color: var(--blood-2); }
.hma-friends { position: relative; display: inline-flex; }
.hma-friends-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  height: 38px; width: 42px; border: 2px solid var(--mortar); background: var(--elevated);
  color: var(--muted); cursor: pointer;
}
.hma-friends-btn:hover, .hma-friends-btn.open { border-color: var(--gold); color: var(--gold); background: var(--surface); }
.hma-friends-badge {
  position: absolute; top: -6px; right: -5px; min-width: 17px; height: 17px; padding: 0 4px;
  background: var(--blood); color: var(--ink); font-size: 0.65rem; font-weight: 700;
  line-height: 17px; text-align: center; font-family: var(--display);
  box-shadow: 2px 2px 0 var(--shade);
}
.hma-friends-badge[hidden] { display: none; }
.hma-friends-menu {
  position: absolute; right: 0; top: calc(100% + 8px); width: 360px; max-width: 92vw; max-height: min(72vh, 520px);
  overflow: hidden; background: var(--elevated); border: 2px solid var(--mortar); border-top: 2px solid var(--gold);
  box-shadow: 6px 6px 0 var(--shade); z-index: 80; display: none;
}
.hma-friends-menu.open { display: flex; flex-direction: column; }
.hma-friends-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  padding: 12px 14px 10px; border-bottom: 2px solid var(--mortar); flex-shrink: 0;
}
.hma-friends-head-title { font-family: var(--display); font-weight: 700; font-size: 1rem; color: var(--ink); }
.hma-friends-head-count {
  font-family: var(--display); font-size: .72rem; font-weight: 700; color: var(--gold);
  border: 2px solid var(--gold); padding: 1px 7px;
}
.hma-friends-body { overflow-y: auto; flex: 1; min-height: 0; }
.hma-friends-sec-title {
  padding: 12px 14px 6px; font-size: 11px; letter-spacing: 0.06em; color: var(--gold);
  font-family: var(--display); font-weight: 700; text-transform: uppercase;
}
.hma-friends-empty { padding: 28px 18px; color: var(--muted); font-size: 0.88rem; line-height: 1.55; font-family: var(--sans); text-align: center; }
.hma-friends-foot {
  flex-shrink: 0; padding: 10px 14px; border-top: 2px solid var(--mortar);
  font-size: .75rem; color: var(--muted); line-height: 1.4;
}
.hma-req-row, .hma-req-card {
  display: flex; align-items: center; gap: 10px; margin: 0 10px 8px; padding: 10px 10px;
  background: var(--surface); border: 2px solid var(--mortar);
}
.hma-req-card { flex-wrap: wrap; }
.hma-req-row a, .hma-req-name {
  flex: 1; min-width: 0; color: var(--ink); font-size: 0.88rem; text-decoration: none;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--display); font-weight: 600;
}
.hma-req-row a:hover, .hma-req-name:hover { color: var(--gold); }
.hma-req-acts { display: flex; gap: 6px; flex-shrink: 0; }
.hma-mini-btn {
  display: inline-flex; align-items: center; height: 30px; padding: 0 10px;
  border: 2px solid var(--mortar); background: var(--elevated); color: var(--parchment);
  font-family: var(--display); font-size: 0.72rem; font-weight: 600; white-space: nowrap; cursor: pointer;
}
.hma-mini-btn:hover { border-color: var(--gold); color: var(--ink); }
.hma-mini-btn.join, .hma-mini-btn.accept { background: var(--moss); border-color: var(--shade); color: var(--ink); }
.hma-mini-btn.decline { background: transparent; color: var(--muted); }
.hma-mini-btn.decline:hover { border-color: var(--blood); color: var(--blood-2); }
.hma-friend-row {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 14px;
  background: none; border: none; border-bottom: 1px solid color-mix(in srgb, var(--mortar) 55%, transparent);
  text-align: left; cursor: default; font-family: var(--sans);
}
.hma-friend-row:last-child { border-bottom: none; }
.hma-friend-row:hover { background: var(--surface); }
.hma-friend-av { position: relative; width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; background: var(--surface); border: 2px solid var(--mortar); font-size: 18px; overflow: visible; }
.hma-friend-row.is-online .hma-friend-av { border-color: var(--moss); }
.hma-friend-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hma-dot { width: 9px; height: 9px; background: var(--muted); flex-shrink: 0; }
.hma-dot.online { background: var(--moss); }
.hma-friend-av .hma-dot { position: absolute; bottom: -1px; right: -1px; width: 12px; height: 12px; border: 2px solid var(--elevated); }
.hma-friend-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.hma-friend-name { font-size: 0.92rem; color: var(--ink); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--display); }
.hma-friend-act { font-size: 0.72rem; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px; }
.hma-friend-row.is-online .hma-friend-act { color: var(--moss-2); }
.hma-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 2px solid var(--mortar); background: var(--surface); color: var(--muted); cursor: pointer; text-decoration: none; }
.hma-icon-btn:hover { color: var(--ink); border-color: var(--gold); }
.hma-icon-btn.danger:hover { border-color: var(--blood); color: var(--blood-2); }
.hma-friend-actions { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; }
.hma-friend-hint { font-size: 0.7rem; color: var(--muted); align-self: center; }
.hma-friends-div { height: 2px; background: var(--mortar); margin: 4px 10px; }
@media (max-width: 600px) {
  .hma-friends-menu { width: min(300px, calc(100vw - 16px)); }
  .acct-menu, .lk-more-menu, .hma-friends-menu {
    z-index: 520;
  }
}

@media (max-width: 1279px) {
  .mh-search { display: none !important; }
}
@media (min-width: 1280px) {
  .mh-search { display: block !important; }
}
.avatar-ring, .avatar-ring img, .verified-pip, .keep-drawer-av, .acct-btn .av, .acct-menu-head .av, .mh-sr-item .av, .pub-badge-ring, .hma-friend-av, .hma-friend-av img, .hma-dot {
  border-radius: 50% !important;
}

.keep-drawer-backdrop {
  position: fixed; inset: 0; background: rgba(5,6,12,.72); z-index: 420;
  display: none;
}
.keep-drawer-backdrop.open, .keep-drawer-backdrop:not([hidden]) { display: block; }
.keep-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(360px, 92vw);
  background: var(--surface); border-left: 2px solid var(--gold);
  z-index: 430; transform: translateX(100%); transition: transform .22s ease;
  display: flex; flex-direction: column;
}
.keep-drawer.open { transform: none; }
.keep-drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; border-bottom: 2px solid var(--mortar); min-height: 56px;
}
.keep-drawer-brand { display: flex; align-items: center; gap: 10px; font-family: var(--display); font-weight: 700; color: var(--ink); }
.keep-drawer-close {
  width: 44px; height: 44px; border: 2px solid var(--mortar); background: var(--elevated);
  color: var(--ink); display: grid; place-items: center; cursor: pointer;
}
.keep-drawer-user {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px;
  border-bottom: 2px solid var(--mortar); background: var(--elevated);
  font-family: var(--display); font-weight: 600; text-decoration: none;
}
.keep-drawer-user:active { background: var(--surface); }
.keep-drawer-nav { flex: 1; overflow-y: auto; padding: 8px 0; }
.keep-drawer-label {
  margin: 12px 16px 6px; font-size: 11px; color: var(--gold);
  font-family: var(--display); font-weight: 600;
}
.keep-drawer-nav a, .keep-drawer-voice {
  display: block; padding: 12px 16px; color: var(--parchment); text-decoration: none;
  font-family: var(--display); font-weight: 600; border-left: 3px solid transparent;
  background: none; border-right: 0; border-top: 0; border-bottom: 0; width: 100%; text-align: left; cursor: pointer;
}
.keep-drawer-nav a:active, .keep-drawer-voice:active { background: var(--elevated); }
.keep-drawer-nav a.active { color: var(--ink); border-left-color: var(--gold); background: var(--elevated); }
.keep-drawer-foot {
  flex-shrink: 0; padding: 12px 16px;
  padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
  border-top: 2px solid var(--mortar);
}
.keep-drawer-dock {
  display: flex;
  flex-shrink: 0;
  align-items: stretch;
  justify-content: space-around;
  gap: 4px;
  padding: 8px 6px max(12px, env(safe-area-inset-bottom, 0px));
  border-top: 2px solid var(--mortar);
  background: var(--elevated);
}
.keep-drawer-dock a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex: 1;
  min-width: 44px;
  min-height: 52px;
  padding: 6px 4px;
  color: var(--parchment);
  text-decoration: none;
  font-family: var(--display);
  font-weight: 600;
}
.keep-drawer-dock a:active { color: var(--gold); }
.keep-drawer-dock a.danger { color: var(--blood-2); }
.keep-drawer-dock svg { display: block; flex-shrink: 0; }
.keep-dock-lbl { font-size: 10px; line-height: 1.2; text-align: center; }
.keep-drawer-out { display: block; text-align: center; color: var(--blood-2); font-family: var(--display); font-weight: 600; min-height: 44px; line-height: 44px; text-decoration: none; }
html.keep-drawer-open { overflow: hidden; }

#voiceToggle, #keepVoiceMobile { display: none !important; }
.lk-more, .lk-share-btn { display: none !important; }

@media (max-width: 1023px) {
  .mh-nav { display: none !important; }
  .mh-burger { display: inline-flex !important; min-width: 44px; min-height: 44px; flex-shrink: 0 !important; }
  .mh, .mh-bar { max-width: 100%; box-sizing: border-box; }
  .mh-bar { flex-wrap: nowrap !important; height: 56px !important; min-height: 56px !important; padding: 0 12px !important; row-gap: 0 !important; width: 100%; }
  .mh-search, #voiceToggle, #navProfileWrap, .hma-friends { display: none !important; }
  .mh-right { flex-wrap: nowrap !important; gap: 8px !important; flex: 0 0 auto !important; margin-left: auto; }
  .mh-mark { min-width: 0; }
  .btn-login, #mhLoginBtn { min-height: 40px; padding: 0 12px; font-size: 0.85rem; }
  .hide-sm { display: none !important; }
  .lk-tabs { display: none !important; }
  .lk-dock { display: block !important; }
  .lk-head-quick, .lk-head-add { display: none !important; }
  .lk-content.wrap { padding-bottom: calc(180px + var(--sb, 0px)); }
}
@media (max-width: 600px) {
  /* Log in lives in the drawer — the extra button clips the bar on phones. */
  #mhLoginBtn, a.btn-login { display: none !important; }
  .mh-mark { padding-right: 10px; gap: 8px; flex: 1 1 auto; min-width: 0; }
  .mh-bar { position: relative; padding: 0 56px 0 10px !important; gap: 8px !important; }
  .mh-burger {
    display: inline-flex !important;
    position: absolute !important;
    right: 8px; top: 6px;
    border-color: var(--gold) !important;
    color: var(--gold) !important;
    z-index: 6;
  }
  h1, .lp-hero h1, .pay-hero h1, .idx-hero h1 { text-wrap: wrap; overflow-wrap: break-word; word-break: normal; }
  a.btn.full, .btn.full, .pay-sum .btn, .pay-card .btn {
    display: block !important;
    white-space: normal !important;
    height: auto;
    line-height: 1.35;
    padding: 12px 14px;
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .mh-burger { display: none !important; }
  .keep-drawer, .keep-drawer-backdrop, .mobile-menu#navMobileMenu { display: none !important; }
}

.keep-empty { text-align: center; padding: 48px 16px; color: var(--muted); }
.keep-empty .btn { margin-top: 12px; }

#scanlines { display: none !important; }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 0; }
.badge, .lk-cond { text-transform: none !important; letter-spacing: 0 !important; border-radius: 0 !important; }
.lk-cond--cib, .lk-cond--sealed, .lk-cond--mint, .lk-cond--nearmint { color: var(--moss); border-color: var(--moss); }

/* Same content column as Collection (#lk-app.lk is 1080px). */
body.admin-page .wrap,
body.admin-page .wrap.wide {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 16px 24px 56px;
}
.admin-head { margin: 8px 0 12px; }
.admin-head h1 { font-size: clamp(1.5rem, 4vw, 2.2rem); margin: 0; font-family: var(--display); }
.admin-head p { margin: 6px 0 0; color: var(--muted); font-size: .95rem; max-width: 36rem; }
.admin-tabs { display: flex; flex-wrap: wrap; overflow: visible; gap: 0; border-bottom: 2px solid var(--mortar); margin: 0 0 18px; align-items: stretch; }
body.admin-page .lk-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}
body.admin-page .lk-stat {
  appearance: none;
  width: 100%;
  text-align: left;
  color: inherit;
  font: inherit;
  cursor: default;
  padding: 16px;
}
body.admin-page .lk-stat[data-go] { cursor: pointer; }
body.admin-page .lk-stat[data-go]:hover { border-color: var(--gold) !important; }
body.admin-page .lk-stat-val {
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.1;
  margin: 8px 0 4px;
}
body.admin-page .lk-stat-sub { font-size: .74rem; color: var(--muted); line-height: 1.4; }
body.admin-page .statgrid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 0;
}
body.admin-page .admin-sec { margin-bottom: 18px; }
body.admin-page .admin-sec > h2,
body.admin-page .admin-sec > h3,
body.admin-page .lk-sec { font-family: var(--display); margin: 0 0 10px; }
@media (max-width: 760px) {
  body.admin-page .lk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body.admin-page .wrap,
  body.admin-page .wrap.wide { padding: 10px 16px 48px; }
}
.admin-tabs a, .admin-tabs button {
  padding: 12px 12px; color: var(--muted); background: none; border: none;
  border-bottom: 2px solid transparent; font-family: var(--display); font-weight: 600;
  white-space: nowrap; min-height: 44px; cursor: pointer;
}
.admin-tabs a.on, .admin-tabs button.on { color: var(--ink); border-bottom-color: var(--gold); }
.admin-drop { position: relative; display: inline-flex; }
.admin-drop-btn { display: inline-flex; align-items: center; gap: 6px; }
.admin-drop-menu {
  display: none; position: fixed; min-width: 240px;
  background: var(--elevated); border: 2px solid var(--mortar);
  border-top: 2px solid var(--gold); box-shadow: 4px 4px 0 var(--shade); z-index: 200;
}
.admin-drop.open .admin-drop-menu { display: block; }
.admin-drop-menu button, .admin-tabs .admin-drop-menu button {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; text-align: left; padding: 12px 14px; min-height: 44px;
  border: none; border-bottom: 2px solid var(--mortar) !important; background: none;
  color: var(--parchment); font-family: var(--display); font-weight: 600; cursor: pointer;
}
.admin-drop-menu button:last-child, .admin-tabs .admin-drop-menu button:last-child { border-bottom: none !important; }
.admin-drop-menu button:hover, .admin-drop-menu button.on,
.admin-tabs .admin-drop-menu button.on { background: var(--surface); color: var(--ink); border-bottom-color: var(--mortar) !important; }
.admin-pill {
  font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  padding: 2px 7px; border: 2px solid var(--mortar); color: var(--muted);
}
.admin-pill.on { border-color: var(--moss); color: var(--moss-2); }
.admin-sec { margin-bottom: 16px; }
.admin-sec h2 { font-family: var(--display); font-size: 1.05rem; margin: 0 0 8px; }
.mail-preview-chrome {
  background: var(--surface); border: 2px solid var(--mortar); border-bottom: none;
  padding: 12px 16px; font-size: .8rem; color: var(--muted); line-height: 1.5;
}
.mail-preview-chrome b { color: var(--ink); font-weight: 600; }
.mail-preview-frame {
  width: 100%; min-height: 920px; border: 2px solid var(--mortar); background: #070812;
  display: block;
}
.int-status { margin: 0 0 14px; color: var(--muted); font-size: .88rem; }
.rule-tree { border: 2px solid var(--mortar); background: var(--surface); padding: 12px; }
.rule-node { margin: 8px 0; padding: 8px; border: 2px solid var(--mortar); background: var(--elevated); }
.rule-node.group { border-color: var(--gold); }
.profile-title-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.78rem;letter-spacing:.04em;padding:4px 10px;
  border:2px solid var(--gold);color:var(--gold);background:transparent;
  font-family:var(--display,inherit);font-weight:600;
}
.profile-title-tag.gold{border-color:var(--gold);color:var(--gold);background:rgba(201,149,42,.07);text-shadow:0 0 8px var(--gold)}
.profile-title-tag.blue{border-color:#6fa3f8;color:#6fa3f8;background:rgba(111,163,248,.07);text-shadow:0 0 8px #6fa3f8}
.profile-title-tag.moss{border-color:var(--moss);color:var(--moss-2);background:rgba(46,168,106,.08);text-shadow:0 0 8px var(--moss)}
.profile-title-tag.blood{border-color:var(--blood);color:var(--blood-2);background:rgba(226,59,74,.08);text-shadow:0 0 8px var(--blood)}
.profile-title-tag.torch{border-color:var(--torch);color:#ffb070;background:rgba(255,138,31,.08);text-shadow:0 0 8px var(--torch)}
.title-holders{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.title-holder{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--mortar);padding:3px 8px;font-size:.78rem;background:var(--surface)}
.title-holder button{border:0;background:none;color:var(--muted);cursor:pointer;padding:0 2px;font-size:1rem;line-height:1}
.title-holder button:hover{color:var(--blood-2)}
.cover-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 18px; align-items: start; }
.cover-admin-grid.cart-grid {
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 12px;
  align-items: stretch;
}
.cart-new { margin-bottom: 14px; padding: 14px 16px 16px; }
.cart-new .lede { margin: 0 0 12px; font-size: .88rem; }
.cart-new-form { display: grid; gap: 10px; }
.cart-new-row { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: end; }
.cart-new-row .field { margin: 0; min-width: 140px; }
.cart-new-row .field:first-child { flex: 0 0 160px; }
.cart-new-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-bottom: 2px; }
.console-picker { margin: 6px 0 10px; }
.console-picks { display: flex; flex-wrap: wrap; gap: 6px; min-height: 28px; margin-bottom: 8px; }
.console-pick { display: inline-flex; align-items: center; gap: 6px; border: 2px solid var(--mortar); background: var(--surface); color: var(--ink); padding: 4px 8px; font-size: .8rem; line-height: 1.2; }
.console-pick button { border: 0; background: none; color: var(--muted); cursor: pointer; padding: 0 2px; font-size: 1.05rem; line-height: 1; }
.console-pick button:hover { color: var(--blood-2); }
.cover-admin-card { border: 2px solid var(--mortar); background: var(--elevated); padding: 10px; overflow: hidden; min-width: 0; }
.cart-grid .cover-admin-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  box-shadow: 3px 3px 0 var(--shade);
}
.cart-grid .cover-admin-card:hover { border-color: var(--gold); }
.cart-card-name { margin: 0; font-weight: 700; font-size: .82rem; line-height: 1.25; color: var(--ink); font-family: var(--display); }
.cart-card-meta { margin: 0; font-size: .68rem; color: var(--muted); line-height: 1.3; }
.cart-grid .cart-edit { display: flex; flex-direction: column; gap: 6px; margin-top: 0; }
.cart-grid .cart-edit .field { margin: 0; }
.cart-grid .cart-edit .field label { margin-bottom: 4px; font-size: .72rem; }
.cart-grid .console-picker { margin: 0; }
.cart-grid .console-picks { min-height: 0; margin-bottom: 4px; gap: 4px; }
.cart-grid .console-pick { padding: 2px 6px; font-size: .72rem; gap: 4px; }
.cart-grid .console-pick-add, .cart-grid .cart-edit .inp { min-height: 34px; height: 34px; padding: 4px 8px; font-size: .8rem; }
.cart-grid .file-pick { gap: 6px; }
.cart-grid .file-pick-btn { min-height: 34px; padding: 0 10px; font-size: .75rem; box-shadow: 2px 2px 0 var(--shade); }
.cart-grid .file-pick-name { font-size: .72rem; }
.cart-grid .cart-card-acts { margin-top: 2px; gap: 6px; }
.cart-grid .cart-card-acts .btn { min-height: 32px; padding: 0 8px; font-size: .75rem; }
.cover-admin-card > img, .cover-admin-card .cover-thumb {
  width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block;
  filter: saturate(0.9) contrast(1.05); border: 2px solid var(--shade);
}
.cover-admin-card.on { border-color: var(--gold); }
.portrait-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
@media (max-width: 600px) { .portrait-grid { grid-template-columns: repeat(3, 1fr); } }
.portrait-opt { border: 2px solid var(--mortar); padding: 0; background: var(--surface); }
.portrait-opt img { width: 100%; aspect-ratio: 1; display: block; image-rendering: pixelated; }

.cart-preview {
  width: 100%;
  aspect-ratio: 1;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--gold) 10%, transparent), transparent 58%),
    var(--surface);
  border: 2px solid var(--shade);
  box-shadow: 3px 3px 0 var(--shade);
  display: grid;
  place-items: center;
  padding: 10px;
}
.cart-preview .pop {
  position: relative;
  inset: auto;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart-preview.is-disc .pop { inset: auto; }
.cart-preview .pop img, .cart-preview img {
  width: 100%; height: 100%; object-fit: contain; object-position: center;
  display: block; aspect-ratio: auto; filter: none;
}

.file-pick {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  position: relative;
}
.file-pick input[type="file"] {
  position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden;
  clip: rect(0 0 0 0);
}
.file-pick-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 14px;
  border: 2px solid var(--mortar); background: var(--surface); color: var(--ink);
  font-family: var(--display); font-weight: 600; font-size: .85rem; cursor: pointer;
  box-shadow: 3px 3px 0 var(--shade);
}
.file-pick:hover .file-pick-btn, .file-pick:focus-within .file-pick-btn {
  border-color: var(--gold); color: var(--gold);
}
.file-pick-name { color: var(--muted); font-size: .82rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 600px) {
  .lk-panel-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 94vh !important;
  }
}

@media (max-width: 390px) {
  html, body { overflow-x: hidden; }
  .mh-bar { padding: 0 56px 0 10px !important; gap: 8px; max-width: 100%; }
  .lk-content.wrap, .wrap, .lp { padding-left: 12px; padding-right: 12px; }
  .btn, .mh-burger, .lk-tab, a.mh-link { min-height: 44px; }
}

/* Point sampling for pixel art. Never bilinear / smooth scaling. */
.pixel,
img.pixel,
.cart-art-thumb img,
.badge-pip-art,
.lk-badge-ic img,
.pub-badge-art,
.pub-badge-ring img,
.avatar-ring img,
.hma-friend-av img,
.cart-preview img,
.carousel-cart-svg img,
.fav-cart img,
.pfp-opt img,
.keep-crest,
.mh-mark-icon,
#badge-popup img,
#pub-badge-popup img,
#bt-icon img,
img[src*="uploads/cart-art/"],
img[src*="uploads/badges/"],
img[src*="uploads/pfps/"],
img[src*="uploads/logo."] {
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  -ms-interpolation-mode: nearest-neighbor;
}

.games-row { cursor: pointer; }
.games-row.on td { background: var(--surface); }
.games-thumb { width: 28px; height: 36px; object-fit: cover; display: block; border: 1px solid var(--mortar); }
.games-fixer { display: flex; gap: 20px; align-items: stretch; flex-wrap: wrap; }
.games-fixer-art {
  flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.games-fixer-art img, .games-fixer-ph {
  width: 200px; height: 267px; object-fit: cover; border: 2px solid var(--mortar); background: var(--surface);
}
.games-fixer-art.is-uploadable { cursor: pointer; }
.games-fixer-art.is-uploadable:hover img,
.games-fixer-art.is-uploadable:hover .games-fixer-ph {
  border-color: var(--gold); opacity: 0.92;
}
.games-fixer-ph { display: grid; place-items: center; color: var(--muted); font-size: .8rem; text-align: center; padding: 10px; }
.games-fixer-upload-hint { margin: 0; font-size: .75rem; color: var(--muted); text-align: center; max-width: 200px; line-height: 1.35; }
.games-thumb-ph { background: var(--surface, #1b1f2a); }

/* Index cards share Keep shelf type so they don't look like a second set. */
.lk-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lk-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.lk-item-title, .vis-title {
  font-family: var(--display);
  font-weight: 700;
  font-size: .88rem;
  color: var(--ink);
  line-height: 1.25;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.25em * 2);
  max-height: calc(1.25em * 2);
  height: calc(1.25em * 2);
}
.pc-linked{color:#22c55e;font-size:.85em;font-weight:800;margin-left:.28em;flex:0 0 auto;line-height:1.25}
.lk-item-console {
  font-family: var(--mono);
  font-size: .68rem;
  color: var(--muted);
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cat-search input[type="search"]::-webkit-search-cancel-button,
.cat-search input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
.lk-item-val { font-size: .82rem; color: var(--ink); font-weight: 600; }
.lk-item-val-wrap { margin-left: auto; white-space: nowrap; flex-shrink: 0; }
.lk-item-edition {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 1.3em;
}
.idx-own {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 1em;
}
.lk-item-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin-top: auto;
  padding-top: 8px;
  min-height: 1.6em;
}
@media (max-width: 420px) {
  .idx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
}

.cf-overlay {
  position: fixed; inset: 0; z-index: 80;
  background: color-mix(in srgb, var(--shade) 72%, transparent);
  display: grid; place-items: center; padding: 18px;
}
.cf-overlay[hidden] { display: none !important; }
.cf-box {
  width: min(640px, 100%); max-height: min(88vh, 720px); overflow: auto;
  background: var(--elevated); border: 2px solid var(--mortar); padding: 16px 16px 18px;
}
.cf-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.cf-head h2 { font-family: var(--display); font-size: 1.15rem; margin: 0; }
button.cover-admin-card, .cf-tile {
  display: block; width: 100%; text-align: left; cursor: pointer; color: inherit; font: inherit;
}
.cover-admin-card.is-missing { outline: 2px dashed var(--gold); outline-offset: -2px; }
.vis-grid { grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: 28px 16px; align-items: stretch; }
.vis-cover { width: 100% !important; height: 100% !important; aspect-ratio: 3/4; object-fit: cover; }
.vis-ph { aspect-ratio: 3/4; display: grid; place-items: center; background: var(--surface); color: var(--muted); padding: 8px; font-size: .78rem; text-align: center; }
.vis-meta { margin-top: 6px; }
.cover-admin-card.lk-item, .vis-tile.cover-admin-card { overflow: visible; }

/* Watch screen — Keep shelf language, centered. */
.lk-watch-screen {
  position: fixed; inset: 0; z-index: 540;
  display: none; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--shade) 78%, transparent);
  padding: 18px;
}
.lk-watch-screen.open { display: flex; }
.lk-watch-panel {
  width: min(640px, 100%);
  background: var(--elevated);
  border: 2px solid var(--mortar);
  box-shadow: 8px 8px 0 var(--shade);
  padding: 28px 28px 24px;
  max-height: min(92vh, 720px);
  overflow: auto;
}
.lk-watch-mkt {
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(1.55rem, 4vw, 2.2rem);
  line-height: 1.15;
  color: var(--ink);
  text-align: center;
  margin: 0 0 8px;
}
.lk-watch-pc {
  display: block;
  text-align: center;
  font-family: var(--display);
  font-size: .85rem;
  color: var(--gold);
  margin: 0 0 22px;
  text-decoration: none;
}
.lk-watch-pc:hover { color: var(--gold-2); }
.lk-watch-cols {
  display: grid;
  grid-template-columns: minmax(120px, 160px) 1fr;
  gap: 22px;
  align-items: start;
}
.lk-watch-left { text-align: center; }
.lk-watch-left .lk-box { width: 100%; aspect-ratio: 3/4; }
.lk-watch-name {
  font-family: var(--display);
  font-weight: 700;
  font-size: .95rem;
  margin-top: 10px;
  line-height: 1.25;
  color: var(--ink);
}
.lk-watch-dirs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.lk-watch-dirs button {
  border: 2px solid var(--mortar);
  background: var(--surface);
  color: var(--muted);
  padding: 12px 10px;
  font-family: var(--display);
  font-weight: 700;
  font-size: .88rem;
  min-height: 44px;
  cursor: pointer;
}
.lk-watch-dirs button.on {
  border-color: var(--gold);
  color: var(--ink);
  background: color-mix(in srgb, var(--gold) 14%, transparent);
}
.lk-watch-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.lk-watch-acts .btn { flex: 1; min-width: 120px; }
@media (max-width: 560px) {
  .lk-watch-cols { grid-template-columns: 1fr; }
  .lk-watch-left { max-width: 180px; margin: 0 auto; }
}

/* Member Feature overlay + collection value chart */
.lk-mf{position:fixed;inset:0;z-index:540;display:none;align-items:center;justify-content:center;padding:18px}
.lk-mf.open{display:flex}
.lk-mf-bg{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.lk-mf-card{position:relative;z-index:1;width:min(420px,100%);background:var(--panel,#14182a);border:2px solid var(--mortar,#3a3f55);box-shadow:4px 4px 0 var(--shade,#000);padding:24px 22px 20px;text-align:center}
.lk-mf-card h3{margin:0 0 8px;font-family:var(--display);font-size:1.2rem;color:var(--ink)}
.lk-mf-card p{margin:0 0 16px;color:var(--ink-2,var(--muted));font-size:.95rem;line-height:1.45}
.lk-mf-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.lk-mf-x{position:absolute;top:6px;right:10px;background:none;border:none;color:var(--ink);font-size:2rem;font-weight:700;line-height:1;cursor:pointer;min-width:44px;min-height:44px}
.lk-mf-x:hover{color:var(--ink)}
.lk-value-chart{margin:0 0 16px}
.lk-value-stage{position:relative;min-height:0;padding:4px 0 0}
.lk-value-svg{width:100%;height:auto;aspect-ratio:800 / 200;display:block;color:var(--gold);overflow:visible;cursor:crosshair}
.lk-value-svg--fake{filter:blur(7px);opacity:.8}
.lk-value-plot{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.lk-value-area{stroke:none;fill:currentColor;opacity:.16}
.lk-value-axis{stroke:var(--line, #3a3f55);stroke-width:1;opacity:.85}
.lk-value-grid{stroke:var(--line, #3a3f55);stroke-width:1;opacity:.35}
.lk-value-tick{fill:var(--muted);font-size:11px;font-family:var(--mono, ui-monospace, monospace)}
.lk-value-xlabel{font-size:10px}
.lk-value-pt{fill:var(--panel, #14182a);stroke:currentColor;stroke-width:2}
.lk-value-pt.is-on{fill:currentColor}
.lk-value-tip{position:absolute;z-index:3;pointer-events:none;background:var(--panel,#14182a);border:1px solid var(--line,#3a3f55);box-shadow:3px 3px 0 var(--shade,#000);padding:8px 12px;font-size:.78rem;color:var(--ink-2,var(--muted));white-space:nowrap;display:none;transform:translate(-50%,-120%);border-radius:6px}
.lk-value-tip b{display:block;margin-top:2px;font-family:var(--mono, ui-monospace, monospace);font-size:1rem;font-variant-numeric:tabular-nums;color:var(--gold)}
.lk-value-lock-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(320px,90%);background:var(--panel,#14182a);border:2px solid var(--gold);box-shadow:4px 4px 0 var(--shade,#000);padding:16px 16px 14px;text-align:center;z-index:2;pointer-events:auto}
.lk-value-lock-card p{margin:0 0 12px;color:var(--ink);font-size:.95rem;line-height:1.4}
.lk-value-lock-card a{color:var(--blue-ink)}
.lk-value-seg{flex-shrink:0}
.lk-value-chart{
  border:2px solid var(--mortar) !important;
  box-shadow:4px 4px 0 var(--shade);
  background:linear-gradient(180deg, color-mix(in srgb, var(--elevated) 88%, #000), var(--elevated));
  overflow:visible;
}
.lk-value-stage{min-height:0;padding:6px 4px 2px}
.lk-value-svg{color:var(--gold);filter:none;width:100%;height:auto;aspect-ratio:800 / 200}
.lk-value-plot{stroke-width:3;stroke:currentColor}
.lk-value-area{opacity:1;fill:url(#lkValueGrad)}
.lk-value-well{fill:color-mix(in srgb, var(--mortar) 16%, transparent);stroke:none}
.lk-value-bar{fill:var(--gold);stroke:none}
.lk-value-bar.is-on{fill:color-mix(in srgb, var(--gold) 70%, #fff)}
.lk-value-amt{fill:#111}
.lk-value-amt--sm{display:none}
.lk-value-tip{border-color:var(--gold);box-shadow:3px 3px 0 var(--shade)}
.lk-value-seg{background:var(--surface);border:2px solid var(--mortar);border-radius:999px;padding:3px;box-shadow:2px 2px 0 var(--shade)}
.lk-value-seg button{border-radius:999px}
.lk-market{
  margin-top:12px;
  padding:16px 14px 14px;
  border:2px solid var(--gold);
  background:linear-gradient(180deg, color-mix(in srgb, var(--gold) 12%, var(--surface)), var(--surface));
  box-shadow:4px 4px 0 var(--shade);
  text-align:center;
}
.lk-market-lbl{
  font-family:var(--display);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gold);
}
.lk-market-val, #lk-market-val{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(2.4rem, 7vw, 3.2rem);
  color:var(--gold);
  line-height:1.05;
  margin-top:4px;
}
@media (max-width:760px){
  .lk-stats{grid-template-columns:repeat(2,1fr) !important}
}

/* Dashboard item panel — no full-screen wash; only the card is solid */
.lk-overlay.lk-overlay--soft{background:transparent !important}
.lk-overlay.lk-overlay--soft.open{background:rgba(7,8,18,.38) !important}
.lk-overlay.lk-overlay--instant{transition:none !important}
#lkSummaryPanel.lk-panel,
#lkAddPanel.lk-panel,
#lkQuickPanel.lk-panel,
.lk-panel.lk-summary-panel,
.lk-panel.lk-add-panel,
.lk-panel.lk-quick-panel{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.lk-panel.lk-summary-panel .lk-panel-card,
.lk-panel.lk-add-panel .lk-panel-card{width:min(1080px,96vw)}
.lk-sum-kicker{display:none !important}
.lk-sum-price{
  font-family:var(--display);
  font-weight:800;
  font-size:clamp(2rem,5vw,2.7rem);
  color:var(--gold);
  text-align:center;
  line-height:1.05;
}
.lk-sum-paid{
  display:block;
  text-align:center;
  font-size:.72rem;
  font-weight:500;
  color:var(--muted);
  letter-spacing:.01em;
  margin:0 0 8px;
  opacity:.78;
}
.lk-sum-pc{color:var(--gold);text-align:center;display:block;text-decoration:none;font-family:var(--display);font-weight:600}
.lk-sum-pc:hover{color:var(--gold-2);text-decoration:underline}
.ac-item{display:flex;align-items:center;gap:10px}
.ac-flag{flex-shrink:0;font-size:1.2rem;line-height:1;width:1.45em;text-align:center}
.ac-thumb{width:32px;height:42px;flex-shrink:0;overflow:hidden;background:var(--surface);border:2px solid var(--mortar)}
.ac-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ac-item-body{min-width:0;flex:1}
.ac-owned{flex-shrink:0;font-family:var(--display);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:3px 6px;line-height:1.2;white-space:nowrap}
.ac-region{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.ac-region button{border:1px solid var(--line);background:var(--panel-2,#101428);color:var(--muted);padding:4px 10px;border-radius:999px;font-size:.75rem;min-height:32px;cursor:pointer;font-family:var(--sans)}
.ac-region button.on{border-color:var(--gold);color:var(--ink);background:color-mix(in srgb,var(--gold) 14%,transparent)}

.table-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.lk-shelf-pop{
  min-width:0;
  max-width:min(300px, calc(100% - 16px));
  left:8px;
  right:8px;
  box-sizing:border-box;
}
@media (max-width: 1023px){
  #lkAddPanel .lk-panel-body{
    overflow-y:auto !important;
    padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  }
  .lk-add-split,.lk-sum-split,.lk-add-row{
    grid-template-columns:1fr !important;
  }
  .lk-add-col--copy,.lk-sum-right{
    border-left:none !important;
    padding-left:0 !important;
    border-top:2px solid var(--mortar);
    padding-top:16px;
  }
  .input,.select,input:not([type=checkbox]):not([type=radio]):not([type=range]),
  select,textarea,.cat-search input,.inp{
    font-size:16px !important;
  }
  #lkAddPanel .input, #lkAddPanel .select, .cat-search input{min-height:44px;height:44px}
  .lk-pnl-eye,.cat-clear,.lk-mf-x{
    min-width:44px;min-height:44px;width:44px;height:44px;
  }
  .lk-value-amt--full{display:none}
  .lk-value-amt--sm{display:inline;fill:#111;font-size:9px;font-weight:700}
  .lk-add-barcode-field,.lk-adv-btn{display:none}
  .lk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lk-cats{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lk-watch-acts{display:flex;flex-wrap:wrap;gap:8px}
  .lk-watch-acts .btn{min-width:0;flex:1 1 calc(50% - 8px)}
}

/* ── Mobile: pages, grids, and every overlay/modal ── */
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(56px + env(safe-area-inset-top, 0px))}
html.idx-sheet-open, html.idx-sheet-open body{overflow:hidden !important}
.cf-turnstile, .cf-turnstile iframe{max-width:100%}
img,video,canvas,svg{max-width:100%}
.lk-panel-card,.idx-sheet-box,.lk-watch-panel,.lk-mf-card,.modal-box,.lk-shelf-box,.cf-box,#login-modal,#tfa-prompt{
  box-sizing:border-box;max-width:100%;
}

@media (max-width: 760px){
  .lk-panel{
    padding:0 !important;
    align-items:stretch !important;
    justify-content:stretch !important;
  }
  #lkAddPanel.open, #lkSummaryPanel.open{
    align-items:stretch !important;
    justify-content:stretch !important;
  }
  .lk-panel-card,
  .lk-panel.lk-summary-panel .lk-panel-card,
  .lk-panel.lk-add-panel .lk-panel-card{
    width:100% !important;
    max-width:100% !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:0;
    border-left:none !important;
    border-right:none !important;
    box-shadow:none !important;
  }
  /* Desktop add form is overflow:hidden; phones must scroll the stacked fields. */
  #lkAddPanel .lk-panel-body{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    padding:8px 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  }
  #lkSummaryPanel .lk-panel-body{
    padding:8px 14px 12px;
  }
  #lkSummaryPanel .lk-sum-dock{
    padding:10px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  }
  #lkSummaryPanel .lk-sum-dock .lk-sum-tools{
    justify-content:stretch;
  }
  #lkSummaryPanel .lk-sum-dock .lk-tool{
    flex:1 1 0;
    max-width:none;
    min-height:52px;
  }
  .lk-add-split,.lk-sum-split,.lk-add-row,.field-row{
    grid-template-columns:1fr !important;
    gap:14px;
  }
  .lk-add-col--copy,.lk-sum-right{
    border-left:none !important;
    padding-left:0 !important;
    border-top:2px solid var(--mortar);
    padding-top:16px;
  }
  .lk-sum-acts{flex-direction:column;align-items:stretch}
  .lk-sum-acts .btn{width:100%;justify-content:center}
  .lk-sum-tools{flex-wrap:nowrap;gap:2px}
  .lk-sum-cover{width:min(100%,200px)}
  .lk-tier button{min-height:52px;padding:10px 4px}
  .lk-upc-row{flex-direction:column}
  .lk-upc-row .btn{width:100%}
  .cat-controls{flex-direction:column;align-items:stretch}
  .cat-search{min-width:0;width:100%}
  .cat-sort{width:100%}
  .cat-select{width:100%}
  .lk-block-head{flex-wrap:wrap}
  .lk-bar-row{
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    gap:4px 8px;
  }
  .lk-bar-name{grid-column:1}
  .lk-bar-val{grid-column:2}
  .lk-bar-track{grid-column:1 / -1}
  .lk-watch-screen,.lk-mf,.lk-shelf,.idx-sheet,.cf-overlay,
  #login-modal-overlay,#tfa-prompt-overlay,.modal-overlay{
    padding:0 !important;
    align-items:stretch !important;
    overflow:hidden !important;
  }
  .lk-watch-panel,.lk-mf-card,.lk-shelf-box,.cf-box,
  #login-modal,#tfa-prompt,.modal-box{
    width:100% !important;
    max-width:100% !important;
    max-height:100dvh !important;
    height:auto;
    min-height:0;
    overflow:auto;
    padding:16px 14px calc(16px + env(safe-area-inset-bottom, 0px));
    box-shadow:none !important;
  }
  .idx-sheet .idx-sheet-box{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    max-height:100% !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:16px 14px calc(18px + env(safe-area-inset-bottom,0px)) !important;
    box-shadow:none !important;
  }
  .page-market .idx-sheet-box{
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column;
    padding:0 !important;
  }
  .modal-box{max-height:100dvh;border-radius:0}
  .input,.select,input:not([type=checkbox]):not([type=radio]):not([type=range]),
  select,textarea{
    font-size:16px !important; /* stop iOS focus-zoom */
  }
  #lkAddPanel .input, #lkAddPanel .select{height:44px}
  .lk-add-type button{min-height:44px;font-size:.85rem;padding:8px 6px}
  .pay-methods{grid-template-columns:1fr 1fr}
  .pay-fake.row{grid-template-columns:1fr}
  .idx-filters{flex-direction:column;align-items:stretch}
  .idx-filters .field{min-width:0;width:100%}
  .wrap{padding-left:16px;padding-right:16px}
  /* Two-up shelf on phones — minmax(158px) otherwise collapses to one fat column. */
  .lk-grid, .idx-grid, .vis-grid, .cover-admin-grid, .prof-col-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px 10px;
  }
  .hw-list{max-height:min(50vh,420px)}
  .hw-seg{flex:1 1 100%;min-width:0}
  .hw-seg button{min-height:40px}
  .lk-chip,.lk-group-add,.lk-adv-group,.ac-region button{min-height:44px}
  .btn.xs,.btn.sm,.btn--sm{min-height:44px;height:auto;padding:8px 14px}
  .lk-tabs{width:100%;gap:0}
  .lk-tab{flex:1 1 calc(33.33% - 2px);text-align:center;padding:10px 8px;font-size:.8rem}
  .lk-head .between{align-items:flex-start}
  .lk-head .btn--primary{min-height:44px}
  .table-scroll, .pay-card:has(.pay-compare), div:has(> table.admin-users){
    overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;
  }
  .pay-compare,.admin-users,.mem-compare{min-width:32rem}
  .idx-price-ladder{grid-template-columns:repeat(3,minmax(0,1fr))}

  .ac-drop{max-height:min(40vh,240px)}
  .lk-groups{gap:8px}
  #guest-bnav .bnav-item,#bottom-nav .bnav-item{min-width:0;padding:8px 2px;font-size:.62rem}
  #bnav-version{display:none}
}

@media (max-width: 420px){
  .lk-sum-title{font-size:1.25rem}
  .lk-sum-price{font-size:clamp(1.45rem,8vw,2rem)}
  .lk-market-val, #lk-market-val{font-size:clamp(1.6rem,8vw,2.4rem)}
  .lk-add-type{gap:4px;padding:3px}
  .lk-stats{gap:8px}
  .mh-mark .wm, .mh-mark .logo-main, .mh-mark span{font-size:.82rem}
  .lk-tab{flex-basis:calc(50% - 2px);font-size:.78rem;padding:10px 6px}
  .lk-cat{padding:12px 10px;gap:8px}
  .pay-compare,.admin-users,.mem-compare{min-width:28rem}
  .ar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

.lk-sale-pip{
  display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid var(--gold);
  color:var(--gold);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;
  font-family:var(--display);font-weight:700;vertical-align:middle;white-space:nowrap
}
.lk-sum-tools{
  display:flex;flex-wrap:nowrap;justify-content:center;align-items:stretch;
  gap:4px;margin-top:14px;padding-top:10px;border-top:2px solid var(--mortar);
}
.lk-tool{
  flex:1 1 0;min-width:0;max-width:92px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:8px 2px;min-height:56px;border:2px solid transparent;background:transparent;
  color:var(--muted);cursor:pointer;font-family:var(--display);font-size:.68rem;font-weight:600;line-height:1.15;
}
.lk-tool svg{display:block;flex-shrink:0}
.lk-tool span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lk-tool:hover{color:var(--ink);border-color:var(--mortar)}
.lk-tool.on{color:var(--gold)}
.lk-tool--danger:hover{color:var(--blood-2);border-color:var(--blood)}
.lk-sale-box{margin-top:12px;padding-top:12px;border-top:2px solid var(--mortar)}
.lk-sale-kicker{font-family:var(--display);font-size:.72rem;color:var(--gold);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}
.lk-sale-ask{font-family:var(--display);font-weight:700;margin-bottom:8px}
.lk-sale-links{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 8px}
.lk-sale-link{
  border:0;background:none;padding:0;color:var(--gold);cursor:pointer;
  font-family:var(--display);font-size:.82rem;font-weight:600;
}
.lk-sale-link:hover{color:var(--gold-2);text-decoration:underline}
.lk-sale-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.lk-sale-form label{display:block;font-size:.82rem;color:var(--muted)}
.lk-sale-form label small{display:block;font-weight:400;margin-top:2px}
.lk-sale-err{color:var(--blood-2);font-size:.82rem}
.lk-spark{margin:10px 0 4px;color:var(--gold)}
.lk-spark-lbl{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-family:var(--display);margin-bottom:4px}
.lk-spark-svg{width:100%;height:56px;display:block}
.lk-insight{margin:16px 0}
.lk-insight-block{margin-bottom:16px}
.lk-insight-block h4{margin:0 0 4px;font-family:var(--display);font-size:.95rem}
.lk-insight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lk-insight-list li{font-size:.85rem;color:var(--parchment);line-height:1.4}
.lk-insight-list .lk-link{background:none;border:none;color:var(--gold);cursor:pointer;padding:0;font:inherit}
.lk-gaps{margin:0 0 12px}
.lk-gaps .lk-add-hint{margin:0 0 10px}
.lk-gaps-list{display:flex;flex-direction:column;gap:8px}
.lk-gap{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:10px 12px;text-align:left;font:inherit;color:inherit;
  background:var(--panel-2,var(--elevated));border:1px solid var(--line,var(--mortar));
  border-radius:var(--rad,8px);cursor:pointer;
}
.lk-gap:hover{border-color:var(--gold)}
.lk-gap-body{flex:1;min-width:0}
.lk-gap-title{font-weight:700;color:var(--ink);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-gap-meta{font-size:.72rem;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-gap-nums{
  display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0;
  font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700;
  line-height:1.15;text-align:right;white-space:nowrap;color:var(--gold);
}
.lk-gap-path{font-size:.78rem;font-weight:600}
.lk-gap-delta{font-size:.92rem}
.lk-complete{margin:0 0 8px}
.lk-complete-row{width:100%;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left}
.lk-complete-row:hover .lk-bar-name{color:var(--gold)}
.lk-complete .lk-bar-val{font-size:.72rem;white-space:nowrap}
.lk-awards-head{margin-top:22px}
.lk-dock-tab[data-lktab="badges"] span{letter-spacing:0}
.lk-tools{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.lk-tools .btn{min-height:44px}
@media(max-width:600px){.lk-tools .btn{flex:1 1 calc(50% - 8px);justify-content:center}}

.rs-flag{
  display:inline-block;width:1.35em;height:.95em;vertical-align:-.12em;flex-shrink:0;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  border:1px solid rgba(0,0,0,.35);box-shadow:1px 1px 0 var(--shade);
}
.rs-flag-us{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 10'><rect width='19' height='10' fill='%23b22234'/><path d='M0 1.54h19M0 3.08h19M0 4.62h19M0 6.15h19M0 7.69h19M0 9.23h19' stroke='%23fff' stroke-width='.77'/><rect width='7.6' height='5.38' fill='%233c3b6e'/></svg>")}
.rs-flag-gb{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'><clipPath id='a'><rect width='60' height='30'/></clipPath><g clip-path='url(%23a)'><rect width='60' height='30' fill='%23012169'/><path d='M0 0l60 30M60 0L0 30' stroke='%23fff' stroke-width='6'/><path d='M0 0l60 30M60 0L0 30' stroke='%23c8102e' stroke-width='2'/><path d='M30 0v30M0 15h60' stroke='%23fff' stroke-width='10'/><path d='M30 0v30M0 15h60' stroke='%23c8102e' stroke-width='6'/></g></svg>")}
.rs-flag-jp{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'><rect width='3' height='2' fill='%23fff'/><circle cx='1.5' cy='1' r='.6' fill='%23bc002d'/></svg>")}
.ac-flag{display:flex;align-items:center;justify-content:center}
.ac-region button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.lk-search-row{display:flex;align-items:stretch;gap:8px}
.lk-search-row .ac-wrap{flex:1;min-width:0}
.lk-cam-wrap{position:relative;flex:0 0 auto}
.lk-cam-btn{width:44px;min-width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--mortar);background:var(--surface);color:var(--ink);cursor:pointer;padding:0}
.lk-cam-btn:hover,.lk-cam-btn[aria-expanded="true"]{border-color:var(--gold);color:var(--gold)}
.lk-cam-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;background:var(--elevated);border:2px solid var(--mortar);box-shadow:4px 4px 0 var(--shade);display:none}
.lk-cam-menu.open{display:block}
.lk-cam-menu button{display:block;width:100%;text-align:left;padding:12px 14px;min-height:44px;border:0;background:transparent;color:var(--ink);font-family:var(--display);font-weight:600;cursor:pointer}
.lk-cam-menu button:hover{background:color-mix(in srgb,var(--gold) 14%,transparent);color:var(--gold)}
.lk-barcode{position:fixed;inset:0;z-index:640;display:none;align-items:center;justify-content:center;background:rgba(5,6,12,.82);padding:16px}
.lk-barcode.open{display:flex !important}
.lk-barcode-card{width:min(440px,96vw);background:var(--elevated);border:2px solid var(--mortar);box-shadow:8px 8px 0 var(--shade);padding:18px 16px 16px}
.lk-barcode-card h3{font-family:var(--display);margin:0 0 10px;font-size:1.15rem}
.lk-barcode-card video{width:100%;max-height:min(42vh,280px);background:#000;display:block;margin:0 0 10px;object-fit:cover}
.lk-barcode-status{min-height:1.3em;font-size:.85rem;color:var(--parchment);margin:0 0 10px;line-height:1.4}
.lk-barcode-status.ok{color:var(--moss-2)}
.lk-barcode-status.err{color:var(--blood-2)}
.lk-barcode-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media(max-width:1023px){
  .lk-add-barcode-field,.lk-adv-btn{display:none}

  /* Compact locker dashboard: less stacked chrome, more of the keep on screen. */
  .lk-head{padding:6px 0 2px !important}
  .lk-head .kicker,
  .lk-head .lede{display:none !important}
  .lk-title{font-size:1.2rem !important;line-height:1.15;margin:0}
  .lk-content.wrap{padding-top:10px}

  .lk-dash-counts{gap:8px}
  .lk-dash-count{padding:10px 12px}
  .lk-dash-count b{font-size:1.2rem}

  .lk-dash .lk-tools{
    gap:14px;
    margin:0 0 12px;
  }
  .lk-dash .lk-tools .btn{
    flex:0 0 auto;
    min-height:0;
    height:auto;
    padding:0;
    border:none;
    background:none;
    box-shadow:none;
    font-size:.7rem;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .lk-dash .lk-block{padding:14px}
  .lk-dash .lk-block-head{margin-bottom:10px}
  .lk-dash .lk-sec{font-size:1.05rem}
  .lk-dash .lk-value-svg,
  .lk-dash .lk-value-svg--narrow{
    aspect-ratio:390 / 300;
    min-height:250px;
    height:auto;
  }
  .lk-dash .lk-value-stage{padding:8px 0 6px}
  .lk-dash .lk-value-tick{font-size:13px}
  .lk-dash .lk-value-xlabel{font-size:12px}
  .lk-dash .lk-value-amt--sm{font-size:11px}
  .lk-dash .lk-insight{margin:10px 0}
  .lk-dash .lk-insight-block:nth-child(n+2),
  .lk-dash .lk-insight-block .lk-add-hint{display:none}
  .lk-dash .lk-dash-badges{display:none}
  .lk-dash .lk-bar-row{grid-template-columns:minmax(0,88px) 1fr 54px;gap:8px}
  .lk-dash .lk-bars{gap:8px}

  .lk-movers-head{margin-top:14px}
  .lk-movers-kicker{margin:4px 0 6px}
  .lk-movers{gap:6px}
  .lk-mover{padding:8px 10px;gap:8px}
  .lk-movers .lk-mover:nth-child(n+5){display:none}
  .lk-movers-kicker:has(+ .lk-add-hint),
  .lk-movers-kicker + .lk-add-hint{display:none}

  .lk-dash-recent{margin-top:0;padding:12px 10px 4px}
  .lk-dash-recent .lk-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:12px}
  .lk-dash-recent .lk-grid .lk-item:nth-child(n+5){display:none}
}

/* Even locker spacing — dashboard, collection, watching, wish-list */
.lk-content.wrap{
  padding-top:16px;
  padding-left:24px;
  padding-right:24px;
  min-height:auto;
}
.lk-stats{gap:12px;margin-bottom:16px}
.lk-stat{padding:16px}
.lk-block{padding:16px}
.lk-block-head{margin-bottom:12px}
.lk-dash-grid{gap:12px;margin-bottom:4px}
.lk-cats{gap:10px;margin:0 0 12px}
.lk-grid{gap:16px 12px;padding:4px 0 8px}
.lk-insight{margin:12px 0}
.lk-tools{margin:0 0 14px}
.lk-watch-mail{margin-bottom:12px;padding:12px 14px}
.cat-controls{gap:10px;margin-top:0}
.cat-count-row{margin:10px 0 12px}
.lk-movers-head{margin-top:20px}
.lk-movers{gap:8px}
.lk-mover{padding:10px 12px}
.lk-mover-art{
  flex-shrink:0;
  width:44px;
  height:58px;
  overflow:hidden;
}
.lk-mover-art .lk-art-stage{
  padding:0 !important;
  width:44px;
  overflow:hidden;
}
.lk-mover-art .lk-art-stage::before,
.lk-mover-art .lk-art-stage::after,
.lk-mover-art .lk-media{display:none !important}
.lk-mover-art .lk-box{
  width:44px !important;
  height:58px !important;
  aspect-ratio:auto !important;
}
.lk-mover-art .lk-box-ph{font-size:.7rem;padding:4px}
.lk-sec{font-size:1.15rem}
.lk-panel-head{padding:16px 20px}
.lk-panel-body{padding:16px 20px 20px}
/* Modal close X — button size stays; the mark itself must read on phones. */
.lk-panel-head .btn--icon,
.lk-panel-head .btn--icon.btn--sm,
.lk-x{
  width:44px !important;
  min-width:44px;
  height:44px !important;
  min-height:44px !important;
  color:var(--ink) !important;
  border-color:var(--mortar) !important;
}
.lk-panel-head .btn--icon svg,
.lk-x svg,
.keep-drawer-close svg{
  width:22px !important;
  height:22px !important;
  max-width:none !important;
  stroke:currentColor;
  stroke-width:2.75;
}
.modal-close,
.lk-mf-x,
.idx-sheet-x{
  color:var(--ink) !important;
  font-size:2rem !important;
  font-weight:700;
  line-height:1;
  min-width:44px;
  min-height:44px;
  opacity:1;
}
.lk-qs-hint{margin:0 0 10px}
.lk-qs-search{margin-bottom:10px}
.lk-qs-list{gap:6px}
.lk-qs-row{padding:10px}
.lk-dock-search{font-size:.8rem}
@media (max-width: 1023px){
  .lk-content.wrap{
    padding-left:16px;
    padding-right:16px;
    padding-top:10px;
    /* Dock is tools (~66) + tabs (~56) + safe area. Keep the last shelf row clear. */
    padding-bottom:calc(180px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
.lk-dash-val{
  display:block;
  margin-top:.2rem;
  font-style:normal;
  font-family:var(--display);
  font-weight:650;
  font-size:.78rem;
  color:var(--gold);
  letter-spacing:0;
  text-transform:none;
}
@media (max-width: 760px){
  .lk-cats{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:6px}
  .lk-cat{flex-direction:column;align-items:flex-start;padding:8px 6px;gap:4px}
  .lk-cat-l,.lk-dash-count span{letter-spacing:0}
  .lk-dash-counts{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .lk-dash-count{padding:8px 6px}
  .lk-dash-val{font-size:.68rem}
}
.lk-sum-all{
  display:block;
  text-align:center;
  margin:2px 0 8px;
  font-family:var(--display);
  font-weight:650;
  font-size:.92rem;
  color:var(--gold);
}
.card-pick-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(112px,1fr));
  gap:10px;
  max-height:460px;
  overflow:auto;
  margin-top:10px;
}
.card-pick{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  padding:8px;
  border:2px solid var(--mortar);
  background:var(--shade);
  color:inherit;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.card-pick:hover,.card-pick.is-on{border-color:var(--gold);background:var(--elevated)}
.card-pick-art{
  display:block;
  aspect-ratio:63/88;
  background:#101428;
  overflow:hidden;
}
.card-pick-art img{width:100%;height:100%;object-fit:contain;display:block;background:#101428}
.card-pick-ph{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.75rem}
.card-pick-name{font-family:var(--display);font-weight:650;font-size:.78rem;line-height:1.25}
.card-pick-set{color:var(--muted);font-size:.68rem;line-height:1.3}
.card-picked{display:flex;gap:12px;align-items:center;margin:12px 0}
.card-picked .card-pick-art{width:92px;flex:none}

/* collection-phone */
@media (max-width:760px){
  #lk-tab-collection .lk-cats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    overflow:visible;
    margin:0 0 10px;
    padding:0;
  }
  #lk-tab-collection .lk-cat{
    flex-direction:row;
    align-items:center;
    gap:12px;
    min-height:64px;
    padding:10px 12px;
    box-shadow:none;
    min-width:0;
  }
  /* "All items" spans the row; Games / Hardware / Docs / Cards sit two by two beneath it. */
  #lk-tab-collection .lk-cat:first-child{grid-column:1 / -1}
  #lk-tab-collection .lk-cat-ic{width:34px;height:34px}
  #lk-tab-collection .lk-cat-ic svg{width:18px;height:18px}
  #lk-tab-collection .lk-cat-n{font-size:1.3rem}
  #lk-tab-collection .lk-cat-l{font-size:.74rem;margin-top:3px;white-space:nowrap}
  #lk-tab-collection .lk-cat-v{font-size:.78rem;margin-top:4px}
  #lk-tab-collection .lk-groups{
    flex-wrap:wrap;
    overflow:visible;
    gap:8px;
    margin:0 0 8px;
    padding-bottom:2px;
  }
  #lk-tab-collection .lk-groups .lk-chip{flex:0 0 auto;white-space:nowrap}
  #lk-tab-collection .cat-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    align-items:center;
  }
  #lk-tab-collection .cat-search{grid-column:1 / -1;min-width:0;width:100%}
  #lk-tab-collection .cat-sort{width:auto;min-width:0}
  #lk-tab-collection .cat-sort .eyebrow{display:none}
  #lk-tab-collection .cat-select{width:100%;min-height:44px;height:44px}
  #lk-tab-collection .cat-count-row{margin:8px 0}
  #lk-tab-collection .lk-grid{gap:10px 8px;padding:2px 0 8px}
  #lk-tab-collection .lk-item{padding:8px 8px 10px;gap:6px}
  #lk-tab-collection .lk-item:hover,
  #lk-tab-collection .lk-item:active{transform:none;box-shadow:none}
  #lk-tab-collection .lk-art-stage{padding:12px 2px 2px}
  #lk-tab-collection .lk-art-stage::before,
  #lk-tab-collection .lk-art-stage::after{top:2px;width:8px}
  #lk-tab-collection .lk-art-stage .lk-box{transform:none}
  #lk-tab-collection .lk-art-stage--top .lk-media{transform:var(--lk-cart-rest)}
  #lk-tab-collection .lk-art-stage--right .lk-media{transform:var(--lk-disc-rest)}
  #lk-tab-collection .lk-item-title{font-size:.8rem}
  #lk-tab-collection .lk-item-foot{gap:4px 6px}
  #lk-tab-collection .lk-cond,
  #lk-tab-collection .lk-tier-pill{
    font-size:.62rem;
    line-height:1.2;
    padding:2px 5px;
    white-space:nowrap;
  }
  #lk-tab-collection .lk-item-val{font-size:.74rem}
}
/* Region flag beside the year on Index tiles and sheets. */
.rg-flag{display:inline-flex;vertical-align:-1px;margin-left:6px;line-height:0}
.rg-flag svg{display:block;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
