/* 登录后全界面的首页风格：统一色板与字号；只作用于屏幕，保留原印刷规则。 */
@media screen {
  body.theme-c {

    --vg-bg:#101a17;--vg-paper:#14231d;--vg-soft:#1c3026;
    --vg-ink:#f3ecd9;--vg-ink2:#c1c8bc;--vg-ink3:#a7b5a9;
    --vg-line:rgba(243,236,217,.2);--vg-line-strong:rgba(243,236,217,.4);
    --vg-seal:#d7e8b7;--vg-seal-dk:#edf4dd;--vg-seal-soft:rgba(215,232,183,.08);--vg-on-seal:#101a17;
    --vg-info:#d7e8b7;--vg-ok:#b4dca8;--vg-ok-soft:rgba(180,220,168,.08);
    --vg-wait:#e8c587;--vg-wait-soft:rgba(232,197,135,.08);--vg-danger:#f5a394;
    --vg-r-sm:4px;--vg-r-md:6px;--vg-shadow-pop:0 24px 80px rgba(0,0,0,.4);
    --site-page:var(--vg-bg);--site-card:var(--vg-paper);--site-soft:var(--vg-soft);
    --site-ink:var(--vg-ink);--site-muted:var(--vg-ink2);--site-accent:var(--vg-seal);
    --site-line:var(--vg-line);--site-control:var(--vg-line-strong);--site-focus:var(--vg-info);
    --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);
    --mm-page:var(--vg-bg);--mm-surface:var(--vg-paper);--mm-soft:var(--vg-soft);
    --mm-text:var(--vg-ink);--mm-secondary:var(--vg-ink2);--mm-accent:var(--vg-seal);
    --mm-accent-hover:var(--vg-seal-dk);--mm-accent-soft:var(--vg-seal-soft);
    --mm-border:var(--vg-line-strong);--mm-line:var(--vg-line);--mm-focus:var(--vg-info);
    --mm-radius:4px;--mm-font:var(--vg-sans);
    --scope-text:var(--vg-ink);--scope-accent:var(--vg-seal);--scope-border:var(--vg-line-strong);
    --m-text:var(--vg-ink);--m-accent:var(--vg-seal);--m-border:var(--vg-line-strong);--m-soft:var(--vg-seal-soft);
    --vg-night:#080e0c;--vg-on-night:#f3ecd9;--vg-on-night-dim:#c1c8bc;
    color-scheme:dark;
  
  }
  body.theme-c{font:400 var(--pub-size-body)/var(--pub-leading-body) var(--vg-sans);background:var(--vg-bg);color:var(--vg-ink)}
  body.theme-c #main-app.theme-memoir{background:var(--vg-bg);color:var(--vg-ink)}
  body.theme-c :is(#vg-top,#vg-pagebar,#tabbar){background:var(--vg-bg);border-color:var(--vg-line);box-shadow:none}
  body.theme-c #main-app.theme-memoir #sidebar{background:var(--vg-bg);border-color:var(--vg-line)}
  body.theme-c #main-app :is(.shell-h1,#gallery-title){font:500 var(--pub-size-heading)/1.5 var(--vg-serif);color:var(--vg-ink)}
  body.theme-c #main-app #vg-top .vg-nav .nav-primary{font:500 var(--pub-size-control)/1.7 var(--vg-sans);color:var(--vg-ink2)}
  body.theme-c #main-app #vg-top .vg-nav .nav-primary.is-active{color:var(--vg-seal)}
  body.theme-c #main-app #vg-top .vg-brand{font:500 var(--pub-size-control)/1.7 var(--vg-sans)}
  body.theme-c #sidebar :is(h3,.nav-item){font-size:var(--pub-size-control)}
  body.theme-c #sidebar .nav-item.bg-glass{background:var(--vg-seal-soft);border-color:var(--vg-line)}
  body.theme-c #tabbar button{font-size:var(--pub-size-control);color:var(--vg-ink2)}
  body.theme-c #tabbar button.is-active{color:var(--vg-seal);background:var(--vg-seal-soft)}
  body.theme-c :is(.text-xs,[class~="text-[9px]"],[class~="text-[10px]"],[class~="text-[11px]"],[class~="text-[12px]"],[class~="text-[13px]"],.site-c-inline-small){font-size:var(--pub-size-caption) !important;line-height:1.8 !important}
  body.theme-c :is(.text-sm,.text-base){font-size:var(--pub-size-body) !important;line-height:var(--pub-leading-body)}
  body.theme-c :is(.text-lg,.text-xl){font-size:var(--pub-size-heading);line-height:1.6}
  body.theme-c :is(#main-app,.fixed,.modal-overlay,dialog,#profile-edit-modal,#profile-password-modal,#avatar-picker-modal,.site-c-confirm-overlay) :is(h1,h2,h3,h4){font-family:var(--vg-serif);font-weight:500;color:var(--vg-ink)}
  body.theme-c .view-section :is(h1,h2).text-2xl{font-size:var(--pub-size-section);line-height:1.5}
  body.theme-c .view-section h3{font-size:var(--pub-size-heading);line-height:1.6}
  /* 旧 utility 与内联字号的兼容出口：所有文字操作使用同一档，图标保持独立尺寸。 */
  body.theme-c :is(#main-app,.fixed,.modal-overlay,dialog,#detail-overlay,#editor-modal,#profile-edit-modal,#profile-password-modal,#avatar-picker-modal,.site-c-confirm-overlay) :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=range]),.ai-admin-button){font-size:var(--pub-size-control) !important;line-height:1.7;border-radius:var(--desk-control,4px);box-shadow:none}
  body.theme-c :is(#main-app,.fixed,.modal-overlay,dialog,#detail-overlay,#editor-modal,#profile-edit-modal,#profile-password-modal) button :is(.text-xs,.text-sm,.site-c-control-label,.mm-control-label,span:not([class])){font-size:inherit !important}
  body.theme-c :is(#main-app,.fixed,.modal-overlay,dialog,#detail-overlay,#editor-modal,#profile-edit-modal,#profile-password-modal) textarea{font-size:var(--pub-size-body) !important;line-height:var(--pub-leading-body);border-radius:4px}
  body.theme-c :is(.modal-overlay,dialog,#profile-edit-modal,#profile-password-modal) :is(label,p.text-sm){font-size:var(--pub-size-body) !important}
  body.theme-c :is(.modal-overlay,dialog,#profile-edit-modal,#profile-password-modal) :is(h2,h3){font-size:var(--pub-size-heading)}
  body.theme-c :is(.modal-overlay,dialog,.site-c-confirm-overlay){scrollbar-color:var(--vg-ink3) var(--vg-bg)}
  body.theme-c .modal-overlay:not(#auth-modal){background:rgba(4,12,8,.8);backdrop-filter:blur(12px)}
  body.theme-c :is(.modal-overlay>div,#profile-edit-modal>.relative,#profile-password-modal>.relative,#avatar-picker-modal>.relative,.site-c-dialog-card,#ai-connection-dialog){background:var(--vg-paper);color:var(--vg-ink);border:1px solid var(--vg-line);border-radius:4px;box-shadow:var(--vg-shadow-pop)}
  body.theme-c #main-app :is(.bg-dark-card,[class~="bg-dark-card/60"],[class~="bg-dark-card/50"],[class~="bg-white/5"]):not(img){border-radius:4px;box-shadow:none}
  body.theme-c :is(.ai-admin-button,.ai-admin-input){border-radius:4px}
  body.theme-c :is(#search-filter-panel,#notif-panel,#user-dropdown){background:var(--vg-paper);border-color:var(--vg-line);border-radius:4px}
  body.theme-c #gallery-filter-tabs{background:var(--vg-paper) !important;border:1px solid var(--vg-line);border-radius:4px}
  body.theme-c #gallery-filter-tabs button{font-size:var(--pub-size-control) !important;border-radius:2px}
  body.theme-c #photo-toolbar :is(#batch-select-btn,#upload-btn)>span{font-size:var(--pub-size-control)}
  body.theme-c .gallery-item{border-radius:4px;border-color:var(--vg-line)}
  body.theme-c .profile-summary{border-radius:4px;border-color:var(--vg-line)}
  body.theme-c :is(input,textarea,select)::placeholder{color:var(--vg-ink3);opacity:1}
  body.theme-c :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--vg-info) !important}
  body.theme-c button:active:not(:disabled){filter:brightness(.93)}
  body.theme-c :is(.bg-brand-primary,[class*="from-brand-primary"],.ai-admin-primary):where(:not(:disabled)){background:var(--vg-seal) !important;color:var(--vg-on-seal) !important;box-shadow:none}
  body.theme-c :is(.bg-brand-primary,[class*="from-brand-primary"],.ai-admin-primary):hover:not(:disabled){background:var(--vg-seal-dk) !important}
  body.theme-c :is(button,input,textarea,select):disabled{color:var(--vg-ink3) !important;background:var(--vg-soft) !important;border-color:var(--vg-line) !important}
  body.theme-c :is(.role-badge-owner,.role-badge-admin,.role-badge-member,.vg-badge){font-size:var(--pub-size-caption)}
  body.theme-c #view-signin :is(.bg-gradient-to-r,.bg-gradient-to-br){background:var(--vg-paper);border-color:var(--vg-line)}
  /* 照片与画布上的字始终用浅色，不能随主按钮的深色字一起映射。 */
  body.theme-c #gallery-grid .gallery-item>.absolute.inset-0 :is(button,span,i),body.theme-c #gallery-grid .gallery-item>.absolute.inset-0{color:var(--vg-on-night) !important}
  body.theme-c .site-c-photo-surface :is(.text-white,.text-gray-100,.text-gray-200,.text-gray-300,.text-gray-400,.text-gray-500){color:var(--vg-on-night) !important}
  body.theme-c .site-c-photo-surface :is(button,.site-c-photo-label),body.theme-c .site-c-photo-surface button :is(span,i){color:var(--vg-on-night) !important}
  body.theme-c :is(#detail-sidebar,#detail-comment-drawer,#detail-comments){background:var(--vg-paper);color:var(--vg-ink);border-color:var(--vg-line)}
  body.theme-c #detail-overlay{background:var(--vg-night)}
  body.theme-c .photo-detail-tabs>button{font-size:var(--pub-size-control)}
  body.theme-c :is(.photo-creator-name,.photo-creator-date){font-size:var(--pub-size-caption)}
  body.theme-c :is(.mm-app,.mm-modal) .mm-iconbtn{border-radius:4px}
  body.theme-c .mm-app .mm-book{font-family:var(--vg-sans)}
  body.theme-c .mm-app :is(.mm-cover h1,.mm-chapter h2,.mm-story h3){font-family:var(--vg-serif)}
  @media(max-width:767px){body.theme-c #vg-top .vg-navrow{min-height:64px}body.theme-c #sidebar{background:var(--vg-bg)}body.theme-c .profile-summary{align-items:flex-start}body.theme-c .profile-summary .profile-actions{flex-wrap:wrap}}
}
@media screen {
  body.theme-c #circles-list .circle-item{min-width:0;gap:12px;flex-wrap:nowrap}
  body.theme-c #circles-list .circle-item>div{min-width:0}
  body.theme-c #circles-list .circle-item>span{flex-shrink:0;white-space:nowrap;font-size:var(--pub-size-caption) !important}
  body.theme-c #circles-list .circle-settings-btn{flex:none;min-width:44px;width:44px;padding:0}
  body.theme-c #gallery-grid .gallery-item>[class*="bg-black"]{color:var(--vg-on-night) !important;background:rgba(8,14,12,.85) !important}
  body.theme-c #gallery-grid .gallery-item>[class*="bg-black"] :is(span,i){color:var(--vg-on-night) !important}
  body.theme-c #detail-overlay>.photo-detail-header :is(button,span,i),body.theme-c #detail-close-btn{color:var(--vg-on-night) !important}
  body.theme-c #detail-overlay .photo-repair-label label{font-size:var(--pub-size-body)}
  body.theme-c #detail-overlay :is(#ai-prompt-count,#ai-spec-row .ai-spec-btn>span:last-of-type){font-size:var(--pub-size-caption)}
  body.theme-c #detail-overlay #ai-spec-row .ai-spec-btn>span:first-of-type{font-size:var(--pub-size-control)}
  body.theme-c .site-c-photo-surface{color:var(--vg-on-night)}
  body.theme-c #editor-modal :is(h2,h3){font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  body.theme-c #editor-pin-cover-wrap{border-radius:4px}
  /* 从积分中心进入的收银台同样复用本样式；渠道标志和订单流程保留。 */
  body.checkout-film{background-image:none;font-family:var(--vg-sans)}
  body.checkout-film :is(header,.bottom-bar){background:var(--vg-bg);border-color:var(--vg-line);backdrop-filter:none}
  body.checkout-film header h1{font:500 var(--pub-size-heading)/1.6 var(--vg-serif);color:var(--vg-ink);background:none;-webkit-text-fill-color:var(--vg-ink)}
  body.checkout-film :is(.plan-card,.pack-card,.user-info-card,.channel-panel,.error-card,.market-select){border-radius:4px;box-shadow:none;background:var(--vg-paper);border-color:var(--vg-line)}
  body.checkout-film :is(button,.pay-btn,.recheck-order,select){font:500 var(--pub-size-control)/1.7 var(--vg-sans);border-radius:4px}
  body.checkout-film :is(.plan-title,.section-title,.error-title){font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  body.checkout-film :is(.plan-desc,.plan-features,.user-info,.product-desc,.error-desc,.channel-subtitle){font-size:var(--pub-size-body);line-height:var(--pub-leading-body)}
  body.checkout-film :is(.plan-tip,.terms-text,.price-label,.pay-hint,.plan-period,.plan-price span){font-size:var(--pub-size-caption);line-height:1.8}
  body.checkout-film :is(.pay-btn,.pay-btn span){color:var(--vg-on-seal)}
  body.checkout-film .pay-btn:disabled,body.checkout-film .pay-btn:disabled span{background:var(--vg-soft);color:var(--vg-ink2);box-shadow:none}
  body.checkout-film .pay-btn:disabled{border:1px solid var(--vg-line-strong)}
  body.checkout-film :is(.plan-card.selected,.pack-card.selected){border-color:var(--vg-seal);background:var(--vg-seal-soft)}
  body.checkout-film #error-overlay{background:rgba(4,12,8,.9)}
}
@media screen {
  body.theme-c .view-section:not(#view-memoir) :is(h2,h3,h4),body.theme-c :is(.modal-overlay,dialog,#profile-edit-modal,#profile-password-modal) :is(h2,h3,h4){font-size:var(--pub-size-heading) !important;line-height:1.6}
  body.theme-c .view-section :is(h1,h2).text-2xl{font-size:var(--pub-size-section) !important;line-height:1.5}
}
@media screen {
  body.theme-c #circles-list .circle-settings-btn .site-c-control-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body.theme-c #main-app button:is([class*="bg-violet-"],[class*="bg-purple-"],[class*="bg-brand-primary/"]){background:var(--vg-seal-soft) !important;color:var(--vg-seal) !important;border-color:var(--vg-line-strong)}
  body.theme-c :is(.text-violet-200,.text-violet-300,.text-violet-400){color:var(--vg-seal) !important}
  body.theme-c #main-app :is([class*="border-brand-primary/"],[class*="border-brand-secondary/"]){border-color:var(--vg-line-strong)}
  body.theme-c #main-app button:is([class*="from-green-500"],.bg-green-500,.bg-green-600){background:var(--vg-seal) !important;color:var(--vg-on-seal) !important}
  body.checkout-film #error-overlay:not(.active){visibility:hidden}
}
@media screen {
  body.checkout-film .user-panel{border-radius:4px;box-shadow:none;backdrop-filter:none}
  body.checkout-film a:not(.vg-btn){color:var(--vg-seal);font-size:var(--pub-size-control);text-underline-offset:4px}
  body.checkout-film a.vg-btn--seal{color:var(--vg-on-seal)}
  body.checkout-film .avatar-wrapper{color:var(--vg-on-seal);box-shadow:none;font-family:var(--vg-sans)}
  body.checkout-film :is(.plan-name,.pack-amount){font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  body.checkout-film :is(.vip-badge,.plan-tag){font-size:var(--pub-size-caption)}
  body.checkout-film .plan-card::after{border-radius:4px}
}
@media screen {
  body.theme-c :is(.view-section,.modal-overlay,dialog) :is(.rounded-xl,.rounded-2xl,.rounded-3xl):not(img){border-radius:4px}
  body.theme-c :is([class*="bg-blue-500/"],[class*="bg-indigo-500/"],[class*="bg-purple-500/"],[class*="bg-violet-500/"]){background:var(--vg-seal-soft) !important;border-color:var(--vg-line)}
  body.checkout-film :is(p,.plan-features,.plan-features li){font-weight:400}
}
@media screen {
  body.theme-c .mm-app #mm-review :is(p,li,blockquote){font-size:var(--pub-size-body);line-height:var(--pub-leading-body)}
  body.theme-c .mm-app #mm-review summary{font-size:var(--pub-size-control)}
  body.theme-c .mm-app #mm-memory-reflection h3{font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  body.theme-c .mm-app .mm-answer-saved p{font-size:var(--pub-size-body)}
  body.theme-c .mm-app .mm-wrap:has(#mm-share-pw) p{font-size:var(--pub-size-body) !important}
  body.theme-c .mm-app .mm-noprint a{font-size:var(--pub-size-control) !important}
  body.theme-c #search-filter-panel .vg-filter-header h2{font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
  @media(max-width:600px){
    body.theme-c #batch-edit-modal>div>div:first-child{flex-wrap:wrap;gap:12px;padding:16px}
    body.theme-c #batch-edit-modal>div>div:first-child>div{min-width:0;flex-wrap:wrap}
    body.theme-c #batch-edit-modal>div>div:nth-child(2){padding:16px}
    body.theme-c #batch-edit-modal>div>div:last-child{flex-direction:column;align-items:stretch;gap:12px;padding:16px}
    body.theme-c #batch-edit-modal>div>div:last-child>div{flex-wrap:wrap;justify-content:flex-end}
    body.theme-c #batch-edit-modal button{min-width:0}
    body.theme-c #batch-edit-modal .grid-cols-2{grid-template-columns:minmax(0,1fr)}
  }
}
@media screen {
  /* 旧适老层给弹窗内所有 flex 开启换行；纵向骨架必须保持单列，内容区自行滚动。 */
  body.theme-c :is(#face-tag-modal,#similar-people-modal,#batch-edit-modal)>div.flex-col{flex-wrap:nowrap}
  body.theme-c :is(#face-tag-modal,#similar-people-modal,#batch-edit-modal)>div.flex-col>.flex-1{min-height:0}
}
@media screen {
  body.theme-c #onboarding-title{font-size:var(--pub-size-heading) !important;line-height:1.6}
  body.theme-c #onboarding-body{font-size:var(--pub-size-caption) !important;line-height:1.8}
  body.theme-c .site-c-photo-surface [class*="text-white/"]{color:var(--vg-on-night) !important}
}
@media screen {
  body.theme-c #detail-overlay>.photo-detail-header:first-child :is(button,span,i),body.theme-c #detail-overlay #detail-close-btn{color:var(--vg-on-night) !important}
  body.theme-c #detail-overlay #detail-close-btn:hover{background:var(--vg-soft)}
  body.theme-c #detail-overlay :is(.photo-repair-heading h2,.photo-versions-heading){font:500 var(--pub-size-heading)/1.6 var(--vg-serif)}
}
@media screen {
  body.theme-c #detail-creator .photo-creator-date{font-size:var(--pub-size-caption)}
  body.theme-c #detail-info-panel :is(.upvote-count,#detail-comment-button-count){font-size:var(--pub-size-caption) !important}
}
