/* Readable type throughout the demo; white input surfaces, navy generated context. */
:root {
  --training-bg: #10283f;
  --system-bg: #183650;
  --system-border: #36536b;
  --system-text: #f1f6fb;
  --system-muted: #b9cddd;
  --training-accent: #e9c78d;
}
body { font-size: 16px; line-height: 1.75; }
.btn, .btn.small, .text-link, .tabs button, .segmented button { font-size: 15px; min-height: 44px; }
.page-heading h1 { font-size: 32px; line-height: 1.4; }
.page-heading p { font-size: 16px; color: #64758b; }
.panel-heading h2 { font-size: 20px; }
.panel-heading > span, .small-label, .badge, .fine-print { font-size: 13px; }
.field > span, .field legend { font-size: 16px; }
.field small, .field-help, .form-footer, .mode-note p { font-size: 14px; color: #65788e; }
.field input, .field select, .field textarea, .type-filter select, .search-field input { font-size: 16px; min-height: 48px; background: #fff; color: #223e58; }
.field input, .field select { padding: 9px 12px; }
.field input::placeholder, .field textarea::placeholder, .chat-composer textarea::placeholder { color: #758597; opacity: 1; }
.field input:disabled, .field select:disabled { background: #e9eff4; color: #587086; opacity: 1; }
.field > span { margin-bottom: 8px; }
.field small { line-height: 1.7; }
.form-grid { gap: 20px; }
.form-footer .btn, .modal-actions .btn, .product-actions .btn, .pitch-tools .btn, .rehearsal-bar .btn { font-size: 15px; }
.mode-note strong { font-size: 15px; }
.notice, .modal-content p, .modal-description, .knowledge-note p { font-size: 15px; line-height: 1.8; }
.nav-link { font-size: 16px; }
.breadcrumb, .breadcrumb strong, .global-search span, .role-select-label select { font-size: 14px; }
.internal-strip span, .footer { font-size: 12px; }
.internal-strip { flex-wrap: wrap; }
.task-card p, .task-product, .product-description { font-size: 16px; }
.product-card-title h2 { font-size: 20px; }
.product-tag, .product-meta, .task-checklist div > span, .task-checklist small, .task-row-main > span { font-size: 14px; }
.task-row-main strong { font-size: 15px; }
.stat-top, .stat-sub, .path-card p, .path-bottom, .today-card > p, .today-bottom, .card-top, .today-card .card-top { font-size: 14px; }
.path-card h3, .today-card h3 { font-size: 20px; }
.stat-number { font-size: 32px; }
.table-wrap table, table th, table td, .field-list dt, .field-list dd { font-size: 15px; }
table td small, .record-dl dt, .record-dl dd, .report-facts dt, .report-facts dd { font-size: 14px; }
.feedback-content > p, .review-evidence details p, .review-evidence pre, .template-preview, .request-row p, .approval-card p { font-size: 16px; }
.dimension-list span, .radar-foot, .review-evidence summary, .review-note { font-size: 14px; }
.review-evidence summary span { font-size: 14px; color: #64758b; }
.score-panel > p, .score-circle > span { font-size: 14px; }
.score-version { font-size: 12px; }
.feedback-points h4 { font-size: 17px; }
.feedback-points p { font-size: 15px; line-height: 1.8; }
.pitch-text { font-size: 18px; background: #fff; line-height: 1.9; }
.pitch-tools, .pitch-editor-meta, .pitch-bottom-actions > span { font-size: 14px; }
.pitch-source strong, .pitch-source p, .fit-result h4, .fit-result p { font-size: 15px; }
.duration-options button { font-size: 15px; background: #fff; border: 1px solid #c6d3df; }
.duration-options button.selected { background: #fff; border: 2px solid #274f73; color: #173e62; }
.modal-content { color: #304b65; }
.modal > header h2 { font-size: 24px; }
.modal-actions .muted { font-size: 14px; }
#toast { font-size: 15px; }

/* Quiet navy canvas: every editable region is unmistakably white. */
body[data-page="dialogue"] .app-main,
body[data-page="pitch"] .app-main { background: var(--training-bg); }
body[data-page="dialogue"] main,
body[data-page="pitch"] main { max-width: 1600px; }
body[data-page="dialogue"] .page-heading h1,
body[data-page="pitch"] .page-heading h1 { color: var(--system-text); }
body[data-page="dialogue"] .page-heading p,
body[data-page="pitch"] .page-heading p { color: var(--system-muted); }
body[data-page="dialogue"] .page-heading .eyebrow,
body[data-page="pitch"] .page-heading .eyebrow { color: var(--training-accent); font-size: 12px; letter-spacing: .14em; margin-bottom: 9px; }
.dialogue-page { color: var(--system-text); }
.training-intro-line { display: flex; flex-direction: column; gap: 12px; margin: 0 0 24px; }
.stepper { flex-wrap: wrap; gap: 12px; margin: 0; color: #aec4d6; font-size: 15px; }
.stepper > i { background: #536d83; width: 24px; }
.stepper b { width: 28px; height: 28px; background: #28465f; color: #d4e0eb; font-size: 14px; }
.stepper .active { color: #fff; }
.stepper .active b { color: #183650; background: var(--training-accent); }
.surface-legend { display: flex; flex-wrap: wrap; gap: 20px; color: var(--system-muted); font-size: 13px; }
.surface-legend span { display: flex; align-items: center; gap: 8px; }
.surface-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
.manual-dot { background: #fff; }
.system-dot { background: #264b69; border: 1px solid #a9bfd0; }
.dialogue-setup { grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); align-items: start; gap: 24px; }
.manual-panel { background: #fff; color: #1b3550; border-color: #fff; box-shadow: 0 12px 28px #0717291a; }
.config-panel { border-radius: 14px; overflow: visible; }
.config-panel .panel-heading { padding: 22px 24px; }
.config-panel .form-body { padding: 24px; }
.config-panel .field { margin-bottom: 22px; }
.config-panel .form-footer { position: sticky; bottom: 0; z-index: 4; padding: 18px 24px; border-radius: 0 0 14px 14px; background: #fff; box-shadow: 0 -8px 18px #1b354b08; }
.config-panel .form-footer > span { font-size: 13px; }
.config-panel .form-footer .btn { min-height: 48px; }
.config-panel .form-grid .field { margin-bottom: 0; }
.difficulty-description { font-size: 14px; line-height: 1.8; margin: 12px 0 24px; padding-left: 12px; border-left: 3px solid #d4e1ed; color: #61778d; }
.field .optional-label { display: inline; margin-left: 5px; color: #7a8ca1; font-weight: 400; }
.field textarea[name="backgroundNote"] { min-height: 90px; }
.customer-input-section { border: 0; border-top: 1px solid #dfe6ed; padding: 20px 0 0; margin: 28px 0 22px; min-width: 0; }
.customer-input-section legend { display: flex; align-items: center; gap: 8px; padding-right: 12px; font-size: 19px; font-weight: 600; }
.customer-input-section legend .icon { width: 20px; }
.field-help { margin: 0 0 15px; }
.customer-source-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.source-option { display: flex; align-items: flex-start; gap: 9px; background: #fff; color: #27455f; padding: 15px 12px; border: 1px solid #cdd8e2; border-radius: 10px; cursor: pointer; }
.source-option.selected { border: 2px solid #315c7d; padding: 14px 11px; }
.source-option input { margin: 5px 0 0; width: 17px; height: 17px; accent-color: #244e71; flex: 0 0 auto; }
.source-option strong { display: block; font-size: 16px; }
.source-option small { display: block; font-size: 13px; color: #6b8094; margin-top: 3px; }
.customer-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.customer-input-grid[hidden] { display: none; }
.customer-input-grid .full-field { grid-column: 1 / -1; }
.customer-input-grid textarea { min-height: 88px; }
.mode-note { background: #eaf0f5; padding: 16px; }
.mode-note p { margin-bottom: 0; }
.preparation-preview, .live-sidebar { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.system-panel { color: var(--system-text); background: var(--system-bg); border: 1px solid var(--system-border); border-radius: 14px; padding: 24px; min-width: 0; overflow-wrap: anywhere; }
.surface-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.surface-heading > span:first-child { display: flex; gap: 8px; align-items: center; font-size: 15px; font-weight: 600; color: var(--training-accent); }
.surface-heading .icon { width: 18px; height: 18px; }
.surface-tag { font-size: 12px; color: #d0deea; border: 1px solid #4e6c83; padding: 2px 8px; border-radius: 5px; text-align: right; flex-shrink: 0; }
.system-panel h2, .system-panel h3, .system-panel h4 { color: var(--system-text); }
.system-panel > p { font-size: 16px; line-height: 1.9; color: #d1e0eb; }
.product-brief h2 { font-family: var(--font-serif); font-size: 22px; line-height: 1.6; margin: 0 0 12px; }
.product-brief > p { margin-bottom: 20px; }
.brief-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; margin: 0; }
.brief-facts dt { font-size: 13px; color: var(--system-muted); }
.brief-facts dd { font-size: 15px; margin: 3px 0 0; color: #fff; overflow-wrap: anywhere; }
.brief-source { border-top: 1px solid #3b566d; margin-top: 20px; padding-top: 12px; display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.brief-source > span { font-size: 12px; color: var(--system-muted); }
.system-panel .text-button { color: #f3d4a2; font-size: 14px; }
.scenario-background { border-left: 3px solid #dec18d; }
.scenario-background h3 { font-family: var(--font-serif); font-size: 22px; margin: 0 0 12px; }
.scenario-background p { font-size: 16px; line-height: 1.9; margin-bottom: 14px; }
.background-goal { margin-top: 18px; padding-top: 16px; border-top: 1px solid #3a576e; }
.background-goal strong { color: #ecd1a4; font-size: 14px; }
.background-goal p { font-size: 14px; color: #b9cfdf; margin: 5px 0 0; }
.background-note { padding-left: 12px; border-left: 2px solid #66839a; overflow-wrap: anywhere; }
.system-panel.persona-preview { overflow: visible; }
.system-panel .persona-content { padding: 0; }
.system-panel .persona-header { padding-bottom: 10px; }
.system-panel .persona-header > div { min-width: 0; }
.system-panel .persona-avatar { width: 52px; height: 52px; font-size: 22px; flex: 0 0 auto; background: #dce5eb; color: #214c6c; }
.system-panel .persona-header h2 { font-size: 25px; color: #fff; overflow-wrap: anywhere; }
.system-panel .persona-header h2 span { color: #c5d7e4; font-size: 15px; }
.system-panel .persona-header p { color: #c5d7e4; font-size: 15px; }
.system-panel .persona-kicker { color: #aec5d7; font-size: 12px; letter-spacing: .05em; }
.system-panel .persona-tags { border-color: #3b576d; margin-top: 10px; padding-bottom: 18px; gap: 7px; }
.system-panel .badge.gray { background: #274a66; border: 1px solid #516d83; color: #dfebf3; font-size: 13px; white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
.profile-title { margin: 22px 0 14px; font-size: 18px; display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.profile-title span { font-size: 12px; color: var(--system-muted); font-weight: 400; }
.persona-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 0; }
.persona-fields > div { min-width: 0; border-bottom: 1px solid #ffffff1c; padding: 12px 0; }
.persona-fields > div:nth-last-child(-n+3) { grid-column: 1 / -1; }
.system-panel .persona-fields dt { color: var(--system-muted); font-size: 14px; line-height: 1.7; }
.system-panel .persona-fields dd { color: #f2f7fb; font-size: 16px; line-height: 1.8; margin: 4px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.training-guide { margin-top: 24px; }
.training-focus { margin-bottom: 24px; padding-bottom: 22px; border-bottom: 1px solid #3b566d; }
.training-focus h3 { font-family: var(--font-serif); font-size: 22px; margin: 0 0 8px; }
.training-focus p { font-size: 16px; line-height: 1.8; color: #d1e0eb; margin: 0 0 14px; }
.focus-topics { display: flex; flex-wrap: wrap; gap: 8px; }
.focus-topics span { padding: 5px 10px; border: 1px solid #4e6c83; border-radius: 6px; color: #ecd1a4; font-size: 14px; }
.guide-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.guide-columns h3 { font-size: 21px; font-family: var(--font-serif); margin: 0 0 15px; }
.objection-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.objection-list > div { display: flex; align-items: flex-start; gap: 8px; font-size: 15px; color: #dce8f1; }
.objection-list .icon { width: 16px; height: 16px; color: #95b4ca; margin-top: 5px; }
.product-objections { margin-top: 24px; padding-top: 18px; border-top: 1px solid #3b566d; }
.product-objections h4 { font-size: 15px; color: #bcd0df; margin-bottom: 10px; }
.product-objections p { font-size: 15px; line-height: 1.8; margin-bottom: 9px; color: #e2edf4; }
.compliance-list { padding-left: 22px; margin: 0; color: #dfc297; }
.compliance-list li { padding-left: 5px; margin-bottom: 13px; }
.compliance-list strong { color: #f1f6fa; font-size: 16px; }
.compliance-list p { margin: 4px 0 0; color: #c3d5e3; font-size: 15px; line-height: 1.8; }
.training-demo-note { font-size: 13px; color: #b4c8d8; line-height: 1.8; margin: 20px 0 0; }
.dialogue-confirm { display: flex; flex-direction: column; gap: 18px; }
.dialogue-confirm-actions { position: sticky; bottom: 0; z-index: 3; padding: 14px 0; background: #fff; border-top: 1px solid #dce5ec; box-shadow: 0 -10px 20px #ffffffd9; }
.dialogue-confirm .persona-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Live conversation: generated replies are navy; the learner's writing area is white. */
.live-training { display: grid; grid-template-columns: 310px minmax(0, 1fr); align-items: start; gap: 24px; min-height: 0; }
.live-persona { padding: 20px; overflow: visible; }
.live-persona .persona-fields { grid-template-columns: 1fr; }
.live-persona .persona-fields > div { grid-column: auto; padding: 10px 0; }
.session-stats { padding: 0 0 18px; margin-bottom: 18px; border-bottom: 1px solid #3b576d; gap: 32px; }
.session-stats span { font-size: 14px; color: #bfd2e1; }
.session-stats strong { color: #fff; font-size: 30px; margin-top: 5px; }
.session-stats strong small { font-size: 16px; color: #bfd2e1; }
.conversation-workspace { position: sticky; top: 80px; min-width: 0; display: flex; flex-direction: column; height: calc(100dvh - 276px); min-height: 620px; }
.conversation-workspace > .scenario-background { padding: 16px 20px; margin-bottom: 16px; flex: 0 0 auto; }
.scenario-background.compact .surface-heading .btn { min-height: 24px; font-size: 13px; padding: 0; }
.scenario-background.compact .surface-heading { margin-bottom: 10px; }
.scenario-background.compact h3 { font-size: 18px; margin-bottom: 8px; }
.scenario-background.compact p { font-size: 15px; line-height: 1.8; margin-bottom: 0; }
.scenario-background.compact .background-goal { display: none; }
.scenario-background.compact .background-note { margin-top: 10px; }
.chat-panel { background: #142f48; border: 1px solid #47627a; min-height: 0; flex: 1; height: auto; max-height: none; box-shadow: 0 18px 30px #07172724; }
.chat-header { height: auto; min-height: 52px; gap: 12px; padding: 10px 20px; color: #fff; border-bottom: 1px solid #355169; font-size: 16px; flex-wrap: wrap; }
.chat-header small, .chat-header > span:last-child { color: #b9cddd; font-size: 12px; }
.chat-header > span:first-child { min-width: 0; max-width: 100%; }
.chat-client-name { min-width: 0; max-width: 250px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 600; }
.practice-scope { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 20px; background: #203d55; color: #d6e4ee; flex: 0 0 auto; }
.practice-scope > span { display: flex; gap: 7px; align-items: center; font-size: 13px; }
.practice-scope .icon { width: 15px; height: 15px; }
.practice-scope .btn { color: #f2d5a5; font-size: 13px; min-height: 34px; }
.practice-scope.has-risk { background: #483b2c; color: #ffe0af; border-bottom: 1px solid #9d7d4f; }
.practice-scope.has-risk .btn { color: #ffe0af; }
body[data-page="dialogue"] #toast { top: 72px; bottom: auto; }
.chat-messages { min-height: 100px; max-height: none; background: #112a41; padding: 24px; overscroll-behavior: contain; }
.message { max-width: 94%; margin-bottom: 24px; }
.message-avatar { width: 32px; height: 32px; font-size: 14px; }
.message-meta { color: #e2ecf4; font-size: 13px; }
.message-meta span { color: #aec3d4; font-size: 12px; }
.bubble { font-size: 18px; line-height: 1.85; padding: 15px 17px; color: #f6faff; border-color: #47677f; background: #25455e; overflow-wrap: anywhere; }
.message.user .bubble { background: #fff; border-color: #fff; color: #223e58; }
.message.user .message-avatar { background: #ead5b2; color: #513f25; }
.round-feedback summary, .round-feedback p { color: #c2d7e7; font-size: 14px; line-height: 1.75; }
.round-feedback p { background: transparent; border-color: #49657d; }
.round-feedback summary span { color: #a9c0d1; font-size: 12px; }
.round-feedback.has-risk { margin-top: 10px; padding: 10px 12px; border: 1px solid #b48b4f; background: #40382d; border-radius: 8px; }
.round-feedback.has-risk summary, .round-feedback.has-risk p { color: #ffe0ad; }
.round-feedback.has-risk p { background: transparent; border: 0; padding: 0; }
.round-feedback.has-risk summary span { color: #e9cda8; }
.chat-composer { padding: 14px 20px 12px; color: #27455f; border-color: #d5e0e8; flex: 0 0 auto; }
.composer-label { display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 600; margin-bottom: 9px; }
.composer-label .icon { width: 17px; height: 17px; }
.composer-label span { font-weight: 400; font-size: 12px; color: #7a8a9b; margin-left: auto; }
.chat-composer textarea { font-size: 18px; min-height: 90px; height: 90px; max-height: 150px; line-height: 1.8; background: #fff; color: #223e58; resize: vertical; }
.composer-toolbar { gap: 10px; margin-top: 8px; justify-content: space-between; }
.composer-toolbar > div { gap: 10px; }
.composer-toolbar .btn { font-size: 14px; min-height: 42px; }
.composer-toolbar #send-btn { font-size: 16px; min-width: 90px; }
.composer-footnote { font-size: 12px; color: #7a8a9b; margin-top: 8px; }
.hint-box { font-size: 14px; padding: 12px 20px; line-height: 1.7; margin: 0; border-radius: 0; }
.hint-box p, .hint-box strong { font-size: 14px; }
.product-brief.compact { padding: 20px; }
.product-brief.compact h2 { font-size: 20px; }
.product-brief.compact .brief-facts { grid-template-columns: 1fr; gap: 10px; }
.product-brief.compact .surface-heading { flex-wrap: wrap; }
.dialogue-review-context { margin: 22px 0; }
.dialogue-review-context > .scenario-background { padding: 0 0 20px; margin-bottom: 20px; border: 0; border-bottom: 1px solid #3b566d; border-radius: 0; }
.practiced-topics { display: flex; flex-wrap: wrap; gap: 10px; }
.practiced-topics > span { padding: 8px 12px; background: #25465f; border: 1px solid #527088; border-radius: 8px; font-size: 14px; }
.practiced-topics small { display: block; color: #bdd2e1; font-size: 12px; }

/* Product presentation uses the same color convention. */
body[data-page="pitch"] .pitch-source,
body[data-page="pitch"] .fit-result,
body[data-page="pitch"] .outline-strip { background: var(--system-bg); color: #f0f6fa; border-color: var(--system-border); }
body[data-page="pitch"] .pitch-source { padding: 16px; border-radius: 10px; }
body[data-page="pitch"] .pitch-source p,
body[data-page="pitch"] .fit-result p { color: #c1d4e2; }
body[data-page="pitch"] .pitch-source strong,
body[data-page="pitch"] .fit-result h4,
body[data-page="pitch"] .outline-strip span { color: #f0f6fa; }
body[data-page="pitch"] .pitch-source .text-link { color: #f0d2a1; }
body[data-page="pitch"] .pitch-layout { grid-template-columns: 340px minmax(0, 1fr); gap: 24px; }

@media (min-width: 1500px) {
  .training-intro-line { flex-direction: row; align-items: center; justify-content: space-between; }
  .live-training { grid-template-columns: 340px minmax(0, 1fr); }
}
@media (max-width: 1180px) {
  .dialogue-setup { grid-template-columns: 1fr; }
  .preparation-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
  .preparation-preview > .persona-preview { grid-column: 1 / -1; }
  .preparation-preview .persona-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .live-training { grid-template-columns: 260px minmax(0, 1fr); gap: 18px; }
  .live-persona { padding: 16px; }
  .chat-messages { padding: 18px 14px; }
  body[data-page="pitch"] .pitch-layout { grid-template-columns: 290px minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 1000px) {
  .live-training { grid-template-columns: 1fr; }
  .conversation-workspace { position: static; display: block; height: auto; min-height: 0; }
  .chat-panel { height: 690px; }
  .live-sidebar { order: 2; display: grid; grid-template-columns: 1fr; }
  .live-persona .persona-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-persona .persona-fields > div:nth-last-child(-n+3) { grid-column: 1 / -1; }
}
@media (max-width: 800px) {
  .page-heading h1 { font-size: 27px; }
  .page-heading p { font-size: 16px; }
  main { padding: 24px 16px 36px; }
  .topbar { min-height: 60px; }
  .breadcrumb strong, .role-select-label select { font-size: 14px; }
  .role-select-label select { max-width: 96px; }
  .internal-strip span { font-size: 11px; }
  .hero-card p, .stat-top > span:first-child, .stat-sub, .path-card p { font-size: 14px; }
  .hero-art { opacity: .4; }
  .hero-card h2, .hero-card p { max-width: 100%; }
  .panel-heading h2 { font-size: 20px; }
  .form-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .training-intro-line { gap: 18px; }
  .stepper { gap: 9px; font-size: 13px; }
  .stepper > i { display: none; }
  .stepper b { width: 24px; height: 24px; font-size: 12px; }
  .surface-legend { gap: 10px 16px; font-size: 12px; }
  .config-panel .panel-heading, .config-panel .form-body { padding: 20px; }
  .config-panel .form-footer { padding: 16px 20px; }
  .config-panel .form-footer .btn { width: 100%; }
  .preparation-preview { display: flex; }
  .preparation-preview .persona-fields, .dialogue-confirm .persona-fields { grid-template-columns: 1fr 1fr; }
  .system-panel { padding: 20px; }
  .surface-heading { flex-wrap: wrap; gap: 10px; }
  .surface-tag { flex-shrink: 1; text-align: left; }
  .guide-columns { grid-template-columns: 1fr; gap: 28px; }
  .chat-panel { height: 690px; min-height: 0; }
  .chat-header { padding: 13px 16px; }
  .chat-client-name { max-width: 220px; }
  .chat-messages { padding: 20px 14px; min-height: 190px; }
  .message { max-width: 100%; gap: 7px; }
  .message-avatar { width: 26px; height: 26px; font-size: 13px; }
  .bubble { padding: 13px; font-size: 18px; }
  .chat-composer { padding: 16px; }
  .chat-composer textarea { font-size: 18px; }
  .composer-toolbar > div { gap: 5px; }
  .composer-toolbar .btn { padding: 5px; font-size: 13px; }
  .composer-toolbar #send-btn { padding: 8px 16px; min-width: 80px; }
  .practice-scope { padding: 9px 16px; flex-wrap: wrap; }
  .dialogue-confirm-actions { bottom: 0; }
  .dialogue-confirm-actions .btn { flex: 1 1 140px; }
  .dialogue-confirm-actions .muted { width: 100%; }
  .field-list dt, .field-list dd { font-size: 15px; }
  .pitch-text { font-size: 18px; }
  body[data-page="pitch"] .pitch-layout { grid-template-columns: 1fr; }
  .pitch-config { order: 0; }
  .pitch-editor { order: 1; }
}
@media (max-width: 430px) {
  main { padding-left: 12px; padding-right: 12px; }
  .page-heading h1 { font-size: 26px; }
  .customer-input-grid { grid-template-columns: 1fr; }
  .customer-source-options { gap: 8px; }
  .source-option { padding: 12px 9px; gap: 6px; }
  .source-option.selected { padding: 11px 8px; }
  .source-option strong { font-size: 15px; }
  .source-option small { font-size: 12px; }
  .persona-fields, .preparation-preview .persona-fields, .dialogue-confirm .persona-fields, .live-persona .persona-fields { grid-template-columns: 1fr; }
  .brief-facts { grid-template-columns: 1fr; }
  .objection-list { grid-template-columns: 1fr; }
  .chat-panel { height: 730px; }
  .composer-toolbar { align-items: center; }
  .composer-toolbar > div { flex: 1 1 100%; justify-content: space-between; }
  .composer-toolbar #send-btn { width: 100%; }
  .composer-footnote { font-size: 11px; }
  .surface-heading > span:first-child { font-size: 15px; }
  #toast { font-size: 14px; }
}
@media print {
  .system-panel, .dialogue-page, body[data-page="dialogue"] .app-main { background: #fff; color: #142c42; border-color: #aebfce; }
  .system-panel p, .system-panel h2, .system-panel h3, .system-panel h4, .system-panel .persona-fields dt, .system-panel .persona-fields dd { color: #142c42; }
  .conversation-workspace { position: static; }
}
