
/* Token names and the two AA colour corrections match page_style.R and
   docket_page.R -- see the note above DOCKET_CSS. */
:root{--paper:#fdfcfa;--panel:#ffffff;--ink:#1a1a1e;--ink-soft:#484850;--faint:#63636b;--accent:#9c0e3a;--link:#9c0e3a;--rule:#dbd8d2;--stripe:#f7f5f1;--field:#f5f3ef;--link-hover:#78092c;--nav-max:60rem}
*{box-sizing:border-box}
body{font-family:'Newsreader',Georgia,serif;color:var(--ink);background:var(--paper);margin:0}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}
/* --leaf-max is the page's own ceiling, set per page type by scr_write_page().
   One shared 92rem was sized for the widest table (conferences, formerly 11
   columns) and then applied to the argument navigator's 6, stretching it to
   roughly 2.5x what it needs. */
.wrap{width:min(97vw,var(--leaf-max,92rem));max-width:100%;margin:0 auto;padding:2.6rem 1.4rem 4rem}
.kicker{font:600 .74rem/1 'Newsreader';letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 .8rem}
h1{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(1.9rem,4.5vw,2.9rem);line-height:1.02;letter-spacing:-.015em;margin:0 0 .7rem}
.dek{font-size:1.1rem;line-height:1.5;color:var(--ink-soft);font-style:italic;margin:0 0 1.4rem;max-width:46rem}
.brule{border:0;border-top:2px solid var(--ink);margin:1rem 0 1.4rem;position:relative}
.brule::after{content:'';position:absolute;left:0;top:4px;width:100%;border-top:1px solid var(--rule)}
.foot{margin-top:1.6rem;font-size:.9rem;color:var(--ink-soft);font-style:italic;max-width:52rem}
.foot a,.back a{color:var(--link);text-decoration:none;border-bottom:1px solid rgba(156,14,58,.4)}
.back{margin-top:1.4rem;font-size:.95rem}
.gt_table,.reactable{font-family:'Newsreader',Georgia,serif!important}
.rt-table{background:var(--panel);border:1px solid var(--rule);overflow-x:auto}
.wrap .reactable,.wrap .html-widget,.wrap .gt_table{width:100%!important;max-width:100%!important}
.rt-thead .rt-th{background:var(--paper)!important;color:var(--accent)!important;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;border-bottom:2px solid var(--ink)!important}
.rt-th,.rt-td{border-color:var(--rule)!important}
.rt-td{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.95rem;padding:.5rem .7rem!important;align-items:center!important;line-height:1.5!important}
.rt-tbody .rt-tr:hover{background:rgba(156,14,58,.06)!important}
.rt-tr-striped{background:var(--stripe)!important}
/* Docket number beneath the caption, since it no longer holds its own column. */
.rt-td .cdk{display:block;font-size:.8rem;color:var(--faint);font-variant-numeric:tabular-nums;margin-top:.15rem}
/* Merged grant-forecast cell: granted-here leads and carries the heat-map
   shading (applied inline -- gt cannot data_color a cell holding markup), with
   ever and GVR muted beneath it. */
.rt-td .fc-here{display:inline-block;min-width:2.6rem;padding:.1rem .35rem;
  font-weight:600;font-variant-numeric:tabular-nums;border-radius:2px}
/* No white-space:nowrap. It was here to keep here/GVR on one line, and instead
   made a too-long line clip silently at the column edge rather than wrap -- the
   number was in the markup and simply not on the screen. The <br> in fc_cell()
   breaks the lines deliberately; anything still too wide now wraps and stays
   visible, which is the failure mode worth having. */
.rt-td .fc-sub{display:block;font-size:.78rem;color:var(--faint);
  font-variant-numeric:tabular-nums;margin-top:.2rem;line-height:1.35}
.rt-td a{color:var(--accent);text-decoration:none}
.rt-td a:hover{color:var(--link-hover)}
.rt-td details{font-size:.9rem;line-height:1.5}
.rt-td details summary{color:var(--accent);cursor:pointer;font-style:italic;list-style:none}
.rt-td details summary::-webkit-details-marker{display:none}
.rt-td details[open] summary{margin-bottom:.35rem}
.rt-td details p{margin:.3rem 0;text-align:left}
.rt-th[aria-sort='ascending']{box-shadow:inset 0 3px 0 0 var(--accent)!important}
.rt-th[aria-sort='descending']{box-shadow:inset 0 -3px 0 0 var(--accent)!important}
.rt-search,.rt-filter{font-family:'Newsreader',Georgia,serif!important;background:var(--field)!important;border:1px solid var(--rule)!important;border-radius:2px;color:var(--ink)!important;padding:.3rem .5rem}
.rt-search:focus,.rt-filter:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(156,14,58,.12)}
.rt-search{margin-bottom:.7rem;width:16rem;max-width:100%}
.rt-search::placeholder,.rt-filter::placeholder{color:var(--faint)}
.rt-pagination{border-top:1px solid var(--rule)!important;color:var(--ink-soft);font-size:.9rem}
.rt-page-button{font-family:'Newsreader',serif!important;color:var(--accent)!important}
.rt-page-button:not(:disabled):hover{background:rgba(156,14,58,.08)!important}
.rt-page-button[aria-current='true'],.rt-current-page{color:var(--ink)!important;font-weight:600}
.rt-page-info{color:var(--ink-soft)!important}
.rt-page-size-select{font-family:'Newsreader',Georgia,serif!important;background:var(--field)!important;border:1px solid var(--rule)!important;border-radius:2px;color:var(--ink)!important;padding:.15rem 1.3rem .15rem .45rem;margin:0 .35rem}
.rt-page-size-select:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(156,14,58,.12)}

/* ---- masthead ---- */
.smast-in{max-width:var(--nav-max,60rem);margin:0 auto;padding:.85rem 1.5rem .5rem;
  display:flex;align-items:baseline;justify-content:space-between;gap:1.4rem;flex-wrap:wrap}
.smast-wm{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.02rem;
  letter-spacing:.005em;color:var(--ink,#1a1a1e);text-decoration:none;white-space:nowrap;flex:none}
.smast-wm em{font-style:italic;font-weight:500;color:var(--accent,#9c0e3a)}
.smast-wm:hover{color:var(--accent,#9c0e3a)}
/* Row gap first, then column. At 1.35rem the six section links measured 596px
   of max-content -- 4px wider than the 592px row the 40rem index container
   leaves them -- so ABOUT alone wrapped to a third line under the wordmark, on
   every page page_style.R writes. 1.05rem brings the row to 572px: 20px of
   slack at 40rem, and 45px on the 54rem case pages, which were themselves only
   21px from wrapping. The .4rem row gap is for the day a seventh section
   overruns it anyway -- a nav that wraps should read as a stack, not an orphan. */
.snav{display:flex;gap:.4rem 1.05rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.snav a{font:600 .72rem/1 'Newsreader',Georgia,serif;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-soft,var(--soft,#484850));text-decoration:none;display:inline-block;
  padding:.5rem 0;border-bottom:1.5px solid transparent}
.snav a:hover{color:var(--accent,#9c0e3a);border-bottom-color:var(--rule,#dbd8d2)}
.snav a[aria-current='page']{color:var(--accent,#9c0e3a);
  border-bottom-color:var(--accent,#9c0e3a)}
.smast-rule-w{max-width:var(--nav-max,60rem);margin:0 auto;padding:0 1.5rem}
.smast-rule{border:0;height:0;border-top:2px solid var(--ink,#1a1a1e);margin:0;position:relative}
.smast-rule::after{content:'';position:absolute;left:0;top:4px;width:100%;
  border-top:1px solid var(--rule,#dbd8d2)}
.skip{position:absolute;left:-9999px;top:0;background:var(--panel,#ffffff);
  color:var(--accent,#9c0e3a);padding:.6rem 1rem;
  border:1px solid var(--accent,#9c0e3a);
  font:600 .8rem/1 'Newsreader',Georgia,serif;letter-spacing:.1em;text-transform:uppercase;z-index:10}
.skip:focus{left:.5rem;top:.5rem}
/* ---- breadcrumb ---- */
.bcrumb{margin:.7rem 0 0}
.bcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;
  gap:.1rem .45rem;margin:0;padding:0}
.bcrumb li{display:inline-flex;align-items:baseline;gap:.45rem}
.bcrumb a{font:400 .8rem/1.5 'Newsreader',Georgia,serif;color:var(--ink-soft,var(--soft,#484850));
  text-decoration:none;border-bottom:1px solid var(--rule,#dbd8d2)}
.bcrumb a:hover{color:var(--accent,#9c0e3a);border-bottom-color:var(--accent,#9c0e3a)}
.bcrumb .sep{color:var(--faint,#63636b);font-size:.8rem;line-height:1.5}
.bcrumb [aria-current='page']{font:400 .8rem/1.5 'Newsreader',Georgia,serif;
  color:var(--faint,#63636b);font-variant-numeric:tabular-nums}
/* ---- case footer ---- */
.cfoot{margin:2.4rem 0 0}
.cfoot-rule{border:0;height:0;border-top:2px solid var(--ink,#1a1a1e);margin:0 0 1rem;position:relative}
.cfoot-rule::after{content:'';position:absolute;left:0;top:4px;width:100%;
  border-top:1px solid var(--rule,#dbd8d2)}
.cfoot-off{font-size:.95rem;margin:0 0 1.1rem}
.cfoot-off a{color:var(--link,#9c0e3a);text-decoration:none;border-bottom:1px solid rgba(156,14,58,.4)}
.cfoot-off a:hover{border-bottom-color:var(--link,#9c0e3a)}
.cfoot-lab{font:600 .68rem/1 'Newsreader',Georgia,serif;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint,#63636b);margin:0 0 .5rem}
.cfoot-nav{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;list-style:none;margin:0;padding:0}
.cfoot-nav a{font-size:.92rem;color:var(--ink-soft,var(--soft,#484850));text-decoration:none;
  border-bottom:1px solid var(--rule,#dbd8d2);padding-bottom:1px}
.cfoot-nav a:hover{color:var(--accent,#9c0e3a);border-bottom-color:var(--accent,#9c0e3a)}
.cfoot-stamp{margin:1.2rem 0 0;font-size:.8rem;color:var(--faint,#63636b);font-style:italic}
/* ---- prev / next ---- */
.pnav{margin:2.2rem 0 0;border-top:1px solid var(--rule,#dbd8d2);padding-top:1rem;
  display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.pnav a,.pnav span.none{text-decoration:none;color:inherit;display:block;padding:.5rem .2rem}
.pnav a:hover{background:rgba(156,14,58,.05)}
.pnav .dir{font:600 .66rem/1 'Newsreader',Georgia,serif;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint,#63636b);display:block;margin-bottom:.3rem}
.pnav .lab{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1rem;line-height:1.25;
  color:var(--accent,#9c0e3a);display:block}
.pnav a:hover .lab{text-decoration:underline;text-underline-offset:3px}
.pnav .nx{text-align:right}
.pnav .none{opacity:.35}
@media(max-width:640px){
  .smast-in{padding:.7rem 1.1rem .25rem;gap:.15rem}
  .smast-wm{font-size:.98rem}
  .smast-in nav{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);
    mask-image:linear-gradient(90deg,#000 86%,transparent)}
  .smast-in nav::-webkit-scrollbar{display:none}
  .snav{flex-wrap:nowrap;gap:1.15rem;padding-right:2.4rem}
  .snav a{padding:.7rem 0;white-space:nowrap}
  .smast-rule-w{padding:0 1.1rem}
  .cfoot-nav{gap:.5rem 1rem}
  .cfoot-nav a{padding-bottom:.3rem}
  .pnav{grid-template-columns:1fr;gap:.2rem}
  .pnav .nx{text-align:left;border-top:1px solid var(--rule,#dbd8d2)}
}

