/* Compact messaging composer for the v0.3.x JSON-storage release line. */
.compact-composer{display:block;padding:10px 12px;background:#fff}
.composer-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:8px;align-items:end}
.composer-row textarea{width:100%;min-height:44px;max-height:120px;margin:0;padding:11px 16px;border:1px solid #d9d9d9;border-radius:22px;line-height:1.35;resize:none;background:#fff}
.composer-icon-button,.composer-send-button{height:44px;min-width:44px;margin:0;border:1px solid #d9d9d9;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:#0b0b0b;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.composer-icon-button:hover,.composer-icon-button[aria-expanded="true"]{border-color:#c9a45c;background:#fff8e8;color:#6b4c13}
.composer-icon-button svg,.composer-send-button svg,.composer-menu-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.composer-send-button{min-width:88px;padding:0 16px;border-color:#c9a45c;border-radius:22px;background:#0b0b0b;color:#fff;font-weight:700}
.composer-send-button:hover{background:#1b1b1b;color:#c9a45c}
.composer-send-button:disabled{cursor:wait;opacity:.68}
.composer-send-button.sending svg{animation:composer-send-pulse .8s ease-in-out infinite alternate}
.composer-add{position:relative}
.composer-menu{position:absolute;left:0;bottom:54px;z-index:8;width:min(290px,calc(100vw - 42px));padding:7px;border:1px solid #e1d3b4;border-radius:14px;background:#fff;box-shadow:0 16px 42px rgba(0,0,0,.16)}
.composer-menu-item{display:flex;align-items:center;gap:12px;margin:0;padding:11px;border-radius:10px;cursor:pointer;color:#0b0b0b}
.composer-menu-item:hover{background:#fff8e8}
.composer-menu-item>span{display:grid;gap:1px}
.composer-menu-item strong{font-size:.88rem}
.composer-menu-item small{color:var(--muted);font-size:.72rem;font-weight:400}
.composer-menu-item input{display:none}
.compact-composer .selected-file,.compact-composer .voice-panel{margin:0 0 8px}
.compact-composer .selected-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border-color:#e1d3b4;background:#fffaf0}
.compact-composer .selected-file img{width:46px;height:42px}
.selected-file-copy{display:grid;min-width:0}
.selected-file-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}
.selected-file-copy small{color:var(--muted)}
.selected-file-remove{padding:7px 9px;border-radius:8px;background:#fff;color:#6a1e1e;border:1px solid #ead0d0;font-size:.75rem;font-weight:700}
.compact-composer .voice-panel{justify-content:flex-start;padding:9px 11px;background:#fffaf0}
.compact-composer .voice-panel button{padding:7px 10px;border:1px solid #d9c18f;border-radius:8px;background:#fff;font-weight:700}
@keyframes composer-send-pulse{to{transform:translateX(2px)}}
@media(max-width:900px){
  .compact-composer{padding:8px}
  .composer-row{grid-template-columns:42px minmax(0,1fr) 42px 42px;gap:6px}
  .composer-icon-button,.composer-send-button{height:42px;min-width:42px}
  .compact-composer .composer-send-button{grid-column:auto;width:42px;padding:0;border-radius:50%}
  .composer-send-button .send-label{display:none}
  .composer-row textarea{min-height:42px;padding:10px 14px}
}
@media(max-width:390px){
  .compact-composer{padding:7px}
  .composer-row{grid-template-columns:40px minmax(0,1fr) 40px 40px;gap:5px}
  .composer-icon-button,.composer-send-button{height:40px;min-width:40px}
  .compact-composer .composer-send-button{width:40px}
  .composer-menu{bottom:49px}
}
@media(prefers-reduced-motion:reduce){.composer-icon-button,.composer-send-button{transition:none}.composer-send-button.sending svg{animation:none}}
