/* Case 01 only: the confirmed date rail deliberately leaves its endpoint empty. */
.c1-timeline-screen { --c1-ink:#192b3c; --c1-paper:#f1ecdd; --c1-amber:#efb537; --c1-teal:#08746e; position:relative; isolation:isolate; background:#081827; min-height:100dvh; }
.c1-timeline-screen::before { content:""; position:absolute; inset:100px 0 0; z-index:-1; opacity:.18; background:url("assets/v2/scenes/c1-clinic-records.webp") center/cover; pointer-events:none; }
.c1-desk { width:min(1180px,calc(100% - 64px)); margin:auto; padding:24px 0 32px; }
.c1-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:18px; }
.c1-heading p { font:26px var(--font-title); color:var(--c1-paper); margin:0; }
.c1-heading nav { display:flex; gap:16px; }
.c1-timeline-screen button { cursor:pointer; min-height:44px; }
.c1-heading nav button { display:flex; align-items:center; gap:8px; background:transparent; border:0; color:#c2d4dd; font:16px var(--font-body); padding:8px; }
.c1-heading nav button span { display:grid; place-items:center; width:28px; height:28px; border:1px solid currentColor; }
.c1-heading nav [aria-current] { color:var(--c1-amber); }
.c1-heading nav button:disabled { color:#a8b8bf; cursor:default; }
.c1-paper { color:var(--c1-ink); background:var(--c1-paper); border:5px double #9a8c70; box-shadow:6px 12px 24px #0007; padding:28px; }
.c1-paper .c1-task-title { font:30px/1.35 var(--font-title); margin:0 0 24px; }
.c1-period { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:10px 14px; border:1px solid #a97618; color:#6c480a; margin-bottom:28px; }
.c1-period span { font-variant-numeric:tabular-nums; }
.c1-start-rail { display:grid; grid-template-columns:1fr 1.24fr .9fr; gap:28px; margin-bottom:28px; }
.c1-node { position:relative; min-width:0; text-align:center; padding-top:52px; }
.c1-node::before { content:""; position:absolute; top:34px; left:-14px; right:-14px; height:2px; background:var(--c1-ink); }
.c1-node::after { content:""; position:absolute; width:14px; height:14px; top:28px; left:calc(50% - 7px); border-radius:50%; background:var(--c1-ink); }
.c1-node-date { position:absolute; top:0; left:0; right:0; font:20px var(--font-title); }
.c1-record { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-width:0; padding:20px 12px; gap:10px; background:#eae2ce; color:var(--c1-ink); border:1px solid #91856d; box-shadow:3px 5px 8px #192b3c22; font:17px/1.5 var(--font-body); text-align:center; }
.c1-record-name { font:24px/1.4 var(--font-title); }
.c1-height { font:40px/1.15 var(--font-title); }
.c1-record small { font:15px/1.6 var(--font-body); }
.c1-paper button[aria-pressed="true"] { background:#f5df9d; outline:3px double #9b6206; outline-offset:2px; }
.c1-selected-label { display:block; border-top:1px solid #b08226; padding-top:8px; color:#624205; width:100%; }
.c1-event { display:flex; min-height:150px; flex-direction:column; justify-content:center; gap:12px; border:2px dashed #75838a; padding:16px 10px; font:20px/1.5 var(--font-title); }
.c1-event span { font:16px var(--font-body); }
.c1-photo-strip { display:grid; grid-template-columns:1.35fr 1fr; gap:24px; padding-top:24px; border-top:1px dashed #8d8069; }
.c1-photo { display:flex; align-items:center; gap:16px; background:#e9dfc9; border:1px solid #a59678; padding:8px 18px; text-align:left; color:var(--c1-ink); font:17px/1.6 var(--font-body); }
.c1-photo img { width:112px; height:126px; object-fit:contain; }
.c1-photo>span, .c1-photo>span>span { display:block; }
.c1-photo strong { font:23px var(--font-title); display:block; margin-bottom:8px; }
.c1-photo b { color:var(--c1-teal); margin-left:12px; }
.c1-photo-info { display:flex; flex-direction:column; justify-content:center; gap:8px; }
.c1-album { display:flex; flex-wrap:wrap; gap:8px 16px; background:transparent; border:1px solid #91856d; color:var(--c1-ink); padding:10px; font:16px/1.5 var(--font-body); }
.c1-paper summary { cursor:pointer; min-height:44px; padding:10px 0; font:16px/1.5 var(--font-body); }
.c1-photo-info details p { margin:6px 0; font-size:15px; }
.c1-feedback { border-top:1px solid #ad9e80; padding:18px 0 0; margin:24px 0 16px; font:17px/1.7 var(--font-body); }
.c1-footer { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.c1-primary { display:flex; align-items:center; justify-content:space-between; gap:30px; border:5px double #98600c; background:var(--c1-amber); color:#241f13; padding:14px 22px; font:24px/1.4 var(--font-title); box-shadow:2px 4px 6px #0002; }
.c1-primary:disabled { background:#ded5c0; border-color:#91856d; color:#5d5647; cursor:default; box-shadow:none; }
.c1-paper button:not(:disabled):hover { filter:brightness(.96); }
.c1-timeline-screen :is(button,summary):focus-visible { outline:3px solid #08746e; outline-offset:5px; }
.c1-heading button:focus-visible { outline-color:var(--c1-amber); }
.c1-sources { flex:1 1 240px; }
.c1-sources[open] { flex-basis:100%; order:2; }
.c1-source-list { display:grid; grid-template-columns:1fr 1fr; gap:20px; border-top:1px solid #9a8c70; padding-top:20px; }
.c1-source-list article { min-width:0; border-bottom:1px solid #c3b69e; padding-bottom:12px; }
.c1-source-list h3 { font:20px var(--font-title); margin:0 0 12px; }
.c1-source-list p { font:16px/1.6 var(--font-body); margin:6px 0; }
.c1-fiction { display:block; text-align:right; color:#beced6; margin-top:12px; }
.c1-method-layout { display:grid; grid-template-columns:1.8fr 1fr; gap:28px; align-items:start; }
.c1-note { background:#e9dfc9; border:1px solid #a59678; padding:22px; box-shadow:3px 5px 8px #192b3c22; }
.c1-note header { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #a59678; padding-bottom:14px; }
.c1-note h2 { font:25px/1.4 var(--font-title); margin:0; }
.c1-note-date { font:16px var(--font-body); background:transparent; color:var(--c1-ink); border:0; padding:8px; white-space:nowrap; }
.c1-note-body { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:center; padding-top:20px; }
.c1-method-image { width:100%; max-height:250px; object-fit:contain; }
.c1-annotations { display:flex; flex-direction:column; gap:18px; }
.c1-annotation { display:flex; justify-content:space-between; align-items:center; gap:8px; text-align:left; border:0; padding:10px 8px; background:transparent; color:var(--c1-ink); font:23px/1.5 var(--font-title); }
.c1-annotation span { text-decoration:underline; text-decoration-color:#08746e; text-underline-offset:8px; }
.c1-record--confirmed { border:4px double var(--c1-teal); }
.c1-confirmed-label { color:var(--c1-teal); font:16px var(--font-body); }
.c1-method-rail { display:flex; align-items:flex-end; margin:36px 14px 12px; }
.c1-method-rail>div { display:flex; flex-direction:column; gap:10px; align-items:center; }
.c1-method-rail strong { font:23px var(--font-title); }
.c1-method-rail small { font-size:16px; }
.c1-time-line { flex:1; border-bottom:2px dotted var(--c1-teal); margin:0 -60px 9px; }
.c1-dot { display:block; width:20px; height:20px; background:var(--c1-teal); border:2px solid var(--c1-teal); border-radius:50%; position:relative; }
.c1-dot--empty { background:var(--c1-paper); border-color:#99670e; }
.c1-note-caption { text-align:right; font-size:16px; margin:12px 0 0; }
.c1-outcome { text-align:center; font:32px/1.4 var(--font-title); margin:0 0 24px; }
.c1-intervals { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0 calc(100% / 6) 24px; }
.c1-interval { display:flex; flex-direction:column; gap:8px; padding:15px 10px; background:#ebe3d2; color:var(--c1-ink); border:1px solid #a59678; font:18px/1.4 var(--font-body); }
.c1-interval strong { font-size:16px; font-weight:500; }
.c1-interval--before { background:#ded8ca; }
.c1-result-rail { display:grid; grid-template-columns:1fr 1fr 1fr; }
.c1-result-node { display:flex; flex-direction:column; gap:16px; align-items:center; text-align:center; position:relative; }
.c1-result-node::before { content:""; position:absolute; top:47px; height:2px; background:var(--c1-ink); left:0; right:0; }
.c1-result-node time { font:21px var(--font-title); }
.c1-result-node>div { display:flex; flex-direction:column; gap:8px; min-width:160px; padding:16px 12px; border:1px solid #9a8c70; font:18px var(--font-title); }
.c1-result-node strong { font:29px var(--font-title); }
.c1-result-node .c1-gap { border:1px dashed #99670e; min-height:108px; justify-content:center; }
.c1-background-node .c1-dot { background:#70756e; border-color:#70756e; }
.c1-interval-caption { text-align:center; margin:26px 0; font:20px var(--font-title); }
.c1-boundary-notes { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.c1-boundary-notes p { border-top:1px solid #a59678; padding-top:14px; margin:0; display:flex; flex-direction:column; gap:6px; font:16px/1.5 var(--font-body); }
.c1-complete { margin:24px auto 0; padding:18px; border:4px double var(--c1-teal); width:fit-content; max-width:100%; color:#075b58; }
.c1-complete strong { font:25px/1.4 var(--font-title); }
.c1-complete p { margin:8px 0 0; font-size:16px; }
@media(max-width:760px) {
 .c1-desk { width:calc(100% - 24px); padding-top:16px; }
 .c1-heading { display:block; margin-bottom:12px; }
 .c1-heading p { font-size:25px; margin-bottom:12px; }
 .c1-heading nav { gap:2px; justify-content:space-between; }
 .c1-heading nav button { padding:6px 2px; gap:4px; font-size:14px; }
 .c1-heading nav button span { width:23px; height:23px; }
 .c1-paper { padding:18px 14px; border-width:4px; }
 .c1-paper .c1-task-title { font-size:25px; margin-bottom:18px; }
 .c1-period { display:block; padding:10px; margin-bottom:20px; font-size:15px; }
 .c1-period span { display:block; margin-top:6px; font-size:14px; }
 .c1-start-rail { display:flex; flex-direction:column; gap:16px; }
 .c1-node { padding:0; text-align:left; border-left:0; }
 .c1-node-date { position:static; display:block; margin-bottom:12px; font-size:18px; }
 .c1-node::before { display:none; }
 .c1-node::after { display:none; }
 .c1-node:has([data-value="school-record"]) { order:-1; }
 .c1-node--background .c1-record { gap:4px; padding:12px; }
 .c1-node--background .c1-height { font-size:30px; }
 .c1-node--pending .c1-event { min-height:76px; padding:12px; font-size:19px; }
 .c1-record-name { font-size:23px; }
 .c1-photo-strip { grid-template-columns:1fr; gap:14px; padding-top:18px; }
 .c1-photo { padding:10px; gap:10px; font-size:14px; }
 .c1-photo img { width:66px; height:94px; }
 .c1-photo strong { font-size:21px; }
 .c1-album { font-size:15px; justify-content:space-between; }
 .c1-feedback { font-size:16px; }
 .c1-footer { gap:12px; }
 .c1-primary { width:100%; font-size:23px; padding:12px; gap:10px; }
 .c1-sources { flex-basis:100%; order:2; }
 .c1-source-list { grid-template-columns:1fr; }
 .c1-method-layout { display:flex; flex-direction:column; gap:18px; }
 .c1-method-layout>.c1-record { order:-1; padding:12px; gap:5px; }
 .c1-method-layout>.c1-record .c1-height { font-size:30px; }
 .c1-note { width:100%; padding:14px; }
 .c1-note header { flex-wrap:wrap; gap:2px; }
 .c1-note h2 { font-size:23px; }
 .c1-note-body { grid-template-columns:1fr; padding-top:6px; }
 .c1-method-image { max-height:170px; }
 .c1-annotations { gap:6px; }
 .c1-annotation { font-size:23px; padding:10px 12px; }
 .c1-method-rail { margin:24px 0 12px; gap:12px; justify-content:space-between; }
 .c1-method-rail strong { font-size:18px; }
 .c1-method-rail small { font-size:12px; }
 .c1-time-line { margin:0 -55px 9px; }
 .c1-note-caption { font-size:14px; }
 .c1-outcome { font-size:27px; }
 .c1-intervals { grid-template-columns:1fr; margin:0 0 24px; gap:14px; }
 .c1-interval strong { font-size:14px; }
 .c1-result-rail { display:flex; flex-direction:column; margin-left:18px; gap:0; border-left:2px solid #718a87; }
 .c1-result-node { align-items:flex-start; gap:12px; padding:0 0 26px 22px; text-align:left; }
 .c1-result-node::before { display:none; }
 .c1-result-node>.c1-dot { position:absolute; left:-11px; top:0; }
 .c1-result-node time { font-size:20px; }
 .c1-result-node>div { width:100%; min-width:0; font-size:20px; }
 .c1-result-node .c1-gap { min-height:70px; }
 .c1-background-node { display:none; }
 .c1-interval-caption { font-size:19px; margin:10px 0 24px; }
 .c1-boundary-notes { grid-template-columns:1fr; gap:14px; }
 .c1-boundary-notes p { font-size:14px; }
 .c1-complete { padding:14px; }
 .c1-complete strong { font-size:23px; }
}
@media(forced-colors:active) {
 .c1-paper button[aria-pressed="true"] { outline:3px solid Highlight; }
 .c1-dot { background:CanvasText; border-color:CanvasText; }
 .c1-dot--empty { background:Canvas; border:3px dashed CanvasText; }
 .c1-timeline-screen :is(button,summary):focus-visible { outline-color:Highlight; }
}

/* Numerical data keeps the existing data font; the display face is for headings. */
.c1-height, .c1-node-date, .c1-result-node time, .c1-result-node strong, .c1-method-rail strong { font-family:var(--font-data); letter-spacing:0; }
