.light-open {
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}
.light-open:hover,
.light-open:focus-visible { color: var(--accent); text-decoration: underline; }

.light-drawer {
  position: fixed;
  z-index: 1100;
  top: 0;
  left: 0;
  width: min(88vw, 430px);
  height: 100dvh;
  padding: 20px 18px 24px;
  overflow-y: auto;
  background: #fbfbf8;
  border-right: 1px solid var(--line);
  box-shadow: 18px 0 50px rgba(32, 40, 46, .16);
  transform: translateX(-103%);
  transition: transform .22s ease-out;
  overscroll-behavior: contain;
}
.light-drawer.is-open { transform: translateX(0); }
.light-drawer-open { overflow: hidden; }

.light-drawer-head {
  flex-direction: row;
  justify-content: flex-start;
}
.light-drawer-head > div { order: 2; }
.light-close {
  order: 1;
  margin: -4px 2px 0 -5px;
}
.light-kicker {
  color: #6d7654;
  font-size: .66rem;
  font-weight: 780;
  letter-spacing: .13em;
}
.light-hint { text-align: left; }
.light-content { min-height: 180px; }
.light-story {
  max-width: none;
  padding: 16px 0 22px;
  border-top: 0;
}
.light-story h3 {
  font-size: 1.3rem;
  line-height: 1.28;
}
.light-story .summary { line-height: 1.56; }
.light-empty {
  margin-top: 18px;
  padding: 14px 15px;
  border-left: 3px solid #8b9471;
  border-radius: 7px;
  background: #f5f6ee;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.5;
}
.light-empty strong { color: var(--text); }
.light-empty p { margin: 5px 0 0; }

@media (max-width: 600px) {
  .light-open {
    position: fixed;
    z-index: 900;
    top: 82px;
    left: 0;
    padding: 5px 7px 6px;
    border: 1px solid var(--line);
    border-left: 0;
    border-radius: 0 7px 7px 0;
    background: rgba(251, 251, 248, .96);
    box-shadow: 2px 2px 10px rgba(32, 40, 46, .06);
    font-size: .72rem;
    text-decoration: none;
  }
  .light-drawer-open .light-open { visibility: hidden; }
  .light-drawer { width: min(90vw, 410px); padding: 18px 15px 22px; }
  .feel-good-section { display: none; }
}

@media (min-width: 701px) {
  .light-drawer { width: 410px; }
}

@media (prefers-reduced-motion: reduce) {
  .light-drawer { transition: none; }
}
