@media (min-width: 761px) and (max-width: 1180px) and (pointer: coarse) {
  .sidebar { width: 420px; }
  .app { grid-template-columns: 420px 1fr; }
  .app.sidebar-collapsed { grid-template-columns: 0 1fr; }
  .session-list { gap: 9px; }
  .session-item { min-height: 64px; border-radius: 18px; padding: 8px 7px 8px 15px; gap: 8px; }
  .session-main { padding: 10px 9px; border-radius: 14px; }
  .session-name { font-size: 17px; }
  .session-key { font-size: 14px; }
  .session-action { min-width: 45px; height: 45px; border-radius: 14px; }
  .session-action-icon { width: 23px; height: 23px; }
  .active-space-dock { width: min(460px, calc(100vw - 32px)); }
  .space-chip { max-width: min(56vw, 420px); min-height: 51px; padding: 12px 16px 12px 18px; gap: 12px; font-size: 15px; }
  .space-chip.active { padding-right: 57px; }
  .space-chip:not(.active),
  .active-space-dock.collapsed .space-chip { width: 42px; height: 42px; min-height: 42px; }
  .space-dot,
  .space-chip:not(.active) .space-dot,
  .active-space-dock.collapsed .space-dot { width: 27px; height: 27px; }
  .space-chip-color-input { left: 9px; width: 39px; height: 39px; }
  .space-chip-color-edit { left: 32px; top: calc(50% + 5px); width: 15px; height: 15px; font-size: 9px; }
  .space-chip-leave { right: 9px; width: 34px; height: 34px; }
  .space-chip-leave::before { font-size: 24px; }
  .space-search-trigger, .space-history-trigger { width: 45px; height: 45px; top: 50%; }
  .space-search-trigger { right: calc(100% + 63px); }
  .space-history-trigger { right: calc(100% + 10px); }
  .parent-space-btn { right: calc(100% + 10px); width: 45px; height: 45px; }
  .parent-space-btn span { font-size: 20px; }
  .active-space-dock.has-parent-navigation .space-history-trigger { right: calc(100% + 63px); }
  .active-space-dock.has-parent-navigation .space-search-trigger { right: calc(100% + 116px); }
  .space-search-trigger svg, .space-history-trigger svg { width: 22px; height: 22px; }
}

@media (max-width: 760px) {
  .app, .app.sidebar-collapsed { grid-template-columns: 1fr; }
  .app.sidebar-collapsed .sidebar { padding: max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom)); border-right: 1px solid var(--border); overflow-y: auto; }
  #settingsSignOutBtn { margin-right: 12px; }
  .chat-shell { display: block; height: var(--app-height, 100dvh); }
  .topbar { position: fixed; top: 0; left: 0; right: 0; }
  .active-space-dock { top: calc(var(--mobile-space-dock-top, 64px) + 8px); right: max(12px, env(safe-area-inset-right)); width: min(420px, calc(100vw - 24px)); }
  .deployment-ready { max-width: 34vw; padding-inline: 9px; }
  .search-panel, .recent-panel { top: max(12px, env(safe-area-inset-top)); width: calc(100vw - 20px); max-height: calc(var(--app-height, 100dvh) - 24px); border-radius: 20px; }
  .search-result-snippet { white-space: normal; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .space-chip { max-width: min(62vw, 250px); min-height: 51px; padding: 12px 15px 12px 18px; font-size: 14px; gap: 10px; }
  .active-space-dock.has-parent-navigation .space-chip { max-width: min(41vw, 160px); }
  .space-chip.active { padding-right: 55px; }
  .space-chip:not(.active),
  .active-space-dock.collapsed .space-chip { width: 42px; height: 42px; min-height: 42px; padding: 0; }
  .space-chip:not(.active) .space-dot,
  .active-space-dock.collapsed .space-dot { width: 27px; height: 27px; }
  .space-dot { width: 22px; height: 22px; }
  .space-chip-color-input { left: 9px; width: 36px; height: 36px; }
  .space-chip-color-edit { left: 30px; top: calc(50% + 4px); width: 15px; height: 15px; font-size: 9px; }
  .space-chip-leave { right: 9px; width: 34px; height: 34px; }
  .space-chip-leave::before { font-size: 24px; }
  .space-search-trigger, .space-history-trigger { width: 45px; height: 45px; top: 50%; }
  .space-search-trigger { right: calc(100% + 63px); }
  .space-history-trigger { right: calc(100% + 10px); }
  .parent-space-btn { right: calc(100% + 10px); width: 45px; height: 45px; }
  .parent-space-btn span { font-size: 20px; }
  .active-space-dock.has-parent-navigation .space-history-trigger { right: calc(100% + 63px); }
  .active-space-dock.has-parent-navigation .space-search-trigger { right: calc(100% + 116px); }
  .space-search-trigger svg, .space-history-trigger svg { width: 23px; height: 23px; }
  .space-material-rail { gap: 6px; max-height: 104px; flex-wrap: wrap; width: 100%; justify-content: stretch; }
  .space-material-rail button { min-height: 42px; padding: 6px 7px; gap: 5px; font-size: 12px; flex: 1 1 calc(33.333% - 4px); min-width: 0; max-width: calc(33.333% - 4px); justify-content: center; white-space: nowrap; }
  .space-material-rail button > span:not(.space-material-icon):not(.space-material-indicator) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .space-material-icon { width: 23px; height: 23px; font-size: 16px; }
  .space-menu {
    position: fixed;
    top: calc(var(--mobile-space-dock-top, 64px) + 58px);
    bottom: calc(var(--keyboard-inset, 0px) + max(12px, env(safe-area-inset-bottom)));
    left: 12px;
    right: 12px;
    width: auto;
    max-height: none;
    overflow-y: auto;
    align-content: start;
    -webkit-overflow-scrolling: touch;
  }
  .space-editor, .space-create { grid-template-columns: 1fr; }
  .space-material-panel {
    position: fixed;
    inset: 0;
    z-index: 70;
    width: 100vw;
    height: var(--app-height, 100dvh);
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    background: var(--bg);
  }
  .space-material-sidebar { border-right: 0; border-bottom: 1px solid var(--border); }
  .space-material-mobile-header { padding: 10px 12px 4px; justify-content: flex-start; }
  .space-material-mobile-header span { display: none; }
  .space-material-mobile-header .space-notes-close { order: -1; }
  .space-material-list { flex-direction: row; overflow-x: auto; overflow-y: hidden; padding: 8px 12px 10px; }
  .space-material-list-card { min-width: min(260px, 78vw); }
  .space-material-detail { padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .space-material-panel .space-note-content-input { min-height: 240px; max-height: none; }
  .space-note-detail-header { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
  .space-material-header-actions { width: 100%; justify-content: flex-end; flex-wrap: nowrap; }
  .space-material-panel .space-note-detail { grid-template-rows: auto auto minmax(0, 1fr); gap: 10px; }
  .space-material-panel .space-note-tabs-row { gap: 8px; }
  .space-material-panel .space-note-actions-wrap,
  .space-material-panel .space-collection-actions-wrap { display: block; }
  .space-material-panel .space-note-tabs { min-width: 0; }
  .space-material-panel .space-note-tabs button { padding: 7px 10px; font-size: 12px; }
  .space-material-panel .space-note-preview { min-height: 0; }
  .space-material-panel.space-material-editing .space-material-sidebar { display: none; }
  .space-collection-detail { grid-template-rows: auto auto minmax(0, 1fr); }
  .space-collection-description-input { min-height: 82px; }
  .space-collection-item-row { grid-template-columns: auto minmax(0, 1fr) auto; }
  .space-collection-item-detail-host { padding: 0; place-items: stretch; }
  .space-collection-item-detail { width: 100%; min-height: var(--app-height, 100dvh); max-height: var(--app-height, 100dvh); border-radius: 0; border: 0; }
  .space-collection-detail-grid { grid-template-columns: 1fr; }
  .space-collection-add-item { grid-template-columns: 1fr; }
  .conversation-action-sheet-host {
    display: block; position: fixed; inset: 0; z-index: 20;
    pointer-events: auto;
  }
  .conversation-action-sheet-backdrop {
    position: absolute; inset: 0; border: 0; padding: 0; margin: 0;
    background: rgba(15, 23, 42, .22); backdrop-filter: blur(2px);
  }
  .conversation-action-sheet {
    position: absolute; left: 10px; right: 10px; bottom: max(10px, env(safe-area-inset-bottom));
    display: grid; gap: 10px; max-height: min(78vh, 560px); overflow: hidden;
    padding: 12px; border: 1px solid var(--border); border-radius: 24px;
    background: color-mix(in srgb, var(--panel-solid) 98%, transparent);
    box-shadow: var(--shadow); backdrop-filter: blur(18px);
  }
  .conversation-action-sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 2px 0 4px; }
  .conversation-action-sheet-header div { min-width: 0; display: grid; gap: 2px; }
  .conversation-action-sheet-header small { color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
  .conversation-action-sheet-header strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; letter-spacing: -.02em; }
  .conversation-action-sheet-close { width: 38px; height: 38px; border: 1px solid var(--border); border-radius: 14px; background: var(--panel); color: var(--muted); font-size: 26px; line-height: 1; }
  .conversation-action-sheet-menu.conversation-action-menu {
    position: static; width: auto; max-height: calc(min(78vh, 560px) - 72px); overflow: auto;
    padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; backdrop-filter: none;
  }
  .conversation-action-row { padding: 11px 10px; }
  .conversation-action-row span { font-size: 14px; }
  .space-ring-tunnel { inset: 0; opacity: 1; filter: drop-shadow(0 0 14px color-mix(in srgb, var(--space-accent) 9%, transparent)); }
  .space-ring-tunnel .space-ring-layer-ancestor { opacity: .085; }
  .space-ring-tunnel .space-ring-layer-current { opacity: .135; }
  .messages { position: fixed; left: 0; right: 0; top: var(--mobile-topbar-height, 64px); bottom: calc(var(--mobile-composer-height, 74px) + var(--keyboard-inset, 0px)); padding-top: 18px; }
  .messages.document-layout { padding-inline: 18px; }
  .jump-to-bottom { right: 18px; bottom: calc(var(--mobile-composer-height, 74px) + var(--keyboard-inset, 0px) + 16px); }
  .composer {
    position: fixed; left: 0; right: 0; bottom: var(--keyboard-inset, 0px);
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-rows: auto auto auto;
    align-items: end; padding: 9px 10px max(10px, env(safe-area-inset-bottom)); gap: 7px;
  }
  .attachment-tray { order: initial; grid-column: 1 / -1; grid-row: 1; flex-basis: auto; }
  #attachBtn, #voiceBtn, #sendBtn { width: 38px; height: 38px; min-width: 38px; border-radius: 14px; font-size: 17px; align-self: end; }
  #attachBtn { order: initial; grid-column: 1; grid-row: 3; justify-self: start; font-size: 22px; }
  #voiceBtn { order: initial; grid-column: 3; grid-row: 3; justify-self: end; }
  #sendBtn { order: initial; grid-column: 4; grid-row: 3; justify-self: end; }
  #messageInput { order: initial; grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0; min-height: 38px; padding: 9px 11px; border-radius: 16px; }
  #voiceTranscriptionStatus { order: initial; grid-column: 2; grid-row: 3; justify-self: start; align-self: center; }
  .composer-action-sheet { left: 10px; right: 10px; bottom: calc(var(--keyboard-inset, 0px) + max(10px, env(safe-area-inset-bottom))); }
  body.low-vision-mode .messages { bottom: calc(var(--mobile-composer-height, 150px) + var(--keyboard-inset, 0px)); }
  body.low-vision-mode .jump-to-bottom { bottom: calc(var(--mobile-composer-height, 150px) + var(--keyboard-inset, 0px) + 16px); }
  body.low-vision-mode .composer {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    grid-template-rows: auto auto;
    gap: 9px;
    padding: 12px 12px max(12px, env(safe-area-inset-bottom));
  }
  body.low-vision-mode .composer #attachBtn,
  body.low-vision-mode .composer #voiceBtn {
    width: auto;
    min-width: 0;
    min-height: 96px;
    border-radius: 22px;
    font-size: 22px;
  }
  body.low-vision-mode .composer #attachBtn { grid-column: 1; grid-row: 2; }
  body.low-vision-mode .composer #voiceBtn { grid-column: 2; grid-row: 2; }
  body.low-vision-mode .composer #voiceTranscriptionStatus:not(.hidden) { grid-column: 1 / -1; grid-row: 1; }
  body.sidebar-open { overflow: hidden; }
  body.sidebar-open .chat-shell,
  body.sidebar-open .messages,
  body.sidebar-open .composer,
  body.sidebar-open .topbar,
  body.sidebar-open .active-space-dock { touch-action: none; }
  .sidebar-backdrop {
    display: block; position: fixed; inset: 0; z-index: 4;
    border: 0; padding: 0; margin: 0; background: transparent;
    opacity: 0; pointer-events: none;
    -webkit-tap-highlight-color: transparent;
    outline: none; appearance: none;
    touch-action: manipulation;
  }
  body.sidebar-open .sidebar-backdrop { pointer-events: auto; }
  .sidebar {
    position: fixed; inset: 0 auto 0 0; width: min(86vw, 340px);
    height: var(--app-height, 100dvh);
    transform: translateX(-105%); transition: transform .2s ease;
    box-shadow: var(--shadow);
    touch-action: pan-y;
    z-index: 5;
  }
  .sidebar.open { transform: translateX(0); }
  .sidebar-close { display: grid; place-items: center; }
  textarea, input { font-size: 16px; }
  textarea { max-height: 96px; }
  .bubble-wrap { max-width: min(760px, 94%); }
  .message.user .bubble-wrap { max-width: min(760px, 94%); }
  .bubble { max-width: none; }
  .messages.document-layout .message.assistant .bubble { max-width: none; }
}
.hidden { display: none !important; }
