/* Shared mobile light palette: ios/Theme.swift, Android Color.kt, workspace style.css. */
:root { color-scheme: light; --bg:#f1f4f8; --card:#fff; --text:#182c46; --muted:#4b5e75; --line:#cad5e2; --accent:#203e61; --link:#285a8c; --gold:#e2bb76; --hover:#dce6f1; --warm:#ebf2fa; --good:#18724d; --warning:#946000; --error:#bc3346; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; background:var(--bg); color:var(--text); line-height:1.8; font-size:17px; }
a { color:var(--link); text-underline-offset:.2em; text-decoration-thickness:1px; }
a:hover { text-decoration:underline; }
::selection { background:var(--hover); color:var(--text); }
:focus-visible { outline:3px solid var(--link); outline-offset:4px; }
.skip-link { position:absolute; inset-inline-start:16px; top:-100px; padding:10px 20px; background:var(--card); z-index:3; }
.skip-link:focus { top:12px; }
.site-header { background:var(--card); border-top:4px solid var(--gold); border-bottom:1px solid var(--line); }
.header-inner { max-width:1200px; margin:auto; padding:20px 32px; display:flex; gap:28px; align-items:center; justify-content:space-between; }
.site-brand { display:flex; gap:12px; align-items:center; direction:ltr; font-size:24px; font-weight:750; text-decoration:none; color:var(--accent); flex-shrink:0; }
.site-brand img { width:48px; height:48px; border-radius:12px; }
.site-nav { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; font-size:14px; }
.site-nav a { text-decoration:none; padding:6px 0; min-height:36px; }
.site-nav a:hover { text-decoration:underline; }
.site-nav a[aria-current=page] { font-weight:750; text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:3px; }
.site-nav .therapist-link { padding:10px 16px; background:var(--accent); color:white; border-radius:10px; }
main { width:min(100%,960px); margin:auto; padding:56px 32px 20px; }
.card { background:var(--card); padding:clamp(24px,4vw,56px); border-radius:16px; border:1px solid var(--line); }
h1,h2 { line-height:1.35; text-wrap:balance; }
h1 { font-size:clamp(28px,3.4vw,42px); margin:0 0 26px; }
h2 { font-size:23px; margin:36px 0 10px; }
p { margin:0 0 20px; }
li { margin-block:8px; }
ul,ol { padding-inline-start:26px; }
.card > :last-child { margin-bottom:0; }
.document-page .card { max-width:78ch; margin:auto; }
.meta,.muted { color:var(--muted); }
.site-footer { max-width:1200px; margin:auto; padding:32px; color:var(--muted); font-size:14px; display:flex; gap:18px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.footer-links { display:flex; flex-wrap:wrap; gap:10px 20px; }
.store-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0; }
.store-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:52px; padding:12px 22px; border-radius:11px; background:var(--accent); color:#fff; text-decoration:none; font-weight:650; border:1px solid var(--accent); }
.store-button:hover { background:#172f4c; color:#fff; text-decoration:none; }
.store-button.secondary { background:white; color:var(--accent); }
.store-button.secondary:hover { background:var(--warm); }
.home-page .card { padding:clamp(28px,5vw,64px); }
.home-page h1 { font-size:clamp(44px,6vw,64px); color:var(--accent); direction:ltr; text-align:right; }
.home-page .card > p:first-of-type { font-size:clamp(20px,2.2vw,26px); max-width:40ch; line-height:1.7; }
.home-page .card > p:nth-of-type(2) { color:var(--muted); max-width:65ch; }
.home-page .store-button:first-child { background:var(--gold); color:var(--text); border-color:var(--gold); }
.invite-shell { width:min(100%,720px); }
.invite-brand { display:none; }
.invite-card h1 { text-align:center; }
.invite-lead { color:var(--muted); text-align:center; font-size:20px; }
.invite-card h2 { font-size:21px; }
.invite-card .store-actions { display:grid; }
.invite-private { padding-top:22px; border-top:1px solid var(--line); color:var(--muted); }
.invite-help { margin-top:18px; }
[hidden] { display:none!important; }
.delete-account-page .card > p:nth-of-type(6) { color:var(--error); }
@media(max-width:900px) { .header-inner { align-items:flex-start; flex-direction:column; gap:16px; } }
@media(max-width:600px) { body { font-size:16px; } .header-inner { padding:18px 20px; } .site-nav { gap:8px 16px; } .site-nav .therapist-link { margin-block:4px; } main { padding:28px 16px 12px; } .card { padding:24px 20px; } h1 { font-size:29px; } h2 { font-size:21px; } .store-actions { flex-direction:column; } .site-footer { padding:28px 20px; align-items:flex-start; flex-direction:column; } }

/* Store marks keep the download actions recognizable within CBTipul branding. */
.home-page .store-button { min-height:64px; padding:14px 24px; gap:14px; }
.store-mark { flex:0 0 28px; width:28px; height:32px; object-fit:contain; }
.store-button span { white-space:nowrap; }
