/* Phone flow: compact setup, adjacent speaker controls, one transcript at a time. */
main {
  padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
}
header { gap: 10px; padding-bottom: 12px; flex-wrap: wrap; }
.brand { font-size: 25px; }
.brand > span { display: none; }
.header-controls { width: auto; flex: 1; justify-content: flex-end; gap: 8px; }
.interface-menu summary { padding: 8px 10px; gap: 6px; }
#interface-flags { font-size: 20px; }
#change-languages { font-size: 11px; padding: 8px 10px; gap: 5px; }
.interface-options { padding: 16px; max-height: calc(100svh - 130px); overflow-y: auto; overscroll-behavior: contain; }
.interface-fields select, select { font-size: 16px; min-height: 48px; min-width: 0; }
.intro { display: block; padding: 20px 2px 18px; }
.intro > .eyebrow, .intro > p:last-child { display: none; }
h1 { font-size: 32px; line-height: 1.1; letter-spacing: -1px; }
h1 .ui-primary { white-space: normal; }
h1 .ui-secondary { font-size: 13px; line-height: 1.4; margin-top: 7px; }
.configuration { padding: 18px 14px; }
.configuration > .eyebrow { display: none; }
.configuration h2 { font-size: 24px; }
.configuration h2 .ui-secondary { font-size: 13px; }
.configuration > p { font-size: 13px; line-height: 1.5; margin: 12px 0 0; }
#language-form { display: flex; flex-direction: column; }
.language-fields { grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); align-items: end; gap: 8px; margin-top: 18px; }
.language-fields label { font-size: 12px; line-height: 1.4; }
.language-fields label .ui-secondary { font-size: 11px; }
.language-fields select { padding: 10px 6px; }
#swap-languages { width: 44px; min-height: 48px; padding: 8px; }
#swap-languages small { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
#begin-conversation { margin-top: 18px; padding: 12px; min-height: 56px; font-size: 14px; line-height: 1.4; }
.configuration-note { order: 1; margin: 14px 0 0; font-size: 11px; line-height: 1.5; }
.configuration-note .ui-secondary { font-size: 11px; }
body[data-view="conversation"] .intro { display: none; }
body[data-view="conversation"] .conversation { margin-top: 14px; }
.controls { flex-direction: row; align-items: center; gap: 10px; padding: 12px; }
.controls .status-group { min-width: 0; flex: 1; gap: 9px; font-size: 13px; line-height: 1.45; }
#status .ui-secondary { font-size: 11px; line-height: 1.4; }
.actions { flex: 0 0 90px; width: auto; }
#pause { display: none; }
#stop { width: 100%; min-height: 48px; padding: 8px 6px; font-size: 11px; }
.speaker-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 12px; }
.person { padding: 12px 10px; display: flex; flex-direction: column; }
.panel-heading { margin-bottom: 7px; min-height: 16px; }
.panel-heading .language-code, .person-help, .full-title { display: none; }
.compact-title { display: inline; }
.person-state { font-size: 11px; }
.person h2 { font-size: 23px; margin-bottom: 12px; }
.speaker { min-height: 76px; padding: 10px; margin-top: auto; }
.speaker strong { font-size: 15px; line-height: 1.4; margin: 0; }
.speaker > span { display: none; }
.transcript-tabs { display: flex; gap: 4px; padding: 4px; background: #e9eee2; border-radius: 10px; margin-top: 16px; }
.transcript-tabs button { flex: 1; min-width: 0; min-height: 44px; border: 0; border-radius: 7px; color: #49624f; background: transparent; font-size: 14px; }
.transcript-tabs button[aria-selected="true"] { background: #fffef9; box-shadow: 0 1px 3px #203b351a; color: #203b35; font-weight: 600; }
.transcript-grid { display: block; margin-top: 8px; }
.transcript-panel { padding: 0 14px 8px; }
.transcript-panel .transcript-heading { margin-top: 14px; padding-bottom: 10px; }
.transcript { height: clamp(150px, 25svh, 260px); font-size: 17px; line-height: 1.65; overscroll-behavior-y: contain; }
.transcript .placeholder { font-size: 13px; }
.below { margin: 8px 0; align-items: center; }
.below > span { max-width: 65%; font-size: 10px; line-height: 1.5; }
.below button { min-height: 44px; font-size: 11px; padding: 8px 0 8px 8px; }
.below-actions { flex-direction: column; align-items: flex-end; gap: 0; }
.configuration .share { width: 100%; min-height: 44px; margin-top: 4px; font-size: 12px; }
.below .ui-secondary { font-size: 10px; }
.tips { border-top: 1px solid #d9ded3; margin-top: 8px; }
.tips summary { font-size: 12px; }
.tips summary .ui-secondary { display: inline; margin-left: 8px; }
.tips p { font-size: 12px; }
footer { font-size: 10px; line-height: 1.5; margin-top: 16px; padding-top: 12px; }
.notice, .error { overflow-wrap: anywhere; }
@media(max-width:420px) {
  .header-controls { width: 100%; flex: auto; justify-content: space-between; }
}
@media(min-width:601px) {
  .interface-options { right: 0; left: auto; }
}
@media(max-height:500px) and (orientation:landscape) {
  .interface-options { max-height: calc(100svh - 84px); }
}
.interface-fields select, .language-fields select { height: 48px; padding-right: 28px; }
