/* A shared analogue display language. The layouts and the physical media stay intact. */
:root {
  --crt-paper: #f5eedc;
  --crt-muted: #d7cfb9;
  --crt-phosphor: #d7f3b0;
  --crt-amber: #ffcc83;
  --crt-panel: #171b19;
  --crt-rim: #8e927c;
}
body {
  color: var(--crt-paper);
  font-family: 'Courier New', monospace;
  caret-color: var(--crt-phosphor);
}
::selection { color: #141b15; background: #d7f3b0; }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, .record-stage:focus-visible, .catalogue-scroll:focus-visible {
  outline: 3px solid #f5d399;
  outline-offset: 3px;
}

/* The PNG mark remains static; a light enamel backing makes its dark lettering legible. */
.shop-mark {
  font-family: 'Courier New', monospace;
  border-radius: 8px;
  background: linear-gradient(155deg, #e8dfc7, #b9ab8b);
  box-shadow: inset 0 1px #fff8, inset 0 -2px #493f3460, 0 4px 14px #0008;
}
.shop-mark-image { filter: drop-shadow(0 2px 3px #38202c45); }

/* Use the existing semantic links/buttons as small phosphor display keys. */
.art-button {
  color: var(--crt-phosphor);
  border: 1px solid #a39b7e;
  border-radius: 10px;
  background: linear-gradient(160deg, #4c4b3f, #252923 46%, #141916);
  box-shadow: inset 0 1px #fff6, inset 0 -3px 0 #080b09, 0 4px 12px #0009;
  filter: none;
}
.art-button::before {
  display: block;
  inset: 16% 8%;
  border: 1px solid #9eab86;
  border-radius: 7px;
  transform: none;
  background: repeating-linear-gradient(to bottom, #d0e9b00c 0 1px, transparent 1px 4px), linear-gradient(#152920, #0d1d17);
  box-shadow: inset 0 1px 7px #000b, 0 1px #fff2;
}
.button-art img { visibility: hidden; filter: none !important; }
.button-label, .listening-room .button-label {
  z-index: 3;
  color: var(--crt-phosphor);
  font-family: 'Courier New', monospace;
  font-weight: 700;
  text-shadow: 0 0 7px #b9e59765;
}
.art-button:hover, .art-button:focus-visible {
  filter: none;
  box-shadow: inset 0 1px #fff8, inset 0 -3px 0 #080b09, 0 4px 16px #000b;
}
.art-button:hover::before, .art-button:focus-visible::before {
  border-color: #d8edba;
  background: repeating-linear-gradient(to bottom, #d0e9b014 0 1px, transparent 1px 4px), linear-gradient(#244331, #132820);
}
.art-button[aria-current='page'] .button-label { color: #fff4d2; }

/* Main: information and physical controls use the same readable display palette. */
.listening-room .selection-label, .listening-room .player-glass,
.listening-room .track-info h2, .listening-room .track-info p,
.listening-room .track-meta, .listening-room .audio-state,
.listening-room .seek-row { color: var(--crt-paper); text-shadow: 0 1px 5px #000; }
.listening-room .track-meta, .listening-room .track-info p,
.listening-room .audio-state { color: var(--crt-muted); }
.listening-room .track-info h2 { font-family: 'Courier New', monospace; font-weight: 700; }
.record-label { font-family: 'Courier New', monospace; }
.listening-room .meta-dot { background: var(--crt-amber); }
.listening-room .icon-button { color: var(--crt-paper); }
.listening-room .play-button {
  color: #f5f1dd;
  border: 1px solid #9da68b;
  background: linear-gradient(#485b46, #18291d);
  box-shadow: inset 0 1px #dceac589, 0 3px 8px #0009;
}
.listening-room .play-button:hover { background: #49684a; }
.listening-room input[type='range']::-webkit-slider-runnable-track {
  background: linear-gradient(to right, #dcf1c5 var(--progress, 0%), #ddd5b66b var(--progress, 0%));
}
.listening-room input[type='range']::-webkit-slider-thumb { background: #f5eedc; }
.listening-room input[type='range']::-moz-range-track { background: #ddd5b66b; }
.listening-room input[type='range']::-moz-range-progress { background: #dcf1c5; }
.listening-room input[type='range']::-moz-range-thumb { background: #f5eedc; }

/* Catalogue: color and material only; category layout and sizing remain unchanged. */
.catalogue-page {
  --ink: #f5eedc;
  --brown: #d7cfb9;
  --rust: #f1d8a4;
  --catalogue-line: #d7cfb97a;
  color: var(--crt-paper);
}
.catalogue-heading, .catalogue-scroll, .catalogue-footer { background: #101713c7; }
.catalogue-category { color: var(--crt-paper); }
.catalogue-category:hover { background: #d7f3b021; }
.catalogue-search-wrap, #catalogue-sort, .catalogue-text-button {
  color: #f5eedc;
  background: #18271f;
  box-shadow: inset 0 0 0 1px #99a587;
}
#catalogue-search, #catalogue-sort, #catalogue-sort option { color: #f5eedc; }
#catalogue-search { font-family: 'Nunito', sans-serif; }
#catalogue-search::placeholder { color: #d7cfb9; }
#catalogue-sort option { background: #18271f; }
.catalogue-demo, .catalogue-demo strong, .catalogue-demo a,
.catalogue-demo-price { color: var(--crt-paper); }
.catalogue-demo-origin, .catalogue-purchase-note { color: var(--crt-muted); }
.catalogue-buy, .catalogue-text-button {
  color: #f5eedc;
  background: #2a4030;
  border-color: #a9b89a;
}
.catalogue-buy:hover, .catalogue-text-button:hover { background: #3c5942; }
.catalogue-listen { color: var(--crt-phosphor); }
.catalogue-listen:hover { background: #d7f3b021; }
.catalogue-scroll { scrollbar-color: #b9c9a2 #101713; }

/* Cart and operations: darker readable screens instead of pale pastel cards. */
.commerce-page, .operations-page { color: var(--crt-paper); }
.commerce-main, .op-main { background: #101713db; }
.commerce-steps, .commerce-steps .is-current, .cart-info p,
.fine-print, .op-heading p, .eyebrow, .timeline time,
.timeline small, .notice small, .history span { color: var(--crt-muted); }
.demo-banner, .commerce-notice, .summary, .demo-note,
.next-action, .distinction, .state, .quantity-control {
  color: var(--crt-paper);
  background: #26382c;
  border-color: #a5b395;
}
#checkout-form input { color: var(--crt-paper); background: #121e17; border-color: #a5b395; }
.op-main a, .operations-page .text-button { color: var(--crt-phosphor); }
.primary-button, .secondary-button, .op-button {
  color: #f5eedc !important;
  background: #2a4030;
  border-color: #a9b89a;
}
.primary-button:hover, .secondary-button:hover, .op-button:hover { background: #3c5942; }

@media (prefers-reduced-motion: reduce) {
  .art-button { transition: none; }
}
