.f15-manga-press-page {
  --f15-ink: #26333b;
  --f15-muted: #5e6970;
  --f15-coral: #f46f61;
  --f15-coral-dark: #c94c43;
  --f15-sun: #ffe889;
  --f15-sky: #dff4ff;
  --f15-pink: #ffe4ec;
  --f15-mint: #daf4e7;
  --f15-cream: #fffaf0;
  color: var(--f15-ink);
  background: #fffdf8;
  line-break: strict;
}
.f15-manga-press-page .f15-page-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 6% 8%, rgba(255,232,137,.95) 0 8rem, transparent 8.1rem),
    radial-gradient(circle at 92% 18%, rgba(255,206,221,.75) 0 12rem, transparent 12.1rem),
    linear-gradient(135deg, #fffdf7 0%, #eef9ff 56%, #fff7ea 100%);
}
.f15-manga-press-page .f15-page-hero__inner { position: relative; }
.f15-manga-press-page .page-title { max-width: 13em; color: var(--f15-ink); }
.f15-manga-press-page .page-hero__summary { max-width: 41em; color: #3e4b52; text-align: start; }
.f15-manga-press-page .button--red {
  border-color: var(--f15-coral);
  background: var(--f15-coral);
  color: #fff;
  box-shadow: 0 .65rem 1.6rem rgba(244,111,97,.22);
}
.f15-manga-press-page .button--red:hover { border-color: var(--f15-coral-dark); background: var(--f15-coral-dark); color: #fff; }
.f15-manga-press-page .button--sun { border: 1px solid #d6aa29; background: var(--f15-sun); color: #49390c; }
.f15-manga-press-page .button--sun:hover { border-color: #b88a13; background: #ffde58; color: #332700; }

.f15-story-intro { padding: clamp(3.5rem, 8vw, 7rem) 0; background: var(--f15-cream); }
.f15-story-intro__grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.f15-story-intro__cover { margin: 0; border: 10px solid #fff; border-radius: 1.25rem; box-shadow: 0 1.4rem 3.4rem rgba(56,78,88,.16); transform: rotate(-.7deg); }
.f15-story-intro__cover img { display: block; width: 100%; height: auto; border-radius: .65rem; }
.f15-story-intro__body { text-align: start; }
.f15-story-intro__body .eyebrow, .f15-afterword .eyebrow, .f15-details .eyebrow, .f15-share .eyebrow { color: #27728f; }
.f15-story-intro__body h2 { margin: .3rem 0 1rem; color: var(--f15-ink); font-family: var(--font-serif, serif); font-size: clamp(2.25rem, 5.4vw, 4.8rem); line-height: 1.15; }
.f15-story-intro__lead { color: #45545c; font-size: clamp(1.03rem, 2vw, 1.28rem); line-height: 1.95; }
.f15-story-intro__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: 2rem 0; }
.f15-story-intro__facts div { padding: 1rem; border: 1px solid #d6e8ee; border-radius: .85rem; background: #fff; }
.f15-story-intro__facts div:nth-child(2) { background: #fff8d9; border-color: #f0dc85; }
.f15-story-intro__facts div:nth-child(3) { background: #ecf9ff; }
.f15-story-intro__facts dt { color: #39738a; font-size: .8rem; font-weight: 800; }
.f15-story-intro__facts dd { margin: .35rem 0 0; font-weight: 800; }
.f15-story-intro__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.f15-link-note { margin: .7rem 0 0; color: var(--f15-muted); font-size: .78rem; }
.f15-reader-notice { margin: 0; padding: 1.8rem max(1.25rem, calc((100vw - 1120px) / 2)); background: linear-gradient(90deg, #fff0a9, #fff8d6 50%, #eaf8ff); border-block: 1px solid #ead68a; text-align: start; line-height: 1.8; }
.f15-reader-notice strong { color: #8b5912; }

.f15-manga-press-page .manga-reader { background: linear-gradient(180deg, #eff9ff, #fffdf7 12rem, #f7fbfd); }
.f15-manga-press-page .manga-page { filter: drop-shadow(0 1rem 1.7rem rgba(49,66,74,.11)); }
.f15-manga-press-page .manga-page__meta, .f15-manga-press-page .manga-mobile-page > .manga-page__meta { color: #65747c; }
.f15-manga-press-page .reader-toolbar--dock { border-color: #cae3ed; background: rgba(255,253,248,.97); }
.f15-manga-press-page .reader-progress span { background: linear-gradient(90deg, #f46f61, #ffcc57, #52b7dd); }
.f15-manga-press-page .manga-panel__artboard { position: relative; width: 100%; overflow: visible; background: #fff; container-type: inline-size; }
.f15-manga-press-page .manga-panel__artboard > img { display: block; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.f15-manga-press-page .manga-page__letter--creator-pro { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 0; padding: max(3px, .3cqw) max(4px, .34cqw); overflow: visible; border: 0; border-radius: 0; background: transparent; color: #171717; font-family: "Noto Serif JP", "Yu Mincho", YuMincho, serif; font-weight: 650; line-height: 1.16; letter-spacing: .015em; text-align: center; white-space: pre-line; overflow-wrap: normal; word-break: keep-all; user-select: text; }
.f15-manga-press-page .manga-page__letter--creator-pro .manga-letter__text { position: relative; z-index: 2; display: block; width: 100%; max-height: 100%; white-space: pre-line; paint-order: stroke fill; -webkit-text-stroke: .028em #fff; user-select: text; }
.f15-manga-press-page .manga-page__balloon-art { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.f15-manga-press-page .manga-page__letter--role-caption { justify-content: flex-start; padding: max(3px,.28cqw) max(5px,.45cqw); border: 1px solid rgba(49,45,39,.62); border-left: max(3px,.36cqw) solid #312d27; border-radius: 2px; background: rgba(255,253,247,.97); font-weight: 700; line-height: 1.22; text-align: left; }
.f15-manga-press-page .manga-page__letter--role-internal { padding: max(3px,.25cqw) max(5px,.42cqw); border-block: 1px solid rgba(73,68,59,.42); background: rgba(255,253,247,.86); color: #49433b; font-weight: 550; line-height: 1.24; }
.f15-manga-press-page .manga-page__letter--role-embedded { padding: max(2px,.12cqw) max(3px,.24cqw); background: transparent; color: #171717; font-family: "Noto Sans JP", "Yu Gothic", sans-serif; font-weight: 900; line-height: 1.05; }
.f15-manga-press-page .manga-page__letter--source-message { padding: max(5px,.38cqw) max(7px,.52cqw); border: 2px solid #5b5f61; border-radius: max(8px,.8cqw); background: rgba(255,255,255,.97); font-weight: 800; line-height: 1.15; box-shadow: 0 .15cqw .45cqw rgba(0,0,0,.08); }
.f15-manga-press-page .manga-page__letter--source-title .manga-letter__text { -webkit-text-stroke: .14em #fff; font-family: "Noto Serif JP", "Yu Mincho", serif; font-weight: 700; letter-spacing: .035em; }
.f15-manga-press-page .manga-page__letter--source-subtitle .manga-letter__text { -webkit-text-stroke: .11em #fff; font-weight: 800; letter-spacing: .04em; }
.f15-manga-press-page .manga-page__letter--source-sfx { transform: rotate(-7deg); }
.f15-manga-press-page .manga-page__letter--source-sfx .manga-letter__text { -webkit-text-stroke: .14em #fff; font-weight: 900; }

.f15-afterword { padding: clamp(4rem, 9vw, 8rem) 0; background: linear-gradient(145deg, #fff5f8, #fffaf0 58%, #eefaff); }
.f15-afterword__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.f15-afterword h2, .f15-details h2, .f15-share h2 { color: var(--f15-ink); font-family: var(--font-serif, serif); font-size: clamp(2rem, 4.5vw, 3.8rem); line-height: 1.25; }
.f15-afterword__copy { color: #48565d; font-size: 1.08rem; line-height: 2; text-align: start; }
.f15-afterword__cta { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #f1c6d1; border-radius: 1.2rem; background: #fff; box-shadow: 0 1rem 2.5rem rgba(125,78,92,.1); }
.f15-afterword__cta h3 { margin: .4rem 0 1rem; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.35; }
.f15-afterword__cta p { text-align: start; line-height: 1.8; }
.f15-afterword__cta .button { width: 100%; justify-content: center; }
.f15-afterword__cta small { display: block; margin-top: .8rem; color: var(--f15-muted); line-height: 1.6; }

.f15-details { padding: clamp(4rem, 9vw, 8rem) 0; background: #eaf8ff; }
.f15-details__header { max-width: 900px; margin-bottom: 2rem; }
.f15-details__header > p:last-child { color: #4b5f69; font-size: 1.08rem; }
.f15-details__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.f15-details__cards article { padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid #c8e4ef; border-radius: 1rem; background: #fff; }
.f15-details__cards article:nth-child(2) { background: #fff8d8; border-color: #eedb89; }
.f15-details__cards article:nth-child(3) { background: #fff1f5; border-color: #f1ccd6; }
.f15-details__cards span { color: #4a8ca8; font-weight: 900; letter-spacing: .08em; }
.f15-details__cards h3 { margin: .45rem 0 .6rem; font-size: 1.35rem; }
.f15-details__cards p { margin: 0; color: #4c5b62; line-height: 1.75; text-align: start; }
.f15-details__action { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; margin-top: 1.25rem; padding: 1.4rem 1.5rem; border-radius: 1rem; background: #fff; }
.f15-details__action p { max-width: 58em; margin: 0; line-height: 1.75; text-align: start; }
.f15-details__action .button { flex: 0 0 auto; }
.f15-disclosure { margin-top: 1.2rem; padding: 1.1rem 1.25rem; border-left: 4px solid #7bbbd4; background: rgba(255,255,255,.72); color: #51636b; line-height: 1.8; text-align: start; }

.f15-share { padding: clamp(4rem, 9vw, 7rem) 0; background: linear-gradient(135deg, #fff3a7, #fffbe9 48%, #ffe8ef); color: var(--f15-ink); }
.f15-share__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.f15-share__banner { margin: 0; padding: .7rem; border-radius: 1rem; background: #fff; box-shadow: 0 1rem 2.4rem rgba(116,91,36,.14); }
.f15-share__banner img { display: block; width: 100%; height: auto; border-radius: .55rem; }
.f15-share__body { text-align: start; }
.f15-share__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: 1.5rem; }
.f15-share .share-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .75rem 1rem; border: 1px solid #d8bd63; border-radius: .7rem; color: #26333b; background: rgba(255,255,255,.82); text-decoration: none; cursor: pointer; }
.f15-share .share-button:hover { border-color: #ef8d7f; background: #fff; color: #9b3f36; }
.f15-share__status { min-height: 1.5em; color: #8c5614; }

.f15-faq { padding: clamp(4rem, 9vw, 7rem) 0; background: #fffdf8; }
.f15-faq details { max-width: 900px; margin: 0 auto .75rem; padding: 1.1rem 1.25rem; border: 1px solid #d7e7ec; border-radius: .8rem; background: #fff; }
.f15-faq details:nth-of-type(2) { background: #fffaf0; border-color: #ecdfb8; }
.f15-faq summary { font-weight: 800; cursor: pointer; }
.f15-faq details p { text-align: start; line-height: 1.85; }

@media (max-width: 900px) {
  .f15-story-intro__grid, .f15-afterword__grid, .f15-share__grid { grid-template-columns: 1fr; }
  .f15-story-intro__cover { max-width: 560px; margin-inline: auto; }
  .f15-details__cards { grid-template-columns: 1fr; }
  .f15-details__action { align-items: stretch; flex-direction: column; }
  .f15-details__action .button { width: 100%; justify-content: center; }
}

@media (max-width: 600px) {
  .f15-story-intro__facts { grid-template-columns: 1fr; }
  .f15-story-intro__actions { flex-direction: column; }
  .f15-story-intro__actions .button { width: 100%; justify-content: center; }
  .f15-share__actions { grid-template-columns: 1fr 1fr; }
  .f15-page-hero { background-position: center; }
}

