
:root{
  --dl-nav-width:300px;
  --dl-bg:#f4f1e9;
  --dl-paper:#fbfaf6;
  --dl-nav:#ebe7dd;
  --dl-ink:#2d2923;
  --dl-muted:#756e64;
  --dl-line:rgba(55,48,38,.16);
  --dl-accent:#665c4d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--dl-bg)}
body.dl-body{
  margin:0;background:var(--dl-bg);color:var(--dl-ink);font-family:Georgia,'Times New Roman',serif}
.dl-layout{min-height:calc(100vh - 54px);padding-left:var(--dl-nav-width);background:var(--dl-bg)}
.dl-main{max-width:calc(var(--publisher-content-width,820px) + 96px);margin:0 auto;padding:64px 48px 90px}
.dl-article{background:var(--dl-paper);border:1px solid var(--dl-line);box-shadow:0 8px 30px rgba(55,48,38,.07);padding:clamp(32px,5vw,64px);font-size:calc(var(--publisher-text-scale,1.05rem) * var(--rp-reading-scale,1));line-height:var(--rp-reading-line-height,1.72)}
.dl-article h1{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.08;font-weight:500;margin:0 0 .5rem;color:var(--dl-ink)}
.dl-article h2,.dl-article h3{color:var(--dl-ink);line-height:1.2}
.dl-article p,.dl-article li{line-height:var(--rp-reading-line-height,1.72)}
.dl-reading-time{margin:0 0 2rem;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dl-muted)}
.page-image{margin:1.5rem auto 2rem;max-width:560px;text-align:center}
.page-image img,.dl-article img{display:block;width:auto;max-width:min(100%,560px);max-height:400px;height:auto;object-fit:contain;margin:0 auto}
.page-image figcaption{margin-top:.6rem;font-size:.85rem;color:var(--dl-muted)}
a{color:#51493e}.dl-article a{text-decoration-thickness:1px;text-underline-offset:2px}
blockquote{margin:1.5rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--dl-line);color:#554f47}

/* Clean light navigation */
.paper-drawer{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:var(--dl-nav-width)!important;background:var(--dl-nav)!important;color:var(--dl-ink)!important;border-right:1px solid var(--dl-line)!important;box-shadow:none!important;z-index:60;overflow:auto}
.paper-drawer-inner{padding:42px 0}
.paper-drawer-title{margin:0;padding:0 22px 18px;font:600 .72rem/1.2 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--dl-muted)}
.paper-nav-level{list-style:none;margin:0;padding:0}
.paper-nav-item{margin:0;border-top:1px solid var(--dl-line)}
.paper-nav-item:last-child{border-bottom:1px solid var(--dl-line)}
.paper-nav-row{display:block}
.paper-nav-link,.paper-parent-toggle,.paper-nav-label{display:flex;width:100%;align-items:center;justify-content:space-between;padding:14px 22px;border:0;background:transparent;color:var(--dl-ink)!important;text-decoration:none;text-align:left;font:500 .96rem/1.25 system-ui,-apple-system,'Segoe UI',sans-serif;cursor:pointer}
.paper-nav-item.is-current>.paper-nav-row>.paper-nav-link{font-weight:700;background:rgba(55,48,38,.08)}
.paper-parent-arrow{display:inline-block;width:0;height:0;margin-left:.8rem;flex:0 0 auto;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--dl-muted)}
.paper-nav-item.submenu-open>.paper-nav-row .paper-parent-arrow{border-top:0;border-bottom:8px solid var(--dl-muted)}
.paper-submenu{display:none}
.paper-nav-item.submenu-open>.paper-submenu{display:block}
.paper-submenu .paper-nav-link,.paper-submenu .paper-parent-toggle,.paper-submenu .paper-nav-label{padding-left:38px;font-size:.9rem}
.paper-menu-toggle{display:none}

/* Breadcrumbs */
.breadcrumbs{margin:0 0 1.5rem;font:500 .78rem/1.4 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--dl-muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.35rem;color:#aaa399}
.breadcrumbs a{color:var(--dl-muted)}

/* Reading Help is available on home and content pages. */
.dl-reading-tools{position:fixed;right:22px;bottom:20px;z-index:90;display:flex;gap:.1rem;align-items:center;padding:.35rem .45rem;border:1px solid var(--dl-line);border-radius:999px;background:rgba(251,250,246,.96);box-shadow:0 6px 22px rgba(55,48,38,.12);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.dl-reading-tools button,.dl-reading-tools a{display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .4rem;border:0;border-radius:999px;background:transparent;color:var(--dl-ink);font:inherit;font-size:.78rem;text-decoration:none;cursor:pointer}
/* Footer */
.paper-footer{margin-left:var(--dl-nav-width);padding:18px 32px;background:var(--dl-bg);border-top:1px solid var(--dl-line);color:var(--dl-muted);font:500 .78rem/1.4 system-ui,-apple-system,'Segoe UI',sans-serif}
.paper-footer-content{max-width:var(--publisher-content-width,820px);margin:auto;display:flex;gap:.55rem;justify-content:center}
.paper-footer a{color:inherit}

/* Media/forms/tables */
.page-media,.page-downloads,.rp-published-form-output{max-width:var(--publisher-content-width,820px);margin:32px auto;background:var(--dl-paper);border:1px solid var(--dl-line);padding:28px}
audio,video{max-width:100%}
table{width:100%;border-collapse:collapse}th,td{padding:.65rem;border:1px solid var(--dl-line);text-align:left}

/* Reading mode changes the reading surface only; it does not turn Default Light into a dark theme. */
html[data-rp-reading-mode="dark"] .dl-article,
html.reading-paper .dl-article,
body.reading-paper .dl-article{background:#f6f2e9;color:var(--dl-ink)}
html[data-rp-reading-mode="dark"] .paper-drawer,
html.reading-paper .paper-drawer,
body.reading-paper .paper-drawer{background:var(--dl-nav)!important;color:var(--dl-ink)!important}


/* Default Light 0.2 — homepage presentation system.
   Normal content pages remain on the frozen Paper layout. */
.dl-home-main{max-width:1180px;padding-top:52px}
.dl-home-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:clamp(32px,6vw,76px);align-items:center;padding:clamp(42px,6vw,76px);background:var(--dl-paper);border:1px solid var(--dl-line);box-shadow:0 8px 30px rgba(55,48,38,.07)}
.dl-home-hero-copy{min-width:0}
.dl-home-kicker{margin:0 0 .9rem;font:650 .72rem/1.2 system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--dl-muted)}
.dl-home-hero h1{margin:0;color:var(--dl-ink);font-size:clamp(2.8rem,6vw,5.7rem);font-weight:500;line-height:.98;letter-spacing:-.035em}
.dl-home-lead{max-width:38rem;margin:1.35rem 0 0;color:#5f584e;font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.55}
.dl-home-hero .dl-reading-time{margin-top:1.4rem;margin-bottom:0}
.dl-home-hero-image{margin:0;min-width:0}
.dl-home-hero-image img{display:block;width:100%;max-width:520px;max-height:420px;margin:0 auto;object-fit:contain}
.dl-home-hero-image figcaption{margin-top:.6rem;text-align:center;font-size:.82rem;color:var(--dl-muted)}
.dl-home-content{margin-top:28px;padding:clamp(28px,4vw,46px);font-size:calc(var(--publisher-text-scale,1.05rem) * var(--rp-reading-scale,1))}
.dl-home-content:empty{display:none}
.dl-home-explore{margin-top:56px}
.dl-home-section-heading{margin:0 0 18px}
.dl-home-section-heading h2{margin:0;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:500;line-height:1.1}
.dl-home-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dl-home-card{position:relative;display:flex;min-height:150px;flex-direction:column;padding:26px 54px 24px 26px;border:1px solid var(--dl-line);background:var(--dl-paper);box-shadow:0 5px 18px rgba(55,48,38,.045);color:var(--dl-ink);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.dl-home-card-title{font-size:1.25rem;font-weight:600;line-height:1.2}
.dl-home-card-summary{margin-top:.7rem;color:var(--dl-muted);font:400 .92rem/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}
.dl-home-card-arrow{position:absolute;right:24px;bottom:22px;font:400 1.2rem/1 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--dl-muted)}
@media(max-width:980px){.dl-home-hero{grid-template-columns:1fr}.dl-home-hero-image img{max-width:420px}.dl-home-card-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dl-home-main{padding-top:72px}.dl-home-hero{padding:30px 22px}.dl-home-hero h1{font-size:clamp(2.5rem,13vw,4.2rem)}.dl-home-content{padding:28px 22px}.dl-home-explore{margin-top:40px}}

html[dir="rtl"] .dl-layout{padding-left:0;padding-right:var(--dl-nav-width)}
html[dir="rtl"] .paper-drawer{left:auto!important;right:0!important;border-right:0!important;border-left:1px solid var(--dl-line)!important}
html[dir="rtl"] .paper-footer{margin-left:0;margin-right:var(--dl-nav-width)}
html[dir="rtl"] .dl-reading-tools{right:auto;left:22px}
html[dir="rtl"] blockquote{border-left:0;border-right:3px solid var(--dl-line);padding-left:0;padding-right:1.2rem}

@media(max-width:760px){
  .dl-layout{padding-left:0}
  .dl-main{padding:72px 16px 76px}
  .dl-article{padding:28px 22px}
  .paper-drawer{transform:translateX(-100%);transition:transform .2s ease;width:min(86vw,320px)!important}
  body.paper-drawer-open .paper-drawer,.paper-drawer.is-open{transform:translateX(0)}
  .paper-menu-toggle{display:flex;position:fixed;top:14px;left:14px;z-index:100;width:42px;height:42px;border:1px solid var(--dl-line);border-radius:50%;background:var(--dl-paper);flex-direction:column;justify-content:center;align-items:center;gap:4px}
  .paper-menu-toggle span{display:block;width:17px;height:1px;background:var(--dl-ink)}
  .paper-footer{margin-left:0}
  .dl-reading-tools{right:10px;bottom:10px}
  html[dir="rtl"] .dl-layout{padding-right:0}
  html[dir="rtl"] .paper-footer{margin-right:0}
}
@media print{
  .paper-drawer,.paper-menu-toggle,.dl-reading-tools,.paper-footer{display:none!important}
  .dl-layout{padding:0}.dl-main{max-width:none;padding:0}.dl-article{border:0;box-shadow:none;padding:0}
}


/* RP 0.9 Theme Capabilities 3.2 — theme-declared Reading Views.
   A Reading View changes the reading environment, never the site's navigation model.
   Paper remains the frozen Default Light presentation. */
/* Focus: calmer content, normal navigation. */
@media(max-width:760px){
}

/* RP 0.9 Metadata: optional public site subtitle. */
.dl-home-site-subtitle{margin:.45rem 0 0;font-size:1.05rem;line-height:1.5;color:var(--dl-muted);max-width:52rem}


/* Shared mobile navigation: topbar uses the same hamburger/drawer as sidebar. */
.dl-top-mobile-drawer-toggle,.dl-top-mobile-drawer{display:none}

/* Theme Features 0.2.1 — Navigation capability */
.dl-body.nav-top .dl-layout{padding-left:0;padding-top:64px}
.dl-topnav{position:fixed;left:0;right:0;top:0;z-index:80;background:rgba(235,231,221,.98);border-bottom:1px solid var(--dl-line);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.dl-topnav-inner{max-width:1200px;margin:0 auto;padding:0 28px}
.dl-topnav-level{list-style:none;margin:0;padding:0}
.dl-topnav>.dl-topnav-inner>.dl-topnav-level{display:flex;align-items:stretch;gap:2px}
.dl-topnav-item{position:relative}
.dl-topnav-item>a,.dl-topnav-item>span{display:inline-flex;align-items:center;padding:21px 14px;color:var(--dl-ink);text-decoration:none;font-size:.9rem;line-height:1.2;white-space:nowrap}
.dl-topnav-arrow{display:inline-block;width:0;height:0;margin-left:.65rem;flex:0 0 auto;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--dl-muted)}
.dl-topnav-item.is-current>a{font-weight:700;background:rgba(55,48,38,.07)}
.dl-topnav-submenu-wrap{display:none;position:absolute;top:100%;left:0;width:var(--dl-submenu-width,240px);background:var(--dl-paper);border:1px solid var(--dl-line);box-shadow:0 12px 30px rgba(55,48,38,.12)}
.dl-topnav-item:hover>.dl-topnav-submenu-wrap,.dl-topnav-item:focus-within>.dl-topnav-submenu-wrap{display:block}
.dl-topnav-submenu-wrap .dl-topnav-item>.dl-topnav-submenu-wrap{top:0;left:100%}
.dl-topnav-submenu-wrap .dl-topnav-item>a,.dl-topnav-submenu-wrap .dl-topnav-item>span{display:flex;width:100%;padding:11px 14px;white-space:nowrap;justify-content:space-between}
@media(max-width:768px){
  .dl-body.nav-top .dl-layout{padding-left:0;padding-top:0}
  .dl-body.nav-top .dl-topnav{display:none}
  .dl-body.nav-top .dl-top-mobile-drawer-toggle{display:flex}
  .dl-body.nav-top .dl-top-mobile-drawer{display:block}
}

/* Theme Features 0.3.1 — Hero capability */
.dl-home-hero-compact{min-height:0!important;padding-top:clamp(28px,5vw,54px)!important;padding-bottom:clamp(24px,4vw,44px)!important}
.dl-home-hero-compact .dl-home-hero-copy{max-width:760px}
.dl-home-hero-compact h1{font-size:clamp(2rem,4.5vw,3.5rem)}

/* Theme Features 0.4.1 — Content layout capability
   Reading keeps the established Default Light measure.
   Wide gives data-heavy/media-heavy pages more horizontal room.
   Compact creates a quieter, book-like reading column. */
.dl-body.width-wide{--publisher-content-width:1100px!important}
.dl-body.width-narrow{--publisher-content-width:680px!important}
.dl-body.width-standard{--publisher-content-width:820px!important}
@media(max-width:768px){
  .dl-body.width-wide,.dl-body.width-narrow,.dl-body.width-standard{--publisher-content-width:100%!important}
}

/* Theme Features 0.5.1 — homepage Explore cards */
.dl-home-card-grid-simple .dl-home-card{
  min-height:0;
  padding:20px 52px 20px 22px;
}
.dl-home-card-grid-simple .dl-home-card-title{
  font-size:1.08rem;
}
.dl-home-card-grid-simple .dl-home-card-arrow{
  right:22px;
  bottom:50%;
  transform:translateY(50%);
}

/* Theme Features 0.5.2 — denser Detailed cards.
   Keep room for real summaries, but avoid large empty panels when only
   a title or relation-count fallback is available. */
.dl-home-card-grid-detailed .dl-home-card{
  min-height:112px;
  padding:24px 58px 22px 28px;
}
.dl-home-card-grid-detailed .dl-home-card-summary{
  margin-top:8px;
}
.dl-home-card-grid-detailed .dl-home-card-arrow{
  right:28px;
  bottom:24px;
}
@media(max-width:768px){
  .dl-home-card-grid-detailed .dl-home-card{
    min-height:0;
    padding:20px 48px 20px 22px;
  }
  .dl-home-card-grid-detailed .dl-home-card-arrow{
    right:22px;
    bottom:20px;
  }
}

/* Theme Features 0.5.3 — clearer card affordance */
.dl-home-card-arrow{
  font-size:1.4rem;
  line-height:1;
}

/* Theme Features 0.5.4 — card indicator */
.dl-home-card-arrow{
  font-size:1rem;
  line-height:1;
}

/* Theme Features 0.6.1 — Related items.
   Data comes from RP's normalized jump relations; the theme only presents it. */
.dl-related{
  width:min(var(--publisher-content-width,820px),calc(100% - 48px));
  margin:34px auto 0;
  padding-top:26px;
  border-top:1px solid var(--dl-border,#d9d5cc);
}
.dl-related-kicker{
  margin:0 0 6px;
  font-family:var(--dl-sans,Arial,sans-serif);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--dl-muted,#756f65);
}
.dl-related h2{
  margin:0 0 18px;
  font-size:1.55rem;
}
.dl-related-links{
  margin:0;
  padding-left:1.25rem;
}
.dl-related-links li{
  margin:.45rem 0;
}
.dl-related-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.dl-related-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:62px;
  padding:16px 20px;
  border:1px solid var(--dl-border,#d9d5cc);
  background:var(--dl-surface,#fff);
  color:inherit;
  text-decoration:none;
  font-family:var(--dl-serif,Georgia,serif);
  font-weight:700;
}
.dl-related-card:hover,
.dl-related-card:focus-visible{
  text-decoration:underline;
}
.dl-related-card-indicator{
  flex:0 0 auto;
  font-family:Arial,sans-serif;
  font-size:1rem;
  color:var(--dl-muted,#756f65);
}
@media(max-width:768px){
  .dl-related{
    width:calc(100% - 32px);
  }
  .dl-related-card-grid{
    grid-template-columns:1fr;
  }
}

/* Theme Features 0.7.4 — footer geometry correction
   Full width without 100vw, so the vertical scrollbar never creates
   horizontal overflow. Footer text follows the same outer content axis
   as the Explore section. */
.paper-footer{
  position:relative;
  width:100%;
  max-width:none;
  margin-top:30px;
  box-sizing:border-box;
  background:transparent;
  border-top:0;
  color:#4f4a43;
}
.paper-footer::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:#ded9cf;
  border-top:1px solid #cbc4b8;
  box-sizing:border-box;
}
.paper-footer-content{
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:10px 0 11px;
  box-sizing:border-box;
  text-align:left;
}
.paper-footer a{color:inherit}
.paper-footer-separator{margin:0 .45rem;opacity:.55}

/* Sticky is flow-based: bottom on genuinely short pages, never fixed. */
body:has(.paper-footer-sticky){
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body:has(.paper-footer-sticky) .paper-footer{margin-top:auto}
@media(max-width:768px){
  .paper-footer-content{width:calc(100% - 32px)}
}

/* Theme Features 0.7.5 — structural footer layout */
.paper-footer{
  margin:0 0 0 var(--dl-nav-width);
  padding:0;
  width:auto;
  background:#ded9cf;
  border-top:1px solid #cbc4b8;
  color:#4f4a43;
  font:500 .78rem/1.35 system-ui,-apple-system,'Segoe UI',sans-serif;
}
.dl-body.nav-top .paper-footer{margin-left:0}
.paper-footer-content{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:9px 48px 10px;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  justify-content:flex-start;
  text-align:left;
}
.paper-footer a{color:inherit}
.paper-footer-separator{margin:0 .15rem;opacity:.55}

body.dl-body.footer-sticky{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body.dl-body.footer-sticky .dl-layout{
  flex:1 0 auto;
  min-height:0;
}
body.dl-body.footer-sticky .paper-footer{
  flex:0 0 auto;
  margin-top:0;
}
@media(max-width:768px){
  .paper-footer,.dl-body.nav-top .paper-footer{margin-left:0}
  .paper-footer-content{padding:9px 16px 10px}
}


/* Theme Features 0.7.6 — horizontal overflow correction
   Keep the topbar page shell and footer within the available inline size.
   This fixes layout width at the source; overflow is not hidden/clipped. */
.dl-body.nav-top,
.dl-body.nav-top .dl-layout,
.dl-body.nav-top .paper-footer{
  width:100%;
  max-width:100%;
  min-width:0;
}
.dl-body.nav-top .dl-layout,
.dl-body.nav-top .paper-footer,
.dl-body.nav-top .paper-footer-content{
  box-sizing:border-box;
}


/* Theme Features 0.7.7 — final horizontal scrollbar guard.
   The layout is already width-constrained; this prevents browser-level
   horizontal scrolling from any remaining sub-pixel/intrinsic overflow. */
html,
body.dl-body{
  max-width:100%;
  overflow-x:hidden;
}


/* Default Light 0.3.22 — genuinely compact homepage header.
   Compact is a page header, not a smaller full hero. */
.dl-home-hero-compact{
  display:block;
  min-height:0!important;
  padding:22px 30px 20px!important;
}
.dl-home-hero-compact .dl-home-hero-copy{
  max-width:none;
}
.dl-home-hero-compact .dl-home-kicker{
  margin:0 0 6px;
  font-size:.68rem;
  letter-spacing:.16em;
}
.dl-home-hero-compact h1{
  margin:0;
  font-size:clamp(1.85rem,3.2vw,2.7rem);
  line-height:1.04;
}
.dl-home-hero-compact .dl-home-site-subtitle{
  margin:.45rem 0 0;
  font-size:.98rem;
}
.dl-home-hero-compact .dl-reading-time{
  margin-top:10px;
  font-size:.68rem;
}
@media(max-width:768px){
  .dl-home-hero-compact{
    padding:18px 20px 17px!important;
  }
  .dl-home-hero-compact h1{
    font-size:clamp(1.7rem,8vw,2.25rem);
  }
}

/* Default Light 0.3.27 — authoritative Reading Aids placement */
.dl-reading-tools,.dl-reading-aids,[data-reading-tools]{
  bottom:auto!important; left:auto!important;
}
@media (min-width:761px){
  .dl-reading-tools,.dl-reading-aids,[data-reading-tools]{
    position:sticky!important;
    top:14px!important; right:14px!important;
    z-index:50!important;
    width:max-content;
    margin:14px 14px 0 auto!important;
  }
}
@media (max-width:760px){
  .dl-reading-tools,.dl-reading-aids,[data-reading-tools]{
    position:absolute!important;
    top:14px!important; right:14px!important;
    bottom:auto!important; left:auto!important;
    z-index:50!important;
    width:max-content;
    margin:0!important;
  }
}


/* TLF 1.0 Reading Aids contract — behaviour/placement owned by TLF. */
.dl-reading-tools{
  position:fixed!important;
  top:72px!important;
  right:22px!important;
  bottom:auto!important;
  left:auto!important;
  z-index:90!important;
  width:max-content;
  margin:0!important;
}
html[dir="rtl"] .dl-reading-tools{
  right:auto!important;
  left:22px!important;
}
@media (max-width:760px){
  .dl-reading-tools{
    position:fixed!important;
    top:14px!important;
    right:10px!important;
    bottom:auto!important;
    left:auto!important;
    z-index:100!important;
    max-width:calc(100vw - 72px);
    margin:0!important;
  }
  html[dir="rtl"] .dl-reading-tools{
    right:auto!important;
    left:10px!important;
  }
}


/* Default Light 0.3.28 — Typography capability.
   Curated local/system stacks: no external font requests, no privacy dependency.
   Reading Aids continue to own visitor-controlled scale and line height. */
.dl-body.typography-classic{
  --dl-font-body:Georgia,'Times New Roman',serif;
  --dl-font-heading:Georgia,'Times New Roman',serif;
  --dl-heading-weight:500;
  --dl-heading-tracking:normal;
}
.dl-body.typography-humanist{
  --dl-font-body:'Segoe UI',Candara,'Trebuchet MS',Arial,sans-serif;
  --dl-font-heading:Georgia,'Times New Roman',serif;
  --dl-heading-weight:500;
  --dl-heading-tracking:normal;
}
.dl-body.typography-modern{
  --dl-font-body:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --dl-font-heading:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --dl-heading-weight:650;
  --dl-heading-tracking:-.025em;
}
.dl-body.typography-classic,
.dl-body.typography-humanist,
.dl-body.typography-modern{
  font-family:var(--dl-font-body);
}
.dl-body.typography-classic .dl-article,
.dl-body.typography-humanist .dl-article,
.dl-body.typography-modern .dl-article,
.dl-body.typography-classic .dl-home-content,
.dl-body.typography-humanist .dl-home-content,
.dl-body.typography-modern .dl-home-content{
  font-family:var(--dl-font-body);
}
.dl-body.typography-classic h1,
.dl-body.typography-classic h2,
.dl-body.typography-classic h3,
.dl-body.typography-humanist h1,
.dl-body.typography-humanist h2,
.dl-body.typography-humanist h3,
.dl-body.typography-modern h1,
.dl-body.typography-modern h2,
.dl-body.typography-modern h3{
  font-family:var(--dl-font-heading);
  font-weight:var(--dl-heading-weight);
  letter-spacing:var(--dl-heading-tracking);
}
/* Navigation, metadata and controls deliberately stay UI/sans for clarity. */
.dl-nav,.dl-topbar,.dl-reading-time,.dl-home-kicker,.dl-reading-tools{
  font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
}


/* Default Light 0.3.29 — Colors & Links capability.
   Palettes are coordinated sets, not isolated accent swaps. */
.dl-body.palette-warm-paper{
  --dl-bg:#f4f1e9; --dl-paper:#fbfaf6; --dl-nav:#ebe7dd;
  --dl-ink:#2d2923; --dl-muted:#756e64; --dl-line:rgba(55,48,38,.16);
  --dl-accent:#665c4d; --dl-link:#4d5f73; --dl-link-visited:#6d5875;
}
.dl-body.palette-cool-neutral{
  --dl-bg:#eef1f3; --dl-paper:#fafbfc; --dl-nav:#e2e7ea;
  --dl-ink:#252b30; --dl-muted:#68727a; --dl-line:rgba(37,43,48,.16);
  --dl-accent:#566873; --dl-link:#315f7a; --dl-link-visited:#665777;
}
.dl-body.palette-soft-blue{
  --dl-bg:#edf3f7; --dl-paper:#fbfdfe; --dl-nav:#dfeaf1;
  --dl-ink:#23313a; --dl-muted:#61717b; --dl-line:rgba(35,49,58,.15);
  --dl-accent:#4d7187; --dl-link:#245f82; --dl-link-visited:#655b83;
}
.dl-body.palette-high-contrast{
  --dl-bg:#ffffff; --dl-paper:#ffffff; --dl-nav:#f0f0f0;
  --dl-ink:#111111; --dl-muted:#4a4a4a; --dl-line:rgba(0,0,0,.28);
  --dl-accent:#222222; --dl-link:#004f9e; --dl-link-visited:#5d3675;
}

/* Reading-content links: clear defaults, with visible keyboard focus in every mode. */
.dl-article a,
.dl-home-content a{
  color:var(--dl-link);
  text-decoration-color:currentColor;
  text-underline-offset:.18em;
  text-decoration-thickness:.08em;
}
.dl-article a:visited,
.dl-home-content a:visited{color:var(--dl-link-visited)}
.dl-body.links-underlined .dl-article a,
.dl-body.links-underlined .dl-home-content a{
  text-decoration-line:underline;
}
.dl-body.links-subtle .dl-article a,
.dl-body.links-subtle .dl-home-content a{
  text-decoration-line:none;
  border-bottom:1px solid color-mix(in srgb,currentColor 42%,transparent);
}
.dl-body.links-subtle .dl-article a:hover,
.dl-body.links-subtle .dl-home-content a:hover{
  border-bottom-color:currentColor;
}
.dl-body.links-minimal .dl-article a,
.dl-body.links-minimal .dl-home-content a{
  text-decoration-line:none;
  border-bottom:0;
}
.dl-body.links-minimal .dl-article a:hover,
.dl-body.links-minimal .dl-home-content a:hover{
  text-decoration-line:underline;
}
.dl-article a:hover,
.dl-home-content a:hover{
  text-decoration-line:underline;
}
.dl-article a:focus-visible,
.dl-home-content a:focus-visible{
  outline:3px solid var(--dl-link);
  outline-offset:3px;
  border-radius:2px;
}


/* Default Light 0.3.30 — Layout capability.
   Width reuses the already-tested compact/reading/wide contract.
   Spacing and panel treatment are intentionally preset-based for ordinary users. */

/* Spacing */
.dl-body.spacing-compact{
  --dl-space-main-y:42px;
  --dl-space-main-x:38px;
  --dl-space-panel:clamp(24px,4vw,44px);
  --dl-space-section:28px;
  --dl-space-card:16px;
}
.dl-body.spacing-comfortable{
  --dl-space-main-y:64px;
  --dl-space-main-x:48px;
  --dl-space-panel:clamp(32px,5vw,64px);
  --dl-space-section:40px;
  --dl-space-card:22px;
}
.dl-body.spacing-spacious{
  --dl-space-main-y:82px;
  --dl-space-main-x:58px;
  --dl-space-panel:clamp(42px,6vw,78px);
  --dl-space-section:54px;
  --dl-space-card:28px;
}
.dl-body.spacing-compact .dl-main,
.dl-body.spacing-comfortable .dl-main,
.dl-body.spacing-spacious .dl-main{
  padding-top:var(--dl-space-main-y);
  padding-right:var(--dl-space-main-x);
  padding-bottom:calc(var(--dl-space-main-y) + 26px);
  padding-left:var(--dl-space-main-x);
}
.dl-body.spacing-compact .dl-article,
.dl-body.spacing-comfortable .dl-article,
.dl-body.spacing-spacious .dl-article{
  padding:var(--dl-space-panel);
}
.dl-body.spacing-compact .dl-home-content,
.dl-body.spacing-comfortable .dl-home-content,
.dl-body.spacing-spacious .dl-home-content{
  padding:var(--dl-space-panel);
}
.dl-body.spacing-compact .dl-home-explore,
.dl-body.spacing-comfortable .dl-home-explore,
.dl-body.spacing-spacious .dl-home-explore{
  margin-top:var(--dl-space-section);
}
.dl-body.spacing-compact .dl-home-card,
.dl-body.spacing-comfortable .dl-home-card,
.dl-body.spacing-spacious .dl-home-card{
  padding:var(--dl-space-card);
}

/* Panel treatment */
.dl-body.panels-flat .dl-article,
.dl-body.panels-flat .dl-home-content,
.dl-body.panels-flat .dl-home-card{
  border-color:transparent;
  box-shadow:none;
}
.dl-body.panels-bordered .dl-article,
.dl-body.panels-bordered .dl-home-content,
.dl-body.panels-bordered .dl-home-card{
  border:1px solid var(--dl-line);
  box-shadow:none;
}
.dl-body.panels-soft .dl-article,
.dl-body.panels-soft .dl-home-content,
.dl-body.panels-soft .dl-home-card{
  border:1px solid color-mix(in srgb,var(--dl-line) 72%,transparent);
  box-shadow:0 10px 28px rgba(35,43,48,.08);
}

@media(max-width:768px){
  .dl-body.spacing-compact,
  .dl-body.spacing-comfortable,
  .dl-body.spacing-spacious{
    --dl-space-main-y:28px;
    --dl-space-main-x:16px;
    --dl-space-panel:22px;
    --dl-space-section:28px;
    --dl-space-card:18px;
  }
}


/* TLF adaptive top navigation 0.3.31
   Horizontal navigation when it fits; explicit hamburger + overlay drawer
   when it does not. The overflow state works independently of mobile CSS. */

.dl-body.nav-top.dl-topnav-overflow .dl-topnav{
  display:none!important;
}
.dl-body.nav-top.dl-topnav-overflow .dl-layout{
  padding-left:0!important;
  padding-top:64px!important;
}

/* A real desktop overflow button, not the tiny inherited mobile control. */
.dl-body.nav-top.dl-topnav-overflow .paper-menu-toggle{
  display:flex!important;
  position:fixed!important;
  top:12px!important;
  left:18px!important;
  width:44px!important;
  height:40px!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--dl-line,#cfc9be)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--dl-ink,#211f1b)!important;
  box-shadow:0 4px 16px rgba(30,30,30,.10)!important;
  z-index:110!important;
  cursor:pointer!important;
  opacity:1!important;
}

/* Draw the hamburger ourselves so inherited icon markup cannot collapse. */
.dl-body.nav-top.dl-topnav-overflow .paper-menu-toggle::before{
  content:"☰";
  display:block;
  font:400 24px/1 Arial,sans-serif;
  color:var(--dl-ink,#211f1b);
}
.dl-body.nav-top.dl-topnav-overflow .paper-menu-toggle > *{
  display:none!important;
}

/* Overflow drawer: always off-canvas until explicitly opened. */
.dl-body.nav-top.dl-topnav-overflow .paper-drawer{
  display:block!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:min(340px,88vw)!important;
  transform:translateX(-105%)!important;
  transition:transform .18s ease!important;
  z-index:105!important;
  box-shadow:8px 0 30px rgba(20,20,20,.14)!important;
}
.dl-body.nav-top.dl-topnav-overflow .paper-drawer.is-open{
  transform:translateX(0)!important;
}

/* Dim, but never move or crop, the page behind an open overlay drawer. */
.dl-body.nav-top.dl-topnav-overflow.paper-drawer-open::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:100;
  background:rgba(20,24,28,.20);
}
.dl-body.nav-top.dl-topnav-overflow.paper-drawer-open .paper-drawer,
.dl-body.nav-top.dl-topnav-overflow.paper-drawer-open .paper-menu-toggle{
  z-index:105!important;
}

/* Keep the collapsed-items action readable. */
.dl-body.nav-top .paper-drawer button,
.dl-body.nav-top .paper-drawer [role="button"]{
  opacity:1;
}
.dl-body.nav-top .paper-drawer [data-bwp-nav-more],
.dl-body.nav-top .paper-drawer .paper-nav-more,
.dl-body.nav-top .paper-drawer .nav-more{
  color:var(--dl-ink,#211f1b)!important;
  opacity:.72!important;
}

/* Small screens use the same explicit drawer behaviour. */
@media(max-width:768px){
  .dl-body.nav-top .paper-menu-toggle{
    display:flex!important;
  }
  .dl-body.nav-top .paper-drawer{
    transform:translateX(-105%)!important;
  }
  .dl-body.nav-top .paper-drawer.is-open{
    transform:translateX(0)!important;
  }
}


/* TLF adaptive navigation — keep reading aids aligned with the overflow
   hamburger rather than inheriting the content's 64px top offset. */
.dl-body.nav-top.dl-topnav-overflow .reading-tools,
.dl-body.nav-top.dl-topnav-overflow .reading-aids,
.dl-body.nav-top.dl-topnav-overflow .dl-reading-tools,
.dl-body.nav-top.dl-topnav-overflow [data-reading-tools]{
  position:fixed!important;
  top:12px!important;
  right:24px!important;
  z-index:80!important;
}

/* Default Light 0.3.23 — Tables & code containment.
   Wide technical content may scroll locally, but must never widen the page. */
.dl-article{
  min-width:0;
  max-width:100%;
}

/* Keep table overflow inside the article instead of the browser viewport. */
.dl-article table{
  display:block;
  width:max-content;
  min-width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

/* Preserve code whitespace and long technical strings; scroll them locally. */
.dl-article pre{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:pre;
  -webkit-overflow-scrolling:touch;
}

/* Inline code should not force the article or page wider. Long tokens remain
   intact and become locally scrollable rather than being arbitrarily broken. */
.dl-article :not(pre) > code{
  display:inline-block;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  vertical-align:bottom;
}

/* Parent pages: title navigates, arrow independently expands the submenu. */
.paper-nav-row{display:flex;align-items:stretch}
.paper-nav-row>.paper-nav-link{flex:1;min-width:0;width:auto}
.paper-nav-row>.paper-nav-link+.paper-parent-toggle{flex:0 0 48px;width:48px;justify-content:center;padding:14px 12px}
.paper-nav-row>.paper-nav-link+.paper-parent-toggle .paper-parent-arrow{margin-left:0}
