/* Reading depth: dark part bands, gray chapter bands, white event pages. */
.case-page {
 --reader-dark: oklch(27% .006 270);
 --reader-dark-text: oklch(98% .002 270);
 --reader-tray: oklch(95.5% .004 270);
 --reader-chapter: oklch(91% .006 270);
 --reader-chapter-open: oklch(85% .008 270);
 --reader-border: oklch(75% .008 270);
 --reader-paper: oklch(99% .002 270);
 --reader-muted: oklch(45% .01 270);
}
.case-page .case-parts{display:flex;flex-direction:column;gap:22px}
.case-page .case-part{border:1px solid var(--reader-border);margin:0;background:var(--reader-tray)}
.case-page .part-gateway,.case-page .case-part[open]>.part-gateway{display:grid;grid-template-columns:44px minmax(0,1fr) 82px;align-items:center;gap:18px;padding:20px 25px;background:var(--reader-dark);color:var(--reader-dark-text);border:0;margin:0;list-style:none;min-height:84px}
.case-page .part-gateway::-webkit-details-marker,.case-page .stage-gateway::-webkit-details-marker{display:none}
.case-page .part-gateway .gateway-title{font-size:25px;line-height:1.5;color:inherit;font-weight:650}
.case-page .gateway-number{display:block;font:20px/1.5 var(--mono);color:inherit;padding-top:0}
.case-page .disclosure-control{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:82px;min-height:42px;padding:7px 10px;border:1px solid var(--reader-dark);background:var(--reader-dark);color:var(--reader-dark-text);font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;border-radius:2px}
.case-page .part-gateway>.disclosure-control{border-color:oklch(76% .006 270);background:transparent;color:inherit}
.case-page .disclosure-glyph{font-size:21px;font-weight:400;line-height:1}
.case-page .when-open{display:none}
.case-page .disclosure-glyph::before{content:'+'}
.case-page details[open]>summary>.disclosure-control .when-open{display:inline}
.case-page details[open]>summary>.disclosure-control .when-closed{display:none}
.case-page details[open]>summary>.disclosure-control .disclosure-glyph::before{content:'−'}
.case-page .part-gateway:hover>.disclosure-control{background:var(--reader-dark-text);border-color:var(--reader-dark-text);color:var(--reader-dark)}
.case-page .part-gateway:focus-visible{outline:3px solid var(--reader-dark);outline-offset:4px}
.case-page .part-body,.case-page .case-part[open]>.part-body{padding:24px;margin:0;border:0;background:var(--reader-tray)}
.case-page #overview>.part-body,.case-page #conclusion>.part-body{background:var(--reader-paper)}
.case-page .part-reading{padding:0;margin:0}
.case-page .story-overview .standalone-intro+.standalone-intro{margin-top:18px}
.case-page .stage-list{display:flex;flex-direction:column;gap:14px}
.case-page .journey-stage,.case-page .journey-stage[open]{margin:0;border:1px solid var(--reader-border);background:var(--reader-paper)}
.case-page .journey-stage>.stage-gateway,.case-page .journey-stage[open]>.stage-gateway{display:grid;grid-template-columns:36px minmax(0,1fr) 82px;align-items:start;gap:16px;padding:20px 22px;margin:0;border:0;background:var(--reader-chapter);color:var(--reader-dark);list-style:none}
.case-page .journey-stage[open]>.stage-gateway{background:var(--reader-chapter-open);border-bottom:1px solid var(--reader-border)}
.case-page .stage-gateway .gateway-title{font-size:21px;line-height:1.65;font-weight:650}
.case-page .stage-gateway .gateway-number{font-size:18px}
.case-page .stage-gateway .gateway-teaser{font-size:14px;line-height:1.8;color:var(--reader-muted);display:block;margin-top:8px}
.case-page .stage-gateway .gateway-meta{font-size:12px;line-height:1.8;color:var(--reader-muted);margin-top:9px;display:block}
.case-page .stage-gateway:hover>.disclosure-control{background:oklch(37% .008 270)}
.case-page .journey-stage>.stage-body,.case-page .journey-stage[open]>.stage-body{padding:24px 24px 20px;margin:0;border:0;background:var(--reader-paper)}
.case-page .stage-tools{margin:0 0 10px;padding:0 0 15px;border-bottom:1px solid var(--line)}
.case-page .parallel-reading{font-size:13px;line-height:1.8;color:var(--reader-muted);gap:9px;min-height:36px}
.case-page .parallel-reading input{width:16px;height:16px;accent-color:var(--reader-dark)}
.case-page .story-scene{padding:30px 0;border-top:1px solid var(--line)}
.case-page .story-scene:first-child{border-top:0;padding-top:17px}
.case-page .scene-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 15px;align-items:baseline;margin-bottom:22px}
.case-page .scene-level{font-size:11px;font-weight:650;line-height:1.8;color:var(--reader-muted)}
.case-page .scene-heading>time{font-size:12px;margin:0;line-height:1.8}
.case-page .scene-heading h4{grid-column:1/-1;font-size:22px;line-height:1.65;font-weight:650}
.case-page .scene-body .narrator{font-size:18px;line-height:2}
.case-page .scene-dialogue{margin:25px 0;border:1px solid var(--line);background:var(--reader-paper)}
.case-page .scene-message{padding:22px 20px;grid-template-columns:90px minmax(0,1fr);gap:20px;background:oklch(98% .002 270)}
.case-page .scene-message+.scene-message,.case-page .scene-dialogue>.story-block+.story-block .scene-message:first-of-type{border-top:1px solid var(--line)}
.case-page .scene-speaker strong{font-size:14px;color:var(--ink)}
.case-page .scene-speaker>span{font-size:12px;line-height:1.8;color:var(--reader-muted)}
.case-page .scene-speaker>time{font-size:11px;color:var(--reader-muted)}
.case-page .scene-quote .chinese{font-size:18px;line-height:1.95}
.case-page .scene-quote-foot{margin-top:15px}
.case-page .original>summary{min-height:40px;font-size:13px;line-height:1.6;color:var(--reader-muted);text-decoration:underline;text-underline-offset:4px;gap:14px}
.case-page .scene-omission{font-size:12px;line-height:1.8;padding:12px 18px;margin:0;background:var(--reader-tray)}
.case-page .event-document{border:1px solid var(--reader-border);background:var(--reader-paper);margin:26px 0}
.case-page .event-document>summary{padding:18px 20px;background:var(--reader-tray);gap:16px;align-items:start}
.case-page .event-document[open]>summary{background:oklch(43% .008 270);color:var(--reader-dark-text);border-bottom:1px solid var(--reader-border)}
.case-page .event-document-title{font-size:18px;line-height:1.7;color:inherit}
.case-page .event-document-date{font:11px/1.8 var(--mono);color:var(--reader-muted)}
.case-page .event-document[open]>summary .event-document-date{color:oklch(88% .004 270)}
.case-page .event-document[open]>summary>.disclosure-control{background:transparent;border-color:oklch(82% .004 270);color:inherit}
.case-page .event-document .record-content{padding:23px 22px}
.case-page .stage-pagination{display:flex;align-items:stretch;justify-content:space-between;gap:16px;padding:20px 0 0;margin-top:8px;border-top:1px solid var(--reader-border)}
.case-page .stage-collapse,.case-page .part-collapse,.case-page .material-close{display:none;border:1px solid var(--reader-dark);background:var(--reader-dark);color:var(--reader-dark-text);min-height:44px;width:auto;align-items:center;justify-content:center;padding:10px 15px;font-size:13px;line-height:1.7;border-radius:2px;margin:0;font-weight:550;flex:0 0 auto}
.case-page.js-reading .stage-collapse,.case-page.js-reading .part-collapse,.case-page.js-reading .material-close{display:inline-flex}
.case-page .stage-collapse:hover,.case-page .part-collapse:hover,.case-page .material-close:hover{background:oklch(37% .008 270);text-decoration:none}
.case-page .stage-pagination a{border:1px solid var(--reader-border);background:var(--reader-tray);padding:10px 15px;text-align:left;min-height:44px;font-size:13px;line-height:1.7;flex:1;max-width:65%}
.case-page .stage-pagination small{font-size:11px;margin-bottom:3px;color:var(--reader-muted)}
.case-page .material-close{margin-top:25px}
.case-page .part-footer{display:none;margin-top:24px;padding-top:20px;border-top:1px solid var(--reader-border)}
.case-page.js-reading .part-footer{display:flex;justify-content:flex-end}
.case-page .part-collapse{background:var(--reader-paper);color:var(--reader-dark)}
.case-page .part-collapse:hover{background:var(--reader-chapter)}
.case-page .chapter-menu .part-link[aria-current]{background:var(--reader-dark);color:var(--reader-dark-text)}
.case-page .chapter-menu .rail-stages a[aria-current]{background:var(--reader-chapter-open);color:var(--reader-dark)}
.case-page .story-conclusion .analysis-section{margin-top:26px}
@media(max-width:1050px){
 .case-page .part-body,.case-page .case-part[open]>.part-body{padding:18px}
 .case-page .journey-stage>.stage-body,.case-page .journey-stage[open]>.stage-body{padding:20px 18px}
 .case-page .scene-message{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:20px 16px}
}
@media(max-width:580px){
 .case-page .case-parts{gap:18px}
 .case-page .part-gateway,.case-page .case-part[open]>.part-gateway{grid-template-columns:28px minmax(0,1fr) 62px;gap:10px;padding:18px 13px;min-height:84px}
 .case-page .part-gateway .gateway-title{font-size:23px}
 .case-page .disclosure-control{min-width:62px;min-height:42px;gap:7px;padding:7px;font-size:12px}
 .case-page .disclosure-glyph{font-size:20px}
 .case-page .part-body,.case-page .case-part[open]>.part-body{padding:14px 8px}
 .case-page #overview>.part-body,.case-page #conclusion>.part-body{padding:20px 14px}
 .case-page .stage-list{gap:12px}
 .case-page .journey-stage>.stage-gateway,.case-page .journey-stage[open]>.stage-gateway{grid-template-columns:25px minmax(0,1fr) 62px;gap:8px;padding:17px 10px}
 .case-page .stage-gateway .gateway-title{font-size:18px;line-height:1.75}
 .case-page .stage-gateway .gateway-teaser{font-size:12px;line-height:1.85}
 .case-page .stage-gateway .gateway-meta{font-size:11px}
 .case-page .journey-stage>.stage-body,.case-page .journey-stage[open]>.stage-body{padding:16px 12px}
 .case-page .scene-heading{gap:7px 10px}.case-page .scene-heading>time{font-size:11px}.case-page .scene-heading h4{font-size:20px}
 .case-page .scene-body .narrator,.case-page .scene-quote .chinese{font-size:17px;line-height:1.95}
 .case-page .scene-dialogue{margin-inline:-1px}
 .case-page .scene-message{display:block;padding:19px 12px}.case-page .scene-speaker>time{font-size:10px}
 .case-page .stage-pagination{flex-wrap:wrap;gap:10px}
 .case-page .stage-collapse{font-size:12px;min-height:44px}.case-page .stage-pagination a{max-width:none;min-width:100%;font-size:12px}
 .case-page .event-document>summary{padding:15px 12px;gap:10px}.case-page .event-document-title{font-size:17px}.case-page .event-document-date{font-size:10px}
 .case-page .event-document .record-content{padding:19px 13px}
 .case-page .part-footer{margin:22px 6px 2px;padding-top:18px}.case-page .part-collapse,.case-page .material-close{font-size:12px}
}
@media print{
 .case-page .part-gateway,.case-page .journey-stage>.stage-gateway,.case-page .event-document>summary{background:transparent!important;color:var(--ink)!important}
 .case-page .disclosure-control,.case-page .part-footer,.case-page .stage-pagination,.case-page .material-close{display:none!important}
}

/* Dated network context belongs to the case overview, separate from its narrative. */
.case-page .case-background{margin-top:28px;padding:18px 20px;border:1px solid var(--line);background:var(--reader-tray)}
.case-page .case-background p{font-size:13px;line-height:1.85;color:var(--reader-muted);margin:0}
.case-page .case-background p+p{margin-top:6px}
.case-page .case-background .case-background-label{font-size:11px;font-weight:650;margin-bottom:10px}
.case-page .case-background .case-background-network{font-size:14px;color:var(--ink)}
.case-page .case-background .case-background-note{font-size:12px}
.case-page .case-background strong{font-variant-numeric:tabular-nums;font-weight:600}
.case-page .case-background a{display:inline-flex;align-items:center;min-height:44px;margin-top:5px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:580px){.case-page .case-background{padding:16px;margin-top:24px}}

/* Original works sit beside the event that produced them. */
.case-page .story-figure{margin:26px 0;border:1px solid var(--line);background:var(--reader-tray)}
.case-page .story-figure img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain}
.case-page .story-figure figcaption{padding:11px 15px;border-top:1px solid var(--line);font-size:13px;line-height:1.75;color:var(--reader-muted)}
@media(max-width:580px){.case-page .story-figure img{max-height:360px}.case-page .story-figure figcaption{padding:10px 12px}}
