/* Redesign preview: overlays. Every rule scoped under .kairos-redesign.
   The shared family: the command palette, the permission prompt, panel dialogs
   (and so the shared confirm dialog), toasts, option menus and context menus,
   empty states and the shortcut reference. Same surfaces as the Settings window
   and the Tool Store dialogs: a solid card, a hairline, a soft deep shadow, an
   italic Cormorant title and pill buttons. Tokens come from redesign.css; no
   raw colors. Gold is a hairline only, never text. */

/* -- Scrims ------------------------------------------------------------------ */
.kairos-redesign .modal-backdrop,
.kairos-redesign .palette-backdrop { background: rgba(var(--shade-rgb), .32); }
.kairos-redesign .permission-dialog::backdrop { background: rgba(var(--shade-rgb), .32); }

/* -- Panel dialogs and the shared confirm -------------------------------------
   openPanelDialog builds every one of these: a titled panel with a close
   button, a body and an optional footer. :where keeps this a floor that the
   per-area sheets (Calendar, Forge, Tool Store) can still refine. */
.kairos-redesign :where(.panel-dialog, .modal-panel):not(.settings-window) {
  background: var(--rd-surface-solid); border: 1px solid var(--rd-line-strong); border-radius: 20px;
  box-shadow: 0 24px 60px rgba(var(--shade-rgb), .22); color: var(--rd-ink);
}
.kairos-redesign .panel-dialog { gap: 12px; padding: 20px 22px; font-size: 13px; }
.kairos-redesign .panel-dialog .modal-header {
  margin: 0; align-items: flex-start; font-family: var(--rd-font-title); font-style: italic; font-weight: 500;
  font-size: 28px; line-height: 1.1; color: var(--rd-ink);
}
.kairos-redesign .panel-dialog .modal-close-btn {
  flex: none; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--rd-line-strong);
  background: var(--rd-surface-solid); color: var(--rd-ink); font-family: var(--rd-font-ui); font-style: normal; font-size: 16px; line-height: 1;
}
.kairos-redesign .panel-dialog .modal-close-btn:hover { background: var(--rd-surface-2); }
.kairos-redesign .panel-dialog .modal-close-btn:focus-visible { outline: 2px solid var(--rd-focus); outline-offset: 2px; box-shadow: none; }
.kairos-redesign .panel-dialog .modal-footer { align-items: center; }
.kairos-redesign .panel-dialog .modal-footer .btn { min-height: 36px; padding: 0 16px; font-size: 13px; }
.kairos-redesign .panel-dialog .modal-footer .btn.danger {
  color: var(--danger); background: transparent; border-color: var(--rd-line-strong);
}
.kairos-redesign .panel-dialog .modal-footer .btn.danger:hover:not(:disabled) { background: rgba(var(--danger-rgb), .08); }

/* The shared confirm: a short question over a Cancel and a Delete (or other) pill. */
.kairos-redesign .confirm-panel { width: 560px; }
.kairos-redesign .confirm-panel .muted { font-size: 13px; line-height: 1.55; color: var(--rd-ink-dim); white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; }
.kairos-redesign .confirm-panel .modal-footer { justify-content: flex-end; }
.kairos-redesign .confirm-panel .modal-footer .btn:last-child:not(.danger):not(.primary):not(.quiet) {
  background: var(--rd-primary-bg); color: var(--rd-primary-fg); border-color: transparent;
}

/* -- Command palette (Ctrl+K) -------------------------------------------------- */
.kairos-redesign .palette-backdrop { padding: 120px 24px 24px; box-sizing: border-box; backdrop-filter: none; -webkit-backdrop-filter: none; }
.kairos-redesign .palette-panel {
  width: min(620px, 100%); max-width: 100%; padding: 0; gap: 0; overflow: hidden;
  background: var(--rd-surface-solid); border: 1px solid var(--rd-line-strong); border-radius: 18px;
  box-shadow: 0 24px 70px rgba(var(--shade-rgb), .28); color: var(--rd-ink);
}
.kairos-redesign .palette-input-row {
  gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--rd-line);
}
.kairos-redesign .palette-input-row::before {
  content: ""; flex: none; width: 18px; height: 18px; background: var(--rd-ink-dim);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-4-4'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-4-4'/></svg>") center / contain no-repeat;
}
.kairos-redesign .palette-input-row:focus-within { border-bottom-color: var(--rd-line-strong); }
.kairos-redesign .palette-input,
.kairos-redesign .palette-input:focus {
  order: 1; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: none;
  font-size: 16px; color: var(--rd-ink);
}
.kairos-redesign .palette-input::placeholder { color: var(--rd-ink-faint); }
.kairos-redesign .palette-hint {
  order: 2; text-transform: capitalize; letter-spacing: 0; font-size: 11px; padding: 2px 6px;
  border-radius: 6px; border: 1px solid var(--rd-line-strong); color: var(--rd-ink-dim);
}
.kairos-redesign .palette-list { padding: 6px; gap: 0; max-height: 420px; }
.kairos-redesign .palette-item { padding: 10px 12px; border-radius: 10px; font-size: 14px; color: var(--rd-ink); }
.kairos-redesign .palette-item.active { background: var(--rd-surface-2); color: var(--rd-ink); }
.kairos-redesign .palette-item:focus-visible { outline: 2px solid var(--rd-focus); outline-offset: -2px; box-shadow: none; }
.kairos-redesign .palette-item-hint { font-size: 11px; letter-spacing: 0; text-transform: capitalize; color: var(--rd-ink-dim); }
.kairos-redesign .palette-list > .empty-state {
  padding-block: 14px !important; padding-inline: 12px !important; text-align: left; font-size: 13px; letter-spacing: 0; color: var(--rd-ink-dim);
}
.kairos-redesign .palette-foot {
  display: block; padding: 8px 14px; border-top: 1px solid var(--rd-line); font-size: 11px; color: var(--rd-ink-dim);
}

/* -- Permission prompt ----------------------------------------------------------
   permissionPrompt.js builds a native dialog: a head (the label and the tool), the
   request title, optional description and target, the arguments, a status line
   and the choices. Said in the mockup's order: a small label, an italic title,
   the command in a mono well, the deadline, then the pills. */
.kairos-redesign .permission-dialog:not(.agent-inline-permission) {
  width: min(480px, calc(100vw - 32px)); padding: 22px 24px; border-radius: 20px;
  background: var(--rd-surface-solid); border: 1px solid var(--rd-line-strong);
  box-shadow: 0 24px 70px rgba(var(--shade-rgb), .28); color: var(--rd-ink);
}
.kairos-redesign .permission-dialog:not(.agent-inline-permission)[open] { display: flex; flex-direction: column; gap: 10px; }
.kairos-redesign .permission-head { justify-content: flex-start; flex-wrap: wrap; gap: 6px; }
.kairos-redesign .permission-head h2 {
  font-family: var(--rd-font-ui); font-size: var(--rd-label-size); font-weight: 500;
  letter-spacing: var(--rd-label-tracking); text-transform: uppercase; color: var(--rd-ink-dim);
}
.kairos-redesign .permission-tool {
  padding: 0; border: 0; border-radius: 0; font-size: 11px; letter-spacing: .04em; color: var(--rd-ink-dim);
  font-family: var(--font-mono, "Cascadia Code", Consolas, monospace);
}
.kairos-redesign .permission-tool::before { content: "\00b7"; margin-right: 6px; font-family: var(--rd-font-ui); }
.kairos-redesign .permission-dialog .permission-title {
  margin: 0; font-family: var(--rd-font-title); font-style: italic; font-weight: 500; font-size: 28px; line-height: 1.12;
  color: var(--rd-ink);
}
.kairos-redesign .permission-dialog .muted { margin: 0; font-size: 14px; line-height: 1.5; color: var(--rd-ink-dim); }
.kairos-redesign .permission-target {
  margin: 0; padding: 8px 10px; border-radius: 10px; background: var(--rd-ground); color: var(--rd-ink);
  font-family: var(--font-mono, "Cascadia Code", Consolas, monospace); font-size: 12px;
}
.kairos-redesign .permission-args { margin: 0; font-size: 13px; }
.kairos-redesign .permission-args summary { cursor: pointer; }
.kairos-redesign .permission-args pre {
  margin: 6px 0 0; padding: 8px 10px; border: 0; border-radius: 10px; background: var(--rd-ground); color: var(--rd-ink); font-size: 11px;
}
.kairos-redesign .permission-error { margin: 0; font-size: 12px; color: var(--rd-ink-dim); }
.kairos-redesign .permission-error:empty { display: none; }
.kairos-redesign .permission-error[data-kind="error"] { color: var(--danger); }
.kairos-redesign .permission-choices { margin-top: 4px; gap: 8px; }
.kairos-redesign .permission-choices .btn { min-height: 40px; padding: 0 18px; font-size: 14px; }
.kairos-redesign .permission-choices .btn.danger {
  background: transparent; color: var(--danger); border-color: color-mix(in srgb, var(--danger) 45%, transparent);
}
.kairos-redesign .permission-choices .btn.danger:hover:not(:disabled) { background: rgba(var(--danger-rgb), .08); }
.kairos-redesign .permission-choices .btn:disabled { opacity: .55; }
.kairos-redesign .permission-note { display: block; margin: 0; font-size: 11px; color: var(--rd-ink-dim); }
.kairos-redesign .permission-dialog :focus-visible { outline: 2px solid var(--rd-focus); outline-offset: 2px; box-shadow: none; }
/* Inline in an agent's stream: the same pieces on a soft card. */
.kairos-redesign .permission-dialog.agent-inline-permission {
  border: 1px solid var(--rd-line); border-radius: 20px; background: var(--rd-surface); box-shadow: var(--rd-shadow);
}
.kairos-redesign .agent-inline-permission .permission-title { font-size: 22px; margin: 0 0 4px; }
.kairos-redesign .agent-inline-permission .permission-target { margin-top: 6px; }
.kairos-redesign .agent-blocked-status {
  font-size: var(--rd-label-size); letter-spacing: var(--rd-label-tracking); text-transform: uppercase; color: var(--rd-ink-dim);
  border-bottom-color: var(--rd-line);
}

/* -- Toasts -------------------------------------------------------------------- */
.kairos-redesign #toast-host { gap: 10px; }
.kairos-redesign .toast {
  position: relative; max-width: 380px; padding: 12px 16px 12px 40px; border: 1px solid var(--rd-line-strong);
  border-left-width: 1px; border-radius: 14px; background: var(--rd-surface-solid); color: var(--rd-ink);
  box-shadow: 0 16px 40px rgba(var(--shade-rgb), .2); font-family: var(--rd-font-ui); font-size: 13px; line-height: 1.45;
}
.kairos-redesign .toast::before {
  content: ""; position: absolute; left: 17px; top: 17px; width: 9px; height: 9px; border-radius: 50%;
  background: var(--rd-ink-dim);
}
.kairos-redesign .toast.success::before { background: var(--success); }
.kairos-redesign .toast.error::before { background: var(--danger); }
.kairos-redesign .toast.info::before { background: var(--rd-ink-dim); }
.kairos-redesign .toast.error { border-color: color-mix(in srgb, var(--danger) 45%, transparent); }
.kairos-redesign .toast:focus-visible { outline: 2px solid var(--rd-focus); outline-offset: 2px; }

/* -- Option menus, model pickers, context menus ------------------------------------ */
.kairos-redesign :is(.custom-select-menu, .model-picker-menu, .overflow-menu, .context-menu, .chat-reference-picker) {
  padding: 6px; border: 1px solid var(--rd-line-strong); border-radius: 16px; background: var(--rd-surface-solid);
  box-shadow: 0 16px 44px rgba(var(--shade-rgb), .2);
}
.kairos-redesign :is(.custom-select-item, .model-picker-item, .overflow-menu-item, .context-menu-item) { border-radius: 10px; }
.kairos-redesign :is(.custom-select-item, .model-picker-item, .overflow-menu-item, .context-menu-item):hover:not(.disabled) { background: var(--rd-surface-2); }
.kairos-redesign .custom-select-heading {
  font-size: var(--rd-label-size); font-weight: 500; letter-spacing: var(--rd-label-tracking); color: var(--rd-ink-dim);
}
.kairos-redesign .context-menu-item.danger { color: var(--danger); }
.kairos-redesign .custom-select-item:focus-visible,
.kairos-redesign :is(.model-picker-item, .overflow-menu-item, .context-menu-item):focus-visible { outline: 2px solid var(--rd-focus); outline-offset: -2px; box-shadow: none; }

/* -- Row actions and empty states ----------------------------------------------------- */
.kairos-redesign .row-action-btn { border-radius: 50%; }
.kairos-redesign .row-action-btn:hover { background: var(--rd-surface-2); border-color: var(--rd-line-strong); }
.kairos-redesign .row-action-btn.danger:hover { color: var(--danger); background: rgba(var(--danger-rgb), .08); }
.kairos-redesign .empty-state-title {
  font-family: var(--rd-font-title); font-style: italic; font-weight: 500; font-size: 22px; letter-spacing: 0; color: var(--rd-ink);
}
.kairos-redesign .empty-state-hint { color: var(--rd-ink-dim); }

/* -- Keyboard help (Settings, Shortcuts) -------------------------------------------------- */
.kairos-redesign .set-kbd {
  padding: 3px 9px; border-radius: 8px; border: 1px solid var(--rd-line-strong); background: var(--rd-ground);
  color: var(--rd-ink); font-family: var(--rd-font-ui); font-size: 12px; font-weight: 500; letter-spacing: .02em;
}

/* -- Phones --------------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .kairos-redesign .palette-backdrop { padding: 56px 12px 12px; }
  .kairos-redesign .palette-input { font-size: 16px; }
  .kairos-redesign .palette-item { min-height: 44px; }
  .kairos-redesign .modal-backdrop > .panel-dialog { border-radius: 0; padding: 16px; }
  .kairos-redesign .panel-dialog .modal-header { font-size: 26px; }
  /* A confirm stays a centred card; it does not need the whole screen. */
  .kairos-redesign .modal-backdrop > .panel-dialog.confirm-panel {
    width: min(560px, calc(100vw - 32px)); max-width: calc(100vw - 32px); height: auto; border-radius: 20px; padding: 20px;
  }
  .kairos-redesign .confirm-panel .modal-footer .btn { min-height: 44px; }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) { padding: 20px; }
  .kairos-redesign .permission-dialog .permission-title { font-size: 26px; }
  .kairos-redesign .permission-choices .btn { flex: 1 1 auto; min-height: 44px; }
  .kairos-redesign #toast-host { left: 16px; right: 16px; bottom: 16px; align-items: stretch; }
  .kairos-redesign .toast { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .kairos-redesign .toast { transition: none; }
}

/* -- Phone polish: a 44px floor for what a thumb reaches ------------------------------------ */
@media (max-width: 768px) {
  .kairos-redesign .panel-dialog .modal-close-btn:not(#_) { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .kairos-redesign .panel-dialog .modal-footer .btn { min-height: 44px; }
  .kairos-redesign .palette-input:not(#_) { min-height: 44px; }
  .kairos-redesign .palette-input-row { padding-block: 8px; }
  .kairos-redesign :is(.custom-select-item, .model-picker-item, .overflow-menu-item, .context-menu-item):not(#_) { min-height: 44px; }
  .kairos-redesign .permission-args summary { display: flex; align-items: center; min-height: 44px; }
}

/* Composer model picker, the desktop card (David, 2026-10-28): search along the top, the
   connections in a narrow column, one connection's models beside it (one line each, the
   description as a tooltip), and Effort with the links in a bar along the bottom. At most 540 by
   440 and never past the window (menuFit.js clamps it); only the two columns scroll. The
   controller (views/chat.js) still builds every row; mobileModelSheet.js places them. */
@media (min-width: 769px) {
  .kairos-redesign .model-picker-menu.rd-model-picker { display: flex; flex-direction: column; width: 540px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 8px; gap: 6px; overflow: hidden; border: 1px solid var(--rd-line); border-radius: 20px; background: var(--rd-surface-solid); box-shadow: 0 18px 50px rgba(var(--shade-rgb), .18); transform-origin: bottom right; animation: rd-menu var(--rd-dur-menu) var(--rd-ease) backwards; }
  .kairos-redesign .model-picker-menu.rd-model-picker.hidden, .kairos-redesign .model-picker-menu.rd-model-picker[hidden] { display: none; }
  .kairos-redesign .rd-model-picker > * { flex: 0 0 auto; }
  .kairos-redesign .rd-model-picker .model-picker-heading { display: none; }
  .kairos-redesign .rd-model-picker .rd-model-search-row { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; box-sizing: border-box; border-radius: 999px; background: var(--rd-ground); color: var(--rd-ink-dim); position: static; }
  .kairos-redesign .rd-model-picker .rd-model-search-row:focus-within { outline: 2px solid var(--rd-focus); outline-offset: 2px; }
  .kairos-redesign .rd-model-picker .rd-model-search-icon { display: grid; flex: none; }
  .kairos-redesign .rd-model-picker .rd-model-search-row input:not(#_) { flex: 1; min-width: 0; width: auto; height: 100%; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--rd-ink); font: 13px var(--rd-font-ui); outline: none; box-shadow: none; }
  .kairos-redesign .rd-model-picker > .rd-mp-body { flex: 1 1 auto; display: grid; grid-template-columns: minmax(118px, 30%) minmax(0, 1fr); gap: 6px; min-height: 120px; }
  .kairos-redesign .rd-mp-body > :is(.rd-mp-rail, .rd-mp-pane) { min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 1px; }
  .kairos-redesign .rd-mp-rail { padding-right: 6px; border-right: 1px solid var(--rd-line); }
  .kairos-redesign .rd-mp-rail .model-connection-list { display: flex; flex-direction: column; gap: 1px; }
  .kairos-redesign .rd-model-picker .model-picker-item:not(#_) { min-height: 0; padding: 7px 10px; border-radius: 10px; gap: 8px; font-size: 13px; }
  .kairos-redesign .rd-model-picker .model-picker-item.active:not(#_) { background: none; box-shadow: none; }
  .kairos-redesign .rd-mp-rail .model-connection-item:not(#_) { display: flex; align-items: center; text-align: left; }
  .kairos-redesign .rd-mp-rail .model-connection-item.active:not(#_) { background: var(--rd-ground); box-shadow: inset 0 0 0 1px var(--rd-line-strong); }
  .kairos-redesign .rd-mp-rail .model-connection-item .model-mark { display: inline-grid; flex: none; width: 15px; height: 15px; }
  /* A connection without a logo keeps its name in line with the others. */
  .kairos-redesign .rd-mp-rail .model-connection-item:not(:has(.model-mark))::before { content: ''; flex: none; width: 15px; height: 15px; }
  .kairos-redesign .rd-mp-rail .model-connection-item::after { content: none; }
  .kairos-redesign .rd-mp-rail .model-connection-text { display: grid; min-width: 0; }
  .kairos-redesign .rd-mp-rail .model-connection-name { font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .rd-mp-rail .model-connection-sub { display: none; }
  .kairos-redesign .rd-mp-title { padding: 4px 10px 6px; font: 500 10px var(--rd-font-ui); letter-spacing: .16em; text-transform: uppercase; color: var(--rd-ink-dim); }
  .kairos-redesign .rd-model-picker .rd-model-group { display: none; padding: 8px 10px 3px; font: 500 10px var(--rd-font-ui); letter-spacing: .16em; text-transform: uppercase; color: var(--rd-ink-dim); }
  .kairos-redesign .rd-mp-pane .model-version-section { display: contents; }
  .kairos-redesign .model-picker-menu.rd-model-picker :is(.model-catalog-list, .model-other-catalog-list) { display: flex; flex: none; min-height: 0; overflow: visible; flex-direction: column; gap: 1px; padding: 0; }
  .kairos-redesign .model-picker-menu.rd-model-picker .rd-mp-pane > .rd-mp-off { display: none; }
  .kairos-redesign .rd-model-picker :is(.model-catalog-item, .model-other-catalog-item):not(#_) { display: grid; grid-template-columns: minmax(0, 1fr) 14px; align-items: center; gap: 8px; text-align: left; }
  .kairos-redesign .rd-model-picker :is(.model-catalog-item, .model-other-catalog-item)[hidden] { display: none; }
  .kairos-redesign .rd-model-picker :is(.model-catalog-item, .model-other-catalog-item)::before { content: none; }
  .kairos-redesign .rd-model-picker .model-catalog-name { font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .rd-model-picker .model-catalog-desc { display: none; }
  .kairos-redesign .rd-model-picker .model-catalog-item.active:not(#_) { background: var(--rd-ground); }
  /* A tick on the model this chat uses. */
  .kairos-redesign .rd-model-picker .model-catalog-item.active::after { content: ''; position: static; grid-column: 2; width: 10px; height: 6px; margin: 0 0 3px 2px; border: solid var(--rd-ink); border-width: 0 0 2px 2px; border-radius: 0; background: none; transform: rotate(-45deg); }
  .kairos-redesign .rd-mp-empty { padding: 10px; margin: 0; font-size: 13px; color: var(--rd-ink-dim); }
  /* Searching shows every connection's matches, each under its name, across both columns. */
  .kairos-redesign .rd-mp-searching > .rd-mp-body { grid-template-columns: minmax(0, 1fr); }
  .kairos-redesign .rd-mp-searching .rd-mp-rail, .kairos-redesign .rd-mp-searching .rd-mp-title { display: none; }
  .kairos-redesign .model-picker-menu.rd-model-picker.rd-mp-searching .rd-mp-pane > .model-other-catalog-list.rd-mp-off { display: flex; }
  .kairos-redesign .rd-mp-searching .rd-model-group:not([hidden]) { display: block; }
  .kairos-redesign .rd-mp-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 8px 4px 0; border-top: 1px solid var(--rd-line); }
  .kairos-redesign .rd-mp-foot:empty { display: none; }
  .kairos-redesign .rd-mp-foot .model-effort-row { display: flex; align-items: center; gap: 10px; flex: 1 1 100%; margin: 0; padding: 0 6px; border: 0; }
  .kairos-redesign .rd-model-picker .model-effort-label { flex: none; margin: 0; font-size: 12px; color: var(--rd-ink-dim); }
  .kairos-redesign .rd-model-picker .rd-effort-seg { display: flex; flex: 1; padding: 3px; border-radius: 999px; background: var(--rd-surface-2); }
  .kairos-redesign .rd-model-picker .model-effort-btn { flex: 1; height: 26px; min-height: 26px; padding: 0 6px; border: 0; border-radius: 999px; background: transparent; color: var(--rd-ink-dim); font-size: 12px; text-transform: capitalize; }
  .kairos-redesign .rd-model-picker .model-effort-btn.active { background: var(--rd-surface-solid); color: var(--rd-ink); font-weight: 500; box-shadow: 0 1px 3px rgba(var(--shade-rgb), .1); }
  .kairos-redesign .rd-mp-foot .model-custom-details { flex: 1 1 auto; margin: 0; padding: 0; font-size: 12px; color: var(--rd-ink-dim); }
  .kairos-redesign .rd-mp-foot .model-custom-details > summary { display: inline-block; padding: 6px; cursor: pointer; color: var(--rd-ink-dim); font-size: 12px; }
  .kairos-redesign .rd-mp-foot .model-custom-details > summary::-webkit-details-marker { display: none; }
  .kairos-redesign .rd-mp-foot .model-custom-details > summary { list-style: none; }
  .kairos-redesign .rd-mp-foot .model-custom-details[open] { flex-basis: 100%; }
  .kairos-redesign .rd-mp-foot .model-custom-details .model-version-form { display: grid; gap: 6px; padding: 4px 6px 6px; }
  .kairos-redesign .rd-mp-foot :is(.model-add-item, .model-manage-item, .model-use-endpoint):not(#_) { display: inline-flex; width: auto; padding: 6px; color: var(--accent); font-size: 12px; background: none; box-shadow: none; }
  .kairos-redesign .rd-mp-foot :is(.model-add-item, .model-manage-item)[hidden] { display: none; }
  .kairos-redesign .rd-mp-foot .model-manage-item { margin-left: auto; color: var(--rd-ink-dim); }
}
@media (max-width: 768px) {
  .kairos-redesign .question-dialog { height: 610px; }
  .kairos-redesign .question-dialog .question-card { padding: 0; border: 0; border-radius: 0; background: transparent; max-height: none; height: 100%; box-sizing: border-box; overflow: visible; }
  .kairos-redesign .question-dialog .question-card::before { display: none; }
  .kairos-redesign .question-dialog .question-head { position: relative; min-height: 48px; padding-right: 48px; flex-wrap: nowrap; gap: 12px; margin-bottom: 16px; }
  .kairos-redesign .question-dialog .question-pulse { display: none; }
  .kairos-redesign .question-dialog .question-head h2 { font: 500 11px/1.5 var(--rd-font-ui); letter-spacing: .16em; text-transform: uppercase; color: var(--rd-ink-dim); }
  .kairos-redesign .question-dialog .question-head .ms-sheet-close { position: absolute; right: 0; top: 0; }
  .kairos-redesign .question-dialog .question-body { padding: 0; flex: 1; }
  .kairos-redesign .question-dialog .question-item { padding: 0 0 16px; }
  .kairos-redesign .question-dialog .question-item legend { font: 600 26px/1.2 var(--rd-font-title); margin-bottom: 16px; }
  .kairos-redesign .question-dialog .question-option { box-sizing: border-box; min-height: 52px; gap: 12px; padding: 8px 16px; border: 1px solid var(--rd-line); border-radius: 18px; margin: 0 0 8px; background: var(--rd-ground); font-size: 15px; }
  .kairos-redesign .question-dialog .question-option:has(input:checked) { border-color: var(--rd-ink); background: var(--rd-surface-solid); }
  .kairos-redesign .question-dialog .question-option input { width: 20px; height: 20px; margin: 0; accent-color: var(--rd-ink); }
  .kairos-redesign .question-dialog .question-other-choice { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); }
  .kairos-redesign .question-dialog .question-item > input[type=text] { height: 52px; border: 1px dashed var(--rd-line-strong); border-radius: 18px; padding: 0 16px; background: transparent; font: 15px var(--rd-font-ui); color: var(--rd-ink); }
  .kairos-redesign .question-dialog .question-footer { background: transparent; position: static; margin-top: auto; }
  .kairos-redesign .question-dialog .question-actions { gap: 10px; }
  .kairos-redesign .question-dialog .question-actions button { height: 52px; border-radius: 999px; font-size: 15px; }
  .kairos-redesign .question-dialog .question-actions button:first-child { flex: 0 0 auto; padding: 0 22px; }
  .kairos-redesign .question-dialog .question-actions button:last-child { flex: 1; background: var(--rd-primary-bg); color: var(--rd-primary-fg); }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) { height: 600px; gap: 14px; }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
  .kairos-redesign .permission-phone-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--rd-line); border-radius: 16px; background: var(--rd-ground); }
  .kairos-redesign .permission-phone-icon svg { width: 22px; height: 22px; }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-head h2 { flex: 1; font: 500 11px var(--rd-font-ui); text-transform: uppercase; letter-spacing: .16em; }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-tool { order: 3; width: 100%; font: 13px var(--rd-font-ui); }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-title { font: 600 26px/1.2 var(--rd-font-title); }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-choices { display: flex; flex-direction: column; gap: 8px; counter-reset: permission; }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-choices .btn { min-height: 52px; border-radius: 18px; border: 1px solid var(--rd-line); padding: 0 16px; text-align: left; justify-content: flex-start; background: var(--rd-ground); color: var(--rd-ink); font: 15px var(--rd-font-ui); }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-choices .btn::before { counter-increment: permission; content: counter(permission) '  '; margin-right: 10px; }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-choices .btn.primary { background: var(--rd-primary-bg); color: var(--rd-primary-fg); border-color: var(--rd-primary-bg); }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) .permission-choices .btn.danger { color: var(--danger); }
}
/* Model boards: content-sized card and visible, data-driven effort controls. */
.model-other-catalog-list, .model-manage-item { display: none; }
@media (max-width: 768px) {
  .kairos-redesign .ms-sheet.ms-model-sheet .ms-model-menu { margin-top: 0; }
  .kairos-redesign .ms-sheet.ms-model-sheet .model-version-section,
  .kairos-redesign .ms-sheet.ms-model-sheet .model-catalog-list { flex: 0 0 auto; min-height: 0; height: auto; }
  .kairos-redesign .ms-sheet.ms-model-sheet .ms-model-menu .model-effort-row { display: flex; }
  .kairos-redesign .ms-sheet.ms-model-sheet .model-effort-btn { min-height: 44px; }
  .kairos-redesign .ms-sheet.ms-model-sheet .model-connection-item { min-height: 44px; }
  .kairos-redesign .ms-sheet.ms-model-sheet .model-catalog-item { flex: none; }
}
@media (min-width: 769px) {
  .kairos-redesign .design-model-menu.rd-model-picker:not([hidden]) { display: flex; flex-direction: column; }
  /* Forge's composers: one model pill opens the card; their Agent and model dropdowns stay hidden. */
  .kairos-redesign .rd-card-replaced { display: none; }
  .kairos-redesign .model-picker-menu.rd-card-floating { z-index: 1000; }
  .kairos-redesign .ms-embedded-model-trigger { display: inline-flex; align-items: center; gap: 8px; max-width: 260px; min-height: 34px; padding: 0 10px; box-sizing: border-box; border: 1px solid var(--rd-line-strong); background: transparent; color: var(--rd-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  /* The same chevron as the composer's other pickers. */
  .kairos-redesign .ms-embedded-model-trigger::after { content: ''; flex: none; width: 5px; height: 5px; margin-top: -3px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
}
@media (max-width: 768px) {
  .kairos-redesign .ms-model-sheet .ms-model-menu > .model-connection-list { display: none; }
  .kairos-redesign .ms-model-sheet .ms-provider-tabs { display: flex; padding: 5px; margin-bottom: 16px; border-radius: 999px; background: var(--rd-surface-2); overflow-x: auto; }
  .kairos-redesign .ms-model-sheet .ms-provider-tabs button { flex: 1 0 auto; min-height: 44px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: var(--rd-ink-dim); font-size: 14px; }
  .kairos-redesign .ms-model-sheet .ms-provider-tabs button[aria-selected='true'] { background: var(--rd-surface-solid); color: var(--rd-ink); box-shadow: 0 1px 3px rgba(var(--shade-rgb), .1); }
  .kairos-redesign .ms-extra-connections { font-size: 13px; color: var(--rd-ink-dim); }
}
.kairos-redesign :is(.rd-model-picker, .ms-model-menu) .rd-effort-default { display: none; }
.kairos-redesign :is(.rd-model-picker, .ms-model-menu) [hidden] { display: none !important; }

/* -- Desktop redesign (2026-10-28, canvas board Popups) ---------------------------------------------
   The chat's popups and blocks with sharp edges and hairlines: the model menu (provider rows with
   logos, effort as a segmented row), the + and permission menus, the permission and approval
   dialog, the inline question, and code, table and file blocks. Markup unchanged. */
@media (min-width: 769px) {
  .kairos-redesign :is(.permission-dialog, .permission-args, .permission-args pre, .permission-target, .permission-choices .btn,
    .question-card, .question-option, .question-free input, .question-item input[type=text], .question-actions .btn,
    .chat-code-block, .chat-code-header button, .chat-table-wrap, .artifact-card, .artifact-icon,
    .model-picker-menu, .model-picker-item, .model-effort-row, .model-effort-btn, #chat-model-search, .rd-model-search,
    .overflow-menu, .overflow-menu-item, .documents-popover, .documents-menu-search, .documents-menu-row,
    .artifact-toolbar .btn, .artifact-tab, .rd-conversation-menu, .rd-conversation-menu-item, .palette-panel, .palette-input-row, .palette-item, .toast) { border-radius: 0; }
  .kairos-redesign .permission-dialog:not(.agent-inline-permission) { box-shadow: var(--rd-shadow); border: 1px solid var(--rd-line-strong); }
  .kairos-redesign .permission-choices .btn.primary { background: var(--rd-primary-bg); color: var(--rd-primary-fg); border-color: transparent; }
  .kairos-redesign .model-effort-row { display: flex; gap: 0; border: 1px solid var(--rd-line-strong); padding: 0; }
  .kairos-redesign .model-effort-row .model-effort-label { padding: 0 8px; align-self: center; font-size: 11px; color: var(--rd-ink-dim); }
  .kairos-redesign .model-effort-btn { flex: 1; border: 0; border-left: 1px solid var(--rd-line); }
  .kairos-redesign .model-effort-btn.active { background: var(--rd-primary-bg); color: var(--rd-primary-fg); }
  .kairos-redesign .model-connection-item .model-mark { width: 18px; height: 18px; }
  .kairos-redesign .model-picker-item.active { box-shadow: inset 2px 0 0 var(--point); }
  .kairos-redesign .chat-code-block { border: 1px solid var(--rd-line-strong); }
  .kairos-redesign .chat-code-header { border-bottom: 1px solid var(--rd-line); font-family: var(--mf-font-mono, ui-monospace, monospace); }
  .kairos-redesign .chat-table-wrap { border: 1px solid var(--rd-line-strong); }
  .kairos-redesign .chat-table-wrap :is(th, td) { border-color: var(--rd-line); }
  .kairos-redesign .chat-table-wrap th { font: 500 11px var(--rd-font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-ink-dim); }
  .kairos-redesign .artifact-card { border: 1px solid var(--rd-line-strong); box-shadow: none; }
  .kairos-redesign .question-card { border: 1px solid var(--rd-line-strong); box-shadow: none; }
  .kairos-redesign .question-option:has(input:checked) { box-shadow: inset 2px 0 0 var(--point); }
}
