.attachment-open{min-width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);font-size:24px;margin-right:8px;transition:transform .18s}.attachment-open:active{transform:scale(.92)}.attachment-list{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}.attachment-list[hidden]{display:none}.attachment-card{display:flex;align-items:center;gap:8px;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface);font-size:14px}.attachment-card span{overflow-wrap:anywhere}.attachment-card img{width:48px;height:48px;object-fit:contain;border-radius:8px}.attachment-card button{min-width:36px;min-height:36px;background:none;color:var(--text);border:0;font-size:24px}.install-open{margin:8px 0;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font-size:14px}.cost-badge{cursor:pointer;font:inherit;font-size:13px}.install-dialog{max-width:440px}.install-dialog li{margin-bottom:12px;line-height:1.5}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}@media(max-width:480px){.composer-hint{display:none!important}.composer-bottom{flex-wrap:wrap;gap:4px}.voice-open{margin-left:0}}@media(prefers-reduced-motion:reduce){.attachment-open{transition:none}}
.composer .composer-bottom{display:grid;grid-template-columns:repeat(3,48px);justify-content:center;align-items:center;gap:10px 16px;padding-top:8px}
.composer .composer-hint{display:none!important}
.composer #attachment-open,.composer #voice-open,.composer #send{display:grid;place-items:center;width:48px;min-width:48px;height:48px;margin:0;padding:0;line-height:1;border-radius:50%;align-self:center;justify-self:center}
.composer #attachment-open{grid-column:1;grid-row:1}.composer #voice-open{grid-column:2;grid-row:1}.composer #send{grid-column:3;grid-row:1}
.composer #attachment-open svg,.composer #voice-open svg,.composer #send svg{display:block;width:22px;height:22px}
.composer #stop-reply{grid-column:1 / -1;grid-row:2;justify-self:center;margin:0;min-height:44px;padding:10px 18px}
.attachment-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.attachment-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.attachment-card:active{transform:scale(.98)}
@media(hover:hover) and (pointer:fine){
 .composer #attachment-open:hover:not(:disabled),.attachment-card:hover{animation:neo-attachment-pulse 1.6s ease-in-out infinite;border-color:var(--accent)}
 .workspace-nav button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #8cbfff20}
}
.workspace-nav button{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.workspace-nav button:active{transform:scale(.96)}
@keyframes neo-attachment-pulse{0%,100%{transform:translateY(-1px) scale(1);box-shadow:0 0 0 0 #9ad9ff00}50%{transform:translateY(-3px) scale(1.025);box-shadow:0 0 18px 2px #9ad9ff25}}
.app-shell{height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
@media(max-width:760px){.sidebar{top:calc(10px + env(safe-area-inset-top));bottom:calc(10px + env(safe-area-inset-bottom))}.topbar{flex-shrink:0}.top-left{min-width:0}.top-title{min-width:0}}
@media(prefers-reduced-motion:reduce){.composer #attachment-open:hover:not(:disabled),.attachment-card:hover{animation:none}.attachment-card,.workspace-nav button{transition:none}}
