:root[data-font-scale="large"] .public-body,
.public-body.font-scale-large{
  --public-font-size:19px;
}

:root[data-font-scale="x-large"] .public-body,
.public-body.font-scale-x-large{
  --public-font-size:21px;
}

.public-body.high-contrast{
  background:#ffffff;
  color:#071f18;
}

.public-body.high-contrast .panel,
.public-body.high-contrast .public-today-card,
.public-body.high-contrast .public-hero-copy,
.public-body.high-contrast .public-glossary-example,
.public-body.high-contrast .public-plan-note,
.public-body.high-contrast .public-today-reading{
  background:#ffffff;
  border-color:#0b3f2d;
  box-shadow:none;
}

.public-body.high-contrast .muted,
.public-body.high-contrast .field-note,
.public-body.high-contrast .public-card-note,
.public-body.high-contrast .public-today-reading small{
  color:#10392c;
}

.public-body.high-contrast .btn-soft{
  background:#ffffff;
  color:#0b3f2d;
  border-color:#0b3f2d;
}

.public-body.high-contrast .btn-primary{
  background:#0b3f2d;
  border-color:#0b3f2d;
}

.public-body.high-contrast .btn-gold{
  background:#d4a423;
  color:#251701;
  border-color:#7e5c0e;
}

.public-body.reduce-motion *,
.public-body.reduce-motion *::before,
.public-body.reduce-motion *::after{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}

@media (prefers-reduced-motion: reduce){
  .public-body * ,
  .public-body *::before,
  .public-body *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

.accessibility-shell{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1200;
}

.accessibility-shell[aria-hidden="false"]{
  pointer-events:auto;
}

.accessibility-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,34,24,.48);
  opacity:0;
  transition:opacity .2s ease;
}

.accessibility-dialog{
  position:absolute;
  right:18px;
  top:88px;
  width:min(420px, calc(100vw - 24px));
  border-radius:24px;
  padding:22px;
  background:#fffef8;
  border:1px solid rgba(203,183,124,.58);
  box-shadow:0 24px 60px rgba(12,57,40,.16);
  transform:translateY(-14px);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
}

.accessibility-shell[aria-hidden="false"] .accessibility-backdrop{
  opacity:1;
}

.accessibility-shell[aria-hidden="false"] .accessibility-dialog{
  transform:translateY(0);
  opacity:1;
}

.accessibility-header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.accessibility-group{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.segmented-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.segmented-actions .btn.is-active{
  background:linear-gradient(180deg,var(--green),var(--green-2));
  color:#fff;
  border-color:transparent;
}

@media (max-width: 760px){
  .accessibility-dialog{
    left:12px;
    right:12px;
    top:auto;
    bottom:12px;
    width:auto;
  }
}
