/* Full-screen editor in the browser top layer; underlying app remains inert. */
#postComposerSheet { margin:0; inset:0; width:100%; max-width:none; height:100dvh; max-height:100dvh; padding:0; border:0; border-radius:0; background:#f7f4ec; color:#252b2d; overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; }
#postComposerSheet::backdrop { background:#f7f4ec; }
body:has(#postComposerSheet[open]) { overflow:hidden; }
#postComposerSheet *, .post-media-sources *, .post-photo-viewer * { box-sizing:border-box; }
#postComposerSheet #qiulianPostForm { display:flex; flex-direction:column; gap:0; max-width:620px; min-height:100%; margin:0 auto; padding:0 20px calc(24px + env(safe-area-inset-bottom)); }
#postComposerSheet .post-editor-header { display:grid; grid-template-columns:76px minmax(0,1fr) 76px; align-items:center; gap:8px; position:sticky; top:0; z-index:3; padding:8px 0; background:#f7f4ec; border-bottom:1px solid #dedfd5; }
#postComposerSheet .post-editor-header h2 { margin:0; text-align:center; font-size:17px; line-height:1.4; }
#postComposerSheet .post-editor-header button { padding:8px; min-height:44px; border:0; border-radius:9px; font-size:15px; font-weight:650; background:transparent; color:#34463d; }
#postComposerSheet .post-editor-header button[type=submit] { color:#fffefa; background:#234c3d; }
#postComposerSheet button:disabled { opacity:.42; cursor:default; }
#postComposerSheet .qiulian-caption-field { display:block; margin:0; padding:20px 0 12px; border:0; }
#postComposerSheet .qiulian-caption-field > span { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
#postComposerSheet textarea { display:block; width:100%; height:132px; min-height:132px; resize:vertical; border:0; padding:0; border-radius:0; box-shadow:none; background:transparent; font-family:inherit; font-weight:400; font-size:17px; line-height:1.7; color:#252b2d; }
#postComposerSheet textarea:focus { outline:none; box-shadow:none; }
#postComposerSheet .qiulian-photo-picker, #postComposerSheet .qiulian-video-picker { display:block; width:100%; height:auto; aspect-ratio:auto; margin:0 0 12px; padding:0; min-height:0; border:0; background:transparent; }
#postComposerSheet .qiulian-photo-draft { display:grid; position:static; inset:auto; width:100%; background:transparent; backdrop-filter:none; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; padding:0; }
#postComposerSheet .qiulian-photo-draft > div { position:relative; min-width:0; margin:0; padding:0; border:0; background:none; }
#postComposerSheet .post-photo-preview { position:relative; display:block; width:100%; aspect-ratio:1; padding:0; border:0; border-radius:8px; overflow:hidden; background:#eeeee5; }
#postComposerSheet .post-photo-preview img { position:absolute; inset:0; display:block; width:100%; height:100%; min-width:0; min-height:0; max-width:none; max-height:none; aspect-ratio:auto; object-fit:contain; object-position:50% 50%; margin:0; padding:0; border-radius:0; }
#postComposerSheet .qiulian-photo-draft nav { display:flex; align-items:center; justify-content:space-between; gap:0; background:transparent; padding:0; margin:0; }
#postComposerSheet .qiulian-photo-draft nav select { min-height:44px; min-width:44px; width:calc(100% - 44px); font-size:12px; padding:2px; background:transparent; border:0; }
#postComposerSheet .qiulian-photo-draft nav button { width:44px; min-height:44px; padding:0; border:0; font-size:24px; background:transparent; color:#6e4941; }
#postComposerSheet .post-media-add { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:calc((100% - 16px)/3); aspect-ratio:1; min-height:84px; margin:0 0 12px; padding:8px; border:1px solid #d9ddd3; border-radius:8px; background:#eeeee5; color:#778279; }
#postComposerSheet .qiulian-photo-draft .post-media-add { width:100%; margin:0; }
#postComposerSheet .post-media-add > span { font-size:32px; line-height:1; font-weight:300; }
#postComposerSheet .post-media-add > small { display:block; color:#68766b; font-size:11px; line-height:1.5; }
#postComposerSheet .qiulian-video-preview { display:block; width:100%; max-height:330px; object-fit:contain; border-radius:12px; background:#252b2d; }
#postComposerSheet .qiulian-video-picker > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
#postComposerSheet .qiulian-video-picker button, #postComposerSheet .post-extra-kinds button, #postComposerSheet .post-back-to-text { min-height:44px; padding:8px 12px; font-size:13px; border:1px solid #d3d9ce; border-radius:8px; color:#365245; background:transparent; }
#postComposerSheet .qiulian-video-picker small { width:100%; font-size:12px; line-height:1.5; overflow-wrap:anywhere; color:#737c72; }
#postComposerSheet .qiulian-media-note, #postComposerSheet .qiulian-privacy-hint, #postComposerSheet .qiulian-audience-note { display:block; font-size:12px; line-height:1.6; color:#737c72; margin:4px 0 16px; }
#postComposerSheet .qiulian-compose-options { padding:0; margin:12px 0 0; border:0; border-top:1px solid #dedfd5; border-bottom:1px solid #dedfd5; background:transparent; border-radius:0; }
#postComposerSheet .qiulian-compose-options > summary { min-height:54px; padding:14px 0; font-size:15px; font-weight:500; }
#postComposerSheet .qiulian-compose-options > summary span { margin-left:8px; font-size:12px; color:#899084; }
#postComposerSheet .qiulian-compose-options label { font-size:14px; }
#postComposerSheet .qiulian-compose-options select { font-size:16px; min-height:44px; max-width:100%; }
#postComposerSheet .post-extra-kinds { display:flex; gap:8px; padding:10px 0; }
#postComposerSheet .qiulian-compose-inspiration { display:none; }
#postComposerSheet .qiulian-composer-footer { padding:0; margin:0; border:0; display:block; }
#postComposerSheet .qiulian-composer-footer > label { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px; border-bottom:1px solid #dedfd5; margin:0; padding:0; }
#postComposerSheet .qiulian-composer-footer span { font-size:15px; font-weight:500; white-space:nowrap; }
#postComposerSheet .qiulian-composer-footer select { flex:1; min-width:0; width:0; max-width:65%; min-height:48px; font-size:14px; padding:6px 20px 6px 6px; border:0; background:transparent; color:#69776b; text-align:right; }
#postComposerSheet .post-media-status:empty { display:none; }
#postComposerSheet .post-media-status { display:grid; gap:6px; margin-top:12px; font-size:13px; color:#365245; }
#postComposerSheet progress { width:100%; height:6px; accent-color:#527057; }
#postComposerSheet .qiulian-form-message { font-size:14px; line-height:1.6; padding:12px; border-left:3px solid #a56d44; background:#fff1e7; }
#postComposerSheet button:focus-visible, #postComposerSheet select:focus-visible { outline:2px solid #9e803e; outline-offset:2px; }
.post-media-sources { inset:auto 12px 12px; margin:0 auto; padding:12px; width:calc(100% - 24px); max-width:450px; border:0; border-radius:22px; background:#fffefa; color:#252b2d; }
.post-media-sources::backdrop, .post-photo-viewer::backdrop { background:rgba(0,0,0,.35); }
.post-media-sources p { font-size:12px; text-align:center; color:#7d8278; }
.post-media-sources button { display:block; width:100%; min-height:56px; border:0; border-top:1px solid #e8e8df; border-radius:0; background:transparent; color:#252b2d; font-size:17px; }
.post-photo-viewer { inset:0; margin:0; width:100%; height:100dvh; max-width:none; max-height:none; padding:16px; border:0; background:#252b2d; }
.post-photo-viewer > button { display:block; margin-left:auto; min-height:44px; padding:8px 16px; background:transparent; border:0; color:white; }
.post-photo-viewer > img { display:block; width:100%; height:calc(100% - 70px); object-fit:contain; }
#uploadMeta:empty { display: none; }
