/* Lemoncar content, controls and accessibility. Upstream reference CSS stays intact. */
.br-page { word-break:keep-all; overflow-wrap:anywhere; }
.br-page [hidden] { display:none!important; }
.br-page :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #b36b00; outline-offset:4px; }
.br-editorial-hero :is(a,button):focus-visible,.br-footer a:focus-visible { outline-color:#f8ba2c; }
.br-page :is(h2,h3,[id]) { scroll-margin-top:24px; }
.br-brand { display:inline-flex; align-items:center; gap:10px; white-space:nowrap; }
.br-brand-mark { width:32px; height:34px; display:grid; place-items:center; background:#15243e; color:#fff; border-radius:5px 5px 11px 5px; font-size:23px; }
.br-nav { gap:clamp(12px,1.7vw,24px); }
.br-nav a { display:inline-flex; align-items:center; min-height:44px; }
.br-nav a[aria-current] { color:#075fff; text-decoration:underline; text-underline-offset:6px; }
.br-mobile-toggle { min-height:44px; }
.no-js .br-mobile-toggle { display:none; }
.no-js .br-nav { display:flex; }
.br-breadcrumb { min-width:0; }
.br-breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; gap:6px 8px; padding:0; margin:0; }
.br-breadcrumb li+li::before { content:'›'; color:#a9b5cd; padding-right:8px; }
.br-editorial-breadcrumb>a { flex-shrink:0; align-self:start; }
.br-byline a { color:#e4edff; text-underline-offset:3px; }
.br-editorial-main { overflow-wrap:anywhere; }
.br-editorial-main :is(ul,ol) { padding-left:24px; font-size:17px; line-height:1.85; }
.br-editorial-main li { margin:8px 0; }
.br-editorial-side { align-self:stretch; }
.br-disclosure { text-decoration:none; }
.br-disclosure:hover { text-decoration:underline; }
.br-toc { max-height:calc(100dvh - 30px); overflow-y:auto; }
.br-toc ol { padding-left:21px; }
.br-toc a { display:block; padding:5px 0; }
.br-toc li { margin-bottom:6px; }
.br-mobile-toc { display:none; }
.br-table-wrap { max-width:100%; }
.br-data-table caption { text-align:left; padding:13px 19px; font-weight:700; background:#f9f7f4; color:#384050; }
.br-data-table tbody td.br-cell-text { white-space:normal; text-align:left; min-width:200px; }
.br-table-hint { display:none; }
.br-faq summary { gap:20px; padding:4px 0; min-height:44px; }
.br-faq summary::-webkit-details-marker { display:none; }
.br-faq summary::after { flex-shrink:0; }
.br-related { margin:40px 0; border-top:1px solid #dbe0e8; }
.br-related-links { display:grid; gap:9px; }
.br-related-links a { display:block; padding:12px 15px; border:1px solid #dbe0e8; border-radius:8px; font-size:16px; }
.br-sources { border-top:1px solid #dbe0e8; margin-top:40px; }
.br-editorial-main .br-sources p { font-size:14px; color:#596374; }
.br-link-list { list-style:none; padding-left:0!important; }
.br-link-list li { padding:15px 0; border-bottom:1px solid #e3e5e9; }
.br-link-list a { font-weight:700; }
.br-editorial-main .br-link-list p { margin:8px 0 0; font-size:15px; }
.br-section-title { font-family:var(--br-serif); font-size:34px; line-height:1.3; margin:45px 0 30px; color:#15243e; }
.br-card-section { margin-top:35px; }
.br-action-card h3 { font-family:var(--br-serif); font-weight:700; font-size:29px; line-height:1.15; letter-spacing:-.5px; margin:0 0 20px; color:#101a30; }
.br-action-card__desc { width:100%; margin-top:0; }
.br-action-card .br-button { margin-top:auto; }
.br-about { width:min(1375px,calc(100% - 32px)); }
.br-footer { background:#132441; color:#e2e9f5; margin-top:55px; padding:42px 0 35px; }
.br-footer-brand { font-size:23px; font-weight:800; text-decoration:none; color:#fff; }
.br-footer p { margin:12px 0; font-size:14px; }
.br-footer-links { display:flex; flex-wrap:wrap; gap:0 20px; margin:23px 0; padding:17px 0; border-block:1px solid #40516e; }
.br-footer-links a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-underline-offset:4px; }
.br-footer .br-footer-note { color:#bcc9df; max-width:780px; line-height:1.8; }
.br-muted,.br-hint { color:#596374; }
.br-writing-template { white-space:pre-wrap; overflow-wrap:anywhere; font:15px/1.9 Arial,"Malgun Gothic",sans-serif; background:#f7f8fb; border:1px solid #d5dce8; border-radius:8px; padding:22px; }
/* The real tools keep all original IDs, input data and storage behavior. */
.br-tool { padding:25px; margin:30px 0; border:1px solid #cbd5e7; border-radius:12px; background:#f8faff; }
.br-tool-jump { margin:0 0 15px; }
.br-form-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
.br-field { min-width:0; margin:0 0 22px; }
.br-field label { display:block; font-size:16px; font-weight:700; color:#243349; margin:0 0 8px; }
.br-control { display:block; width:100%; min-width:0; max-width:100%; min-height:48px; padding:11px 12px; font:16px/1.5 Arial,"Malgun Gothic",sans-serif; border:1.5px solid #788ba9; border-radius:6px; color:#1a2a45; background:#fff; }
textarea.br-control { min-height:145px; resize:vertical; }
input[type=file].br-control { white-space:normal; overflow-wrap:anywhere; }
.br-check-row { display:flex; align-items:center; gap:10px; min-height:44px; margin:12px 0; }
.br-check-row input { width:20px; height:20px; flex:none; accent-color:#075fff; }
.br-actions { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.br-actions p { flex-basis:100%; }
.br-result-feedback { white-space:pre-line; overflow-wrap:anywhere; line-height:1.85; margin-top:24px; padding:22px; border:1px solid #bbcee9; border-left:4px solid #073b9c; border-radius:8px; background:#fff; }
.br-result-feedback:empty { display:none; }
.br-record { border:1px solid #d5deec; background:#fff; padding:20px; border-radius:9px; margin:15px 0; }
.br-editorial-main .br-record p { font-size:15px; white-space:pre-line; margin-bottom:15px; }
.timeline-entry { border-left:4px solid; padding:15px; margin:15px 0; background:#fff; }
.timeline-color-0 { border-color:#185e72; }.timeline-color-1 { border-color:#8b4d31; }.timeline-color-2 { border-color:#625296; }.timeline-color-3 { border-color:#2f7153; }.timeline-color-4 { border-color:#9a6020; }
.case-report { white-space:normal; background:#fff; }
.case-report h2 { margin-top:0; }
.case-report h3 { border-top:1px solid #d5deec; padding-top:20px; }
.case-report h4 { margin:0 0 10px; }
.br-editorial-main .case-report p { font-size:15px; margin:0 0 12px; }
.case-report dl { display:grid; grid-template-columns:minmax(90px,1fr) 1.7fr; margin:16px 0; font-size:15px; }
.case-report dt,.case-report dd { margin:0; padding:10px; border-bottom:1px solid #d5deec; overflow-wrap:anywhere; }
.case-report dt { font-weight:700; background:#f2f5fb; }
.report-entry { padding:18px 0; border-top:1px solid #d5deec; }
.report-note { color:#596374; }
.ad-placement { display:block; min-height:280px; border:1px solid #dfddd7; letter-spacing:normal; }
.ad-label { display:block; font-size:11px; line-height:20px; color:#596374; }
.adsbygoogle { min-height:250px; }
@media(max-width:1050px) { .br-action-card h3 { font-size:27px; } }
@media(max-width:760px) {
  /* The SSOT specifies -70px for the entire one-column range. */
  .br-editorial-layout { margin-top:-70px; }
  .br-editorial-side { align-self:auto; }
  .br-toc { max-height:none; }
  .br-mobile-toc { display:block; border-block:1px solid #d2d6de; padding:13px 0; margin:0 0 25px; }
  .br-mobile-toc summary { cursor:pointer; min-height:44px; display:flex; align-items:center; justify-content:space-between; font-weight:700; color:#073b9c; list-style:none; }
  .br-mobile-toc summary::after { content:'+'; font-size:24px; }
  .br-mobile-toc[open] summary::after { content:'−'; }
  .br-mobile-toc a { display:block; padding:5px 0; }
  .br-table-hint { display:block; font-size:13px!important; color:#596374; margin-top:-30px!important; }
  .br-nav a { width:100%; }
  .no-js .br-nav { flex-direction:row; flex-wrap:wrap; }
  .no-js .br-nav a { width:auto; }
  .br-section-title { font-size:28px; }
  .br-about { width:calc(100% - 30px); }
}
@media(max-width:520px) {
  .br-tool { padding:17px; }
  .br-result-feedback { padding:16px; }
  .br-editorial-breadcrumb { flex-wrap:wrap; }
  .br-editorial-main :is(ul,ol) { font-size:16px; }
  .br-byline { gap:10px; }
  .br-byline small { display:block; }
  .br-about__card { padding:28px; }
  .br-action-card h3 { font-size:28px; }
}
@media print {
  .br-page { background:#fff; color:#000; }
  .br-topbar,.br-footer,.br-editorial-breadcrumb,.br-editorial-side,.br-mobile-toc,.br-tool-jump,.br-actions,.br-related,.br-table-hint,.ad-placement,.br-about { display:none!important; }
  .br-editorial-hero { min-height:0; padding:0; background:#fff; color:#000; }
  .br-editorial-hero__inner { width:100%; }
  .br-editorial-hero h1 { color:#000; font-size:22pt; line-height:1.3; margin:0 0 18px; }
  .br-byline { display:none; }
  .br-editorial-layout { display:block; width:100%; margin:0!important; }
  .br-editorial-main { padding:0; }
  .br-editorial-main p { font-size:11pt; }
  .br-editorial-main h2 { font-size:16pt; break-after:avoid; }
  .br-editorial-main h3 { font-size:13pt; break-after:avoid; }
  .br-table-wrap { overflow:visible; }
  .br-data-table { min-width:0; font-size:9pt; }
  .br-data-table td,.br-data-table th { padding:8px; }
  .br-data-table tbody td { white-space:normal; min-width:0!important; }
  .br-faq details { break-inside:avoid; }
  .br-faq summary::after { content:none; }
  .case-report { border:0; padding:0; }
  .report-entry,.report-events li { break-inside:avoid; }
  .case-report dl { grid-template-columns:150px 1fr; font-size:10pt; }
  .case-report dt,.case-report dd { padding:4px 8px; }
  .br-editorial-main .case-report p { font-size:10pt; }
  .case-report h3 { font-size:13pt; margin:14px 0 10px; padding-top:10px; }
  .case-report h4 { font-size:11pt; }
  .case-report h2 { font-size:18pt; }
  .page-tool:has(.case-report:not(:empty)) .br-editorial-hero,.page-tool:has(.case-report:not(:empty)) .br-editorial-main>:not(.br-tool),.page-tool:has(.case-report:not(:empty)) .br-tool>:not(.case-report) { display:none!important; }
  .page-tool:has(.case-report:not(:empty)) .br-tool { border:0; padding:0; margin:0; background:#fff; }
}
