/* vgogo · 2026-10 web refinement. Presentation only; business states and image pixels are untouched. */
@media screen {
  /* Round 1 — a restrained paper system and an intentional type/spacing hierarchy. */
  body.theme-c {
    --ui-paper:var(--vg-bg); --ui-surface:var(--vg-paper); --ui-soft:var(--vg-soft);
    --ui-ink:var(--vg-ink); --ui-muted:var(--vg-ink2); --ui-accent:var(--vg-seal);
    --ui-border:var(--vg-line); --ui-control:var(--vg-line-strong); --ui-focus:var(--vg-info);
    --ui-serif:var(--vg-sans);
    --site-page:var(--ui-paper); --site-card:var(--ui-surface); --site-soft:var(--ui-soft);
    --site-ink:var(--ui-ink); --site-muted:var(--ui-muted); --site-accent:var(--ui-accent);
    --site-line:var(--ui-border); --site-control:var(--ui-control); --site-focus:var(--ui-focus);
    font-family:var(--vg-sans);
    letter-spacing:.01em; -webkit-font-smoothing:antialiased;
  }
  body.theme-c > .fixed.inset-0.pointer-events-none { display:none; }
  body.theme-c .mm-app, body.theme-c .mm-modal {
    --mm-page:var(--ui-paper); --mm-surface:var(--ui-surface); --mm-soft:var(--ui-soft);
    --mm-text:var(--ui-ink); --mm-secondary:var(--ui-muted); --mm-accent:var(--ui-accent);
    --mm-accent-hover:var(--vg-seal-dk); --mm-line:var(--ui-border); --mm-border:var(--ui-control);
    --mm-radius:12px; --mm-gutter:32px;
  }
  body.theme-c #main-app.theme-memoir { background:var(--ui-paper); }
  body.theme-c .mm-app .mm-wrap { padding-top:40px; }
  body.theme-c .mm-app .mm-wrap.wide { max-width:1200px; }
  body.theme-c .mm-app .mm-card, body.theme-c .mm-modal .mm-card {
    padding:24px; border-color:var(--ui-border); box-shadow:none; border-radius:12px;
  }
  body.theme-c .mm-app .mm-h2 { color:var(--ui-ink); font-size:20px; font-weight:650; margin:32px 0 16px; letter-spacing:.01em; }
  body.theme-c .mm-app .mm-h2 small { font-size:16px; font-weight:400; color:var(--ui-muted); }
  body.theme-c .mm-app :is(.mm-muted,.mm-badge), body.theme-c .mm-modal .mm-muted { line-height:1.75; }
  body.theme-c .mm-app .mm-btn, body.theme-c .mm-modal .mm-btn { border-radius:8px; box-shadow:none; }
  body.theme-c .mm-app .mm-btn-primary, body.theme-c .mm-modal .mm-btn-primary { border-radius:8px; }
  body.theme-c .mm-app .mm-btn-danger, body.theme-c .mm-modal .mm-btn-danger { background:transparent; border-color:var(--vg-line-strong); }
  
  
  
  
  
  
  
  
  
  
  
  @media(max-width:640px) {
    body.theme-c .mm-app,body.theme-c .mm-modal { --mm-gutter:20px; }
    body.theme-c .mm-app .mm-wrap { padding-top:32px; }
    
    
    
    
    
    
    
    
    
    
    body.theme-c .mm-app .mm-card { padding:24px; }
  }
}
@media screen and (max-width:640px) {
  /* Visual review correction: neutralize the legacy featured-card grid coordinates. */
  
  
  
  
}
@media screen {
  /* Round 2 — home editorial composition and the same navigational language inside. */
  body.theme-c #main-app.theme-memoir #sidebar { width:232px; background:var(--vg-soft); border-color:var(--ui-border); }
  body.theme-c #sidebar > div:first-child { height:82px; border-color:var(--ui-border); }
  body.theme-c #sidebar > nav { padding:24px 16px; gap:32px; }
  
  
  body.theme-c #sidebar .nav-item { border-radius:8px; }
  
  body.theme-c #main-app.theme-memoir[data-group="memoir"] :is(#shell-title,#shell-actions) :is(.mm-btn,.mm-iconbtn) { border-color:var(--ui-border); border-radius:8px; background:var(--ui-surface); font-size:16px; padding:12px 12px; }
  body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions .mm-btn-primary { background:var(--ui-accent); color:var(--vg-paper); border-color:var(--ui-accent); border-radius:8px; }
  body.theme-c #main-app .shell-h1 { font-size:20px; line-height:1.5; }
  body.theme-c #notif-bell-btn { border-color:var(--ui-border); border-radius:8px; }
  body.theme-c #tabbar { background:var(--ui-surface); box-shadow:0 -4px 14px #49352205; border-color:var(--ui-border); }
  body.theme-c #tabbar button { min-height:70px; gap:4px; font-size:16px; }
  body.theme-c #tabbar button.is-active { color:var(--ui-accent); background:var(--vg-soft); }
  
  @media(max-width:640px) {
    
    
    body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions { gap:8px; }
    body.theme-c #main-app .shell-h1 { font-size:20px; }
  }
}
@media screen {
  /* Round 3 — clearer choices, form surfaces, photo controls and in-book work areas. */
  body.theme-c .mm-app :is(.mm-input,.mm-select,.mm-textarea),body.theme-c .mm-modal :is(.mm-input,.mm-select,.mm-textarea) { font-size:20px; line-height:1.8; padding:12px 16px; border-radius:8px; border-color:var(--ui-control); background:var(--ui-surface); }
  body.theme-c .mm-app .mm-label,body.theme-c .mm-modal .mm-label { color:var(--ui-ink); font-size:18px; font-weight:600; margin:24px 0 8px; }
  body.theme-c .mm-app .mm-textarea { resize:vertical; min-height:160px; }
  body.theme-c .mm-app .mm-col-side { background:var(--vg-soft); border:0; border-radius:12px; padding:24px; }
  body.theme-c .mm-app .mm-col-side>.mm-h2:first-child { margin-top:0; }
  body.theme-c .mm-app .mm-card.clickable { border-left:3px solid var(--vg-line-strong); }
  body.theme-c .mm-app .mm-story-open { min-height:48px; line-height:1.6; font-size:20px; }
  body.theme-c .mm-app .mm-card.clickable .mm-row { gap:12px; }
  body.theme-c .mm-app .mm-answer-option span { border-color:var(--ui-border); border-radius:8px; padding:16px 16px; font-size:20px; line-height:1.65; min-height:62px; background:var(--ui-surface); }
  body.theme-c .mm-app .mm-answer-option input:checked+span { background:var(--vg-soft); border-color:var(--ui-accent); box-shadow:inset 4px 0 var(--ui-accent); }
  body.theme-c .mm-app .mm-answer-note { margin-block:16px; border-top:1px solid var(--ui-border); border-bottom:1px solid var(--ui-border); padding-block:2px; }
  body.theme-c .mm-app .mm-answer-note summary { min-height:52px; font-size:18px; display:list-item; }
  body.theme-c .mm-app .mm-witness-opt { border-width:1px; border-radius:8px; font-size:18px; min-height:50px; }
  body.theme-c .mm-app .mm-current-photo { border-radius:8px; }
  body.theme-c .mm-app .mm-current-photo img { max-height:320px; object-fit:contain; }
  body.theme-c .mm-modal { background:var(--ui-surface); max-height:calc((100dvh - 40px) / var(--mm-zoom, 1)); max-width:720px; border:1px solid var(--ui-border); border-radius:16px; padding:32px; box-shadow:0 20px 80px #35281c24; }
  body.theme-c .mm-modal h3 { margin:0 0 16px; font-size:24px; font-weight:650; line-height:1.5; }
  body.theme-c .mm-modal-back { background:#30271f88; backdrop-filter:none; padding:24px; }
  body.theme-c .mm-modal > .mm-row:last-child { position:sticky; bottom:-30px; background:var(--ui-surface); padding-block:16px 8px; margin-bottom:-8px; z-index:1; }
  body.theme-c .mm-modal:has([data-assembly-source]) { max-width:920px; }
  body.theme-c .mm-modal:has([data-assembly-source]) > details { border:1px solid var(--ui-border); border-radius:12px; padding:16px 24px; margin-top:24px; background:var(--ui-paper); }
  body.theme-c .mm-modal:has([data-assembly-source]) summary { min-height:48px; cursor:pointer; color:var(--ui-accent); font-weight:600; }
  body.theme-c .mm-modal:has([data-assembly-source]) > h4 { font-size:20px; margin-top:24px; }
  body.theme-c .mm-modal:has([data-assembly-source]) section { padding:24px; border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-paper); }
  body.theme-c .mm-modal:has([data-assembly-source]) .mm-card { margin-top:16px; background:var(--ui-surface); }
  body.theme-c .mm-modal:has([data-assembly-source]) .mm-card>.mm-row:first-child { font-size:20px; font-weight:600; }
  body.theme-c .mm-modal:has([data-assembly-source]) input[type=checkbox] { width:24px; height:24px; }
  body.theme-c :is(#auth-modal,#download-app-modal) > div { border:1px solid var(--ui-border); box-shadow:0 20px 80px #30271f20; border-radius:16px; }
  body.theme-c #auth-modal input { border-radius:8px; background:var(--ui-surface); }
  body.theme-c #auth-modal button[type=submit] { border-radius:8px; min-height:54px; }
  body.theme-c #auth-tabs { gap:8px; }
  body.theme-c #gallery-container > div:first-child { gap:16px; flex-wrap:wrap; align-items:center; margin-bottom:24px; }
  body.theme-c #gallery-title { font-family:var(--ui-serif); font-size:30px; line-height:1.45; }
  body.theme-c #gallery-filter-tabs { border-color:var(--ui-border); background:var(--vg-soft) !important; border-radius:8px; padding:4px; }
  body.theme-c #gallery-filter-tabs button { min-width:72px; font-size:18px !important; border-radius:6px; }
  body.theme-c .gallery-item { border-color:var(--ui-border); border-radius:12px; box-shadow:none; }
  body.theme-c .gallery-item > img { transition:none; }
  body.theme-c .gallery-item:hover > img { transform:none; }
  body.theme-c .gallery-item:focus-within { outline:3px solid var(--ui-focus); outline-offset:3px; }
  body.theme-c #photo-toolbar { gap:12px; }
  body.theme-c #photo-toolbar button { border-radius:8px; }
  body.theme-c #search-input { width:min(260px,100%); padding-left:40px; padding-right:64px; border-radius:8px; }
  body.theme-c #search-filter-btn { min-width:44px; min-height:44px; right:4px; }
  body.theme-c #search-filter-btn .site-c-control-label { display:none; }
  body.theme-c #view-space-detail .circle-card { border:1px solid var(--ui-border); border-radius:12px; background:var(--ui-surface); padding:24px; box-shadow:none; }
  body.theme-c .circle-card .opacity-0 { opacity:1; }
  body.theme-c #space-detail-actions { flex-wrap:wrap; gap:12px; }
  body.theme-c #space-detail-name { font-family:var(--ui-serif); }
  @media(max-width:767px) {
    
    
    
    body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions { grid-column:1 / -1; grid-row:2; gap:8px; justify-content:flex-start; }
    
    body.theme-c #main-app.theme-memoir[data-group="memoir"] #notif-bell-btn { padding-inline:12px; }
    body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions .mm-iconbtn { font-size:16px; padding:8px 12px; }
    body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions .mm-btn { font-size:16px; padding:8px 12px; }
    body.theme-c #main-app .view-section { padding-bottom:calc(96px + env(safe-area-inset-bottom,0px)); }
    body.theme-c #main-app #view-memoir .mm-wrap { padding-bottom:40px; }
    body.theme-c #gallery-container { padding:24px 16px calc(96px + env(safe-area-inset-bottom,0px)); }
    body.theme-c #gallery-grid { columns:2; column-gap:12px; }
    body.theme-c #gallery-grid .gallery-item { margin-bottom:12px; }
    body.theme-c #gallery-filter-tabs { width:100%; }
    body.theme-c #gallery-filter-tabs button { flex:1; }
    body.theme-c .gallery-item .group-hover\:opacity-100 { opacity:1; }
    body.theme-c #photo-left { flex:1; min-width:0; }
    body.theme-c #photo-left>.relative.group { width:100%; }
    body.theme-c #search-input { width:100%; }
    body.theme-c .mm-modal { padding:24px 24px; border-radius:12px; }
    body.theme-c .mm-modal-back { padding:12px; }
    body.theme-c .mm-modal > .mm-row:last-child { bottom:-22px; }
    body.theme-c .mm-modal:has([data-assembly-source]) section { padding:16px; }
    body.theme-c .mm-modal:has([data-assembly-source]) > details { padding:16px; }
    body.theme-c .mm-app .mm-col-side { padding:24px; }
    body.theme-c .mm-app .mm-answer-option span { font-size:20px; }
  }
  
}
@media screen {
  /* Real gallery review: photo overlays must keep light text, independent of paper utility colors. */
  body.theme-c #gallery-grid .gallery-item > [class*="bg-black"],
  body.theme-c #gallery-grid .gallery-item > [class*="bg-black"] :is(span,i),
  body.theme-c #gallery-grid .gallery-item > .absolute.inset-0 :is(button,span,i) { color:var(--vg-paper) !important; }
  body.theme-c #gallery-grid .gallery-item > .absolute.inset-0 { color:var(--vg-paper) !important; background:rgb(43 27 19 / 62%) !important; }
  body.theme-c #gallery-grid .gallery-item > .absolute.inset-0 .upvote-btn { min-width:44px; min-height:44px; color:var(--vg-paper) !important; background:transparent !important; }
  body.theme-c #gallery-grid .gallery-item > [class*="bg-black"] { background:#30271fdf !important; }
  @media(max-width:767px) {
    body.theme-c #photo-toolbar :is(#batch-select-btn,#upload-btn) > span { display:inline; font-size:16px; }
    
    
    
    body.theme-c #photo-toolbar :is(#batch-select-btn,#upload-btn) { padding:12px 12px; }
  }
}
@media screen {
  /* Round 4 — the story is a readable document; review and status are supporting work. */
  body.theme-c .mm-app .mm-wrap:has(> .mm-body) { width:calc(100% - 64px); max-width:880px; margin:32px auto; padding:40px 40px 48px; border:1px solid var(--ui-border); border-radius:4px; background:var(--ui-surface); }
  body.theme-c .mm-app .mm-body { max-width:34em; }
  body.theme-c .mm-app .mm-body p { font-size:20px; line-height:1.95; margin:0 0 1.4em; }
  body.theme-c .mm-app .mm-wrap > .mm-body { padding-top:24px; margin-top:24px !important; border-top:1px solid var(--ui-border); }
  body.theme-c .mm-app #mm-editor { background:var(--ui-paper); border-color:var(--ui-border); }
  body.theme-c .mm-app #mm-edit-body { min-height:340px !important; line-height:1.95; }
  body.theme-c .mm-app #mm-review { background:var(--vg-soft); border:1px solid var(--vg-line-strong); }
  body.theme-c .mm-app #mm-review h3 { font-size:24px; line-height:1.6; margin-bottom:16px; }
  body.theme-c .mm-app #mm-review > ol { padding-left:24px; }
  body.theme-c .mm-app #mm-review > ol > li { padding:8px 0 24px 8px; margin-bottom:16px; border-bottom:1px solid var(--ui-border); }
  body.theme-c .mm-app #mm-review blockquote { border-left:3px solid var(--vg-line-strong); background:var(--ui-surface); padding:16px 24px; margin:12px 0; font-size:20px; line-height:1.9; }
  body.theme-c .mm-app .mm-review-note p { margin:12px 0; }
  body.theme-c .mm-app #mm-review > details { margin:16px 0; padding:12px 16px; background:var(--ui-surface); border:1px solid var(--ui-border); border-radius:8px; }
  body.theme-c .mm-app #mm-review summary { min-height:48px; color:var(--ui-accent); cursor:pointer; }
  body.theme-c .mm-app #mm-memory-reflection { border-left:3px solid var(--vg-line-strong); background:var(--vg-paper); }
  body.theme-c .mm-app #mm-memory-reflection h3 { font-size:20px; margin:0 0 12px; }
  body.theme-c .mm-app #mm-memory-reflection .mm-row { margin-top:16px; gap:12px; }
  body.theme-c .mm-app .mm-ver { background:var(--ui-paper); border:1px solid var(--ui-border); border-radius:12px; padding:24px; margin-top:16px; }
  body.theme-c .mm-app .mm-ver.cur { border-left:3px solid var(--vg-ok); }
  body.theme-c .mm-app .mm-ver.pending { border-left:3px solid var(--vg-line-strong); }
  body.theme-c .mm-app .mm-ver summary { min-height:48px; padding-block:8px; cursor:pointer; }
  body.theme-c .mm-app .mm-book { max-width:900px; width:calc(100% - 64px); margin:32px auto; padding:48px 64px 80px; background:var(--ui-surface); border:1px solid var(--ui-border); box-shadow:0 5px 22px #46352508; }
  body.theme-c .mm-app .mm-cover { padding:48px 0 48px; margin-bottom:40px; border-color:var(--ui-border); }
  body.theme-c .mm-app .mm-cover h1 { font-family:var(--ui-serif); font-size:36px; line-height:1.5; letter-spacing:.03em; }
  body.theme-c .mm-app .mm-cover p { font-size:16px; line-height:1.85; margin-top:24px; }
  body.theme-c .mm-app .mm-toc { margin:0 0 48px; padding:0; }
  body.theme-c .mm-app .mm-toc li { padding:16px 0; font-size:18px; border-color:var(--ui-border); gap:16px; }
  body.theme-c .mm-app .mm-chapter { margin-top:48px; }
  body.theme-c .mm-app .mm-chapter h2 { font-family:var(--ui-serif); font-size:30px; line-height:1.6; }
  body.theme-c .mm-app .mm-story h3 { font-family:var(--ui-serif); font-size:24px; margin:32px 0 12px; }
  body.theme-c .mm-app .mm-story .meta { font-size:16px; line-height:1.8; margin-bottom:24px; }
  body.theme-c .mm-app .mm-story p { font-size:20px; line-height:1.95; }
  body.theme-c .mm-app .mm-story .photos img { border-width:5px; box-shadow:none; max-height:650px; object-fit:contain; }
  body.theme-c .mm-app .mm-persp { border-left:3px solid var(--vg-line-strong); background:var(--ui-paper); padding:24px 24px; margin:24px 0; }
  body.theme-c .mm-app .mm-persp h4 { font-size:20px; }
  body.theme-c .mm-scope { background:var(--ui-surface); border-color:var(--ui-border); border-radius:16px; box-shadow:0 20px 80px #30271f24; }
  body.theme-c .mm-scope header { border-bottom:1px solid var(--ui-border); padding-bottom:16px; }
  body.theme-c .mm-scope h2 { font-family:var(--ui-serif); font-size:24px; }
  body.theme-c .mm-scope blockquote { background:var(--ui-paper); border-color:var(--vg-line-strong); }
  body.theme-c .mm-scope fieldset { border-color:var(--ui-border); border-radius:12px; }
  body.theme-c .mm-scope-choice:last-of-type { border-bottom:0; }
  body.theme-c .mm-scope footer { padding-top:16px; border-top:1px solid var(--ui-border); }
  body.theme-c .mm-scope [role=status] { padding:12px 16px; background:var(--ui-paper); border-radius:8px; }
  
  
  
  
  body.theme-c .mm-app .mm-notice { border:1px solid var(--vg-line-strong); border-radius:8px; padding:16px 24px; line-height:1.85; }
  @media(max-width:767px) {
    body.theme-c .mm-app .mm-wrap:has(> .mm-body) { width:calc(100% - 32px); margin:24px auto; padding:24px 24px 32px; }
    body.theme-c .mm-app .mm-body p,body.theme-c .mm-app .mm-story p { font-size:20px; line-height:1.95; }
    body.theme-c .mm-app .mm-book { width:calc(100% - 28px); margin:16px auto; padding:24px 24px 48px; }
    body.theme-c .mm-app .mm-cover { padding:32px 0; }
    body.theme-c .mm-app .mm-cover h1 { font-size:30px; }
    body.theme-c .mm-app .mm-chapter h2 { font-size:24px; }
    body.theme-c .mm-app .mm-story h3 { font-size:24px; }
    body.theme-c .mm-app .mm-toc li { font-size:18px; align-items:start; }
    body.theme-c .mm-app .mm-toc li>span:last-child { white-space:nowrap; }
    body.theme-c .mm-app #mm-editor { margin-inline:-8px; padding:16px 16px; }
    body.theme-c .mm-app #mm-review { margin-inline:-8px; padding:16px 16px; }
    body.theme-c .mm-app #mm-review blockquote { padding:12px 16px; }
    body.theme-c .mm-app #mm-memory-reflection { padding:16px; }
    body.theme-c .mm-app .mm-ver { padding:16px; }
    body.theme-c .mm-scope { padding:24px 16px; }
  }
  @media(prefers-reduced-motion:reduce) {
    body.theme-c *,body.theme-c *::before,body.theme-c *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  }
}
@media screen {
  /* Round 5 — keyboard entry, visible gallery actions and robust focus/target finishing. */
  body.theme-c .vg-skip-link { position:fixed; z-index:1000; left:16px; top:12px; transform:translateY(-160%); padding:12px 24px; border:2px solid var(--ui-focus); border-radius:8px; background:var(--ui-surface); color:var(--ui-ink); font-size:18px; }
  body.theme-c .vg-skip-link:focus { transform:none; }
  
  body.theme-c #gallery-grid .gallery-item:has(.vg-photo-open) { padding-bottom:48px; }
  body.theme-c #gallery-grid .gallery-item:has(.vg-photo-open) > .absolute.inset-0 { bottom:50px; }
  body.theme-c #gallery-grid .vg-photo-open { position:absolute; inset:auto 0 0; width:100%; min-height:50px; padding:8px 12px; display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--ui-accent); background:var(--ui-surface); border:0; border-top:1px solid var(--ui-border); border-radius:0; font-size:16px; font-weight:600; text-align:left; }
  body.theme-c #gallery-grid .vg-photo-open:hover { background:var(--vg-soft); }
  body.theme-c #gallery-grid .vg-photo-open:focus-visible { outline-offset:-4px; }
  
  body.theme-c .mm-modal [tabindex="-1"]:focus-visible { outline-offset:4px; }
  body.theme-c :is(.mm-modal,.mm-scope) { scrollbar-gutter:stable; }
  body.theme-c :is(.mm-input,.mm-textarea,.mm-select):focus-visible { border-color:var(--ui-focus) !important; }
  body.theme-c :is(button,input,select,textarea)[aria-invalid="true"] { border-color:var(--vg-seal-dk) !important; }
  body.theme-c .mm-app .mm-rv-err { color:var(--vg-seal-dk); font-size:18px; }
  @media(max-width:390px) {
    body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions { column-gap:8px; }
    body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-actions .mm-iconbtn { padding-inline:8px; }
  }
}
@media print { .vg-skip-link,.vg-photo-open { display:none !important; } }
@media screen {
  body.theme-c .mm-scope .vg-scope-nav { position:sticky; top:-24px; z-index:3; display:flex; justify-content:flex-end; margin:-8px -8px 12px; padding:8px 8px; background:var(--ui-surface); border-bottom:1px solid var(--ui-border); }
  body.theme-c .mm-scope .vg-scope-nav button { font-size:16px; min-height:46px; padding:8px 16px; border-color:var(--ui-border); color:var(--ui-accent); }
  @media(max-width:767px) { body.theme-c .mm-scope .vg-scope-nav { top:-22px; } }
}

@layer vgogo-refinement { body.theme-c .mm-modal label:has(> [data-assembly-source]), body.theme-c .mm-modal label:has(> [data-assembly-include]) { min-height:48px; padding-block:12px; cursor:pointer; } }

/* fc75 follow-up: long book titles must not squeeze the shell's Back control. */
@media screen {
  body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-title > [data-act="back"] {
    flex:0 0 auto; min-width:86px; min-height:48px; white-space:nowrap;
  }
  body.theme-c #main-app.theme-memoir[data-group="memoir"] #shell-title > .shell-h1 {
    flex:1 1 auto; min-width:0; line-height:1.5; max-height:3em;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
    overflow:hidden; white-space:normal; overflow-wrap:anywhere;
  }
}

/* Shell/detail hotfix: preserve popovers and prioritize basic photo operations. */
@media screen {
  
  body.theme-c #detail-sidebar { overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; }
  body.theme-c #detail-sidebar > .overflow-y-auto { flex:0 0 auto; overflow:visible; min-height:0; }
  /* 大字工具栏按可用宽度排成等宽列，权限隐藏后自动补位。 */
  body.theme-c #detail-sidebar .detail-version-heading { display:grid; gap:12px; }
  body.theme-c #detail-sidebar .detail-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr)); gap:8px; }
  body.theme-c #detail-sidebar .detail-action { width:100%; min-width:0; min-height:48px; height:auto; padding:8px 8px; gap:4px; flex-wrap:wrap; border:1px solid var(--vg-line); border-radius:var(--vg-r-sm); background:var(--vg-paper); color:var(--vg-ink2); font-size:18px; line-height:1.5; }
  body.theme-c #detail-sidebar .detail-action:not(.hidden) { display:flex; align-items:center; justify-content:center; }
  body.theme-c #detail-sidebar .detail-action-label { white-space:nowrap; }
  body.theme-c #detail-sidebar .detail-action:hover:not(:disabled) { background:var(--vg-soft); border-color:var(--vg-line-strong); }
  body.theme-c #detail-sidebar .detail-action:active { background:var(--vg-seal-soft); }
  /* 缩略图与资料分列，完整保留横竖照片；层级缩进最多两级。 */
  body.theme-c #detail-version-list { display:grid; gap:12px; }
  body.theme-c #detail-version-list > .version-card { min-width:0; margin-block:0; margin-inline-start:calc(var(--version-depth,0) * 8px); padding:12px; border:1px solid var(--vg-line); border-radius:var(--vg-r-md); background:var(--vg-paper); }
  body.theme-c #detail-version-list > .version-card[data-active="1"] { border-color:var(--vg-seal); box-shadow:inset 3px 0 var(--vg-seal); }
  body.theme-c #detail-version-list > .version-card[data-active=""] { cursor:pointer; }
  body.theme-c #detail-version-list > .version-card[data-active=""]:hover { border-color:var(--vg-line-strong); }
  body.theme-c #detail-sidebar .version-card-body { display:grid; gap:12px; align-items:start; }
  body.theme-c #detail-sidebar .version-card-body.has-preview { grid-template-columns:96px minmax(0,1fr); }
  body.theme-c #detail-sidebar .version-preview-frame { display:block; width:100%; height:136px; min-width:0; padding:0; overflow:hidden; border:1px solid var(--vg-line); border-radius:var(--vg-r-sm); background:var(--vg-soft); cursor:zoom-in; }
  body.theme-c #detail-sidebar .version-preview-frame[aria-current] { cursor:default; }
  body.theme-c #detail-sidebar .version-preview-photo { display:block; width:100%; height:100%; object-fit:contain; opacity:1; }
  body.theme-c #detail-sidebar .version-card-info { min-width:0; color:var(--vg-ink2); font-size:18px; line-height:1.5; }
  body.theme-c #detail-sidebar .version-card-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; margin-bottom:8px; }
  body.theme-c #detail-sidebar .version-card-author { display:flex; align-items:center; gap:8px; min-width:0; color:var(--vg-ink); font-weight:600; }
  body.theme-c #detail-sidebar .version-card-author > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.theme-c #detail-sidebar .version-card-avatar { width:28px; height:28px; flex-shrink:0; object-fit:cover; border-radius:var(--vg-r-pill); }
  body.theme-c #detail-sidebar .version-upvote { min-width:48px; min-height:48px; justify-content:center; flex-wrap:nowrap; border-radius:var(--vg-r-sm); }
  body.theme-c #detail-sidebar .version-card-date { margin-top:4px; font-variant-numeric:tabular-nums; }
  body.theme-c #detail-sidebar .version-card-prompt { margin-top:8px; overflow-wrap:anywhere; }
  body.theme-c #detail-sidebar .version-card-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
  body.theme-c #detail-sidebar :is(.version-card-actions > button,.set-cover-btn) { display:flex; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:48px; padding:8px 8px; border:1px solid var(--vg-line); border-radius:var(--vg-r-sm); background:var(--vg-paper); color:var(--vg-ink2); font-size:18px; line-height:1.5; }
  body.theme-c #detail-sidebar .set-cover-btn { width:100%; margin-top:8px; }
  body.theme-c #detail-sidebar :is(.version-card-actions > button,.set-cover-btn):hover { background:var(--vg-soft); border-color:var(--vg-line-strong); }
  body.theme-c #detail-sidebar .version-cover-status { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:12px; padding:8px 8px; border-radius:var(--vg-r-sm); background:var(--vg-wait-soft); color:var(--vg-wait); font-size:18px; line-height:1.5; }
  body.theme-c #detail-sidebar #detail-comment-drawer { left:0; width:100%; }
  @media(max-width:767px) {
    body.theme-c #detail-image-wrap { min-width:0; min-height:0; }
    body.theme-c #detail-photo-frame { width:100%; height:100%; min-height:0; }
    body.theme-c #detail-main-img { width:100%; height:100%; }
  }
  @media(max-width:390px) {
    body.theme-c #detail-sidebar .version-card-body.has-preview { grid-template-columns:80px minmax(0,1fr); gap:8px; }
    body.theme-c #detail-sidebar .version-preview-frame { height:120px; }
  }
  body.theme-c #detail-sidebar > .flex-shrink-0 { padding-bottom:max(24px,env(safe-area-inset-bottom)); }
  body.theme-c #detail-close-btn { flex-shrink:0; white-space:nowrap; }
  body.theme-c #detail-creator { display:grid; grid-template-columns:28px minmax(0,1fr); gap:0 8px; min-width:0; max-width:calc(100% - 112px); }
  body.theme-c #detail-creator > img { grid-row:1 / 3; align-self:center; }
  body.theme-c #detail-creator > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.theme-c #user-dropdown > div:first-child { background:var(--ui-soft) !important; color:var(--ui-ink) !important; }
  body.theme-c #user-dropdown > div:first-child :is(div,span,i) { color:var(--ui-ink) !important; }
  body.theme-c #user-dropdown > div:first-child > .flex { flex-direction:column; align-items:flex-start; gap:8px; }
  body.theme-c #user-dropdown > div:first-child > .flex > div { width:100%; min-width:0; }
  body.theme-c #user-dropdown .dd-username { overflow-wrap:anywhere; }
  body.theme-c #user-dropdown .dd-score, body.theme-c #user-dropdown .dd-score + span { white-space:nowrap; }
  @media(max-width:767px) { body.theme-c #notif-panel { max-height:calc(100dvh - 188px); } }
}

/* 审查修复：筛选使用原生模态层，滚动只发生在字段区，操作区始终可达。 */
@media screen {
  body.theme-c #search-filter-panel {
    display:none; position:fixed; inset:0; margin:auto; padding:0;
    width:min(28rem,calc(100vw - 32px)); max-width:calc(100vw - 32px);
    max-height:calc(100vh - 32px);
    max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
    overflow:hidden; border:1px solid var(--vg-line-strong); border-radius:var(--vg-r-md);
    background:var(--vg-paper); color:var(--vg-ink); box-shadow:var(--vg-shadow-pop);
  }
  body.theme-c #search-filter-panel[open] { display:flex; flex-direction:column; }
  #search-filter-panel::backdrop { background:rgb(20 20 20 / .45); }
  #search-filter-panel .vg-filter-header, #search-filter-panel .vg-filter-footer {
    display:flex; flex:none; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px;
  }
  #search-filter-panel .vg-filter-header { border-bottom:1px solid var(--vg-line); }
  #search-filter-panel .vg-filter-header h2 { margin:0; font:700 20px/1.4 var(--vg-serif); }
  #search-filter-panel .vg-filter-fields { flex:1 1 auto; min-height:0; padding:16px 24px; overflow-y:auto; overscroll-behavior:contain; }
  #search-filter-panel .vg-filter-fields > div + div { margin-top:12px; }
  #search-filter-panel .vg-filter-fields :is(input:not([type="checkbox"]),select) { min-width:0; width:100%; max-width:100%; }
  #search-filter-panel .vg-filter-footer { border-top:1px solid var(--vg-line); background:var(--vg-paper); }
  #search-filter-panel .vg-filter-footer > button { white-space:nowrap; padding-inline:16px; }
  #search-filter-panel .vg-filter-footer > button:last-child { flex:1; }
  .persons-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .persons-filters > select { min-width:0; width:100%; max-width:100%; text-overflow:ellipsis; }
  .share-status { max-width:640px; margin:24px auto; padding:24px; color:var(--vg-ink); }
  .share-status h1 { font:700 24px/1.5 var(--vg-serif); }
  .share-status p { margin:16px 0 24px; font:18px/1.8 var(--vg-sans); color:var(--vg-ink2); }
  .share-status-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
  #auth-dialog form a { display:inline-flex; align-items:center; min-height:44px; }
  body.theme-c #editor-pin-cover-wrap { color:var(--vg-ink); background:var(--vg-wait-soft); border-color:var(--vg-wait); }
  body.theme-c #editor-pin-cover-wrap :is(span,i) { color:var(--vg-wait); }
  @media(max-width:640px) {
    .persons-filters { grid-template-columns:minmax(0,1fr); }
    #search-filter-panel .vg-filter-fields > .grid { grid-template-columns:minmax(0,1fr); }
    #view-profile .profile-actions { flex-wrap:wrap; }
    #view-profile button[onclick^="Profile.open"] { white-space:nowrap; flex-shrink:0; }
    #view-profile button[onclick^="Profile.open"] + button { margin-left:0; }
    #auth-dialog > .text-center { padding:24px 24px 12px; }
    #auth-dialog > .text-center .vgogo-book-mark { width:44px; height:44px; margin-bottom:8px; }
  }
}

@media screen {
  body.theme-c #editor-load-status { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; background:var(--vg-night); color:var(--vg-on-night); text-align:center; font:18px/1.7 var(--vg-sans); }
  body.theme-c #editor-load-status.hidden { display:none; }
  #editor-load-status p { max-width:28em; }
  #editor-load-status button { background:var(--vg-paper); color:var(--vg-ink); }
}
@media screen and (max-width:640px) {
  body.theme-c #editor-modal > div:first-child { position:relative; display:block; padding:8px 16px 12px; }
  body.theme-c #editor-modal > div:first-child > h2 { min-height:44px; padding-right:96px; }
  body.theme-c #editor-modal > div:first-child > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.theme-c #editor-modal :is(#editor-save-btn,#editor-upload-btn) { min-width:0; min-height:48px; padding:8px; justify-content:center; white-space:nowrap; font-size:16px; }
  body.theme-c #editor-modal :is(#editor-save-btn,#editor-upload-btn) > i { display:none; }
  body.theme-c #editor-close-btn { position:absolute; right:16px; top:8px; min-height:44px; padding:0 12px; width:auto; white-space:nowrap; }
}

@media screen and (max-width:640px) {
  #view-profile .profile-summary { flex-direction:column; align-items:flex-start; gap:12px; padding:16px; }
  #view-profile .profile-summary > .flex-1 { width:100%; min-width:0; }
  #view-profile .profile-summary #profile-avatar { width:64px; height:64px; }
  #view-profile .profile-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  #view-profile .profile-stats > div { min-width:0; }
  #view-profile .profile-stats > div > div:last-child { white-space:nowrap; }
}

/* 逐页报告落地：短操作保持完整标签，表单在窄屏保留清晰的下一步。 */
@media screen {
  .vg-form-note,.vg-form-feedback { color:var(--vg-ink2); font:16px/1.75 var(--vg-sans); }
  .vg-form-feedback { margin:12px 24px 0; padding:12px; border-left:3px solid var(--vg-info); background:var(--vg-soft); overflow-wrap:anywhere; }
  .vg-password-field { position:relative; width:100%; min-width:0; }
  .vg-password-field > input { width:100%; padding-right:80px; }
  .vg-password-field > button { position:absolute; right:4px; top:50%; transform:translateY(-50%); min-width:60px; min-height:44px; padding:4px 8px; background:transparent; border:0; color:var(--vg-ink2); font:16px var(--vg-sans); }
  .vg-password-field > button:hover { color:var(--vg-seal); }
  .vg-auth-recovery { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
  .vg-auth-recovery > button { min-height:44px; color:var(--vg-seal); text-decoration:underline; text-underline-offset:4px; }
  body.theme-c #view-points .points-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.theme-c #view-points .points-actions > button { justify-content:center; min-width:0; min-height:48px; white-space:nowrap; padding-inline:12px; }
  .settings-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .settings-danger { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--vg-line); }
  .settings-danger.hidden { display:none; }
  body.theme-c #space-settings-modal .settings-actions button { min-height:48px; white-space:nowrap; min-width:0; justify-content:center; }
  .settings-danger > button { flex:1 1 130px; }
  @media(max-width:767px) {
    #space-settings-modal .settings-actions > [data-settings-save] { grid-column:1/-1; order:1; }
    #space-settings-modal .settings-actions > .settings-cancel { grid-column:1/-1; order:2; }
  }
  .vg-upload-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding:12px; background:var(--vg-soft); border-radius:var(--vg-r-sm); }
  .vg-upload-summary p { min-width:0; flex:1 1 220px; color:var(--vg-ink); font:16px/1.75 var(--vg-sans); overflow-wrap:anywhere; }
  .vg-upload-summary button { min-height:44px; flex:none; }
  body.theme-c #persons-similar-entry-btn { color:var(--vg-seal); background:var(--vg-seal-soft); border-color:var(--vg-seal); }
  body.theme-c #persons-similar-entry-btn:hover { background:var(--vg-seal); color:var(--vg-on-seal); }
  body.theme-c #persons-grid .group:focus-within .opacity-0 { opacity:1; }
  :is(.vg-password-field button,#persons-similar-entry-btn,.mm-reader-tools button):focus-visible { outline:3px solid var(--vg-info); outline-offset:3px; }
  @media(max-width:459px) { #achievements-list { grid-template-columns:minmax(0,1fr); } }
  @media(max-width:359px) { body.theme-c #view-points .points-actions { grid-template-columns:minmax(0,1fr); } }
}

@media screen {
  .vg-task-details { margin-block:12px; font-size:16px; color:var(--vg-ink2); }
  .vg-task-details summary { cursor:pointer; min-height:44px; }
  .vg-task-details p { overflow-wrap:anywhere; line-height:1.75; padding-top:8px; }
  #compare-slider .compare-tools { position:absolute; inset:auto 12px 12px; z-index:30; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
  #compare-slider #compare-close { position:static; min-height:44px; background:var(--vg-night); color:var(--vg-on-night); }
  #compare-slider #compare-handle { min-width:44px; min-height:44px; touch-action:none; }
  #compare-slider #compare-handle:focus-visible { outline:3px solid var(--vg-info); outline-offset:4px; }
  @media(pointer:coarse) { body.theme-c #persons-grid .group > button { opacity:1; min-width:44px; min-height:44px; } }
}

/* 报告补全：照片先服务讲述，次要版本信息留在轻量工具区。 */
@media screen {
  body.theme-c #gallery-grid .gallery-item { border-radius:var(--vg-r-sm); box-shadow:none; background:var(--vg-paper); }
  body.theme-c .vg-photo-thumb { position:relative; background:var(--vg-soft); }
  body.theme-c .vg-photo-image-button { position:static; display:block; width:100%; min-height:100px; padding:0; border:0; background:transparent; }
  body.theme-c .vg-photo-image-button img { display:block; width:100%; }
  body.theme-c .vg-photo-ai { position:absolute; top:8px; left:8px; padding:4px 8px; background:var(--vg-night); color:var(--vg-on-night); font-size:12px; border-radius:var(--vg-r-sm); }
  body.theme-c .vg-photo-tools { position:absolute; right:8px; bottom:8px; display:flex; align-items:center; gap:12px; padding:4px 8px; color:var(--vg-on-night); background:var(--vg-night); font-size:12px; opacity:0; }
  body.theme-c .gallery-item:is(:hover,:focus-within) .vg-photo-tools { opacity:1; }
  body.theme-c .vg-photo-tools .upvote-btn { min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--vg-on-night); background:transparent; }
  body.theme-c .vg-photo-caption { padding:12px; font:14px/1.7 var(--vg-sans); color:var(--vg-ink2); }
  body.theme-c .vg-photo-caption p { margin:0; }
  body.theme-c .vg-photo-story { display:block; min-height:44px; padding-block:8px; color:var(--vg-seal); background:transparent; text-align:left; overflow-wrap:anywhere; }
  body.theme-c .vg-gallery-guidance { color:var(--vg-ink2); font:16px/1.8 var(--vg-sans); margin-bottom:16px; }
  body.theme-c .vg-active-filters { margin-bottom:24px; padding:16px; border:1px solid var(--vg-line); background:var(--vg-paper); }
  body.theme-c .vg-active-filters[hidden],body.theme-c #batch-memoir-btn[hidden] { display:none; }
  body.theme-c #photo-filter-chips { display:flex; flex-wrap:wrap; gap:8px; margin-block:12px; }
  body.theme-c .vg-filter-chip { min-height:44px; padding:8px 12px; color:var(--vg-ink); background:var(--vg-soft); border:1px solid var(--vg-line); border-radius:var(--vg-r-sm); }
  body.theme-c .vg-filter-unknown { display:flex; align-items:center; gap:12px; min-height:44px; }
  body.theme-c .vg-search-empty { column-span:all; padding-block:32px; color:var(--vg-ink2); }
  body.theme-c .vg-section-settings-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.theme-c .vg-section-settings-actions > button:first-child { grid-column:1/-1; margin-bottom:12px; }
  body.theme-c .vg-member-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block:16px; }
  body.theme-c .vg-member-filters > button { grid-column:1/-1; }
  body.theme-c .vg-member-filters input,body.theme-c .vg-member-filters select { width:100%; min-height:48px; padding:8px 12px; border:1px solid var(--vg-line-strong); border-radius:var(--vg-r-sm); background:var(--vg-paper); color:var(--vg-ink); }
  body.theme-c .vg-role-help > summary { min-height:44px; cursor:pointer; color:var(--vg-ink2); }
  body.theme-c .vg-role-help p { color:var(--vg-ink2); font:16px/1.8 var(--vg-sans); }
  body.theme-c .vg-album-memoirs { margin-bottom:32px; padding-block:24px; border-block:1px solid var(--vg-line); }
  body.theme-c .vg-album-memoirs > div:first-child { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-bottom:16px; }
  body.theme-c .vg-album-memoirs h3 { font:700 24px/1.5 var(--vg-serif); }
  body.theme-c .vg-album-book { display:block; text-align:left; min-height:44px; padding-block:8px; color:var(--vg-seal); background:transparent; }
  body.theme-c .vg-section-cover { display:block; width:100%; height:160px; object-fit:cover; margin-bottom:12px; border-radius:var(--vg-r-sm); }
  body.theme-c .vg-section-cover[hidden] { display:none; }
  body.theme-c .circle-card.has-photo-cover .circle-card-icon { display:none; }
  @media(pointer:coarse) { body.theme-c .vg-photo-tools { opacity:1; } }
  @media(max-width:767px) {
    body.theme-c .vg-photo-tools { position:static; justify-content:space-between; padding:0 8px; color:var(--vg-ink2); background:transparent; opacity:1; }
    body.theme-c .vg-photo-tools .upvote-btn { color:var(--vg-ink2); }
    body.theme-c .vg-member-filters { grid-template-columns:minmax(0,1fr); }
    body.theme-c #members-list > div { flex-wrap:wrap; }
    body.theme-c #members-list > div > div:last-child { margin-left:auto; }
  }
}
@media screen {
  body.theme-c .vg-editor-status { flex-shrink:0; padding:8px 24px; margin:0; background:var(--vg-night); color:var(--vg-on-night-dim); font:14px/1.7 var(--vg-sans); }
  body.theme-c #editor-workspace { min-height:0; }
  body.theme-c #editor-modal #editor-tools .editor-tool-btn { min-height:44px; }
  @media(max-width:767px) {
    body.theme-c #editor-workspace { display:block; overflow-y:auto; }
    body.theme-c #editor-canvas-wrap { min-height:220px; height:38dvh; }
    body.theme-c #editor-tools { width:100%; border-left:0; border-top:1px solid var(--vg-line); overflow:visible; }
    body.theme-c #editor-modal > div:first-child > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.theme-c #editor-modal :is(#editor-save-btn,#editor-upload-btn) { white-space:normal; line-height:1.4; }
  }
}
@media screen {
  body.theme-c #batch-more-actions { justify-content:center; min-height:48px; }
  body.theme-c #batch-more-actions[hidden],body.theme-c .vg-batch-status[hidden] { display:none; }
  body.theme-c #batch-actions-dialog {
    position:fixed; inset:0; margin:auto; padding:0;
    width:min(24rem,calc(100% - 24px));
    max-height:calc(100vh - 24px);
    max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
    overscroll-behavior:contain; border:1px solid var(--vg-line-strong);
  }
  #batch-actions-dialog::backdrop { background:rgb(20 20 20 / .45); }
  .vg-batch-dialog-header {
    display:flex; align-items:center; justify-content:space-between; gap:8px;
    padding:12px; border-bottom:1px solid var(--vg-line);
  }
  body.theme-c #batch-actions-title { margin:0; font:700 20px/1.4 var(--vg-serif); }
  .vg-batch-menu { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:12px; }
  body.theme-c .vg-batch-menu button {
    align-items:center; justify-content:center; gap:8px; min-height:48px; padding:8px;
    border:1px solid var(--vg-line-strong); border-radius:var(--vg-r-sm);
    background:var(--vg-paper); color:var(--vg-ink); line-height:1.4;
  }
  body.theme-c .vg-batch-menu button:hover { background:var(--vg-soft); }
  .vg-batch-menu button:focus-visible { outline:3px solid var(--vg-info); outline-offset:1px; }
  #batch-rotate-group,.vg-batch-menu-danger { grid-column:1/-1; }
  #batch-rotate-group { gap:8px; }
  #batch-rotate-group button { flex:1; min-width:0; }
  .vg-batch-menu-danger { border-top:1px solid var(--vg-line); padding-top:8px; }
  body.theme-c .vg-batch-menu #batch-delete-btn { width:100%; color:var(--vg-danger); }
  body.theme-c .vg-batch-status { color:var(--vg-ink2); font:14px/1.7 var(--vg-sans); }
}
@media screen and (max-width:767px) {
  body.theme-c #photo-toolbar:has(#batch-more-actions:not([hidden])) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; align-items:center; }
  body.theme-c #photo-toolbar #batch-memoir-btn { width:100%; padding:8px; font-size:16px; line-height:1.5; white-space:normal; }
  body.theme-c .vg-batch-status { grid-column:1/-1; }
}
@media screen and (min-width:500px) and (max-width:767px) and (orientation:landscape) {
  body.theme-c #photo-toolbar:has(#batch-more-actions:not([hidden])) { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.theme-c .vg-batch-status { grid-row:2; }
}
@media screen and (max-height:360px) {
  .vg-batch-dialog-header,.vg-batch-menu { padding:8px 8px; }
  .vg-batch-menu { row-gap:4px; }
}

/* 报告补全：修复为主、再创作按需展开；任务和账号状态可核对。 */
@media screen {
  body.theme-c #ai-preset-row { display:flex; flex-wrap:wrap; align-items:flex-start; }
  body.theme-c #ai-preset-row > .ai-preset-btn { flex:1; min-height:48px; font-size:16px; }
  body.theme-c .vg-ai-creative { width:100%; }
  body.theme-c .vg-ai-creative > summary { min-height:44px; cursor:pointer; padding:8px 0; }
  body.theme-c .vg-ai-creative p { font:14px/1.7 var(--vg-sans); color:var(--vg-ink2); margin-block:8px; }
  body.theme-c .vg-ai-creative-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.theme-c #ai-creative-prompts[hidden] { display:none; }
  body.theme-c .ai-preset-btn[aria-pressed="true"],body.theme-c .ai-spec-btn[aria-pressed="true"],body.theme-c .ai-task-filter[aria-pressed="true"] { border:2px solid var(--vg-seal); background:var(--vg-soft); color:var(--vg-seal); }
  body.theme-c #compare-handle { transform:translateX(-50%); background:linear-gradient(to right,transparent calc(50% - 1px),white calc(50% - 1px),white calc(50% + 1px),transparent calc(50% + 1px)); }
  body.theme-c #compare-handle > div { left:50%; }
  body.theme-c .vg-compare-note { flex-basis:100%; padding:8px 12px; margin:0; background:var(--vg-night); color:var(--vg-on-night); font:14px/1.7 var(--vg-sans); }
  body.theme-c .vg-compare-note output { display:block; }
  body.theme-c #comment-submit-btn { width:auto; min-width:64px; min-height:48px; padding:8px 12px; gap:8px; }
  body.theme-c .vg-task-type-filter { display:flex; align-items:center; gap:12px; margin-block:16px; }
  body.theme-c .vg-task-type-filter select { min-height:48px; padding:8px 12px; background:var(--vg-paper); color:var(--vg-ink); border:1px solid var(--vg-line-strong); border-radius:var(--vg-r-sm); }
  body.theme-c .vg-task-extra-filters { display:flex; gap:8px; flex-wrap:wrap; }
  body.theme-c .vg-task-card { padding:24px; border:1px solid var(--vg-line); background:var(--vg-paper); border-radius:var(--vg-r-sm); }
  body.theme-c .vg-task-main { display:flex; align-items:flex-start; gap:16px; }
  body.theme-c .vg-task-main img { width:96px; height:96px; object-fit:cover; border-radius:var(--vg-r-sm); }
  body.theme-c .vg-task-main > div { min-width:0; }
  body.theme-c .vg-task-main h3 { font:700 20px/1.5 var(--vg-serif); }
  body.theme-c .vg-task-main p,body.theme-c .vg-task-refund { color:var(--vg-ink2); font:14px/1.7 var(--vg-sans); overflow-wrap:anywhere; }
  body.theme-c .vg-task-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
  body.theme-c .vg-profile-books { padding-block:16px 24px; border-bottom:1px solid var(--vg-line); }
  body.theme-c .vg-profile-books h2 { font:700 24px/1.5 var(--vg-serif); }
  body.theme-c #profile-book-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:24px; }
  body.theme-c #profile-book-stats p { color:var(--vg-ink2); font:14px/1.7 var(--vg-sans); }
  body.theme-c #profile-book-stats strong { display:block; color:var(--vg-ink); font:700 30px/1.4 var(--vg-serif); }
  body.theme-c .vg-profile-continue { display:block; min-height:48px; color:var(--vg-seal); text-align:left; padding-block:8px; margin-bottom:12px; background:transparent; overflow-wrap:anywhere; }
  body.theme-c #persons-grid .group:focus-within > button { opacity:1; }
  body.theme-c #persons-grid .group > button:focus-visible { outline:3px solid var(--vg-info); }
  @media(max-width:767px) {
    body.theme-c .vg-task-main img { width:72px; height:72px; }
    body.theme-c .vg-task-actions > button { width:100%; }
  }
}
@media screen {
  body.theme-c .vg-person-photo { display:block; width:100%; padding:0; }
  body.theme-c .vg-person-menu { min-width:44px; min-height:44px; }
  body.theme-c #persons-unnamed-task[aria-pressed="true"] { background:var(--vg-seal); color:var(--vg-paper); }
  body.theme-c :is(#view-persons,#similar-people-modal) [class*="text-violet"] { color:var(--vg-seal); }
  body.theme-c :is(#view-persons,#similar-people-modal) [class*="bg-violet"] { background:var(--vg-soft); }
  body.theme-c #similar-people-modal [class*="border-violet"] { border-color:var(--vg-line-strong); }
  body.theme-c .vg-similar-candidate [class*="from-violet"] { background:var(--vg-seal); }
  body.theme-c .vg-similar-candidate { min-width:0; border-bottom:1px solid var(--vg-line); padding-bottom:16px; }
  body.theme-c .vg-similar-candidate > button { flex-wrap:wrap; }
  body.theme-c .vg-similar-candidate > button > div:last-child { flex-basis:100%; text-align:left; }
  body.theme-c .vg-similar-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.theme-c .vg-similar-preview img { width:100%; height:160px; object-fit:contain; background:var(--vg-soft); }
  body.theme-c .vg-similar-preview figcaption { font:14px/1.7 var(--vg-sans); }
}
@media screen {
  body.theme-c #persons-grid .vg-person-menu { width:auto; padding:8px; background:var(--vg-paper); color:var(--vg-ink); border:1px solid var(--vg-line-strong); }
  body.theme-c :is(#profile-edit-modal,#profile-password-modal) > .relative { max-height:calc(100dvh - 32px); overflow-y:auto; }
  body.theme-c .ai-task-filter { min-height:44px; padding:8px 16px; border:1px solid var(--vg-line-strong); color:var(--vg-ink2); background:var(--vg-paper); font:16px/1.5 var(--vg-sans); }
}
@media screen {
  body.theme-c .vg-point-row { padding-block:16px; border-bottom:1px solid var(--vg-line); color:var(--vg-ink2); font:14px/1.7 var(--vg-sans); }
  body.theme-c .vg-point-row-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
  body.theme-c .vg-point-row-head h3 { color:var(--vg-ink); font:600 18px/1.6 var(--vg-sans); }
  body.theme-c .vg-point-row-head strong { flex-shrink:0; white-space:nowrap; color:var(--vg-ink); }
}
@media screen {
  body.theme-c #ai-connections-users button[aria-pressed="true"] { background:var(--vg-seal); color:var(--vg-paper); border-color:var(--vg-seal); }
}
@media screen {
  body.theme-c #similar-people-modal .vg-similar-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start; background:var(--vg-paper); color:var(--vg-ink); }
  body.theme-c .vg-similar-header > div { min-width:0; }
  body.theme-c .vg-similar-header p { margin:12px 0 0; color:var(--vg-ink2); }
  body.theme-c .vg-similar-header > button { min-width:64px; min-height:44px; white-space:nowrap; color:var(--vg-ink2); }
}
@media screen {
  body.theme-c #download-app-modal > div { width:min(860px,100%); max-width:860px; max-height:calc(100dvh - 32px); overflow-y:auto; }
  body.theme-c #download-app-modal > div > button { z-index:1; }
  body.theme-c .vg-download-platforms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
  body.theme-c .vg-download-platforms > div { min-width:0; gap:16px; justify-content:flex-start; }
  body.theme-c .vg-download-qr { margin:0; text-align:center; }
  body.theme-c .vg-download-qr img { display:block; width:180px; height:180px; margin:auto; background:white; }
  body.theme-c .vg-download-qr figcaption,body.theme-c .vg-download-install { color:var(--vg-ink2); font:14px/1.8 var(--vg-sans); }
  body.theme-c .vg-download-install { text-align:left; }
  body.theme-c .vg-download-install summary { min-height:44px; padding-block:8px; cursor:pointer; }
  body.theme-c .vg-download-install ol { list-style:decimal; padding-left:24px; }
  body.theme-c #download-android-link[aria-disabled="true"] { color:var(--vg-ink2); background:var(--vg-soft); cursor:not-allowed; }
  @media(max-width:767px) {
    body.theme-c .vg-download-platforms { display:flex; flex-direction:column; }
    body.theme-c .vg-download-qr { display:none; }
    body.theme-c #download-app-modal[data-platform="android"] [data-download-platform="android"],body.theme-c #download-app-modal[data-platform="ios"] [data-download-platform="ios"] { order:-1; }
    body.theme-c #download-app-modal > div > .p-8 { padding:24px 24px; }
  }
}
@media screen {
  body.theme-c .vg-moderation-filters { display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
  body.theme-c .vg-moderation-filters select { display:block; min-height:48px; padding:8px 12px; border:1px solid var(--vg-line-strong); color:var(--vg-ink); background:var(--vg-paper); }
  body.theme-c .vg-moderation-card { padding:24px; border:1px solid var(--vg-line); border-radius:var(--vg-r-sm); background:var(--vg-paper); }
  body.theme-c .vg-moderation-heading { display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
  body.theme-c .vg-moderation-heading > button { width:96px; flex-shrink:0; padding:0; }
  body.theme-c .vg-moderation-heading img { width:100%; height:96px; object-fit:cover; }
  body.theme-c .vg-moderation-heading h3 { font:700 20px/1.6 var(--vg-serif); }
  body.theme-c .vg-moderation-card p { margin-block:12px; color:var(--vg-ink2); font:16px/1.8 var(--vg-sans); overflow-wrap:anywhere; }
  body.theme-c .vg-moderation-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
  body.theme-c .vg-moderation-actions > button:last-child { margin-top:12px; }
  @media(max-width:767px) { body.theme-c .vg-moderation-actions { flex-direction:column; } }
}
@media screen { body.theme-c #download-app-modal:not([data-apk-state="ready"]) [data-download-platform="android"] .vg-download-qr { display:none; } }
@media screen {
  body.theme-c #report-modal > div { max-height:calc(100dvh - 32px); overflow-y:auto; }
  body.theme-c #report-create-fields[hidden],body.theme-c #report-my-photo[hidden] { display:none; }
  body.theme-c .vg-report-lookup { display:flex; flex-direction:column; gap:12px; padding-top:24px; border-top:1px solid var(--vg-line); }
  body.theme-c .vg-report-lookup input { min-height:48px; padding:8px 12px; background:var(--vg-paper); border:1px solid var(--vg-line-strong); color:var(--vg-ink); }
}
@media screen { body.theme-c #report-lookup-panel > summary { cursor:pointer; min-height:44px; padding-block:8px; color:var(--vg-ink2); } }

/* 通知把具体内容与下一步放在同一条目内，保留纸面与墨色。 */
@media screen {
  body.theme-c #notif-panel.vg-notif-panel { position:absolute; right:0; z-index:var(--vg-z-pop); width:420px; max-height:min(720px,calc(100dvh - 110px)); display:flex; flex-direction:column; overflow:hidden; background:var(--vg-paper); color:var(--vg-ink); border:1px solid var(--vg-line); border-radius:var(--vg-r-md); box-shadow:var(--vg-shadow-pop); }
  body.theme-c #notif-panel.hidden { display:none; }
  .vg-notif-header { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px; border-bottom:1px solid var(--vg-line); }
  .vg-notif-header h2 { margin:0; font:600 var(--vg-fs-base)/1.5 var(--vg-sans); }
  .vg-notif-header button,.vg-notif-footer button,.vg-notif-error button { min-height:var(--vg-tap); font-size:var(--vg-fs-sm); color:var(--vg-seal); text-align:left; }
  .vg-notif-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:12px 16px; border-bottom:1px solid var(--vg-line); }
  .vg-notif-tabs button { min-height:var(--vg-tap); padding:8px 12px; border:1px solid var(--vg-line); border-radius:var(--vg-r-pill); font-size:var(--vg-fs-sm); color:var(--vg-ink2); }
  .vg-notif-tabs button.is-active { background:var(--vg-seal-soft); border-color:var(--vg-seal); color:var(--vg-seal); }
  .vg-notif-list { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 16px; }
  .vg-notif-item { width:100%; display:flex; align-items:flex-start; gap:12px; padding:16px 2px; text-align:left; border-bottom:1px solid var(--vg-line); color:var(--vg-ink); }
  .vg-notif-item:hover { background:var(--vg-soft); }
  .vg-notif-thumb { width:52px; height:60px; flex:none; display:grid; place-items:center; overflow:hidden; border-radius:var(--vg-r-sm); background:var(--vg-soft); color:var(--vg-ink2); font-size:24px; }
  .vg-notif-thumb img { width:100%; height:100%; object-fit:cover; }
  .vg-notif-copy { display:flex; flex-direction:column; min-width:0; gap:4px; flex:1; overflow-wrap:anywhere; }
  .vg-notif-label { display:flex; align-items:center; gap:8px; font-size:var(--vg-fs-base); line-height:1.6; font-weight:600; }
  .vg-notif-dot { width:7px; height:7px; border-radius:50%; background:var(--vg-seal); flex:none; }
  .vg-notif-context { font-size:var(--vg-fs-sm); line-height:1.7; color:var(--vg-ink); }
  .vg-notif-detail { color:var(--vg-ink2); font-size:var(--vg-fs-sm); line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .vg-notif-time { font-size:var(--vg-fs-xs); color:var(--vg-ink2); }
  .vg-notif-action { color:var(--vg-seal); font-size:var(--vg-fs-sm); line-height:1.6; }
  .vg-notif-note,.vg-notif-empty,.vg-notif-error { margin:12px 0; color:var(--vg-ink2); font-size:var(--vg-fs-sm); line-height:1.7; }
  .vg-notif-empty { text-align:center; padding:24px 0; }
  .vg-notif-error { color:var(--vg-danger); }
  .vg-notif-more,.vg-notif-close { width:100%; min-height:var(--vg-tap); font-size:var(--vg-fs-sm); padding:12px; color:var(--vg-seal); }
  .vg-notif-close { border-top:1px solid var(--vg-line); color:var(--vg-ink); }
  .vg-notif-footer { display:flex; flex-wrap:wrap; column-gap:16px; padding-block:8px; }
  .vg-notif-panel button:focus-visible { outline:2px solid var(--vg-info); outline-offset:-2px; }
  #reset-password-submit:disabled { background:var(--vg-soft); color:var(--vg-ink2); box-shadow:none; cursor:not-allowed; opacity:1; }
  #reset-password-view input:disabled { color:var(--vg-ink2); cursor:not-allowed; }
  @media(max-width:767px) {
    body.theme-c #notif-panel.vg-notif-panel { position:fixed; top:70px; right:12px; left:12px; width:auto; max-height:calc(100dvh - 166px); }
    .vg-notif-header { padding:12px 16px; }
    .vg-notif-tabs { gap:4px; }
    .vg-notif-tabs button { padding-inline:12px; }
  }
}
.vg-auth-return-context{margin:0 32px 16px;padding:12px 16px;border-left:3px solid var(--vg-seal);background:var(--vg-seal-soft);color:var(--vg-ink);font-size:var(--vg-fs-base);line-height:1.65;overflow-wrap:anywhere}
.vg-auth-return-context[hidden]{display:none}
body.theme-c #auth-dialog[data-auth-mode="register"] .vg-auth-heading{padding:16px 24px 8px}
body.theme-c #auth-dialog[data-auth-mode="register"] .vg-auth-heading .vgogo-book-mark{width:36px;height:36px;margin-bottom:8px}
body.theme-c #auth-dialog[data-auth-mode="register"] .vg-auth-heading p{display:none}
body.theme-c #auth-dialog[data-auth-mode="register"] .vg-auth-heading h1{font-size:20px;line-height:1.4}

/* 流式字号改成两档字阶：小屏取下限，≥64rem 取上限 */
@media (min-width: 64rem) {
  .share-status h1 { font-size: 30px; }
}

/* 流式留白改成两档间距：小屏取下限，≥64rem 取上限 */
@media (min-width: 64rem) {
  .share-status { margin: 80px auto; }
}
