.daily-story-page { background: #f5f8f7; color: #213c38; }
.daily-story-page .app-shell { max-width: 1160px; }
.story-heading { padding: 24px 0; }
.story-heading h1 { font-size: 32px; margin: 12px 0; }
.daily-story-page .rewards-status { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.daily-story-page #panel-retry { padding: 8px 14px; border: 1px solid #78978c; border-radius: 4px; background: #fff; color: #23483e; cursor: pointer; }
.story-theme { display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: center; gap: 28px; padding: 24px 0; border-top: 3px solid #278468; border-bottom: 1px solid #bfd7ce; }
.story-theme h2 { font-size: 28px; line-height: 1.25; margin: 12px 0; overflow-wrap: anywhere; }
.story-theme p { line-height: 1.6; }
.story-theme img { width: 100%; height: auto; }
#story-date, #story-completion { font-weight: 700; color: #28644f; }
.story-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 40px; padding: 28px 0; }
.story-workspace > * { min-width: 0; }
.story-section-heading { display: flex; align-items: baseline; gap: 16px; justify-content: space-between; flex-wrap: wrap; }
.story-section-heading h2, .story-coach h2 { font-size: 22px; }
#story-count { font-size: 14px; font-variant-numeric: tabular-nums; }
#story-audience { font-size: 14px; line-height: 1.6; }
.daily-story-page .field { display: grid; gap: 8px; margin: 16px 0; }
.daily-story-page input:not([type=checkbox]), .daily-story-page textarea { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; background: #fff; color: #213c38; border: 1px solid #8ba69c; border-radius: 4px; padding: 12px; font: inherit; }
.daily-story-page textarea { resize: vertical; line-height: 1.7; }
.daily-story-page textarea[readonly], .daily-story-page input[readonly] { background: #f0f4f3; }
.daily-story-page :focus-visible { outline: 3px solid #bd573e; outline-offset: 3px; }
.story-plan { border-block: 1px solid #cfddd7; padding: 12px 0; }
.daily-story-page summary { cursor: pointer; font-weight: 700; line-height: 1.5; }
.story-review { display: flex; align-items: flex-start; gap: 10px; line-height: 1.6; margin: 18px 0; }
.story-review input { flex: 0 0 20px; width: 20px; height: 20px; accent-color: #287759; }
.story-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.daily-story-page .story-actions .primary-action { width: auto; margin: 0; }
.daily-story-page button { white-space: normal; max-width: 100%; }
.daily-story-page button:disabled { opacity: .55; cursor: not-allowed; }
.story-coach { border-left: 1px solid #bfd7ce; padding-left: 24px; }
.story-coach h3 { font-size: 17px; color: #914732; margin-top: 24px; }
.story-coach p { font-size: 15px; line-height: 1.7; }
.story-standard { border-top: 2px solid #7bafd1; padding-top: 16px; }
.story-archive { padding: 28px 0; border-top: 1px solid #bfd7ce; }
.story-archive details { padding: 16px 0; border-bottom: 1px solid #cfddd7; }
.story-prose { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; }
.daily-story-page [hidden] { display: none !important; }
@media (max-width: 760px) {
    .story-workspace { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .story-theme { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .story-theme img { width: 340px; max-width: 100%; }
    .story-theme h2 { font-size: 24px; }
    .story-coach { border-left: 0; border-top: 1px solid #bfd7ce; padding: 16px 0 0; }
}
@media print {
    .app-header, .app-footer, .story-heading, .story-coach, .story-archive, .story-actions, .story-review, #story-audience, #story-print, #story-message, #story-conflict, .story-plan, .story-theme img, #story-count, #story-completion { display: none !important; }
    .daily-story-page, .daily-story-page .app-shell { background: #fff; color: #000; max-width: none; padding: 0; }
    .story-theme, .story-workspace { display: block; border: 0; padding: 8px 0; }
    #story-form > .field { display: none; }
    #story-print-copy { display: block !important; }
}
