/*rp-palette:copper-still-1*//* receptor.css - the receptor model (/receptor, station 5 Perception; vision-items-1, 2026-10-08). Tokens only, through the roles
   (the palette pass sets them for the parchment surface): ink lines on a parchment card, hatching for shade, the house crimson
   (--rp-emph) for the molecule and the receptor once it is active, brass (--rp-brass) for cAMP; copper stays on the buttons. The
   plate is an engraving: lines follow the form (the rings round each helix), cross-hatching only in shade. No CSS animation: the
   module moves the plate, and only after a press. NO colour literal anywhere, not even as a var() fallback: the palette pass reads a
   literal as a dark-theme colour and writes a parchment "twin" of the rule that flips it (a card fill became ink, crimson became
   copper). Served standalone as /sections/receptor.css (copied by scripts/build-labs.mjs). */
.rc-sec .rp-si > :not(.rc-model){max-width:var(--rp-space-container-narrow);margin-left:auto;margin-right:auto}
.rc-sec [hidden]{display:none!important}
.rc-model{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--rp-space-scale-6);margin:0 0 var(--rp-space-scale-12)}
@media (min-width:1000px){
  .rc-model{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--rp-space-scale-8);align-items:start}
  .rc-fig{position:sticky;top:5.25rem}
  /* the section clips with overflow:hidden, which stops sticky; clip keeps the clipping without making a scroll box (Fable 2026-10-08) */
  #receptor.sec{overflow:clip!important}
}
.rc-fig{margin:0}
/* the plate: a framed parchment card, a fine double rule */
.rc-stage{position:relative;margin:0;padding:clamp(.4rem,1.2vw,.9rem);background:var(--bg2);border:1px solid var(--rp-text);box-shadow:inset 0 0 0 4px var(--bg2),inset 0 0 0 5px var(--rp-hair)}
.rc-stage:focus-visible{outline:var(--rp-focus-ring);outline-offset:3px}
.rc-label{display:inline-block;margin:0 0 .35rem;padding:.15em .5em;background:var(--bg2);border:1px solid var(--rp-hair);font:500 var(--rp-type-scale-label)/1.4 var(--rp-mono);letter-spacing:.06em;color:var(--rp-text)}
.rc-svg{display:block;width:100%;height:auto;overflow:hidden;--rc-card:var(--bg2);--rc-paper:var(--rp-ground)}
/* the card and paper fills go through the plate's own custom properties: the palette pass twins a ground token used as a fill
   (it reads it as a text colour and turns it to ink); a custom property is never twinned, so the parchment values stand */
/* the engraving */
.rc-svg text{font-family:var(--rp-mono),ui-monospace,monospace}
.rc-hl{stroke:var(--rp-text);stroke-width:.75}
.rc-hle{stroke:var(--rp-emph);stroke-width:.85}
.rc-hx{fill:var(--rc-card);stroke:var(--rp-text);stroke-width:1.3}
.rc-shade{fill:url(#rc-h1);stroke:none}
.rc-ring{fill:none;stroke:var(--rp-text-muted);stroke-width:.7}
.rc-head{fill:var(--rc-card);stroke:var(--rp-text-muted);stroke-width:.9}
.rc-tail{fill:none;stroke:var(--rp-text-muted);stroke-width:.6}
.rc-mem-edge{fill:none;stroke:var(--rp-text-muted);stroke-width:.5;stroke-dasharray:2 3}
.rc-loop{fill:none;stroke:var(--rp-text);stroke-width:2.1;stroke-linecap:round}
.rc-on .rc-loop{stroke:var(--rp-emph)}
.rc-on .rc-hx{stroke:var(--rp-emph);stroke-width:1.6}
.rc-sub{fill:url(#rc-h1);stroke:var(--rp-text);stroke-width:1.2}
.rc-sub-a{fill:var(--rc-card);stroke-width:1.5}
.rc-anchor{fill:none;stroke:var(--rp-text-muted);stroke-width:1.2}
.rc-paper{fill:var(--rc-paper);stroke:var(--rp-text);stroke-width:1.3}
.rc-fibre{fill:none;stroke:var(--rp-text-muted);stroke-width:.45;stroke-dasharray:14 9}
.rc-stain{fill:url(#rc-h2);stroke:var(--rp-text-muted);stroke-width:.8}
.rc-other{fill:none;stroke:var(--rp-text-muted);stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
.rc-mol-b{fill:none;stroke:var(--rp-emph);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rc-atom{fill:var(--rp-emph);font-size:11px;font-weight:600}
.rc-lab{fill:var(--rp-text-muted);font-size:17px;letter-spacing:.02em}
.rc-lab-s{font-size:14px}
.rc-lab-in{fill:var(--rp-text)}
.rc-mol-l{fill:var(--rp-emph);font-weight:600}
.rc-narrow .rc-lab{font-size:21px}
.rc-narrow .rc-lab-s{font-size:18px}
.rc-arrow,.rc-flow{fill:none;stroke:var(--rp-text);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rc-camp path{fill:none;stroke:var(--rp-brass);stroke-width:1.7;stroke-linejoin:round}
.rc-cat{fill:var(--rp-text)}
.rc-an{fill:var(--rc-card);stroke:var(--rp-text);stroke-width:1.4}
.rc-axis{fill:none;stroke:var(--rp-text-muted);stroke-width:1}
.rc-volt{fill:none;stroke:var(--rp-emph);stroke-width:2;stroke-linejoin:round}
.rc-mini rect{fill:none;stroke:var(--rp-text-muted);stroke-width:1.1}
.rc-mini-on rect{fill:url(#rc-he);stroke:var(--rp-emph);stroke-width:1.4}
.rc-link{fill:none;stroke:var(--rp-emph);stroke-width:.9;stroke-dasharray:3 4}
/* the caption, the controls */
.rc-cap{margin:var(--rp-space-scale-4) 0 0}
.rc-cap-k{margin:0 0 .3em;font:500 var(--rp-type-scale-label)/1.5 var(--rp-mono);letter-spacing:.08em;color:var(--rp-text-muted)}
.rc-cap-h{margin:0 0 .35em;font:600 var(--rp-type-scale-h3)/1.2 var(--rp-display);color:var(--rp-text)}
.rc-cap-t{margin:0;font:400 var(--rp-body-size)/var(--rp-body-lh) var(--rp-body);color:var(--rp-text);min-height:5.25em}
.rc-controls{display:flex;flex-wrap:wrap;gap:var(--rp-space-scale-3);margin:var(--rp-space-scale-4) 0 0}
.rc-keys,.rc-nojs{margin:var(--rp-space-scale-3) 0 0;font:400 var(--rp-type-scale-small)/1.6 var(--rp-body);color:var(--rp-text-muted)}
/* the steps in words */
.rc-side .rp-h3{margin-top:0}
.rc-steps{margin:0;padding:0;list-style:none}
.rc-step{margin:0;padding:var(--rp-space-scale-4) 0 var(--rp-space-scale-4) var(--rp-space-scale-4);border-top:1px solid var(--rp-hair);border-left:3px solid transparent}
.rc-step[aria-current="step"]{border-left-color:var(--rp-emph)}
.rc-step-h{margin:0 0 .4em;font:600 var(--rp-type-scale-h3)/1.25 var(--rp-display);color:var(--rp-text)}
.rc-no{font:500 var(--rp-type-scale-label)/1 var(--rp-mono);letter-spacing:.08em;color:var(--rp-text-muted);vertical-align:.2em}
.rc-step-t{margin:0 0 .6em;font:400 var(--rp-body-size)/var(--rp-body-lh) var(--rp-body);color:var(--rp-text)}
.rc-drawn{margin:0 0 .4em;font:400 var(--rp-type-scale-small)/1.6 var(--rp-body);color:var(--rp-text-muted)}
.rc-tag{display:inline-block;margin:0 .4em 0 0;padding:.05em .45em;border:1px solid var(--rp-text-muted);font:500 var(--rp-type-scale-label)/1.4 var(--rp-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rp-text-muted)}
.rc-chips .rp-evidence{margin-top:.35em}
.rc-rows{margin:.3em 0 .6em;padding-left:1.2em}
.rc-rows li{margin:0 0 .25em;overflow-wrap:anywhere}
.rc-go{margin:.5em 0 0}
.rc-sec .rp-si a:not(.rp-btn){color:inherit;text-decoration:underline;text-decoration-color:var(--rp-brass-dim);text-underline-offset:.2em}
@media print{.rc-fig{position:static}.rc-controls,.rc-keys,.rc-go{display:none!important}}
