    :root {

      --bg: #eef1f5;

      --paper: #ffffff;

      --ink: #1f2933;

      --muted: #667085;

      --rule: #d8dee8;

      --accent: #2f6f9f;

      --accent-soft: #e8f2f8;

      --highlight: #fff4c4;

      --highlight-rule: #ca8a04;

      --comment-bg: #fbfcff;

      --summary-column: 320px;

      --summary-gap: 36px;

      --node-toggle-size: 20px;

      --node-toggle-left: -28px;

      --node-toggle-mobile-left: -18px;

      --section-toggle-mobile-left: -22px;

      --node-toggle-border: #b7cadb;

    }



    * {

      box-sizing: border-box;

    }



    body {

      margin: 0;

      background: var(--bg);

      color: var(--ink);

      font-family: Georgia, "Times New Roman", serif;

      line-height: 1.55;

    }



    .shell {

      max-width: 1240px;

      margin: 0 auto;

      padding: 28px 28px 64px;

    }



    .topbar {

      display: flex;

      justify-content: space-between;

      gap: 24px;

      align-items: center;

      padding: 18px 22px;

      margin-bottom: 18px;

      background: #172033;

      color: #f8fafc;

      border-radius: 6px;

      font-family: Arial, Helvetica, sans-serif;

    }



    .topbar h1 {

      margin: 0;

      font-size: 22px;

      line-height: 1.2;

      font-weight: 700;

      letter-spacing: 0;

    }



    .document {

      background: var(--paper);

      border: 1px solid var(--rule);

      border-radius: 6px;

      box-shadow: 0 18px 48px rgba(15, 23, 42, 0.12);

      overflow: hidden;

    }

    .source-credit {
      padding: 16px 36px 28px;
      color: var(--muted);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 12px;
      font-style: italic;
      line-height: 1.35;
      text-align: right;
    }

    .source-credit a {
      color: var(--muted);
      font-weight: 400;
      text-decoration-color: rgba(102, 112, 133, 0.45);
      text-decoration-line: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 2px;
    }

    .source-credit a:hover,
    .source-credit a:focus {
      color: var(--accent);
      text-decoration-color: currentColor;
    }



    .masthead {

      display: grid;

      grid-template-columns: minmax(0, 1fr) var(--summary-column);

      gap: var(--summary-gap);

      padding: 34px 36px 24px;

      border-bottom: 1px solid var(--rule);

    }



    .notice {

      color: var(--muted);

      font-size: 13px;

      font-style: italic;

      margin-bottom: 28px;

    }



    .caption {

      text-align: center;

      text-transform: uppercase;

      letter-spacing: 0;

    }



    .caption .court {

      font-size: 16px;

      font-weight: 700;

      margin-bottom: 28px;

    }



    .caption .syllabus {

      text-transform: none;

      font-size: 17px;

      font-weight: 700;

      margin-bottom: 18px;

    }



    .caption .case-name {

      font-size: 18px;

      line-height: 1.25;

      font-weight: 700;

      margin-bottom: 20px;

    }



    .caption .posture,

    .caption .docket {

      font-size: 14px;

      line-height: 1.4;

      margin-top: 10px;

    }



    .pairs {

      padding: 22px 36px 36px;

    }



    .pair {

      display: grid;

      grid-template-columns: minmax(0, 1fr) var(--summary-column);

      gap: var(--summary-gap);

      align-items: start;

      margin: 0 0 18px;

    }



    .source {

      padding: 10px 14px 10px 16px;

      border-left: 3px solid transparent;

      border-radius: 4px;

      transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;

    }



    .source p {

      margin: 0 0 12px;

    }



    .source p:last-child {

      margin-bottom: 0;

    }



    .source .held {

      font-weight: 700;

    }

    .source a {
      color: #1d5f8d;
      text-decoration-color: rgba(29, 95, 141, 0.45);
      text-decoration-line: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 2px;
    }

    .source a:hover,
    .source a:focus {
      background: var(--accent-soft);
      color: #124260;
      outline: none;
      text-decoration-color: currentColor;
    }

    .source a:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
    }

    .smallcaps {
      font-variant: small-caps;
      letter-spacing: 0;
    }



    .page-anchor {
      display: inline-block;
      width: 0;
      height: 0;
      overflow: visible;
      position: relative;
      vertical-align: baseline;
      scroll-margin-top: 18px;
    }

    .page-anchor:target::after {
      content: attr(data-page-label);
      position: absolute;
      top: -22px;
      left: 0;
      padding: 2px 6px;
      background: var(--highlight);
      border: 1px solid var(--highlight-rule);
      border-radius: 4px;
      color: #5f4600;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 11px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
      z-index: 3;
    }

    .xref {
      color: #1d5f8d;
      text-decoration-color: rgba(29, 95, 141, 0.45);
      text-decoration-line: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 2px;
    }

    .xref:hover,
    .xref:focus {
      background: var(--accent-soft);
      color: #124260;
      outline: none;
      text-decoration-color: currentColor;
    }

    .xref:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
    }





    .visually-hidden {

      position: absolute;

      width: 1px;

      height: 1px;

      padding: 0;

      margin: -1px;

      overflow: hidden;

      clip: rect(0, 0, 0, 0);

      white-space: nowrap;

      border: 0;

    }



    .source-fold {
      position: relative;
      padding-right: 14px;
    }

    .source-fold-summary {
      position: absolute;
      top: 12px;
      left: var(--node-toggle-left);
      z-index: 2;
      width: var(--node-toggle-size);
      height: var(--node-toggle-size);
      margin: 0;
      cursor: pointer;
      list-style: none;
    }

    .source-fold-summary::-webkit-details-marker {
      display: none;
    }

    .source-fold-summary::before,
    .collapse-summary::before {
      content: "-";
      display: grid;
      width: var(--node-toggle-size);
      height: var(--node-toggle-size);
      place-items: center;
      border: 1px solid var(--node-toggle-border);
      border-radius: 50%;
      background: #ffffff;
      color: var(--accent);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 14px;
      font-weight: 700;
      line-height: 1;
    }

    .source-fold:not([open]) {
      min-height: 48px;
      background: #f8fafc;
      border-left-color: #b7cadb;
      cursor: pointer;
    }

    .source-fold:not([open])::after {
      content: "Original text ...";
      position: absolute;
      top: 50%;
      left: 16px;
      right: 16px;
      transform: translateY(-50%);
      overflow: hidden;
      color: var(--muted);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 12px;
      font-style: italic;
      line-height: 1.2;
      text-overflow: ellipsis;
      white-space: nowrap;
      pointer-events: none;
    }

    .source-fold:not([open])[data-preview]::after {
      content: attr(data-preview);
    }

    .source-fold:not([open]) > .source-fold-summary::before {
      content: "+";
    }

    .source-fold-summary:focus {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
    }

    .source-fold[open] > .source-body {
      cursor: pointer;
    }

    .pair:hover .source-fold-summary::before,
    .pair:focus-within .source-fold-summary::before {
      border-color: var(--highlight-rule);
      color: var(--highlight-rule);
    }

    .comment {

      position: relative;

      padding: 12px 14px 12px 16px;

      background: var(--comment-bg);

      border: 1px solid var(--rule);

      border-left: 4px solid var(--accent);

      border-radius: 6px;

      color: #233142;

      font-family: Arial, Helvetica, sans-serif;

      font-size: 13px;

      line-height: 1.45;

      transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease;

    }



    .pair:hover .source,

    .pair:focus-within .source {

      background: var(--highlight);

      border-left-color: var(--highlight-rule);

      box-shadow: inset 0 0 0 1px rgba(202, 138, 4, 0.22);

    }



    .pair:hover .comment,

    .pair:focus-within .comment {

      background: var(--accent-soft);

      border-color: #9fc0d6;

      border-left-color: var(--highlight-rule);

      box-shadow: 0 8px 22px rgba(47, 111, 159, 0.14);

    }



    .comment:focus {

      outline: 2px solid var(--accent);

      outline-offset: 3px;

    }



    .section-divider {

      margin: 32px -8px 20px;

      padding: 14px 18px 13px;

      background: #eef4f8;

      border-top: 1px solid #c8d8e3;

      border-bottom: 1px solid #c8d8e3;

      border-left: 5px solid var(--accent);

      font-family: Arial, Helvetica, sans-serif;

    }



    .section-divider .section-kicker {

      color: var(--accent);

      font-size: 11px;

      font-weight: 700;

      letter-spacing: 0.08em;

      text-transform: uppercase;

    }



    .section-divider h2 {

      margin: 4px 0 0;

      color: #172033;

      font-size: 15px;

      line-height: 1.25;

      font-weight: 700;

      letter-spacing: 0;

    }
    .pair.section-overview .source {
      border-left-color: var(--accent);
    }



    .pair:hover .source-fold:not([open])::after,

    .pair:focus-within .source-fold:not([open])::after {

      color: #6b5f24;

    }





    .opinion-title {

      margin-top: 44px;

      background: #172033;

      border-color: #172033;

      color: #f8fafc;

    }



    .opinion-title .section-kicker,

    .opinion-title h2 {

      color: #f8fafc;

    }



    .opinion-title h2 {

      font-size: 17px;

    }



    .opinion-join,

    .join-note {

      margin-top: 5px;

      color: #52616f;

      font-family: Arial, Helvetica, sans-serif;

      font-size: 12px;

      font-weight: 600;

      line-height: 1.25;

    }



    .join-note {

      color: #7a4f01;

    }



    .collapse-section.opinion > .collapse-summary .opinion-join,

    .opinion-title .opinion-join {

      color: #cbd5e1;

    }







    .source .footnote {

      border-top: 1px solid #e2e8f0;

      color: #52616f;

      font-size: 12px;

      line-height: 1.45;

      margin-top: 12px;

      padding-top: 8px;

    }



    .source .footnote sup {

      color: var(--rule);

      font-weight: 700;

      margin-right: 4px;

    }



    .collapse-section {
      position: relative;
      margin: 0 0 18px;
      padding-left: 28px;
    }

    .collapse-section::before {
      content: "";
      position: absolute;
      top: 42px;
      bottom: -10px;
      left: 10px;
      border-left: 1px solid #c8d8e3;
    }

    .collapse-section:not([open])::before {
      display: none;
    }

    .collapse-section .collapse-section {
      margin-left: 10px;
    }

    .collapse-summary {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) var(--summary-column);
      gap: var(--summary-gap);
      align-items: start;
      cursor: pointer;
      list-style: none;
      margin: 0 0 14px;
    }

    .collapse-summary::before {
      position: absolute;
      top: 13px;
      left: var(--node-toggle-left);
      z-index: 2;
    }

    .collapse-section:not([open]) > .collapse-summary::before {
      content: "+";
    }

    .collapse-summary::-webkit-details-marker {
      display: none;
    }

    .collapse-title {
      position: relative;
      min-height: 48px;
      padding: 12px 16px;
      background: #eef4f8;
      border-top: 1px solid #c8d8e3;
      border-bottom: 1px solid #c8d8e3;
      border-left: 5px solid var(--accent);
      color: #172033;
      font-family: Arial, Helvetica, sans-serif;
    }

    .collapse-kicker {
      color: var(--accent);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.08em;
      line-height: 1.1;
      text-transform: uppercase;
    }

    .collapse-heading {
      margin-top: 4px;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.25;
    }

    .collapse-rollup {
      padding: 12px 14px 12px 16px;
      background: #f6f9fc;
      border: 1px solid var(--rule);
      border-left: 4px solid var(--accent);
      border-radius: 6px;
      color: #233142;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 13px;
      line-height: 1.45;
    }

    .collapse-section[open] > .collapse-summary .collapse-rollup {
      display: none;
    }

    .collapse-summary:hover::before,
    .collapse-summary:focus::before,
    .collapse-summary:focus-within::before {
      border-color: var(--highlight-rule);
      color: var(--highlight-rule);
    }

    .collapse-summary:hover .collapse-title,
    .collapse-summary:focus .collapse-title,
    .collapse-summary:focus-within .collapse-title {
      border-left-color: var(--highlight-rule);
      background: #fff0ad;
    }

    .collapse-summary:hover .collapse-rollup,
    .collapse-summary:focus .collapse-rollup,
    .collapse-summary:focus-within .collapse-rollup {
      background: var(--accent-soft);
      border-left-color: var(--highlight-rule);
      box-shadow: 0 8px 22px rgba(47, 111, 159, 0.14);
    }

    .collapse-section.opinion > .collapse-summary::before {
      border-color: #7c8da6;
      background: #172033;
      color: #cbd5e1;
    }

    .collapse-section.opinion > .collapse-summary:hover::before,
    .collapse-section.opinion > .collapse-summary:focus::before,
    .collapse-section.opinion > .collapse-summary:focus-within::before {
      border-color: var(--highlight-rule);
      color: #ffffff;
    }

    .collapse-section.opinion > .collapse-summary .collapse-title {
      background: #172033;
      border-color: #172033;
      color: #f8fafc;
    }

    .collapse-section.opinion > .collapse-summary .collapse-kicker {
      color: #cbd5e1;
    }

    .collapse-section.opinion > .collapse-summary:hover .collapse-title,
    .collapse-section.opinion > .collapse-summary:focus .collapse-title,
    .collapse-section.opinion > .collapse-summary:focus-within .collapse-title {
      background: #243149;
      border-left-color: var(--highlight-rule);
    }

    .collapse-content > .section-divider:first-child {
      display: none;
    }

    @media (max-width: 860px) {

      .shell {

        padding: 16px;

      }



      .topbar {

        display: block;

      }



      .masthead,

      .pair {

        grid-template-columns: 1fr;

        gap: 12px;

      }



      .masthead,

      .pairs {

        padding-left: 18px;

        padding-right: 18px;

      }





      .collapse-summary {

        grid-template-columns: 1fr;

        gap: 10px;

      }



      .collapse-section .collapse-section {

        margin-left: 0;

      }



      .collapse-rollup {

        margin-left: 18px;

      }

      .pair > .comment {

        margin-left: 18px;

      }



      .collapse-section {
        padding-left: 22px;
      }

      .collapse-section::before {
        left: 8px;
      }

      .collapse-summary::before {
        left: var(--section-toggle-mobile-left);
      }

      .source-fold-summary {
        left: var(--node-toggle-mobile-left);
      }
    }

  
