.people-context{width:100%;margin:24px 0;padding-top:24px;border-top:1px solid var(--flow-line);text-align:left}.people-context h2{font-size:22px;letter-spacing:-.6px;margin:0 0 16px}.people-context form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}.people-context textarea{width:100%;resize:vertical;min-height:84px;max-height:180px;border:1px solid var(--flow-line);border-radius:14px;padding:14px;background:var(--flow-surface);color:var(--flow-ink)}.people-context select{font:inherit;font-size:13px;min-height:44px;max-width:100%;border:1px solid var(--flow-line);border-radius:10px;padding:8px;background:var(--flow-surface);color:var(--flow-muted)}.context-chips{display:flex;gap:8px;flex-wrap:wrap}.context-chips button{font-size:12px;padding:10px 12px;min-height:44px}.people-context summary{font-size:13px;cursor:pointer;min-height:44px;padding:12px 0;color:var(--color-information)}.context-status{font-size:12px;color:var(--flow-muted);min-height:18px;margin:12px 0}.context-answer{padding:18px;background:var(--brand-ivory);border-radius:16px;margin:12px 0;overflow-wrap:anywhere}.context-person{background:none;padding:0;min-height:44px;font-size:19px;text-align:left;color:var(--flow-ink)}.context-answer blockquote{margin:16px 0;padding-left:14px;border-left:2px solid var(--brand-orange);font-size:16px}.context-answer details p{font-size:13px}.context-answer a{font-size:13px;display:inline-block;min-height:44px;padding:10px 0;text-underline-offset:4px}.context-answer details a{margin-right:12px}.context-connect{font-weight:600}.people-row{display:flex;flex-direction:column;gap:4px;padding:16px;border-bottom:1px solid var(--flow-line);text-decoration:none;min-height:64px}.people-row .subtle{font-size:12px;color:var(--flow-muted)}.card.person{justify-content:flex-start;text-align:left;padding:12px 0;margin:0;min-height:0}.person .initials{width:52px;height:52px;font-size:20px;margin:0 0 16px}.person h1{font-size:32px;margin:0 0 8px}.person .links{margin-top:16px;width:100%}.context-results:empty{display:none}@media(prefers-reduced-motion:no-preference){.context-answer{animation:context-arrive .24s cubic-bezier(.22,1,.36,1)}@keyframes context-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
.card.person{align-items:flex-start}.person>.muted{margin:0}.person .links{max-width:none}.people-context button,.people-context textarea,.people-context select{font-family:inherit}
.context-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.context-controls select{flex:1;min-width:140px}.context-controls button{font-size:13px}.people-context form{position:sticky;bottom:0;background:var(--flow-surface);padding:12px 0;margin-top:10px;border-top:1px solid var(--flow-line);z-index:1}.context-question{font-size:14px;font-weight:600;padding:16px 0 4px;overflow-wrap:anywhere}.context-status{line-height:1.5}.people-context [hidden]{display:none}.people-context textarea{font-size:16px}.context-answer .subtle{margin-top:0}@media(max-width:420px){.context-controls select{flex-basis:100%}.context-controls>button[type=submit]{flex:1}}
#stage:focus{outline:none}.person .handoff-button{justify-content:flex-start;width:auto;background:transparent;padding:8px 0;font-size:13px;color:var(--flow-muted)}.person .links{margin-top:8px}.people-context{margin-top:16px;padding-top:18px}
/* One bottom dock; the list keeps its own scroll area above it. */
.shell.has-companion{grid-template-rows:auto minmax(0,1fr) auto auto auto}.has-companion>.people-context{margin:0;padding:0;border:1px solid var(--flow-line);border-radius:22px;background:var(--flow-surface);overflow:hidden;box-shadow:0 6px 24px #02081708}.companion-dock{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:12px 16px;background:transparent;color:var(--flow-ink);border-radius:20px;min-height:78px}.companion-intro{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.companion-intro strong{font-size:16px;overflow-wrap:anywhere}.companion-intro>span{font-size:12px;font-weight:400;color:var(--flow-muted)}.companion-arrow{font-size:20px;color:var(--brand-orange)}.companion-pet{display:block;position:relative;flex-shrink:0;width:48px;height:48px;border-radius:45% 45% 38% 38%;background:var(--brand-orange);box-shadow:inset 0 -4px 0 #0000000c;transform-origin:50% 90%;transition:transform .22s ease}.pet-eyes{position:absolute;inset:16px 12px auto;display:flex;justify-content:space-between}.pet-eyes i{height:6px;width:4px;border-radius:50%;background:var(--brand-navy)}.pet-smile{position:absolute;top:25px;left:19px;width:10px;height:5px;border:2px solid var(--brand-navy);border-top:0;border-radius:0 0 8px 8px}.companion-dock:hover .companion-pet,.companion-dock:focus-visible .companion-pet{transform:rotate(-9deg) translateY(-2px)}.companion-panel{max-height:min(48dvh,480px);overflow:auto;overscroll-behavior:contain;padding:4px 16px 14px;border-top:1px solid var(--flow-line)}.companion-panel h2{font-size:18px;margin:14px 0}.companion-panel form{position:static}.companion-rename{border-top:1px solid var(--flow-line);margin-top:12px}.companion-rename label{display:flex;gap:12px;align-items:center;font-size:12px}.companion-rename input{min-width:0;width:100%;max-width:200px;border:1px solid var(--flow-line);border-radius:10px;padding:10px;font:inherit;font-size:16px;background:var(--flow-surface);color:var(--flow-ink)}[data-pet-state=ready] .pet-eyes i{height:4px;border-radius:4px 4px 0 0}[data-pet-state=working] .pet-smile{height:6px;width:6px;left:21px;border:2px solid var(--brand-navy);border-radius:50%}.companion-panel[hidden]{display:none}@media(prefers-reduced-motion:no-preference){[data-pet-state=working] .companion-pet{animation:pet-work 1.4s ease-in-out infinite}.companion-panel:not([hidden]){animation:context-arrive .22s ease-out}@keyframes pet-work{50%{transform:translateY(-3px) rotate(5deg)}}}@media(max-height:650px){.companion-panel{max-height:38dvh}.companion-dock{min-height:64px;padding:8px 12px}.companion-pet{transform:scale(.85)}}

.companion-pet{width:58px;height:54px;border-radius:0;background:transparent;box-shadow:none}.companion-pet>svg{width:100%;height:100%;overflow:visible}[data-pet-state=ready] .squirrel-eyes{transform:translateY(1px)}
/* Sandy is the invitation; opening her gives the task the whole content area. */
.has-companion>.people-context:not(.chat-active){justify-self:end;width:auto;max-width:100%;overflow:visible;border:0;background:transparent;box-shadow:none}.people-context:not(.chat-active) .companion-dock{width:auto;gap:10px;padding:4px 8px;background:transparent}.people-context:not(.chat-active) .companion-pet{width:82px;height:78px;filter:drop-shadow(0 5px 5px #02081712)}.people-context:not(.chat-active) .companion-intro{background:var(--brand-ivory);padding:10px 14px;border:1px solid var(--flow-line);border-radius:16px 16px 4px 16px;order:-1}.people-context:not(.chat-active) .companion-intro>span{font-size:11px}.people-context:not(.chat-active) .companion-arrow{display:none}.shell.sandy-chat{grid-template-rows:auto minmax(0,1fr) auto}.sandy-chat>#stage,.sandy-chat>#actions{display:none}.sandy-chat>.people-context{grid-row:2;min-height:0;height:100%;display:flex;flex-direction:column;border:0;box-shadow:none;border-radius:0}.chat-active .companion-dock{flex-shrink:0;padding:8px 4px 12px;border-radius:0;border-bottom:1px solid var(--flow-line)}.chat-active .companion-panel{padding:0;border:0;max-height:none;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.sandy-conversation{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:12px 4px;scroll-padding:16px}.sandy-chat .companion-panel form{flex-shrink:0;margin:0;padding:12px 4px 4px;background:var(--flow-surface)}.chat-user{margin:20px 0 18px auto;padding:12px 16px;border-radius:18px 18px 4px 18px;background:var(--brand-ivory);max-width:90%;width:fit-content;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.chat-reply{font-size:15px;line-height:1.6;margin:20px 0;white-space:pre-wrap;overflow-wrap:anywhere}.sandy-chat .companion-rename{margin-top:20px}.sandy-chat .people-context textarea{min-height:60px;max-height:120px;resize:none}.sandy-chat .context-answer{margin:12px 0}.sandy-chat .hire-footer{grid-row:3}@media(max-width:420px){.people-context:not(.chat-active) .companion-intro{max-width:220px}.sandy-chat .context-controls select{flex-basis:auto;width:140px;min-width:0}.sandy-chat .context-controls>button[type=submit]{flex:0 1 auto}.sandy-chat .hire-footer .footer-tools{display:none}}
.has-turns .sandy-conversation>h2,.has-turns .sandy-conversation>.context-chips,.has-turns .sandy-conversation>details:not(.companion-rename){display:none}.chat-followups{margin:16px 0}.has-turns .companion-rename{font-size:11px;opacity:.8}
/* Starter packs live with the composer, where the next action belongs. */
.starter-packs{min-width:0;display:grid;gap:8px;margin-bottom:4px}.pack-tabs{display:flex;gap:6px}.pack-tab{background:transparent;color:var(--flow-muted);font-size:12px;padding:8px 12px;min-height:36px}.pack-tab[aria-pressed=true]{background:var(--brand-ivory);color:var(--flow-ink)}.starter-packs .context-chips{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 0 6px;scrollbar-width:thin}.starter-packs .context-chips button{flex:0 0 auto;white-space:nowrap;border:1px solid var(--flow-line);background:var(--flow-surface);font-size:12px}.sandy-chat .context-controls{justify-content:flex-end}.sandy-chat .context-controls button{min-height:40px;padding:9px 18px}.sandy-chat .people-context textarea{border-radius:18px;background:var(--brand-ivory);border:1px solid transparent;padding:16px}.sandy-chat .people-context textarea:focus-visible{outline:2px solid var(--flow-line);outline-offset:2px}.sandy-conversation>h2{font-size:24px;margin:24px 0;color:var(--flow-ink)}
.starter-packs{border-radius:14px}.pack-tab,.starter-packs .context-chips button{transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}.pack-tab[aria-pressed=true]{color:var(--flow-ink);background:color-mix(in srgb,var(--brand-orange) 10%,var(--flow-surface))}.starter-packs .context-chips button:hover{border-color:var(--brand-orange);background:color-mix(in srgb,var(--brand-orange) 5%,var(--flow-surface))}.starter-packs button:focus-visible{outline:2px solid var(--brand-orange);outline-offset:2px}@media(prefers-reduced-motion:reduce){.pack-tab,.starter-packs .context-chips button{transition:none}}
.pack-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.people-context select.pack-tabs{width:auto;min-width:130px;border:0;background:var(--brand-ivory);border-radius:12px;color:var(--flow-ink);font-size:13px;padding:8px 30px 8px 12px}.slider-pause{font-size:11px;background:transparent;color:var(--flow-muted);padding:8px;min-height:36px}.starter-packs .context-chips{scroll-behavior:auto;scrollbar-width:none}.starter-packs .context-chips::-webkit-scrollbar{display:none}
.sandy-trace-disclosure{margin:14px 0 24px}.sandy-trace-disclosure>summary{font-size:12px;color:var(--flow-muted)}.sandy-trace{border:1px solid var(--flow-line);border-radius:18px;padding:16px;background:var(--flow-surface)}.trace-caption,.trace-about{font-size:12px;line-height:1.6;color:var(--flow-muted)}.trace-scale{display:flex;justify-content:space-between;font:11px ui-monospace,monospace;padding:12px 0;border-bottom:1px solid var(--flow-line)}.trace-step{padding:8px 0;border-bottom:1px solid var(--flow-line)}.people-context .trace-step>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;color:var(--flow-ink);padding:6px 0}.trace-identity{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px}.trace-identity img,.trace-architecture img{width:22px;height:18px;object-fit:contain;vertical-align:middle;margin-right:6px}.trace-identity>span{flex-basis:100%;color:var(--flow-muted)}.trace-state{font:10px ui-monospace,monospace;color:var(--flow-muted)}.trace-track{grid-column:1/-1;height:5px;border-radius:6px;background:var(--brand-ivory);overflow:hidden}.trace-bar{display:block;height:100%;border-radius:6px;background:var(--brand-orange)}.trace-step a{font-size:12px}.trace-architecture p{font-size:12px;line-height:1.6}.sandy-trace code{font-size:11px;overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){.sandy-trace{animation:context-arrive 200ms ease-out}}

.people-context select.pack-tabs{appearance:none;-webkit-appearance:none;padding:10px 42px 10px 16px;min-height:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%235b637a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.slider-pause{min-height:44px;min-width:44px;border-radius:10px}.slider-pause[aria-pressed=true]{background:var(--brand-ivory);color:var(--flow-ink)}
.composer-inspect{margin-right:auto;align-self:center;font-size:12px;color:var(--flow-muted)}.composer-inspect summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px}.composer-inspect summary::before{content:'◇';color:var(--brand-orange,#ff5900)}.composer-inspect[open]{width:100%;order:3}.composer-inspect[open] summary{font-weight:600}.sandy-chat .context-controls{flex-wrap:wrap}.composer-inspect .sandy-trace{color:var(--flow-ink)}
/* Peer views keep diagnostics out of the composer and preserve the chat DOM. */
.sandy-view-tabs{display:flex;gap:4px;flex-shrink:0;padding:8px 0;border-bottom:1px solid var(--flow-line)}
.sandy-view-tabs button{min-height:44px;padding:10px 16px;background:transparent;color:var(--flow-muted);font-size:13px;border-radius:12px}
.sandy-view-tabs button[aria-selected=true]{background:var(--brand-ivory);color:var(--flow-ink);font-weight:600}
.sandy-view-tabs button:focus-visible{outline:2px solid var(--brand-orange);outline-offset:2px}
.observability-view{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:20px 4px}
.observability-view .sandy-trace{border:0;border-radius:0;padding:0;background:transparent}
@media(prefers-reduced-motion:no-preference){.observability-view:not([hidden]){animation:context-arrive 200ms ease-out}}

.trace-intro{max-width:42rem;padding:clamp(1rem,3vw,2rem) 0}.trace-intro h2{margin-top:0}.trace-example{margin:1.25rem 0;padding:1rem 1.25rem;border-inline-start:3px solid var(--primary,#ff5a00);background:var(--surface,#f8f7f5);border-radius:0 16px 16px 0}.trace-intro .primary{margin-bottom:.75rem}

.context-evidence{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin:16px 0 20px}.context-evidence:empty{display:none}.context-evidence>p{flex-basis:100%;margin:0 0 4px;font-size:12px;line-height:1.5}.people-context .evidence-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;max-width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--flow-line);border-radius:14px;background:var(--flow-surface);color:var(--flow-ink);font-size:12px;line-height:1.4;text-align:left;transition:background-color 180ms ease,border-color 180ms ease}.evidence-chip strong{font-size:13px;font-weight:600}.evidence-chip-meta{color:var(--flow-muted);overflow-wrap:anywhere}.evidence-chip-arrow{color:var(--brand-orange);margin-left:auto}.people-context .evidence-chip:hover{background:var(--brand-ivory);border-color:var(--brand-orange)}.people-context .evidence-chip:focus-visible{outline:2px solid var(--brand-orange);outline-offset:3px}@media(prefers-reduced-motion:reduce){.people-context .evidence-chip{transition:none}}

/* Make Sandy the visual workspace; surrounding navigation stays quiet. */
.shell.sandy-chat{gap:10px;background:var(--brand-ivory);padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}
.sandy-chat>header{min-height:44px}
.sandy-chat>.people-context{background:var(--flow-surface);border:1px solid var(--flow-line);border-radius:22px;overflow:hidden}
.chat-active .companion-dock{min-height:56px;padding:8px 16px;gap:10px;background:var(--flow-surface)}
.chat-active .companion-pet{width:36px;height:36px}
.chat-active .companion-intro strong{font-size:14px}
.chat-active .companion-intro>span{font-size:11px}
.sandy-chat .sandy-view-tabs{padding:0 12px;background:var(--flow-surface)}
.sandy-chat .sandy-view-tabs button{padding:8px 12px;border-radius:0;background:transparent;border-bottom:2px solid transparent}
.sandy-chat .sandy-view-tabs button[aria-selected=true]{border-bottom-color:var(--brand-orange);color:var(--flow-ink)}
.sandy-chat .sandy-conversation{padding:12px 16px;background:var(--brand-ivory);scrollbar-gutter:stable}
.sandy-chat .context-answer{background:var(--flow-surface);border:1px solid var(--flow-line);padding:14px;margin:10px 0}
.sandy-chat .chat-user{background:var(--flow-surface);border:1px solid var(--flow-line)}
.sandy-chat .companion-panel form{position:relative;padding:8px 12px 12px;gap:6px;background:var(--flow-surface)}
.sandy-chat .people-context textarea{min-height:52px;height:52px;padding:14px 92px 12px 14px;border:1px solid var(--flow-line);border-radius:16px}
.sandy-chat .context-controls{position:absolute;right:18px;bottom:18px;gap:4px}
.sandy-chat .context-controls button{min-height:40px;padding:8px 12px}
.sandy-chat .starter-packs{gap:4px;margin:0}
.sandy-chat .observability-view{padding:16px;background:var(--brand-ivory)}
@media(max-width:420px){.shell.sandy-chat{padding-inline:10px}.sandy-chat .sandy-conversation{padding-inline:10px}.chat-active .companion-dock{padding-inline:12px}}
.sandy-chat .people-context[aria-busy=true] textarea{padding-right:170px}
.sandy-chat>.people-context{max-height:80dvh;align-self:center}
