/* COMEBACK product additions: VYRA replies, confirm cards, weekly check-in, account, family. */

/* VYRA replies — rendered from a sanitised markdown subset; direction follows the text (EN/AR). */
.bubble{overflow-wrap:anywhere}
.bubble.vyra-reply p{margin:0 0 8px}
.bubble.vyra-reply p:last-child,.bubble.vyra-reply ul:last-child,.bubble.vyra-reply ol:last-child{margin-bottom:0}
.bubble.vyra-reply ul,.bubble.vyra-reply ol{margin:0 0 8px;padding-inline-start:20px}
.bubble.vyra-reply li{margin:3px 0}
.bubble.vyra-reply strong{color:#fff;font-weight:750}

/* Confirm-before-save card */
.confirm-card{align-self:stretch;border:1px solid var(--gold,#e9cda0);background:#1b2840;border-radius:16px;padding:14px;display:grid;gap:8px}
.confirm-card strong{font-size:15px;line-height:1.4}
.confirm-card .micro{margin:0}
.confirm-actions{display:flex;gap:10px;flex-wrap:wrap}
.confirm-actions .action{min-height:44px;min-width:96px}

/* Weekly check-in */
.recap-card{margin-bottom:18px;border-color:rgba(129,144,255,.45)}
.recap-card h3{margin:4px 0 6px}
.recap-card p{margin:0 0 6px;color:var(--text,#edf2ff)}
.recap-card .action{margin-top:8px;min-height:44px}

/* Product chrome: quiet sync indicator; a problem is one sentence with one button. */
.sync-dot{width:44px;height:44px;border-radius:50%;border:1px solid transparent;background:transparent;color:#8fa0c2;display:grid;place-items:center;padding:0}
.sync-dot[data-phase="connected"]{color:#b3dac5}
.sync-dot[data-phase="pending"],.sync-dot[data-phase="saving"],.sync-dot[data-phase="starting"]{color:#8190ff}
.sync-dot[data-phase="offline"]{color:#e9cda0}
.sync-dot[data-phase="conflict"],.sync-dot[data-phase="blocked"]{color:#ffa087}
.sync-problem{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #7a5a4c;background:#241c22;border-radius:14px;padding:12px 14px;margin-bottom:18px;font-size:13px;line-height:1.5;color:#f2e6e1}
.sync-problem[hidden]{display:none}
.sync-problem span{flex:1;min-width:200px}
.sync-problem .action{min-height:44px}
.avatar{width:44px;height:44px}

/* Home-screen tip */
.install-tip{margin-bottom:18px}
.install-tip h3{margin:4px 0 6px}
.install-tip ol{margin:8px 0 14px;padding-inline-start:22px;line-height:1.7;font-size:14px}

/* Account */
.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;align-items:start}
.account-card{display:grid;gap:12px}
.account-card .action{justify-self:start;white-space:normal;text-align:start;max-width:100%}
.account-fold summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:#dbe3fb}
.account-fold form{margin-top:8px}
.account-card input,.account-card select{display:block;width:100%;min-height:44px;margin-top:6px;padding:10px 12px;border-radius:10px;border:1px solid #3a4868;background:#16233a;color:#fff;font-size:16px}
.privacy-list{margin:0;display:grid;gap:4px}
.privacy-list dt{font-weight:750;color:#fff;margin-top:8px}
.privacy-list dd{margin:0;color:#b8c3dc;line-height:1.6;font-size:13px}

/* Touch targets: every control is at least 44px tall on touch screens (phone, Fold, tablet). */
@media (pointer:coarse),(max-width:900px){
  .action,.action.small,.locale button,.timeropts button,.quickprompts button,.voice-toggle,.voice-mic,.navlink,.choice,.library-item,.movement-preview{min-height:44px}
  .locale button,.timeropts button{min-width:44px}
  .setcheck{height:44px;width:44px}
  .bottomnav button{min-height:48px}
  .step input[type=checkbox]{width:24px;height:24px;flex-shrink:0}
  .step{min-height:44px}
  select,input:not([type=checkbox]):not([type=radio]){min-height:44px}
}
.chatComposer button{min-width:48px;min-height:44px}
[data-account-slot]:empty{display:none}
.account-fold summary{list-style:none;justify-content:space-between;gap:12px}
.account-fold summary::-webkit-details-marker{display:none}
.account-fold summary::after{content:'';width:9px;height:9px;border-inline-end:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-inline-end:6px;transition:transform .15s}
.account-fold[open] summary::after{transform:rotate(-135deg)}

/* Account: people, passkeys, sharing an invitation */
.account-block{display:grid;gap:10px}
.account-block h3{margin:0;font-size:15px}
.inline-form{display:grid;gap:10px}
.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.plain-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.people .person{display:grid;gap:4px;border:1px solid #2c3a57;border-radius:14px;padding:12px 14px;background:#131f33}
.person-line{margin:0;font-size:15px;font-weight:700;color:#fff;line-height:1.5}
.person-actions{display:grid;gap:10px;padding:6px 0 4px}
.person-actions .micro{margin:0;overflow-wrap:anywhere}
.share-box{display:grid;gap:10px;border:1px solid var(--gold,#e9cda0);border-radius:14px;padding:14px;background:#1b2840}
.share-box p{margin:0;line-height:1.5}
.action.danger{background:#5a2330;border-color:#c0596b;color:#fff}
.account-fold.danger summary{color:#ffb4a6}
.account-card .callout{margin:0}
/* The decorative hero dot sat on top of the "next planned session" line on phones. */
@media(max-width:600px){.heroRingDot{display:none}}
