.feedback-notice {
  margin: 1rem 0 1.5rem;
  padding: 1rem;
  border-left: 5px solid #157878;
  border-radius: 8px;
  background: #f1f8f7;
  color: #274850;
}
.daily-feedback { display: grid; gap: 1rem; margin: 1rem 0 1.5rem; }
.feedback-story { padding: 1rem; border: 1px solid #d8e1e7; border-radius: 12px; background: #fff; box-shadow: 0 2px 10px rgba(23, 55, 75, .06); }
.feedback-story h2 { margin: .25rem 0 .8rem; font-size: 1.15rem; }
.feedback-story-meta { margin: 0; color: #536773; font-size: .88rem; font-weight: 700; }
.story-feedback { margin-top: .8rem; }
.story-feedback-compact { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem .65rem; padding: .55rem .7rem; border: 1px solid #d8e1e7; border-radius: 10px; background: #f8fbfb; }
.feedback-prompt { color: #355d64; font-size: .84rem; font-weight: 700; white-space: nowrap; }
.feedback-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.story-feedback-compact .feedback-buttons { display: flex; flex-wrap: wrap; gap: .35rem; }
.feedback-buttons button, .feedback-share { min-height: 44px; border: 1px solid #157878; border-radius: 8px; background: #fff; color: #126a6a; cursor: pointer; font: inherit; font-weight: 700; padding: .55rem .7rem; }
.story-feedback-compact .feedback-buttons button { min-height: 40px; border-radius: 999px; font-size: .78rem; padding: .35rem .65rem; }
.feedback-buttons button:hover, .feedback-buttons button:focus-visible, .feedback-share:hover, .feedback-share:focus-visible { background: #e7f4f2; outline: 3px solid rgba(21, 120, 120, .22); outline-offset: 2px; }
.feedback-buttons button[aria-pressed="true"] { background: #157878; color: #fff; }
.feedback-buttons button:disabled { cursor: default; opacity: .72; }
.feedback-status { min-height: 1.4em; margin: .6rem 0 0; color: #35616a; font-weight: 700; }
.story-feedback-compact .feedback-status { flex-basis: 100%; min-height: 0; margin: 0; font-size: .78rem; }
@media (max-width: 640px) { .feedback-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); } .story-feedback-compact { align-items: stretch; } .story-feedback-compact .feedback-buttons { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* Reader-media integrity: show each complete 1200×630 story diagram. */
main.main-content img,
main#content img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible;
}

.story-feedback-compact.star-feedback{background:#fff;padding:1rem;border-color:#dbe3e8;gap:.45rem .8rem}
.star-feedback .feedback-prompt{font-size:1rem;color:#213547}
.story-feedback-compact.star-feedback .feedback-buttons{display:flex;flex-wrap:nowrap;width:auto;gap:0}
.star-feedback .feedback-buttons button{font-size:2rem;line-height:1;min-width:44px;min-height:44px;padding:.25rem;border:1px solid transparent;border-radius:5px;color:#765000;background:transparent}
.star-feedback .feedback-buttons button:hover,.star-feedback .feedback-buttons button[aria-pressed="true"]{color:#513700;background:#fff5da}
.star-feedback .feedback-buttons button:disabled{opacity:1}
.star-feedback .feedback-buttons button:focus-visible,.rating-guide summary:focus-visible{outline:3px solid #1260b0;outline-offset:3px}
.feedback-privacy{flex-basis:100%;font-size:.875rem;color:#4b5e6b}
.rating-guide{flex-basis:100%;font-size:.875rem;color:#4b5e6b}
.rating-guide summary{cursor:pointer;width:fit-content}
.rating-guide p{margin:.5rem 0}
.rating-guide ol{margin:.4rem 0;padding-left:1.4rem}
.story-feedback-compact.star-feedback .feedback-status{font-size:.9rem;white-space:pre-line;line-height:1.6;color:#254e56}
.comment-open{margin-left:auto;font:inherit;padding:.45rem .7rem;border:1px solid #3775a0;border-radius:.35rem;background:#fff;color:#164a70}
.comment-dialog{max-width:36rem;width:calc(100% - 2rem);padding:1.5rem;border:1px solid #b8c9d8;border-radius:.6rem;color:#16324a}
.comment-dialog::backdrop{background:rgb(0 20 40 / .5)}
.comment-dialog textarea{display:block;width:100%;font:inherit;margin:.75rem 0;box-sizing:border-box}
.comment-dialog button,.subscription-card button,.subscription-card input{font:inherit;padding:.5rem .7rem}
.subscription-card{padding:1.25rem;border:1px solid #c7d6e2;border-radius:.5rem;margin:2rem 0}
@media(max-width:600px){.comment-open{margin-left:0;flex-basis:100%}.subscription-card input{max-width:100%;box-sizing:border-box}}

.rss-dialog{box-sizing:border-box;width:min(36rem,calc(100% - 2rem));max-height:85vh;overflow:auto;border:1px solid #b7cad6;border-radius:.7rem;padding:1.5rem;color:#17334c;background:white;font:inherit}
.rss-dialog::backdrop{background:rgba(10,30,48,.55)}
.rss-dialog li{margin-bottom:1rem}.rss-dialog h2{margin-top:0}.rss-address{display:block;box-sizing:border-box;width:100%;padding:.65rem;font:inherit;margin:.5rem 0;color:#17334c;background:#f3f7fa;border:1px solid #b7cad6}
.rss-actions{display:flex;flex-wrap:wrap;gap:.75rem}.rss-dialog button,.rss-copy,.rss-help-open{font:inherit;padding:.55rem .8rem;cursor:pointer}.rss-dialog :focus-visible,.rss-copy:focus-visible,.rss-help-open:focus-visible{outline:3px solid #1260b0;outline-offset:3px}

#subscribe{scroll-margin-top:1.5rem}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

.calendar-actions{display:flex;flex-wrap:wrap;gap:.75rem}.calendar-actions a{display:inline-block;border:1px solid #157878;border-radius:.35rem;padding:.65rem .85rem;font-size:1rem}.calendar-actions a[hidden]{display:none}.calendar-reminder input{font:inherit;min-height:44px;max-width:100%;padding:.4rem}.calendar-note{font-size:.95rem}.calendar-reminder :focus-visible{outline:3px solid #1260b0;outline-offset:3px}.main-content details{margin:1rem 0;padding:.75rem;border:1px solid #c7d6e2;border-radius:.35rem}.main-content summary{cursor:pointer;font-weight:700;min-height:44px}
.calendar-period{margin:1rem 0}.calendar-period input{width:6rem}.calendar-period select{font:inherit;min-height:44px;padding:.4rem;max-width:100%}.calendar-period p{font-size:.95rem}.calendar-period label{margin-right:.4rem}
.calendar-period .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
