.pswp { z-index: 11000; --pswp-bg: #080c12; }
body.vf-compose-modal-open { overflow:hidden; }
.vf-compose-dialog { position:fixed;inset:0;width:min(640px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 80px);height:fit-content;margin:7vh auto auto;padding:0;border:1px solid var(--stroke);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 24px 90px #0003;overflow:hidden; }
.vf-compose-dialog[open] { display:flex;flex-direction:column; }
.vf-compose-dialog::backdrop { background:rgba(28,39,48,.48); }
.vf-compose-dialog-head { display:flex;align-items:center;gap:12px;flex:none;padding:12px 16px; }
:root:root body .vf-compose-dialog-head h2 { flex:1;min-width:0;margin:0;font-size:15px;font-weight:600;letter-spacing:0; }
:root:root body .vf-compose-dialog-close { display:grid;place-items:center;flex:none;width:34px;height:34px;min-width:0;min-height:0;margin:0;padding:7px;border:0;border-radius:50%;background:transparent;color:var(--text);box-shadow:none;cursor:pointer; }
.vf-compose-dialog-close svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8; }
:root:root body .vf-compose-dialog .vf-compose-save { flex:none;min-width:0;min-height:32px;margin:0;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--accent);font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;box-shadow:none;cursor:pointer; }
:root:root body .vf-compose-dialog .vf-compose-dialog-body { min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 22px 20px;border:0;background:var(--panel)!important; }
:root:root body .vf-compose-dialog .profile-post-composer .profile-post-form textarea { min-height:180px;font-size:19px; }
:root:root body .vf-compose-dialog .profile-post-form-footer { position:sticky;bottom:-20px;z-index:2;margin-bottom:-20px;padding-bottom:20px;background:var(--panel); }
.vf-compose-dialog-status { flex:none;margin:0;padding:10px 22px;border-top:1px solid var(--stroke);color:var(--muted);font-size:12px; }
.vf-compose-dialog-status[hidden] { display:none; }
.vf-compose-dialog .vf-mention-menu { max-width:calc(100vw - 24px); }
@media(max-width:600px) {
    .vf-compose-dialog { inset:0;width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0; }
    .vf-compose-dialog-head { padding:10px 12px; }
    :root:root body .vf-compose-dialog .vf-compose-dialog-body { flex:1;padding:12px 16px 20px; }
    :root:root body .vf-compose-dialog .profile-post-composer .profile-post-form textarea { min-height:200px;font-size:18px; }
    :root:root body .vf-compose-dialog .profile-post-form-body { display:contents; }
    :root:root body .vf-compose-dialog .profile-post-composer-shell { grid-column:2; }
    :root:root body .vf-compose-dialog .profile-post-form-footer { grid-column:1/-1;flex-wrap:nowrap;gap:8px; }
    :root:root body .vf-compose-dialog .profile-post-form-footer .vf-composer-controls { flex:1 1 auto;flex-wrap:nowrap;gap:6px; }
    :root:root body .vf-compose-dialog .profile-post-form .vf-post-audience select { max-width:100px; }
    :root:root body .vf-compose-dialog .profile-post-form .vf-attach-button { position:relative;width:34px; }
    .vf-compose-dialog .vf-attach-count { position:absolute;top:-2px;right:-2px;min-width:14px;height:14px;font-size:10px; }
    :root:root body .vf-compose-dialog .profile-post-form .vf-upload-progress { grid-column:1/-1; }
    :root:root body .vf-compose-dialog .profile-post-form-footer { bottom:-20px; }
}
.vf-photo-caption { position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:min(800px,calc(100% - 32px));max-height:22vh;overflow:auto;padding:8px 12px;box-sizing:border-box;color:#eee;background:rgba(0,0,0,.65);border-radius:6px;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere; }
.vf-photo-caption[hidden] { display:none; }
.vf-fuse-host { position:relative; }
.vf-fuse-results { position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100;max-height:360px;overflow:auto;background:var(--panel,#fff);border:1px solid var(--stroke,#71869d);border-radius:10px;box-shadow:0 12px 30px #0003;padding:6px;text-align:left; }
.vf-fuse-results[hidden] { display:none; }
.vf-fuse-results small { display:block;padding:8px;color:var(--muted,#71869d); }
.vf-fuse-results a { display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:6px;color:var(--text,inherit);text-decoration:none;overflow-wrap:anywhere; }
.vf-fuse-results a span { color:var(--muted,#71869d);font-size:12px; }
.vf-fuse-results a:hover,.vf-fuse-results a:focus-visible { background:rgba(130,170,210,.15);outline:2px solid #71869d;outline-offset:-2px; }
.vf-composer-enhanced { position:relative; }
.vf-attach-button { display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text,#263445);font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;cursor:pointer; }
.vf-attach-button svg { width:19px;height:19px;flex:none; }
.vf-attach-count { display:grid;place-items:center;min-width:18px;height:18px;padding:0 3px;box-sizing:border-box;border-radius:5px;background:var(--accent-soft,#71869d22);font-size:11px;font-weight:600; }
.vf-attach-count[hidden] { display:none; }
.vf-composer-limit { font-size:11px;color:var(--muted,#71869d);white-space:nowrap; }
.vf-composer-drop-hint { position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;box-sizing:border-box;border:2px dashed var(--accent,#71869d);border-radius:12px;background:var(--panel,#fff);color:var(--text,#263445);font-size:16px;text-align:center;pointer-events:none; }
.vf-composer-drop-hint[hidden] { display:none; }
.vf-composer-writing-hint { margin:0 0 12px;color:var(--muted,#71869d);font-size:12px;line-height:1.4; }
:root:root body .profile-post-composer { padding:20px; }
:root:root body .profile-post-composer .profile-post-form { gap:14px; }
:root:root body .profile-post-composer .profile-post-form-body { container-type:inline-size; }
:root:root body .profile-post-composer .profile-post-form textarea { width:100%;min-height:88px;max-height:320px;padding:6px 0 10px;box-sizing:border-box;font-size:17px;line-height:1.55;resize:none; }
:root:root body .profile-post-composer .profile-post-composer-shell { min-height:0; }
:root:root body .profile-post-composer .profile-post-form textarea:focus { outline:none;box-shadow:none; }
:root:root body .profile-post-composer .profile-post-form-footer { flex-wrap:nowrap;gap:12px;padding-top:12px; }
:root:root body .profile-post-composer .profile-post-form-media { display:flex;align-items:center;gap:6px;min-width:0; }
:root:root body .profile-post-composer .vf-attach-button { display:inline-flex;align-items:center;gap:7px;min-width:0;min-height:36px;margin:0;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:550;line-height:1.2;letter-spacing:normal;text-transform:none;box-shadow:none;white-space:nowrap; }
:root:root body .profile-post-composer .vf-attach-button:hover { background:var(--accent-soft);color:var(--accent); }
:root:root body .profile-post-composer .vf-attach-button:focus-visible { outline:2px solid var(--accent);outline-offset:2px; }
:root:root body .profile-post-composer .vf-composer-controls { flex:0 1 auto;gap:10px; }
:root:root body .profile-post-composer .profile-post-form .vf-post-audience select { max-width:165px;min-height:36px;padding:7px 25px 7px 10px;border:1px solid var(--stroke);border-radius:8px;background-color:transparent;color:var(--muted);font-size:12px; }
:root:root body .profile-post-composer .profile-post-submit { min-height:36px;padding:8px 16px;border-radius:9px;font-size:13px;font-weight:650; }
:root:root body .profile-post-composer [data-vf-media-error]:empty { display:none; }
:root:root body .profile-post-composer [data-vf-media-error]:not(:empty) { margin:8px 0 12px;padding:9px 12px;border-radius:8px;background:color-mix(in srgb,#d94848 8%,transparent);color:#c33f42;font-size:12px;line-height:1.5; }
:root:root body .profile-post-composer .post-media-preview { display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:6px 0 14px; }
:root:root body .profile-post-composer .post-media-preview:empty { display:none; }
:root:root body .profile-post-composer .post-media-preview-item { min-width:0;max-width:100%;border:1px solid var(--stroke);border-radius:10px;background:var(--panel); }
:root:root body .profile-post-composer .post-media-preview-item :is(img,video) { width:100%;height:138px;max-height:138px;margin:0;border:0;border-radius:0;background:var(--bg);object-fit:contain; }
:root:root body .profile-post-composer .post-media-preview-meta { padding:9px; }
:root:root body .profile-post-composer .post-media-preview-meta strong { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500; }
:root:root body .profile-post-composer .post-media-preview-meta input { width:100%;min-width:0;min-height:32px;box-sizing:border-box;margin:8px 0;padding:6px 8px;border:1px solid var(--stroke);border-radius:6px;background:transparent;color:var(--text);font-family:inherit;font-size:11px; }
:root:root body .profile-post-composer .post-media-preview-controls { display:flex;align-items:center;gap:4px; }
:root:root body .profile-post-composer .post-media-preview-controls button { min-width:28px;min-height:28px;margin:0;padding:4px 6px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;line-height:1;box-shadow:none; }
:root:root body .profile-post-composer .post-media-preview-controls button:last-child { margin-left:auto;font-size:11px; }
:root:root body .profile-post-composer .post-media-preview-controls button:not(:disabled):hover { background:var(--accent-soft);color:var(--accent); }
@media(max-width:760px) { .vf-composer-limit { display:none; } }
@container(max-width:600px) { .vf-composer-limit { display:none; } }
@media(max-width:480px) {
    :root:root body .profile-post-composer { padding:14px 12px; }
    :root:root body .profile-post-composer .profile-post-form { grid-template-columns:32px minmax(0,1fr);gap:10px; }
    :root:root body .profile-post-composer .profile-post-form-avatar { width:32px;height:32px; }
    :root:root body .profile-post-composer .profile-post-form textarea { font-size:16px;min-height:78px; }
    :root:root body .profile-post-composer .profile-post-form-footer { flex-wrap:wrap;gap:8px; }
    :root:root body .profile-post-composer .profile-post-form-footer .vf-composer-controls { flex:1 1 auto;gap:6px;justify-content:flex-end;margin-left:auto; }
    :root:root body .profile-post-composer .profile-post-form .vf-post-audience { flex:0 1 auto;min-width:0; }
    :root:root body .profile-post-composer .profile-post-form .vf-post-audience select { max-width:130px;width:100%; }
    :root:root body .profile-post-composer .vf-attach-button > span:not(.vf-attach-count) { display:none; }
    :root:root body .profile-post-composer .vf-attach-button { padding:7px; }
    :root:root body .profile-post-composer .profile-post-submit { padding:8px 12px; }
    :root:root body .profile-post-composer .post-media-preview { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
}
.post-media-picker[hidden] { display:none!important; }
:root:root body .vf-upload-progress { display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:6px auto;align-items:center;gap:9px 12px;height:auto;min-height:0;margin-top:14px;padding:0;border:0;border-radius:0;background:transparent; }
:root:root body .vf-upload-progress::before { content:'';grid-column:1/-1;grid-row:1;display:block;width:100%;height:6px;border-radius:999px;background:var(--stroke-strong,#cfd9de); }
:root:root body .vf-upload-progress > span { grid-column:1/-1;grid-row:1;justify-self:start;z-index:1;display:block;min-width:0;max-width:100%;height:6px;border-radius:999px;background:var(--accent,#562668);transition:width .15s ease; }
:root:root body .vf-upload-progress > output { grid-column:1;grid-row:2;min-width:0;font-size:12px;line-height:1.5;color:var(--muted); }
:root:root body .vf-upload-progress[hidden] { display:none; }
:root:root body .vf-upload-progress > [data-vf-cancel-upload] { grid-column:2;grid-row:2;min-height:30px;margin:0;padding:5px 10px;border:1px solid var(--stroke-strong);border-radius:7px;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;box-shadow:none; }
.vf-wave-player { display:grid;grid-template-columns:36px minmax(0,1fr) auto 40px;gap:8px;align-items:center;width:100%;min-width:min(280px,100%);max-width:480px;padding:9px;box-sizing:border-box;border:1px solid var(--stroke,#71869d);border-radius:12px;background:var(--panel,#18222f);color:var(--text,#d6e8ff); }
.vf-wave { min-width:0; }
.vf-wave-player button { display:grid;place-items:center;width:36px;height:36px;min-width:0;margin:0;padding:0;border:0;border-radius:50%;background:rgba(130,170,210,.14);color:inherit;cursor:pointer; }
.vf-wave-player output { font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums; }
.message-media { min-width:0; }
.vf-crop-dialog { width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;margin:auto;padding:18px;border:1px solid #71869d;border-radius:14px;background:var(--panel,#18222f);color:var(--text,#d6e8ff); }
.vf-crop-dialog::backdrop { background:rgba(0,0,0,.8); }
.vf-crop-dialog h2 { margin:0 0 14px;font-size:20px; }
.vf-crop-stage { height:min(420px,55dvh);min-height:180px;overflow:hidden;background:#080c12; }
.vf-crop-stage cropper-canvas { height:100%; }
.vf-crop-stage > img { display:none; }
.vf-crop-actions { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px; }
.vf-crop-actions button { padding:9px 14px;border:1px solid #71869d;border-radius:6px;background:transparent;color:inherit;cursor:pointer; }
.vf-crop-actions button.vf-crop-apply { background:#b8d8f8;color:#101820; }
.vf-crop-actions button:disabled { opacity:.5;cursor:wait; }
.vf-crop-dialog p:empty { display:none; }
@media(max-width:400px) { .vf-wave-player { grid-template-columns:32px minmax(0,1fr) 34px;gap:5px; }.vf-wave-player output { grid-column:2;grid-row:2; }.vf-wave-player button:last-child { grid-column:3;grid-row:1; }.vf-wave-player { min-width:0; }.vf-crop-dialog { padding:12px; } }
@media(max-width:600px) {
    :root:root body .vf-compose-dialog .profile-post-composer .profile-post-form-footer { flex-wrap:nowrap;gap:8px; }
    :root:root body .vf-compose-dialog .profile-post-composer .profile-post-form-media { flex:0 0 34px;width:34px; }
    :root:root body .vf-compose-dialog .profile-post-composer .profile-post-form-footer .vf-composer-controls { flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:6px; }
    :root:root body .vf-compose-dialog .profile-post-composer .profile-post-form .vf-post-audience { flex:0 1 94px;min-width:0; }
    :root:root body .vf-compose-dialog .profile-post-composer .profile-post-form .vf-post-audience select { max-width:94px;width:100%; }
    :root:root body .vf-compose-dialog .profile-post-composer .profile-post-submit { flex:none;padding:8px 10px;font-size:12px; }
}
