/* ============================================================================
 * SHARED·SEEALLDOOR — the text-weight door: label + chevron, the exit door of
 * every composed module. (LEVELS-AND-MOLECULES.md PART 2, M6.)
 * ============================================================================
 * THE THIRD DOOR IN THE FAMILY — AND DELIBERATELY NOT IN 434's FILE.
 *   1010 SHARED·PRIMARYCTA   — the contained door (teal fill, pill, 17px, full-width)
 *   434 SHARED·SECONDARYCTA  — the outline door (accent ring, pill, 17px, full-width)
 *   THIS                     — the text-weight door (bare label + chevron, inline)
 * 1010 lives in secondarycta.css for ONE reason: .lg-cta's base rule already existed
 * there, so 1010 composes it instead of duplicating it. THIS card shares nothing with
 * .lg-cta — not display (inline-flex vs block), not shape (no radius vs pill), not size
 * (12 vs 17), not job (navigates vs submits) — so this file IS the single source, and
 * folding it into 434's would hand one stylesheet three unrelated shapes.
 *
 * THE FIVE KEPT SITES, AS VERIFIED 2026-08-31 (historical record — see ADOPTED below for
 * what happened on 2026-09-18; the file:line are that day's, not today's):
 *   nh-seeall     home-shell.js:29,30 — hardcoded shell fragments; consumed only by the
 *                 WORKBENCH frame (workbench/_appframe.js), never mounted by the live app.
 *   nh-seeall     home.js moduleZone (106 Useful tools) — WIRED → /toolkit
 *   nh-explore    home.js moduleZone (107 Collections) — WIRED → /collections/all
 *                 (same home-shell.css rule as nh-seeall: one control, two labels)
 *   ys-seeall     your-stuff.render.js (105 Your stuff) — WIRED → /collections/mine
 *   ytools-seeall the Your tools head — WIRED → /toolkit (retired 2026-09-16)
 *   dpr-seeall    deep-read.render.js (109, wired deep-read.wire.js → /recordings)
 *   CSS they wore: home-shell.css · your-stuff.css · app.css · deep-read.css — four files,
 *   four answers to one question. That is the defect this card exists to end.
 *   (A sixth build rides views/preview.js's own inline strings — the /preview stopgap, not ported.)
 *
 * ADOPTED 2026-09-18 (brief 3439, the agreed grid grids/see-all-link.md): the five LIVE
 * app sites now render through this card and their private declarations are deleted —
 * home.js moduleZone (106 + 107; 107's word becomes "See all", one word everywhere) ·
 * home.js's hand-rolled 104 head · your-stuff.render.js (105) · deep-read.render.js (109).
 * The DEAD .ytools-seeall copy (app.css, zero consumers since Your tools retired
 * 2026-09-16) is deleted outright. STILL WEARING THE PRIVATE CLASSES: the WORKBENCH mirror
 * layer only — home-shell.js's generated fragments (consumed by WB pages + _appframe) and
 * preview.js's own panels, the source gen-homev2.js transcribed before it was retired.
 * home-shell.css:65-66 stays for exactly those mirrors; the live app emits none of it.
 *
 * WHERE THE KEPT SITES DISAGREED, the majority is the default and the outlier is a prop
 * (1013's doctrine — a disputed axis is named, not silently flattened); the ADOPTED GRID
 * then settled the two rows it names, so both are base behaviour now:
 *   type     --text-meta (12) — the grid's look row names Home's standard 12/13, so
 *            dpr's 13/14 drift is gone: it takes the defaults like everyone else.
 *   press    :active opacity .72 — the house press (actions/tooltopbar/whorow/postlog all
 *            .72); the .62 sites (nh · ys) came up to it on adoption.
 *   chevron  --size-13 — the spine's `chev`, one glyph, drawn once.
 *   gap      4 (var(--space-4)) — the grid's look row: Home's standard, supersedes the
 *            build form's 8. --sd-gap remains for a genuine out-of-Home consumer.
 *   tap      at least 32 tall — the grid's own row, on the BASE. `.sd-tap` adds only
 *            dpr's over-wave side pad.
 *
 * THE CHEVRON AT REST (D-776, claimed 2026-08-31): every kept site colours label AND mark
 * together with `--teal-700` — 5.82:1 on the card cream, 4.69:1 on the ground, above the
 * TEXT floor on both. The door is D-776's TYPE 2 ("never turns · never changes colour · the
 * colour question does not apply here — this one only ever has to be legible", the ruling's
 * own exhibit). ⚠️ THE --ink-500 REST TOKEN DOES NOT EXIST IN tokens.css YET — D-776 landed
 * as a claim only — and nothing here invents it. If Andrew rules the mark neutral once the
 * token lands, the whole change is `color: var(--ink-500)` on the svg rule below: one line.
 *
 * INERT AT RENDER, AND LOUD ABOUT IT: like 1010/434 this renderer wires nothing — the
 * consumer attaches the tap, exactly as moduleZone and deep-read.wire.js do today. But it
 * REFUSES a door with no destination (D-579: "a control that renders and does nothing is
 * worse than one that is absent"). Three of these doors shipped dead and a parent found
 * each one with a finger; making that state unrepresentable is this card's whole job.
 * ============================================================================ */

.sd-door {
  /* the ADOPTED grid settles it (grids/see-all-link.md, agreed 2026-09-18): centre · 600 ·
   * gap 4 · at least 32 tall. Gap 4 is Home's standard ("Inter 12/600, teal-700, gap 4,
   * chevron 13" — four of five kept sites ship it) and it supersedes the build form's 8;
   * the 32px floor is the grid's own tap row, so it is base behaviour, not an opt-in. */
  display: inline-flex;
  align-items: center;
  gap: var(--sd-gap, var(--space-4));
  position: relative;
  flex: none;
  background: 0;
  border: 0;
  padding: 0;
  margin: 0;
  font-family: var(--font-label);
  font-size: var(--sd-size, var(--text-meta));
  font-weight: var(--weight-600);
  color: var(--teal-700);
  cursor: pointer;
}
.sd-door svg {
  width: var(--sd-mark-size, var(--size-13));
  height: var(--sd-mark-size, var(--size-13));
  display: block;
}
/* the tap area is invisible: a 44-tall hit box centred on the link, so the link adds no height
 * to its row (Andrew 2026-09-19: "tighter" — the 32px floor pushed every card's intro line down). */
.sd-door::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: var(--dim-44); transform: translateY(-50%); }
.sd-door:active { opacity: var(--sd-press, 0.72); }
.sd-door:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); border-radius: var(--radius-8); }

/* dpr's kept over-wave pad (deep-read.css:324-325) — opt-in, for a thumb landing over a
 * playing waveform. The 32px floor itself moved to the base (the adopted grid's tap row);
 * this variant adds only the side pad, so the four head sites carry nothing they never used. */
.sd-door.sd-tap { padding: 0 var(--space-4); }
