/* Public judicial-case pilot. */
.case-screen { padding: 24px 28px 48px; overflow-y: auto; background: #f6f8f9; }
.case-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; max-width:1120px; margin:0 auto 14px; }
.case-heading h1 { margin:0; color:#172027; font-size:25px; line-height:1.25; letter-spacing:0; }
.case-heading p:last-child { margin:7px 0 0; color:#66737a; font-size:13px; }
.case-count-wrap { display:grid; justify-items:end; color:#6b777d; font-size:10px; }
.case-count-wrap strong { color:#0d7377; font-size:30px; line-height:1; }
.case-searchbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; max-width:1120px; margin:0 auto 12px; }
.case-searchbar input { min-width:0; height:44px; padding:0 13px; border:1px solid #bcc8cd; border-radius:5px; background:#fff; color:#1e2a30; font-size:16px; outline:none; }
.case-searchbar input:focus { border-color:#0d7377; box-shadow:0 0 0 3px rgba(13,115,119,.12); }
.case-searchbar button { min-width:82px; border:0; border-radius:5px; background:#0d7377; color:#fff; font-weight:700; }
.case-topic-strip { display:flex; gap:7px; max-width:1120px; margin:0 auto 14px; overflow-x:auto; }
.case-topic-strip button { flex:0 0 auto; min-height:34px; padding:0 12px; border:1px solid #cdd6da; border-radius:4px; background:#fff; color:#445159; }
.case-topic-strip button.active { border-color:#0d7377; background:#e8f6f6; color:#08676b; font-weight:700; }
.case-results { max-width:1120px; margin:0 auto; border:1px solid #d8e0e3; border-radius:7px; background:#fff; overflow:hidden; }
.case-row { border-bottom:1px solid #e4e9eb; }
.case-row:last-child { border-bottom:0; }
.case-open { display:grid; grid-template-columns:150px minmax(0,1fr) 170px; gap:20px; width:100%; padding:18px 20px; border:0; background:#fff; color:#1d292f; text-align:left; cursor:pointer; }
.case-open:hover { background:#f7fbfb; }
.case-identity { display:grid; align-content:start; gap:4px; }
.case-number { color:#0d7377; font-size:13px; font-weight:800; }
.case-date,.case-pages { color:#738086; font-size:11px; }
.case-translation-progress { margin-top:5px; padding:3px 6px; border-left:2px solid #0d7377; background:#eef7f7; color:#0d7377; font-size:10px; line-height:1.45; }
.case-summary h2 { margin:0 0 7px; font-size:16px; line-height:1.45; letter-spacing:0; }
.case-summary p { margin:0; color:#56636a; font-size:13px; line-height:1.65; }
.case-side { display:grid; align-content:start; justify-items:end; gap:8px; }
.case-topic { padding:4px 7px; border-radius:3px; background:#eaf5f5; color:#0d7377; font-size:10px; font-weight:700; }
.case-outcome { color:#38464d; font-size:11px; line-height:1.5; text-align:right; }
.case-empty { padding:42px 20px; color:#6b777d; text-align:center; }
.case-reader { position:fixed; z-index:1200; inset:0; display:flex; justify-content:flex-end; }
.case-reader[hidden] { display:none; }
.case-reader-backdrop { position:absolute; inset:0; background:rgba(16,27,32,.48); }
.case-reader-panel { position:relative; width:min(820px,92vw); height:100vh; overflow-y:auto; background:#fff; box-shadow:-12px 0 32px rgba(15,35,40,.18); }
.case-reader-header { position:sticky; z-index:2; top:0; display:flex; justify-content:space-between; gap:20px; padding:22px 26px 16px; border-bottom:1px solid #dfe5e7; background:#fff; }
.case-reader-header h2 { margin:5px 0 7px; color:#172027; font-size:23px; letter-spacing:0; }
.case-reader-header p { margin:0; color:#0d7377; font-size:11px; font-weight:700; }
.case-reader-meta { display:flex; flex-wrap:wrap; gap:7px 14px; color:#69767c; font-size:11px; }
.case-reader-notice { padding:10px 26px; border-bottom:1px solid #eedfb8; background:#fff8e8; color:#604a1f; font-size:12px; line-height:1.5; }
.case-reader-body { padding:24px 26px 48px; }
.case-reader-tabs { display:flex; gap:3px; margin:-6px 0 20px; border-bottom:1px solid #dfe5e7; }
.case-reader-tabs button { padding:10px 12px; border:0; border-bottom:3px solid transparent; background:#fff; color:#59666c; cursor:pointer; }
.case-reader-tabs button.active { border-bottom-color:#0d7377; color:#0d7377; font-weight:700; }
.case-analysis { display:grid; gap:0; border:1px solid #dfe5e7; }
.case-analysis-section { display:grid; grid-template-columns:140px minmax(0,1fr); gap:18px; padding:16px 18px; border-bottom:1px solid #e5eaec; }
.case-analysis-section:last-child { border-bottom:0; }
.case-analysis-section h3 { margin:0; color:#0d7377; font-size:12px; letter-spacing:0; }
.case-analysis-section p { margin:0; color:#26343a; font-size:14px; line-height:1.75; }
.case-excerpt-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:28px 0 10px; }
.case-excerpt-heading h3 { margin:0; font-size:17px; }
.case-language-tabs { display:flex; gap:5px; }
.case-full-languages { margin-bottom:14px; }
.case-language-tabs button { padding:6px 9px; border:1px solid #cbd5d9; border-radius:3px; background:#fff; color:#536168; }
.case-language-tabs button.active { border-color:#0d7377; color:#0d7377; font-weight:700; }
.case-segment { margin-top:10px; padding:16px 18px; border-left:3px solid #0d7377; background:#f5f8f9; }
.case-segment header { display:flex; justify-content:space-between; gap:12px; margin-bottom:9px; color:#536168; font-size:11px; }
.case-segment strong { color:#253238; }
.case-segment p { margin:0; color:#28363c; font-size:14px; line-height:1.8; white-space:pre-wrap; }
.case-original-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:26px; padding-top:18px; border-top:1px solid #dfe5e7; }
.case-original-actions p { margin:0; color:#6d797f; font-size:11px; }
.case-original-button { min-height:38px; padding:0 14px; border:0; border-radius:4px; background:#0d7377; color:#fff; font-weight:700; cursor:pointer; }
.case-full-status { margin-bottom:14px; padding:10px 12px; border-left:3px solid #c7922e; background:#fff8e8; color:#5f4a1e; font-size:12px; line-height:1.6; }
.case-page-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.case-page-controls button { min-height:34px; padding:0 11px; border:1px solid #cbd5d9; border-radius:4px; background:#fff; color:#0d7377; }
.case-page-controls button:disabled { color:#aab3b7; cursor:not-allowed; }
.case-page-controls label { display:flex; align-items:center; gap:6px; color:#6b777d; font-size:12px; }
.case-page-controls input { width:72px; min-height:34px; padding:0 8px; border:1px solid #cbd5d9; border-radius:4px; }
.case-parallel-pages { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.case-parallel-pages h3 { margin:0 0 10px; color:#536168; font-size:12px; }
.case-translated-page { min-width:0; }
.case-translated-page p { margin:0 0 15px; color:#28363c; font-size:14px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.case-translated-page p.case-english-text { text-align:left; line-height:1.75; }
.case-source-page { position:sticky; top:106px; min-width:0; }
.case-source-page img { display:block; width:100%; height:auto; border:1px solid #dfe5e7; background:#f6f8f9; }
.case-page-pending { padding:24px; background:#f5f8f9; color:#6b777d !important; text-align:center; }
@media (max-width:700px) {
  .case-screen { padding:18px 14px 34px; }
  .case-heading { align-items:start; }
  .case-open { grid-template-columns:1fr; gap:9px; padding:15px; }
  .case-side { justify-items:start; }
  .case-outcome { text-align:left; }
  .case-reader-panel { width:100%; }
  .case-reader-header { padding:15px 14px 12px; }
  .case-reader-header h2 { font-size:18px; }
  .case-reader-notice,.case-reader-body { padding-left:14px; padding-right:14px; }
  .case-analysis-section { grid-template-columns:1fr; gap:6px; padding:14px; }
  .case-excerpt-heading { align-items:start; flex-direction:column; }
  .case-original-actions { align-items:stretch; flex-direction:column; }
  .case-original-button { width:100%; }
  .case-reader-tabs { overflow-x:auto; }
  .case-reader-tabs button { flex:0 0 auto; }
  .case-parallel-pages { grid-template-columns:1fr; }
  .case-source-page { position:static; padding-top:15px; border-top:1px solid #dfe5e7; }
}

/* Continuous Chinese reading */
.case-reader-panel{width:100vw;max-width:none;height:100dvh;background:#fff}
.case-reader-body{padding:26px clamp(20px,5vw,80px) 80px}
.case-reader-header{padding:20px clamp(20px,5vw,80px) 18px}
.case-reader-header h2{line-height:1.5}
.case-full-reader{display:block;width:100%;max-width:1040px;margin:0 auto;color:#253238}
.case-full-status:empty{display:none}
.case-full-status{max-width:1040px;margin:0 auto 24px;box-sizing:border-box}
.case-full-reader .case-translated-page{border:0;padding:30px 0 8px;content-visibility:auto;contain-intrinsic-size:auto 1000px}
.case-full-reader .case-translated-page + .case-translated-page{border-top:1px solid #e7ecec;margin-top:20px}
.case-full-reader .case-translated-page h3{display:flex;align-items:center;gap:12px;margin:0 0 26px;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.06em;color:#7b898d}
.case-full-reader .case-translated-page h4{margin:30px 0 18px;font-size:20px;line-height:1.7;font-weight:650;color:#173f43;letter-spacing:.02em}
.case-full-reader .case-translated-page p{margin:0 0 18px;font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-size:18px;line-height:2;letter-spacing:.025em;white-space:normal;overflow-wrap:anywhere;text-align:justify}
.case-full-reader .case-translated-page .case-numbered-paragraph{padding-left:1.5em;text-indent:-1.5em}
.case-full-reader .case-page-pending{font-family:inherit;font-size:14px;text-align:center}
@media(min-width:1500px){.case-full-reader{max-width:1120px}}
@media(max-width:700px){
 .case-reader-body{padding:16px 22px 48px}
 .case-reader-header{padding:16px 22px}
 .case-reader-header h2{font-size:17px}
 .case-reader-tabs{margin-bottom:8px}
 .case-full-reader .case-translated-page{padding-top:22px}
 .case-full-reader .case-translated-page h3{margin-bottom:20px;font-size:11px}
 .case-full-reader .case-translated-page h4{font-size:18px;margin:24px 0 16px}
 .case-full-reader .case-translated-page p{font-size:16px;line-height:1.95;letter-spacing:0;margin-bottom:16px;text-align:left}
}

/* Source boilerplate stays available without interrupting the judgment. */
.case-document-footer{margin:18px 0 8px;color:#819095;font-size:12px;line-height:1.7}
.case-document-footer summary{cursor:pointer;width:fit-content;padding:5px 0;font-size:12px}
.case-document-footer summary:hover{color:#0d7377}
.case-document-footer summary:focus-visible{outline:2px solid #0d7377;outline-offset:4px}
.case-full-reader .case-translated-page .case-document-footer p{margin:8px 0 0;padding:12px 16px;border-left:2px solid #dfe5e7;background:#f7f9f9;color:#75838a;font-family:inherit;font-size:12px;line-height:1.8;letter-spacing:0;white-space:pre-line;text-align:left}
.case-full-reader .case-translated-page p.case-english-text{white-space:pre-wrap;text-align:left;letter-spacing:0}

.case-page-jump{display:flex;justify-content:flex-end;padding:8px 0 18px}.case-page-jump select{font:inherit;padding:6px 12px;border:1px solid #cbd5dc;border-radius:6px;background:#fff;color:inherit}.case-compare-option{display:inline-flex;gap:8px;align-items:center;margin:12px 0}.case-page-columns-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.case-page-columns>*{min-width:0}.case-page-columns-compare .case-page-translation p{text-align:left}.case-page-original{border-left:1px solid #d9e2e5;padding-left:22px;font-size:16px;line-height:1.8}.case-page-original div{white-space:pre-wrap;overflow-wrap:anywhere}.case-translated-page{scroll-margin-top:180px}.case-translated-page:focus{outline:none}@media(max-width:760px){.case-page-columns-compare{grid-template-columns:minmax(0,1fr);gap:20px}.case-page-original{border-left:0;border-top:1px solid #d9e2e5;padding:16px 0 0}}

/* Reuse library-reader-modal.css for the shared centered reader shell. */
#caseReader[data-case-storage="oss"] .case-reader-body{overflow:auto;padding:24px clamp(16px,5vw,80px) 60px}
#caseReader[data-case-storage="oss"] p{overflow-wrap:anywhere;white-space:pre-wrap}
#caseReader[data-case-storage="oss"] .case-reader-notice:empty{display:none}
#caseReader[data-case-storage="oss"] .case-language-tabs{flex-wrap:wrap}

#caseReader[data-case-storage="oss"] .case-source-citation{grid-column:2;font-size:12px;color:#256b70;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:760px){#caseReader[data-case-storage="oss"] .case-source-citation{grid-column:1}}
