/* Part A1-A8. Phone chrome only.
   Geometry adapted from the Monocode study, using Kairos brand tokens. */
@media (max-width: 768px) {
  .kairos-redesign .ms-shell,
  .kairos-redesign .ms-activity,
  .kairos-redesign .ms-tab-sheet { color: var(--rd-ink); font-family: var(--rd-font-ui); }
  .kairos-redesign :is(.ms-shell, .ms-activity, .ms-tab-sheet) [hidden] { display: none !important; }
  /* Shared pills (kairosParts.js pill()) set their own colours; inheriting here painted the primary pill's label in ink on ink. */
  .kairos-redesign :is(.ms-shell, .ms-activity, .ms-tab-sheet) :is(button:not(.rd-pill), input, select, textarea) {
    font: inherit; color: inherit; box-sizing: border-box; min-height: 44px; min-width: 44px;
  }
  .kairos-redesign :is(.ms-shell, .ms-activity, .ms-tab-sheet) .rd-pill { min-height: 44px; min-width: 44px; }
  /* The inherit above would paint Send's arrow in ink on its ink circle. */
  .kairos-redesign .forge-composer.ms-composer .forge-composer-send { background: var(--rd-primary-bg); color: var(--rd-primary-fg); }
  .kairos-redesign :is(.ms-shell, .ms-activity, .ms-tab-sheet) button { cursor: pointer; }
  .kairos-redesign :is(.ms-shell, .ms-activity, .ms-tab-sheet) :focus-visible,
  .kairos-redesign .ms-conversation .ms-chat-back:focus-visible { outline: 2px solid var(--rd-focus); outline-offset: 2px; }
  .kairos-redesign .ms-glass {
    background: var(--rd-surface-solid); border: 1px solid var(--rd-line-strong);
    border-radius: 999px; box-shadow: var(--rd-shadow); color: var(--rd-ink);
  }
  @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .kairos-redesign .ms-glass { background: color-mix(in srgb, var(--rd-surface-solid) 82%, transparent); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
  }
  .kairos-redesign #chat-progress-host,
  .kairos-redesign #rd-needs { display: none !important; }
  .kairos-redesign #view-content.ms-home { padding: 0; overflow-x: hidden; }
  .kairos-redesign .ms-home .dashboard-content { width: 100%; max-width: none; gap: 0; flex: 1; min-height: 0; }
  .kairos-redesign .ms-home .dashboard-content > :not(.ms-shell) { display: none; }
  .kairos-redesign .ms-home .dashboard-hero { min-height: 0; padding: 16px; }
  .kairos-redesign .ms-shell {
    --ms-page: 0; position: relative; isolation: isolate; display: flex; flex-direction: column;
    flex: 1; min-height: 0; width: 100%; overflow: hidden; box-sizing: border-box;
    /* Fills the page (html/body: --ms-page-height); the keyboard lift (mobileDock.js) lifts the composer. */
    padding-bottom: var(--ms-keyboard, 0px);
  }
  .kairos-redesign .ms-shell .ms-background { position: absolute; inset: 0; border-radius: 0; z-index: -1; opacity: .65; pointer-events: none; }
  .kairos-redesign .ms-shell .ms-background::after { background: linear-gradient(180deg, color-mix(in srgb, var(--rd-ground) 20%, transparent), color-mix(in srgb, var(--rd-ground) 75%, transparent)); }
  .kairos-redesign .ms-header { position: relative; z-index: 3; padding: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 6px) 16px 8px; }
  /* The top row holds the page's title or switch only; navigation is the sliding sidebar (mobile-sidebar.css). */
  .kairos-redesign .ms-header-row { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 8px; height: 44px; }
  .kairos-redesign .ms-settings { display: grid; place-items: center; padding: 0; width: 44px; height: 44px; }
  .kairos-redesign .ms-settings svg { width: 20px; height: 20px; }
  .kairos-redesign .ms-switch { justify-self: center; display: flex; position: relative; padding: 3px; height: 44px; width: 174px; }
  .kairos-redesign .ms-switch-thumb { position: absolute; inset: 3px auto 3px 3px; width: calc(50% - 3px); border-radius: inherit; background: var(--rd-surface-2); transform: translateX(calc(var(--ms-page) * 100%)); transition: transform 350ms cubic-bezier(.22, 1, .36, 1); }
  .kairos-redesign .ms-switch .ms-segment { position: relative; flex: 1; min-height: 44px; margin-block: -3px; padding: 0; border: 0; background: transparent; font-size: 15px; font-weight: 600; }
  .kairos-redesign .ms-context { margin: 2px 0 0; min-height: 22px; line-height: 22px; font-size: 12px; text-align: center; color: var(--rd-ink-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .kairos-redesign .ms-context select { max-width: 100%; min-height: 44px; border: 0; background: transparent; padding: 0 12px; font-size: 12px; color: var(--rd-ink-dim); text-align: center; }
  .kairos-redesign .ms-page-window { flex: 1; min-height: 0; overflow: hidden; }
  .kairos-redesign .ms-page-track { display: flex; width: 200%; height: 100%; transform: translateX(calc(var(--ms-page) * -50%)); transition: transform 350ms cubic-bezier(.22, 1, .36, 1); }
  .kairos-redesign .ms-dragging :is(.ms-page-track, .ms-switch-thumb) { transition: none; }
  .kairos-redesign .ms-page { position: relative; flex: 0 0 50%; min-width: 0; box-sizing: border-box; }
  .kairos-redesign .ms-launch { display: flex; flex-direction: column; }
  .kairos-redesign .ms-intro { flex: 1; min-height: 100px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 18px; padding: 0 24px 52px; text-align: center; }
  .kairos-redesign .ms-mark { width: 84px; height: 84px; opacity: .3; }
  .kairos-redesign .ms-mark svg { width: 100%; height: 100%; }
  .kairos-redesign .ms-intro h1 { margin: 0; font: 500 30px/1.1 var(--rd-font-title); }
  .kairos-redesign .ms-launch-bottom { position: relative; padding: 0 16px max(var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px)), 12px); }
  .kairos-redesign .ms-launch-composer { position: relative; display: flex; align-items: center; gap: 4px; padding: 5px; border-radius: 28px; }
  .kairos-redesign .ms-launch-composer button { border: 0; border-radius: 999px; background: transparent; padding: 0 10px; }
  .kairos-redesign .ms-launch-composer button:last-child { background: var(--rd-primary-bg); color: var(--rd-primary-fg); }
  .kairos-redesign .ms-launch-composer textarea { flex: 1; width: 0; resize: none; max-height: 160px; border: 0; background: transparent; padding: 11px 2px; line-height: 22px; font-size: 16px; box-shadow: none; }
  .kairos-redesign .ms-blur { position: absolute; left: 0; right: 0; pointer-events: none; z-index: -1; height: 140px; }
  .kairos-redesign .ms-blur-top { top: 0; }
  .kairos-redesign .ms-blur-bottom { bottom: 0; height: calc(100% + 40px); }
  .kairos-redesign .ms-blur i { position: absolute; inset: 0; backdrop-filter: blur(calc(1px + var(--step) * 1px)); -webkit-backdrop-filter: blur(calc(1px + var(--step) * 1px)); background: color-mix(in srgb, var(--rd-ground) 12%, transparent); mask-image: linear-gradient(to bottom, var(--rd-ink), transparent); }
  .kairos-redesign .ms-blur-top i { height: calc(100% - var(--step) * 12%); }
  .kairos-redesign .ms-blur-bottom i { top: calc(var(--step) * 12%); mask-image: linear-gradient(to top, var(--rd-ink), transparent); }
  .kairos-redesign .ms-history { display: flex; flex-direction: column; padding: 8px 16px max(var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px)), 12px); }
  .kairos-redesign .ms-history-list { flex: 1; min-height: 0; overflow-y: auto; padding-bottom: 16px; }
  .kairos-redesign .ms-history-row { position: relative; border-radius: 12px; overflow: hidden; border-bottom: 1px solid var(--rd-line); }
  .kairos-redesign .ms-history-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: calc(100% - 44px); gap: 6px; border: 0; border-radius: 12px; background: var(--rd-surface-solid); text-align: left; padding: 14px; transition: transform 240ms ease; }
  .kairos-redesign .ms-history-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; font-weight: 600; }
  .kairos-redesign .ms-history-main small { grid-column: 1 / -1; font-size: 13px; color: var(--rd-ink-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .kairos-redesign .ms-history-age { font-size: 13px; color: var(--rd-ink-dim); }
  .kairos-redesign .ms-row-more { position: absolute; right: 0; top: 0; height: 100%; border: 0; background: var(--rd-surface-solid); }
  .kairos-redesign .ms-row-actions { position: absolute; right: 0; inset-block: 0; display: flex; align-items: center; gap: 8px; visibility: hidden; }
  .kairos-redesign .ms-row-actions button { width: 60px; padding: 0 2px; font-size: 12px; }
  .kairos-redesign .ms-row-actions button:last-child { color: var(--danger); }
  .kairos-redesign .ms-actions-open .ms-history-main { width: 100%; transform: translateX(-136px); }
  .kairos-redesign .ms-actions-open .ms-row-more { display: none; }
  .kairos-redesign .ms-actions-open .ms-row-actions { visibility: visible; }
  .kairos-redesign .ms-history-search { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px; padding: 5px; border-radius: 26px; }
  .kairos-redesign .ms-history-search input { min-width: 0; width: 100%; height: 50px; padding-inline: 14px; border: 0; background: transparent; font-size: 16px; }
  .kairos-redesign .ms-history-search > button { border: 0; background: transparent; padding-inline: 12px; }
  .kairos-redesign .ms-history-filters { position: absolute; bottom: calc(100% + 8px); right: 0; padding: 8px; border-radius: 20px; display: flex; flex-direction: column; max-width: 100%; }
  .kairos-redesign .ms-history-filters select { max-width: 100%; padding: 0 8px; border: 0; background: transparent; font-size: 13px; }
  .kairos-redesign .ms-tab-sheet { position: fixed; inset: auto 0 calc(-1 * var(--ms-below-fold, 0px)); padding: 0; margin: 0; width: 100%; max-width: none; max-height: 85dvh; border: 1px solid var(--rd-line-strong); border-radius: 28px 28px 0 0; background: var(--rd-surface-solid); overflow: auto; box-sizing: border-box; }
  .kairos-redesign .ms-tab-sheet[open] { animation: ms-sheet-in 280ms cubic-bezier(.22, 1, .36, 1); }
  .kairos-redesign .ms-tab-sheet::backdrop { background: rgba(var(--shade-rgb), .4); }
  .kairos-redesign .ms-sheet-panel { padding: 0 max(20px, var(--mobile-safe-left, env(safe-area-inset-left, 0px))) max(20px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  .kairos-redesign .ms-sheet-grab { display: block; margin: 0 auto; width: 60px; border: 0; background: transparent; font-size: 0 !important; }
  .kairos-redesign .ms-sheet-grab::after { content: ''; display: block; width: 36px; height: 4px; border-radius: 999px; background: var(--rd-line-strong); margin: auto; }
  .kairos-redesign .ms-sheet-heading { margin: 0 0 20px; font: 500 30px var(--rd-font-title); }
  .kairos-redesign .ms-tab-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .kairos-redesign .ms-tab-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 86px !important; border-radius: 20px; padding: 10px 4px; font-size: 13px !important; overflow-wrap: anywhere; }
  .kairos-redesign .ms-tab-tile svg { width: 22px; height: 22px; }
  .kairos-redesign .ms-tab-tile[aria-current] { border-color: var(--rd-focus); background: var(--rd-surface-2); }
  .kairos-redesign .ms-tab-tile .nav-badge { position: absolute; right: 8px; top: 6px; }
  .kairos-redesign .ms-sheet-footer { margin-top: 20px; border-top: 1px solid var(--rd-line); }
  .kairos-redesign .ms-account-row { display: block; width: 100%; text-align: left; border: 0; border-bottom: 1px solid var(--rd-line); background: transparent; padding: 10px 4px; }
  .kairos-redesign .ms-account-row:disabled { opacity: .5; }
  .kairos-redesign .ms-activity { position: relative; margin-bottom: 10px; }
  .kairos-redesign .ms-activity-slot { max-height: 38dvh; overflow-y: auto; }
  .kairos-redesign .ms-activity-floating { position: fixed; z-index: 120; right: max(12px, var(--mobile-safe-right, env(safe-area-inset-right, 0px))); bottom: max(12px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); max-width: min(360px, calc(100vw - 24px)); max-height: 55dvh; overflow-y: auto; padding: 4px; }
  .kairos-redesign:has(.ms-conversation) .ms-activity-floating { top: calc(84px + var(--mobile-safe-top, env(safe-area-inset-top, 0px))); bottom: auto; }
  .kairos-redesign .ms-activity-floating > button { padding: 0 16px; }
  .kairos-redesign .ms-player { display: flex; align-items: center; padding: 5px; gap: 4px; min-height: 60px; }
  .kairos-redesign .ms-player button { border: 0; box-shadow: none; background: transparent; padding: 0 8px; font-size: 12px; }
  .kairos-redesign .ms-player-main { flex: 1; min-width: 0 !important; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .kairos-redesign .ms-launch:has(textarea:focus) .ms-intro { padding-bottom: 12px; }
  .kairos-redesign .ms-needs-you { border-color: var(--warn); background: color-mix(in srgb, var(--warn) 12%, var(--rd-surface-solid)); }
  .kairos-redesign .ms-spinner { display: inline-block; width: 12px; height: 12px; border: 1px solid var(--rd-line-strong); border-top-color: var(--rd-ink); border-radius: 50%; margin-right: 8px; animation: ms-spin 1.4s linear infinite; }
  .kairos-redesign .ms-mini-pills { display: flex; flex-direction: column; gap: 8px; max-height: 180px; overflow: auto; padding-top: 8px; }
  .kairos-redesign .ms-mini-row { display: flex; gap: 4px; min-height: 52px; }
  .kairos-redesign .ms-mini-row button:first-child { flex: 1; min-width: 0; padding: 8px 14px; text-align: left; }
  .kairos-redesign .ms-finished-deck { margin-bottom: 10px; }
  .kairos-redesign .ms-finished-deck > button { border: 0; background: transparent; padding: 0 12px; font-size: 12px; }
  .kairos-redesign .ms-finished-cards { position: relative; height: 62px; }
  .kairos-redesign .ms-finished-card { position: absolute; inset: auto 0 0; width: 100%; height: 48px; padding: 0 16px; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transform: translateY(calc(var(--deck-index) * -7px)) scale(calc(1 - var(--deck-index) * .05)); z-index: calc(3 - var(--deck-index)); }
  .kairos-redesign .ms-spread .ms-finished-cards { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; height: auto; max-height: 190px; overflow: auto; }
  .kairos-redesign .ms-spread .ms-finished-card { position: relative; inset: auto; transform: none; }
  .kairos-redesign .ms-put-away { background: transparent; border: 0; }
  .kairos-redesign .ms-conversation { animation: ms-chat-in 320ms cubic-bezier(.22, 1, .36, 1); }
  .kairos-redesign .ms-conversation .chat-mobile-header { position: relative; isolation: isolate; display: flex; gap: 8px; padding: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 6px) 12px 8px; min-height: 58px; }
  .kairos-redesign .ms-conversation #chat-history-toggle { display: none; }
  .kairos-redesign .ms-chat-back { flex: none; width: 44px; height: 44px; padding: 0; font-size: 28px; }
  .kairos-redesign .ms-chat-heading { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  .kairos-redesign .ms-chat-heading strong { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .ms-chat-heading small { color: var(--rd-ink-dim); font-size: 12px; }
  .kairos-redesign .ms-chat-capsule { position: relative; isolation: isolate; display: flex; flex: none; align-items: center; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .kairos-redesign .ms-chat-capsule::before { content: ''; position: absolute; inset: 0; border-radius: inherit; z-index: -1; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
  .kairos-redesign .ms-chat-capsule .chat-documents-toggle { display: none; }
  .kairos-redesign .ms-chat-capsule .input-icon-btn { min-width: 44px; height: 44px; padding: 0; border: 0; background: transparent; }
  .kairos-redesign .ms-conversation .chat-input-right .chat-header-model { min-width: 0; max-width: 160px; margin-right: auto; }
  .kairos-redesign .ms-conversation .chat-input-right .model-picker-menu { position: fixed; top: auto; bottom: calc(100px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px)) - var(--ms-below-fold, 0px)); }
  .kairos-redesign .ms-conversation .chat-phone-tools .overflow-menu { position: absolute; top: calc(100% + 8px); right: 0; max-height: calc(100dvh - 100px); max-width: calc(100vw - 24px); overflow-y: auto; }
  @keyframes ms-spin { to { transform: rotate(360deg); } }
  @keyframes ms-sheet-in { from { transform: translateY(100%); } }
  @keyframes ms-chat-in { from { transform: translateX(100%); } }
  @media (max-height: 560px) {
    .kairos-redesign .ms-intro { padding-bottom: 8px; gap: 8px; }
    .kairos-redesign .ms-mark { width: 48px; height: 48px; }
    .kairos-redesign .ms-intro h1 { font-size: 24px; }
    .kairos-redesign .ms-activity-slot { max-height: 24dvh; }
  }
  @media (prefers-reduced-motion: reduce) {
    .kairos-redesign :is(.ms-shell, .ms-activity, .ms-tab-sheet, .ms-conversation),
    .kairos-redesign :is(.ms-shell, .ms-activity, .ms-tab-sheet, .ms-conversation) * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  }
}

/* Shared interaction zone, composer and pushed pages. Desktop has no rules. */
@media (max-width: 768px) {
  .kairos-redesign :is(.ms-sheet, .ms-sheet-surface, .ms-git-dock, .ms-composer, .settings-mobile-page) [hidden] { display: none !important; }
  .kairos-redesign :is(.ms-sheet, .ms-git-dock, .ms-composer) { color: var(--rd-ink); font-family: var(--rd-font-ui); box-sizing: border-box; }
  .kairos-redesign :is(.ms-sheet, .ms-sheet-surface, .ms-git-dock, .ms-composer) :is(button, input:not([type=checkbox]):not([type=radio]), select, textarea, summary) { min-height: 44px; min-width: 44px; box-sizing: border-box; font: inherit; }
  .kairos-redesign :is(.ms-sheet, .ms-sheet-surface, .ms-git-dock, .ms-composer) :focus-visible { outline: 2px solid var(--rd-focus); outline-offset: 2px; }
  /* Forge: the pill clears the session composer and the sticky Git action pill, and steps aside while drafting. */
  .kairos-redesign:is(:has(.forge-transcript-composer), :has(.ms-git-dock)) .ms-activity-floating { bottom: calc(max(12px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))) + 74px); }
  .kairos-redesign:has(.forge-transcript-composer.ms-composer-expanded) .ms-activity-floating { display: none; }
  .kairos-redesign .ms-filtered-out { display: none !important; }
  /* A checkbox row inside a phone sheet is a full 44px target. */
  .kairos-redesign .ms-sheet-surface :is(label.cal-checkbox-label, label:has(> input[type=checkbox])), .kairos-redesign .ms-sheet :is(label:has(> input[type=checkbox])) { display: flex; align-items: center; gap: 10px; min-height: 44px; }
  .kairos-redesign[data-view=agents] .ms-activity-floating { top: calc(64px + var(--mobile-safe-top, env(safe-area-inset-top, 0px))); bottom: auto; }
  .kairos-redesign .ms-git-dock { position: sticky; bottom: calc(var(--ms-keyboard, 0px) + max(12px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px)))); display: flex; justify-content: center; gap: 4px; padding: 3px; margin-top: 16px; z-index: 2; }
  .kairos-redesign .ms-git-dock > button { border: 0; background: transparent; box-shadow: none; padding-inline: 12px; flex: 1; }

  .kairos-redesign .ms-sheet { position: fixed; inset: auto 0 0; width: 100%; max-width: 100%; max-height: calc(var(--ms-sheet-height, 100dvh) - var(--mobile-safe-top, env(safe-area-inset-top, 0px))); bottom: calc(var(--ms-keyboard, 0px) - var(--ms-below-fold, 0px)); margin: 0; padding: 0; color: var(--rd-ink); border: 1px solid var(--rd-line-strong); border-radius: 26px 26px 0 0; background: var(--rd-surface-solid); box-shadow: var(--rd-shadow); }
  .kairos-redesign .ms-sheet[open] { display: flex; flex-direction: column; }
  .kairos-redesign .ms-sheet-full { height: calc(var(--ms-sheet-height, 100dvh) - var(--mobile-safe-top, env(safe-area-inset-top, 0px))); }
  .kairos-redesign .ms-sheet::backdrop { background: rgba(var(--shade-rgb), .38); }
  .kairos-redesign .ms-sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px 8px; border-bottom: 1px solid var(--rd-line); }
  .kairos-redesign .ms-sheet-header h2 { font: 500 26px/1.2 var(--rd-font-title); margin: 0; }
  .kairos-redesign .ms-sheet-header button { padding-inline: 14px; }
  .kairos-redesign .ms-sheet-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px 16px calc(20px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  .kairos-redesign .ms-sheet-grabber { display: block; width: 64px; height: 44px; min-height: 44px; margin: 0 auto; border: 0; border-radius: 0; padding: 0; background: transparent; position: relative; touch-action: none; flex-shrink: 0; }
  .kairos-redesign .ms-sheet-grabber::after { content: ''; position: absolute; width: 36px; height: 4px; border-radius: 4px; background: var(--rd-ink-faint); left: 14px; top: 16px; }
  .kairos-redesign .modal-panel.ms-sheet-surface { width: 100%; max-width: 100%; max-height: calc(100dvh - var(--mobile-safe-top, env(safe-area-inset-top, 0px))); margin: auto 0 0; border-radius: 26px 26px 0 0; padding-top: 0; padding-bottom: calc(16px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  .kairos-redesign .modal-backdrop:has(> .ms-sheet-surface) { padding: var(--mobile-safe-top, env(safe-area-inset-top, 0px)) 0 0; align-items: flex-end; }
  .kairos-redesign .ms-sheet .ms-model-menu { display: block !important; position: static !important; inset: auto !important; max-width: none !important; width: 100% !important; max-height: none !important; overflow: visible; margin: 16px 0 0; border: 0; box-shadow: none; background: transparent; padding: 0; }
  .kairos-redesign .ms-sheet .ms-model-menu.hidden { display: none !important; }
  .kairos-redesign .ms-model-menu :is(.model-version-search, .model-effort-row, .model-picker-heading:first-child) { display: none; }
  .kairos-redesign .ms-model-root > input { width: 100%; font-size: 16px; margin-bottom: 8px; }
  .kairos-redesign .ms-model-root > button, .kairos-redesign .ms-model-options > button { width: 100%; border-radius: 16px; text-align: left; padding-inline: 14px; }
  .kairos-redesign .ms-model-menu .model-picker-item { min-height: 52px; border-radius: 14px; white-space: normal; }
  .kairos-redesign .ms-model-menu .model-picker-item.active::after { content: '✓'; margin-left: auto; color: var(--rd-ink); }
  .kairos-redesign .ms-provider-heading { font: 500 14px var(--rd-font-ui); color: var(--rd-ink-dim); margin: 20px 4px 8px; }
  .kairos-redesign .ms-default-badge { border: 1px solid var(--rd-line); border-radius: 999px; padding: 4px 8px; margin-left: 8px; font-size: 12px; }
  .kairos-redesign .ms-account-card { background: var(--rd-surface-2); border: 1px solid var(--rd-line); border-radius: 22px; margin-top: 16px; padding: 16px; }
  .kairos-redesign .ms-account-card h3 { margin: 0 0 12px; }
  .kairos-redesign .ms-account-provider + .ms-account-provider { margin-top: 16px; border-top: 1px solid var(--rd-line); padding-top: 16px; }
  .kairos-redesign .ms-account-provider p { font-size: 14px; color: var(--rd-ink-dim); }
  .kairos-redesign .ms-quota { display: grid; gap: 6px; margin-top: 10px; font-size: 13px; }
  .kairos-redesign .ms-quota progress { width: 100%; height: 8px; accent-color: var(--point); }
  .kairos-redesign .ms-quota[data-tone=warning] progress { accent-color: var(--warn); }
  .kairos-redesign .ms-quota[data-tone=danger] progress { accent-color: var(--danger); }
  .kairos-redesign .ms-quota small { color: var(--rd-ink-dim); }
  .kairos-redesign .ms-model-options { animation: ms-chat-in 280ms ease-out; }
  .kairos-redesign .ms-model-options label { display: block; margin-top: 20px; }
  .kairos-redesign .ms-model-options input[type=range] { display: block; width: 100%; accent-color: var(--point); }
  .kairos-redesign .ms-model-options .composer-menu-options { display: flex; flex-direction: column; gap: 12px; }
  .kairos-redesign .ms-phone-model-controls { display: none; }
  .kairos-redesign .ms-embedded-model-trigger { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  .kairos-redesign .ms-composer { position: relative; min-height: 50px; margin-inline: 8px; padding: 2px 54px; border: 1px solid var(--rd-line-strong); border-radius: 25px; background: var(--rd-surface-solid); box-shadow: var(--rd-shadow); transition: border-radius 280ms ease-out, margin 280ms ease-out, padding 280ms ease-out; }
  .kairos-redesign .chat-input-bar.ms-composer, .kairos-redesign .forge-transcript-composer.ms-composer { display: block; }
  .kairos-redesign .ms-composer .ms-composer-context { display: block; padding: 0 12px; max-height: 0; opacity: 0; font-size: 12px; color: var(--rd-ink-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: max-height 280ms ease-out, padding 280ms ease-out, opacity 280ms ease-out; }
  .kairos-redesign .ms-composer textarea { min-height: 44px; max-height: 160px; resize: none; overflow-y: auto; font-size: 16px; width: 100%; border: 0; background: transparent; padding: 10px 4px; box-shadow: none; transition: height 280ms ease-out; }
  .kairos-redesign .ms-composer .chat-input-top { display: block; padding: 0; min-width: 0; }
  .kairos-redesign .ms-composer:not(.ms-composer-expanded) :is(.chat-input-bottom, .chat-input-left, .chat-input-right) { display: contents; }
  .kairos-redesign .ms-composer:not(.ms-composer-expanded) .overflow-wrapper:has(#overflow-plus-btn) { position: absolute; left: 3px; bottom: 3px; }
  .kairos-redesign .ms-composer:not(.ms-composer-expanded) #chat-mic { position: absolute; right: 3px; bottom: 3px; }
  .kairos-redesign .ms-composer:not(.ms-composer-expanded) :is(#chat-send, .chat-header-model, #workspace-pill-slot, .attach-strip, .forge-composer-context, .forge-composer-chips) { display: none; }
  .kairos-redesign .ms-composer.ms-composer-expanded { border-radius: 24px; margin-inline: 0; padding: 4px 8px 6px; }
  .kairos-redesign .ms-composer-expanded .ms-composer-context { max-height: 44px; opacity: 1; padding-block: 8px; }
  .kairos-redesign .ms-composer-expanded textarea { min-height: 64px; padding: 10px 12px; }
  .kairos-redesign .ms-composer-expanded .chat-input-bottom { display: flex; align-items: center; gap: 4px; padding: 2px 0 0; }
  .kairos-redesign .ms-composer-expanded .chat-input-left { display: flex; align-items: center; flex: 0 0 auto; }
  .kairos-redesign .ms-composer-expanded .chat-input-right { display: flex; flex: 1; min-width: 0; align-items: center; gap: 2px; }
  .kairos-redesign .ms-composer-expanded .chat-header-model { flex: 1; max-width: none; margin: 0 auto 0 0; }
  .kairos-redesign .ms-composer-expanded .ms-composer-context { display: flex; align-items: center; gap: 8px; max-height: 60px; }
  .kairos-redesign .ms-composer-expanded .ms-composer-context > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .ms-composer-expanded #workspace-pill-slot { display: block; min-width: 0; max-width: 90px; overflow: hidden; }
  .kairos-redesign .ms-composer-expanded #workspace-pill-slot:empty { display: none; }
  .kairos-redesign .ms-composer .attach-strip { margin: 0; padding: 0 8px; overflow-x: auto; }
  .kairos-redesign .ms-composer .chat-reference-chips { padding-inline: 10px; }
  .kairos-redesign .ms-composer .overflow-menu { max-height: min(55dvh, 420px); overflow-y: auto; max-width: calc(100vw - 24px); }
  .kairos-redesign .ms-conversation:not(.ms-launch-chat) .chat-composer-dock { padding-bottom: max(8px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  .kairos-redesign .ms-conversation:not(.ms-launch-chat) .ms-composer { transform: translateY(calc(-1 * var(--ms-keyboard, 0px))); }
  .kairos-redesign .ms-composer.ms-dictating .chat-input-bottom { display: none; }
  .kairos-redesign .ms-composer.ms-dictating .forge-transcript-footer { display: none; }
  .kairos-redesign .ms-voice-row { display: flex; align-items: center; gap: 8px; }
  .kairos-redesign .ms-voice-row button { background: transparent; border: 0; box-shadow: none; padding-inline: 10px; }
  .kairos-redesign .ms-voice-wave { display: flex; flex: 1; gap: 3px; height: 32px; align-items: center; justify-content: center; }
  .kairos-redesign .ms-voice-wave i { width: 3px; border-radius: 3px; background: var(--point); height: calc(5px + var(--ms-level, .15) * 24px); }
  .kairos-redesign .ms-voice-wave i:nth-child(2n) { height: calc(8px + var(--ms-level, .15) * 12px); }
  .kairos-redesign .ms-voice-timer { font-size: 13px; font-variant-numeric: tabular-nums; }
  .kairos-redesign .forge-transcript-composer.ms-composer { padding-inline: 8px; padding-bottom: 4px; transform: translateY(calc(-1 * var(--ms-keyboard, 0px))); }
  .kairos-redesign .forge-transcript-composer.ms-composer:not(.ms-composer-expanded) { padding-inline: 54px; }
  .kairos-redesign .forge-transcript-composer.ms-composer:not(.ms-composer-expanded) .forge-transcript-footer { position: absolute; inset: 3px; pointer-events: none; display: flex; justify-content: space-between; }
  .kairos-redesign .forge-transcript-composer.ms-composer:not(.ms-composer-expanded) .forge-transcript-footer > button { pointer-events: auto; }
  .kairos-redesign .forge-transcript-composer.ms-composer:not(.ms-composer-expanded) :is(.forge-send, .forge-queue-button) { display: none; }
  .kairos-redesign .forge-transcript-composer.ms-composer-expanded .forge-transcript-footer { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
  .kairos-redesign .forge-transcript-composer.ms-composer-expanded .forge-composer-chips { flex: 1; min-width: 0; }
  .kairos-redesign .forge-composer-chips > .custom-select, .kairos-redesign .forge-composer-chips .session-chat-tools > :not(.ms-embedded-model-trigger):not(.model-picker-menu) { display: none; }
  .kairos-redesign :is(.ms-forge-add, .ms-forge-mic) { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: none; color: var(--rd-ink); font-size: 24px; line-height: 1; cursor: pointer; }
  .kairos-redesign :is(.ms-forge-add, .ms-forge-mic):hover { background: var(--rd-surface-2); }
  .kairos-redesign .ms-forge-mic.recording { color: var(--point); }
  .kairos-redesign .forge-composer.ms-composer .chat-input-left { display: none; }
  /* Forge Home composer: fit its column, a clean 50px pill at rest, + / model / mic in one row when open. */
  .kairos-redesign .forge-composer.ms-composer { width: auto; max-width: 100%; box-sizing: border-box; margin-inline: 0; }
  .kairos-redesign .forge-composer.ms-composer:not(.ms-composer-expanded) { padding: 2px 54px; }
  .kairos-redesign .forge-composer.ms-composer:not(.ms-composer-expanded) .ms-embedded-model-trigger { display: none; }
  .kairos-redesign .forge-composer.ms-composer.ms-composer-expanded .chat-input-bottom { display: flex; align-items: center; gap: 4px; }
  .kairos-redesign .forge-composer.ms-composer.ms-composer-expanded :is(.ms-forge-add, .ms-forge-mic) { position: static; flex: 0 0 44px; }
  .kairos-redesign .forge-composer.ms-composer.ms-composer-expanded .ms-embedded-model-trigger { flex: 1; min-width: 0; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .kairos-redesign .forge-composer.ms-composer:not(.ms-composer-expanded) > .chat-input-bottom > .ms-forge-add { position: absolute; left: 3px; bottom: 3px; }
  .kairos-redesign .forge-composer.ms-composer:not(.ms-composer-expanded) :is(.chat-input-left, .model-pill, .forge-composer-send) { display: none; }
  .kairos-redesign .forge-composer.ms-composer:not(.ms-composer-expanded) .ms-forge-mic { position: absolute; right: 3px; bottom: 3px; }
  .kairos-redesign .ms-composer.ms-dictating .chat-input-bottom { display: none !important; }
  .kairos-redesign .ms-composer-expanded .forge-composer-context { display: none; }
  .kairos-redesign .ms-launch-chat { display: block; width: 100%; height: auto; min-height: 0; padding: 0; animation: none; }
  .kairos-redesign .ms-launch-context { border: 0; background: transparent; color: var(--rd-ink-dim); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; padding: 0 12px; }
  .kairos-redesign .ms-launch-chat:not(.ms-launch-chat-open) > :not(#chat-main) { display: none !important; }
  .kairos-redesign .ms-launch-chat:not(.ms-launch-chat-open) #chat-main { display: block; padding: 0; overflow: visible; }
  .kairos-redesign .ms-launch-chat:not(.ms-launch-chat-open) #chat-main > :not(.chat-composer-dock) { display: none !important; }
  .kairos-redesign .ms-launch-chat:not(.ms-launch-chat-open) .chat-composer-dock { position: relative; inset: auto; transform: none; width: 100%; margin: 0; padding: 0; }
  .kairos-redesign .ms-live-chat > .ms-header, .kairos-redesign .ms-live-chat .ms-intro, .kairos-redesign .ms-live-chat .ms-activity-slot { display: none; }
  .kairos-redesign .ms-live-chat .ms-launch-bottom { display: flex; flex-direction: column; flex: 1; min-height: 0; padding: 0; }
  .kairos-redesign .ms-live-chat .ms-launch-chat-open { flex: 1; height: 100%; min-height: 0; }
  .kairos-redesign .ms-live-chat .ms-launch-chat-open #chat-main { min-height: 0; height: 100%; }

  .kairos-redesign .settings-mobile-page .settings-nav { background: var(--rd-ground); padding: 16px; }
  .kairos-redesign .settings-mobile-page .settings-nav-block, .kairos-redesign .settings-mobile-page .set-group { border: 1px solid var(--rd-line); border-radius: 22px; background: var(--rd-surface-solid); overflow: hidden; }
  .kairos-redesign .settings-mobile-page .settings-nav-item { min-height: 52px; border: 0; border-radius: 0; padding: 8px 16px; color: var(--rd-ink); position: relative; }
  .kairos-redesign .settings-mobile-page .settings-nav-item + .settings-nav-item { border-top: 0; }
  .kairos-redesign .settings-mobile-page .settings-nav-item + .settings-nav-item::before { content: ''; position: absolute; top: 0; left: 52px; right: 16px; height: 1px; background: var(--rd-line); }
  .kairos-redesign .settings-mobile-page .set-row { min-height: 52px; padding: 12px 16px; border: 0; position: relative; }
  .kairos-redesign .settings-mobile-page .set-row + .set-row::before { content: ''; position: absolute; top: 0; left: 16px; right: 16px; height: 1px; background: var(--rd-line); }
  .kairos-redesign .settings-mobile-page .settings-mobile-back { min-width: 44px; min-height: 44px; }
  .kairos-redesign .settings-mobile-page :is(.settings-search, .set-row-control .btn, .set-header-actions .btn) { min-height: 44px; }
  /* Every control a Settings page draws is a 44px target; the switches already extend theirs (redesign-settings.css). */
  .kairos-redesign .settings-mobile-page .set-page :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select) { min-height: 44px; box-sizing: border-box; }
  .kairos-redesign .settings-mobile-page .set-page input[type=color] { min-width: 44px; }
  .kairos-redesign .settings-mobile-page .set-page .layout-move { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .kairos-redesign .settings-mobile-page .set-page :is(a.set-link, .appearance-effect-credit a) { display: inline-flex; align-items: center; min-height: 44px; }
  .kairos-redesign .settings-mobile-page[data-mobile-view=page] .set-page { animation: ms-chat-in 280ms ease-out; padding-bottom: calc(56px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .kairos-redesign .ms-composer { background: color-mix(in srgb, var(--rd-surface-solid) 86%, transparent); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
  }
  @media (prefers-reduced-motion: reduce) {
    .kairos-redesign :is(.ms-git-dock, .ms-sheet, .ms-sheet-surface, .ms-composer, .settings-mobile-page),
    .kairos-redesign :is(.ms-git-dock, .ms-sheet, .ms-sheet-surface, .ms-composer, .settings-mobile-page) * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  }
}

/* Verified polish: history list, filter popup, sheet grabber, deck chips. */
@media (max-width: 768px) {
  .kairos-redesign .ms-shell:has(#ms-tab-1[aria-selected=true]) .ms-context { visibility: hidden; }
  .kairos-redesign .ms-history-list { padding-bottom: 12px; scrollbar-width: none; }
  .kairos-redesign .ms-history-row { border-radius: 0; border: 1px solid var(--rd-line-strong); border-bottom-width: 0; background: var(--rd-surface-solid); box-shadow: none; }
  .kairos-redesign .ms-history-row:first-child { border-radius: 22px 22px 0 0; }
  .kairos-redesign .ms-history-row:last-child { border-radius: 0 0 22px 22px; border-bottom-width: 1px; }
  .kairos-redesign .ms-history-row:only-child { border-radius: 22px; }
  .kairos-redesign .ms-history-row + .ms-history-row::before { content: ''; position: absolute; z-index: 1; top: 0; left: 16px; right: 16px; height: 1px; background: var(--rd-line); pointer-events: none; }
  .kairos-redesign .ms-history-main { width: 100%; border-radius: 0; background: var(--rd-surface-solid); padding: 14px 52px 14px 16px; min-height: 68px; }
  .kairos-redesign .ms-row-more { right: 4px; top: 50%; height: 44px; width: 44px; border-radius: 999px; background: transparent; transform: translateY(-50%); color: var(--rd-ink-dim); font-size: 18px; letter-spacing: 1px; }
  .kairos-redesign .ms-history-row p, .kairos-redesign .ms-history-list > p { margin: 24px 16px; text-align: center; color: var(--rd-ink-dim); }
  .kairos-redesign .ms-history-filters { gap: 4px; min-width: 190px; }
  .kairos-redesign .ms-history-filters select { appearance: none; -webkit-appearance: none; border-radius: 14px; background: var(--rd-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23888' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center; padding: 0 34px 0 14px; font-size: 14px; border: 1px solid var(--rd-line); }
  .kairos-redesign .ms-tab-sheet .ms-sheet-grab { border-radius: 22px; }
  .kairos-redesign .ms-finished-deck > button { background: color-mix(in srgb, var(--rd-surface-solid) 70%, transparent); border: 1px solid var(--rd-line); border-radius: 999px; margin: 0 6px 6px 0; padding: 0 14px; }
  .kairos-redesign:is(:has(.overflow-menu:not(.hidden)), :has(.artifact-panel), :has(.panel-dialog), :has(dialog[open])) .ms-activity-floating { display: none; }
  .kairos-redesign .ms-quota progress { appearance: none; -webkit-appearance: none; border: 0; border-radius: 999px; overflow: hidden; background: var(--rd-line); color: var(--point); }
  .kairos-redesign .ms-quota progress::-webkit-progress-bar { background: var(--rd-line); border-radius: 999px; }
  .kairos-redesign .ms-quota progress::-webkit-progress-value { background: var(--point); border-radius: 999px; }
  .kairos-redesign .ms-quota[data-tone=warning] progress::-webkit-progress-value { background: var(--warn); }
  .kairos-redesign .ms-quota[data-tone=danger] progress::-webkit-progress-value { background: var(--danger); }
  .kairos-redesign .ms-conversation:not(.ms-launch-chat) .chat-composer-dock { padding-bottom: max(12px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  .kairos-redesign:is(.mobile-menu-open, :has(#chat-sessions.open)) .ms-activity-floating { display: none; }
  .kairos-redesign:has(.settings-mobile-page) .ms-activity-floating { display: none; }
  .kairos-redesign .ms-account-card { padding: 0; margin-top: 12px; }
  .kairos-redesign .ms-account-card > summary { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 16px; cursor: pointer; list-style: none; }
  .kairos-redesign .ms-account-card > summary::-webkit-details-marker { display: none; }
  .kairos-redesign .ms-account-card > summary::after { content: ''; flex: none; width: 8px; height: 8px; margin-left: 4px; border: solid var(--rd-ink-dim); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg) translateY(-2px); transition: transform 200ms ease; }
  .kairos-redesign .ms-account-card[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
  .kairos-redesign .ms-account-brief { margin-left: auto; font-size: 13px; color: var(--rd-ink-dim); text-align: right; }
  .kairos-redesign .ms-account-card[data-tone=warning] .ms-account-brief { color: var(--warn); }
  .kairos-redesign .ms-account-card[data-tone=danger] .ms-account-brief { color: var(--danger); }
  .kairos-redesign .ms-account-body { padding: 0 16px 16px; }
  .kairos-redesign[data-view=agents] .ms-activity-floating { top: calc(112px + var(--mobile-safe-top, env(safe-area-inset-top, 0px))); }
  .kairos-redesign .ms-activity-floating { display: none !important; }
  .kairos-redesign .ms-sheet-activity { margin-top: 20px; }
  .kairos-redesign .ms-sheet-activity h3 { margin: 0 0 8px; font: 600 13px var(--rd-font-ui); color: var(--rd-ink-dim); text-transform: uppercase; letter-spacing: .06em; }
  .kairos-redesign .ms-sheet-activity-row { display: flex; gap: 8px; margin-bottom: 8px; border: 1px solid var(--rd-line-strong); border-radius: 22px; background: var(--rd-surface-solid); }
  .kairos-redesign .ms-sheet-activity-row.ms-needs-you { border-color: var(--warn); }
  .kairos-redesign .ms-sheet-activity-row button { border: 0; background: transparent; min-height: 48px; }
  .kairos-redesign .ms-sheet-activity-main { flex: 1; min-width: 0; text-align: left; padding: 0 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .kairos-redesign .ms-sheet-activity-stop { padding: 0 16px; }
  .kairos-redesign .ms-chat-back > .ms-avatar-badge { position: absolute; top: -2px; right: -4px; font-size: 10px; line-height: 1; padding: 3px 5px; border-radius: 999px; background: var(--rd-ink); color: var(--rd-ground); pointer-events: none; }
  .kairos-redesign .ms-chat-back { position: relative; }
  /* A transform on the conversation would re-anchor fixed panels (artifact pane) for 320ms: reveal with a clip instead. */
  .kairos-redesign .ms-conversation { animation: ms-chat-reveal 320ms cubic-bezier(.22, 1, .36, 1); }
  @keyframes ms-chat-reveal { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0); } }
}
@media (max-width: 768px) {
  /* The Forge "+" matches the chat composer "+": the same tinted circle. */
  .kairos-redesign .ms-forge-add { background: var(--accent-dim); color: var(--accent); border: 1px solid var(--hairline-soft); }
  .kairos-redesign .ms-tab-sheet:focus { outline: none; }
}

/* Follow-up phone chrome: the frost begins at screen y=0, including the safe area.
   A single light, untinted layer avoids compounded blur and colored bands. */
@media (max-width: 768px) {
  .kairos-redesign #sidebar { display: none !important; }
  .kairos-redesign .ms-global-frost {
    position: fixed; top: 0; left: 0; right: 0; height: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 88px);
    z-index: 54; background: transparent;
  }
  .kairos-redesign .ms-blur-top i {
    height: 100%; background: transparent; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    mask-image: linear-gradient(to bottom, var(--rd-ink) 0%, color-mix(in srgb, var(--rd-ink) 65%, transparent) 45%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, var(--rd-ink) 0%, transparent 100%);
  }
  .kairos-redesign .ms-blur-top i:not(:first-child) { display: none; }
  .kairos-redesign .ms-blur-top { height: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 88px); }
  .kairos-redesign:has(.ms-shell:not([hidden])) .ms-global-frost,
  .kairos-redesign:has(.ms-conversation:not(.ms-launch-chat)) .ms-global-frost { visibility: hidden; }
  .kairos-redesign .ms-conversation #chat-main { padding-top: 0; }
  .kairos-redesign .dashboard:not(.ms-home) { padding-inline: 16px; }
  .kairos-redesign .dashboard:not(.ms-home) .dashboard-hero { min-height: 360px; padding: 20px; }
  .kairos-redesign .dashboard .hm-customize { min-height: 44px; min-width: 44px; }
  .kairos-redesign .dashboard-actions { flex-wrap: wrap; }
  .kairos-redesign .dashboard :is(button.dashboard-row, .dashboard-section-header .btn) { min-height: 44px; }
  /* 2026-10-21 (David): a page's content starts below the top row, and its
     title sits on that row (see "Page title" at the end of this file). */
  .kairos-redesign #view-content.view:not(.chat-layout):not(.settings-mobile-page):not(.ms-home) {
    position: relative; padding-top: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 62px);
  }
  .kairos-redesign .view:not(.chat-layout) .view-header:first-child > div > h2 { padding-left: 0; }
  .kairos-redesign .dashboard-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .kairos-redesign .dashboard-grid > * { grid-column: 1 / -1 !important; min-width: 0; }
  .kairos-redesign .ms-tab-group { margin-bottom: 20px; }
  .kairos-redesign .ms-group-label { margin: 16px 0 10px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--rd-ink-dim); }
  .kairos-redesign .ms-composer textarea { display: block; margin: 0; box-sizing: border-box; line-height: 24px; padding-block: 10px; }
  .kairos-redesign .ms-composer :is(.input-icon-btn, #chat-mic, #overflow-plus-btn, .ms-forge-add, .ms-forge-mic) {
    display: inline-grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 0; line-height: 1; flex-shrink: 0;
  }
  .kairos-redesign .ms-composer:not(.ms-composer-expanded) :is(.overflow-wrapper:has(#overflow-plus-btn), #chat-mic),
  .kairos-redesign .forge-composer.ms-composer:not(.ms-composer-expanded) :is(.ms-forge-add, .ms-forge-mic) {
    top: 50%; bottom: auto; transform: translateY(-50%);
  }
  .kairos-redesign .forge-transcript-composer.ms-composer:not(.ms-composer-expanded) .forge-transcript-footer {
    top: 0; bottom: 0; align-items: center; padding: 0;
  }
  .kairos-redesign .forge-transcript-composer.ms-composer .forge-transcript-footer :is(.ms-forge-add, .ms-forge-mic) { position: static; top: auto; bottom: auto; transform: none; }
  .kairos-redesign .forge-transcript-composer.ms-composer:not(.ms-composer-expanded) { padding-block: 2px; }
  /* The shared control reset (font: inherit) outranks one-class rules, so the line box is pinned here. */
  .kairos-redesign .ms-composer.ms-composer.ms-composer textarea,
  .kairos-redesign .ms-composer #chat-input { line-height: 24px; font-size: 16px; padding-block: 10px; }
  .kairos-redesign .ms-composer-expanded :is(.chat-input-bottom, .forge-transcript-footer, .chat-input-left, .chat-input-right) { align-items: center; }
}

@media (max-width: 768px) {
  html.kairos-redesign::after { display: none; }
  .kairos-redesign .ms-header, .kairos-redesign .ms-conversation .chat-mobile-header,
  .kairos-redesign .settings-mobile-page .settings-titlebar { z-index: 55; }
}

@media (max-width: 768px) {
  .kairos-redesign .ms-sheet-projects .ms-account-row { width: auto; flex: 0 0 auto; padding-inline: 12px; }
  .kairos-redesign .ms-sheet-projects > .ms-account-row { width: 100%; }
}

/* Tool Store keeps its own sticky header; its title row sits under the safe area. */
@media (max-width: 768px) {
  /* The search and filter card starts below the header row and scrolls with the page (2026-10-21: it ran off the top). */
  .kairos-redesign .tool-store-view .tool-store-top { position: static; top: auto; margin: 0; padding: 6px 12px 6px; border: 1px solid var(--rd-line); border-radius: 20px; z-index: auto; -webkit-backdrop-filter: none; backdrop-filter: none; }
  /* The title moves to the top row, so "+" joins the search on the card's first row. */
  .kairos-redesign .tool-store-view .tool-store-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 8px; }
  .kairos-redesign .tool-store-view .tool-store-top :is(.view-header, .view-header > div:first-child) { display: contents; }
  .kairos-redesign .tool-store-view .tool-store-top .ts-plus { grid-column: 2; grid-row: 1; }
  .kairos-redesign .tool-store-view .tool-store-top .tool-store-toolbar { display: contents; }
  .kairos-redesign .tool-store-view .tool-store-top .tool-store-search { grid-column: 1; grid-row: 1; }
  .kairos-redesign .tool-store-view .tool-store-top :is(.tool-store-toolbar > :not(.tool-store-search), > :not(.view-header):not(.tool-store-toolbar)) { grid-column: 1 / -1; }
}

/* Forge session: the page already clears the safe area, so the panes do not add it a second time. */
@media (max-width: 768px) {
  .kairos-redesign .forge-shell-view #chat-main.forge-panes { padding-top: 0; }
}

/* 2026-10-21 (David, on-device): edge to edge on iPhone.
   Top: one light frost that covers only the status bar area and fades out just
   below it, replacing the older tinted html::after strip and the 88px band.
   Bottom: the page height is --ms-page-height (style.css), see the end of this file. */
@media (max-width: 768px) {
  .kairos-redesign::after { display: none; }
  /* The frost lives only in the status bar area and is clear by its bottom
     edge, so the titles and header controls below it stay sharp. */
  .kairos-redesign .ms-global-frost,
  .kairos-redesign .ms-blur-top { height: max(0px, calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) - var(--ms-ios-nudge, 0px))); }
  /* 2026-10-21 (David): lighter and higher still: 1px, clear by about the
     clock's baseline (60% of the safe area). */
  .kairos-redesign .ms-blur-top i {
    height: 100%; background: transparent;
    backdrop-filter: blur(1px); -webkit-backdrop-filter: blur(1px);
    mask-image: linear-gradient(to bottom, var(--rd-ink) 0%, transparent 60%);
    -webkit-mask-image: linear-gradient(to bottom, var(--rd-ink) 0%, transparent 60%);
  }
  .kairos-redesign .ms-global-frost { z-index: 54; }
}

/* 2026-10-21: the page is --ms-page-height tall (style.css). Where that is
   taller than the layout viewport (an iOS home-screen app), position:fixed
   still measures from the short viewport, so every full-screen or
   bottom-anchored fixed surface drops by --ms-below-fold to reach the true
   bottom. The value is 0 everywhere else, so this is a no-op there. */
@media (max-width: 768px) {
  :is(.modal-backdrop, .mobile-backdrop, .chat-sessions-backdrop, #chat-sessions, #sidebar, .chat-summary-backdrop,
    .palette-backdrop, .onboarding-overlay, .screen-capture-dialog, .chat-image-preview, .agent-profile-backdrop,
    .agent-profile-sheet, .agent-item-sheet, .agents-rail-scrim, .hm-sheet-root, .rd-flyout-scrim, .ts-sheet-backdrop,
    .artifact-panel, .agent-conversations-home.is-open) { bottom: calc(-1 * var(--ms-below-fold, 0px)) !important; }
  .app-background { height: calc(100% + var(--ms-below-fold, 0px)); }
  dialog::backdrop { bottom: calc(-1 * var(--ms-below-fold, 0px)); }
}

/* Forge phone workspace: project pager, conversation push and single tool pages.
   Desktop Forge is owned entirely by redesign-forge.css. */
@media (max-width: 768px) {
  .kairos-redesign #view-content:has(.mf-home),
  .kairos-redesign #view-content:has(.mf-session),
  .kairos-redesign #view-content.view:has(.mf-home):not(.chat-layout):not(.settings-mobile-page):not(.ms-home),
  .kairos-redesign #view-content.view:has(.mf-session):not(.chat-layout):not(.settings-mobile-page):not(.ms-home) { padding: 0; overflow: hidden; }
  .kairos-redesign .forge-home.mf-home { width: 100%; max-width: none; margin: 0; padding: 0; height: 100%; }
  .kairos-redesign .mf-home > :not(.mf-project, .mf-dashboard) { display: none; }
  .kairos-redesign .mf-project { height: 100%; min-height: 0; }
  .kairos-redesign .mf-project .ms-header-row { grid-template-columns: 64px minmax(0, 1fr) 64px; }
  .kairos-redesign .mf-project .ms-switch { grid-column: 2; width: min(174px, 100%); }
  .kairos-redesign .mf-project-trigger { padding: 0 8px; font-size: 12px !important; }
  .kairos-redesign .mf-workspace-line { display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%; padding: 0 8px; border: 0; background: transparent; font-size: 12px !important; color: var(--rd-ink-dim); }
  .kairos-redesign .mf-workspace-line > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  /* The washed picture behind the Chats launch, over the page sky (redesign-forge.css shows it on Forge Home). */
  .kairos-redesign :is(.mf-project, .mf-dashboard) .forge-banner.ms-background { display: block; inset: 0; opacity: .65; }
  .kairos-redesign .mf-project .ms-intro { padding-bottom: 24px; gap: 12px; min-height: 0; }
  .kairos-redesign .mf-project .ms-intro h1 { font-size: clamp(24px, 6vw, 30px); }
  .kairos-redesign .mf-mark { font: 500 64px/1 var(--rd-font-title); opacity: .3; }
  .kairos-redesign .mf-project-caption { margin: 0; color: var(--rd-ink-dim); }
  .kairos-redesign .mf-project .ms-intro button { padding: 0 18px; font-size: 13px; }
  .kairos-redesign .mf-project .ms-launch { overflow-y: auto; }
  .kairos-redesign .mf-project .ms-launch-bottom { flex-shrink: 0; }
  .kairos-redesign .mf-project .forge-composer-hint { font-size: 11px; margin: 4px 8px 0; max-height: 38px; overflow-y: auto; }
  .kairos-redesign .mf-project .forge-composer.ms-composer.ms-composer-expanded .chat-input-left { display: flex; flex: 1 0 100%; flex-wrap: wrap; gap: 4px; }
  .kairos-redesign .mf-project .forge-composer.ms-composer-expanded .chat-input-bottom { flex-wrap: wrap; }
  .kairos-redesign .mf-project .forge-composer .chat-input-left .custom-select-btn { max-width: 100%; }
  .kairos-redesign .mf-project .forge-composer .chat-input-left > .custom-select { flex: 1 1 auto; min-width: 0; }
  .kairos-redesign .mf-session-meta { display: flex; justify-content: space-between; gap: 12px; }
  .kairos-redesign .mf-session-meta > span { overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .mf-project .ms-history { overflow: hidden; }
  .kairos-redesign .mf-project:has(textarea:focus) .ms-activity-slot { display: none; }
  .kairos-redesign .mf-overview .forge-widget-grid { display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
  .kairos-redesign .mf-overview .forge-widget-grid > * { width: 100%; max-width: none; box-sizing: border-box; }
  .kairos-redesign .mf-overview .forge-toolbar { display: flex; justify-content: space-between; margin-bottom: 16px; }
  .kairos-redesign .mf-overview .forge-analysis-grid { grid-template-columns: 1fr; }
  .kairos-redesign :is(.mf-overview, .mf-tool, .mf-commit, .mf-projects, .mf-session-actions, .mf-workspace-options) { min-width: 0; color: var(--rd-ink); font-family: var(--rd-font-ui); }
  .kairos-redesign :is(.mf-project, .mf-session, .mf-overview, .mf-tool, .mf-commit, .mf-projects, .mf-session-actions, .mf-workspace-options) :is(button, input, select, summary, textarea, .custom-select-btn) { box-sizing: border-box; min-height: 44px; min-width: 44px; }
  .kairos-redesign :is(.mf-projects, .mf-session-actions, .mf-workspace-options) { display: flex; flex-direction: column; gap: 10px; }
  .kairos-redesign :is(.mf-projects, .mf-session-actions, .mf-workspace-options) button { border: 1px solid var(--rd-line); background: var(--rd-surface-2); border-radius: 18px; padding: 10px 14px; color: var(--rd-ink); text-align: left; }
  .kairos-redesign .mf-project-row { display: flex; gap: 8px; }
  .kairos-redesign .mf-project-row > button:first-child { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .mf-session { display: flex; flex-direction: column; height: 100%; min-height: 0; animation: ms-chat-in 280ms ease-out; }
  .kairos-redesign .mf-session > .forge-project-sidebar,
  .kairos-redesign .mf-session .forge-surface-bar,
  .kairos-redesign .mf-session .forge-session-header,
  .kairos-redesign .mf-session .forge-plan-note { display: none; }
  .kairos-redesign .mf-session .forge-workspace { flex: 1; min-height: 0; width: 100%; }
  .kairos-redesign .mf-session-header { position: relative; isolation: isolate; display: flex; flex-shrink: 0; align-items: center; gap: 6px; padding: calc(6px + var(--mobile-safe-top, env(safe-area-inset-top, 0px))) max(12px, env(safe-area-inset-right, 0px)) 8px max(12px, env(safe-area-inset-left, 0px)); }
  .kairos-redesign .mf-session-header > button { padding: 0 10px; border-radius: 999px; border: 1px solid var(--rd-line-strong); background: var(--rd-surface-solid); font-size: 12px; color: var(--rd-ink); }
  .kairos-redesign .mf-session-heading { flex: 1; min-width: 0; }
  .kairos-redesign .mf-session-heading :is(strong, small) { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .mf-session-heading strong { font-size: 15px; }
  .kairos-redesign .mf-session-heading small { font-size: 11px; color: var(--rd-ink-dim); }
  .kairos-redesign .mf-session .forge-transcript-composer { margin-bottom: max(12px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  .kairos-redesign .mf-session .forge-composer-chips > .custom-select { display: block; }
  .kairos-redesign .mf-session .forge-transcript-composer:not(.ms-composer-expanded) .forge-composer-chips { display: none; }
  .kairos-redesign .mf-tool > .forge-sidebar-panel { display: block; height: 100%; overflow: auto; }
  .kairos-redesign .mf-tool .forge-git-content { min-width: 0; }
  .kairos-redesign .mf-git .forge-git-files { border-radius: 26px; border: 1px solid var(--rd-line); background: var(--rd-surface-2); padding: 16px; margin: 12px 0; }
  .kairos-redesign .mf-git .forge-git-file { display: flex; align-items: center; gap: 8px; padding-block: 6px; border-top: 1px solid var(--rd-line); }
  .kairos-redesign .mf-file-open { flex: 1; min-width: 0 !important; text-align: left; overflow-wrap: anywhere; border: 0; background: transparent; color: var(--rd-ink); }
  .kairos-redesign .mf-git-more { margin-block: 16px; }
  .kairos-redesign .mf-git-more .forge-git-actions { flex-wrap: wrap; }
  .kairos-redesign .mf-git-dock { position: sticky; bottom: max(8px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); display: flex; gap: 4px; padding: 5px; z-index: 2; }
  .kairos-redesign .mf-git-dock button { flex: 1; border: 0; border-radius: 999px; padding-inline: 12px; background: var(--rd-primary-bg); color: var(--rd-primary-fg); }
  .kairos-redesign .mf-commit { display: flex; flex-direction: column; gap: 12px; }
  .kairos-redesign .mf-commit textarea { min-height: 104px; width: 100%; border-radius: 20px; padding: 16px; background: var(--rd-surface-2); color: var(--rd-ink); border: 1px solid var(--rd-line); }
  .kairos-redesign .mf-commit button { border-radius: 999px; padding-inline: 16px; }
  .kairos-redesign .mf-commit > .forge-small-button { background: var(--rd-primary-bg); color: var(--rd-primary-fg); }
  .kairos-redesign :is(.mf-session, .mf-tool) :is(.forge-terminal-toolbar, .forge-preview-toolbar, .forge-editor-toolbar) { flex-wrap: wrap; }
  .kairos-redesign :is(.mf-project, .mf-session, .mf-tool, .mf-commit, .mf-projects, .mf-session-actions, .mf-workspace-options) :focus-visible { outline: 2px solid var(--rd-focus); outline-offset: 2px; }
  @media (prefers-reduced-motion: reduce) {
    .kairos-redesign :is(.mf-project, .mf-session, .mf-dashboard), .kairos-redesign :is(.mf-project, .mf-session, .mf-dashboard) * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  }
  @media (max-height: 480px) {
    .kairos-redesign .mf-project .mf-mark { display: none; }
    .kairos-redesign .mf-project .ms-intro { padding-block: 8px; }
    .kairos-redesign .mf-project .ms-intro h1 { font-size: 22px; }
  }
}

@media (max-width: 768px) {
  .kairos-redesign .mf-count { display: inline-grid; place-items: center; min-width: 18px; padding: 2px 4px; border-radius: 999px; background: var(--rd-surface-2); font-variant-numeric: tabular-nums; }
  .kairos-redesign .mf-project .ms-header { padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px)); }
  .kairos-redesign .mf-project .ms-launch-bottom { padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px)); }
  .kairos-redesign .ms-sheet:has(.mf-tool, .mf-overview, .mf-projects, .mf-commit) .ms-sheet-body { padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px)); }
  .kairos-redesign .mf-workspace-options small { overflow-wrap: anywhere; }
  .kairos-redesign .mf-project .ms-intro { flex: 1 0 140px; }
  .kairos-redesign .mf-project .ms-launch-bottom { margin-top: auto; }
  .kairos-redesign .mf-project .ms-launch:has(.ms-composer-expanded) .ms-intro { display: none; }
  .kairos-redesign .ms-sheet-surface .forge-end-options > .btn { white-space: normal; height: auto; min-height: 44px; max-width: 100%; padding: 12px; }
}

/* Forge phone: the chosen location and project are marked. */
@media (max-width: 768px) {
  .kairos-redesign :is(.mf-projects, .mf-workspace-options) button[aria-pressed="true"] { background: var(--rd-primary-bg); color: var(--rd-primary-fg); border-color: var(--rd-primary-bg); }
  .kairos-redesign :is(.mf-projects, .mf-workspace-options) button[aria-pressed="true"]::after { content: "¹3"; float: right; }
}

/* Forge phone: Changes layout, uniform session menu, dock pinned to the bottom of the sheet. */
@media (max-width: 768px) {
  .kairos-redesign .mf-session-actions button { display: flex; align-items: center; justify-content: flex-start; width: 100%; text-align: left; box-sizing: border-box; }
  .kairos-redesign .mf-session-actions > p { margin: 0; font-size: 12px; line-height: 1.45; color: var(--rd-ink-dim); }
  .kairos-redesign .mf-session-actions > details { padding: 4px 4px; }
  .kairos-redesign .mf-session-actions .mf-project-row button { width: auto; }
  .kairos-redesign .mf-session-actions .mf-project-row > button:first-child { flex: 1; }
  .kairos-redesign .mf-tool > .forge-sidebar-panel.forge-git-panel { display: flex; flex-direction: column; }
  .kairos-redesign .mf-tool .forge-git-panel > .meta:empty { display: none; }
  .kairos-redesign .mf-tool .forge-git-content.mf-git { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
  .kairos-redesign .mf-git .forge-branch { margin: 4px 0 0; font: 400 12px/1.4 var(--rd-font-ui); color: var(--rd-ink-dim); overflow-wrap: anywhere; }
  .kairos-redesign .mf-git .forge-git-files { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
  .kairos-redesign .mf-git .forge-git-files > strong { flex: 1 1 0; font: 500 11px/1 var(--rd-font-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--rd-ink-dim); }
  .kairos-redesign .mf-git .forge-git-files > .forge-git-file { flex: 1 1 100%; }
  .kairos-redesign .mf-git .forge-git-files:not(:has(.forge-git-file))::after { content: "No files"; flex: 1 1 100%; font-size: 13px; color: var(--rd-ink-dim); }
  .kairos-redesign .mf-git .forge-git-files:not(:has(.forge-git-file)) > .forge-small-button { display: none; }
  .kairos-redesign .mf-git .forge-git-file > .forge-small-button { border-radius: 999px; padding-inline: 14px; }
  .kairos-redesign .mf-git-dock { margin-top: auto; }
  .kairos-redesign .mf-git-dock[hidden] { display: none; }
  .kairos-redesign .ms-sheet-body > .mf-tool { height: 100%; }
  .kairos-redesign .ms-sheet-body:has(> .mf-tool) { padding-bottom: 0; }
  .kairos-redesign .mf-tool > .forge-sidebar-panel { padding-bottom: max(12px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
  .kairos-redesign .mf-tool > .forge-git-panel { padding-bottom: 0; }
}

@media (max-width: 768px) {
  .kairos-redesign .ms-sheet-surface :is(.forge-app-suggestions button, .forge-folder-list button.forge-path) { display: block; width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 14px; border: 1px solid var(--rd-line); border-radius: 18px; background: var(--rd-surface-2); color: var(--rd-ink); text-align: left; overflow-wrap: anywhere; }
  .kairos-redesign .ms-sheet-surface .forge-folder-list { display: grid; gap: 8px; }
}

/* Forge phone Home: the desktop dashboard as a page, reached like Kairos Home.
   Header and safe areas come from the phone shell; the cards stack in one column. */
@media (max-width: 768px) {
  .kairos-redesign .mf-dashboard { height: 100%; min-height: 0; }
  .kairos-redesign .mf-dashboard .ms-header { padding-inline: max(16px, env(safe-area-inset-left, 0px)) max(16px, env(safe-area-inset-right, 0px)); }
  /* The title sits on the top row, against the right edge, as on every phone tab ("Page title" below). */
  .kairos-redesign .mf-dashboard .ms-header-row { grid-template-columns: minmax(0, 1fr); }
  .kairos-redesign .mf-dashboard-title { margin: 0; min-width: 0; text-align: right; font: 500 28px/44px var(--rd-font-title); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kairos-redesign .mf-dashboard .forge-toolbar { justify-content: flex-start; gap: 8px; }
  .kairos-redesign .mf-dashboard .forge-toolbar > .meta { margin-right: auto; }
  .kairos-redesign .mf-dashboard .forge-toolbar .mf-dashboard-new { flex: none; }
  .kairos-redesign .mf-dashboard-body {
    flex: 1; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain;
    padding: 0 max(16px, env(safe-area-inset-right, 0px)) max(24px, var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))) max(16px, env(safe-area-inset-left, 0px));
  }
  .kairos-redesign .mf-dashboard .forge-toolbar { align-items: center; margin-bottom: 0; padding: 8px 0 12px; }
  .kairos-redesign .mf-dashboard .forge-toolbar .btn { height: 44px; padding-inline: 18px; border-radius: 999px; }
  .kairos-redesign .mf-dashboard .forge-widget-grid > .forge-panel { padding: 16px 18px 10px; border-radius: var(--rd-radius-card); background: var(--rd-surface); border: 1px solid var(--rd-line); box-shadow: var(--rd-shadow); }
  .kairos-redesign .mf-dashboard .forge-analysis-grid .forge-panel { box-shadow: none; }
  .kairos-redesign .mf-dashboard .forge-panel-header { flex-wrap: wrap; }
  .kairos-redesign .mf-dashboard .forge-panel-header .custom-select { max-width: 100%; min-width: 0; }
  .kairos-redesign .mf-dashboard .forge-widget-body .dashboard-row { min-height: 44px; width: 100%; }
  .kairos-redesign .mf-dashboard :is(svg, table) { max-width: 100%; }
  .kairos-redesign .mf-dashboard .forge-ranked { display: block; overflow-x: auto; }
}

/* 2026-10-21: iPhone Safari in a browser tab keeps its own status bar and
   floating toolbar and paints them in the page colour (html/body --bg). The
   page meets each of them through a short fade to that same colour, so no
   mismatched band shows where our picture ends. Absolute, not fixed, so
   Safari does not sample them. The home-screen app is unchanged. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 768px) and (display-mode: browser) {
    .kairos-redesign #app::before, .kairos-redesign #app::after {
      content: ""; position: absolute; left: 0; right: 0; height: 16px; z-index: 56; pointer-events: none;
    }
    .kairos-redesign #app::before { top: 0; background: linear-gradient(to bottom, var(--bg), transparent); }
    .kairos-redesign #app::after { bottom: 0; height: 12px; background: linear-gradient(to top, var(--bg), transparent); }
  }
}

/* Page title (2026-10-21, David): on every phone tab the title sits on the
   top row (44px, 6px under the status bar) against the right edge; the page
   content starts below that row. The row holds the title and, on a
   top-level page, the sidebar's menu button beside it (2026-11-02). One rule for the shared page header and the
   two pages that draw their own (Agents' bar, Settings' title bar). Pages with
   a switch in that row (Chats, Forge New/Sessions) keep the switch as their
   title; Forge Home's own header row follows the same placement. */
@media (max-width: 768px) {
  .kairos-redesign #view-content > .view-header:first-child h2,
  .kairos-redesign #view-content > :first-child > .view-header:first-child h2,
  .kairos-redesign #view-content .tool-store-view .view-header h2,
  .kairos-redesign #view-content .agents-workspace-bar > h2 {
    position: absolute; z-index: 2; top: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 6px); left: 16px; right: 16px;
    height: 44px; min-height: 0; margin: 0; padding: 0; box-sizing: border-box;
    font-size: 28px; line-height: 44px; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  /* Ancestors between the page and its title stay unpositioned, so the title measures from the page. */
  .kairos-redesign #view-content :is(.view-constrained, .view-header, .tool-store-view, .agents-workspace, .agents-workspace-bar, .tool-store-top):has(h2) { position: static; }
  .kairos-redesign #view-content .agents-workspace-bar { padding-left: 0; justify-content: flex-end; }
  .kairos-redesign .settings-mobile-page .settings-titlebar {
    min-height: 44px; padding: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 6px) 16px 8px 16px; justify-content: flex-end;
  }
  .kairos-redesign .settings-mobile-page .settings-titlebar .title { margin-left: auto; text-align: right; }
}

/* Full-screen panels and sheets sit above every page header
   (2026-10-21, David: Chat's documents panel lay under the chat's title and
   buttons). Headers are 55-56 and the phone sidebar 1160; dialogs and the shared
   sheets are already in the top layer or above 1400. Each panel clears the
   status bar with its own header. */
@media (max-width: 768px) {
  .kairos-redesign :is(.artifact-panel, .hm-sheet-root, .chat-summary-backdrop) { z-index: 1150; }
  .kairos-redesign .agents-rail-scrim { z-index: 1149; }
  .kairos-redesign .agents-messenger.is-rail-open .agents-chat-rail { z-index: 1150; }
  .kairos-redesign .hm-sheet { padding-top: calc(var(--mobile-safe-top, env(safe-area-inset-top, 0px)) + 16px); padding-bottom: calc(28px + var(--mobile-safe-bottom, env(safe-area-inset-bottom, 0px))); }
}

/* More sheet: the app mode switch at its top (mobileTabSheet.js).
   A segmented radio group with a sliding thumb, like the New / Chats switch; the
   sheet-wide reduced-motion rule turns the slide off. */
