/* Kobra guide panel (2026-09-29). Thinking indicator = the only approved Kobra motion: CSS opacity/scale pulse. */
.assistant-toggle.kobra-toggle { display:inline-flex; align-items:center; gap:.5rem; padding:.3rem .95rem .3rem .3rem; }
.assistant-toggle.kobra-toggle img { width:28px; height:28px; border-radius:50%; display:block; }
.kobra-head { display:flex !important; align-items:center; gap:.7rem; }
.kobra-head img { width:40px; height:40px; border-radius:50%; flex:none; }
.kobra-head div { display:grid; }
.assistant-panel header { align-items:center; flex-wrap:wrap; gap:.5rem; }
.assistant-panel > header { cursor:grab; touch-action:none; }
.assistant-panel > header button { cursor:pointer; }
.assistant-panel.kobra-dragging > header { cursor:grabbing; }
.assistant-panel.kobra-dragging { user-select:none; }
.assistant-panel header .kobra-head { order:1; flex:1 1 14rem; min-width:0; }
.assistant-panel header > button { order:3; }
.assistant-panel header .kobra-new { color:#fff; border-color:#42655a; background:transparent; padding:.35rem .7rem; }
.assistant-panel header .kobra-codex { color:#fff; border-color:#14b8a6; background:#116c66; padding:.35rem .7rem; }
.assistant-panel header .kobra-codex:hover { background:#0f766e; }
.assistant-panel header .kobra-codex:disabled { opacity:.7; cursor:wait; }
.assistant-panel header .kobra-new:hover { background:#2e3346; }
.kobra-runtime-status { order:2; margin-left:auto; display:grid; gap:.24rem; min-width:15.5rem; padding:.38rem .55rem; border:1px solid #39475a; border-radius:10px; background:rgba(12,20,31,.34); }
.kobra-runtime-row { display:grid; grid-template-columns:.62rem minmax(0,1fr) auto; align-items:center; gap:.42rem; color:#e9f2f4; font-size:.7rem; line-height:1.2; }
.kobra-runtime-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem; }
.kobra-runtime-row small { color:#b9c7cf; white-space:nowrap; }
.kobra-runtime-dot { width:.58rem; height:.58rem; border-radius:50%; background:#77838c; box-shadow:0 0 0 2px rgba(119,131,140,.18); }
.kobra-runtime-row.connected .kobra-runtime-dot { background:#2bd576; box-shadow:0 0 0 2px rgba(43,213,118,.2),0 0 7px rgba(43,213,118,.45); }
.kobra-runtime-row.working .kobra-runtime-dot { background:#2bd576; animation:kobra-runtime-blink .9s ease-in-out infinite; }
.kobra-runtime-row.failed .kobra-runtime-dot { background:#ef5c5c; box-shadow:0 0 0 2px rgba(239,92,92,.2); }
@keyframes kobra-runtime-blink { 0%,100% { opacity:.32; box-shadow:0 0 0 2px rgba(43,213,118,.14); } 50% { opacity:1; box-shadow:0 0 0 2px rgba(43,213,118,.3),0 0 10px rgba(43,213,118,.72); } }
.assistant-panel { width:min(480px,calc(100vw - 28px)); height:min(690px,calc(100vh - 110px)); grid-template-rows:auto auto minmax(0,1fr) auto auto; }
.kobra-history-drawer { position:absolute; inset:0 auto 0 0; z-index:12; width:min(390px,92%); overflow-y:auto; padding:.8rem; color:#1f2933; background:#f8fbfc; border-right:1px solid #ccd7dc; box-shadow:12px 0 30px rgba(24,35,45,.2); }
.kobra-history-drawer.hidden { display:none; }
.kobra-history-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.6rem; margin-bottom:.7rem; }
.kobra-history-head > div { display:grid; gap:.15rem; }
.kobra-history-head small { color:#63737d; font-size:.72rem; }
.kobra-history-head button { min-width:2.2rem; min-height:2.2rem; padding:.2rem; color:#26343c; border-color:#aebbc2; background:#fff; font-size:1.35rem; line-height:1; }
.kobra-history-status { color:#63737d; font-size:.8rem; }
.kobra-history-list { display:grid; gap:.55rem; }
.kobra-history-card { display:grid; gap:.3rem; padding:.7rem; border:1px solid #d5dfe3; border-radius:11px; background:#fff; }
.kobra-history-card > strong { font-size:.86rem; }
.kobra-history-card > small { color:#687780; font-size:.7rem; }
.kobra-history-card p { margin:.15rem 0; color:#344650; font-size:.78rem; line-height:1.35; white-space:pre-wrap; }
.kobra-history-card button { justify-self:start; min-height:2rem; padding:.35rem .55rem; }
.kobra-history-recovery { border-color:#c6a85a; background:#fffaf0; }
.kobra-history-recovery-actions { display:flex; flex-wrap:wrap; gap:.4rem; }
.kobra-history-recovery-text {
  max-height:15rem; margin:.2rem 0 0; padding:.65rem; overflow:auto;
  border:1px solid #d8cda9; border-radius:8px; background:#fff;
  color:#26343a; font:500 .72rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space:pre-wrap; overflow-wrap:anywhere;
}
.assistant-panel.kobra-workbench { width:min(920px,calc(100vw - 28px)); height:min(86vh,900px); }
.kobra-quick { display:flex; gap:.45rem; overflow-x:auto; padding:.55rem .75rem; border-bottom:1px solid #d9e0e4; background:#f5f8f9; }
.kobra-quick button { white-space:nowrap; font-size:.78rem; padding:.42rem .6rem; }
.kobra-action-tray { padding:.5rem .75rem; border-top:1px solid #d9e0e4; background:#f5f8f9; }
.kobra-action-tray > strong { display:block; margin-bottom:.35rem; font-size:.76rem; color:#526776; }
.kobra-action-tray.hidden { display:none; }
.kobra-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin:0; padding:0; border:0; }
.kobra-actions button { width:auto; min-height:2.25rem; padding:.42rem .65rem; }
.kobra-row { display:flex; gap:.55rem; align-items:flex-start; }
.kobra-row.kobra-user { justify-content:flex-end; }
.kobra-row .assistant-message { flex:1 1 auto; min-width:0; white-space:normal; }
.kobra-row.kobra-user .assistant-message { flex:0 1 auto; max-width:85%; white-space:pre-wrap; }
.kobra-avatar { width:32px; height:32px; border-radius:50%; flex:none; }
.kobra-avatar.kobra-thinking { width:48px; height:48px; filter:drop-shadow(0 0 4px rgba(0,148,212,.25)); animation:kobra-thinking-pulse 1.6s ease-in-out infinite; transform-origin:center; }
@keyframes kobra-thinking-pulse { 0%,100% { opacity:.65; transform:scale(.96); } 50% { opacity:1; transform:scale(1); } }
@media (prefers-reduced-motion: reduce) { .kobra-avatar.kobra-thinking { animation:none !important; opacity:.85; } }
.kobra-row.kobra-thinking .assistant-message { align-self:center; color:#5b6472; background:transparent; }
.assistant-messages { min-height:0; overflow-y:auto !important; overflow-x:hidden !important; padding-bottom:2.5rem; }
.kobra-md p { margin:0 0 .5rem; } .kobra-md p:last-child { margin-bottom:0; }
.kobra-md ol, .kobra-md ul { margin:.2rem 0 .55rem 1.2rem; padding:0; } .kobra-md li { margin:.2rem 0; }
.kobra-md h4 { margin:.3rem 0 .35rem; font-size:1rem; }
.kobra-md code { font-size:.88em; background:#dde6ea; padding:0 .25rem; border-radius:4px; }
.kobra-meta { display:block; margin-top:.35rem; color:#7a8290; font-size:.72rem; }
.assistant-panel textarea { min-height:3.2rem; }
.assistant-panel header .ghost { color:#fff; border:1px solid #42655a; background:transparent; white-space:nowrap; padding:.35rem .7rem; }
.assistant-panel header .ghost:hover { background:#2e3346; }
.assistant-panel header > div:last-child { flex-wrap:nowrap; }
.kobra-head small { line-height:1.25; }
.assistant-panel form { grid-template-columns:1fr auto; }
.assistant-panel form textarea { grid-column:1 / -1; }
.kobra-attachment-tray { grid-column:1 / -1; display:flex; gap:.45rem; overflow-x:auto; padding:.1rem 0; }
.kobra-attachment-tray.hidden { display:none; }
.kobra-attachment-chip { display:flex; align-items:center; gap:.4rem; min-width:0; max-width:18rem; padding:.35rem .45rem; border:1px solid #d5dee3; border-radius:10px; background:#f5f8f9; }
.kobra-attachment-thumb { width:38px; height:38px; flex:none; object-fit:cover; border-radius:6px; }
.kobra-attachment-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.76rem; }
.kobra-attachment-name small { display:block; color:#687680; }
.kobra-attachment-remove { flex:none; width:1.55rem; height:1.55rem; min-height:0; padding:0; border:0; border-radius:50%; background:#dfe7ea; font-size:1rem; line-height:1; }
.kobra-attach { width:2.75rem; min-width:2.75rem; height:2.75rem; padding:0; border-radius:50%; font-size:1.55rem; line-height:1; }
.kobra-message-attachments { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.45rem; }
.kobra-message-attachment { display:block; max-width:100%; padding:.3rem .45rem; border-radius:7px; background:rgba(255,255,255,.5); color:inherit; font-size:.75rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kobra-dictation-controls { display:flex; align-items:center; gap:.45rem; min-width:0; }
.kobra-speech-language { width:auto; min-width:7.2rem; padding:.55rem .65rem; }
.kobra-speech { white-space:nowrap; min-width:6.5rem; }
.kobra-speech.listening { color:#fff; border-color:#b42318; background:#b42318; }
.kobra-live-progress { display:flex; align-items:center; gap:.42rem; margin:.25rem .55rem; padding:.32rem .5rem; max-width:fit-content; border:1px solid #cddbe0; border-radius:999px; background:#f5f8f9; color:#526776; font-size:.75rem; line-height:1.2; }
.kobra-live-spinner { width:1.35rem; height:1.35rem; border-radius:50%; animation:kobra-live-spin 1.1s linear infinite; }
.kobra-live-progress.failed .kobra-live-spinner { animation:none; opacity:.65; }
@keyframes kobra-live-spin { to { transform:rotate(360deg); } }
.kobra-speech-language { display:inline-flex; align-items:center; justify-content:center; border:1px solid #d5dee3; border-radius:8px; color:#526776; background:#f5f8f9; font-size:.72rem; white-space:nowrap; }
@media (prefers-reduced-motion: reduce) { .kobra-live-spinner { animation:kobra-thinking-pulse 1.4s ease-in-out infinite; } }
@media (prefers-reduced-motion: reduce) { .kobra-runtime-row.working .kobra-runtime-dot { animation:none; box-shadow:0 0 0 3px rgba(43,213,118,.45); } }
.kobra-guided-target {
  position:relative;
  z-index:9001 !important;
  outline:4px solid rgba(0,148,212,.95) !important;
  outline-offset:6px;
  border-radius:14px;
  animation:kobra-guide-target-pulse 1s ease-in-out infinite;
}
@keyframes kobra-guide-target-pulse {
  0%,100% { outline-color:rgba(0,148,212,.68); box-shadow:0 0 0 0 rgba(0,148,212,.35); }
  50% { outline-color:rgba(0,148,212,1); box-shadow:0 0 0 9px rgba(0,148,212,.16); }
}
.kobra-guide-overlay { position:fixed; inset:0; z-index:9000; pointer-events:none; }
.kobra-guide-overlay.hidden { display:none; }
.kobra-guide-label {
  position:fixed;
  z-index:9004;
  left:50%;
  top:max(12px,env(safe-area-inset-top));
  transform:translateX(-50%);
  max-width:min(42rem,calc(100vw - 28px));
  padding:.68rem .9rem;
  border:2px solid #5ac99b;
  border-radius:999px;
  color:#fff;
  background:#17212b;
  box-shadow:0 10px 32px rgba(12,25,34,.32);
  font-size:.82rem;
  font-weight:750;
  line-height:1.3;
  text-align:center;
}
.kobra-guide-spot {
  position:fixed;
  z-index:9001;
  border:4px solid #00a6df;
  border-radius:16px;
  box-shadow:0 0 0 9999px rgba(20,31,40,.34),0 0 0 8px rgba(0,166,223,.2);
  transition:left .3s ease,top .3s ease,width .3s ease,height .3s ease;
  animation:kobra-guide-spot-pulse 1s ease-in-out infinite;
}
.kobra-guide-pointer {
  position:fixed;
  z-index:9003;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border:3px solid #fff;
  border-radius:50%;
  color:#fff;
  background:#e44949;
  box-shadow:0 4px 14px rgba(10,20,30,.42);
  font-size:.65rem;
  animation:kobra-guide-pointer-circle 1.1s ease-in-out infinite;
}
.kobra-guide-overlay.clicking .kobra-guide-pointer { transform:scale(.7); background:#00a878; }
.kobra-guide-overlay.complete .kobra-guide-label { border-color:#2bd576; background:#164b3b; }
.kobra-guide-overlay.failed .kobra-guide-label { border-color:#e66c6c; background:#672b31; }
@keyframes kobra-guide-spot-pulse { 50% { border-color:#72ddff; } }
@keyframes kobra-guide-pointer-circle { 50% { transform:translate(8px,-5px) scale(1.08); } }

.assistant-panel.kobra-guide-running,
.assistant-panel.kobra-guide-running.kobra-custom-size,
.assistant-panel.kobra-guide-running.kobra-history-fit {
  inset:auto 14px 14px auto !important;
  width:min(390px,calc(100vw - 28px)) !important;
  height:min(240px,calc(100dvh - 28px)) !important;
  max-height:min(240px,calc(100dvh - 28px)) !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  z-index:8998;
}
.assistant-panel.kobra-guide-running > .kobra-quick,
.assistant-panel.kobra-guide-running > .kobra-action-tray,
.assistant-panel.kobra-guide-running > form { display:none !important; }
.assistant-panel.kobra-guide-running > .assistant-messages { min-height:0; }
@media (prefers-reduced-motion: reduce) {
  .kobra-guided-target,
  .kobra-guide-spot,
  .kobra-guide-pointer { animation:none; transition:none; }
}
@media (max-width:700px) {
  .kobra-guide-label { top:calc(58px + env(safe-area-inset-top)); }
}
@media (max-width:520px) {
  .assistant-panel, .assistant-panel.kobra-workbench { inset:auto 8px 8px 8px !important; width:auto; height:min(62dvh,560px); max-height:min(62dvh,560px); border-radius:16px; }
  .kobra-expand { display:none; }
  .assistant-panel header { padding:.65rem .75rem; gap:.45rem; }
  .assistant-panel header { flex-wrap:nowrap; }
  .kobra-runtime-status { order:2; width:100%; min-width:0; margin-left:0; }
  .assistant-panel header { flex-wrap:wrap; }
  .kobra-head { gap:.45rem; min-width:0; flex:1 1 auto !important; }
  .kobra-head img { width:32px; height:32px; }
  .kobra-head small { display:none; }
  .assistant-panel header .ghost { padding:.35rem .55rem; }
  .assistant-panel header .kobra-new, .assistant-panel header .kobra-history-button { display:inline-flex; font-size:.72rem; }
  .assistant-panel header .kobra-codex { font-size:.76rem; }
  .assistant-messages { min-height:0; padding:.7rem; gap:.55rem; }
  .assistant-answer { margin-right:0; }
  .kobra-avatar { width:26px; height:26px; }
  .kobra-quick { padding:.45rem .55rem; }
  .kobra-action-tray { padding:.4rem .55rem; }
  .kobra-action-tray > strong { display:none; }
  .kobra-actions { flex-wrap:nowrap; overflow-x:auto; }
  .kobra-actions button { flex:none; }
  .assistant-panel form { padding:.55rem; gap:.45rem; grid-template-columns:minmax(0,1fr) auto; background:#fff; position:relative; z-index:3; }
  .assistant-panel form textarea { min-height:3rem; height:3rem; max-height:7rem; resize:none; }
  .kobra-dictation-controls { display:grid; grid-template-columns:2.75rem 6.6rem minmax(0,1fr); gap:.35rem; }
  .kobra-speech-language { min-width:0; width:6.7rem; padding:.5rem; }
  .kobra-speech { min-width:0; padding:.5rem .45rem; }
  .assistant-panel form button[type="submit"] { padding:.55rem .7rem; white-space:nowrap; }
}

/* 2026-10-17 final workspace organization.
   This layer changes presentation only. All labelled controls and their existing
   handlers remain present; History is a separate viewport-level drawer. */
.assistant-panel {
  box-sizing:border-box;
  width:min(620px,calc(100vw - 32px));
  height:min(760px,calc(100dvh - 48px));
  max-height:none;
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
  border-color:#c8d3da;
  box-shadow:0 22px 64px rgba(27,36,46,.28);
}
.assistant-panel > header {
  display:grid;
  position:relative;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:.62rem .75rem;
  padding:.72rem .8rem .62rem;
}
.assistant-panel header .kobra-head {
  order:initial;
  flex:none;
  min-width:0;
}
.kobra-head strong { line-height:1.1; }
.kobra-head small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kobra-runtime-status {
  order:initial;
  grid-column:1 / -1;
  width:100%;
  min-width:0;
  margin:0;
}
.assistant-panel > header .kobra-header-actions {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.4rem;
  padding-top:.58rem;
  border-top:1px solid rgba(197,216,226,.18);
}
.assistant-panel > header .kobra-header-actions button {
  order:initial;
  min-height:2.25rem;
  padding:.38rem .66rem;
  line-height:1.1;
}
.assistant-panel > header .kobra-header-actions #assistant-close {
  min-width:3.6rem;
}
.kobra-profiles-panel {
  position:absolute;
  z-index:85;
  top:calc(100% + .45rem);
  right:.75rem;
  box-sizing:border-box;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  width:min(430px,calc(100% - 1.5rem));
  max-height:min(610px,calc(100dvh - 8.5rem));
  padding:0;
  overflow:hidden;
  border:1px solid #c7d3da;
  border-radius:14px;
  color:#1f2933;
  background:#f8fbfc;
  box-shadow:0 16px 42px rgba(24,35,45,.28);
  cursor:default;
  touch-action:auto;
}
.assistant-panel > header .kobra-profiles-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.65rem;
  padding:.82rem;
  border-bottom:1px solid #dce4e8;
  background:#fff;
}
.assistant-panel > header .kobra-profiles-heading > div { display:grid; gap:.18rem; }
.assistant-panel > header .kobra-profiles-heading small,
.assistant-panel > header .kobra-profiles-body small { color:#61727c; font-size:.72rem; line-height:1.42; }
.assistant-panel > header .kobra-profiles-heading .ghost {
  min-width:2.15rem;
  min-height:2.15rem;
  padding:.1rem;
  color:#26343c;
  border-color:#aebbc2;
  background:#fff;
  font-size:1.25rem;
  line-height:1;
}
.assistant-panel > header .kobra-profiles-body {
  display:grid;
  align-content:start;
  gap:.8rem;
  min-height:0;
  padding:.82rem;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.assistant-panel > header .kobra-profiles-intro {
  margin:0;
  color:#526776;
  font-size:.75rem;
  line-height:1.42;
}
.assistant-panel > header .kobra-profile-section,
.assistant-panel > header .kobra-profile-detail,
.assistant-panel > header .kobra-profile-preference { display:grid; gap:.5rem; }
.assistant-panel > header .kobra-profile-section h3,
.assistant-panel > header .kobra-profile-detail h3,
.assistant-panel > header .kobra-profile-preference h3 {
  margin:0;
  color:#334650;
  font-size:.74rem;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.assistant-panel > header .kobra-profile-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.7rem;
  padding:.72rem;
  border:1px solid #d3dde2;
  border-radius:11px;
  background:#fff;
}
.assistant-panel > header .kobra-profile-card.current { border-color:#b8d2c8; background:#f5fbf8; }
.assistant-panel > header .kobra-profile-identity { display:grid; gap:.16rem; min-width:0; }
.assistant-panel > header .kobra-profile-identity strong { color:#1f2933; }
.assistant-panel > header .kobra-profile-identity small { overflow-wrap:anywhere; }
.assistant-panel > header .kobra-profile-status {
  padding:.22rem .44rem;
  border-radius:999px;
  color:#176b55;
  background:#e3f3ec;
  font-size:.68rem;
  font-weight:700;
}
.assistant-panel > header .kobra-profile-manage,
.assistant-panel > header .kobra-profile-back {
  color:#24483d;
  border-color:#8fb3a6;
  background:#fff;
}
.assistant-panel > header .kobra-profile-manage:hover,
.assistant-panel > header .kobra-profile-back:hover,
.assistant-panel > header .kobra-profile-manage:focus-visible,
.assistant-panel > header .kobra-profile-back:focus-visible {
  color:#16382d;
  border-color:#70a391;
  background:#e5f4ee;
}
.assistant-panel > header .kobra-profile-back { justify-self:start; }
.assistant-panel > header .kobra-profile-fields {
  display:grid;
  gap:.38rem;
  margin:0;
  padding:.72rem;
  border:1px solid #d3dde2;
  border-radius:11px;
  background:#fff;
}
.assistant-panel > header .kobra-profile-field {
  display:grid;
  grid-template-columns:7.2rem minmax(0,1fr);
  gap:.6rem;
  font-size:.75rem;
  line-height:1.35;
}
.assistant-panel > header .kobra-profile-field dt { color:#61727c; }
.assistant-panel > header .kobra-profile-field dd { margin:0; color:#24343d; font-weight:600; overflow-wrap:anywhere; }
.assistant-panel > header .kobra-profile-preference {
  padding:.76rem;
  border:1px solid #c8d8d2;
  border-radius:11px;
  background:#fff;
}
.assistant-panel > header .kobra-profile-preference p { margin:0; color:#425660; font-size:.76rem; line-height:1.48; }
.assistant-panel > header .kobra-profile-switch-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.75rem;
  padding-top:.2rem;
  font-size:.78rem;
  font-weight:700;
}
.assistant-panel > header .kobra-playful-toggle {
  min-width:3.6rem;
  color:#16382d;
  border-color:#70a391;
  background:#eef8f4;
}
.assistant-panel > header .kobra-playful-toggle:hover,
.assistant-panel > header .kobra-playful-toggle:focus-visible { color:#16382d; background:#dff2ea; }
.assistant-panel > header .kobra-playful-toggle[aria-checked="true"] { color:#fff; background:#176b55; }
.assistant-panel > header .kobra-playful-toggle[aria-checked="true"]:hover,
.assistant-panel > header .kobra-playful-toggle[aria-checked="true"]:focus-visible { color:#fff; background:#145a49; }
.assistant-panel.kobra-workbench {
  width:min(1120px,calc(100vw - 40px));
  height:min(900px,calc(100dvh - 40px));
  max-height:none;
}
.assistant-panel.kobra-workbench > header {
  grid-template-columns:minmax(190px,1fr) minmax(240px,290px) auto;
  padding:.74rem .9rem;
}
.assistant-panel.kobra-workbench .kobra-header-actions {
  grid-column:auto;
  flex-wrap:nowrap;
  padding-top:0;
  border-top:0;
}
.assistant-panel.kobra-workbench .assistant-messages {
  padding:1.2rem clamp(1rem,4vw,3rem) 2.5rem;
}
.assistant-panel.kobra-workbench .kobra-row {
  width:100%;
  max-width:900px;
  margin-inline:auto;
}
@media (min-width:1200px) {
  .assistant-panel.kobra-workbench {
    width:min(1120px,calc(100vw - 380px));
  }
}

.kobra-history-drawer {
  position:fixed;
  inset:auto;
  z-index:70;
  box-sizing:border-box;
  min-width:260px;
  max-width:calc(100vw - 16px);
  min-height:170px;
  max-height:calc(100dvh - 16px);
  border:1px solid #c7d3da;
  border-radius:16px;
  background:#f8fbfc;
  box-shadow:0 20px 58px rgba(24,35,45,.26);
}
.kobra-history-drawer.hidden { display:none; }
.kobra-history-head {
  position:sticky;
  top:-.8rem;
  z-index:2;
  margin:-.8rem -.8rem .7rem;
  padding:.8rem;
  border-bottom:1px solid #d9e2e6;
  border-radius:16px 16px 0 0;
  background:#f8fbfc;
}
.kobra-history-head button { flex:none; }
.kobra-history-list { align-content:start; }
.kobra-history-group {
  margin:.35rem 0 -.1rem;
  color:#435964;
  font-size:.72rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.kobra-history-card { box-shadow:0 1px 1px rgba(26,43,54,.04); }
.kobra-history-card:focus-within,
.kobra-history-card:hover { border-color:#aebfc8; }

.kobra-quick {
  min-height:0;
  padding:.5rem .7rem;
  scrollbar-width:thin;
}
.assistant-messages {
  min-height:0;
  padding:.9rem .9rem 2.25rem;
  overscroll-behavior:contain;
}
.kobra-row { min-width:0; }
.kobra-action-tray { min-height:0; }
.assistant-panel form {
  position:relative;
  z-index:3;
  box-sizing:border-box;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:.5rem;
  padding:.68rem .75rem .75rem;
  background:#fff;
}
.assistant-panel form textarea {
  grid-column:1 / -1;
  min-height:3.5rem;
  max-height:10rem;
  border-radius:11px;
}
.kobra-history-save-status {
  grid-column:1 / -1;
  min-height:1rem;
  margin:0;
  color:#5f707b;
  font-size:.7rem;
  line-height:1.25;
}
.kobra-history-save-status::before {
  content:'●';
  display:inline-block;
  margin-right:.35rem;
  color:#4c8a72;
  font-size:.62rem;
}
.kobra-history-save-status.checking::before,
.kobra-history-save-status.saving::before { color:#477a95; }
.kobra-history-save-status.unavailable { color:#8b5218; font-weight:700; }
.kobra-history-save-status.unavailable::before { color:#b26a20; }
.kobra-dictation-controls {
  align-self:center;
  max-width:100%;
}
.assistant-panel form button[type="submit"] {
  align-self:stretch;
  min-width:5.6rem;
  white-space:nowrap;
}

.kobra-resume-card {
  display:grid;
  gap:.55rem;
  border:1px solid #b9d0c7;
  background:#f3faf7;
}
.kobra-resume-title { color:#173f34; font-size:1rem; }
.kobra-resume-fact { margin:0; color:#536c63; font-size:.75rem; }
.kobra-resume-card .kobra-md { color:#263c35; }
.kobra-resume-actions { display:flex; flex-wrap:wrap; gap:.45rem; padding-top:.1rem; }
.kobra-resume-actions button { min-height:2.2rem; padding:.4rem .65rem; }

@media (max-width:760px) {
  .assistant-panel,
  .assistant-panel.kobra-workbench {
    inset:auto 8px 8px 8px !important;
    width:auto;
    height:min(90dvh,760px);
    max-height:min(90dvh,760px);
    border-radius:15px;
  }
  .assistant-panel > header,
  .assistant-panel.kobra-workbench > header {
    grid-template-columns:minmax(0,1fr);
    gap:.5rem;
    padding:.62rem;
  }
  .assistant-panel header .kobra-head,
  .assistant-panel.kobra-workbench header .kobra-head,
  .kobra-runtime-status,
  .assistant-panel.kobra-workbench .kobra-header-actions {
    grid-column:1;
  }
  .kobra-runtime-status { width:100%; }
  .assistant-panel > header .kobra-header-actions,
  .assistant-panel.kobra-workbench .kobra-header-actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    padding-top:.5rem;
    border-top:1px solid rgba(197,216,226,.18);
  }
  .assistant-panel > header .kobra-header-actions button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    width:100%;
    padding:.38rem .3rem;
    font-size:.72rem;
  }
  .assistant-panel > header .kobra-header-actions #assistant-close { min-width:0; }
  .kobra-profiles-panel { left:.55rem; right:.55rem; width:auto; max-height:min(520px,calc(100dvh - 15rem)); }
  .kobra-expand { display:inline-flex; }
  .kobra-history-drawer {
    min-width:0;
    width:min(330px,calc(100vw - 16px)) !important;
    max-height:calc(100dvh - 16px);
  }
  .assistant-messages,
  .assistant-panel.kobra-workbench .assistant-messages {
    min-height:0;
    padding:.72rem .65rem 1.8rem;
  }
  .kobra-quick { padding:.42rem .55rem; }
  .assistant-panel form { padding:.55rem; }
}

@media (max-width:520px) {
  .assistant-panel,
  .assistant-panel.kobra-workbench {
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);
  }
  .kobra-head img { width:32px; height:32px; }
  .kobra-head small { display:block; font-size:.65rem; }
  .kobra-runtime-row strong { font-size:.68rem; }
  .kobra-runtime-row small { font-size:.64rem; }
  .assistant-panel > header .kobra-header-actions,
  .assistant-panel.kobra-workbench .kobra-header-actions {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .assistant-panel form { grid-template-columns:minmax(0,1fr); }
  .assistant-panel form textarea { min-height:3rem; max-height:6rem; }
  .kobra-dictation-controls {
    display:grid;
    grid-template-columns:2.55rem 6.25rem minmax(0,1fr);
    width:100%;
  }
  .kobra-attach { width:2.55rem; min-width:2.55rem; height:2.55rem; }
  .kobra-speech-language { width:auto; min-width:0; }
  .kobra-speech { min-width:0; }
  .assistant-panel form button[type="submit"] {
    width:100%;
    min-height:2.55rem;
  }
  .kobra-profiles-panel { max-height:min(440px,calc(100dvh - 24rem)); }
  .assistant-panel > header .kobra-profile-field { grid-template-columns:6.4rem minmax(0,1fr); }
}

/* Owner-only operator profile preferences. Keep access controls in Settings -> Access. */
.assistant-panel > header .kobra-profiles-panel {
  width:min(590px,calc(100% - 1.5rem),calc(100vw - 1.5rem));
  max-width:min(calc(100% - 1.5rem),calc(100vw - 1.5rem));
  max-height:min(690px,calc(100dvh - 8.5rem));
}
.assistant-panel > header .kobra-profiles-heading {
  flex:none;
  padding:.9rem 1rem;
}
.assistant-panel > header .kobra-profiles-heading strong { color:#1f2933; font-size:1rem; }
.assistant-panel > header .kobra-profiles-heading small { max-width:31rem; }
.assistant-panel > header .kobra-profiles-body {
  box-sizing:border-box;
  gap:.9rem;
  width:100%;
  min-width:0;
  padding:.9rem 1rem 1rem;
  scrollbar-gutter:stable;
}
.assistant-panel > header .kobra-profiles-body.editing { padding-bottom:0; }
.assistant-panel > header .kobra-profiles-intro {
  padding:.65rem .72rem;
  border:1px solid #d8e2e7;
  border-radius:10px;
  color:#354b57;
  background:#edf4f6;
  font-size:.78rem;
}
.assistant-panel > header .kobra-profile-section { gap:.58rem; }
.assistant-panel > header .kobra-profile-section h3,
.assistant-panel > header .kobra-profile-detail h3,
.assistant-panel > header .kobra-profile-preference h3,
.assistant-panel > header .kobra-profile-editor-section h3 {
  color:#334650;
  font-size:.76rem;
  line-height:1.3;
}
.assistant-panel > header .kobra-profile-card {
  grid-template-columns:minmax(0,1fr) minmax(9rem,auto);
  gap:.8rem;
  padding:.78rem;
}
.assistant-panel > header .kobra-profile-card.unavailable { background:#f3f6f7; }
.assistant-panel > header .kobra-profile-card-actions {
  display:grid;
  justify-items:end;
  gap:.42rem;
  min-width:0;
}
.assistant-panel > header .kobra-profile-summary { color:#425c69; }
.assistant-panel > header .kobra-profile-status.unavailable { color:#6a4b25; background:#f6ead9; }
.assistant-panel > header .kobra-profile-edit,
.assistant-panel > header .kobra-profile-back,
.assistant-panel > header .kobra-profile-access-link,
.assistant-panel > header .kobra-profile-cancel {
  min-height:2.5rem;
  color:#24483d;
  border-color:#8fb3a6;
  background:#fff;
}
.assistant-panel > header .kobra-profile-edit:hover,
.assistant-panel > header .kobra-profile-back:hover,
.assistant-panel > header .kobra-profile-access-link:hover,
.assistant-panel > header .kobra-profile-cancel:hover,
.assistant-panel > header .kobra-profile-edit:focus-visible,
.assistant-panel > header .kobra-profile-back:focus-visible,
.assistant-panel > header .kobra-profile-access-link:focus-visible,
.assistant-panel > header .kobra-profile-cancel:focus-visible {
  color:#16382d;
  border-color:#70a391;
  background:#e5f4ee;
}
.assistant-panel > header .kobra-profile-detail { gap:.55rem; }
.assistant-panel > header .kobra-profile-detail-intro {
  margin:-.2rem 0 0;
  color:#526776;
  font-size:.78rem;
}
.assistant-panel > header .kobra-profile-fields {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.5rem .9rem;
  padding:.78rem;
  background:#f7fafb;
}
.assistant-panel > header .kobra-profile-field {
  grid-template-columns:minmax(6.8rem,.8fr) minmax(0,1.2fr);
  gap:.45rem;
  min-width:0;
}
.assistant-panel > header .kobra-profile-form {
  position:static;
  z-index:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:.9rem;
  box-sizing:border-box;
  min-width:0;
  margin:0;
  padding:0;
  color:#1f2933;
  background:transparent;
}
.assistant-panel > header .kobra-profile-editor-section {
  display:grid;
  gap:.72rem;
  min-width:0;
  padding:.82rem;
  border:1px solid #d3dde2;
  border-radius:11px;
  background:#fff;
}
.assistant-panel > header .kobra-profile-input-field {
  display:grid;
  gap:.3rem;
  min-width:0;
  color:#334650;
  font-size:.76rem;
  font-weight:700;
  line-height:1.35;
}
.assistant-panel > header .kobra-profile-input-field input,
.assistant-panel > header .kobra-profile-input-field select,
.assistant-panel > header .kobra-profile-input-field textarea {
  grid-column:auto;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:2.65rem;
  margin:0;
  padding:.58rem .65rem;
  border:1px solid #aebdc5;
  border-radius:8px;
  color:#1f2933;
  background:#fff;
  font:inherit;
  font-weight:500;
  line-height:1.4;
}
.assistant-panel > header .kobra-profile-input-field textarea {
  min-height:4.25rem;
  max-height:9rem;
  resize:vertical;
}
.assistant-panel > header .kobra-profile-input-field input:focus,
.assistant-panel > header .kobra-profile-input-field select:focus,
.assistant-panel > header .kobra-profile-input-field textarea:focus {
  border-color:#398a70;
  outline:3px solid rgba(57,138,112,.18);
  outline-offset:1px;
}
.assistant-panel > header .kobra-profile-input-field small { font-weight:400; }
.assistant-panel > header .kobra-profile-select-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  min-width:0;
}
.assistant-panel > header .kobra-profile-scope-note {
  padding:.58rem .65rem;
  border-radius:8px;
  color:#405864;
  background:#edf4f6;
}
.assistant-panel > header .kobra-profile-preference { gap:.55rem; }
.assistant-panel > header .kobra-profile-empty {
  padding:.62rem .68rem;
  border-radius:8px;
  color:#425660;
  background:#eef3f5;
  font-weight:700;
}
.assistant-panel > header .kobra-profile-switch-row { min-height:2.65rem; }
.assistant-panel > header .kobra-playful-toggle { min-width:4rem; min-height:2.5rem; }
.assistant-panel > header .kobra-profile-access-note,
.assistant-panel > header .kobra-profiles-access-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  min-width:0;
  padding:.72rem .78rem;
  border:1px solid #d3dde2;
  border-radius:10px;
  color:#425660;
  background:#f7fafb;
  font-size:.75rem;
  line-height:1.42;
}
.assistant-panel > header .kobra-profiles-access-footer p { margin:0; }
.assistant-panel > header .kobra-profile-access-link { flex:none; white-space:nowrap; }
.assistant-panel > header .kobra-profile-form-status {
  min-height:1.25rem;
  margin:0;
  color:#526776;
  font-size:.75rem;
  line-height:1.4;
}
.assistant-panel > header .kobra-profile-form-status:empty { min-height:0; }
.assistant-panel > header .kobra-profile-form-status.success { color:#176b55; font-weight:700; }
.assistant-panel > header .kobra-profile-form-status.warning { color:#80510f; font-weight:700; }
.assistant-panel > header .kobra-profile-form-status.error { color:#a52a2a; font-weight:700; }
.assistant-panel > header .kobra-profile-form-status.working { color:#315a72; font-weight:700; }
.assistant-panel > header .kobra-profile-form-actions {
  position:sticky;
  z-index:3;
  bottom:0;
  display:flex;
  justify-content:flex-end;
  gap:.55rem;
  margin:0 -1rem;
  padding:.72rem 1rem;
  border-top:1px solid #d9e2e6;
  background:rgba(248,251,252,.97);
  box-shadow:0 -6px 14px rgba(31,41,51,.06);
}
.assistant-panel > header .kobra-profile-form-actions button {
  min-width:7.6rem;
  min-height:2.65rem;
}
.assistant-panel > header .kobra-profile-form .kobra-profile-save {
  align-self:auto;
  min-width:8.4rem;
  color:#fff;
  border-color:#078fc5;
  background:#079bd3;
}
.assistant-panel > header .kobra-profile-form .kobra-profile-save:hover,
.assistant-panel > header .kobra-profile-form .kobra-profile-save:focus-visible { color:#fff; background:#087fae; }
.assistant-panel > header .kobra-profile-form .kobra-profile-save:disabled { color:#61727c; border-color:#cbd5da; background:#e6ecef; opacity:1; }

@media (max-width:760px) {
  .assistant-panel > header .kobra-profiles-panel {
    left:.55rem;
    right:.55rem;
    width:auto;
    max-width:none;
    max-height:min(520px,calc(100dvh - 15rem));
  }
  .assistant-panel > header .kobra-profile-fields { grid-template-columns:minmax(0,1fr); }
  .assistant-panel > header .kobra-profile-select-grid { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:520px) {
  .assistant-panel > header .kobra-profiles-panel {
    left:.5rem;
    right:.5rem;
    width:auto;
    max-height:min(440px,calc(100dvh - 24rem));
    border-radius:12px;
  }
  .assistant-panel > header .kobra-profiles-heading { padding:.72rem .75rem; }
  .assistant-panel > header .kobra-profiles-heading small { font-size:.68rem; }
  .assistant-panel > header .kobra-profiles-body { gap:.72rem; padding:.72rem .75rem .8rem; }
  .assistant-panel > header .kobra-profiles-body.editing { padding-bottom:0; }
  .assistant-panel > header .kobra-profile-card { grid-template-columns:minmax(0,1fr); gap:.6rem; }
  .assistant-panel > header .kobra-profile-card-actions { grid-template-columns:repeat(2,minmax(0,1fr)); justify-items:stretch; }
  .assistant-panel > header .kobra-profile-card-actions .kobra-profile-status { justify-self:start; align-self:center; }
  .assistant-panel > header .kobra-profile-edit { width:100%; }
  .assistant-panel > header .kobra-profile-field { grid-template-columns:minmax(6.3rem,.8fr) minmax(0,1.2fr); }
  .assistant-panel > header .kobra-profile-editor-section,
  .assistant-panel > header .kobra-profile-fields,
  .assistant-panel > header .kobra-profile-preference { padding:.68rem; }
  .assistant-panel > header .kobra-profile-access-note,
  .assistant-panel > header .kobra-profiles-access-footer { align-items:stretch; flex-direction:column; }
  .assistant-panel > header .kobra-profile-access-link { width:100%; white-space:normal; }
  .assistant-panel > header .kobra-profile-form-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:0 -.75rem;
    padding:.62rem .75rem;
  }
  .assistant-panel > header .kobra-profile-form-actions button,
  .assistant-panel > header .kobra-profile-form .kobra-profile-save { width:100%; min-width:0; }
}

/* Named owner-managed episodes and retained coarse playback receipts. */
.assistant-panel > header .kobra-episode-list {
  display:grid;
  gap:.55rem;
}
.assistant-panel > header .kobra-episode-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.75rem;
  min-width:0;
  padding:.68rem;
  border:1px solid #d6e0e4;
  border-radius:9px;
  background:#f8fbfc;
}
.assistant-panel > header .kobra-episode-copy {
  display:grid;
  gap:.32rem;
  min-width:0;
}
.assistant-panel > header .kobra-episode-copy > strong {
  color:#253842;
  font-size:.78rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.assistant-panel > header .kobra-episode-description {
  margin:0;
  color:#425660;
  font-size:.73rem;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.assistant-panel > header .kobra-episode-playback {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.2rem .55rem;
}
.assistant-panel > header .kobra-episode-playback-status {
  color:#60727c;
  font-size:.7rem;
  line-height:1.35;
}
.assistant-panel > header .kobra-episode-playback-status.status-opened,
.assistant-panel > header .kobra-episode-playback-status.status-closed { color:#72521f; }
.assistant-panel > header .kobra-episode-playback-status.status-started { color:#315a72; }
.assistant-panel > header .kobra-episode-playback-status.status-completed { color:#176b55; font-weight:700; }
.assistant-panel > header .kobra-episode-activity-link {
  min-height:2.75rem;
  margin:-.55rem 0;
  padding:.48rem .15rem;
  border:0;
  color:#176b55;
  background:transparent;
  font:inherit;
  font-size:.7rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
}
.assistant-panel > header .kobra-episode-activity-link:hover,
.assistant-panel > header .kobra-episode-activity-link:focus-visible { color:#0f4d3d; }

.kobra-episode-intro { margin-bottom:.7rem; }
.kobra-episode-behavior {
  display:block;
  margin-top:.22rem;
  color:#526776;
  font-size:.72rem;
  line-height:1.42;
}
.assistant-panel > header .kobra-episode-toggle {
  min-width:4.25rem;
  min-height:2.75rem;
  align-self:center;
}

.kobra-episode-activity-dialog {
  position:fixed;
  z-index:10020;
  inset:0;
  display:grid;
  place-items:center;
  padding:1rem;
}
.kobra-episode-activity-dialog.hidden { display:none; }
.kobra-episode-dialog-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(19,28,35,.58);
  cursor:default;
}
.kobra-episode-dialog-card {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  width:min(480px,calc(100vw - 2rem));
  max-height:min(640px,calc(100dvh - 2rem));
  overflow:hidden;
  border:1px solid #c4d0d6;
  border-radius:14px;
  color:#1f2933;
  background:#fff;
  box-shadow:0 22px 62px rgba(12,20,27,.35);
}
.kobra-episode-dialog-heading,
.kobra-episode-video-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  padding:.8rem .9rem;
  border-bottom:1px solid #d9e2e6;
}
.kobra-episode-dialog-heading > div,
.kobra-episode-video-heading > div { display:grid; gap:.16rem; min-width:0; }
.kobra-episode-dialog-heading strong,
.kobra-episode-video-heading strong { overflow-wrap:anywhere; }
.kobra-episode-dialog-heading small,
.kobra-episode-video-heading small { color:#61727c; font-size:.72rem; }
.kobra-episode-dialog-close,
.kobra-episode-video-close {
  flex:none;
  min-width:2.75rem;
  min-height:2.75rem;
  padding:.2rem;
  font-size:1.25rem;
  line-height:1;
}
.kobra-episode-dialog-body {
  display:grid;
  align-content:start;
  gap:.75rem;
  min-height:0;
  padding:.9rem;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.kobra-episode-activity-summary {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem;
  padding:.65rem .7rem;
  border-radius:9px;
  color:#24483d;
  background:#edf7f3;
}
.kobra-episode-activity-summary small { color:#526776; }
.kobra-episode-activity-list {
  display:grid;
  gap:.5rem;
  margin:0;
  padding:0;
  list-style:none;
}
.kobra-episode-activity-list li {
  display:grid;
  gap:.18rem;
  padding:.62rem .7rem;
  border:1px solid #d9e2e6;
  border-radius:9px;
  background:#f8fbfc;
}
.kobra-episode-activity-event {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.7rem;
  font-size:.76rem;
}
.kobra-episode-activity-event time,
.kobra-episode-activity-list small { color:#61727c; font-size:.69rem; }
.kobra-episode-activity-empty,
.kobra-episode-activity-note { margin:0; font-size:.74rem; line-height:1.48; }
.kobra-episode-activity-note {
  padding:.62rem .68rem;
  border-radius:8px;
  color:#526776;
  background:#eef3f5;
}

.assistant-panel .kobra-episode-video-viewer {
  position:absolute;
  z-index:120;
  inset:.75rem;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid #c4d0d6;
  border-radius:14px;
  color:#1f2933;
  background:#fff;
  box-shadow:0 20px 60px rgba(12,20,27,.4);
}
.assistant-panel .kobra-episode-video-viewer.hidden { display:none; }
.assistant-panel .kobra-episode-video {
  align-self:center;
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-height:0;
  max-height:100%;
  background:#10151a;
  object-fit:contain;
}
.assistant-panel .kobra-episode-video-status {
  margin:0;
  padding:.65rem .8rem;
  color:#526776;
  background:#f4f7f8;
  font-size:.72rem;
  line-height:1.4;
}

@media (max-width:520px) {
  .assistant-panel > header .kobra-episode-row { gap:.55rem; padding:.6rem; }
  .assistant-panel > header .kobra-episode-toggle { min-width:4rem; }
  .kobra-episode-activity-dialog { padding:.5rem; }
  .kobra-episode-dialog-card { width:calc(100vw - 1rem); max-height:calc(100dvh - 1rem); border-radius:12px; }
  .kobra-episode-activity-summary,
  .kobra-episode-activity-event { align-items:flex-start; flex-direction:column; gap:.18rem; }
  .assistant-panel .kobra-episode-video-viewer { inset:.5rem; border-radius:12px; }
}

/* Account-scoped free sizing. The four corner handles are intentionally
   presentation-only; the south-east handle also supports keyboard resizing. */
.assistant-panel.kobra-custom-size {
  width:var(--kobra-panel-width) !important;
  height:var(--kobra-panel-height) !important;
  max-height:none !important;
}
.assistant-panel.kobra-resizing { user-select:none; }
.kobra-resize-handle {
  position:absolute;
  z-index:135;
  display:block;
  box-sizing:border-box;
  width:18px;
  height:18px;
  touch-action:none;
  cursor:nwse-resize;
}
.kobra-resize-handle::after {
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  border-color:#6c8d83;
  border-style:solid;
  opacity:.78;
}
.kobra-resize-nw { top:2px; left:2px; }
.kobra-resize-ne { top:2px; right:2px; cursor:nesw-resize; }
.kobra-resize-sw { bottom:2px; left:2px; cursor:nesw-resize; }
.kobra-resize-se { right:2px; bottom:2px; }
.kobra-resize-nw::after { top:2px; left:2px; border-width:2px 0 0 2px; }
.kobra-resize-ne::after { top:2px; right:2px; border-width:2px 2px 0 0; }
.kobra-resize-sw::after { bottom:2px; left:2px; border-width:0 0 2px 2px; }
.kobra-resize-se::after { right:2px; bottom:2px; border-width:0 2px 2px 0; }
.kobra-resize-handle:hover::after,
.kobra-resize-handle:focus-visible::after { border-color:#18a37f; opacity:1; }
.kobra-resize-handle:focus-visible { outline:2px solid #16a085; outline-offset:2px; border-radius:3px; }

/* When a wide chat leaves no full side column, History temporarily narrows
   the rendered panel. Removing this class restores the saved width exactly. */
.assistant-panel.kobra-history-fit {
  left:var(--kobra-history-fit-left) !important;
  right:auto !important;
  width:var(--kobra-history-fit-width) !important;
}
.kobra-history-drawer.kobra-history-compact { min-width:220px; }

/* Authenticated response images use the existing account-scoped attachment
   route. Other supported documents remain compact links. */
.kobra-message-attachments {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  align-items:start;
  gap:.5rem;
}
.kobra-message-image {
  display:grid;
  gap:.3rem;
  min-width:0;
  max-width:640px;
  margin:0;
  padding:.38rem;
  border:1px solid rgba(91,116,128,.24);
  border-radius:10px;
  background:rgba(255,255,255,.62);
}
.kobra-message-image-link { display:block; min-width:0; border-radius:7px; overflow:hidden; background:#e9eef0; }
.kobra-message-image-preview {
  display:block;
  width:100%;
  max-height:420px;
  object-fit:contain;
  background:#eef2f4;
}
.kobra-message-image figcaption {
  display:grid;
  gap:.16rem;
  color:#526776;
  font-size:.69rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.kobra-message-image-caption { color:#304650; }
.kobra-message-image-meta { color:#687780; font-size:.66rem; }
.kobra-message-attachment { justify-self:start; }

@media (max-width:760px) {
  .kobra-resize-handle { display:none; }
  .assistant-panel.kobra-custom-size,
  .assistant-panel.kobra-history-fit {
    inset:auto 8px 8px 8px !important;
    width:auto !important;
    height:min(90dvh,760px) !important;
    max-height:min(90dvh,760px) !important;
  }
}

@media (max-width:520px) {
  .assistant-panel.kobra-custom-size,
  .assistant-panel.kobra-history-fit {
    height:calc(100dvh - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
  }
  .kobra-message-attachments { grid-template-columns:minmax(0,1fr); }
}

/* 2026-10-18 mobile Kobra bottom sheet.
   This extends the existing panel and controls. Desktop drag/free sizing and
   every chat, History, Profiles, attachment, dictation and routing state stay
   on their established paths. Dynamic viewport units keep the composer above
   a phone keyboard; safe-area offsets keep controls clear of device chrome. */
.kobra-minimize { display:none; }

@media (max-width:760px), (max-width:900px) and (max-height:600px) {
  .assistant-toggle.kobra-toggle.kobra-mobile-launcher-visible {
    position:fixed;
    z-index:96;
    right:max(12px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
    display:inline-flex;
    min-width:48px;
    min-height:48px;
    padding:.35rem .85rem .35rem .35rem;
    border-color:#42655a;
    background:#202430;
    box-shadow:0 12px 32px rgba(24,35,45,.3);
  }
  .assistant-toggle.kobra-toggle.kobra-mobile-launcher-visible img { width:34px; height:34px; }

  .assistant-panel,
  .assistant-panel.kobra-custom-size,
  .assistant-panel.kobra-history-fit {
    inset:auto max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)) !important;
    width:auto !important;
    height:min(72dvh,640px) !important;
    max-height:min(72dvh,640px) !important;
    border-radius:18px;
    grid-template-rows:auto auto minmax(0,1fr) auto minmax(7.5rem,auto);
  }
  .assistant-panel > header { grid-row:1; }
  .assistant-panel > .kobra-quick { grid-row:2; }
  .assistant-panel > .assistant-messages { grid-row:3; }
  .assistant-panel > .kobra-action-tray { grid-row:4; }
  .assistant-panel > form { grid-row:5; }
  .assistant-panel.kobra-workbench,
  .assistant-panel.kobra-workbench.kobra-custom-size,
  .assistant-panel.kobra-workbench.kobra-history-fit {
    height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
  .assistant-panel.kobra-mobile-minimized { display:none; }
  .kobra-resize-handle { display:none; }

  .assistant-panel > header,
  .assistant-panel.kobra-workbench > header {
    grid-template-columns:auto minmax(0,1fr);
    gap:.35rem .55rem;
    padding:.5rem .55rem .45rem;
  }
  .assistant-panel header .kobra-head,
  .assistant-panel.kobra-workbench header .kobra-head {
    grid-column:1;
    align-self:center;
    gap:.38rem;
  }
  .kobra-head img { width:30px; height:30px; }
  .kobra-head small { display:none; }
  .kobra-runtime-status {
    grid-column:2;
    align-self:center;
    gap:.12rem;
    width:100%;
    padding:.25rem .38rem;
    border-radius:8px;
  }
  .kobra-runtime-row {
    grid-template-columns:.5rem minmax(0,1fr) auto;
    gap:.3rem;
    font-size:.62rem;
  }
  .kobra-runtime-row strong { font-size:.64rem; }
  .kobra-runtime-row small { font-size:.61rem; }
  .kobra-runtime-dot { width:.48rem; height:.48rem; }

  .assistant-panel > header .kobra-header-actions,
  .assistant-panel.kobra-workbench > header .kobra-header-actions {
    grid-column:1 / -1;
    display:flex;
    flex-wrap:nowrap;
    justify-content:flex-start;
    gap:.35rem;
    width:100%;
    padding:.35rem 0 0;
    overflow-x:auto;
    overflow-y:hidden;
    border-top:1px solid rgba(197,216,226,.18);
    scrollbar-width:thin;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .assistant-panel > header .kobra-header-actions button,
  .assistant-panel.kobra-workbench > header .kobra-header-actions button {
    flex:0 0 auto;
    width:auto;
    min-width:0;
    min-height:44px;
    padding:.42rem .62rem;
    font-size:.7rem;
  }
  .assistant-panel > header .kobra-header-actions #assistant-close { min-width:0; }
  .kobra-minimize { display:inline-flex; order:-2 !important; }
  .assistant-panel > header .kobra-header-actions #assistant-close { order:-1 !important; }

  .assistant-messages,
  .assistant-panel.kobra-workbench .assistant-messages {
    min-height:0;
    padding:.62rem .58rem 1.15rem;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .kobra-quick { padding:.35rem .5rem; }
  .kobra-quick button { min-height:38px; }

  .assistant-panel form {
    grid-template-columns:2.5rem 4.5rem minmax(4.6rem,1fr) 4.35rem;
    gap:.35rem;
    box-sizing:border-box;
    min-height:7.5rem;
    padding:.48rem .52rem calc(.5rem + env(safe-area-inset-bottom));
  }
  .assistant-panel form textarea,
  .kobra-attachment-tray,
  .kobra-history-save-status { grid-column:1 / -1; }
  .assistant-panel form textarea {
    min-height:2.85rem;
    height:2.85rem;
    max-height:min(7rem,24dvh);
    resize:none;
  }
  .kobra-dictation-controls { display:contents; }
  .kobra-attach { width:2.5rem; min-width:2.5rem; height:2.5rem; }
  .kobra-speech-language {
    width:auto;
    min-width:0;
    padding:.42rem .25rem;
    font-size:.66rem;
  }
  .kobra-speech {
    min-width:0;
    min-height:2.5rem;
    padding:.38rem .25rem;
    white-space:normal;
    font-size:.68rem;
    line-height:1.08;
  }
  .assistant-panel form button[type="submit"] {
    width:auto;
    min-width:0;
    min-height:2.5rem;
    padding:.4rem .38rem;
    font-size:.72rem;
  }

  .kobra-history-drawer {
    min-width:0;
    width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)) !important;
    max-width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .kobra-history-head button,
  .assistant-panel > header .kobra-profiles-heading .ghost { min-width:44px; min-height:44px; }

  .assistant-panel > header .kobra-profiles-panel {
    left:.45rem;
    right:.45rem;
    width:auto;
    max-width:none;
    max-height:calc(100dvh - 8.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    border-radius:12px;
  }
  .assistant-panel > header .kobra-profiles-body {
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
}

@media (max-width:900px) and (max-height:600px) {
  .assistant-panel,
  .assistant-panel.kobra-custom-size,
  .assistant-panel.kobra-history-fit { height:min(72dvh,430px) !important; max-height:min(72dvh,430px) !important; }
  .assistant-panel.kobra-workbench,
  .assistant-panel.kobra-workbench.kobra-custom-size,
  .assistant-panel.kobra-workbench.kobra-history-fit {
    height:calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    max-height:calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
  .kobra-quick { display:none; }
  .assistant-panel > header,
  .assistant-panel.kobra-workbench > header { padding:.35rem .5rem .3rem; }
  .assistant-panel > header .kobra-header-actions,
  .assistant-panel.kobra-workbench > header .kobra-header-actions { padding-top:.25rem; }
  .assistant-panel > header .kobra-header-actions button,
  .assistant-panel.kobra-workbench > header .kobra-header-actions button { min-height:44px; padding:.3rem .55rem; }
  .assistant-panel form textarea { min-height:2.5rem; height:2.5rem; max-height:18dvh; }
  .kobra-history-save-status { min-height:.8rem; font-size:.64rem; }
  .assistant-panel form { padding:.35rem .5rem calc(.38rem + env(safe-area-inset-bottom)); }
}
