#attachment.multi-attachment-tray{display:block;height:auto;margin:0 0 9px 92px;padding:10px;border:1px solid color-mix(in srgb,var(--violet) 34%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--panel2) 94%,var(--violet));box-shadow:0 8px 24px #0002}
#attachment.multi-attachment-tray[hidden]{display:none!important}
.multi-attachment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding:0 2px}
.multi-attachment-heading>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px;min-width:0}
.multi-attachment-heading strong{font-size:12px;color:var(--text)}
.multi-attachment-count{flex:0 1 auto!important;font-size:10px;font-weight:750;color:var(--muted);font-variant-numeric:tabular-nums}
#attachment .multi-clear{position:static!important;width:auto!important;height:30px!important;padding:0 9px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--panel)!important;color:var(--muted)!important;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}
.multi-upload-summary{position:relative;display:grid;gap:8px;margin:0 0 9px;padding:10px 11px;overflow:hidden;border:1px solid color-mix(in srgb,var(--violet) 42%,var(--line));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--violet) 14%,var(--panel)),color-mix(in srgb,var(--pink) 8%,var(--panel2)));box-shadow:inset 0 1px #ffffff0a,0 7px 18px #0002}
.multi-upload-summary[hidden]{display:none!important}
.multi-upload-summary-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.multi-upload-summary-copy{display:grid;gap:1px;min-width:0}
.multi-upload-summary-copy strong{overflow:hidden;color:var(--text);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.multi-upload-summary-copy small{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.multi-upload-total{flex:none;min-width:42px;color:var(--pink);font-size:14px;font-weight:900;line-height:1;text-align:right;font-variant-numeric:tabular-nums}
.multi-upload-track{position:relative;z-index:1;display:block;width:100%;height:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--violet) 23%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel) 68%,#000);box-shadow:inset 0 1px 3px #0005}
.multi-upload-track i{position:absolute;inset:0 auto 0 0;width:0;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--pink) 58%,#ff8bc5);background-size:180% 100%;box-shadow:0 0 15px color-mix(in srgb,var(--pink) 60%,transparent);transition:width .16s ease-out}
.multi-upload-summary.is-active .multi-upload-track i{animation:trejj-multi-gradient 1.25s linear infinite}
.multi-upload-summary.is-active .multi-upload-track i::after{content:"";position:absolute;inset:0;width:44%;background:linear-gradient(90deg,transparent,#fff8,transparent);animation:trejj-multi-sheen 1.35s ease-in-out infinite}
.multi-upload-summary.is-complete{border-color:color-mix(in srgb,#42bb78 55%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,#42bb78 13%,var(--panel)),var(--panel2))}
.multi-upload-summary.is-complete .multi-upload-total{color:#63d995}
.multi-upload-summary.is-complete .multi-upload-track i{background:#42bb78;box-shadow:0 0 14px #42bb7866}
.multi-upload-summary.has-errors{border-color:color-mix(in srgb,#e25867 70%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,#e25867 13%,var(--panel)),var(--panel2))}
.multi-upload-summary.has-errors .multi-upload-total{color:#ef8792}
.multi-attachment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:7px}
.multi-attachment-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:62px;padding:6px;border:1px solid var(--line);border-radius:11px;background:var(--panel);transition:border-color .18s ease,background .18s ease}
.multi-attachment-item.status-ready{border-color:color-mix(in srgb,#42bb78 48%,var(--line))}
.multi-attachment-item.status-error{border-color:color-mix(in srgb,#e25867 74%,var(--line));background:color-mix(in srgb,var(--panel) 91%,#e25867)}
.multi-attachment-visual{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border-radius:9px;background:color-mix(in srgb,var(--violet) 14%,var(--panel2));color:var(--pink)}
#attachment .multi-attachment-visual img{display:block;width:100%;height:100%;border-radius:9px;object-fit:cover}
.multi-attachment-visual span{display:grid;place-items:center;flex:none!important;width:100%;height:100%;font-size:9px;font-weight:900;letter-spacing:.4px}
.multi-attachment-copy{display:grid;gap:2px;min-width:0}
.multi-attachment-copy strong,.multi-attachment-status-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.multi-attachment-copy strong{font-size:11px;color:var(--text)}
.multi-attachment-status-row{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}
.multi-attachment-status-row>span{min-width:0;color:var(--muted);font-size:9px}
.multi-attachment-percent{flex:none;min-width:29px;color:var(--pink);font-size:9px;font-weight:900;text-align:right;font-variant-numeric:tabular-nums}
.multi-attachment-item.status-error .multi-attachment-status-row>span{white-space:normal;color:#ef8792;line-height:1.25}
.multi-attachment-item.status-error .multi-attachment-percent{color:#ef8792}
.multi-attachment-progress{position:relative;display:block;width:100%;height:6px;margin-top:3px;overflow:hidden;border:1px solid color-mix(in srgb,var(--violet) 18%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel2) 72%,#000);box-shadow:inset 0 1px 2px #0004}
.multi-attachment-progress b{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--pink));box-shadow:0 0 8px color-mix(in srgb,var(--pink) 50%,transparent);transition:width .12s linear}
.status-ready .multi-attachment-progress b{background:#42bb78}
.status-processing .multi-attachment-progress b,.status-starting .multi-attachment-progress b{width:42%!important;animation:trejj-multi-upload-track 1.35s ease-in-out infinite}
.status-scanning .multi-attachment-progress b{width:100%!important;background:linear-gradient(90deg,var(--violet),var(--pink),var(--violet));background-size:200% 100%;animation:trejj-multi-gradient 1.1s linear infinite}
.multi-attachment-actions{display:grid;align-self:stretch;align-content:center;gap:3px}
#attachment .multi-attachment-actions button{position:static!important;width:auto!important;min-width:27px;height:27px!important;margin:0;padding:0 7px!important;border:1px solid var(--line)!important;border-radius:7px!important;background:var(--panel2)!important;color:var(--text)!important;font-size:10px;font-weight:850;cursor:pointer}
#attachment .multi-attachment-actions .multi-remove{padding:0!important;font-size:16px;font-weight:500;color:var(--muted)!important}
#attachment .multi-attachment-actions .multi-retry{color:var(--pink)!important}
.multi-attachment-notice{margin:7px 2px 0;color:#ef8792;font-size:10px;font-weight:700;line-height:1.4}
.multi-attachment-notice[hidden]{display:none}
.sent-attachment-strip{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 9px}
.sent-attachment{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px;max-width:180px;min-width:0;padding:4px 6px 4px 4px;border:1px solid #ffffff3b;border-radius:9px;background:#ffffff12}
.sent-attachment img,.sent-attachment>span{width:34px;height:34px;border-radius:7px}
.sent-attachment img{display:block;object-fit:cover}
.sent-attachment>span{display:grid;place-items:center;background:#ffffff18;font-size:8px;font-weight:900}
.sent-attachment small{overflow:hidden;color:inherit;font-size:9px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
@keyframes trejj-multi-upload-track{from{transform:translateX(-110%)}to{transform:translateX(340%)}}
@keyframes trejj-multi-gradient{to{background-position:-180% 0}}
@keyframes trejj-multi-sheen{from{transform:translateX(-130%)}to{transform:translateX(330%)}}
@media(max-width:760px){#attachment.multi-attachment-tray{margin-left:0;padding:8px}.multi-upload-summary{padding:10px}.multi-upload-summary-copy strong{font-size:12px}.multi-upload-summary-copy small{font-size:10px}.multi-upload-total{font-size:15px}.multi-upload-track{height:9px}.multi-attachment-list{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px}.multi-attachment-item{flex:0 0 min(82vw,270px);scroll-snap-align:start}.multi-attachment-heading{position:sticky;left:0}.sent-attachment{max-width:145px}}
@media(max-width:390px){.multi-attachment-item{flex-basis:88vw}.multi-attachment-heading>div{display:grid;gap:2px}}
@media(prefers-reduced-motion:reduce){.multi-attachment-item,.multi-attachment-progress b,.multi-upload-track i{transition:none}.multi-upload-summary.is-active .multi-upload-track i,.multi-upload-summary.is-active .multi-upload-track i::after,.status-processing .multi-attachment-progress b,.status-scanning .multi-attachment-progress b,.status-starting .multi-attachment-progress b{animation:none}.status-processing .multi-attachment-progress b,.status-starting .multi-attachment-progress b{width:100%!important;opacity:.6}}
@media(forced-colors:active){#attachment.multi-attachment-tray,.multi-upload-summary,.multi-upload-track,.multi-attachment-item,.multi-attachment-actions button,.multi-attachment-progress{border:1px solid CanvasText!important}.multi-upload-track i,.multi-attachment-progress b{background:Highlight;box-shadow:none}}
.composer-row.has-attachment-chooser{position:relative;isolation:isolate}
.attachment-chooser{position:absolute;z-index:120;left:0;bottom:calc(100% + 13px);box-sizing:border-box;display:grid;gap:8px;width:min(376px,calc(100vw - 32px));max-width:calc(100vw - 24px);padding:10px;overflow:visible;border:1px solid color-mix(in srgb,var(--violet) 34%,var(--line));border-radius:17px;background:linear-gradient(155deg,color-mix(in srgb,var(--panel2) 94%,var(--violet)),var(--panel) 58%);color:var(--text);font:inherit;text-align:left;box-shadow:0 22px 60px #0009,0 2px 10px #0003;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.attachment-chooser[hidden]{display:none!important}
.attachment-chooser::after{content:"";position:absolute;bottom:-7px;left:19px;width:13px;height:13px;border-right:1px solid color-mix(in srgb,var(--violet) 34%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--violet) 34%,var(--line));background:var(--panel);transform:rotate(45deg)}
#chatForm .attachment-chooser small{position:static;inset:auto;display:block;margin:0;padding:0}
.attachment-chooser-header{display:grid;gap:1px;padding:3px 5px 5px}
.attachment-chooser-header strong{color:var(--text);font-size:14px;line-height:1.35;letter-spacing:-.01em}
.attachment-chooser-header small{color:var(--muted);font-size:10px;line-height:1.45}
#chatForm .attachment-choice{position:relative;inset:auto;box-sizing:border-box;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;max-width:100%;height:auto;min-height:66px;margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel2) 90%,transparent);color:var(--text);font:inherit;text-align:left;box-shadow:none;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
#chatForm .attachment-choice:hover,#chatForm .attachment-choice:focus-visible{border-color:color-mix(in srgb,var(--violet) 60%,var(--line));background:color-mix(in srgb,var(--violet) 12%,var(--panel2));outline:none;box-shadow:0 8px 20px #0003;transform:translateY(-1px)}
#chatForm .attachment-choice:focus-visible{outline:2px solid color-mix(in srgb,var(--pink) 75%,white);outline-offset:2px}
.attachment-choice-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--violet) 28%,var(--line));border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--violet) 22%,var(--panel2)),color-mix(in srgb,var(--pink) 10%,var(--panel2)));color:var(--pink)}
.attachment-choice-icon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.attachment-choice-copy{display:grid;gap:2px;min-width:0}
.attachment-choice-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.attachment-choice-copy b{min-width:0;font-size:12px;line-height:1.35}
.attachment-choice-title em{flex:none;padding:2px 6px;border:1px solid color-mix(in srgb,var(--violet) 30%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--violet) 10%,var(--panel));color:var(--muted);font-size:8px;font-style:normal;font-weight:800;line-height:1.3;white-space:nowrap}
.attachment-choice-copy small{color:var(--muted);font-size:9px;line-height:1.4}
.attachment-choice-copy .attachment-choice-detail{opacity:.86}
.attachment-choice-arrow{color:var(--muted);font-size:22px;line-height:1}
#chatForm .attachment-choice.limit-reached,#chatForm .attachment-choice:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}
@media(max-width:760px){.attachment-chooser{position:fixed;z-index:250;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 86px);left:12px;width:auto;max-width:calc(100vw - 24px);max-height:min(68vh,430px);max-height:min(68dvh,430px);padding:11px;border-radius:20px;overflow-x:hidden;overflow-y:auto}.attachment-chooser::after{display:none}.attachment-chooser-header{padding:4px 5px 7px}.attachment-chooser-header strong{font-size:15px}.attachment-chooser-header small{font-size:11px}#chatForm .attachment-choice{min-height:72px;padding:11px 12px}.attachment-choice-copy b{font-size:13px}.attachment-choice-copy small{font-size:10px}}
@media(max-width:420px){#chatForm .attachment-choice{grid-template-columns:40px minmax(0,1fr) 14px;gap:8px;padding:9px}.attachment-choice-icon{width:40px;height:40px}.attachment-choice-title{align-items:flex-start;flex-direction:column;gap:2px}.attachment-choice-title em{max-width:100%;white-space:normal}.attachment-choice-copy small{font-size:9px}}
@media(prefers-reduced-motion:reduce){#chatForm .attachment-choice{transition:none}}
@media(forced-colors:active){.attachment-chooser,#chatForm .attachment-choice,#chatForm .attachment-choice:hover,#chatForm .attachment-choice:focus-visible,.attachment-choice-icon{border:1px solid CanvasText}.attachment-chooser::after{display:none}}
