:root { --coach-ink:#332c34; --coach-muted:#887e84; --coach-line:#eadfd8; --coach-rose:#e76d65; --coach-rose-dark:#c95450; --coach-cream:#fbf6f1; --coach-mint:#5a9c84; }
* { box-sizing:border-box; }
.coach-body { min-height:100vh; overflow-x:hidden; color:var(--coach-ink); background:radial-gradient(circle at 14% 0,rgba(255,220,211,.48),transparent 28rem),linear-gradient(180deg,#fffdfa 0,#f8f1eb 100%); }
.coach-auth-card { width:min(440px,calc(100vw - 32px)); }
.coach-app { width:min(1440px,100%); min-height:100vh; margin:0 auto; padding:0 clamp(20px,4vw,64px) 70px; }
.coach-app[aria-hidden="true"] { visibility:hidden; }
.coach-topbar { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid rgba(215,197,187,.72); }
.coach-brand { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; font-size:12px; font-weight:850; letter-spacing:.08em; }.coach-brand > span:last-child { display:grid; }.coach-brand small { margin-top:2px; color:var(--coach-muted); font-size:8px; font-weight:700; letter-spacing:.12em; }
.coach-top-actions { display:flex; align-items:center; gap:16px; }.coach-top-actions a,.coach-top-actions button { color:var(--coach-muted); text-decoration:none; font-size:11px; font-weight:750; }.privacy-pill { display:flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid rgba(86,153,129,.18); border-radius:999px; color:#4b816f; background:rgba(231,246,240,.72); font-size:9px; font-weight:760; }.privacy-pill i { width:6px; height:6px; border-radius:50%; background:#65a88f; box-shadow:0 0 0 4px rgba(90,156,132,.1); }
.coach-intro { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:70px; padding:70px 0 44px; }.coach-eyebrow,.panel-heading > span,.result-heading span,.reply-heading > div > span,.how-it-works > span { color:var(--coach-rose-dark); font-size:9px; font-weight:850; letter-spacing:.15em; }.coach-intro h1 { margin:12px 0 0; font:500 clamp(44px,6vw,78px)/.98 Georgia,"Noto Serif SC",serif; letter-spacing:-.055em; }.coach-intro h1 em { color:var(--coach-rose); font-style:normal; }.intro-side p { margin:0; color:var(--coach-muted); font-size:14px; line-height:1.8; }.platform-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }.platform-row span { padding:7px 9px; border:1px solid var(--coach-line); border-radius:999px; color:#746970; background:rgba(255,255,255,.72); font-size:9px; }
.coach-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr); gap:18px; align-items:start; }
.coach-input-card,.coach-result-card { border:1px solid rgba(224,208,199,.9); border-radius:28px; background:rgba(255,255,255,.82); box-shadow:0 25px 70px rgba(83,58,47,.08); backdrop-filter:blur(18px); }.coach-input-card { display:grid; gap:22px; padding:26px; }.coach-result-card { min-height:742px; overflow:hidden; }
.panel-heading,.result-heading,.reply-heading { display:flex; align-items:flex-start; gap:13px; }.panel-heading > span { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; color:white; background:var(--coach-rose); }.panel-heading h2,.result-heading h2 { margin:0; font-size:20px; letter-spacing:-.02em; }.panel-heading p { margin:5px 0 0; color:var(--coach-muted); font-size:11px; }.clear-button,.result-heading button { margin-left:auto; padding:6px 8px; border:0; color:var(--coach-muted); background:transparent; font-size:10px; }
.field-block { display:grid; gap:9px; }.field-block > label,.field-label label,.two-fields label { color:#51484e; font-size:11px; font-weight:800; }.field-label { display:flex; justify-content:space-between; gap:10px; }.field-label small { color:#aaa0a6; font-size:9px; }.field-block textarea,.two-fields input,.two-fields select { width:100%; border:1px solid var(--coach-line); color:var(--coach-ink); background:#fffdfb; outline:0; transition:.18s ease; }.field-block textarea { min-height:150px; padding:16px; border-radius:16px; font-size:14px; line-height:1.75; resize:vertical; }.field-block textarea:focus,.two-fields input:focus,.two-fields select:focus { border-color:rgba(231,109,101,.55); box-shadow:0 0 0 4px rgba(231,109,101,.08); }.field-block textarea::placeholder,.two-fields input::placeholder { color:#b7adb1; }.example-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }.example-row span { color:#a49a9f; font-size:9px; }.example-row button { padding:5px 8px; border:1px solid #eee2db; border-radius:999px; color:#88777e; background:#faf5f1; font-size:8px; }
.choice-row { display:flex; flex-wrap:wrap; gap:7px; }.choice-row button { padding:8px 11px; border:1px solid var(--coach-line); border-radius:999px; color:var(--coach-muted); background:white; font-size:10px; }.choice-row button.active { color:white; border-color:var(--coach-rose); background:var(--coach-rose); box-shadow:0 7px 17px rgba(231,109,101,.18); }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.choice-grid button { min-width:0; display:flex; align-items:center; gap:10px; padding:11px; border:1px solid var(--coach-line); border-radius:14px; color:var(--coach-ink); background:white; text-align:left; }.choice-grid button > i { width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:var(--coach-rose); background:#fff0ec; font:700 14px Georgia,serif; }.choice-grid button span,.choice-grid button small { display:block; }.choice-grid button span { font-size:11px; font-weight:800; }.choice-grid button small { margin-top:2px; color:var(--coach-muted); font-size:8px; font-weight:500; }.choice-grid button.active { border-color:rgba(231,109,101,.46); background:#fffaf8; box-shadow:inset 0 0 0 1px rgba(231,109,101,.12); }.choice-grid button.active > i { color:white; background:var(--coach-rose); }
.two-fields { display:grid; grid-template-columns:.7fr 1.3fr; gap:10px; }.two-fields label { display:grid; gap:7px; }.two-fields input,.two-fields select { min-width:0; height:43px; padding:0 12px; border-radius:12px; font-size:11px; }
.analyze-button { height:52px; display:flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:16px; color:white; background:linear-gradient(135deg,#ec756d,#d95d58); box-shadow:0 13px 28px rgba(217,93,88,.22); font-size:13px; font-weight:850; }.analyze-button b { width:24px; height:24px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.18); }.analyze-button:disabled { opacity:.62; cursor:wait; }.consent-note { margin:-10px 0 0; color:#9c9297; font-size:8px; text-align:center; }.consent-note i { color:var(--coach-mint); font-style:normal; }
.result-empty,.result-loading { min-height:742px; display:grid; place-content:center; justify-items:center; padding:50px; text-align:center; }.empty-heart { position:relative; width:108px; height:108px; display:grid; place-items:center; }.empty-heart i,.thinking-orbit::before { position:absolute; inset:0; content:""; border:1px solid #eadbd3; border-radius:50%; }.empty-heart i::before { position:absolute; inset:13px; content:""; border:1px dashed #edc8c1; border-radius:50%; }.empty-heart span { width:60px; height:60px; display:grid; place-items:center; border-radius:21px; color:white; background:var(--coach-rose); box-shadow:0 15px 35px rgba(231,109,101,.24); font:24px Georgia,serif; }.result-empty h2,.result-loading h2 { margin:22px 0 8px; font:500 26px Georgia,"Noto Serif SC",serif; }.result-empty > p,.result-loading p { max-width:350px; margin:0; color:var(--coach-muted); font-size:11px; line-height:1.7; }.result-empty ol { display:grid; gap:9px; margin:28px 0 0; padding:0; list-style:none; text-align:left; }.result-empty li { display:flex; align-items:center; gap:10px; color:#756b70; font-size:10px; }.result-empty li span { width:20px; height:20px; display:grid; place-items:center; border-radius:7px; color:var(--coach-rose-dark); background:#fff0eb; font-size:8px; font-weight:850; }
.thinking-orbit { position:relative; width:88px; height:88px; display:grid; place-items:center; }.thinking-orbit::before { border-top-color:var(--coach-rose); animation:spin 1.1s linear infinite; }.thinking-orbit span { color:var(--coach-rose); font:25px Georgia,serif; animation:pulse 1.2s ease-in-out infinite; }@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(.85);opacity:.65}}
.result-content { padding:27px; }.result-content[hidden],.result-empty[hidden],.result-loading[hidden] { display:none; }.result-heading { padding-bottom:18px; border-bottom:1px solid var(--coach-line); }.result-heading > div { min-width:0; }.result-heading h2 { margin-top:7px; font-size:18px; line-height:1.55; }.emotion-list { display:flex; flex-wrap:wrap; gap:7px; margin:15px 0; }.emotion-chip { padding:7px 9px; border-radius:10px; color:#76595f; background:#fff0ed; font-size:9px; }.emotion-chip b { color:var(--coach-rose-dark); }.emotion-chip small { margin-left:5px; color:#927e83; }
.insight-box { padding:15px; border:1px solid #ebdfd8; border-radius:16px; background:linear-gradient(135deg,#fffaf7,#f7f2ee); }.insight-box > span,.strategy-line > span,.avoid-box > span { color:var(--coach-rose-dark); font-size:8px; font-weight:850; letter-spacing:.09em; }.insight-box p,.strategy-line p { margin:7px 0 0; font-size:11px; line-height:1.65; }.insight-box small { display:block; margin-top:8px; color:#9a8f94; font-size:8px; line-height:1.55; }.strategy-line { display:grid; grid-template-columns:74px 1fr; gap:8px; align-items:start; padding:13px 3px; }.strategy-line p { margin:0; color:#695f64; }
.reply-section { margin:2px -27px 0; padding:22px 27px; border-top:1px solid var(--coach-line); border-bottom:1px solid var(--coach-line); background:rgba(251,246,241,.72); }.reply-heading { justify-content:space-between; }.reply-heading h3 { margin:5px 0 0; font:500 20px Georgia,"Noto Serif SC",serif; }.reply-heading > small { color:#9b9095; font-size:8px; }.reply-list { display:grid; gap:10px; margin-top:15px; }.reply-option { position:relative; padding:15px 78px 14px 15px; border:1px solid #eadfd8; border-radius:16px; background:white; box-shadow:0 7px 23px rgba(74,55,48,.04); }.reply-option > span { color:var(--coach-rose-dark); font-size:8px; font-weight:850; }.reply-option p { margin:7px 0 6px; font-size:12px; line-height:1.7; }.reply-option small { color:#9a8f94; font-size:8px; line-height:1.45; }.copy-reply { position:absolute; top:14px; right:13px; padding:7px 10px; border:1px solid rgba(231,109,101,.2); border-radius:10px; color:var(--coach-rose-dark); background:#fff5f1; font-size:9px; font-weight:850; }.copy-reply.copied { color:white; border-color:var(--coach-mint); background:var(--coach-mint); }
.avoid-box { margin-top:16px; padding:14px; border-radius:15px; background:#fff5ef; }.avoid-box ul { display:grid; gap:6px; margin:8px 0 0; padding:0; list-style:none; }.avoid-box li { position:relative; padding-left:12px; color:#765f62; font-size:9px; line-height:1.55; }.avoid-box li::before { position:absolute; left:0; content:"×"; color:var(--coach-rose); font-weight:900; }.safety-box { margin-top:10px; padding:13px; border:1px solid rgba(186,78,72,.2); border-radius:13px; color:#8d4745; background:#fff0ee; font-size:9px; line-height:1.65; }.result-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }.result-footer span { color:#a1979b; font-size:8px; }.result-footer button { padding:7px 9px; border:0; border-radius:9px; color:#5f8e7d; background:#edf7f3; font-size:8px; }
.how-it-works { margin-top:42px; padding-top:24px; border-top:1px solid rgba(215,197,187,.72); }.how-it-works > div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; }.how-it-works article { position:relative; padding:20px; border:1px solid var(--coach-line); border-radius:18px; background:rgba(255,255,255,.5); }.how-it-works b { position:absolute; top:17px; right:18px; color:#e5c9c3; font:500 30px Georgia,serif; }.how-it-works h3 { margin:0 0 7px; font-size:13px; }.how-it-works p { margin:0; max-width:82%; color:var(--coach-muted); font-size:9px; line-height:1.65; }
.auto-mode-section { margin-top:42px; padding:30px; border:1px solid rgba(219,201,191,.9); border-radius:28px; color:#f9f2ee; background:linear-gradient(145deg,#36303a,#282630 68%,#24232b); box-shadow:0 24px 65px rgba(47,39,47,.16); }
.auto-mode-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }.auto-mode-heading > div:first-child { max-width:720px; }.auto-mode-heading > div:first-child > span { color:#f08d82; font-size:9px; font-weight:850; letter-spacing:.16em; }.auto-mode-heading h2 { margin:9px 0 7px; color:white; font:500 clamp(25px,3.2vw,39px)/1.12 Georgia,"Noto Serif SC",serif; letter-spacing:-.035em; }.auto-mode-heading p { margin:0; color:#bdb2bb; font-size:11px; line-height:1.7; }
.auto-master-state { flex:0 0 auto; display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid rgba(255,255,255,.1); border-radius:15px; background:rgba(255,255,255,.055); }.auto-master-state > i { width:10px; height:10px; border-radius:50%; background:#918995; box-shadow:0 0 0 5px rgba(255,255,255,.04); }.auto-master-state span,.auto-master-state b,.auto-master-state small { display:block; }.auto-master-state b { color:white; font-size:10px; }.auto-master-state small { margin-top:2px; color:#a9a0a8; font-size:8px; }.auto-master-state[data-state="ready"] > i { background:#68bf9d; box-shadow:0 0 0 5px rgba(104,191,157,.12); }.auto-master-state[data-state="off"] > i { background:#e9897f; box-shadow:0 0 0 5px rgba(233,137,127,.11); }
.platform-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:24px; }.platform-status-card { position:relative; min-width:0; display:grid; grid-template-columns:43px minmax(0,1fr); gap:12px; padding:16px; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:rgba(255,255,255,.045); }.platform-status-card.primary { background:linear-gradient(135deg,rgba(231,109,101,.14),rgba(255,255,255,.045)); }.platform-status-card.muted { opacity:.72; }.platform-icon { width:43px; height:43px; display:grid; place-items:center; border-radius:14px; color:white; background:#5794ce; font-size:10px; font-weight:900; }.platform-icon.whatsapp { background:#54aa82; }.platform-icon.wechat { background:#74a966; font-size:16px; }.platform-status-copy { min-width:0; padding-right:52px; }.platform-status-copy > span { color:#8f858f; font-size:7px; font-weight:850; letter-spacing:.1em; }.platform-status-copy h3 { margin:4px 0 5px; color:white; font-size:12px; }.platform-status-copy p { margin:0; color:#aaa0a8; font-size:8px; line-height:1.55; }.connection-badge { position:absolute; top:15px; right:14px; padding:5px 7px; border-radius:999px; color:#e9a49b; background:rgba(231,109,101,.12); font-size:7px; }.connection-badge.ready,.connection-badge.safe { color:#87cbb0; background:rgba(90,156,132,.13); }.connection-badge.pending { color:#c4a77f; background:rgba(194,155,99,.12); }
.guardrail-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }.guardrail-strip > div { min-width:0; display:flex; align-items:center; gap:9px; padding:11px; border-radius:14px; background:rgba(255,255,255,.05); }.guardrail-strip i { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#f09a90; background:rgba(231,109,101,.1); font-style:normal; font-size:10px; font-weight:850; }.guardrail-strip span,.guardrail-strip b,.guardrail-strip small { min-width:0; display:block; }.guardrail-strip b { color:#eae3e7; font-size:9px; }.guardrail-strip small { margin-top:3px; overflow:hidden; color:#928993; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.auto-setup-note { margin:14px 1px 0; color:#958b95; font-size:8px; line-height:1.6; }
@media(max-width:980px){.coach-intro{grid-template-columns:1fr;gap:20px}.coach-grid{grid-template-columns:1fr}.coach-result-card,.result-empty,.result-loading{min-height:600px}}
@media(max-width:980px){.platform-status-grid{grid-template-columns:1fr}.guardrail-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.coach-app{padding:0 12px 38px}.coach-topbar{min-height:66px}.coach-top-actions{gap:8px}.coach-top-actions a{display:none}.privacy-pill{padding:6px 8px;font-size:8px}.coach-intro{padding:42px 5px 28px}.coach-intro h1{font-size:45px}.intro-side p{font-size:12px}.coach-input-card,.coach-result-card{border-radius:20px}.coach-input-card{padding:18px;gap:19px}.panel-heading p{line-height:1.5}.choice-grid,.two-fields{grid-template-columns:1fr}.result-content{padding:19px}.reply-section{margin-inline:-19px;padding-inline:19px}.reply-heading>small{display:none}.reply-option{padding-right:68px}.result-empty,.result-loading{min-height:540px;padding:28px 20px}.auto-mode-section{padding:20px;border-radius:21px}.auto-mode-heading{align-items:flex-start;flex-direction:column;gap:17px}.auto-master-state{width:100%}.guardrail-strip{grid-template-columns:1fr}.how-it-works>div{grid-template-columns:1fr}.how-it-works p{max-width:90%}}

/* Readability pass: keep the editorial layout while making every working label easy to scan. */
.coach-brand { font-size:14px; }
.coach-brand small { font-size:10px; }
.coach-top-actions a,.coach-top-actions button { font-size:13px; }
.privacy-pill { font-size:11px; }
.coach-eyebrow,.panel-heading > span,.result-heading span,.reply-heading > div > span,.how-it-works > span { font-size:11px; }
.platform-row span { font-size:11px; }
.panel-heading h2,.result-heading h2 { font-size:23px; }
.panel-heading p { font-size:13px; line-height:1.55; }
.clear-button,.result-heading button { font-size:12px; }
.field-block > label,.field-label label,.two-fields label { font-size:13px; }
.field-label small { font-size:11px; }
.field-block textarea { font-size:16px; line-height:1.7; }
.example-row span { font-size:11px; }
.example-row button { font-size:10px; }
.choice-row button { font-size:12px; }
.choice-grid button span { font-size:13px; }
.choice-grid button small { font-size:10px; line-height:1.4; }
.two-fields input,.two-fields select { height:47px; font-size:13px; }
.analyze-button { height:56px; font-size:15px; }
.consent-note { font-size:10px; }
.result-empty > p,.result-loading p { font-size:13px; }
.result-empty li { font-size:12px; }
.result-heading h2 { font-size:21px; line-height:1.5; }
.emotion-chip { font-size:11px; line-height:1.4; }
.insight-box > span,.strategy-line > span,.avoid-box > span { font-size:10px; }
.insight-box p,.strategy-line p { font-size:14px; line-height:1.7; }
.insight-box small { font-size:10px; line-height:1.6; }
.strategy-line { grid-template-columns:90px 1fr; }
.reply-heading h3 { font-size:23px; }
.reply-heading > small { font-size:10px; }
.reply-option { padding-top:18px; padding-bottom:17px; }
.reply-option > span { font-size:10px; }
.reply-option p { font-size:15px; line-height:1.75; }
.reply-option small { font-size:10px; line-height:1.55; }
.copy-reply { font-size:11px; }
.avoid-box li,.safety-box { font-size:11px; }
.result-footer span,.result-footer button { font-size:10px; }
.how-it-works p { font-size:11px; }
.auto-mode-heading > div:first-child > span { font-size:11px; }
.auto-mode-heading p { font-size:13px; }
.auto-master-state b { font-size:12px; }
.auto-master-state small { font-size:10px; }
.platform-status-copy > span,.connection-badge { font-size:9px; }
.platform-status-copy h3 { font-size:14px; }
.platform-status-copy p { font-size:10px; }
.guardrail-strip b { font-size:11px; }
.guardrail-strip small { font-size:9px; }
.auto-setup-note { font-size:10px; }

@media(max-width:640px){
  .coach-brand{font-size:13px}
  .coach-brand small{font-size:9px}
  .privacy-pill{font-size:10px}
  .intro-side p{font-size:14px}
  .panel-heading h2,.result-heading h2{font-size:21px}
  .field-block textarea{font-size:16px}
  .reply-option{padding-right:74px}
  .reply-option p{font-size:15px}
}

/* Larger reading mode requested for the coach workspace. */
.coach-brand { font-size:16px; }
.coach-brand small { font-size:12px; }
.coach-top-actions a,.coach-top-actions button { font-size:15px; }
.privacy-pill { font-size:13px; }
.coach-eyebrow,.panel-heading > span,.result-heading span,.reply-heading > div > span,.how-it-works > span { font-size:13px; }
.platform-row span { font-size:13px; }
.panel-heading h2,.result-heading h2 { font-size:25px; }
.panel-heading p { font-size:15px; }
.clear-button,.result-heading button { font-size:14px; }
.field-block > label,.field-label label,.two-fields label { font-size:15px; }
.field-label small { font-size:13px; }
.field-block textarea { font-size:18px; }
.example-row span { font-size:13px; }
.example-row button { font-size:12px; }
.choice-row button { font-size:14px; }
.choice-grid button span { font-size:15px; }
.choice-grid button small { font-size:12px; }
.two-fields input,.two-fields select { height:50px; font-size:15px; }
.analyze-button { height:58px; font-size:17px; }
.consent-note { font-size:12px; }
.result-empty > p,.result-loading p,.result-empty li { font-size:15px; }
.result-heading h2 { font-size:24px; }
.emotion-chip { font-size:13px; }
.insight-box > span,.strategy-line > span,.avoid-box > span { font-size:12px; }
.insight-box p,.strategy-line p { font-size:16px; }
.insight-box small { font-size:12px; }
.strategy-line { grid-template-columns:104px 1fr; }
.reply-heading h3 { font-size:25px; }
.reply-heading > small { font-size:12px; }
.reply-option > span { font-size:12px; }
.reply-option p { font-size:17px; }
.reply-option small { font-size:12px; }
.copy-reply { font-size:13px; }
.avoid-box li,.safety-box { font-size:13px; }
.result-footer span,.result-footer button { font-size:12px; }
.how-it-works p { font-size:13px; }
.auto-mode-heading > div:first-child > span { font-size:13px; }
.auto-mode-heading p { font-size:15px; }
.auto-master-state b { font-size:14px; }
.auto-master-state small { font-size:12px; }
.platform-status-copy > span,.connection-badge { font-size:11px; }
.platform-status-copy h3 { font-size:16px; }
.platform-status-copy p { font-size:12px; }
.guardrail-strip b { font-size:13px; }
.guardrail-strip small { font-size:11px; }
.auto-setup-note { font-size:12px; }

@media(max-width:640px){
  .coach-brand{font-size:15px}
  .coach-brand small{font-size:11px}
  .privacy-pill{font-size:12px}
  .panel-heading h2,.result-heading h2{font-size:23px}
  .field-block textarea{font-size:18px}
  .reply-option p{font-size:17px}
}

/* Extra-large reading mode. */
.coach-brand { font-size:18px; }
.coach-brand small { font-size:14px; }
.coach-top-actions a,.coach-top-actions button { font-size:17px; }
.privacy-pill { font-size:15px; }
.coach-eyebrow,.panel-heading > span,.result-heading span,.reply-heading > div > span,.how-it-works > span { font-size:15px; }
.platform-row span { font-size:15px; }
.panel-heading h2,.result-heading h2 { font-size:27px; }
.panel-heading p { font-size:17px; }
.clear-button,.result-heading button { font-size:16px; }
.field-block > label,.field-label label,.two-fields label { font-size:17px; }
.field-label small { font-size:15px; }
.field-block textarea { font-size:20px; }
.example-row span { font-size:15px; }
.example-row button { font-size:14px; }
.choice-row button { font-size:16px; }
.choice-grid button span { font-size:17px; }
.choice-grid button small { font-size:14px; }
.two-fields input,.two-fields select { height:54px; font-size:17px; }
.analyze-button { height:62px; font-size:19px; }
.consent-note { font-size:14px; }
.result-empty > p,.result-loading p,.result-empty li { font-size:17px; }
.result-heading h2 { font-size:26px; }
.emotion-chip { font-size:15px; }
.insight-box > span,.strategy-line > span,.avoid-box > span { font-size:14px; }
.insight-box p,.strategy-line p { font-size:18px; }
.insight-box small { font-size:14px; }
.strategy-line { grid-template-columns:120px 1fr; }
.reply-heading h3 { font-size:27px; }
.reply-heading > small { font-size:14px; }
.reply-option > span { font-size:14px; }
.reply-option p { font-size:19px; }
.reply-option small { font-size:14px; }
.copy-reply { font-size:15px; }
.avoid-box li,.safety-box { font-size:15px; }
.result-footer span,.result-footer button { font-size:14px; }
.how-it-works p { font-size:15px; }
.auto-mode-heading > div:first-child > span { font-size:15px; }
.auto-mode-heading p { font-size:17px; }
.auto-master-state b { font-size:16px; }
.auto-master-state small { font-size:14px; }
.platform-status-copy > span,.connection-badge { font-size:13px; }
.platform-status-copy h3 { font-size:18px; }
.platform-status-copy p { font-size:14px; }
.guardrail-strip b { font-size:15px; }
.guardrail-strip small { font-size:13px; }
.auto-setup-note { font-size:14px; }

@media(max-width:640px){
  .coach-brand{font-size:17px}
  .coach-brand small{font-size:13px}
  .privacy-pill{font-size:14px}
  .panel-heading h2,.result-heading h2{font-size:25px}
  .field-block textarea{font-size:20px}
  .reply-option p{font-size:19px}
}

/* Desktop workspace: large type, compact chrome, and both work cards inside the first screen. */
@media(min-width:981px){
  .coach-app{padding-bottom:24px}
  .coach-topbar{min-height:60px}
  .coach-intro{height:112px;grid-template-columns:1.2fr .8fr;align-items:center;gap:36px;padding:9px 0}
  .coach-intro h1{margin-top:5px;font-size:44px;line-height:1;letter-spacing:-.045em;white-space:nowrap}
  .coach-intro h1 br{display:none}
  .intro-side{min-width:0;justify-self:end;width:100%;max-width:540px}
  .intro-side p{font-size:15px;line-height:1.5}
  .platform-row{flex-wrap:nowrap;margin-top:9px}
  .platform-row span{flex:0 0 auto}
  .coach-grid{height:calc(100vh - 196px);min-height:600px;max-height:730px}
  .coach-input-card,.coach-result-card{height:100%;min-height:0}
  .coach-input-card{gap:12px;padding:18px;overflow-y:auto;scrollbar-gutter:stable}
  .coach-result-card{overflow:hidden}
  .result-content{height:100%;overflow-y:auto;scrollbar-gutter:stable}
  .result-empty,.result-loading{height:100%;min-height:0}
  .field-block{gap:6px}
  .field-block textarea{height:120px;min-height:120px;padding:13px}
  .choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .choice-grid button{gap:7px;padding:8px}
  .choice-grid button > i{width:27px;height:27px}
  .two-fields{gap:8px}
  .analyze-button{height:56px}
  .consent-note{margin-top:-6px}
  .result-content{padding:20px}
  .result-heading{padding-bottom:12px}
  .emotion-list{margin:10px 0}
  .insight-box{padding:12px}
  .strategy-line{padding:10px 3px}
  .reply-section{margin-left:-20px;margin-right:-20px;padding:16px 20px}
  .reply-list{gap:8px;margin-top:11px}
  .reply-option{padding-top:13px;padding-bottom:12px}
}

/* Per-contact Telegram controls. */
.contact-manager{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.contact-manager-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.contact-manager-heading>div>span,.contact-editor header span{color:#f08d82;font-size:13px;font-weight:850;letter-spacing:.12em}
.contact-manager-heading h3{margin:6px 0 4px;color:#fff;font-size:24px;letter-spacing:-.025em}
.contact-manager-heading p{margin:0;color:#aaa1aa;font-size:14px;line-height:1.55}
.contact-manager-heading>button{flex:0 0 auto;padding:10px 14px;border:1px solid rgba(255,255,255,.13);border-radius:12px;color:#f3e9ed;background:rgba(255,255,255,.06);font-size:14px;font-weight:750}
.contact-manager-heading>button:disabled{opacity:.55}
.contact-manager-body{margin-top:16px}
.contact-manager-body.editing{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(460px,1.18fr);gap:14px;align-items:start}
.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-manager-body.editing .contact-list{grid-template-columns:1fr}
.contact-list-empty{grid-column:1/-1;margin:0;padding:24px;border:1px dashed rgba(255,255,255,.12);border-radius:16px;color:#aaa1aa;text-align:center;font-size:14px}
.contact-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.045);transition:border-color .18s ease,background .18s ease}
.contact-card:hover,.contact-card.active{border-color:rgba(240,141,130,.38);background:rgba(240,141,130,.08)}
.contact-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#ea766d,#b95968);font-size:16px;font-weight:900;text-transform:uppercase}
.contact-card-copy{min-width:0}.contact-card-copy h4{margin:0;color:#fff;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-card-copy p{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0 0;color:#aaa1aa;font-size:12px}.contact-card-copy p span{padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.06)}
.contact-card-copy small{display:block;margin-top:6px;color:#817984;font-size:11px}
.contact-card>button{padding:8px 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#f5ebef;background:rgba(255,255,255,.06);font-size:13px;font-weight:750}
.contact-permission{display:inline-flex!important;align-items:center;gap:5px}.contact-permission::before{width:7px;height:7px;border-radius:50%;content:"";background:#e58b82}.contact-permission.ready::before{background:#68bf9d}
.contact-editor{padding:18px;border:1px solid rgba(240,141,130,.25);border-radius:19px;background:rgba(18,17,22,.32)}
.contact-editor[hidden]{display:none}.contact-editor header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.contact-editor header h4{margin:4px 0 0;color:#fff;font-size:20px}.contact-editor header button{width:34px;height:34px;border:0;border-radius:10px;color:#c5bac1;background:rgba(255,255,255,.06);font-size:24px;line-height:1}
.contact-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.contact-editor label{display:grid;gap:6px;color:#d8cfd4;font-size:13px;font-weight:750}.contact-editor label.wide{grid-column:1/-1}.contact-editor input[type="text"],.contact-editor select,.contact-editor textarea{width:100%;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:11px;color:#fff;background:#312e36;outline:0;font:inherit}.contact-editor input[type="text"],.contact-editor select{height:43px;padding:0 11px}.contact-editor textarea{padding:11px;line-height:1.55;resize:vertical}.contact-editor input:focus,.contact-editor select:focus,.contact-editor textarea:focus{border-color:rgba(240,141,130,.55);box-shadow:0 0 0 3px rgba(240,141,130,.08)}
.contact-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.contact-switches label{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:12px;background:rgba(255,255,255,.05)}.contact-switches input{width:18px;height:18px;margin:1px 0 0;accent-color:#e76d65}.contact-switches span,.contact-switches b,.contact-switches small{display:block}.contact-switches b{color:#f4ebef;font-size:13px}.contact-switches small{margin-top:3px;color:#968d96;font-size:11px;font-weight:500;line-height:1.45}
.contact-editor footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.contact-editor footer small{color:#837b84;font-size:11px}.contact-editor footer button{padding:11px 16px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#ec756d,#d95d58);font-size:14px;font-weight:850}.contact-editor footer button:disabled{opacity:.6}
.contact-discovery-note{margin:13px 0 0;color:#8f8790;font-size:12px;line-height:1.55}

@media(max-width:980px){
  .contact-manager-body.editing{display:block}.contact-manager-body.editing .contact-list{display:none}.contact-list{grid-template-columns:1fr}.contact-editor{margin-top:12px}
}
@media(max-width:640px){
  .contact-manager-heading{align-items:flex-start;flex-direction:column}.contact-manager-heading>button{width:100%}.contact-manager-heading h3{font-size:21px}.contact-editor-grid,.contact-switches{grid-template-columns:1fr}.contact-editor label.wide{grid-column:auto}.contact-editor footer{align-items:stretch;flex-direction:column}.contact-editor footer button{width:100%}
}
