:root{
  --local-chat-bottom-reservation:156px;
}
body:has(.local-chat-shell.is-expanded){
  --local-chat-bottom-reservation:494px;
}
.local-chat-shell{
  position:fixed;
  left:266px;
  right:22px;
  bottom:18px;
  z-index:45;
  width:auto;
  color:var(--ink,#252923);
}
.local-chat-shell *{box-sizing:border-box}
.local-chat-drawer{
  display:none;
  height:330px;
  margin-bottom:8px;
  background:#fff;
  border:1px solid var(--line,#e5e2d8);
  border-radius:10px;
  box-shadow:0 18px 45px rgba(20,27,45,.16);
  overflow:hidden;
}
.local-chat-shell.is-expanded .local-chat-drawer{
  display:flex;
  flex-direction:column;
}
.local-chat-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid var(--line,#e5e2d8);
}
.local-chat-header h2{
  margin:1px 0 0;
  font:700 14px Manrope,system-ui,sans-serif;
  letter-spacing:0;
}
.local-chat-kicker{
  display:block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--indigo,#946020);
}
.local-chat-header__actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.local-chat-companion,.local-chat-provider,.local-chat-approval-mode{display:grid;gap:4px;min-width:0;color:var(--muted,#72766c);font-size:10px;font-weight:700}.local-chat-companion select,.local-chat-provider select,.local-chat-approval-mode select{width:100%;min-width:0;padding:7px 24px 7px 8px;border:1px solid #dad8e1;border-radius:7px;background:#fff;color:#30364a;font-size:11px;font-weight:700}.local-chat-companion select:disabled,.local-chat-provider select:disabled,.local-chat-approval-mode select:disabled{opacity:.55}
.local-chat-text-button{
  border:0;
  background:transparent;
  color:var(--muted,#72766c);
  padding:7px 6px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.local-chat-text-button:hover{
  color:var(--indigo,#946020);
}
.local-chat-icon-button{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid #dad8e1;
  border-radius:8px;
  background:#fff;
  color:#4d5568;
  cursor:pointer;
}
.local-chat-icon-button:hover{
  background:#f6f6fb;
}
.local-chat-state{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:8px 14px;
  color:var(--muted,#72766c);
  font-size:11px;
  border-bottom:1px solid #efede9;
}
.local-chat-state__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#a5acb8;
}
.local-chat-shell[data-status="ready"] .local-chat-state__dot{background:#2e8b57}
.local-chat-shell[data-status="running"] .local-chat-state__dot{background:#c88719}
.local-chat-shell[data-status="error"] .local-chat-state__dot,
.local-chat-shell[data-status="disconnected"] .local-chat-state__dot{background:#b94d4d}
.local-chat-state__context{
  margin-left:auto;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.local-chat-error{
  flex:none;
  margin:10px 14px 0;
  padding:9px 10px;
  border-radius:8px;
  background:#fdeaea;
  color:#963f3f;
  font-size:12px;
}
.local-chat-messages{
  flex:1 1 auto;
  overflow:auto;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
}
.local-chat-message{
  max-width:86%;
  min-width:0;
  flex-shrink:0;
  padding:9px 11px;
  border-radius:9px;
  background:#f2f1ed;
  color:#30364a;
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.local-chat-message[data-role="user"],.local-chat-message[data-role="system"]{white-space:pre-wrap}
.local-chat-message p{margin:0 0 8px}.local-chat-message p:last-child{margin-bottom:0}
.local-chat-message h3,.local-chat-message h4,.local-chat-message h5,.local-chat-message h6{margin:0 0 7px;font:700 12px/1.35 Manrope,system-ui,sans-serif}
.local-chat-message ul,.local-chat-message ol{margin:0 0 8px;padding-left:20px}.local-chat-message li+li{margin-top:3px}
.local-chat-message blockquote{margin:0 0 8px;padding-left:9px;border-left:3px solid #c9c7d2;color:#5f6675}
.local-chat-message code{padding:1px 4px;border-radius:4px;background:#e9e9f0;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.local-chat-message pre{overflow:auto;margin:0 0 8px;padding:9px;border-radius:7px;background:#252936;color:#f7f7fb}
.local-chat-message pre code{padding:0;background:transparent;color:inherit;white-space:pre}
.local-chat-message a{color:var(--indigo,#946020);text-decoration:underline;text-underline-offset:2px}
.local-chat-message[data-role="user"]{
  align-self:flex-end;
  background:var(--indigo,#946020);
  color:#fff;
}
.local-chat-message[data-role="user"].is-pending{
  box-shadow:0 0 0 2px rgba(148,96,32,.12);
}
.local-chat-message[data-role="assistant"]{
  align-self:flex-start;
  background:#f7f7fb;
}
.local-chat-message[data-role="system"]{
  align-self:center;
  max-width:100%;
  background:transparent;
  color:var(--muted,#72766c);
  padding:2px 0;
  font-size:11px;
}
.local-chat-thinking{
  align-self:flex-end;
  display:flex;
  align-items:center;
  gap:7px;
  margin:-3px 5px 2px 0;
  color:var(--muted,#72766c);
  font-size:10px;
  font-weight:600;
}
.local-chat-thinking__dots{display:flex;align-items:center;gap:3px}
.local-chat-thinking__dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:local-chat-thinking 1.15s ease-in-out infinite}
.local-chat-thinking__dots i:nth-child(2){animation-delay:.14s}.local-chat-thinking__dots i:nth-child(3){animation-delay:.28s}
@keyframes local-chat-thinking{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.local-chat-thinking__dots i{animation:none;opacity:.65}}
.local-chat-approval{
  flex:none;
  max-height:230px;
  overflow:auto;
  margin:0 14px 10px;
  padding:10px;
  border:1px solid #f0d4a5;
  border-radius:8px;
  background:#fff8eb;
}
.local-chat-approval p{
  margin:0 0 9px;
  font-size:12px;
  line-height:1.45;
}
.local-chat-approval__source{display:block;margin-bottom:4px;color:#8a611c;font-size:10px;font-weight:700}.local-chat-approval__fields{display:grid!important;gap:9px;margin:9px 0}.local-chat-approval__field{display:grid;gap:4px;font-size:11px;font-weight:700}.local-chat-approval__field input:not([type="checkbox"]),.local-chat-approval__field select{width:100%;padding:7px 8px;border:1px solid #d9c18f;border-radius:7px;background:#fff;color:#30364a;font:12px system-ui,sans-serif}.local-chat-approval__field select[multiple]{min-height:70px}.local-chat-approval__field--boolean{display:flex;align-items:center}.local-chat-approval__field--boolean:has(select){display:grid}.local-chat-approval__field--boolean input{order:-1}.local-chat-approval__field small{color:#756b59;font-size:10px;font-weight:400;line-height:1.35}.local-chat-approval__fallback{margin:0!important;color:#8e493e}
.local-chat-approval div{
  display:flex;
  gap:8px;
}
.local-chat-prompts{
  flex:none;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 14px 12px;
  overflow:auto;
}
.local-chat-prompts button{
  border:1px solid #dad8e1;
  border-radius:999px;
  background:#fff;
  color:#555d70;
  padding:6px 10px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
}
.local-chat-bar{
  display:grid;
  gap:9px;
  padding:8px;
  background:#fff;
  border:1px solid var(--line,#e5e2d8);
  border-radius:10px;
  box-shadow:0 8px 28px rgba(20,27,45,.13);
}
.local-chat-toolbar{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:end;
  gap:10px;
  padding:1px 2px 0;
}
.local-chat-settings{
  display:grid;
  grid-template-columns:minmax(90px,1.35fr) minmax(76px,1fr) minmax(72px,.8fr);
  gap:8px;
  max-width:430px;
}
.local-chat-toggle svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .18s ease;
}
.local-chat-shell.is-expanded .local-chat-toggle svg{transform:rotate(180deg)}
.local-chat-composer{
  display:flex;
  align-items:flex-end;
  gap:8px;
  min-width:0;
  padding:2px 2px 1px;
  border-top:1px solid #efede9;
}
.local-chat-compose-area{display:grid;flex:1;min-width:0}
.local-chat-attachments{display:flex;gap:5px;overflow-x:auto;padding:6px 4px 1px}
.local-chat-attachment{display:inline-flex;align-items:center;gap:5px;max-width:210px;padding:4px 5px 4px 8px;border:1px solid #dad8e1;border-radius:999px;background:#f7f7fb;color:#555d70;font-size:10px;font-weight:700;white-space:nowrap}
.local-chat-attachment>span{overflow:hidden;text-overflow:ellipsis}
.local-chat-attachment button{display:grid;place-items:center;width:17px;height:17px;padding:0;border:0;border-radius:50%;background:#e4e4ec;color:#555d70;cursor:pointer}
.local-chat-attachment button:hover{background:#d8d8e2;color:#30364a}
.local-chat-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}
.local-chat-attach{flex:none;margin-bottom:3px}.local-chat-attach svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.local-chat-bar textarea{
  flex:1;
  min-width:0;
  max-height:120px;
  resize:none;
  border:0;
  outline:0;
  padding:8px 4px;
  color:var(--ink,#252923);
  line-height:1.35;
  background:transparent;
}
.local-chat-button{
  border:1px solid #dad8e1;
  border-radius:8px;
  background:#fff;
  color:#30364a;
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.local-chat-button--primary{
  background:var(--indigo,#946020);
  border-color:var(--indigo,#946020);
  color:#fff;
}
.local-chat-button:disabled,
.local-chat-icon-button:disabled{
  opacity:.55;
  cursor:not-allowed;
}
@media(max-width:700px){
  :root{--local-chat-bottom-reservation:162px}
  body:has(.local-chat-shell.is-expanded){--local-chat-bottom-reservation:510px}
  .local-chat-shell{
    left:10px;
    right:10px;
    bottom:10px;
  }
  .local-chat-drawer{
    height:340px;
  }
  .local-chat-state__context{
    max-width:120px;
  }
  .local-chat-button{
    padding:8px 9px;
  }
  .local-chat-settings{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.9fr);gap:6px}
  .local-chat-bar textarea{min-height:36px}
  .local-chat-text-button{
    max-width:74px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

.local-chat-table-scroll{max-width:100%;overflow-x:auto;margin:0 0 8px}
.local-chat-table-scroll:last-child{margin-bottom:0}
.local-chat-table-scroll:focus-visible{outline:2px solid var(--indigo,#946020);outline-offset:2px}
.local-chat-message table{width:100%;border-collapse:collapse;font-size:inherit;line-height:inherit}
.local-chat-message th,.local-chat-message td{min-width:80px;padding:7px 9px;border:1px solid #dad8e1;text-align:left;vertical-align:top}
.local-chat-message th{background:#eeedf4;font-weight:700}
.local-chat-message tbody tr:nth-child(even){background:#f0f0f6}
.local-chat-activity,.local-chat-unread{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}
.local-chat-activity{background:var(--indigo-soft);color:var(--indigo)}
.local-chat-unread{background:var(--indigo);color:#fff}
.local-chat-activity[hidden],.local-chat-unread[hidden],.local-chat-companion[hidden]{display:none}
.local-chat-spinner{display:none;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%}
.local-chat-activity.is-working .local-chat-spinner{display:block;animation:chat-working .8s linear infinite}
@keyframes chat-working{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.local-chat-activity.is-working .local-chat-spinner{animation:none}}
.chat-transcript .content-row{overflow-wrap:anywhere;white-space:normal}
.local-chat-toolbar{display:flex;flex-wrap:wrap;align-items:center}
.local-chat-toolbar>.local-chat-toggle{flex:none;align-self:flex-end}
.local-chat-toolbar>.local-chat-settings{flex:1;min-width:min(100%,260px);order:1}
.local-chat-toolbar>.local-chat-activity,.local-chat-toolbar>.local-chat-unread{order:2}

.local-chat-fullscreen svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.local-chat-fullscreen__restore{display:none}
.local-chat-shell.is-fullscreen{inset:0;z-index:100;display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--canvas,#f8f6f0);height:100dvh}
.local-chat-shell.is-fullscreen .local-chat-drawer{flex:1;min-height:0;height:auto;margin:0}
.local-chat-shell.is-fullscreen .local-chat-bar{flex:none}
.local-chat-shell.is-fullscreen .local-chat-fullscreen__expand{display:none}
.local-chat-shell.is-fullscreen .local-chat-fullscreen__restore{display:block}
body:has(.local-chat-shell.is-fullscreen){overflow:hidden}
@media(max-width:700px){.local-chat-shell.is-fullscreen{padding:6px}.local-chat-shell.is-fullscreen .local-chat-header{gap:6px;padding:10px}.local-chat-shell.is-fullscreen .local-chat-header__actions{gap:4px}}
.local-chat-close{display:none}
.local-chat-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.local-chat-shell.is-fullscreen .local-chat-close{display:grid}
