.dashboard-shell:has(.assistant-full){height:100dvh;min-height:0}.main-panel:has(.assistant-full){min-height:0}.page-content:has(.assistant-full){flex-direction:column;flex:1;min-height:0;padding-bottom:24px;display:flex}.page-content>.reveal:has(>.assistant-full){flex-direction:column;flex:1;min-height:0;display:flex}.assistant-full{flex-direction:column;flex:1;min-height:0;display:flex}.assistant-full>.page-header{flex-shrink:0}.assistant-layout{flex-direction:column;flex:1;gap:16px;height:100%;min-height:0;display:flex}.thread-history{flex-shrink:0;min-width:0}.thread-toolbar{gap:8px;min-width:0;display:flex}.thread-select{flex:1;gap:8px;min-width:0}.thread-select>span,.thread-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.thread-history-menu{max-width:min(480px,100vw - 32px);animation:none}.thread-title{max-width:100%}.new-thread{flex-shrink:0}.chat-body{border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.chat-messages{overscroll-behavior:contain;flex-direction:column;flex:1;gap:2px;min-height:0;padding:16px;display:flex;overflow-y:auto}.chat-welcome{text-align:center;align-items:center;padding:32px 16px}.chat-messages>:not(.chat-row),.chat-row[data-align=start]+.chat-row[data-align=end],.chat-row[data-align=end]+.chat-row[data-align=start]{margin-top:10px}.chat-messages>:first-child{margin-top:0}.chat-row{flex-direction:column;min-width:0;display:flex}.chat-row[data-align=start]{align-items:flex-start}.chat-row[data-align=end]{align-items:flex-end}.chat-bubble{overflow-wrap:anywhere;background:var(--accent);min-width:0;max-width:85%;color:var(--foreground);border-radius:18px;font-size:14px;line-height:1.45;position:relative;overflow:hidden}.chat-row[data-align=start]>.chat-bubble{border-bottom-left-radius:8px}.chat-row[data-align=end]>.chat-bubble{border-bottom-right-radius:8px}.chat-row[data-align=start]+.chat-row[data-align=start]>.chat-bubble{border-top-left-radius:8px}.chat-row[data-align=end]+.chat-row[data-align=end]>.chat-bubble{border-top-right-radius:8px}.chat-bubble[data-variant=user]{background:var(--primary);max-width:80%;color:var(--primary-foreground)}.chat-bubble[data-variant=failed]{background:color-mix(in oklch, var(--destructive) 14%, transparent);color:var(--destructive)}.chat-bubble[data-variant=user] .chat-bubble-body{white-space:pre-wrap;padding:8px 14px}.chat-bubble[data-variant=text] .chat-bubble-body{min-width:0;padding:12px 16px}.chat-bubble[data-variant=text]{max-width:min(92%,72ch)}.chat-markdown{overflow-wrap:anywhere;max-width:100%;font-size:14px;line-height:22px}.chat-markdown>*{margin-block:0}.chat-markdown>*+*{margin-block-start:12px}.chat-markdown :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;font-weight:600;line-height:1.4}.chat-markdown>:is(h1,h2,h3,h4,h5,h6):not(:first-child){margin-block-start:20px}.chat-markdown h1{font-size:20px}.chat-markdown h2{font-size:18px}.chat-markdown h3{font-size:16px}.chat-markdown p{white-space:pre-line}.chat-markdown :is(ul,ol){padding-inline-start:24px}.chat-markdown li{margin-block:4px}.chat-markdown li>:is(ul,ol),.chat-markdown li>p+p{margin-block-start:8px}.chat-markdown li::marker{color:var(--muted-foreground)}.chat-markdown pre{border:1px solid var(--border);background:var(--background);white-space:pre;overflow-wrap:normal;word-break:normal;border-radius:8px;padding:12px;line-height:20px}.chat-markdown pre code{white-space:inherit;background:0 0;border:0;padding:0}.chat-markdown :not(pre)>code{background:var(--background);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:2px 4px}.chat-markdown blockquote{padding-inline-start:12px}.chat-markdown :is(th,td){vertical-align:top;min-width:120px}.chat-markdown th{background:var(--background)}.chat-bubble[data-variant=typing] .chat-bubble-body{padding:10px 14px;display:flex}.chat-pending{margin-top:4px}.chat-memory-link{min-height:44px;color:var(--muted-foreground);text-underline-offset:3px;align-items:center;margin-left:18px;text-decoration:underline;display:inline-flex}.chat-memory-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}.chat-dots{align-items:center;gap:4px;height:20px;display:inline-flex}.chat-dot{opacity:.45;background:currentColor;border-radius:50%;width:6px;height:6px;animation:1s cubic-bezier(.37,0,.63,1) infinite chat-dot}@keyframes chat-dot{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-pill{border-radius:inherit;text-align:start;min-height:36px;color:inherit;cursor:pointer;align-items:center;gap:8px;padding:4px 14px 4px 4px;font-size:13px;line-height:1.3;transition:background-color .15s cubic-bezier(.23,1,.32,1);display:inline-flex}@media (hover:hover) and (pointer:fine){.chat-pill:hover{background:color-mix(in oklch, var(--foreground) 6%, transparent)}}.chat-pill:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.chat-pill-icon{background:var(--background);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:relative}.chat-pill-icon>svg{width:14px;height:14px}.chat-pill-icon>.chat-pill-ring{width:28px;height:28px;animation:.8s linear infinite chat-spin;position:absolute;inset:0}.chat-pill-ring circle{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-dasharray:22 100}@keyframes chat-spin{to{transform:rotate(360deg)}}.chat-reveal{grid-template-rows:0fr;width:100%;max-width:85%;transition:grid-template-rows .2s cubic-bezier(.23,1,.32,1);display:grid}.chat-reveal[data-open]{grid-template-rows:1fr}.chat-reveal-inner{opacity:0;min-height:0;transition:opacity .2s cubic-bezier(.23,1,.32,1);overflow:hidden}.chat-reveal[data-open]>.chat-reveal-inner{opacity:1}.chat-steps{border-left:2px solid var(--border);flex-direction:column;gap:2px;margin:6px 0 4px 18px;padding-left:8px;display:flex}.chat-step-button{text-align:start;max-width:100%;min-height:30px;color:var(--muted-foreground);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:2px 8px;font-size:13px;transition:background-color .15s cubic-bezier(.23,1,.32,1),color .15s cubic-bezier(.23,1,.32,1);display:inline-flex}@media (hover:hover) and (pointer:fine){.chat-step-button:hover{background:color-mix(in oklch, var(--foreground) 6%, transparent);color:var(--foreground)}}.chat-step-button:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.chat-step[data-status=failed] .chat-step-button{color:var(--destructive)}.chat-step-icon{flex-shrink:0;display:inline-flex}.chat-step-icon>svg,.chat-step-chevron{flex-shrink:0;width:14px;height:14px}.chat-step-chevron{opacity:.6;transition:transform .15s cubic-bezier(.23,1,.32,1)}.chat-step-button[aria-expanded=true] .chat-step-chevron{transform:rotate(90deg)}.chat-steps .chat-details,.chat-steps .chat-thoughts{border-left:none;margin:2px 0 8px 30px;padding-left:0}.chat-limit{flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:85%;display:flex}.chat-details,.chat-thoughts{border-left:2px solid var(--border);color:var(--muted-foreground);margin:6px 0 4px 18px;padding-left:12px;font-size:13px}.chat-details{flex-direction:column;gap:8px;display:flex}.chat-details code{font-family:var(--font-mono,ui-monospace, monospace);color:var(--foreground);font-size:12px}.chat-details h3{margin-bottom:4px}.chat-details pre{background:var(--muted);max-height:240px;color:var(--foreground);font-family:var(--font-mono,ui-monospace, monospace);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;padding:8px 10px;font-size:12px;overflow:auto}@keyframes chat-word-in{0%{opacity:0;filter:blur(4px)}}.chat-word,.chat-pill-label.fresh{animation:.24s cubic-bezier(.23,1,.32,1) both chat-word-in}@media (prefers-reduced-motion:reduce){.chat-word,.chat-pill-label.fresh{animation:none}.chat-dot{opacity:.6;animation:none}.chat-pill-icon>.chat-pill-ring{animation:none}.chat-pill-ring circle{stroke-dasharray:none;opacity:.5}.chat-reveal,.chat-reveal-inner,.chat-step-chevron{transition:none}}.assistant-layout>header{flex-wrap:wrap;gap:8px}.assistant-layout>header .thread-history{flex:1}.tool-call-title{gap:8px;font-size:14px;font-weight:600}.tool-call{border:1px solid var(--border);background:var(--muted);border-radius:18px 18px 18px 8px;align-self:flex-start;width:100%;max-width:85%;padding:14px 16px}.composer{border-top:1px solid var(--border);gap:8px;padding:12px;container:composer/inline-size}.composer textarea{resize:vertical;background:0 0;border-radius:8px;outline:none;width:100%;min-height:64px;padding:8px;font-family:inherit;font-size:14px;line-height:22px}.composer textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.model-select{width:auto;min-width:120px}.model-unset{align-items:center;min-height:32px;display:inline-flex}.assistant-panel-inner{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.assistant-panel-inner>h2,.assistant-panel-inner>p{padding-right:24px}.assistant-panel{flex-direction:column;width:420px;display:flex;max-width:100vw!important}.assistant-links{flex-wrap:wrap;flex-shrink:0;gap:16px}.assistant-links .text-link{text-underline-offset:4px;align-items:center;gap:4px;min-height:32px;text-decoration:underline;display:inline-flex}.assistant-links svg{width:14px;height:14px}.composer-meta{flex-wrap:wrap;min-width:0}.attachment-chips{flex-wrap:wrap;align-items:flex-start;gap:8px;max-height:220px;padding:4px;display:flex;overflow-y:auto}.attachment-chip{border:1px solid var(--border);background:var(--background);border-radius:8px;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"preview info remove""preview retry remove";align-items:center;column-gap:8px;width:min(100%,280px);min-width:0;padding:8px;transition:opacity .18s cubic-bezier(.23,1,.32,1);display:grid}.attachment-chip[data-state=preparing],.attachment-chip[data-state=uploading]{opacity:.6}.attachment-chip[data-state=failed]{border-color:var(--destructive)}.attachment-chip-preview{background:var(--muted);border-radius:6px;grid-area:preview;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.attachment-chip-preview img{object-fit:cover;width:100%;height:100%}.attachment-chip-info{outline:none;flex-direction:column;grid-area:info;gap:4px;min-width:0;font-size:13px;display:flex}.attachment-retry{grid-area:retry;justify-self:start;margin-top:4px}.attachment-remove{grid-area:remove}.attachment-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.attachment-chip progress{width:100%;height:4px;accent-color:var(--primary)}@container composer (width<=560px){.attachment-chips{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;flex-wrap:nowrap;align-items:stretch;max-height:none;scroll-padding-inline:4px;overflow:auto hidden}.attachment-chip{scroll-snap-align:start;flex-shrink:0;grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"preview info remove";column-gap:6px;width:min(85%,264px);padding:6px;position:relative}.attachment-chip[data-state=failed]{grid-template-columns:32px minmax(0,1fr) auto auto;grid-template-areas:"preview info retry remove";width:min(90%,300px)}.attachment-chip-preview{width:32px;height:32px}.attachment-chip-info>.label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-chip:focus-within :is(.attachment-name,.attachment-chip-info>.label){overflow-wrap:anywhere;white-space:normal}.attachment-retry{width:32px;margin-top:0;padding:0}.attachment-retry>span,.attachment-chip[data-state=failed] [role=status]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.attachment-drop{z-index:10;pointer-events:none;border:2px dashed var(--ring);background:color-mix(in oklch, var(--background) 94%, transparent);color:var(--foreground);text-align:center;border-radius:12px;place-items:center;padding:16px;display:grid;position:absolute;inset:8px}.message-attachments{white-space:normal;flex-direction:column;gap:8px;max-width:280px;margin-block:4px 8px;display:flex}.message-attachment,.attachment-unavailable{border:1px solid color-mix(in oklch, currentColor 24%, transparent);min-width:0;min-height:44px;color:inherit;background:color-mix(in oklch, var(--primary-foreground) 5%, transparent);text-align:start;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.message-attachment{cursor:pointer}.message-attachment:focus-visible{outline-offset:2px;outline:2px solid}.attachment-image{width:100%;display:block}.attachment-image img{object-fit:cover;border-radius:6px;width:100%;height:144px;margin-bottom:8px}.attachment-pdf svg,.attachment-unavailable svg{flex-shrink:0;width:20px;height:20px}.attachment-pdf .attachment-name{flex:1}.attachment-lightbox{max-width:min(90vw,960px)}.attachment-lightbox-image{object-fit:contain;border-radius:8px;width:100%;max-height:65dvh;display:block}@media (prefers-reduced-motion:reduce){.attachment-chip{transition-duration:50ms}}@media (width<=767px){.page-content:has(.assistant-full){padding-bottom:max(16px, env(safe-area-inset-bottom))}.attachment-lightbox{max-width:100%}.composer-meta{gap:4px}.composer-meta .model-select{min-width:0}.attachment-chip>button,.composer-meta>button{min-width:44px;min-height:44px}}@media (width<=639px){.thread-toolbar{flex-direction:column}.thread-select,.new-thread,.thread-history-menu [role=option]{min-height:44px}.assistant-panel{padding:16px}.chat-messages{padding:12px}.assistant-links .text-link,.chat-pill,.chat-step-button{min-height:44px}.chat-pill{padding-block:8px}}
