:root {
  --paper:var(--page-bg); --bg:var(--page-bg); --ink:var(--page-ink);
  --muted:var(--page-muted); --line:var(--page-border); --rule:var(--page-border);
  --white:var(--page-bg); --green:var(--page-ink); --pale:var(--page-panel);
  --soft:var(--page-panel); --rust:var(--page-muted); --gold:var(--page-muted);
}
body.case-document { background:var(--page-bg); color:var(--page-ink); font-family:Georgia,'Times New Roman',serif; }
.case-document .site-header.wrap { box-sizing:border-box; width:min(600px,calc(100% - 40px)); max-width:600px; margin:0 auto 34px; padding:20px 0 0; border:0; display:block; }
.header-line { display:flex; align-items:center; justify-content:space-between; gap:22px; }
.site-name { margin:0; font:700 30px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.025em; }
.site-name a { color:var(--page-ink); text-decoration:none; }
.site-name a:hover { text-decoration:underline; }
.site-nav { display:flex; flex-wrap:wrap; gap:5px 20px; font:16px/1.6 Georgia,'Times New Roman',serif; margin-top:12px; }
.site-nav a { color:var(--page-ink); text-decoration:underline; text-underline-offset:3px; }
.site-nav a[aria-current="page"] { color:var(--page-muted); text-decoration:none; }
.site-footer.wrap { width:min(600px,calc(100% - 40px)); max-width:600px; padding:0; margin:48px auto 32px; border:0; display:block; color:var(--page-muted); font:15px/1.6 Georgia,'Times New Roman',serif; }
.site-footer p { margin:0; }
.footer-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin-bottom:16px; }
.footer-links a { color:var(--page-muted); text-underline-offset:3px; }
.case-document .skip { position:absolute; top:-100px; left:20px; padding:8px 14px; background:var(--page-ink); color:var(--page-bg); z-index:20; }
.case-document .skip:focus { top:8px; }
.site-name a:focus-visible,.site-nav a:focus-visible,.footer-links a:focus-visible { outline:2px solid var(--page-ink); outline-offset:4px; }
.case-document .hero { padding-top:26px; }
.case-document h1, .case-document .hero h1 { font:700 36px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.025em; }
.case-document .section-head h2, .case-document .section-intro h2, .case-document .case h2 { font:700 27px/1.25 Georgia,'Times New Roman',serif; letter-spacing:-.02em; }
.case-document .lead, .case-document .lede { color:var(--page-ink); font:20px/1.6 Georgia,'Times New Roman',serif; }
.case-document .tags { gap:5px 18px; }
.case-document .tag { padding:0; border:0; border-radius:0; color:var(--page-muted); font-size:13px; }
.case-document .takeaway { background:transparent; color:var(--page-ink); border:0; border-top:1px solid var(--page-border); padding:25px 0 0; border-radius:0; }
.case-document .takeaway .kicker { color:var(--page-muted); }
.case-document .screen-figure { background:var(--page-panel); }
.case-document .decision .detail { color:var(--page-ink); background:var(--page-panel); }
.case-document .status-card { background:var(--page-panel); }
.case-document .status-card.next h3 { color:var(--page-ink); }
.case-document .role { color:var(--page-muted); }
.case-document .section-head p { color:var(--page-ink); }
.case-document .section-head .tiny, .case-document .evidence-banner p { color:var(--page-muted); }
.case-document .evidence-banner, .case-document .recorded { background:var(--page-panel); border-color:var(--page-border); }
.case-document .source-note { max-width:1200px; margin:20px auto; padding:0 24px; font:12px/1.6 sans-serif; color:var(--page-muted); }
/* The reconstructed application interfaces retain their own readable UI palette. */
.case-document .dashboard-frame, .case-document .exhibit, .case-document .card, .case-document .action-example {
  color-scheme:light; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --paper:#f9faf7; --bg:#f9faf7; --ink:#20332d; --muted:#5c6b64;
  --line:#d7ddd5; --rule:#d7ddd5; --white:#fffefa; --green:#285f47;
  --pale:#e7eee5; --soft:#f3f5f1; --rust:#8d472e; --gold:#97732f;
  color:#20332d; background:#fffefa;
}
@media(max-width:600px) {
  .site-name { font-size:28px; }
  .case-document h1,.case-document .hero h1 { font-size:31px; }
  .case-document .lead,.case-document .lede { font-size:19px; }
}
@media print { .site-header,.site-footer { display:none!important; } }
