/* Responsive Talk chooser + Progress dashboard */
:root{--content-max:1100px}
html{-webkit-text-size-adjust:100%}body{min-width:0}.shell{width:100%}

.talkChooserBackdrop{position:fixed;inset:0;z-index:90;background:rgba(24,47,40,.46);display:grid;align-items:end;justify-items:center;padding-top:env(safe-area-inset-top);backdrop-filter:blur(8px)}
.talkChooserBackdrop.hidden{display:none}.talkChooserSheet{width:min(720px,100%);max-height:92dvh;overflow:auto;background:linear-gradient(180deg,#eef9f6,#fffaf4);border-radius:32px 32px 0 0;padding:16px clamp(16px,4vw,28px) max(24px,env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(22,57,47,.19)}
.talkChooserTop{display:flex;justify-content:flex-end}.talkChooserClose{width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#376b5d;font-size:26px}.talkChooserIntro{text-align:center;padding:1px 12px 16px}.talkChooserMark{width:64px;height:64px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:29px;background:linear-gradient(135deg,#28adb8,#7bd7c5);box-shadow:0 11px 28px rgba(38,173,184,.2)}.talkChooserIntro h2{margin:0 0 6px;font-size:clamp(24px,5vw,32px)}.talkChooserIntro p{margin:0 auto;color:#6b7974;line-height:1.45;max-width:560px;font-size:clamp(13px,2vw,15px)}
.talkModeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.talkModeChoice{border:0;border-radius:24px;padding:17px;text-align:left;min-height:154px;color:#243a32;box-shadow:0 8px 23px rgba(34,61,52,.07);position:relative}.talkModeChoice:nth-child(1){background:linear-gradient(145deg,#e9f7f2,#fff)}.talkModeChoice:nth-child(2){background:linear-gradient(145deg,#e9f7ff,#fff)}.talkModeChoice:nth-child(3){background:linear-gradient(145deg,#fff2e5,#fff)}.talkModeChoice:nth-child(4){background:linear-gradient(145deg,#f0edff,#fff)}.talkModeIcon{width:43px;height:43px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.84);font-size:21px;margin-bottom:11px}.talkModeChoice b{display:block;font-size:17px;margin-bottom:5px;padding-right:20px}.talkModeChoice span{display:block;color:#6d7a75;font-size:12px;line-height:1.4}.talkModeChoice:after{content:'›';position:absolute;right:15px;top:15px;font-size:23px;color:#7f948c}.talkChooserHint{text-align:center;font-size:11px;color:#77857f;margin:15px 8px 0;line-height:1.4}

.progressDashboard{margin-top:12px}.progressWelcome{background:linear-gradient(135deg,#2f9c82,#8fd1ad);color:#fff;border-radius:25px;padding:clamp(17px,3vw,24px);margin:12px 0;box-shadow:0 10px 25px rgba(47,156,130,.14)}.progressWelcome h3{margin:0 0 5px;font-size:clamp(20px,3vw,25px)}.progressWelcome p{margin:0;opacity:.94;line-height:1.42;font-size:13px}.progressGrid{display:grid;grid-template-columns:1fr;gap:12px}.progressSection{background:#fff;border-radius:24px;padding:17px;margin:0;box-shadow:0 7px 20px rgba(34,61,52,.055);min-width:0}.progressSection h3{margin:0 0 4px}.progressSectionSub{color:#78857f;font-size:11px;margin:0 0 15px}.trendChart{height:160px;display:flex;align-items:flex-end;gap:clamp(4px,1vw,8px);padding:8px 2px 0;border-bottom:1px solid #e3e9e5;overflow:hidden}.trendCol{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}.trendBars{width:100%;height:120px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.trendBar{width:min(13px,38%);min-height:4px;border-radius:8px 8px 3px 3px}.trendBar.mood{background:#4cae91}.trendBar.energy{background:#e8b56e}.trendLabel{font-size:9px;color:#84908b;white-space:nowrap}.chartLegend{display:flex;gap:16px;align-items:center;margin-top:11px;font-size:11px;color:#66756f}.legendDot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.legendDot.mood{background:#4cae91}.legendDot.energy{background:#e8b56e}.progressInsight{padding:12px 13px;border-radius:16px;background:#f5faf7;color:#52665e;font-size:12px;line-height:1.45;margin-top:11px}.progressGoals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.progressGoalStat{background:#f7f7f3;border-radius:16px;padding:13px 8px;text-align:center}.progressGoalStat b{display:block;font-size:21px;color:#376f5e}.progressGoalStat span{display:block;font-size:10px;color:#77847f;margin-top:3px}.plusInsightTeaser{border:1px solid #e7d6ae;background:linear-gradient(135deg,#fff9eb,#fff);border-radius:19px;padding:14px;margin-top:12px}.plusInsightTeaser b{display:block;margin-bottom:4px}.plusInsightTeaser span{display:block;color:#786e5c;font-size:11px;line-height:1.4}.plusInsightTeaser button{border:0;background:transparent;color:#357f69;font-weight:800;padding:9px 0 0}

/* Phone: one-column controls and smaller padding. */
@media(max-width:520px){.talkModeGrid{grid-template-columns:1fr}.talkModeChoice{min-height:116px;padding:15px 16px;display:grid;grid-template-columns:48px 1fr;column-gap:11px;align-items:start}.talkModeIcon{grid-row:1/3;margin:0}.talkModeChoice b{margin-top:3px}.talkModeChoice span{grid-column:2}.talkChooserSheet{border-radius:28px 28px 0 0}.progressGoals{grid-template-columns:repeat(3,1fr)}.trendChart{height:145px}}

/* Tablet: use the extra width without stretching text too far. */
@media(min-width:600px) and (max-width:899px){.talkChooserSheet{width:min(780px,94vw);border-radius:32px;margin-bottom:18px;max-height:88dvh}.talkChooserBackdrop{align-items:center}.talkModeGrid{gap:14px}.talkModeChoice{min-height:165px;padding:20px}.progressGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.progressSection.wide{grid-column:1/-1}.toolBody{max-width:820px;margin-inline:auto;padding-inline:clamp(18px,4vw,34px)}}

/* Desktop/web: expand the app canvas and present dialogs as centered cards. */
@media(min-width:900px){.shell{max-width:1100px}.homeBody,.toolBody,.screen{max-width:var(--content-max);margin-inline:auto}.talkChooserBackdrop{align-items:center;padding:28px}.talkChooserSheet{width:min(900px,92vw);border-radius:34px;max-height:88dvh;padding:20px 28px 30px}.talkModeGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.talkModeChoice{min-height:190px;padding:20px}.progressGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.progressSection.wide{grid-column:1/-1}.toolBody{padding-left:26px;padding-right:26px}.bottomNav{max-width:1100px;left:50%;transform:translateX(-50%)}.composer{max-width:1100px}}

/* Large desktop: stop cards becoming excessively wide. */
@media(min-width:1300px){.shell{max-width:1180px}.homeBody,.toolBody,.screen{max-width:1120px}.bottomNav,.composer{max-width:1180px}}

@media(orientation:landscape) and (max-height:560px){.talkChooserSheet{max-height:96dvh}.talkChooserIntro{padding-bottom:9px}.talkChooserMark{width:48px;height:48px;font-size:22px}.talkModeChoice{min-height:105px}}
