[data-interactive="cad-reference-transfer"] { min-width: 0; margin-block: 1rem; }
.crt-live > .crt-static { display: none; }
.crt-lab { font: .94rem/1.45 var(--f-display); }
.crt-heading { display: grid; grid-template-columns: minmax(13rem,.7fr) minmax(0,1.3fr); gap: .75rem; align-items: end; }
.crt-lab label { min-width: 0; }
.crt-heading label { display: grid; gap: .3rem; font-weight: 700; }
.crt-lab select, .crt-lab button { font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius-xs); min-height: 44px; padding: .45rem .6rem; }
.crt-lab :is(select,button,input):focus-visible, .crt-graph-scroll:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.crt-scope { padding: .65rem; border-left: 4px solid var(--accent); background: var(--surface); }
.crt-workbench { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(16rem,.65fr); gap: 1rem; align-items: start; }
.crt-graph-scroll { overflow-x: auto; max-width: 100%; border: 1px solid var(--rule); background: var(--paper); }
.crt-svg { display: block; min-width: 42rem; width: 100%; height: auto; }
.crt-svg marker path { fill: var(--ink-soft); }
.crt-edge { fill: none; stroke: var(--ink-soft); stroke-width: 2; }
.crt-edge-broken { stroke: var(--mark-stop, #c43d10); stroke-dasharray: 7 5; }
.crt-node rect { fill: var(--surface); stroke: var(--rule); stroke-width: 2; }
.crt-node text { fill: var(--ink); font: 13px var(--f-display); }
.crt-node-label { font-weight: 700; }
.crt-node-locator { font: 12px var(--f-mono); fill: var(--ink-soft); }
.crt-node.crt-root rect { stroke: var(--accent); stroke-width: 4; }
.crt-node.crt-included rect { fill: var(--cat1-soft); stroke: var(--cat1); }
.crt-node.crt-missing rect, .crt-node.crt-unavailable rect, .crt-node.crt-unresolved rect { fill: var(--flag-soft); stroke: var(--mark-stop, #c43d10); }
.crt-node.crt-extra rect { stroke-dasharray: 5 4; }
.crt-legend { display: flex; flex-wrap: wrap; gap: .25rem .65rem; align-items: center; color: var(--ink-soft); font-size: .85rem; }
.crt-key { width: 1.1rem; height: .75rem; display: inline-block; border: 2px solid var(--rule); background: var(--surface); }
.crt-key-root { border-color: var(--accent); } .crt-key-included { border-color: var(--cat1); background: var(--cat1-soft); } .crt-key-missing, .crt-key-unavailable { border-color: var(--mark-stop, #c43d10); background: var(--flag-soft); }
.crt-choices { display: grid; gap: .75rem; }
.crt-lab fieldset { min-width: 0; margin: 0; border: 1px solid var(--rule); }
.crt-lab legend { font-weight: 700; }
.crt-choices label, .crt-predict label { display: flex; align-items: flex-start; gap: .55rem; min-height: 44px; padding-block: .25rem; }
.crt-choices input, .crt-predict input { width: 21px; height: 21px; flex: none; accent-color: var(--accent); }
.crt-choices small { display: block; color: var(--ink-soft); overflow-wrap: anywhere; }
.crt-choice-unavailable { text-decoration: none; }
.crt-choice-unavailable small { color: var(--mark-stop, #c43d10); font-weight: 700; }
.crt-predict { margin-block: 1rem !important; }
.crt-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.crt-lab button { cursor: pointer; }
.crt-status { display: block; margin-block: .75rem; padding: .7rem; border-left: 4px solid var(--flag); background: var(--surface); font-weight: 700; }
.crt-results { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; }
.crt-results > div { padding: .55rem; border: 1px solid var(--rule); min-width: 0; }
.crt-results strong { display: block; font-size: 1.25rem; }
.crt-results span { font-size: .82rem; color: var(--ink-soft); }
.crt-repair { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; align-items: center; margin-top: .7rem; padding: .6rem; border: 1px solid var(--mark-stop, #c43d10); }
.crt-repair p { margin: 0; min-width: 0; }
.crt-repair code { overflow-wrap: anywhere; }
.crt-static-graph { overflow-x: auto; border: 1px solid var(--rule); }
.crt-static-graph svg { display: block; min-width: 40rem; width: 100%; height: auto; }
@media (max-width: 54rem) { .crt-workbench { grid-template-columns: minmax(0,1fr); } .crt-results { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 36rem) { .crt-heading, .crt-repair { grid-template-columns: minmax(0,1fr); } .crt-results { grid-template-columns: repeat(2,minmax(0,1fr)); } .crt-actions button, .crt-repair button { width: 100%; } .xcard:has([data-interactive="cad-reference-transfer"]) .body { padding-inline: .5rem; } }
@media (prefers-reduced-motion: reduce) { [data-interactive="cad-reference-transfer"] * { animation: none !important; transition: none !important; } }
@media print { .crt-lab { display: none !important; } .crt-live > .crt-static { display: block !important; } .crt-static-graph svg { min-width: 0; } }
