.receipt-lab {
  --receipt-bg: #080c11;
  --receipt-panel: #0d141b;
  --receipt-panel-raised: #111b24;
  --receipt-line: #34434e;
  --receipt-muted: #9dabb5;
  --receipt-cyan: #75e6ff;
  --receipt-violet: #b69cff;
  --receipt-yellow: #ffdc67;
  --receipt-coral: #ff6f91;
  position: relative;
  isolation: isolate;
  margin: 5rem 0;
  overflow: hidden;
  border: 1px solid #3e4c56;
  color: #f5f2eb;
  background:
    radial-gradient(circle at 90% 0%, rgba(182, 156, 255, .17), transparent 29rem),
    linear-gradient(135deg, rgba(117, 230, 255, .055), transparent 32rem),
    var(--receipt-bg);
  box-shadow: 0 36px 90px rgba(0, 0, 0, .35);
}

.receipt-lab *, .receipt-lab *::before, .receipt-lab *::after { box-sizing: border-box; }
.receipt-lab button, .receipt-lab textarea { font: inherit; }
.receipt-lab button { color: inherit; }
.receipt-lab [hidden] { display: none !important; }

.receipt-gridwash {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .52;
  background-image:
    linear-gradient(rgba(117, 230, 255, .048) 1px, transparent 1px),
    linear-gradient(90deg, rgba(117, 230, 255, .048) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.receipt-masthead {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  min-height: 390px;
  border-bottom: 1px solid var(--receipt-line);
}

.receipt-stamp {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem;
  overflow: hidden;
  border-right: 1px solid var(--receipt-line);
  background: rgba(7, 11, 16, .72);
}

.receipt-stamp > span,
.receipt-kicker,
.receipt-stats small,
.receipt-workbench-head span,
.receipt-column > span,
.receipt-section-heading span,
.receipt-sample > span,
.receipt-sample > small,
.receipt-status > span,
.receipt-status-binding,
.receipt-drop small,
.receipt-input-label,
.receipt-action-status {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.receipt-stamp > span { color: var(--receipt-muted); font-size: .68rem; }
.receipt-stamp > b {
  position: relative;
  display: grid;
  place-items: center;
  width: 154px;
  height: 154px;
  margin: 1rem auto;
  border: 2px solid var(--receipt-cyan);
  border-radius: 50%;
  color: var(--receipt-cyan);
  font: 950 4rem/.85 ui-monospace, SFMono-Regular, Menlo, monospace;
  transform: rotate(-7deg);
}
.receipt-stamp > b::before,
.receipt-stamp > b::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(117, 230, 255, .45); border-radius: inherit; }
.receipt-stamp > b::after { inset: 19px; border-style: dashed; }
.receipt-stamp > strong { font: 950 1.5rem/.92 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: -.05em; }
.receipt-stamp > i { color: var(--receipt-violet); font: 800 .75rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }

.receipt-intro { align-self: center; max-width: 900px; padding: 3.2rem clamp(2rem, 5vw, 5rem); }
.receipt-kicker { display: block; margin-bottom: 1rem; color: var(--receipt-cyan); font-size: .7rem; }
.receipt-intro h2 { margin: 0; max-width: 820px; font-size: clamp(2.65rem, 6vw, 5.5rem); line-height: .89; letter-spacing: -.065em; }
.receipt-intro h2 em { color: var(--receipt-violet); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.receipt-intro p { max-width: 780px; margin: 1.6rem 0 0; color: #bdc7cd; font-size: 1.03rem; line-height: 1.7; }
.receipt-intro-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.8rem; }
.receipt-primary, .receipt-secondary { min-height: 46px; cursor: pointer; }
.receipt-primary { border-color: var(--receipt-cyan) !important; color: #071016 !important; background: var(--receipt-cyan) !important; }
.receipt-secondary { border-color: #566773 !important; color: #f5f2eb !important; background: transparent !important; }
.receipt-method-link { color: var(--receipt-cyan); font: 800 .76rem ui-monospace, SFMono-Regular, Menlo, monospace; text-decoration: none; }
.receipt-method-link:hover { text-decoration: underline; }

.receipt-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--receipt-line); background: rgba(8, 12, 17, .82); }
.receipt-stats > span { min-width: 0; padding: 1.45rem 1.7rem; border-right: 1px solid var(--receipt-line); }
.receipt-stats > span:last-child { border-right: 0; }
.receipt-stats b { display: block; color: var(--receipt-yellow); font: 950 2rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-stats small { display: block; margin-top: .28rem; color: var(--receipt-muted); font-size: .62rem; }

.receipt-intake { padding: clamp(1.4rem, 4vw, 3rem); }
.receipt-workbench-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.35rem; }
.receipt-workbench-head span { color: var(--receipt-cyan); font-size: .68rem; }
.receipt-workbench-head h3 { margin: .4rem 0 0; font-size: clamp(1.55rem, 3vw, 2.45rem); letter-spacing: -.04em; }
.receipt-workbench-head p { max-width: 520px; margin: 0; color: var(--receipt-muted); line-height: 1.6; }

.receipt-input-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1rem; }
.receipt-drop,
.receipt-paste-wrap { min-width: 0; min-height: 246px; border: 1px solid var(--receipt-line); background: rgba(13, 20, 27, .92); }
.receipt-drop { display: grid; place-items: center; padding: 1.75rem; text-align: center; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.receipt-drop:hover, .receipt-drop:focus-visible, .receipt-drop.is-dragging { outline: none; border-color: var(--receipt-cyan); background: rgba(117, 230, 255, .09); transform: translateY(-2px); }
.receipt-drop-mark { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto 1rem; border: 1px solid var(--receipt-cyan); border-radius: 50%; color: var(--receipt-cyan); font: 400 2rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-drop b { display: block; font-size: 1.2rem; }
.receipt-drop p { margin: .45rem 0 1rem; color: var(--receipt-muted); line-height: 1.55; }
.receipt-drop small { color: #72818b; font-size: .62rem; }
.receipt-drop .button { pointer-events: none; }
.receipt-file-name { display: block; max-width: 100%; margin-top: .75rem; overflow: hidden; color: var(--receipt-yellow); font: 700 .72rem ui-monospace, SFMono-Regular, Menlo, monospace; text-overflow: ellipsis; white-space: nowrap; }

.receipt-paste-wrap { display: flex; flex-direction: column; padding: 1.25rem; }
.receipt-input-label { margin-bottom: .65rem; color: var(--receipt-muted); font-size: .65rem; }
.receipt-paste-wrap textarea { flex: 1; width: 100%; min-height: 132px; resize: vertical; border: 1px solid #40505a; border-radius: 0; outline: 0; padding: .9rem; color: #e8edf0; background: #070b10; font: 500 .78rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-paste-wrap textarea:focus { border-color: var(--receipt-cyan); box-shadow: 0 0 0 2px rgba(117, 230, 255, .11); }
.receipt-paste-actions { display: flex; gap: .65rem; align-items: center; margin-top: .8rem; }
.receipt-clear { border: 0; padding: .7rem; cursor: pointer; color: var(--receipt-muted) !important; background: transparent; font: 800 .72rem ui-monospace, SFMono-Regular, Menlo, monospace; }

.receipt-example-wrap { margin-top: 1.4rem; }
.receipt-example-wrap > span { display: block; margin-bottom: .7rem; color: var(--receipt-muted); font: 800 .68rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.receipt-samples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.receipt-sample { min-width: 0; border: 1px solid var(--receipt-line); padding: 1.15rem; cursor: pointer; text-align: left; background: rgba(17, 27, 36, .83); transition: border-color .18s ease, transform .18s ease; }
.receipt-sample:hover, .receipt-sample:focus-visible { outline: none; border-color: var(--receipt-violet); transform: translateY(-2px); }
.receipt-sample > span { display: block; color: var(--receipt-cyan); font-size: .58rem; }
.receipt-sample > b { display: block; margin-top: .55rem; font-size: 1rem; }
.receipt-sample > p { margin: .55rem 0 .8rem; color: var(--receipt-muted); font-size: .78rem; line-height: 1.5; }
.receipt-sample > small { color: var(--receipt-yellow); font-size: .55rem; }

.receipt-action-status { display: block; min-height: 1.2rem; margin-top: 1rem; color: var(--receipt-muted); font-size: .62rem; }

.receipt-dashboard { border-top: 1px solid var(--receipt-line); background: rgba(6, 10, 14, .64); }
.receipt-status { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 1.6fr); gap: 1.5rem; padding: clamp(1.4rem, 4vw, 3rem); border-bottom: 1px solid var(--receipt-line); }
.receipt-status::before { content: ""; position: absolute; }
.receipt-status > span { grid-column: 1 / -1; font-size: .67rem; }
.receipt-status h3 { margin: 0; font: 950 clamp(2rem, 5vw, 4.4rem)/.9 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: -.07em; }
.receipt-status-copy { max-width: 720px; margin: 0; align-self: end; color: #c3ccd2; font-size: 1rem; line-height: 1.65; }
.receipt-status-binding { grid-column: 1 / -1; overflow-wrap: anywhere; color: var(--receipt-muted); font-size: .6rem; }
.receipt-status-bound h3 { color: var(--receipt-cyan); }
.receipt-status-coherent h3 { color: var(--receipt-yellow); }
.receipt-status-gaps h3, .receipt-status-unreadable h3 { color: var(--receipt-coral); }

.receipt-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--receipt-line); }
.receipt-summary-card { min-width: 0; padding: 1.35rem 1.55rem; border-right: 1px solid var(--receipt-line); }
.receipt-summary-card:last-child { border-right: 0; }
.receipt-summary-card span { display: block; color: var(--receipt-muted); font: 800 .62rem ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.receipt-summary-card b { display: block; margin: .4rem 0 .25rem; overflow-wrap: anywhere; color: var(--receipt-yellow); font: 950 1.6rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-summary-card small { color: var(--receipt-muted); font-size: .7rem; }

.receipt-columns { display: grid; grid-template-columns: 1.2fr .8fr; border-bottom: 1px solid var(--receipt-line); }
.receipt-column { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.receipt-column + .receipt-column { border-left: 1px solid var(--receipt-line); }
.receipt-column > span { display: block; margin-bottom: 1rem; color: var(--receipt-cyan); font-size: .64rem; }
.receipt-check-list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.receipt-check { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: .75rem; padding: .8rem; border: 1px solid #2d3a43; background: rgba(17, 27, 36, .68); }
.receipt-check-marker { align-self: start; padding: .3rem .25rem; color: #061015; background: var(--receipt-cyan); font: 900 .58rem ui-monospace, SFMono-Regular, Menlo, monospace; text-align: center; }
.receipt-check-warn .receipt-check-marker { background: var(--receipt-yellow); }
.receipt-check-fail .receipt-check-marker { background: var(--receipt-coral); }
.receipt-check b { display: block; font-size: .8rem; }
.receipt-check p { margin: .28rem 0 0; color: var(--receipt-muted); font-size: .7rem; line-height: 1.45; overflow-wrap: anywhere; }

.receipt-evidence { display: grid; grid-template-columns: 1.02fr .98fr; }
.receipt-evidence > section { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.receipt-evidence > section + section { border-left: 1px solid var(--receipt-line); }
.receipt-section-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.receipt-section-heading span { color: var(--receipt-cyan); font-size: .62rem; }
.receipt-section-heading h4 { margin: .35rem 0 0; font-size: 1.35rem; }
.receipt-section-heading p { max-width: 310px; margin: 0; color: var(--receipt-muted); font-size: .72rem; line-height: 1.45; }
.receipt-metrics { display: grid; gap: .7rem; }
.receipt-metric { border: 1px solid #2f3e48; padding: 1rem; background: rgba(17, 27, 36, .72); }
.receipt-metric-head { display: flex; justify-content: space-between; gap: 1rem; }
.receipt-metric-head span { color: var(--receipt-muted); font: 800 .65rem ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.receipt-metric-head b { color: var(--receipt-yellow); font: 950 1.35rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-metric-bar { height: 9px; margin-top: .65rem; overflow: hidden; background: #1b2730; }
.receipt-metric-bar i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--receipt-violet), var(--receipt-cyan)); }
.receipt-metric-bar-na { border: 1px dashed #44535d; background: transparent; }
.receipt-metric p { margin: .55rem 0 0; color: var(--receipt-muted); font: 650 .63rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-gap { margin: .8rem 0 0; border-left: 4px solid var(--receipt-violet); padding: .75rem 1rem; color: #d2caee; background: rgba(182, 156, 255, .1); font-size: .75rem; line-height: 1.5; }
.receipt-empty { color: var(--receipt-muted); font-size: .78rem; line-height: 1.55; }

.receipt-worst { max-width: 100%; overflow-x: auto; }
.receipt-trial-table { width: 100%; min-width: 590px; border-collapse: collapse; font: 650 .67rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-trial-table caption { margin-bottom: .7rem; color: var(--receipt-muted); text-align: left; }
.receipt-trial-table th, .receipt-trial-table td { border-bottom: 1px solid #2e3a43; padding: .6rem .45rem; text-align: left; }
.receipt-trial-table th { color: var(--receipt-cyan); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.receipt-trial-table td { max-width: 190px; overflow: hidden; color: #d2d9dd; text-overflow: ellipsis; white-space: nowrap; }

.receipt-ledger { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--receipt-line); }
.receipt-ledger > section { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); }
.receipt-ledger > section + section { border-left: 1px solid var(--receipt-line); }
.receipt-provenance { display: grid; gap: .45rem; }
.receipt-provenance > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 1rem; padding-bottom: .45rem; border-bottom: 1px solid #2b3740; }
.receipt-provenance span { color: var(--receipt-muted); font-size: .7rem; }
.receipt-provenance b { overflow-wrap: anywhere; font: 700 .7rem/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-privacy { margin: 0; border-left: 4px solid var(--receipt-yellow); padding: 1rem; color: #d7d1bd; background: rgba(255, 220, 103, .08); font-size: .78rem; line-height: 1.55; }

.receipt-release { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; padding: 1.5rem clamp(1.25rem, 3vw, 2rem); border-top: 1px solid var(--receipt-line); background: #0a1016; }
.receipt-release a { color: var(--receipt-cyan); font: 800 .7rem ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-release-note { width: 100%; margin: .3rem 0 0; color: var(--receipt-muted); font-size: .7rem; line-height: 1.5; }
.receipt-boundary { margin: 0; border-top: 1px solid var(--receipt-line); padding: 1rem clamp(1.25rem, 3vw, 2rem); color: #909da6; background: #070b0f; font-size: .72rem; line-height: 1.55; }

@media (max-width: 1100px) {
  .receipt-masthead { grid-template-columns: 210px minmax(0, 1fr); }
  .receipt-input-grid, .receipt-columns, .receipt-evidence { grid-template-columns: 1fr; }
  .receipt-column + .receipt-column, .receipt-evidence > section + section { border-top: 1px solid var(--receipt-line); border-left: 0; }
}

@media (max-width: 820px) {
  .receipt-masthead { grid-template-columns: 1fr; }
  .receipt-stamp { display: none; }
  .receipt-stats, .receipt-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .receipt-stats > span:nth-child(2), .receipt-summary-card:nth-child(2) { border-right: 0; }
  .receipt-stats > span:nth-child(-n+2), .receipt-summary-card:nth-child(-n+2) { border-bottom: 1px solid var(--receipt-line); }
  .receipt-samples { grid-template-columns: 1fr; }
  .receipt-ledger { grid-template-columns: 1fr; }
  .receipt-ledger > section + section { border-top: 1px solid var(--receipt-line); border-left: 0; }
  .receipt-workbench-head, .receipt-section-heading { align-items: start; flex-direction: column; }
  .receipt-status { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .receipt-lab { margin: 3rem 0; }
  .receipt-intro { padding: 2rem 1.15rem; }
  .receipt-intro h2 { font-size: 2.8rem; }
  .receipt-intro-actions, .receipt-paste-actions, .receipt-release { align-items: stretch; flex-direction: column; }
  .receipt-intro-actions .button, .receipt-paste-actions .button, .receipt-release .button { width: 100%; text-align: center; }
  .receipt-stats, .receipt-summary { grid-template-columns: 1fr; }
  .receipt-stats > span, .receipt-summary-card { border-right: 0; border-bottom: 1px solid var(--receipt-line); }
  .receipt-stats > span:last-child, .receipt-summary-card:last-child { border-bottom: 0; }
  .receipt-intake { padding: 1rem; }
  .receipt-drop, .receipt-paste-wrap { min-height: 220px; padding: 1rem; }
  .receipt-status, .receipt-column, .receipt-evidence > section, .receipt-ledger > section { padding: 1.2rem 1rem; }
  .receipt-check { grid-template-columns: 48px minmax(0, 1fr); gap: .55rem; padding: .65rem; }
  .receipt-provenance > div { grid-template-columns: 1fr; gap: .2rem; }
  .receipt-release { padding: 1.2rem 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .receipt-drop, .receipt-sample { scroll-behavior: auto; transition: none; }
}
