.mail-intro { max-width:780px; margin-bottom:32px; scroll-margin-top:165px; }
.mail-intro>p:first-child { font-size:12px; color:#507c96; }
.mail-intro h2 { color:#ad3979; font:30px/1.5 "Songti SC",serif; margin:14px 0; }
.mail-intro>p:last-child { color:#365f78; font-size:15px; line-height:1.9; }
.message-desk .letter-tray { gap:30px 26px; padding:36px 8px 40px; }
.message-desk .message-letter { display:block; min-height:215px; padding:26px 22px 20px; overflow:visible; isolation:isolate; border-radius:3px 6px 4px 3px; box-shadow:3px 5px 0 #e5f1f7; transform:rotate(-1.3deg); transition:transform .25s,border-color .25s; }
.message-desk .message-letter:nth-child(2n) { transform:rotate(1.2deg); }
.message-desk .message-letter:nth-child(3n) { transform:rotate(-.7deg); }
.message-desk .message-letter:hover,.message-desk .message-letter[data-last-read="true"] { transform:translateY(-5px) rotate(0); border-color:#c078a1; }
.message-desk .message-letter:focus-visible,.letter-close:focus-visible,.letter-details summary:focus-visible { outline:2px solid #ad3979; outline-offset:6px; }
.letter-lid { position:absolute; z-index:-1; inset:0 0 auto; height:54%; background:#e4f2fa; clip-path:polygon(0 0,100% 0,50% 100%); transform-origin:top; backface-visibility:hidden; pointer-events:none; }
.message-letter[data-last-read="true"] .letter-lid { background:#f4e5ef; }
.message-desk .letter-cover { float:right; width:54px; height:68px; padding:4px; margin:0 0 10px 12px; border:1px dashed #87afc5; background:#fff; transform:rotate(5deg); }
.message-desk .letter-cover img { object-fit:cover; }
.message-desk .letter-meta { position:relative; min-height:52px; max-width:calc(100% - 66px); font-size:11px; line-height:1.7; }
.message-desk .message-letter strong { clear:both; font-size:19px; line-height:1.6; }
.message-desk .letter-date { font-size:12px; margin-top:15px; }
.message-desk .letter-fold { z-index:-1; height:40%; }
.message-desk .message-content { padding:24px 36px 30px; border:1px solid #c8deea; border-radius:5px 3px 7px 3px; background:#fffcfe; box-shadow:5px 6px 0 #e5f1f7; margin:0 6px 76px; transform-origin:top center; }
.message-content[hidden] { display:none; }
.works-scene[data-letter-view="letter"]>.works-heading,.works-scene[data-letter-view="letter"]>.works-footer { display:none; }
.works-scene[data-letter-view="letter"] .message-content { margin-top:14px; }
.message-overview[hidden] { display:none; }
.letter-paper-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:18px; margin-bottom:26px; border-bottom:1px solid #e7c4d9; color:#507c96; font-size:11px; }
.letter-close { display:inline-flex; align-items:center; gap:12px; min-height:44px; flex-shrink:0; padding:0 8px; border:0; background:none; color:#a43e75; font-size:13px; }
.letter-close>span { display:block; }
.media-case h2:focus { outline:none; }
.message-content .media-case { gap:42px; padding-bottom:0; border-bottom:0; }
.message-content .media-case h2 { font-size:27px; }
.message-content .media-case dl { margin:22px 0; }
.message-content .media-case-copy>dl>div { margin-bottom:0; }
.message-content .media-note { position:relative; max-width:350px; padding:10px 10px 0; border:1px solid #d9e8f0; background:#fff; transform:rotate(1deg); }
.message-content .media-note::before { content:""; position:absolute; z-index:1; width:52px; height:15px; top:-7px; left:calc(50% - 26px); border:1px solid #c8deea; background:#e6f2f9e6; transform:rotate(-4deg); pointer-events:none; }
.message-content .media-note>button { height:370px; }
.letter-details { margin-top:26px; border-top:1px solid #d9e8f0; }
.letter-details summary { display:list-item; min-height:44px; padding:14px 0; cursor:pointer; font-size:13px; color:#a43e75; }
.letter-details>p,.letter-details dd { font-size:14px; line-height:1.9; }
.letter-details>dl { margin-bottom:0; }
.letter-details>dl>div { margin:0; }
.message-content .message-pagination { padding-top:20px; border-top:1px solid #d9e8f0; }
#mediaXhsAccounts { border-bottom:1px solid #c8deea; padding-bottom:50px; }
.content-more { margin-top:110px; padding-top:48px; border-top:1px solid #bde3f1; scroll-margin-top:170px; }
.content-more>header { max-width:760px; margin-bottom:32px; }
.content-more h2 { color:#ad3979; font:30px/1.5 "Songti SC",serif; margin:14px 0; }
.content-more>header>p:last-child { font-size:15px; line-height:1.9; color:#365f78; }
.letter-project { display:block; color:#507c96; margin-top:6px; }
.content-more .letter-meta { min-height:70px; }
.film-stage { position:relative; isolation:isolate; overflow:clip; border:1px solid #a9cede; border-radius:4px; padding-top:18px; background:#e9f4fa; }
.film-stage::before { content:""; position:absolute; top:3px; left:8%; right:8%; height:10px; border-top:1px solid #94bfd3; border-radius:50% 50% 0 0; pointer-events:none; }
.film-curtains { position:absolute; z-index:2; inset:18px 0 0; overflow:hidden; pointer-events:none; }
.film-curtains[hidden] { display:none; }
.screen-curtain { position:absolute; top:0; bottom:0; width:51%; background:#ecd8e8; border-right:1px solid #ba7fa4; clip-path:polygon(0 0,100% 0,100% 97%,85% 99%,68% 97%,51% 100%,34% 97%,17% 99%,0 97%); }
.screen-curtain::before { content:""; position:absolute; inset:0 15% 6%; border-inline:1px solid #c493b4; border-radius:0 0 40% 40%; }
.screen-curtain::after { content:""; position:absolute; inset:0 38% 6%; border-left:1px solid #c493b4; }
.curtain-left { left:0; }
.curtain-right { right:0; border-left:1px solid #ba7fa4; border-right:0; }
.film-caption { display:flex; justify-content:space-between; gap:16px; margin-top:16px; color:#507c96; font-size:11px; line-height:1.7; }
.film-status { display:inline-flex; align-items:center; gap:9px; white-space:nowrap; }
.film-status::before { content:""; width:6px; height:6px; border:1px solid #b75b8c; border-radius:50%; }
.is-playing .film-status::before { background:#b75b8c; }
.page-frame { transition:opacity .35s; }
body.is-screening .page-frame { opacity:.25; }
body.is-screening .atelier-room .room-layer { opacity:.12; transform:none; }
body.is-screening .atelier-room *,body.is-screening .chapter-stamp * { animation-play-state:paused !important; }
body.is-screening .chapter-stamp { opacity:.25; }
@media(max-width:900px) {
  .message-desk .letter-tray { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .message-desk .message-content { padding:20px 24px 28px; }
  .message-content .media-case { gap:30px; }
}
@media(max-width:560px) {
  .mail-intro h2 { font-size:25px; }
  .content-more { margin-top:70px; padding-top:32px; }
  .content-more h2 { font-size:25px; }
  .message-desk .letter-tray { display:grid; grid-template-columns:minmax(0,1fr); overflow:visible; gap:22px; padding:28px 8px 34px; }
  .message-desk .message-letter { min-height:190px; margin:0; padding:22px; }
  .message-desk .message-letter:nth-child(n) { transform:rotate(-.6deg); }
  .message-desk .message-letter[data-last-read="true"] { transform:rotate(0); }
  .message-desk .message-content { margin:0 0 52px; padding:16px; }
  .letter-paper-heading { font-size:10px; gap:8px; margin-bottom:18px; }
  .message-content .media-case h2 { font-size:24px; }
  .message-content .media-note { transform:none; }
  .message-content .media-note>button { height:340px; }
  .message-content .media-metrics { gap:30px; }
  .film-caption { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
  .message-desk .message-letter,.page-frame { transition:none; }
}
