/* Content details and their editors share a shell; utility forms keep their own size. */
:root{--dialog-width:min(1060px,calc(100vw - 48px));--dialog-height:min(880px,calc(100dvh - 48px))}
body dialog.standard-dialog:not(.reader-inline){width:var(--dialog-width)!important;max-width:var(--dialog-width)!important;height:var(--dialog-height)!important;max-height:var(--dialog-height)!important;box-sizing:border-box!important;border-radius:14px!important;overscroll-behavior:contain}
body :is(#experience-form,#post-form,#share-form){height:100%;max-height:100%;box-sizing:border-box}
body :is(#experience-editor,#post-editor,#share-dialog) .composer-heading-title{flex:0 1 auto}
body :is(.modal-heading,.composer-heading)>.detail-back{display:inline-flex;align-items:center;gap:5px;flex:none;padding:0;color:var(--primary);font-size:12px;min-height:36px;white-space:nowrap}
body :is(.modal-heading,.composer-heading)>.detail-back[hidden]{display:none}
body :is(.modal-heading,.composer-heading)>.detail-back .ui-icon{width:16px;height:16px}
body :is(#auth-dialog,#password-dialog){width:min(440px,calc(100vw - 32px));height:fit-content;max-height:calc(100dvh - 32px);box-sizing:border-box}
/* One stable shell for WeChat, email and both registration steps. */
body #auth-dialog{height:min(600px,calc(100dvh - 32px));padding:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:20px}
#auth-form{min-height:100%;height:100%;display:flex;flex-direction:column;padding:26px 28px 12px;box-sizing:border-box}
#auth-form>.modal-heading{position:static;padding:0;flex:none;align-items:center;min-height:34px}
#auth-form .modal-heading h2{font-size:25px;line-height:34px;margin:0;letter-spacing:-.5px}
#auth-form .modal-heading .close{width:36px;height:36px;min-height:36px;display:grid;place-items:center;font-size:26px;line-height:1;margin:-6px -8px -6px 0}
#auth-intro-text{flex:none;margin:5px 0 18px;font-size:13px;line-height:20px;color:var(--text-secondary)}
.auth-mode-heading{display:flex;align-items:center;gap:7px;min-height:32px;flex:none;font-size:14px;line-height:20px}
.auth-mode-heading strong{font-weight:600}
#auth-wechat-icon{color:#12864d;display:inline-flex}
#auth-wechat-icon .ui-icon{width:20px;height:20px}
#auth-wechat-recommend{font-size:11px;line-height:18px;padding:0 6px;background:#edf8f2;color:#12864d;border-radius:5px}
#auth-progress{margin-left:auto;font-size:12px;color:var(--text-muted)}
#auth-wechat-back{margin-left:auto;min-height:32px;color:var(--primary);font-size:12px}
#auth-form .auth-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 0 0}
#auth-form .auth-body>label:not([hidden]){display:block;margin:0 0 12px;font-size:13px;line-height:20px;flex:none}
#auth-form .auth-body input{min-height:44px;height:44px;font-size:15px;font-weight:400;padding:10px 12px;margin-top:7px;background:var(--surface);border-radius:10px}
#auth-form .auth-body input::placeholder{font-weight:400;color:var(--text-muted)}
#auth-form .email-code-row{margin-top:7px;gap:8px}
#auth-form .email-code-row input{margin-top:0;width:0}
#auth-form .email-code-row button{font-size:12px;min-height:44px;padding:8px;white-space:nowrap}
#auth-form #password-hint{font-size:12px;line-height:18px;color:var(--text-muted);margin:0 0 4px}
#auth-email-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:0;font-size:12px;line-height:18px;color:var(--text-muted);flex:none}
#auth-email-summary>span{min-width:0}
#auth-register-email{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;color:var(--text-secondary)}
#auth-register-back{flex:none;min-height:36px;padding:0 4px;font-size:12px;color:var(--primary)}
#auth-form .auth-forgot{font-size:12px;min-height:36px;margin:0 0 0 auto;color:var(--text-secondary);flex:none}
#auth-form .auth-footer{flex:none;padding:0}
#auth-form .auth-status{height:54px;display:flex;align-items:center;overflow-y:auto}
#auth-form #auth-error{line-height:18px;margin:0;font-size:12px}
#auth-form #auth-error:empty{display:none}
#auth-code-help{font-size:12px;line-height:18px;color:var(--text-muted);margin:0}
#auth-form .auth-status:has(#auth-error:not(:empty)) #auth-code-help{display:none}
#auth-form .auth-submit{height:44px;min-height:44px;margin:0;font-size:15px;border-radius:10px}
#auth-form .auth-switch-prompt{display:flex;justify-content:center;align-items:center;gap:10px;min-height:44px;margin:0;line-height:20px}
#auth-form .auth-switch-prompt button{min-height:44px;padding:0 3px;color:var(--text-muted);font-size:12px;font-weight:400}
#auth-form .auth-switch-prompt button:not([hidden])~button:not([hidden])::before{content:'·';color:var(--border);margin-right:16px}
#auth-form .auth-switch-prompt button:hover{color:var(--primary)}
#auth-form :is(#auth-email-summary,#auth-progress,#auth-switch-prompt,#auth-wechat-icon,#auth-wechat-recommend,#auth-wechat-back)[hidden]{display:none}
#auth-wechat{display:flex;flex:1;min-height:0;flex-direction:column}
#auth-wechat[hidden]{display:none}
#wechat-scan{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:12px}
#auth-wechat .wechat-qr{display:flex;justify-content:center;margin:0 0 10px}
#auth-wechat .wechat-qr img{width:148px;height:148px;object-fit:contain;border:1px solid var(--border);border-radius:14px;padding:7px;box-sizing:content-box;background:white}
#auth-wechat p{margin:0;color:var(--text-secondary);line-height:23px;font-size:13px;text-align:center}
#auth-wechat .wechat-instructions{font-size:14px;color:var(--text)}
#wechat-copy-keyword{padding:0 3px;color:var(--text);background:none;font-weight:600;min-height:24px;font-size:13px}
#auth-wechat .wechat-mobile-help{display:none;font-size:12px;line-height:20px;margin-top:5px;color:var(--text-muted)}
#auth-wechat a{color:var(--primary);white-space:nowrap}
#auth-wechat .wechat-code-label{display:block;flex:none;margin:0}
#auth-wechat input{width:100%;box-sizing:border-box;font-variant-numeric:tabular-nums;letter-spacing:2px;margin:0;height:46px}
#auth-wechat input::placeholder{letter-spacing:0;font-size:14px}
@media(max-width:480px){
 body #auth-dialog{width:calc(100vw - 24px);height:min(600px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
 #auth-form{padding:24px 20px 12px}
 #auth-form .auth-body input{font-size:16px}
 #auth-wechat .wechat-qr img{width:128px;height:128px}
 #auth-wechat .wechat-mobile-help{display:block}
 #auth-wechat .wechat-mobile-help a{display:inline-flex;align-items:center;min-height:32px}
 #wechat-copy-keyword{min-height:32px}
}
@media(max-height:620px){#auth-form{height:auto;min-height:570px}#auth-form .auth-body{flex:1 0 auto;min-height:290px}}
body #human-verification-dialog{width:min(400px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:fit-content;max-height:calc(100dvh - 24px);padding:24px;box-sizing:border-box;overflow:auto;border-radius:14px}
#human-verification-dialog .human-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#human-verification-dialog h2{font-size:20px;margin:0;line-height:1.5}
#human-verification-dialog #human-verification-description{font-size:14px;line-height:1.7;color:var(--text-secondary);margin:12px 0 18px}
#human-verification-dialog .human-widget{min-height:65px;display:flex;justify-content:center}
#human-verification-dialog .human-widget[hidden]{display:none}
#human-verification-dialog .human-status{font-size:13px;line-height:1.7;color:var(--text-muted);margin:14px 0 0}
#human-verification-dialog .human-retry{margin-top:14px;color:var(--primary);min-height:44px}
#human-verification-dialog .human-help{font-size:11px;line-height:1.6;color:var(--text-muted);margin:20px 0 0}
body :is(#auth-dialog,#password-dialog) .modal-heading:has([data-dialog-back]:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
body :is(#auth-dialog,#password-dialog) .modal-heading>[data-dialog-back]:not([hidden]){grid-column:1;grid-row:1}
body :is(#auth-dialog,#password-dialog) .modal-heading:has([data-dialog-back]:not([hidden]))>[data-close]{grid-column:2;grid-row:1}
body :is(#auth-dialog,#password-dialog) .modal-heading:has([data-dialog-back]:not([hidden]))>div{grid-column:1/-1;grid-row:2}
@media(max-width:700px){
 :root{--dialog-width:calc(100vw - 16px);--dialog-height:calc(100dvh - 16px)}
 body dialog.standard-dialog:not(.reader-inline){border-radius:12px!important}
 body dialog.standard-dialog.mobile-keyboard-dialog:not(.reader-inline){position:fixed!important;inset:var(--keyboard-dialog-top) 8px auto!important;margin:0 auto!important;height:var(--keyboard-dialog-height)!important;max-height:var(--keyboard-dialog-height)!important}
 body :is(#experience-editor,#post-editor,#share-dialog) .composer-heading:has([data-dialog-back]:not([hidden])){flex-wrap:wrap;gap:4px 10px;padding:10px 12px}
 body :is(#experience-editor,#post-editor,#share-dialog) .composer-heading:has([data-dialog-back]:not([hidden])) .composer-heading-title{flex:1;min-width:0}
 body :is(#experience-editor,#post-editor,#share-dialog) .composer-heading:has([data-dialog-back]:not([hidden])) .composer-heading-status{order:4;flex-basis:100%}
}
