/* Feed-only input. Loaded after legacy theme styles; no selectors target other editors. */
.feed-page, .feed-authoring, .feed-emoji-picker, .feed-publication-panel { --fi-bg:#0d1015; --fi-text:#eceef3; --fi-muted:#9da4b2; --fi-line:rgba(161,172,192,.18); --fi-hover:rgba(180,192,215,.1); --fi-accent:#9bbaff; }
body[data-site-theme="white"] .feed-page, body[data-site-theme="white"] .feed-authoring, body[data-site-theme="white"] .feed-emoji-picker, body[data-site-theme="white"] .feed-publication-panel { --fi-bg:#fff; --fi-text:#22262e; --fi-muted:#737d8b; --fi-line:#e2e5ea; --fi-hover:#f1f3f6; --fi-accent:#345fbd; }
.feed-page .feed-compose-dock .feed-composer { border-radius:26px; border:1px solid var(--fi-line); background:var(--fi-bg); box-shadow:0 3px 14px #00000009; max-height:min(62dvh,640px); overflow:visible; }
.feed-page .feed-compose-dock.is-open { max-height:66dvh; overflow:visible; }
.feed-page .feed-compose-dock .feed-compose-header { padding:8px 12px 0 16px; border:0; min-height:32px; }
.feed-page .feed-compose-dock .feed-compose-header .feed-composer__author-button { height:28px; color:var(--fi-muted); font-size:12px; }
.feed-page .feed-compose-dock .feed-compose-header .feed-composer__author-button img { width:22px; height:22px; }
.feed-page .feed-compose-dock .feed-compose-body { display:block; min-height:0; padding:0 18px; flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; }
.feed-page .feed-compose-dock .feed-composer__field { display:block; min-width:0; margin:0; padding:0; }
.feed-page .feed-compose-dock .feed-composer [data-rich-editor] { position:relative; background:none; border:0; box-shadow:none; }
.feed-input { position:relative; min-width:0; color:var(--fi-text); }
.feed-input > textarea[hidden], .feed-page [data-compose-files], .feed-authoring [data-compose-files] { display:none!important; }
.feed-input__host { min-width:0; }
.feed-input .feed-input__surface { position:relative; min-height:72px; max-height:min(32dvh,320px); padding:14px 0 8px; box-sizing:border-box; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#929ba455 transparent; outline:0; color:var(--fi-text); caret-color:var(--fi-text); font:inherit; font-size:15px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; word-break:normal; }
.feed-input .feed-input__surface img.ProseMirror-separator { display:inline!important; width:0!important; height:0!important; margin:0!important; padding:0!important; border:0!important; }
.feed-input__emoji-node { display:inline-block!important; width:1.25em; height:1.25em; vertical-align:-.25em; line-height:0; margin:0 .04em; white-space:normal; }
.feed-input .feed-input__surface .feed-input__emoji-node img { display:block!important; width:100%!important; height:100%!important; max-width:none!important; margin:0!important; padding:0!important; border:0!important; object-fit:contain; }
.feed-input__surface.is-empty::before { content:attr(data-placeholder); position:absolute; color:var(--fi-muted); pointer-events:none; }
.feed-input__surface p { margin:0; min-height:1.6em; }
.feed-input__surface p + p { margin-top:.35em; }
.feed-input__surface ol, .feed-input__surface ul { margin:.45em 0; padding-left:1.6em; }
.feed-input__surface li { margin:.15em 0; }
.feed-input__surface li > p { margin:0; }
.feed-input .feed-input__surface blockquote { margin:.35em 0; padding:8px 12px; border-left:2px solid var(--fi-accent); border-radius:0 8px 8px 0; color:inherit; background:var(--fi-hover); }
.feed-input__quote-placeholder { position:relative; }
.feed-input__quote-placeholder::before { content:attr(data-placeholder); position:absolute; color:var(--fi-muted); pointer-events:none; }
.feed-input .feed-input__surface a { color:var(--fi-accent); text-decoration:none; cursor:text; }
.feed-input__surface pre { margin:.5em 0; padding:10px; background:var(--fi-hover); white-space:pre-wrap; }
.feed-input__surface code { font-family:ui-monospace,monospace; font-size:.92em; }
.feed-input__surface .ProseMirror-selectednode { outline:2px solid var(--fi-accent); border-radius:3px; }
.feed-input__surface .ProseMirror-gapcursor { display:none; }
.feed-input .feed-input__format { display:none; gap:2px; align-items:center; padding:4px 0 6px; flex-wrap:wrap; border:0; }
.feed-input.is-format-open .feed-input__format { display:flex; }
.feed-input__format .feed-input__tool, .feed-input__context .feed-input__tool { width:28px; height:28px; padding:6px; }
.feed-input__format .feed-input__tool svg, .feed-input__context .feed-input__tool svg { width:17px; height:17px; }
.feed-input__tool { display:inline-flex; flex:none; align-items:center; justify-content:center; width:32px; height:32px; padding:7px; border:0; border-radius:9px; background:transparent; color:var(--fi-muted); cursor:pointer; font:inherit; font-size:15px; line-height:1; touch-action:manipulation; }
.feed-input__tool svg, .feed-input__send svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.feed-input__tool[hidden] { display:none!important; }
.feed-input__tool:hover, .feed-input__tool[aria-pressed="true"] { background:var(--fi-hover); color:var(--fi-text); }
.feed-input__tool[aria-pressed="true"] { color:var(--fi-accent); }
.feed-input__tool:focus-visible, .feed-input__send:focus-visible, .feed-input__emoji-grid button:focus-visible { outline:2px solid var(--fi-accent); outline-offset:2px; }
.feed-input__tool:disabled, .feed-input__send:disabled { cursor:default; opacity:.35; }
.feed-input__actions { display:flex; gap:3px; align-items:center; }
.feed-input__format-trigger { display:inline-flex; font-weight:600; }
.feed-page .feed-compose-dock .feed-compose-footer { display:flex; justify-content:space-between; align-items:center; padding:3px 10px 9px; gap:8px; border:0; }
.feed-input__send { display:grid; place-items:center; flex:none; width:36px; height:36px; padding:8px; border:0; border-radius:50%; background:#f0f1f5; color:#252830; cursor:pointer; }
body[data-site-theme="white"] .feed-input__send { background:#252830; color:#fff; }
.feed-input__send:hover:not(:disabled) { filter:brightness(.92); }
.feed-input__panel { position:relative; z-index:3; margin:4px 0 8px; padding:10px; border:1px solid var(--fi-line); border-radius:14px; background:var(--fi-bg); color:var(--fi-text); }
.feed-input__panel[hidden], .feed-input__context[hidden] { display:none!important; }
.feed-input__link-form { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.feed-input__link-form input { min-width:140px; flex:1; border:1px solid var(--fi-line); border-radius:8px; background:transparent; color:var(--fi-text); font:inherit; font-size:13px; padding:9px; outline:none; }
.feed-input__link-form input:focus { border-color:var(--fi-accent); }
.feed-input__apply { padding:8px; border:0; border-radius:8px; background:var(--fi-hover); color:var(--fi-text); cursor:pointer; font:inherit; font-size:12px; }
.feed-input__context { position:fixed; z-index:2005; display:flex; max-width:calc(100vw - 16px); flex-wrap:wrap; gap:3px; padding:6px; border:1px solid var(--fi-line); border-radius:12px; background:var(--fi-bg); box-shadow:0 12px 32px #0003; }
.feed-input.is-dragover { outline:2px dashed var(--fi-accent); outline-offset:5px; border-radius:10px; }
.feed-page .feed-compose-dock .feed-composer__preview, .feed-authoring [data-compose-preview] { display:flex; flex-wrap:wrap; gap:8px; max-height:170px; overflow-y:auto; margin:10px 0 0; padding:2px; }
.feed-page [data-compose-preview][hidden], .feed-authoring [data-compose-preview][hidden] { display:none!important; }
.feed-input__attachment { position:relative; display:flex; flex-direction:column; flex:0 0 86px; width:86px; height:100px; overflow:hidden; border:1px solid var(--fi-line); border-radius:12px; background:var(--fi-hover); }
.feed-input__attachment > img, .feed-input__attachment > video { display:block; width:100%; height:78px; object-fit:cover; }
.feed-input__attachment-name { display:block; min-width:0; padding:3px 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; color:var(--fi-muted); }
.feed-input__remove { position:absolute; top:3px; right:3px; width:24px; height:24px; padding:4px; border-radius:50%; color:#fff; background:#16191dd9; }
.feed-input__remove svg { width:15px; height:15px; }
.feed-input__remove:hover { background:#3c4148; color:#fff; }
.feed-input__attachment--document { flex:1 1 210px; display:grid; grid-template-columns:40px minmax(0,1fr) 28px; grid-template-rows:1fr 1fr; align-items:center; column-gap:6px; min-width:0; max-width:320px; width:auto; height:56px; padding:7px; box-sizing:border-box; }
.feed-input__file-badge { grid-row:1/3; display:grid; place-items:center; width:36px; height:38px; border-radius:7px; background:var(--fi-hover); color:var(--fi-accent); font-size:9px; font-weight:600; }
.feed-input__attachment--document .feed-input__attachment-name { align-self:end; padding:0; color:var(--fi-text); font-size:11px; }
.feed-input__attachment--document small { grid-column:2; align-self:start; color:var(--fi-muted); font-size:10px; }
.feed-input__attachment--document .feed-input__remove { position:static; grid-column:3; grid-row:1/3; }
.feed-input__reorder { position:absolute; bottom:22px; left:3px; right:3px; display:flex; justify-content:space-between; opacity:0; pointer-events:none; }
.feed-input__reorder .feed-input__tool { width:24px; height:24px; padding:3px; background:#16191dcf; color:#fff; border-radius:7px; pointer-events:auto; }
.feed-input__attachment:hover .feed-input__reorder, .feed-input__attachment:focus-within .feed-input__reorder { opacity:1; }
.feed-input__insert-image, .feed-input__cover-image { position:absolute; width:24px; height:24px; padding:4px; color:#fff; background:#16191ddd; border-radius:7px; }
.feed-input__insert-image { bottom:25px; left:calc(50% - 12px); }
.feed-input__cover-image { top:3px; left:3px; }
.feed-input__cover-image[aria-pressed="true"] { background:#4068be; color:#fff; }
.feed-input__insert-image svg, .feed-input__cover-image svg { width:16px; height:16px; }
.feed-input .feed-input__image-block { position:relative; display:block; margin:8px 0; padding:0; border:1px solid var(--fi-line); border-radius:10px; overflow:hidden; background:var(--fi-hover); user-select:none; }
.feed-input .feed-input__image-block img { display:block; width:100%; max-height:150px; object-fit:contain; margin:0; }
.feed-input__image-block button { position:absolute; top:5px; right:5px; background:#111b; color:white; width:25px; height:25px; padding:4px; }
.feed-publication-panel { position:fixed; z-index:2300; box-sizing:border-box; padding:14px; border:1px solid var(--fi-line); border-radius:17px; color:var(--fi-text); background:var(--fi-bg); box-shadow:0 16px 50px #0004; font-family:inherit; font-size:13px; line-height:1.4; max-height:calc(100dvh - 24px); overflow-y:auto; }
.feed-publication-panel[hidden], .feed-publication-panel [hidden] { display:none!important; }
.feed-publication-panel__switch { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:25px; font-size:13px; cursor:pointer; }
.feed-publication-panel__switch input { position:absolute; opacity:0; width:1px; height:1px; }
.feed-publication-panel__toggle { width:32px; height:20px; border-radius:20px; background:var(--fi-line); padding:3px; box-sizing:border-box; }
.feed-publication-panel__toggle::after { content:''; display:block; width:14px; height:14px; border-radius:50%; background:var(--fi-muted); transition:transform .16s; }
.feed-publication-panel__switch input:checked + span { background:#4068be; }
.feed-publication-panel__switch input:checked + span::after { background:white; transform:translateX(12px); }
.feed-publication-panel__switch input:focus-visible + span { outline:2px solid var(--fi-accent); outline-offset:3px; }
.feed-publication-panel__fields { display:grid; gap:9px; padding-top:12px; }
.feed-publication-panel__fields input, .feed-publication-panel__fields select { box-sizing:border-box; width:100%; height:36px; padding:7px 9px; border:1px solid var(--fi-line); border-radius:9px; background:var(--fi-hover); color:var(--fi-text); font:inherit; font-size:13px; }
.feed-publication-panel select option { background:var(--fi-bg); color:var(--fi-text); }
.feed-publication-panel__fields input:focus, .feed-publication-panel__fields select:focus { outline:1px solid var(--fi-accent); }
.feed-publication-panel__cover-label { color:var(--fi-muted); font-size:11px; }
.feed-publication-panel__covers { display:flex; gap:7px; flex-wrap:wrap; }
.feed-publication-panel__cover { width:49px; height:49px; padding:2px; border:1px solid var(--fi-line); border-radius:9px; overflow:hidden; background:none; cursor:pointer; }
.feed-publication-panel__cover img { width:100%; height:100%; object-fit:cover; border-radius:6px; }
.feed-publication-panel__cover[aria-pressed="true"] { border-color:var(--fi-accent); box-shadow:0 0 0 1px var(--fi-accent); }
.feed-publication-panel__add { border:1px dashed var(--fi-line); padding:9px; background:none; color:var(--fi-muted); border-radius:9px; font:inherit; cursor:pointer; }
.feed-input__video-badge { position:absolute; top:30px; left:32px; color:#fff; font-size:18px; text-shadow:0 1px 5px #000; pointer-events:none; }
.feed-page .feed-compose-error, .feed-authoring [data-authoring-errors] { margin:8px 0; color:#e48b8b; font-size:12px; line-height:1.5; }
.feed-authoring .feed-authoring__dialog { width:min(760px,calc(100vw - 32px)); max-height:88dvh; height:auto; min-height:0; border-radius:24px; background:var(--fi-bg); }
.feed-authoring [data-authoring-form] { display:flex; flex-direction:column; min-height:0; }
.feed-authoring .feed-authoring__header { flex:none; padding:18px 22px 12px; border:0; }
.feed-authoring .feed-authoring__header h2 { margin:0; font-size:17px; font-weight:600; }
.feed-authoring .feed-authoring__scroll { display:block; padding:0 22px; min-height:0; overflow-y:auto; }
.feed-authoring .feed-input__surface { min-height:160px; max-height:42dvh; }
.feed-authoring .feed-authoring__footer { display:flex; flex:none; align-items:center; justify-content:space-between; gap:12px; border:0; padding:12px 16px 16px; }
.feed-authoring__save-actions { display:flex; gap:8px; align-items:center; }
.feed-authoring [aria-busy="true"] .feed-input__surface, .feed-page [aria-busy="true"] .feed-input__surface { opacity:.55; }
@media(max-width:640px) {
    .feed-page .feed-compose-dock .feed-composer { border-radius:22px; }
    .feed-page .feed-compose-dock .feed-compose-body { padding:0 14px; }
    .feed-input .feed-input__surface { font-size:16px; max-height:29dvh; min-height:65px; }
    .feed-input .feed-input__format { display:none; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
    .feed-input.is-format-open .feed-input__format { display:flex; }
    .feed-input__format-trigger { display:inline-flex; }
    .feed-input__tool { width:36px; height:36px; }
    .feed-authoring .feed-authoring__dialog { width:calc(100vw - 16px); max-height:90dvh; border-radius:20px; }
    .feed-authoring .feed-authoring__header { padding:14px 16px 8px; }
    .feed-authoring .feed-authoring__scroll { padding:0 16px; }
    .feed-authoring .feed-input__surface { min-height:140px; max-height:36dvh; }
    .feed-authoring .feed-authoring__footer { padding:9px 10px 12px; gap:5px; }
    .feed-authoring .feed-authoring__save-actions { gap:2px; }
    .feed-authoring .feed-button { padding-inline:10px; font-size:12px; }
}
@media(pointer:coarse) { .feed-input__reorder { opacity:1; } }

/* Non-modal emoji popup: it floats above the field and never changes its height. */
.feed-emoji-picker { position:fixed; z-index:2200; display:flex; flex-direction:column; box-sizing:border-box; overflow:hidden; border:1px solid var(--fi-line); border-radius:16px; background:var(--fi-bg); color:var(--fi-text); box-shadow:0 12px 42px #0005; font-family:inherit; color-scheme:dark; }
.feed-emoji-picker[hidden] { display:none!important; }
body[data-site-theme="white"] .feed-emoji-picker { color-scheme:light; box-shadow:0 12px 38px #1c25371c; }
.feed-emoji-picker__header { display:flex; flex:none; align-items:center; gap:7px; height:48px; padding:7px 8px 5px 12px; }
.feed-emoji-picker__header input { flex:1; min-width:0; box-sizing:border-box; height:32px; border:0; outline:0; padding:5px 0; background:transparent; color:var(--fi-text); font:inherit; font-size:13px; }
.feed-emoji-picker__header input::placeholder { color:var(--fi-muted); }
.feed-emoji-picker__header input::-webkit-search-cancel-button { cursor:pointer; }
.feed-emoji-picker__header:focus-within { background:var(--fi-hover); }
.feed-emoji-picker__search-icon { display:flex; align-items:center; color:var(--fi-muted); }
.feed-emoji-picker__search-icon svg, .feed-emoji-picker__close svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.feed-emoji-picker__close { display:grid; place-items:center; flex:none; width:28px; height:28px; border:0; border-radius:8px; padding:5px; background:none; color:var(--fi-muted); cursor:pointer; }
.feed-emoji-picker__close:hover { color:var(--fi-text); background:var(--fi-hover); }
.feed-emoji-picker__body { position:relative; flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 8px 10px; scrollbar-width:thin; scrollbar-color:#888f9d44 transparent; }
.feed-emoji-picker__label { padding:9px 5px 6px; color:var(--fi-muted); font-size:11px; line-height:1.3; font-weight:500; }
.feed-emoji-picker__grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:1px; }
.feed-emoji-picker__choice { display:flex; align-items:center; justify-content:center; box-sizing:border-box; aspect-ratio:1; width:100%; min-width:0; padding:4px; border:0; border-radius:8px; background:none; font:25px/1 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; cursor:pointer; touch-action:manipulation; }
.feed-emoji-picker__choice:hover, .feed-emoji-picker__choice:focus-visible { background:var(--fi-hover); outline:none; }
.feed-emoji-picker__choice:focus-visible { box-shadow:inset 0 0 0 1px var(--fi-accent); }
.feed-emoji-picker__choice img { display:block; width:28px; height:28px; max-width:100%; object-fit:contain; }
.feed-emoji-picker__categories { display:flex; flex:none; justify-content:space-evenly; gap:0; align-items:center; padding:4px 5px 5px; border-top:1px solid var(--fi-line); }
.feed-emoji-picker__category { display:grid; place-items:center; min-width:0; flex:1; height:29px; padding:3px 0; border:0; border-radius:7px; background:none; color:var(--fi-muted); opacity:.8; cursor:pointer; }
.feed-emoji-picker__category svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.feed-emoji-picker__category[aria-current="true"] { color:var(--fi-accent); }
.feed-emoji-picker__category:hover, .feed-emoji-picker__category[aria-current="true"] { opacity:1; background:var(--fi-hover); }
.feed-emoji-picker__category:disabled { opacity:.2; cursor:default; }
.feed-emoji-picker__category:focus-visible, .feed-emoji-picker__close:focus-visible { outline:1px solid var(--fi-accent); outline-offset:-1px; }
.feed-emoji-picker__empty { padding:42px 8px; color:var(--fi-muted); text-align:center; font-size:12px; }
@media(max-width:640px) {
    .feed-emoji-picker { border-radius:14px; }
    .feed-emoji-picker__header input { font-size:16px; }
    .feed-input__format .feed-input__tool { width:30px; height:30px; }
}
