.analyst-panel,.brief-panel,.project-brief-panel{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab, var(--card) 30%, transparent);flex-direction:column;min-width:0;height:clamp(520px,100dvh - 300px,720px);display:flex;position:sticky;top:88px;overflow:hidden}.analyst-panel button:disabled{opacity:.5;cursor:not-allowed}.analyst-panel :is(a,button,textarea,input):focus-visible{outline:2px solid var(--ring);outline-offset:2px}.analyst-panel>header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex}.analyst-panel>header>div:not(.analyst-actions){flex:1;min-width:0}.analyst-avatar{background:var(--gradient-brand);width:32px;height:32px;color:var(--primary-foreground);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.analyst-avatar svg{width:16px;height:16px}.analyst-panel h2{font-size:16px;font-weight:600}.analyst-panel>header p{color:var(--muted-foreground);margin-top:2px;font-size:12px}.draft-badge{border:1px solid var(--border);background:var(--secondary);color:var(--secondary-foreground);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px}.analyst-panel>header>.analyst-actions{flex:none;align-items:center;gap:4px;display:flex}.analyst-chip-button,.brief-jump{min-height:32px;color:var(--foreground);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:background-color .15s;display:inline-flex}.analyst-chip-button:hover:not(:disabled),.brief-jump:hover{background:var(--accent)}.analyst-chip-button.skip{border:1px solid var(--border);background:var(--card)}.analyst-chip-button .label-short{display:none}.brief-jump{border:1px solid var(--border);background:var(--secondary);display:none}.analyst-messages{overscroll-behavior:contain;overflow-wrap:anywhere;flex-direction:column;flex:1;gap:24px;min-height:0;padding:16px max(16px,50% - 430px);display:flex;overflow:hidden auto}.analyst-empty{color:var(--muted-foreground);font-size:14px;line-height:1.6}.analyst-message{max-width:95%;font-size:14px;line-height:1.65}.analyst-message.user{border-radius:var(--radius);background:var(--primary);max-width:85%;color:var(--primary-foreground);align-self:flex-end;padding:12px 16px}.analyst-message.sending{opacity:.7}.analyst-message>p:last-child{white-space:pre-wrap}.analyst-markdown>*+*{margin-top:.75em}.analyst-markdown :is(ul,ol){padding-left:1.4em}.analyst-markdown ul{list-style:outside}.analyst-markdown ol{list-style:decimal}.analyst-markdown li+li{margin-top:.35em}.analyst-markdown strong{font-weight:600}.analyst-markdown em{font-style:italic}.analyst-markdown :is(h1,h2,h3,h4,h5,h6){font-size:1.05em;font-weight:600}.analyst-markdown a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.analyst-markdown pre{white-space:pre;background:var(--muted);border-radius:6px;padding:12px;overflow-x:auto}.analyst-markdown code{font-family:ui-monospace,monospace}.analyst-markdown blockquote{border-left:2px solid var(--border);color:var(--muted-foreground);padding-left:14px}.analyst-thinking{background:linear-gradient(90deg, var(--muted-foreground) 0%, var(--foreground) 50%, var(--muted-foreground) 100%) 0 0 / 200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;align-self:flex-start;align-items:center;gap:8px;font-size:14px;animation:2s linear infinite analyst-shimmer;display:flex}@keyframes analyst-shimmer{to{background-position:-200% 0}}.typing-dots{gap:3px;display:inline-flex}.typing-dots>span{background:var(--brand-purple);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite typing-dot}.typing-dots>span:nth-child(2){animation-delay:.15s}.typing-dots>span:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.analyst-notice{color:var(--muted-foreground);flex-shrink:0;padding:0 16px 8px;font-size:12px;line-height:1.5}.analyst-notice[role=alert]{color:var(--destructive)}.analyst-composer{border-top:1px solid var(--border);flex-shrink:0;padding:10px max(12px,50% - 432px)}.composer-box{border:1px solid var(--input);border-radius:var(--radius);background:var(--background);align-items:flex-end;gap:6px;padding:6px 6px 6px 0;transition:border-color .15s;display:flex}.composer-box:focus-within{border-color:color-mix(in oklab, var(--primary) 60%, transparent)}.composer-box textarea{resize:none;min-width:0;min-height:36px;max-height:200px;color:var(--foreground);background:0 0;border:0;flex:1;padding:7px 0 7px 14px;font-size:14px;line-height:1.5;display:block}.composer-box textarea:focus-visible{outline:none}.composer-box textarea::placeholder{color:var(--muted-foreground)}.composer-send{background:var(--primary);width:32px;height:32px;color:var(--primary-foreground);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;transition:opacity .15s;display:grid}.composer-send:hover:not(:disabled){opacity:.9}.analyst-panel .composer-send:disabled{opacity:.4}.analyst-submitted{border-top:1px solid var(--border);color:var(--success);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:16px;display:flex}.analyst-submitted p{min-width:200px;color:var(--foreground);flex:1;font-size:14px;line-height:1.6}.analyst-submitted :is(a,button){color:var(--primary);cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}@media (prefers-reduced-motion:reduce){.typing-dots>span,.analyst-thinking{animation:none}.analyst-thinking{color:var(--muted-foreground)}}@media (width<=1000px){.analyst-panel>header .draft-badge{display:none}}@media (width<=760px){.analyst-panel{background:0 0;border:0;border-radius:0;height:100%;position:static}.analyst-panel>header{gap:10px;padding:10px 12px}.analyst-avatar{display:none}.analyst-panel>header h2{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.analyst-panel>header p{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.analyst-panel>header>.analyst-actions{gap:6px}.brief-jump{display:inline-flex}.analyst-chip-button .label-long{display:none}.analyst-chip-button .label-short{display:inline}.analyst-messages{gap:18px;padding:14px 12px}.analyst-message{max-width:100%}.analyst-message.user{max-width:86%}.analyst-composer{padding:8px 10px calc(10px + env(safe-area-inset-bottom));background:var(--background)}.composer-box textarea{min-height:36px;max-height:140px;font-size:16px}.analyst-submitted{padding:14px}}
