/* 书房与回忆录的影像风格。最后加载；屏幕配色与字号统一，印刷沿用原稿纸规则。 */
@media screen {
  body.theme-c #main-app[data-group="memoir"],body.theme-c .mm-app,body.theme-c .mm-app.mm-light,
  body.theme-c #view-memoir.mm-light-host{background:var(--vg-bg);color:var(--vg-ink)}
  body.theme-c :is(.mm-app,.mm-modal,.mm-scope,.mm-merge),body.theme-c #view-memoir .st{
    font-family:var(--vg-sans);font-size:var(--pub-size-body);line-height:var(--pub-leading-body);
  }
  /* 壳体：与首页同一品牌，细线导航与克制的强调色。 */
  body.theme-c #main-app[data-group="memoir"] :is(#vg-top,#vg-pagebar,#tabbar){background:var(--vg-bg);border-color:var(--vg-line)}
  body.theme-c #main-app[data-group="memoir"] .vg-navrow{min-height:80px}
  body.theme-c #main-app[data-group="memoir"] .vg-brand{gap:16px;font:500 var(--pub-size-control)/1.6 var(--vg-sans)}
  #vg-top .vg-brand .vg-film-mark{display:block;width:57px;height:32px;flex-shrink:0;color:var(--vg-ink)}
  body.theme-c #main-app[data-group="memoir"] #vg-top .nav-primary{font-size:var(--pub-size-control);font-weight:500;color:var(--vg-ink2)}
  body.theme-c #main-app[data-group="memoir"] #vg-top .nav-primary.is-active{color:var(--vg-seal)}
  body.theme-c #main-app[data-group="memoir"] .shell-h1{font:500 var(--pub-size-heading)/1.5 var(--vg-serif);letter-spacing:0}
  body.theme-c #main-app[data-group="memoir"] :is(#shell-actions,#shell-title) :is(.mm-btn,.mm-iconbtn){font-size:var(--pub-size-control);border-radius:4px}
  body.theme-c #main-app[data-group="memoir"] #tabbar button{font-size:var(--pub-size-control);color:var(--vg-ink2)}
  body.theme-c #main-app[data-group="memoir"] #tabbar button.is-active{color:var(--vg-seal)}
  body.theme-c #main-app[data-group="memoir"] #vg-top :is(.user-name,.user-score,.site-c-control-label){font-size:var(--pub-size-caption)}
  /* 书房：保留照片与书架，改为横排衬线标题与清晰的阅读节奏。 */
  body.theme-c #view-memoir .st-greet{padding-block:40px 32px}
  body.theme-c #view-memoir :is(.st-greet,.st-empty) .hi{font:500 var(--pub-size-caption)/1.8 var(--vg-sans);letter-spacing:.12em;color:var(--vg-seal)}
  body.theme-c #view-memoir :is(.st-greet,.st-empty) h1{font:500 var(--pub-size-section)/1.5 var(--vg-serif);letter-spacing:-.02em;margin-top:16px}
  body.theme-c #view-memoir .st-empty{background:var(--vg-bg);min-height:500px}
  body.theme-c #view-memoir .st-empty>img{filter:brightness(.4) saturate(.7)}
  body.theme-c #view-memoir .st-empty .lead{font-size:var(--pub-size-body);line-height:var(--pub-leading-body);color:var(--vg-ink2)}
  body.theme-c #view-memoir .vg-sec-h{font:500 var(--pub-size-heading)/1.6 var(--vg-serif);border-bottom:1px solid var(--vg-line);flex-wrap:wrap;gap:12px}
  body.theme-c #view-memoir :is(.vg-sec-h small,.st-hint,.st-chs .m,.st-mail .meta,.st-cap,.st-bk small,.st-bk.cur .in small){font-size:var(--pub-size-caption);line-height:1.8}
  body.theme-c #view-memoir :is(.st-chs b,.st-mail .who,.st-mail .who em,.st-mail .q,.st-steps p){font-size:var(--pub-size-body);line-height:var(--pub-leading-body)}
  body.theme-c #view-memoir .st-steps h3{font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  body.theme-c #view-memoir .st-steps li{border-top:1px solid var(--vg-line)}
  body.theme-c #view-memoir .st-shelf{border-bottom:10px solid #263c30;padding-bottom:4px}
  body.theme-c #view-memoir .st-bk .lb{background:#f3ecd9;color:#203b2c;font-size:var(--pub-size-control);font-weight:500}
  body.theme-c #view-memoir .st-bk.cur{background:#253d31;height:280px;width:clamp(160px,20vw,224px)}
  body.theme-c #view-memoir .st-bk.cur :is(.blank,.in){background:#253d31;color:#f3ecd9}
  body.theme-c #view-memoir .st-bk.cur .in b{font:500 var(--pub-size-body)/1.6 var(--vg-serif)}
  body.theme-c #view-memoir .st-bk .ribbon{background:#e0553c}
  body.theme-c #view-memoir .st-bk.add .lb{background:transparent;color:var(--vg-ink)}
  body.theme-c #view-memoir :is(.st-more,.st-more b,.vg-textlink){font-size:var(--pub-size-control)}
  /* 标准字号来自公开页令牌；大字功能仍通过 --mm-zoom 整体放大。 */
  body.theme-c .mm-app :is(.mm-h2,.mm-story-title),body.theme-c :is(.mm-modal,.mm-scope,.mm-merge) :is(h2,h3){font:500 var(--pub-size-heading)/1.6 var(--vg-serif);color:var(--vg-ink)}
  body.theme-c .mm-app .mm-h2{border-bottom:1px solid var(--vg-line)}
  body.theme-c .mm-app [data-prompt]>.mm-story-title{font-size:var(--pub-size-heading) !important}
  body.theme-c .mm-app .mm-col-main>.mm-row>div:first-child>b{font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  body.theme-c .mm-app :is(.mm-body p,.mm-story p,.mm-excerpt),body.theme-c .mm-app.mm-elder .mm-body p,
  body.theme-c .mm-modal :is(p,.mm-label),body.theme-c .mm-app .mm-label{font-size:var(--pub-size-body);line-height:var(--pub-leading-body)}
  body.theme-c :is(.mm-app,.mm-modal) :is(.mm-muted,.mm-h2 small,.mm-badge,.mm-story .meta,.mm-story .photos figcaption,.mm-control-label){font-size:var(--pub-size-caption);line-height:1.8}
  body.theme-c :is(.mm-app,.mm-modal) p.mm-muted{font-size:var(--pub-size-body)}
  /* 覆盖旧 utility 的 important 字号和渲染器的内联小字。 */
  body.theme-c :is(.mm-app,.mm-modal) :is(.text-xs,.site-c-inline-small,[style*="font-size:12px"],[style*="font-size:12px"],[style*="font-size:14px"]){font-size:var(--pub-size-caption) !important}
  body.theme-c :is(.mm-app,.mm-modal) :is(.text-sm,.text-base){font-size:var(--pub-size-body) !important}
  body.theme-c :is(.mm-app,.mm-modal) :is(.mm-card,.mm-notice,.mm-rv-banner){background:var(--vg-paper);border-color:var(--vg-line);border-radius:4px;box-shadow:none;color:var(--vg-ink)}
  body.theme-c :is(.mm-app,.mm-modal) .mm-card.clickable:hover{background:var(--vg-soft);border-color:var(--vg-line-strong)}
  body.theme-c .mm-app .mm-col-side{background:transparent;border-color:var(--vg-line)}
  body.theme-c :is(.mm-app,.mm-modal) :is(.mm-btn,.mm-btn-sm,.mm-iconbtn,.mm-chip),body.theme-c #view-memoir .vg-btn{
    font:500 var(--pub-size-control)/1.6 var(--vg-sans);min-height:48px;border:1px solid var(--vg-line-strong);border-radius:4px;padding:12px 24px;color:var(--vg-ink);background:transparent;box-shadow:none;white-space:normal;
  }
  body.theme-c :is(.mm-app,.mm-modal) :is(.mm-btn:hover,.mm-iconbtn:hover,.mm-chip:hover){background:var(--vg-soft);color:var(--vg-ink);border-color:var(--vg-seal)}
  body.theme-c :is(.mm-app,.mm-modal) .mm-btn-primary,body.theme-c .mm-app.mm-light .mm-btn-primary,body.theme-c #view-memoir .vg-btn:not(.vg-btn--line):not(.vg-btn--night){background:var(--vg-seal);color:var(--vg-on-seal);border-color:var(--vg-seal)}
  body.theme-c :is(.mm-app,.mm-modal) .mm-btn-primary:hover,body.theme-c #view-memoir .vg-btn:hover{background:var(--vg-seal-dk);color:var(--vg-on-seal);border-color:var(--vg-seal-dk)}
  body.theme-c :is(.mm-app,.mm-modal) .mm-btn-danger{color:var(--vg-danger);border-color:var(--vg-danger)}
  body.theme-c :is(.mm-app,.mm-modal) .mm-btn-danger:hover{background:var(--vg-danger);color:var(--vg-bg)}
  body.theme-c :is(.mm-app,.mm-modal) :is(.mm-btn,.mm-iconbtn):disabled{background:var(--vg-soft);color:var(--vg-ink3);border-color:var(--vg-line);cursor:not-allowed}
  body.theme-c :is(.mm-app,.mm-modal) :is(.mm-input,.mm-textarea,.mm-select),body.theme-c .mm-app.mm-light :is(.mm-input,.mm-textarea,.mm-select){background:var(--vg-paper);color:var(--vg-ink);border-radius:4px;font:400 var(--pub-size-control)/1.9 var(--vg-sans);padding:12px 16px}
  body.theme-c :is(.mm-app,.mm-modal) .mm-textarea{font-size:var(--pub-size-body);min-height:160px}
  body.theme-c :is(.mm-app,.mm-modal) :is(.mm-input,.mm-textarea)::placeholder{color:var(--vg-ink3)}
  body.theme-c .mm-app .mm-answer-option span{font-size:var(--pub-size-body);background:var(--vg-paper);color:var(--vg-ink);border-radius:4px}
  body.theme-c .mm-app .mm-chip.on{background:var(--vg-seal-soft);color:var(--vg-seal);border-color:var(--vg-seal)}
  body.theme-c .mm-app .mm-badge.ok{color:var(--vg-ok);border-color:var(--vg-ok);background:var(--vg-ok-soft)}
  body.theme-c .mm-app .mm-badge.warn{color:var(--vg-wait);border-color:var(--vg-wait);background:var(--vg-wait-soft)}
  body.theme-c .mm-app .mm-badge.info{color:var(--vg-seal);border-color:var(--vg-seal);background:var(--vg-seal-soft)}
  body.theme-c .mm-modal-back{background:rgba(4,12,8,.8);backdrop-filter:blur(12px);padding:16px}
  body.theme-c :is(.mm-modal,.mm-scope,.mm-merge){background:var(--vg-bg);color:var(--vg-ink);border:1px solid var(--vg-line);border-radius:4px;box-shadow:var(--vg-shadow-pop)}
  body.theme-c :is(.mm-scope,.mm-merge) :is(button,input:not([type=radio]),select){font-size:var(--pub-size-control);border-radius:4px;background:var(--vg-paper);color:var(--vg-ink)}
  body.theme-c :is(.mm-scope,.mm-merge) :is(small,.mm-scope-kicker,.mm-merge-note){font-size:var(--pub-size-caption)}
  body.theme-c .mm-scope [data-scope=continue],body.theme-c .mm-merge footer .mm-merge-primary{background:var(--vg-seal);color:var(--vg-on-seal)}
  body.theme-c :is(.mm-scope,.mm-merge)::backdrop{background:rgba(4,12,8,.8)}
  body.theme-c .mm-app .mm-card.mm-muted{font-size:var(--pub-size-body) !important;line-height:var(--pub-leading-body);color:var(--vg-ink2)}
  body.theme-c .mm-app :is(.mm-answer-note summary,.mm-guide-progress,.mm-secondary-tools>summary){font-size:var(--pub-size-control)}
  body.theme-c .mm-app .mm-observed small{font-size:var(--pub-size-caption)}
  body.theme-c .mm-app.mm-elder :is(.mm-body p,.mm-story p,.mm-textarea){font-size:20px}
  body.theme-c .mm-app.mm-elder :is(.mm-btn,.mm-input,.mm-select){font-size:18px}
  body.theme-c .mm-app :is(.mm-top,.mm-top h1),body.theme-c .mm-app.mm-light .mm-top{background:var(--vg-bg);color:var(--vg-ink);border-color:var(--vg-line)}
  body.theme-c .mm-app .mm-top h1{font:500 var(--pub-size-heading)/1.5 var(--vg-serif)}
  body.theme-c .mm-app .mm-story .mm-persp h4{font:500 var(--pub-size-body)/1.7 var(--vg-serif);color:var(--vg-seal)}
  body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions .mm-btn-primary{color:var(--vg-on-seal);background:var(--vg-seal)}
  body.theme-c .mm-modal :is(p.mm-muted,label){font-size:var(--pub-size-body) !important;line-height:var(--pub-leading-body)}
  body.theme-c .mm-app .mm-body p{font-family:var(--vg-sans)}
  /* 屏幕阅读同样使用墨绿，输出 PDF 时不覆盖原印刷样式。 */
  body.theme-c .mm-app .mm-book{background:var(--vg-bg);color:var(--vg-ink)}
  body.theme-c .mm-app .mm-cover{border-color:var(--vg-line)}
  body.theme-c .mm-app .mm-cover h1{font:500 var(--pub-size-section)/1.5 var(--vg-serif);letter-spacing:.02em}
  body.theme-c .mm-app .mm-chapter h2{font:500 var(--pub-size-section)/1.5 var(--vg-serif)}
  body.theme-c .mm-app .mm-story h3{font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  body.theme-c .mm-app :is(.mm-cover p,.mm-toc li){font-size:var(--pub-size-control);color:var(--vg-ink2)}
  body.theme-c .mm-app :is(.mm-body,.mm-story){color:var(--vg-ink)}
  @media(max-width:767px){
    body.theme-c #main-app[data-group="memoir"] .vg-navrow{min-height:64px}
    body.theme-c #main-app[data-group="memoir"] .shell-h1{font-size:var(--pub-size-heading);white-space:normal;overflow-wrap:anywhere}
    body.theme-c #view-memoir .st-greet{padding-block:32px 24px}
    body.theme-c #view-memoir .st-empty h1{font-size:30px}
    body.theme-c #view-memoir .st-bk.cur{height:280px;width:172px}
    body.theme-c .mm-modal{border-radius:4px 4px 0 0}
    body.theme-c :is(.mm-app,.mm-modal) .mm-btn{padding:12px 16px}
  }
  @media(prefers-reduced-motion:reduce){body.theme-c #view-memoir .st-bk{transition:none}}
}

/* 讲述台：开新话题的入口（照片的记忆 / 写一段）在标题行右侧，答题操作条在卡片底部单独隔开，两者不相邻。
   一组照片：大图 + 胶片条；题目进度点；答完的故事卡轻轻浮现。 */
@media screen {
  body.theme-c .mm-app .mm-interview-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
  body.theme-c .mm-app .mm-interview-head > span:first-child{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
  body.theme-c .mm-app .mm-interview-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto;font-family:var(--vg-sans)}
  body.theme-c .mm-app .mm-interview-head .mm-interview-actions .mm-btn{min-height:var(--vg-tap);background:var(--vg-soft);color:var(--vg-ink)}
  body.theme-c .mm-app .mm-answer-bar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--vg-line)}
  body.theme-c .mm-app .mm-answer-bar .mm-answer-skip{background:transparent;border-color:transparent;color:var(--vg-ink2);text-decoration:underline;text-underline-offset:4px;box-shadow:none;min-height:var(--vg-tap)}
  body.theme-c .mm-app .mm-answer-bar .mm-answer-skip:hover{color:var(--vg-ink)}
  body.theme-c .mm-app .mm-group-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 16px;padding:2px}
  body.theme-c .mm-app .mm-group-thumb{flex:0 0 auto;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:6px;background:var(--vg-soft);overflow:hidden;cursor:pointer;opacity:.7;transition:opacity .2s,border-color .2s}
  body.theme-c .mm-app .mm-group-thumb img{display:block;width:100%;height:100%;object-fit:cover}
  body.theme-c .mm-app .mm-group-thumb.on{border-color:var(--vg-seal);opacity:1}
  body.theme-c .mm-app .mm-group-thumb:hover{opacity:1}
  body.theme-c .mm-app .mm-group-thumb:focus-visible{outline:3px solid var(--vg-info);outline-offset:2px}
  body.theme-c .mm-app .mm-group-strip .mm-muted{flex:1 1 8em;margin-left:4px}
  body.theme-c .mm-app .mm-guide-progress{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
  body.theme-c .mm-app .mm-q-dots{display:inline-flex;gap:8px}
  body.theme-c .mm-app .mm-q-dots i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--vg-seal);background:transparent}
  body.theme-c .mm-app .mm-q-dots i.done{background:var(--vg-seal)}
  body.theme-c .mm-app .mm-q-dots i.cur{background:var(--vg-seal-soft);transform:scale(1.25)}
  body.theme-c .mm-app .mm-ask-empty{text-align:center;padding-block:32px}
  body.theme-c .mm-app .mm-ask-empty > i{font-size:36px;color:var(--vg-seal)}
  body.theme-c .mm-app .mm-ask-empty p{margin:12px auto 16px;max-width:34em}
  body.theme-c .mm-app .mm-story-grow{border-left:3px solid var(--vg-seal);animation:mm-grow .5s cubic-bezier(.22,1,.36,1) both}
  @keyframes mm-grow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @media(max-width:767px){
    body.theme-c .mm-app .mm-interview-actions{margin-left:0;width:100%}
    body.theme-c .mm-app .mm-answer-bar .mm-btn-primary{flex:1 1 100%}
    body.theme-c .mm-app .mm-answer-bar .mm-answer-skip{margin-inline:auto}
  }
  @media(prefers-reduced-motion:reduce){
    body.theme-c .mm-app .mm-story-grow{animation:none}
    body.theme-c .mm-app .mm-group-thumb{transition:none}
  }
}
