/* BUILD TRACE: a paper archive, a physical cassette shelf, one playable stage. */
.build-trace-page {
  color-scheme: light;
  --bt-ink: #152b43;
  --bt-muted: #52616a;
  --bt-paper: #f7f3e9;
  --bt-wall: #e8e3d7;
  --bt-line: #c7c4b8;
  --bt-blue: #145bc2;
  --bt-gold: #efc869;
  --cyan: #145bc2;
  --violet: #7652a1;
  color: var(--bt-ink);
  background: linear-gradient(#152b4305 1px, transparent 1px), linear-gradient(90deg, #152b4305 1px, transparent 1px), var(--bt-wall);
  background-size: 32px 32px;
  overflow-x: clip;
}
html[data-build-trace-root] { scroll-padding-top: 90px; }
.build-trace-page [hidden] { display: none !important; }
.build-trace-page :where(h1, h2, h3, h4, h5, p, dl, dd, ol, ul) { margin: 0; }
.build-trace-page :where(p, dd, li, strong, small, button, a) { overflow-wrap: anywhere; }
.bt-shell { width: min(100%, 1440px); margin-inline: auto; padding-inline: 36px; }
.build-trace-page :where(button, summary, a, iframe):focus-visible { outline: 3px solid var(--bt-blue); outline-offset: 5px; }
.bt-object-label, .bt-kicker, .bt-ticket-code, .bt-ticket-foot, .bt-section-index, .bt-value-label {
  font: 700 .7rem/1.5 var(--font-mono);
  letter-spacing: .1em;
  color: var(--bt-muted);
}
.build-trace-page button { cursor: pointer; }
.build-trace-page button:disabled { cursor: default; }
.bt-site-header, .bt-site-header.is-scrolled, .bt-site-header.is-menu-open {
  color: var(--bt-ink); background: #f7f3e9f5; border-bottom: 1px solid var(--bt-line);
}
.bt-site-header .nav-links a { color: var(--bt-muted); }
.bt-site-header .nav-links a:hover { color: var(--bt-blue); }
.bt-site-header .brand-mark { border-color: var(--bt-line); }
.bt-site-header .menu-button { color: var(--bt-ink); }

/* A compact introduction leaves the stage and real cartridges in the first view. */
.bt-cover { background: var(--bt-paper); border-bottom: 1px solid var(--bt-line); padding-block: 28px; }
.bt-cover-layout { display: grid; grid-template-columns: 1fr 270px; gap: 48px; align-items: center; }
.bt-cover h1 { font-size: clamp(2.8rem, 5.3vw, 4.9rem); line-height: 1.12; letter-spacing: -.075em; margin-block: 8px 14px; }
.bt-cover h1 > span:first-child { color: var(--bt-blue); }
.bt-title-dot { color: #aa671a; }
.bt-lead { color: var(--bt-muted); font-size: .88rem; line-height: 1.9; }
.bt-lead strong { color: var(--bt-ink); font-size: 1.1rem; font-weight: 750; }
.bt-browse-link { display: inline-flex; align-items: center; gap: 32px; min-height: 44px; margin-top: 10px; color: var(--bt-blue); font-size: .85rem; font-weight: 750; text-underline-offset: 5px; }
.bt-status-ticket { position: relative; padding: 16px 22px; border-left: 1px dashed #a29e92; }
.bt-status-ticket > p:not([class]) { font-size: .78rem; color: var(--bt-muted); margin-block: 10px; }
.bt-collection-count { display: flex; align-items: center; gap: 18px; }
.bt-collection-count strong { font: 800 4.2rem/1.2 var(--font-mono); letter-spacing: -.08em; }
.bt-collection-count span { font: 700 .68rem/1.8 var(--font-mono); color: var(--bt-muted); letter-spacing: .06em; }
.bt-ticket-foot { padding-top: 10px; border-top: 1px solid var(--bt-line); font-size: .65rem; }
.bt-game-lab { padding-block: 26px 56px; }
.bt-lab-heading { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; margin-bottom: 18px; }
.bt-lab-heading h2 { font-size: 1.05rem; font-weight: 700; letter-spacing: .025em; }
.bt-lab-heading > p { display: flex; gap: 28px; color: var(--bt-muted); font-size: .75rem; }
.bt-workbench { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "stage samples"; align-items: start; gap: 24px; }

/* Cartridges keep a molded shell, paper label, spine, screws and contact edge. */
.bt-sample-console { grid-area: samples; min-width: 0; padding: 20px 18px 16px; border: 1px solid #b2b0a5; border-radius: 6px; background: #d9d6cb; box-shadow: inset 0 1px 0 #fff9, 0 4px 0 #c0beb3; }
.bt-sample-console header { padding: 0 4px 16px; }
.bt-sample-console h3 { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; font-size: 1.2rem; }
.bt-sample-console h3 span { font: 600 .75rem var(--font-mono); border: 1px solid #a8acaa; padding: 3px 8px; border-radius: 3px; }
.bt-sample-console header > p:last-child { color: var(--bt-muted); font-size: .8rem; margin-top: 5px; }
.bt-sample-shelf { display: flex; flex-direction: column; gap: 14px; padding: 4px 3px 10px; list-style: none; }
.bt-sample-shelf li { min-width: 0; }
.bt-cassette-button {
  --cassette-shell: #346c96; --cassette-edge: #1c405e; --cassette-accent: #22577d;
  position: relative; display: grid; width: 100%; min-height: 126px;
  grid-template-columns: 42px minmax(0, 1fr); gap: 8px; align-items: stretch;
  padding: 20px 10px 17px; border: 2px solid var(--cassette-edge); border-radius: 7px 7px 5px 5px;
  color: var(--bt-ink); text-align: left;
  background: repeating-linear-gradient(0deg, #ffffff08 0 2px, transparent 2px 4px), var(--cassette-shell);
  box-shadow: inset 4px 0 0 #ffffff20, inset -4px 0 0 #00000010, inset 0 4px 0 #ffffff18, 0 4px 0 var(--cassette-edge), 0 7px 10px #152b431b;
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.bt-cassette-button[data-tone="plum"] { --cassette-shell: #7c6689; --cassette-edge: #493c57; --cassette-accent: #655075; }
.bt-cassette-button[data-tone="sage"] { --cassette-shell: #678374; --cassette-edge: #344f43; --cassette-accent: #385b4c; }
.bt-cassette-button::before { content: ""; position: absolute; inset: 7px 10px auto; height: 4px; background: repeating-linear-gradient(90deg, #0003 0 2px, transparent 2px 5px); border-radius: 3px; }
.bt-cassette-button::after { content: ""; position: absolute; bottom: -2px; left: 32%; right: 22%; height: 9px; border: 2px solid var(--cassette-edge); border-bottom: 0; border-radius: 4px 4px 0 0; background: repeating-linear-gradient(90deg, #b59958 0 3px, #332f24 3px 7px); }
.bt-cassette-spine { display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff7e4; }
.bt-cassette-spine > span:first-child { font-size: 1.8rem; line-height: 1.2; }
.bt-cassette-spine > span:last-child { margin-top: 9px; font: 600 .65rem/1 var(--font-mono); }
.bt-cassette-copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 9px 10px; border: 1px solid #152b4333; border-radius: 2px; background: linear-gradient(90deg, #ffffff66, transparent), #f2ecd9; }
.bt-cassette-copy strong { font-size: 1.04rem; line-height: 1.25; letter-spacing: -.025em; }
.bt-cassette-copy small { color: #4a5560; font: 500 .75rem/1.4 var(--font-mono); margin-top: 5px; }
.bt-cassette-tags { display: flex; gap: 8px; flex-wrap: wrap; font: 700 .61rem/1.5 var(--font-mono); color: var(--cassette-accent); margin-top: 8px; }
.bt-cassette-state { position: absolute; top: -10px; right: 10px; padding: 2px 8px; border: 1px solid var(--bt-ink); background: var(--bt-gold); font-size: .65rem; font-weight: 750; }
.bt-cassette-button[aria-pressed="true"] { outline: 2px solid var(--bt-ink); outline-offset: 3px; transform: translateX(-3px); }
.bt-cassette-button:focus-visible { outline: 3px solid var(--bt-blue); outline-offset: 5px; }
@media (hover: hover) { .bt-cassette-button:hover { transform: translateY(-3px); } }
.bt-cassette-guide { color: #44554f; text-align: center; font-size: .75rem; margin-top: 12px; }
.bt-shelf-pagination { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 14px; }
.bt-shelf-pagination button, .bt-find-selected { min-height: 44px; padding: 8px; border: 1px solid var(--bt-muted); background: var(--bt-paper); color: var(--bt-ink); border-radius: 3px; font-size: .8rem; }
.bt-shelf-pagination button:disabled { opacity: .5; }
.bt-shelf-pagination span { font: 600 .7rem var(--font-mono); }
.bt-find-selected { width: 100%; margin-top: 12px; }

/* GAME BOX groups cartridges by generation theme without changing the PLAY STAGE. */
.bt-game-boxes { margin-bottom: 18px; padding: 18px 20px; border: 1px solid var(--bt-line); border-radius: 4px; background: #ebe8dd; }
.bt-game-boxes header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 24px; align-items: end; }
.bt-game-boxes header .bt-object-label { grid-column: 1 / -1; }
.bt-game-boxes header h3 { font-size: 1.18rem; }
.bt-game-boxes header > p:last-child { max-width: 48ch; color: var(--bt-muted); font-size: .78rem; text-align: right; }
.bt-game-box-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.bt-game-boxes > p { margin-top: 12px; font-size: .78rem; color: var(--bt-muted); }
.bt-game-box-button { min-height: 50px; padding: 9px 14px; border: 1px solid #8f958c; border-radius: 4px; background: var(--bt-paper); color: var(--bt-ink); text-align: left; }
.bt-game-box-button strong, .bt-game-box-button small { display: block; }
.bt-game-box-button strong { font: 700 .78rem/1.4 var(--font-mono); letter-spacing: .04em; }
.bt-game-box-button small { margin-top: 3px; color: var(--bt-muted); font-size: .68rem; }
.bt-game-box-button[aria-pressed="true"] { border-color: #173751; outline: 2px solid #173751; outline-offset: 2px; background: #f8f3e8; }
.bt-game-box-button:focus-visible { outline: 3px solid var(--bt-gold); outline-offset: 2px; }

/* The frame always uses the available width. No scale transform or extra iframe. */
.bt-play-stage { grid-area: stage; min-width: 0; padding: 20px; color: var(--bt-paper); background: #152b43; border: 1px solid #071a2c; border-radius: 10px; box-shadow: inset 0 2px 0 #ffffff20, 0 6px 0 #0b1a2b, 0 16px 25px #152b431c; }
.bt-stage-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.bt-stage-header .bt-object-label { color: #b8c9d7; font-size: .6rem; }
.bt-stage-header h3 { font-size: 1.45rem; letter-spacing: .06em; line-height: 1.5; }
.bt-stage-slot-label { position: relative; padding: 6px 9px 6px 22px; border: 1px solid #ffffff30; border-radius: 2px; color: #f1d38a; font: 700 .62rem/1.4 var(--font-mono); }
.bt-stage-slot-label::before { content: ""; position: absolute; top: 10px; left: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--bt-gold); }
.bt-stage-identity { border-top: 1px solid #ffffff24; padding-block: 14px; margin-top: 12px; }
.bt-stage-identity strong { display: block; font-size: 1.35rem; line-height: 1.3; }
.bt-stage-identity p { color: #c7d0d4; margin-top: 4px; font-size: .78rem; }
.bt-stage-machine { padding: 7px; border: 1px solid #bcbbaa; border-radius: 6px; background: #d5d3c3; box-shadow: inset 0 2px 0 #fff9; }
.bt-stage-screen { position: relative; min-width: 0; overflow: hidden; border: 3px solid #263a45; border-radius: 3px; background: #070e1b; }
.bt-stage-screen iframe { display: block; width: 100%; height: clamp(470px, 43vw, 620px); border: 0; color-scheme: dark; background: #070e1b; }
.bt-stage-placeholder { min-height: 355px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; background: radial-gradient(ellipse at center, #223b57, #0e1e31 72%); text-align: center; }
.bt-stage-placeholder p { margin-top: 24px; font-size: 1.4rem; font-weight: 600; line-height: 1.6; letter-spacing: .06em; }
.bt-stage-placeholder a { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; margin-top: 14px; font-size: .8rem; color: var(--bt-gold); text-underline-offset: 4px; }
.bt-empty-cartridge { position: relative; display: block; width: 106px; height: 78px; padding: 12px; border: 2px solid #92a5b1; border-radius: 6px; transform: rotate(-8deg); box-shadow: 6px 7px 0 #060f1a66; }
.bt-empty-cartridge i { display: grid; place-items: center; height: 43px; border: 1px solid #92a5b1; background: #92a5b114; font-size: 1.7rem; font-style: normal; color: var(--bt-gold); }
.bt-empty-cartridge::after { content: ""; position: absolute; bottom: -2px; left: 27px; right: 27px; height: 7px; border: 2px solid #92a5b1; border-bottom: 0; background: repeating-linear-gradient(90deg, #92a5b1 0 2px, #0e1e31 2px 6px); }
.bt-stage-loading { position: absolute; z-index: 2; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; color: var(--bt-paper); background: #0e1e31; }
.bt-stage-loading span { font: 600 .7rem var(--font-mono); letter-spacing: .1em; }
.bt-stage-loading strong { font-size: 1.5rem; }
.bt-stage-screen[aria-busy="true"] iframe { visibility: hidden; }
.bt-stage-screen.is-inserted { animation: bt-insert 220ms ease-out; }
@keyframes bt-insert { from { opacity: .5; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.bt-machine-controls { padding: 10px 4px 3px; color: var(--bt-ink); }
.bt-machine-controls > p { font-size: .75rem; line-height: 1.5; min-height: 1.5em; }
.bt-stage-actions { display: flex; gap: 8px; margin-top: 9px; }
.bt-stage-actions button { min-height: 44px; padding: 8px 14px; border: 1px solid var(--bt-ink); border-radius: 3px; color: var(--bt-paper); background: var(--bt-ink); font-size: .8rem; font-weight: 700; }
.bt-stage-actions button:last-child { color: var(--bt-ink); background: transparent; }
.bt-stage-actions button:disabled { border-color: #7b847f; background: #c3c8bd; color: #535f5c; }
.bt-stage-actions span { margin-left: 12px; }
.bt-stage-foot { display: flex; gap: 16px; justify-content: space-between; padding-top: 14px; }
.bt-stage-foot p { max-width: 60ch; color: #b8c9d7; font-size: .68rem; }
.bt-stage-foot a { display: flex; align-items: center; min-height: 44px; flex-shrink: 0; color: var(--bt-gold); font-size: .75rem; text-underline-offset: 4px; }
.bt-play-stage :where(a, iframe):focus-visible { outline-color: var(--bt-gold); }

/* Native disclosure keeps the archive usable with keyboard and without scripting. */
.build-trace-page summary { position: relative; cursor: pointer; list-style: none; }
.build-trace-page summary::-webkit-details-marker { display: none; }
.bt-trace { margin-top: 28px; border: 1px solid #aeb6ac; border-left: 5px solid #547461; background: var(--bt-paper); border-radius: 3px; }
.bt-trace > details > summary { display: flex; align-items: center; gap: 20px; padding: 20px 24px; }
.bt-trace-summary { display: flex; width: 100%; align-items: center; gap: 20px; }
.bt-trace-summary .bt-object-label, #trace-title { display: block; }
.bt-trace-number { font: 500 2.4rem/1 var(--font-mono); color: #547461; }
.bt-trace h3 { font-size: 1.25rem; letter-spacing: .015em; line-height: 1.5; }
.bt-trace-caption { display: block; font-size: .8rem; font-weight: 400; color: var(--bt-muted); margin-top: 3px; }
.bt-disclosure-action { margin-left: auto; font-size: .8rem; font-weight: 400; white-space: nowrap; }
.bt-when-open, details[open] > summary .bt-when-closed { display: none; }
details[open] > summary .bt-when-open { display: inline; }
.bt-disclosure-action i { display: inline-block; margin-left: 12px; font-size: 1.2rem; font-style: normal; }
.bt-trace details[open] > summary .bt-disclosure-action i { transform: rotate(45deg); }
.bt-trace-body { border-top: 1px dashed #b9bcb2; padding: 26px; }
.bt-trace-heading { display: flex; gap: 20px; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.bt-trace-heading h4 { font-size: 1.8rem; letter-spacing: -.035em; }
.bt-trace-heading > p { font-size: .78rem; color: var(--bt-muted); }
.bt-trace-primary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--bt-line); }
.bt-trace-primary > div { min-width: 0; padding: 16px; border-right: 1px solid var(--bt-line); }
.bt-trace-primary > div:last-child { border-right: 0; }
.bt-trace dt { color: var(--bt-muted); font: 700 .68rem/1.6 var(--font-mono); }
.bt-trace-primary dd { font-size: .95rem; font-weight: 650; margin-top: 8px; }
.bt-trace dd[data-state="not-recorded"], .bt-trace dd[data-state="not-applicable"] { color: var(--bt-muted); font-weight: 400; }
.bt-provenance-note { margin-top: 12px !important; font-size: .75rem; color: var(--bt-muted); }
.bt-instruction, .bt-context { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--bt-line); }
.bt-instruction h4, .bt-context h4 { font-size: .9rem; letter-spacing: .04em; margin-bottom: 18px; }
.bt-instruction h4 span, .bt-context h4 span { font-size: .78rem; margin-left: 12px; font-weight: 500; }
.bt-value-label { margin-bottom: 6px !important; }
.bt-instruction > p { font-size: .88rem; }
.bt-instruction-boundary { margin-top: 14px !important; color: var(--bt-muted); font-size: .78rem !important; }
.bt-exact-instruction { margin-top: 18px; border: 1px solid var(--bt-line); }
.bt-exact-instruction summary, .bt-trace-sources summary { min-height: 48px; padding: 12px 38px 12px 14px; font-size: .8rem; }
.bt-exact-instruction summary::after, .bt-trace-sources summary::after, .bt-notes-disclosure > summary::after, .bt-record-disclosure > summary::after, .bt-compare-drawer > details > summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font: 400 1.3rem var(--font-mono); }
.bt-exact-instruction[open] > summary::after, .bt-trace-sources[open] > summary::after, .bt-notes-disclosure[open] > summary::after, .bt-record-disclosure[open] > summary::after, .bt-compare-drawer > details[open] > summary::after { content: "−"; }
.bt-exact-instruction pre { margin: 0; padding: 18px; border-top: 1px solid var(--bt-line); background: #eeeee5; font: 400 .8rem/1.8 var(--font-mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.bt-context dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
.bt-context dl > div { display: grid; grid-template-columns: minmax(115px, .45fr) 1fr; gap: 18px; padding-block: 12px; border-bottom: 1px solid #d9d8ce; }
.bt-context dd { font-size: .8rem; }
.bt-trace-legend { color: var(--bt-muted); font-size: .75rem; padding-top: 20px; }
.bt-trace-sources { margin-top: 16px; }
.bt-trace-sources summary { padding-left: 0; }
.bt-trace-sources ul { padding-left: 20px; font-size: .8rem; color: var(--bt-muted); }

/* Comparison and historical evidence are secondary, independently openable tools. */
.bt-compare-drawer { margin-top: 20px; border-block: 1px solid #b5b8ad; }
.bt-compare-drawer > details > summary { padding: 18px 44px 18px 4px; }
.bt-compare-drawer .bt-object-label { grid-column: 1 / -1; }
.bt-compare-drawer h3 { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; font-size: 1rem; }
.bt-compare-drawer [data-compare-status] { color: var(--bt-muted); font-size: .75rem; font-weight: 400; }
.bt-compare-body { padding: 8px 0 24px; max-width: 900px; }
.bt-compare-body > p { font-size: .82rem; color: var(--bt-muted); }
.bt-compare-slots { display: grid; grid-template-columns: 1fr 34px 1fr; gap: 16px; align-items: center; margin-block: 18px; }
.bt-compare-slots > div { padding: 14px; border: 1px solid var(--bt-line); background: var(--bt-paper); }
.bt-compare-slots span { display: block; font: 600 .65rem var(--font-mono); color: var(--bt-muted); margin-bottom: 7px; }
.bt-compare-slots strong { display: block; font-size: .9rem; }
.bt-compare-slots > i { font-size: 1.5rem; font-style: normal; text-align: center; }
.bt-compare-body button { min-height: 46px; margin-top: 20px; padding: 10px 18px; border: 1px solid var(--bt-ink); background: var(--bt-ink); color: var(--bt-paper); border-radius: 3px; font-size: .85rem; }
.bt-compare-body button:disabled { border-color: #adb0a5; background: #d7d9d0; color: #59665e; }
.bt-stage-return { display: inline-flex; min-height: 44px; align-items: center; margin: 12px 18px 0; font-size: .8rem; }
.bt-observation-desk { margin-top: 44px; }
.bt-desk-heading { margin-bottom: 20px; }
.bt-desk-heading h3 { font-size: 1.3rem; margin-block: 6px; }
.bt-desk-heading > p:last-child { font-size: .85rem; color: var(--bt-muted); }
.bt-evidence-records { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.bt-evidence-records article { min-width: 0; border: 1px solid #b3bdbb; background: #e4ebeb; border-radius: 3px; }
.bt-evidence-records .bt-human-note { border-color: #cdbd83; background: #f1e5ba; }
.bt-evidence-records .bt-codex-note { background: #e5e3dd; }
.bt-record-disclosure > summary { padding: 18px 40px 18px 20px; }
.bt-record-disclosure h4 { font-size: .95rem; line-height: 1.5; }
.bt-record-disclosure .bt-object-label, .bt-record-title { display: block; }
.bt-record-title { margin-top: 6px; }
.bt-record-body { padding: 0 20px 22px; font-size: .8rem; }
.bt-record-body > p { margin-bottom: 16px; }
.bt-verification-sheet ul { list-style: none; padding: 0; }
.bt-verification-sheet li { display: flex; justify-content: space-between; gap: 18px; padding-block: 8px; border-bottom: 1px solid #bcc9c7; }
.bt-verification-sheet em { font: 700 .72rem var(--font-mono); color: #315f4e; align-self: center; }
.bt-verification-sheet em[data-state="partial"] { color: #754720; }
.bt-performance-sheet dl > div { padding-block: 14px; border-top: 1px solid #bcc9c7; }
.bt-performance-sheet dt { font-weight: 700; margin-bottom: 6px; }
.bt-human-scope { padding: 0; list-style: none; }
.bt-human-scope li { display: flex; justify-content: space-between; gap: 16px; padding-block: 8px; border-bottom: 1px solid #d2c691; font: 500 .65rem/1.6 var(--font-mono); }
.bt-human-scope strong { font-weight: 600; }
.bt-human-samples section { padding-block: 18px; border-bottom: 1px solid #d2c691; }
.bt-human-samples h5 { font-size: .95rem; margin-bottom: 8px; }
.bt-human-boundary { margin-top: 18px !important; font-size: .75rem; }

.bt-archive-notes { padding-block: 36px; border-top: 1px solid var(--bt-line); background: var(--bt-paper); }
.bt-notes-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.bt-notes-heading h2 { margin-top: 6px; font-size: 1.3rem; }
.bt-notes-heading > p { font-size: .8rem; color: var(--bt-muted); }
.bt-notes-disclosure { margin-top: 22px; border-top: 1px solid var(--bt-line); }
.bt-notes-disclosure > summary { padding: 18px 40px 18px 0; font-size: .85rem; }
.bt-notes-deck { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding-block: 20px; }
.bt-notes-deck h3 { font-size: 1.05rem; margin-block: 6px 14px; }
.bt-notes-deck h4 { font-size: .82rem; margin-bottom: 10px; }
.bt-notes-deck p, .bt-notes-deck li { font-size: .8rem; }
.bt-notes-deck ol { list-style: none; padding: 0; }
.bt-notes-deck li { padding-block: 7px; border-bottom: 1px solid var(--bt-line); }
.bt-notes-deck li span { font: 600 .7rem var(--font-mono); margin-right: 16px; color: var(--bt-muted); }
.bt-not-benchmark { padding-top: 20px; border-top: 1px solid var(--bt-line); }
.bt-not-benchmark h3 { font-size: .9rem; }
.bt-not-benchmark p { margin-top: 10px; font-size: .8rem; color: var(--bt-muted); }
.bt-closing { background: #173751; color: var(--bt-paper); padding-block: 36px; }
.bt-closing-inner { display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.bt-closing-inner > p { font-size: clamp(1.5rem, 2.8vw, 2.4rem); font-weight: 750; line-height: 1.25; letter-spacing: -.035em; }
.bt-closing-inner > div { display: flex; flex-direction: column; font-size: .85rem; gap: 10px; }
.bt-closing a { color: var(--bt-gold); min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.bt-footer { background: var(--bt-paper); border-top: 0; color: var(--bt-ink); padding-block: 30px; }
.bt-footer :where(p, nav a, small) { color: var(--bt-muted); }
.bt-footer .footer-inner small { border-color: var(--bt-line); }

@media (max-width: 1100px) {
  .bt-shell { padding-inline: 24px; }
  .bt-workbench { grid-template-columns: minmax(0, 1fr) 305px; gap: 18px; }
  .bt-play-stage { padding: 14px; }
  .bt-sample-console { padding-inline: 12px; }
  .bt-cover-layout { gap: 28px; grid-template-columns: 1fr 225px; }
  .bt-status-ticket { padding-inline: 18px; }
  .bt-context dl { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .bt-workbench { grid-template-columns: minmax(0, 1fr); grid-template-areas: "samples" "stage"; gap: 24px; }
  .bt-sample-shelf { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .bt-stage-screen iframe { height: 580px; }
  .bt-cover-layout { grid-template-columns: 1fr; }
  .bt-status-ticket { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding: 12px 0 0; border-left: 0; border-top: 1px dashed #a29e92; }
  .bt-status-ticket > .bt-ticket-code { flex-basis: 100%; }
  .bt-collection-count { gap: 12px; }
  .bt-collection-count strong { font-size: 2.2rem; }
  .bt-collection-count span { font-size: .6rem; }
  .bt-status-ticket > p:not([class]) { margin: 0; font-size: .75rem; }
  .bt-ticket-foot { border: 0; padding: 0; margin-left: auto !important; }
  .bt-trace-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; gap: 1px; background: var(--bt-line); }
  .bt-trace-primary > div { border: 0; background: var(--bt-paper); outline: 1px solid var(--bt-line); }
  .bt-notes-deck { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .bt-game-boxes { padding: 14px; }
  .bt-game-boxes header { display: block; }
  .bt-game-boxes header > p:last-child { margin-top: 6px; text-align: left; }
  .bt-game-box-list { display: grid; grid-template-columns: 1fr; }
  .bt-game-box-button { width: 100%; }
  .bt-site-header .nav-links { background: var(--bt-paper); border-color: var(--bt-line); }
  .bt-site-header .menu-button span:not(.sr-only) { background: var(--bt-ink); }
  .bt-site-header .menu-button { min-width: 44px; min-height: 44px; }
  .bt-shell { padding-inline: 18px; }
  .bt-cover { padding-block: 18px; }
  .bt-cover-layout { gap: 12px; }
  .bt-cover h1 { margin-block: 8px 12px; font-size: clamp(2.5rem, 9vw, 4rem); }
  .bt-lead { font-size: .82rem; line-height: 1.8; }
  .bt-lead strong { font-size: 1rem; }
  .bt-status-ticket > .bt-ticket-code, .bt-status-ticket > p:not([class]) { display: none; }
  .bt-status-ticket { padding-top: 10px; }
  .bt-ticket-foot { display: block; max-width: 112px; font-size: .6rem; }
  .bt-lab-heading { display: block; }
  .bt-lab-heading > p { display: none; }
  .bt-game-lab { padding-top: 18px; }
  .bt-sample-shelf { display: flex; }
  .bt-cassette-button { min-height: 118px; grid-template-columns: 44px minmax(0, 1fr); }
  .bt-cassette-copy strong { font-size: 1.08rem; }
  .bt-cassette-copy small { font-size: .76rem; }
  .bt-play-stage { margin-inline: -18px; padding: 12px 4px; border-radius: 6px; }
  .bt-stage-header, .bt-stage-identity, .bt-stage-foot { margin-inline: 6px; }
  .bt-stage-header { gap: 8px; }
  .bt-stage-header h3 { font-size: 1.22rem; }
  .bt-stage-header .bt-object-label { font-size: .55rem; }
  .bt-stage-slot-label { max-width: 126px; font-size: .6rem; }
  .bt-stage-identity strong { font-size: 1.2rem; }
  .bt-stage-machine { padding: 3px; }
  .bt-stage-screen { border-width: 1px; }
  .bt-stage-screen iframe { height: 560px; }
  .bt-stage-placeholder { min-height: 330px; }
  .bt-machine-controls { padding: 10px 7px 7px; }
  .bt-machine-controls > p { font-size: .75rem; }
  .bt-stage-actions button { padding-inline: 10px; font-size: .78rem; }
  .bt-stage-actions span { margin-left: 6px; }
  .bt-stage-foot { gap: 14px; align-items: center; }
  .bt-stage-foot p { font-size: .68rem; }
  .bt-trace > details > summary { gap: 12px; padding: 18px 14px; }
  .bt-trace-summary { gap: 12px; }
  .bt-trace-number { display: none; }
  .bt-trace h3 { font-size: 1.02rem; }
  .bt-trace .bt-object-label { font-size: .57rem; }
  .bt-disclosure-action { font-size: 0; }
  .bt-disclosure-action i { font-size: 1.25rem; margin: 0; }
  .bt-trace-body { padding: 20px 14px; }
  .bt-trace-heading { display: block; }
  .bt-trace-heading h4 { font-size: 1.5rem; margin-block: 6px; }
  .bt-trace-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bt-trace-primary > div { padding: 12px; }
  .bt-trace-primary > div:first-child { grid-column: 1 / -1; }
  .bt-trace-primary dd { font-size: .9rem; }
  .bt-instruction h4 span, .bt-context h4 span { display: block; margin: 6px 0 0; }
  .bt-context dl > div { grid-template-columns: minmax(92px, .42fr) 1fr; gap: 12px; }
  .bt-exact-instruction pre { padding: 12px; font-size: .75rem; }
  .bt-compare-drawer h3 { grid-template-columns: 1fr; }
  .bt-compare-slots { gap: 6px; grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr); }
  .bt-compare-slots > div { padding: 10px; }
  .bt-compare-slots strong { font-size: .8rem; }
  .bt-evidence-records { grid-template-columns: 1fr; }
  .bt-desk-heading h3, .bt-notes-heading h2 { font-size: 1.15rem; }
  .bt-notes-heading { display: block; }
  .bt-notes-heading > p { margin-top: 10px; }
  .bt-closing-inner { display: block; }
  .bt-closing-inner > div { margin-top: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-build-trace-root] { scroll-behavior: auto; }
  .bt-cassette-button { transition: none; }
  .bt-stage-screen.is-inserted { animation: none; }
}
@media (forced-colors: active) {
  .bt-cassette-button, .bt-play-stage, .bt-stage-machine, .bt-trace, .bt-sample-console { border: 2px solid CanvasText; box-shadow: none; }
  .bt-cassette-button[aria-pressed="true"] { outline: 3px solid Highlight; }
  .bt-cassette-state { border-color: Highlight; }
}
