@media (max-width: 70rem) {
    .welcome-stage { padding-inline: clamp(1rem,3vw,2rem); }
    .welcome-card { width: min(100%,44rem); margin-right: 0; }
    .welcome-card h1 { max-width: 14ch; }
}

@media (max-width: 51.25rem) {
    :root { --header-height: 4.65rem; }
    .app-header { padding-inline: .85rem; }
    .brand-portrait { width: 3.15rem; }
    .brand-copy strong { font-size: 1.08rem; }
    .brand-copy span { font-size: .74rem; }
    .model-chip { min-width: 0; padding: .55rem .65rem; }
    .model-chip-copy small, .model-chip .chevron, .new-chat-button { display: none; }
    .conversation-toolbar { grid-template-columns: auto minmax(0,1fr) auto; min-height: 3.25rem; padding-inline: .7rem; }
    .conversation-context { justify-self: center; font-size: .72rem; }
    .text-button { width: 2.6rem; height: 2.6rem; justify-content: center; padding: 0; }
    .text-button span:last-child { display: none; }
    .conversation-new-chat { display: inline-flex; }
    .protocol-toolbar { min-height: 3.25rem; padding-inline: .7rem; }
    .protocol-toolbar .text-button { width: auto; min-width: 2.6rem; }
    .protocol-toolbar .text-button span:last-child { display: none; }
    .protocol-toolbar-title { justify-self: center; font-size: .74rem; }
    .protocol-new { width: 2.6rem; min-height: 2.6rem; justify-content: center; padding: 0; }
    .protocol-new span:last-child { display: none; }
    .protocol-layout { display: block; overflow-y: auto; }
    .protocol-index { display: none; }
    .protocol-stage { min-height: 0; padding: 1rem .7rem 1.4rem; }
    .protocol-empty { padding-top: 1.8rem; }
    .protocol-empty h1, .protocol-stage-heading h1 { font-size: clamp(1.9rem,8vw,2.65rem); }
    .protocol-field-grid { grid-template-columns: 1fr; }
    .protocol-field-wide { grid-column: auto; }
    .protocol-stage-heading { gap: .65rem; }
    .protocol-stage-heading > .icon-button { width: 2.5rem; }
    .protocol-record-view { gap: .65rem; }
    .protocol-record-heading { align-items: start; }
    .protocol-record-heading .text-button { flex: 0 0 auto; width: auto; padding-inline: .65rem; }
    .protocol-record-heading .text-button span:last-child { display: inline; }
    .protocol-record-grid { display: grid; grid-template-columns: 1fr; grid-template-areas: "side" "main"; gap: .65rem; }
    .protocol-record-sidebar { position: static; display: grid; grid-template-columns: 1fr; }
    .protocol-control-actions { align-items: stretch; flex-direction: column; }
    .protocol-control-actions { display: grid; grid-template-columns: 1fr auto; }
    .protocol-control-actions .primary-action { justify-content: center; }
    .protocol-health { grid-template-columns: 1fr; gap: .35rem; }
    .protocol-health div { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .protocol-details-card dl { grid-template-columns: 1fr; gap: .1rem; }
    .protocol-details-card dd { margin-bottom: .55rem; }
    .protocol-transcript > header { align-items: start; flex-direction: column; }
    .protocol-content-tabs { border-radius: var(--radius-small); }
    .protocol-content-tabs button { flex: 1 1 auto; }
    .protocol-transcript-navigation { grid-template-columns: 1fr 1fr; }
    .protocol-transcript-navigation > span { grid-column: 1 / -1; grid-row: 1; }
    .protocol-live-follow { grid-column: 1 / -1; }
    .protocol-segment > header { align-items: start; flex-direction: column; }
    .protocol-segment-meta { width: 100%; justify-content: space-between; }
    .protocol-preparation-panel { grid-template-columns: 1fr; }
    .protocol-preparation-panel button { width: 100%; }
    .protocol-preparation-panel .protocol-preparation-actions { display: grid; grid-template-columns: 1fr; }
    .protocol-transcript, .protocol-transcript-empty { min-height: 15rem; }
    .protocol-guidance { grid-template-columns: 2.5rem minmax(0,1fr); margin-bottom: .65rem; }
    .protocol-guidance img { width: 2.5rem; }
    .export-trigger { width: 2.6rem; height: 2.6rem; justify-content: center; padding: 0; }
    .export-trigger span:last-child { display: none; }
    .export-menu { right: .5rem; width: min(20rem,calc(100vw - 1rem)); }
    .latest-button { right: .5rem; bottom: 8.15rem; }
    .welcome-stage { align-items: start; padding: 1.1rem .7rem 7.4rem; }
    .message-list { padding: 1rem .65rem 10rem; }
    .message-user .message-bubble { max-width: 88%; }
    .message-copy { min-height: 2rem; padding-inline: .55rem; }
    .assistant-body { padding: .85rem .9rem; }
    .artifact-card { width: 100%; border-radius: var(--radius-small); }
    .artifact-card img { max-height: 62vh; }
    .chat-mira-watermark { inset: 3.25rem -35% 0 22%; }
    .mira-presence { inset: 9% -4% 2%; background-image: radial-gradient(ellipse 88% 78% at 50% 54%,transparent 42%,var(--color-paper) 90%),linear-gradient(180deg,transparent 0%,transparent 68%,var(--color-paper) 100%),var(--mira-portrait); background-position: center,center,50% 100%; background-size: cover,cover,auto 122%; opacity: .52; mask-image: linear-gradient(180deg,transparent 0%,#000 13%,#000 84%,transparent 100%); }
    .welcome-stage:has(.welcome-card[hidden]) .mira-presence { inset: -5% -4% 0; background-position: center,center,50% 0; background-size: cover,cover,auto 116%; mask-image: linear-gradient(180deg,#000 0%,#000 90%,transparent 100%); }
    .welcome-card { width: 100%; margin: 0; padding: 1rem; background: linear-gradient(145deg,rgba(255,253,248,.86),rgba(255,253,248,.58)); }
    .welcome-close { top: .55rem; right: .55rem; width: 2.75rem; }
    .welcome-card h1 { max-width: 12ch; margin-right: 2.75rem; font-size: clamp(1.9rem,8.5vw,2.8rem); }
    .welcome-card > p { max-width: 30rem; font-size: .9rem; line-height: 1.45; }
    .suggestion-row { width: 100%; margin-top: .85rem; }
    .suggestion-row button { padding: .48rem .65rem; text-align: left; }
    .composer-zone { width: calc(100% - 1rem); }
    .composer { grid-template-columns: auto minmax(0,1fr) auto; grid-template-areas: "files files files" "input input input" "actions spacer send"; gap: .45rem; padding: .65rem; border-radius: 1.3rem; }
    .pending-files { grid-area: files; flex-wrap: nowrap; padding-bottom: .15rem; overflow-x: auto; }
    .pending-file { min-width: min(17rem,82vw); }
    .composer textarea { grid-area: input; min-height: 2.5rem; padding: .55rem .65rem; }
    .desktop-actions { display: none; }
    .mobile-actions { display: flex; grid-area: actions; }
    .round-action { width: 2.55rem; color: var(--color-ink-soft); background: rgba(41,45,43,.06); }
    .mobile-actions [data-stage-two-action="voice"].is-active { display: inline-flex; width: auto; aspect-ratio: auto; gap: .35rem; padding-inline: .72rem; border-radius: var(--radius-pill); }
    .mobile-actions [data-stage-two-action="voice"].is-active .mobile-speech-label { display: inline; font-size: .72rem; font-weight: 750; white-space: nowrap; }
    .send-button { grid-area: send; min-width: 2.75rem; width: 2.75rem; min-height: 2.75rem; padding: 0; }
    .desktop-send-label { display: none; }
    .composer-meta { justify-content: space-between; gap: .4rem; padding-inline: .45rem; }
    .composer-meta > span { overflow: hidden; max-width: 14rem; text-overflow: ellipsis; white-space: nowrap; }
    .session-drawer { position: fixed; z-index: 50; width: 100vw; max-width: none; padding: max(.85rem,env(safe-area-inset-top)) .85rem max(.85rem,env(safe-area-inset-bottom)); border: 0; transform: translateX(-100%); }
    .drawer-scrim { display: none; }
    .floating-panel { top: var(--header-height); right: .5rem; left: .5rem; width: auto; max-height: calc(100dvh - var(--header-height) - .5rem); overflow-y: auto; }
    .stage-toast { bottom: 8.8rem; border-radius: var(--radius-medium); text-align: center; }
    .upload-menu { right: auto; bottom: 8.5rem; left: .5rem; width: min(22rem,calc(100vw - 1rem)); }
    .upload-status-card { width: min(30rem,100%); grid-template-columns: 4.6rem minmax(0,1fr); padding: .9rem; }
    .upload-status-portrait-wrap { width: 4.6rem; }
    .upload-status-portrait { width: 3.9rem; }
    .camera-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; }
    .camera-dialog > section { display: grid; height: 100%; grid-template-rows: auto auto auto minmax(0,1fr) auto; box-sizing: border-box; padding: max(1rem,env(safe-area-inset-top)) .85rem max(1rem,env(safe-area-inset-bottom)); }
    .camera-viewport { min-height: 0; }
    .camera-viewport video, .camera-viewport img { height: 100%; max-height: none; }
    .account-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; border: 0; border-radius: 0; }
    .account-dialog form { min-height: 100%; align-content: start; padding: max(1rem,env(safe-area-inset-top)) .9rem max(1rem,env(safe-area-inset-bottom)); }
    .account-field-grid { grid-template-columns: 1fr; }
    .account-field-grid > span:empty { display: none; }
    .mira-dialog-heading { grid-template-columns: 3.7rem minmax(0,1fr); }
    .mira-dialog-portrait { width: 3.7rem; }
    .account-dialog .dialog-actions { position: sticky; bottom: 0; padding: .55rem 0 max(.2rem,env(safe-area-inset-bottom)); background: linear-gradient(180deg,transparent,var(--color-surface-solid) 22%); }
    .speech-rail { width: calc(100% - 1rem); max-height: min(42dvh,20rem); margin-top: .45rem; padding: .62rem; border-radius: var(--radius-small); }
    .speech-rail-heading { grid-template-columns: 1.85rem minmax(0,1fr) auto; gap: .5rem; }
    .speech-mode-mark { width: 1.85rem; }
    .speech-rail-copy small { max-width: 54vw; }
    .speech-interrupt { min-height: 2.15rem; padding: .42rem .58rem; font-size: .72rem; }
    .speech-live-text { grid-template-columns: 1fr; gap: .15rem; }
    .speech-live-text small { grid-column: 1; }
    .voice-ptt-controls { align-items: stretch; flex-direction: column; gap: .35rem; }
    .voice-ptt-controls button { width: 100%; min-height: 2.6rem; }
    .dictation-question { grid-template-columns: 2.85rem minmax(0,1fr); }
    .dictation-question-portrait { width: 2.85rem; }
    .dictation-question-actions { grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-end; }
    .speech-menu, .tool-menu { right: auto; bottom: 8.45rem; left: 0; width: 100%; }
    .document-artifact-card { grid-template-columns: 2.45rem minmax(0,1fr); width: 100%; }
    .document-artifact-mark { width: 2.45rem; }
    .document-artifact-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 26.875rem) {
    .brand { gap: .55rem; }
    .brand-portrait { width: 2.8rem; }
    .brand-copy strong { font-size: .98rem; }
    .brand-copy span { font-size: .68rem; }
    .header-actions { gap: .35rem; }
    .model-chip { padding: .48rem .55rem; }
    .model-chip-dot { display: none; }
    .model-chip-copy strong { max-width: 5.4rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .user-button { width: 2.55rem; }
    .conversation-context span:last-child { max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .welcome-stage { padding-top: .7rem; }
    .welcome-card { padding: .9rem; }
    .welcome-card h1 { font-size: clamp(1.8rem,8.4vw,2.5rem); }
    .upload-status-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .upload-status-content { width: 100%; justify-items: center; }
    .speech-rail-heading { grid-template-columns: 1.75rem minmax(0,1fr); }
    .speech-interrupt { grid-column: 1 / -1; width: 100%; }
    .speech-rail-copy small { max-width: none; }
    .dictation-question-copy small { display: none; }
    .dictation-question textarea { min-height: 5.2rem; }
    .dictation-question-actions .dictation-discard { width: 100%; margin-right: 0; order: 3; }
}
@media (max-height: 43.125rem) and (max-width: 51.25rem) {
    .suggestion-row { display: none; }
    .welcome-stage { padding-top: .75rem; }
    .welcome-card h1 { font-size: clamp(1.8rem,8vw,2.7rem); }
}
