/* KIL: a focused workbench using the shared cadgent visual system. */
body { padding-top:24px; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { opacity:.42; cursor:not-allowed; }
button:focus-visible,a:focus-visible,input:focus-visible,.model-pane:focus-visible,summary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
button { color:var(--ink); }
[hidden] { display:none!important; }
.skip-link { position:absolute; top:-80px; left:20px; padding:10px 18px; background:var(--ink); color:var(--paper); z-index:20; }
.skip-link:focus { top:10px; }
.kil-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 0 40px; }
.kil-header .wordmark { font-size:24px; margin:0; }
.all-notes { text-decoration:none; color:var(--ink-soft); font-size:13px; padding:10px 0; }
.all-notes:hover,.design-link:hover,.kil-footer a:hover { color:var(--blue); }
.study-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:29px; }
.eyebrow { font:500 10px/1.5 var(--font-mono); letter-spacing:.07em; color:var(--ink-soft); margin:0 0 10px; }
.eyebrow span { margin-left:19px; }
h1 { font-size:42px; line-height:1.07; letter-spacing:-.035em; margin:0; }
.intro-copy { font-size:14px; line-height:1.65; color:var(--ink-soft); margin:0 0 2px; max-width:51ch; }
.section-tabs { display:flex; gap:6px; border-bottom:1px solid var(--ink); margin-bottom:20px; }
.section-tabs button { border:0; background:transparent; padding:14px 16px 15px; min-height:48px; font-weight:600; white-space:nowrap; border-radius:5px 5px 0 0; }
.section-tabs button span { font:11px var(--font-mono); color:var(--ink-soft); margin-right:8px; }
.section-tabs button[aria-selected=true] { background:var(--ink); color:var(--paper); }
.section-tabs button[aria-selected=true] span { color:var(--paper); opacity:.65; }
.section-tabs button:hover:not([aria-selected=true]) { background:var(--line); }
.workbench { border:1px solid var(--line); background:var(--surface); border-radius:10px; overflow:hidden; }
.bench-toolbar { min-height:58px; display:flex; align-items:center; justify-content:space-between; padding:7px 12px; gap:12px; }
.segmented { display:flex; gap:4px; }
.segmented button,.view-buttons button { border:1px solid transparent; border-radius:5px; background:transparent; min-height:42px; padding:7px 14px; font-size:13px; font-weight:550; }
.segmented button[aria-pressed=true] { background:var(--orange); color:var(--paper); }
.segmented button:hover:not([aria-pressed=true]),.view-buttons button:hover:not(:disabled) { border-color:var(--ink-soft); }
.scale-label,.view-readout { font:11px var(--font-mono); color:var(--ink-soft); }
.scale-label { padding:0 8px; text-align:right; }
.model-stage { position:relative; display:flex; width:100%; height:470px; background:var(--well); overflow:hidden; border-block:1px solid var(--line); }
.model-pane { position:relative; flex:1; min-width:0; height:100%; outline-offset:-4px!important; }
.model-pane + .model-pane { border-left:1px solid #c9c1af; }
.model-heading { position:absolute; display:flex; align-items:center; flex-wrap:wrap; gap:8px; inset:18px 20px auto; z-index:3; pointer-events:none; }
.model-heading strong { font:600 16px var(--font-display); }
.model-dot { width:9px; height:9px; border-radius:50%; display:inline-block; flex:none; margin-right:2px; }
.model-dot.outward { background:var(--blue); }.model-dot.inward { background:var(--yellow); }
.version { font:11px var(--font-mono); font-weight:400; color:var(--ink-soft); }
.state-token { font:10px/1.2 var(--font-mono); padding:4px 6px; border-radius:3px; display:inline-block; white-space:nowrap; }
.state-token.locked { background:#dce9d9; color:#295b3f; }.state-token.proposal { background:#f2dfa9; color:#665018; }.state-token.retired { background:#ebd8d1; color:#813d31; }
.model-heading .state-token { margin-left:auto; }
.model-poster { width:100%; height:100%; position:absolute; inset:0; object-fit:contain; padding:0; }
.model-dimensions { position:absolute; bottom:19px; left:20px; z-index:3; font:12px var(--font-mono); pointer-events:none; }
.model-dimensions small { font-size:10px; color:var(--ink-soft); }
.load-area { position:absolute; z-index:5; bottom:52px; left:0; right:0; display:flex; align-items:center; flex-direction:column; gap:8px; pointer-events:none; }
.load-area button { pointer-events:auto; }
.primary-button,.outline-button { border:1px solid var(--ink); min-height:44px; padding:11px 16px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:600; font-size:13px; }
.primary-button { background:var(--ink); color:var(--paper); }.primary-button:hover { background:#403a2d; }
.outline-button { background:var(--surface); }.outline-button:hover { background:var(--line); }
#load-message { font:10px/1.4 var(--font-mono); background:var(--well); color:var(--ink-soft); padding:2px 7px; text-align:center; }
.model-stage canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; }
.view-readout { position:absolute; right:18px; bottom:19px; z-index:3; pointer-events:none; background:var(--well); padding:2px 4px; }
[data-mode=compare] .view-readout { bottom:48px; }
.inspection-controls { padding:8px 12px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.view-buttons { display:flex; gap:2px; }
.view-buttons button { font-size:12px; padding:7px 11px; }
.view-buttons button[aria-pressed=true] { border-color:var(--ink); background:var(--paper); }
.view-buttons button span { margin-left:4px; }
.scene-toggles { display:flex; gap:14px; align-items:center; }
.scene-toggles label { display:flex; align-items:center; gap:7px; min-height:44px; font-size:12px; cursor:pointer; }
.scene-toggles input { width:16px; height:16px; accent-color:var(--orange); margin:0; }
.bench-caption { padding:9px 20px 12px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:18px; font-size:11px; color:var(--ink-soft); }
.bench-caption p { margin:0; max-width:72ch; }.bench-caption>span { font:10px/1.5 var(--font-mono); white-space:nowrap; }
.compare-summary { display:grid; grid-template-columns:1fr 1.55fr; gap:62px; margin:32px 0 6px; }
h2 { font:600 25px/1.15 var(--font-display); letter-spacing:-.025em; margin:0 0 12px; }
h3 { font:600 16px/1.4 var(--font-display); margin:0 0 10px; }
.summary-lede p:not(.eyebrow) { font-size:13px; color:var(--ink-soft); max-width:47ch; margin:0 0 10px; }
.text-button { background:transparent; border:0; border-bottom:1px solid currentColor; font-size:12px; color:var(--blue); min-height:40px; padding:4px 0; }
.text-button:hover { color:var(--ink); }.text-button span { margin-left:12px; }
.comparison { width:100%; border-collapse:collapse; font-size:12px; }
.comparison caption { text-align:left; font:600 13px var(--font-display); padding:0 0 16px; }
.comparison th { text-align:left; font-weight:400; }.comparison thead th { font-size:12px; font-weight:600; padding:0 9px 10px 0; border-bottom:1px solid var(--ink); }
.comparison tbody th { color:var(--ink-soft); }.comparison td { font-family:var(--font-mono); font-size:12px; }
.comparison tbody th,.comparison td { padding:10px 9px 10px 0; border-bottom:1px solid var(--line); }
.comparison small { font-size:10px; margin-left:4px; }.comparison .version { margin-left:3px; }
.table-note { margin:12px 0 0; font-size:11px; color:var(--ink-soft); max-width:72ch; }
.detail-panel { padding:12px 0 0; }
.detail-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin:6px 0 26px; }
.detail-heading>p { max-width:54ch; margin:0 0 9px; color:var(--ink-soft); font-size:13px; }
.mechanism-copy,.use-notes,.file-sections { display:grid; grid-template-columns:1fr 1fr; gap:44px; }
.mechanism-copy p,.use-notes p { font-size:13px; max-width:65ch; margin:0; color:var(--ink-soft); }
.mono { font-family:var(--font-mono); font-size:.92em; color:var(--ink); }
.mechanism-figure { margin:26px 0; }.mechanism-figure img { display:block; width:100%; border-radius:7px; border:1px solid var(--line); }
.mechanism-figure figcaption { font:10px/1.6 var(--font-mono); color:var(--ink-soft); margin:8px 0 0; }
.assumption-note { font-size:12px; color:var(--ink-soft); padding-top:20px; margin-top:24px; border-top:1px solid var(--line); }
.evolution-list { padding:0; margin:0; list-style:none; }
.evolution-list li { display:grid; grid-template-columns:220px 1fr; gap:36px; border-top:1px solid var(--line); padding:27px 0; }
.evolution-version h3 { margin:9px 0 0; font-size:21px; }
.evolution-list li>div>p { max-width:75ch; margin:0; font-size:14px; }
.inline-readings { display:flex; gap:42px; margin:18px 0 10px; }.inline-readings dt { font-size:10px; color:var(--ink-soft); margin-bottom:3px; }.inline-readings dd { font:15px var(--font-mono); margin:0; }
.evolution-list .small-note { font-size:11px; color:var(--ink-soft); margin:12px 0 0; }
.shared-process { border-block:1px solid var(--ink); padding:22px 0; margin-top:14px; display:grid; grid-template-columns:220px 1fr; gap:0 36px; }.shared-process p:not(.eyebrow) { margin:0; font:12px/1.8 var(--font-mono); max-width:76ch; }.shared-process .text-button { grid-column:2; justify-self:start; margin-top:8px; }
.file-sections { gap:50px; }.file-sections article { min-width:0; }.file-sections h3 { margin-bottom:6px; }.file-sections>article>.state-token { margin-bottom:19px; }
.file-links { border-top:1px solid var(--ink); }.file-links a,.unavailable-file { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:57px; text-decoration:none; border-bottom:1px solid var(--line); font-size:12px; }.file-links a:hover { background:var(--line); }.file-links strong { font:12px var(--font-mono); color:var(--blue); }.unavailable-file { color:var(--ink-soft); }.unavailable-file strong { color:var(--ink-soft); }
.design-link { font-size:12px; display:inline-block; padding:15px 0; text-underline-offset:5px; }
.evidence-ledger { display:grid; grid-template-columns:220px 1fr; gap:36px; margin-top:30px; padding-top:24px; border-top:1px solid var(--ink); }.evidence-ledger dl { margin:0; }.evidence-ledger dl>div { display:grid; grid-template-columns:88px 1fr; gap:18px; margin-bottom:15px; font-size:12px; }.evidence-ledger dt { font-family:var(--font-mono); }.evidence-ledger dd { margin:0; max-width:70ch; color:var(--ink-soft); }
.provenance { margin-top:18px; border-top:1px solid var(--line); padding:16px 0; }.provenance summary { cursor:pointer; font-size:12px; min-height:28px; }.provenance p { font-size:12px; max-width:75ch; color:var(--ink-soft); }.provenance dl { font-size:11px; }.provenance dd { font-family:var(--font-mono); overflow-wrap:anywhere; margin:4px 0 12px; }
.kil-footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-top:38px; padding:16px 0 0; color:var(--ink-soft); font-size:10px; }.kil-footer>span { font-family:var(--font-mono); white-space:nowrap; }.kil-footer p { margin:0; }.kil-footer a { white-space:nowrap; text-decoration:none; }
.noscript-note { padding:20px; }
@media (max-width:800px) {
  .study-intro { display:block; }.intro-copy { margin-top:16px; }.kil-header { margin-bottom:28px; }
  .compare-summary { gap:30px; grid-template-columns:.85fr 1.3fr; }.model-heading .state-token { margin-left:0; }.model-heading { gap:6px; inset:15px 14px auto; }
  .model-heading strong { font-size:14px; }.model-dimensions { left:14px; font-size:10px; }.model-stage { height:410px; }
  .bench-caption>span { display:none; }.evolution-list li,.shared-process,.evidence-ledger { grid-template-columns:170px 1fr; gap:25px; }.detail-heading { align-items:flex-start; }.detail-heading>p { max-width:42ch; }
}
@media (max-width:600px) {
  body { padding:18px 14px 25px; }.kil-header .wordmark { font-size:20px; }.all-notes { font-size:11px; }.kil-header { gap:12px; margin-bottom:24px; }
  h1 { font-size:34px; }.eyebrow { font-size:9px; }.intro-copy { font-size:13px; }.study-intro { margin-bottom:22px; }
  .section-tabs { overflow-x:auto; gap:0; margin-bottom:14px; }.section-tabs button { font-size:12px; padding:13px 10px; flex:1; }.section-tabs button span { display:none; }
  .bench-toolbar { padding:6px 7px; gap:4px; }.segmented { gap:1px; }.segmented button { padding:6px 10px; font-size:12px; }.scale-label { font-size:9px; max-width:95px; padding:0; }
  .model-stage { height:380px; }[data-mode=compare] .model-stage { height:662px; flex-direction:column; gap:82px; }[data-mode=compare] .model-pane { flex:0 0 290px; height:290px; }[data-mode=compare] .model-pane + .model-pane { border-left:0; border-top:1px solid #c9c1af; }[data-mode=compare] .load-area { top:50%; bottom:auto; transform:translateY(-50%); }[data-mode=compare] .model-heading .state-token { margin-left:auto; }.model-heading { inset:12px 10px auto; gap:5px; }.model-heading .state-token { font-size:8px; padding:4px; flex-basis:auto; }.model-heading strong { font-size:13px; }.version { font-size:9px; }
  .model-dimensions { bottom:16px; left:10px; font-size:9px; }.model-dimensions small { font-size:8px; }.model-dot { width:7px; height:7px; margin-right:0; }
  .model-heading .state-token { margin-top:2px; }.model-heading .version { margin-right:8px; }
  .load-area { bottom:50px; }.primary-button { font-size:12px; padding:10px 13px; }.load-area #load-message { font-size:9px; }
  .inspection-controls { padding:5px 7px; gap:0; }.view-buttons { width:100%; justify-content:space-between; }.view-buttons button { font-size:11px; padding:6px 10px; flex:1; }.scene-toggles { justify-content:flex-start; gap:20px; padding:0 4px; }.scene-toggles label { font-size:11px; min-height:40px; }
  .bench-caption { padding:10px 12px; font-size:10px; }.view-readout { font-size:9px; right:10px; }.compare-summary { grid-template-columns:1fr; gap:24px; margin-top:25px; }.summary-lede h2 br { display:none; }h2 { font-size:23px; }.summary-lede p:not(.eyebrow) { max-width:65ch; }
  .comparison { font-size:11px; }.comparison thead th { font-size:10px; }.comparison td { font-size:10px; }.comparison .version { display:block; margin:4px 0 0 11px; }.table-note { font-size:10px; }
  .detail-heading { display:block; margin-bottom:22px; }.detail-heading>p { max-width:65ch; margin-top:15px; }.detail-heading>.outline-button { margin-top:8px; }
  .mechanism-copy,.use-notes,.file-sections { grid-template-columns:1fr; gap:25px; }.mechanism-figure { margin:22px 0; }.mechanism-figure figcaption { font-size:9px; }
  .evolution-list li { grid-template-columns:1fr; gap:15px; padding:23px 0; }.evolution-version { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }.evolution-version h3 { order:-1; margin:0; font-size:19px; }.evolution-list li>div>p { font-size:13px; }.inline-readings { gap:35px; }
  .shared-process { grid-template-columns:1fr; gap:6px; }.shared-process .text-button { grid-column:1; }.evidence-ledger { grid-template-columns:1fr; gap:5px; }.evidence-ledger dl>div { grid-template-columns:70px 1fr; gap:12px; }
  .kil-footer { display:grid; grid-template-columns:1fr auto; gap:8px 10px; margin-top:28px; }.kil-footer p { grid-row:2; grid-column:1/-1; }.kil-footer a { grid-row:1; grid-column:2; }
}
@media (prefers-reduced-motion:no-preference) { button,a { transition:background-color .16s var(--ease-out),color .16s var(--ease-out),border-color .16s var(--ease-out); } }

.record-links { font-size:12px; line-height:2; padding-left:18px; }
