.ai-composer{--ro:var(--r-xl);--pad:16px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--ro);box-shadow:var(--shadow-sm);padding:var(--pad) var(--pad) 14px;transition:box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease)}.ai-composer:focus-within{border-color:var(--brand-bright);box-shadow:0 0 0 4px var(--brand-soft), var(--shadow-md)}.ai-seg{background:var(--bg-warm);border-radius:var(--r-pill);gap:4px;margin-bottom:14px;padding:4px;display:inline-flex}.ai-composer-dock .ai-seg{-webkit-backdrop-filter:url(#liquid-lens)blur(2px)saturate(170%);backdrop-filter:url(#liquid-lens)blur(2px)saturate(170%);background:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff73}@supports not ((-webkit-backdrop-filter:url(#liquid-lens)) or (backdrop-filter:url(#liquid-lens))){.ai-composer-dock .ai-seg{-webkit-backdrop-filter:blur(10px)saturate(150%);backdrop-filter:blur(10px)saturate(150%)}}.ai-composer-dock .ai-composer:has(.ai-composer-input:focus) .ai-seg{background:var(--bg-warm);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--line-strong);box-shadow:none}.ai-seg-btn{border-radius:var(--r-pill);height:34px;color:var(--ink-2);transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:none;align-items:center;gap:7px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.ai-seg-btn:hover:not(.on){color:var(--ink)}.ai-seg-btn.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-xs)}.ai-seg-btn svg{flex:none}.ai-composer-input{resize:none;width:100%;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;font-size:16px;line-height:1.6}.ai-composer-input::placeholder{color:var(--ink-3)}.ai-composer-foot{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;display:flex}.ai-composer-aux{min-width:0;color:var(--ink-3);flex:1;align-items:center;gap:8px;font-size:12.5px;display:flex}.ai-composer-send{border-radius:var(--r-control);flex:none;align-items:center;gap:7px;display:inline-flex}.ai-composer-send svg{flex:none}.ai-composer .ai-composer-send:disabled,.ai-composer .ai-composer-send[disabled]{cursor:default;background:var(--surface)!important;color:var(--ink-3)!important;border-color:var(--line-strong)!important;box-shadow:var(--shadow-xs)!important}.ai-composer-send-col{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.ai-composer-hint{color:var(--ink-4);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;font-size:11px;display:flex}.ai-composer-hint>span{align-items:center;gap:4px;display:inline-flex}.ai-composer-hint kbd{font-family:var(--font-mono);background:var(--bg-warm);border:1px solid var(--line-strong);color:var(--ink-2);border-radius:4px;padding:2px 5px;font-size:10px;line-height:1}.ai-composer-dock .ai-composer-hint{opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease), visibility var(--dur) var(--ease)}.ai-composer-dock .ai-composer:has(.ai-composer-input:focus) .ai-composer-hint{opacity:1;visibility:visible}.ai-attach{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);height:34px;color:var(--ink-2);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:500;display:inline-flex}.ai-attach:hover{border-color:var(--brand-bright);color:var(--brand)}.ai-attach svg{flex:none}.ref-chip{border-radius:var(--r-pill);background:var(--brand-soft);border:1px solid var(--brand-line);height:34px;color:var(--brand);align-items:center;gap:8px;min-width:0;max-width:min(240px,100%);padding:0 8px 0 4px;display:inline-flex}.ref-chip img{border-radius:var(--r-pill);object-fit:cover;flex:none;width:26px;height:26px}.ref-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.ref-x{width:20px;height:20px;color:var(--brand);background:0 0;border:none;border-radius:50%;flex:none;font-size:16px;line-height:1}.ref-x:hover{background:#1b5e3f1f}.ai-composer-dock{z-index:20;width:100%;max-width:720px;margin:28px auto 0;position:sticky;bottom:40px}.ai-composer-dock .ai-composer{isolation:isolate;-webkit-backdrop-filter:url(#liquid-lens)blur(2px)saturate(180%);backdrop-filter:url(#liquid-lens)blur(2px)saturate(180%);transition:background var(--dur-slow) var(--ease-out), border-color var(--dur) var(--ease), box-shadow var(--dur-slow) var(--ease-out), transform var(--dur) var(--ease-out);background:#ffffff57;border-color:#ffffff80;position:relative;box-shadow:0 18px 44px #131c1729,0 3px 10px #131c170f}@supports not ((-webkit-backdrop-filter:url(#liquid-lens)) or (backdrop-filter:url(#liquid-lens))){.ai-composer-dock .ai-composer{-webkit-backdrop-filter:blur(14px)saturate(150%);backdrop-filter:blur(14px)saturate(150%);background:#fff6}}.ai-composer-dock .ai-composer:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;z-index:0;background:linear-gradient(135deg,#ffffffd9 0%,#ffffff47 40%,#ffffff0a 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.ai-composer-dock .ai-composer:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;position:absolute;inset:0;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -1px 1px #ffffff14}.ai-composer-dock .ai-composer>*{z-index:1;position:relative}.ai-composer-dock .ai-composer:has(.ai-composer-input:focus){background:var(--surface);border-color:var(--brand-bright);box-shadow:0 0 0 4px var(--brand-soft), var(--shadow-lg);transform:translateY(-3px)}.ai-composer-dock .ai-seg-btn.on{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-xs)}.ai-composer-dock .ai-composer-send.btn-primary{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur-fast) var(--ease)}.ai-composer-dock .ai-composer-send.btn-primary:hover{color:var(--brand);box-shadow:var(--shadow-md);background:#fff;transform:translateY(-1px)}.ai-composer-dock .ai-composer:has(.ai-composer-input:focus) .ai-seg-btn.on{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-sm)}.ai-composer-dock .ai-composer:has(.ai-composer-input:focus) .ai-composer-send.btn-primary{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-brand)}.ai-composer-dock .ai-composer:has(.ai-composer-input:focus) .ai-composer-send.btn-primary:hover{background:#185338;box-shadow:0 16px 40px #1b5e3f42}.ai-composer-dock .ai-composer-collapsible{--appear-ease:cubic-bezier(.16, 1, .3, 1);--leave-ease:cubic-bezier(.16, 1, .3, 1);--appear:.38s;--leave:.52s;transition:padding var(--leave) var(--leave-ease), background var(--leave) var(--leave-ease), border-color var(--leave) var(--leave-ease), box-shadow var(--leave) var(--leave-ease), transform var(--leave) var(--leave-ease)}.ai-composer-collapsible .ai-seg,.ai-composer-collapsible .ai-composer-aux{opacity:0;pointer-events:none;max-height:0;transition:max-height var(--leave) var(--leave-ease), opacity var(--leave) var(--leave-ease), transform var(--leave) var(--leave-ease), margin var(--leave) var(--leave-ease);overflow:hidden}.ai-composer-collapsible .ai-seg{margin-bottom:0;transform:translateY(-7px)}.ai-composer-collapsible .ai-composer-aux{transform:translateY(9px)}.ai-composer-collapsible .ai-composer-input{transition:height var(--leave) var(--leave-ease)}.ai-composer-collapsible:not(:hover):not(:focus-within):not(.is-open){flex-wrap:wrap;align-items:center;column-gap:10px;padding-top:0;padding-bottom:8px;display:flex}.ai-composer-collapsible:not(:hover):not(:focus-within):not(.is-open) .ai-seg{flex-basis:100%;order:-1}.ai-composer-collapsible:not(:hover):not(:focus-within):not(.is-open) .ai-composer-input{flex:1 1 0;min-width:120px;height:1.4em;min-height:1.4em;line-height:1.4em}.ai-composer-collapsible:not(:hover):not(:focus-within):not(.is-open) .ai-composer-foot{flex:none;align-items:center;width:auto;margin-top:0}.ai-composer-collapsible:not(:hover):not(:focus-within):not(.is-open) .ai-composer-hint{display:none}.ai-composer-dock .ai-composer-collapsible:hover,.ai-composer-dock .ai-composer-collapsible:focus-within,.ai-composer-dock .ai-composer-collapsible.is-open{transition-duration:var(--appear);transition-timing-function:var(--appear-ease)}.ai-composer-collapsible:hover .ai-composer-input,.ai-composer-collapsible:focus-within .ai-composer-input,.ai-composer-collapsible.is-open .ai-composer-input{height:3.4em;min-height:3.4em;transition-duration:var(--appear);transition-timing-function:var(--appear-ease)}.ai-composer-collapsible:hover .ai-seg,.ai-composer-collapsible:focus-within .ai-seg,.ai-composer-collapsible.is-open .ai-seg{opacity:1;pointer-events:auto;max-height:64px;transition-duration:var(--appear);transition-timing-function:var(--appear-ease);margin-bottom:14px;overflow:visible;transform:translateY(0)}.ai-composer-collapsible:hover .ai-composer-aux,.ai-composer-collapsible:focus-within .ai-composer-aux,.ai-composer-collapsible.is-open .ai-composer-aux{opacity:1;pointer-events:auto;max-height:240px;transition-duration:var(--appear);transition-timing-function:var(--appear-ease);overflow:visible;transform:translateY(0)}.ai-composer-dock .ai-composer-collapsible:hover,.ai-composer-dock .ai-composer-collapsible:focus-within,.ai-composer-dock .ai-composer-collapsible.is-open{background:var(--surface);border-color:var(--brand-bright);box-shadow:0 0 0 4px var(--brand-soft), var(--shadow-lg);transform:translateY(-3px)}.ai-composer-dock .ai-composer-collapsible:hover .ai-composer-hint,.ai-composer-dock .ai-composer-collapsible:focus-within .ai-composer-hint,.ai-composer-dock .ai-composer-collapsible.is-open .ai-composer-hint{opacity:1;visibility:visible}.ai-composer-dock .ai-composer-collapsible:hover .ai-seg-btn.on,.ai-composer-dock .ai-composer-collapsible:focus-within .ai-seg-btn.on,.ai-composer-dock .ai-composer-collapsible.is-open .ai-seg-btn.on{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-sm)}.ai-composer-dock .ai-composer-collapsible:hover .ai-composer-send.btn-primary,.ai-composer-dock .ai-composer-collapsible:focus-within .ai-composer-send.btn-primary,.ai-composer-dock .ai-composer-collapsible.is-open .ai-composer-send.btn-primary{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-brand)}@media (prefers-reduced-motion:reduce){.ai-composer-dock .ai-composer-collapsible,.ai-composer-collapsible .ai-seg,.ai-composer-collapsible .ai-composer-aux,.ai-composer-collapsible .ai-composer-input{transition-duration:1ms}.ai-composer-collapsible .ai-seg,.ai-composer-collapsible .ai-composer-aux{transform:none}}@media (max-width:720px){.ai-composer-dock{bottom:20px}.ai-seg-btn{padding:0 12px;font-size:12.5px}.ai-composer-hint{display:none}}
