:root{--composer-focus-color:var(--color-brand-primary);--composer-focus-shadow:var(--color-focus-ring-brand);--composer-char-safe:var(--color-text-muted);--composer-char-warning:var(--color-status-warning);--composer-char-danger:var(--color-status-error);--composer-transition-fast:0.15s;--composer-transition-normal:0.2s;--composer-transition-slow:0.3s;--composer-expand-duration:0.34s;--composer-ease-out:cubic-bezier(0.16,1,0.3,1);--composer-ease-in-out:cubic-bezier(0.4,0,0.2,1);--composer-ease-expand:cubic-bezier(0.22,1,0.36,1);--composer-shadow-sm:var(--shadow-elevation-sm);--composer-shadow-md:var(--shadow-elevation-md);--composer-shadow-lg:var(--shadow-elevation-lg)}.char-count-safe{color:var(--composer-char-safe)}.char-count-safe,.char-count-warning{transition:color var(--composer-transition-normal) var(--composer-ease-in-out)}.char-count-warning{color:var(--composer-char-warning)}.char-count-danger{color:var(--composer-char-danger);animation:pulse-warning 1s ease-in-out infinite;transition:color var(--composer-transition-normal) var(--composer-ease-in-out)}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.textarea-enhanced{transition:border-color var(--composer-transition-normal) var(--composer-ease-in-out),box-shadow var(--composer-transition-normal) var(--composer-ease-in-out)}.textarea-enhanced:focus{border-color:var(--composer-focus-color)!important;box-shadow:0 0 0 3px var(--composer-focus-shadow);outline:none}@keyframes tag-enter{0%{opacity:0;transform:translateX(-10px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes tag-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.tag-enhanced{animation:tag-enter var(--composer-transition-normal) var(--composer-ease-out);transition:transform var(--composer-transition-fast) var(--composer-ease-out),box-shadow var(--composer-transition-fast) var(--composer-ease-out);will-change:transform,box-shadow}.tag-enhanced:hover{transform:translateY(-1px);box-shadow:var(--composer-shadow-md)}.tag-removing{animation:tag-exit var(--composer-transition-fast) var(--composer-ease-out) forwards}@keyframes dropdown-enter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes dropdown-exit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-10px)}}.dropdown-enhanced{animation:dropdown-enter var(--composer-transition-fast) var(--composer-ease-out);background:var(--color-app-shell-bg);border:1px solid color-mix(in srgb,var(--color-border-default) 72%,transparent);box-shadow:var(--shadow-overlay-soft);will-change:transform,opacity}.post-composer-motion-root{transition:filter var(--composer-transition-normal) var(--composer-ease-in-out)}.post-composer-motion-root .composer-editable-surface{transition:min-height var(--composer-expand-duration) var(--composer-ease-expand),max-height var(--composer-expand-duration) var(--composer-ease-expand),color var(--composer-transition-normal) var(--composer-ease-in-out);will-change:min-height}.composer-expand-region{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-6px);overflow:hidden;pointer-events:none;transition:grid-template-rows var(--composer-expand-duration) var(--composer-ease-expand),opacity var(--composer-transition-normal) var(--composer-ease-in-out),transform var(--composer-expand-duration) var(--composer-ease-expand);will-change:grid-template-rows,opacity,transform}.composer-expand-region>*{min-height:0}.composer-expand-region[data-expanded=true]{grid-template-rows:1fr;opacity:1;transform:translateY(0);pointer-events:auto}.composer-expand-region--tags{margin-top:-.25rem}.composer-expand-region--tags[data-expanded=true]{margin-top:0}.composer-expand-region--actions{transition-delay:0s,30ms,0s}.composer-expand-region--comment-actions{margin-top:-.15rem;transition-delay:0s,24ms,0s}.composer-expand-region--comment-actions[data-expanded=true]{margin-top:0}.composer-actions-panel{transform:translateY(-2px);transition:transform var(--composer-expand-duration) var(--composer-ease-expand)}.composer-expand-region[data-expanded=true] .composer-actions-panel{transform:translateY(0)}.dropdown-exiting{animation:dropdown-exit var(--composer-transition-fast) var(--composer-ease-out) forwards}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.media-skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,color-mix(in srgb,var(--color-text-primary) 5%,transparent) 0,color-mix(in srgb,var(--color-text-primary) 10%,transparent) 50%,color-mix(in srgb,var(--color-text-primary) 5%,transparent) 100%);background-size:200% 100%}.media-preview-enter{animation:tag-enter var(--composer-transition-normal) var(--composer-ease-out)}.media-preview-exit{animation:tag-exit var(--composer-transition-fast) var(--composer-ease-out) forwards}@keyframes suggestion-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.suggestion-item{transition:background-color var(--composer-transition-fast) var(--composer-ease-in-out)}.suggestion-item:hover{background-color:color-mix(in srgb,var(--color-surface-raised) 78%,var(--color-app-shell-bg))}.suggestion-dropdown{animation:suggestion-enter var(--composer-transition-fast) var(--composer-ease-out)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner{animation:spin 1s linear infinite}.tooltip-enhanced{animation:dropdown-enter var(--composer-transition-fast) var(--composer-ease-out);backdrop-filter:blur(4px);background:color-mix(in srgb,var(--color-app-shell-bg) 94%,transparent);border:1px solid color-mix(in srgb,var(--color-border-default) 72%,transparent);box-shadow:var(--shadow-overlay-soft)}.dropdown-enhanced,.media-preview-enter,.tag-enhanced{transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.actions-row-enter{animation:fade-in-up var(--composer-transition-normal) var(--composer-ease-out)}.actions-row-exit{animation:fade-out-down var(--composer-transition-fast) var(--composer-ease-out) forwards}.mention-highlight{color:var(--color-brand-primary);font-weight:500;background:transparent;padding:0;margin:0}