*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;font-family:'Heebo',sans-serif;}
:root{
  /* ════ WARM PAPER (light) — default theme ════
     One brass accent. Domain colors live in tints only. */
  --bg:#F7F3EB;--bg-deep:#F0EBE0;--surface:#FFFFFF;--surface-2:#F6F1E7;
  --night:var(--bg);--night-deep:var(--bg-deep);--soft-bg:#F2EDE2;
  --card:var(--surface);--card2:var(--surface-2);--card-elevated:var(--surface);
  --border:#E7E0D2;--border-g:rgba(184,146,58,0.30);
  /* Brass accent: --gold = fills/rings (large UI), --gold-l = accent text/icons,
     --on-accent = text/icons sitting ON a gold/green fill */
  --accent:#B8923A;--accent-ink:#7C6120;--on-accent:#fff;
  --gold:var(--accent);--gold-l:var(--accent-ink);
  --gold-d:rgba(184,146,58,0.10);--gold-d2:rgba(184,146,58,0.16);
  --green:var(--accent);--green-soft:#F5EEDC;--green-border:#E3D5AC;
  --teal:#2E7B76;--teal-d:rgba(46,123,118,0.12);--teal-b:rgba(46,123,118,0.35);
  --text:#20281F;--text-mid:#4A5248;--muted:#646C60;--muted2:rgba(100,108,96,0.6);
  --green-bg:rgba(63,128,81,0.14);--green-b:rgba(63,128,81,0.4);--green-t:rgba(40,110,60,0.95);
  --coral-bg:rgba(193,62,85,0.10);--coral-b:rgba(193,62,85,0.32);--coral-t:rgba(180,55,75,0.95);
  --blue-bg:rgba(46,123,118,0.12);
  --mood-closed:#C13E55;--mood-neutral:#C97A2E;--mood-open:#2E7B76;--mood-blue:#4A6FA5;
  /* Body-scan exercise: literal warm/cool sensation markers (content, not CTA) */
  --bs-warm:#D8783C;--bs-cool:#5C8CBE;
  --nav-h:64px;
  --nav-top-h:54px;
  /* Domain pastels (card backgrounds, compass quadrants) */
  --d-relations-bg:#FCE6E9;--d-career-bg:#FBE9D2;--d-health-bg:#DEEFD8;--d-leisure-bg:#D8EDEA;
  /* Domain saturated (icons, bars, headlines — deep enough for text on tints) */
  --d-relations:#C13E55;--d-career:#A8631F;--d-health:#3F8051;--d-leisure:#2E7B76;
  /* Display font — serif reserved for hero/greeting/screen titles */
  --font-display:'Frank Ruhl Libre',serif;
  /* QC layout tokens — shared across all themes */
  --qc-radius-sm:10px;--qc-radius:16px;--qc-radius-lg:24px;
  --qc-shadow:0 1px 2px rgba(30,42,34,.04),0 6px 20px rgba(30,42,34,.06);
  --qc-shadow-lg:0 2px 6px rgba(30,42,34,.06),0 16px 40px rgba(30,42,34,.10);
  /* Motion tokens — calm, meaningful */
  --dur-fast:150ms;--dur-base:220ms;--dur-slow:320ms;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.55,.06,.68,.19);
  /* QC domain tints/strokes */
  --qc-tint-relations:var(--d-relations-bg);
  --qc-tint-career:var(--d-career-bg);
  --qc-tint-health:var(--d-health-bg);
  --qc-tint-leisure:var(--d-leisure-bg);
  --qc-stroke-relations:var(--d-relations);
  --qc-stroke-career:var(--d-career);
  --qc-stroke-health:var(--d-health);
  --qc-stroke-leisure:var(--d-leisure);
  /* Hero landscape illustration tokens */
  --hero-sky-top:#F8F4EC;--hero-sky-bot:#EDE8DF;
  --hero-m-far:#D2DDD4;--hero-m-mid:#AEBFB1;--hero-m-near:#849D88;
}
/* ── NIGHT COMPASS THEME — re-toned (not inverted): midnight navy + light brass ── */
.theme-compass{
  --bg:#10182B;--bg-deep:#0B1120;--surface:#1A2440;--surface-2:#141D33;
  --night:var(--bg);--night-deep:var(--bg-deep);--soft-bg:#15203A;
  --card:var(--surface);--card2:var(--surface-2);--card-elevated:#213056;
  --border:#2C3A5E;--border-g:rgba(217,188,106,0.32);
  --accent:#D9BC6A;--accent-ink:#E2C97A;--on-accent:#fff;
  --gold:var(--accent);--gold-l:var(--accent-ink);
  --gold-d:rgba(217,188,106,0.10);--gold-d2:rgba(217,188,106,0.18);
  --green:var(--accent);--green-soft:rgba(217,188,106,0.12);--green-border:rgba(217,188,106,0.35);
  --teal:#5B9EC9;--teal-d:rgba(91,158,201,0.14);--teal-b:rgba(91,158,201,0.4);
  --text:#EDE8D8;--text-mid:#C3CBD9;--muted:#8A96AA;--muted2:rgba(138,150,170,0.6);
  --green-bg:rgba(125,201,139,0.14);--green-b:rgba(125,201,139,0.4);--green-t:rgba(140,220,160,0.95);
  --coral-bg:rgba(217,119,87,0.14);--coral-b:rgba(217,119,87,0.4);--coral-t:rgba(230,160,140,0.95);
  --blue-bg:rgba(91,158,201,0.14);
  --mood-closed:#C96142;--mood-neutral:#D9BC6A;--mood-open:#5B9EC9;--mood-blue:#6A8FC4;
  --bs-warm:#E08A52;--bs-cool:#6FA5D6;
  /* Domain colors — night versions (tints at low alpha, light strokes) */
  --d-relations-bg:rgba(232,120,140,0.12);--d-career-bg:rgba(217,188,106,0.13);
  --d-health-bg:rgba(125,201,139,0.12);--d-leisure-bg:rgba(91,158,201,0.12);
  --d-relations:#E8788C;--d-career:#E2C97A;--d-health:#7DC98B;--d-leisure:#5B9EC9;
  --qc-shadow:0 1px 2px rgba(0,0,0,.18),0 8px 24px rgba(0,0,0,.30);
  --qc-shadow-lg:0 2px 6px rgba(0,0,0,.22),0 16px 40px rgba(0,0,0,.36);
  --qc-tint-relations:var(--d-relations-bg);
  --qc-tint-career:var(--d-career-bg);
  --qc-tint-health:var(--d-health-bg);
  --qc-tint-leisure:var(--d-leisure-bg);
  --qc-stroke-relations:var(--d-relations);
  --qc-stroke-career:var(--d-career);
  --qc-stroke-health:var(--d-health);
  --qc-stroke-leisure:var(--d-leisure);
  /* Hero landscape tokens — night */
  --hero-sky-top:#0C1524;--hero-sky-bot:#10182B;
  --hero-m-far:rgba(28,48,36,0.75);--hero-m-mid:rgba(18,36,26,0.88);--hero-m-near:rgba(10,24,17,0.95);
}
/* ── LIGHT-GREEN THEME (beige) — tokens now live at :root; class kept for scoping ── */
/* Headline display font — serif earns its presence: h1 + explicit display roles only */
h1,.nav-logo,.h-display{
  font-family:var(--font-display);font-weight:500;letter-spacing:0;
}
html{height:100%;}
body{background:var(--night);color:var(--text);font-family:'Heebo',sans-serif;min-height:100%;overflow-x:hidden;position:relative;}
/* No background gradients — clean background for all themes */
body::before{display:none;}

/* ── AMBIENT GLOW BLOBS ── */
.ambient-blobs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:0.045;animation:blob-drift var(--bd,18s) ease-in-out infinite alternate;}
.blob-1{width:340px;height:340px;background:var(--gold);top:-60px;right:-80px;--bd:20s;}
.blob-2{width:280px;height:280px;background:var(--teal);bottom:10%;left:-60px;--bd:26s;animation-delay:-8s;}
@keyframes blob-drift{0%{transform:translate(0,0) scale(1);}100%{transform:translate(30px,40px) scale(1.08);}}
body.theme-beige .blob{opacity:0.025;}

/* ── STARS ── */
.stars{position:fixed;inset:0;pointer-events:none;z-index:0;}
.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle var(--d,3s) ease-in-out infinite var(--delay,0s);}
@keyframes twinkle{0%,100%{opacity:var(--lo,.04);}50%{opacity:var(--hi,.28);}}
/* Compass theme — brighter, more prominent stars */
body.theme-compass .star{--lo:.10;--hi:.65;}
/* Beige theme — hide stars */
body.theme-beige .stars{display:none;}

/* ── NAV TOP ── */
.nav-top{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(247,243,235,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:var(--nav-top-h);display:flex;align-items:center;justify-content:space-between;padding:0 18px;transition:background .3s,border-color .3s,backdrop-filter .3s;}
.nav-logo{display:flex;align-items:center;gap:8px;font-family:'Heebo',sans-serif;font-size:18px;color:var(--gold-l);font-weight:700;cursor:pointer;}
body.theme-beige .nav-logo{font-family:var(--font-display);font-weight:500;font-size:22px;color:var(--green);}
.nav-logo svg{filter:none;}
body.theme-compass .nav-logo svg{filter:drop-shadow(0 0 8px rgba(217,188,106,0.35));}
@keyframes spin{to{transform:rotate(360deg);}}
.nav-right{display:flex;align-items:center;gap:10px;}
.plan-pill{font-size:15px;padding:3px 10px;border-radius:20px;}
.plan-pill.free{background:var(--border);color:var(--muted);border:1px solid var(--border);}
.plan-pill.premium{background:var(--gold-d2);color:var(--gold-l);border:1px solid var(--border-g);}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--gold-d2);border:1px solid var(--border-g);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;font-family:'Heebo',sans-serif;color:var(--gold-l);cursor:pointer;user-select:none;}
/* ── Animated compass needle ── */
.nav-compass-needle{transform-origin:18px 18px;animation:compass-wobble 5s ease-in-out infinite;}
@keyframes compass-wobble{
  0%,100%{transform:rotate(0deg);}
  12%{transform:rotate(-14deg);}
  28%{transform:rotate(9deg);}
  44%{transform:rotate(-5deg);}
  58%{transform:rotate(3deg);}
  72%{transform:rotate(-1.5deg);}
  86%{transform:rotate(.8deg);}
}
@media(prefers-reduced-motion:reduce){.nav-compass-needle{animation:none;}}
.nav-icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:none;border-radius:50%;color:var(--text);cursor:pointer;padding:0;transition:background var(--dur-fast);}
.nav-icon-btn:hover{background:var(--gold-d);}
body.theme-beige .nav-icon-btn{color:var(--green);}

/* ── BOTTOM NAV ── */
.nav-bottom{position:fixed;bottom:0;left:0;right:0;z-index:200;background:rgba(255,255,255,0.94);backdrop-filter:blur(16px);border-top:1px solid var(--border);height:var(--nav-h);display:flex;align-items:stretch;}
.nb-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s;border:none;background:none;padding:6px 2px 10px;position:relative;}
.nb-item.active .nb-icon{color:var(--gold-l);}
.nb-item.active .nb-label{color:var(--gold-l);}
.nb-icon{font-size:22px;color:var(--muted);transition:color var(--dur-base);line-height:1;}
.nb-label{font-size:14px;color:var(--muted);font-family:'Heebo',sans-serif;transition:color var(--dur-base);}
/* Sliding active indicator — one element glides between tabs (RTL: first tab at right) */
.nb-indicator{
  position:absolute;top:0;right:0;width:20%;height:2px;
  background:var(--gold);border-radius:0 0 2px 2px;
  transition:transform var(--dur-base) var(--ease-out);
  pointer-events:none;
}
.nav-bottom:has(#nb-domains.active) .nb-indicator{transform:translateX(-100%);}
/* FAB spacer is slot 3 (no indicator); inquiry is slot 4; tools is slot 5 */
.nav-bottom:has(#nb-inquiry.active) .nb-indicator{transform:translateX(-300%);}
.nav-bottom:has(#nb-tools.active) .nb-indicator{transform:translateX(-400%);}

/* FAB centre slot */
.nb-fab-spacer{flex:1;position:relative;display:flex;align-items:center;justify-content:center;}

/* ── PAGE WRAPPER ── */
.page-wrap{position:relative;z-index:1;max-width:620px;margin:0 auto;padding:calc(var(--nav-top-h) + 20px) 16px calc(var(--nav-h) + 20px);}
.screen{display:none;}
.screen.active{display:block;}
@keyframes fade-up{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

/* ── MOTION: staggered screen entrance (40ms per card, capped at 6) ── */
.screen.active > *{animation:fade-up var(--dur-slow) var(--ease-out) both;}
.screen.active > *:nth-child(2){animation-delay:40ms;}
.screen.active > *:nth-child(3){animation-delay:80ms;}
.screen.active > *:nth-child(4){animation-delay:120ms;}
.screen.active > *:nth-child(5){animation-delay:160ms;}
.screen.active > *:nth-child(n+6){animation-delay:200ms;}

/* ── MOTION: calm press feedback on all tappables ── */
button{transition:transform var(--dur-fast) var(--ease-out);}
button:not(:disabled):active{transform:scale(.98);}
/* Buttons that carry a positioning transform need it preserved on press */
.voice-btn:not(:disabled):active{transform:translateY(-50%) scale(.95);}

/* ── TOAST + CONNECTIVITY ── */
.toast-host{
  position:fixed;
  left:12px;
  right:12px;
  /* Sits well above the PWA install banner (bottom:nav-h+10px, ~65px tall) —
     the two used to sit at almost the same spot with the banner's z-index
     (999) above the toast's (960), so the toast could end up hidden under it. */
  bottom:calc(var(--nav-h,64px) + 92px);
  z-index:1001;
  display:flex;
  flex-direction:column;
  gap:8px;
  pointer-events:none;
}
.toast-msg{
  align-self:center;
  max-width:680px;
  width:fit-content;
  background:var(--card);
  border:1px solid var(--border);
  color:var(--text);
  border-radius:999px;
  padding:11px 18px;
  font-size:15px;
  font-weight:500;
  box-shadow:var(--qc-shadow-lg);
  transform:translateY(12px) scale(.92);
  opacity:0;
  transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);
}
.toast-msg.show{transform:translateY(0) scale(1);opacity:1;}
.toast-success{background:var(--gold);border-color:var(--gold);color:var(--on-accent);font-weight:600;box-shadow:0 6px 24px rgba(184,146,58,.35);}
.toast-error{border-color:rgba(217,119,87,.5);color:var(--coral-t);}
.toast-info{border-color:var(--border-g);color:var(--gold-l);}

.offline-banner{
  position:fixed;
  top:10px;
  left:12px;
  right:12px;
  z-index:970;
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--card);
  border:1px solid rgba(217,119,87,.45);
  border-radius:12px;
  color:var(--text);
  padding:10px 12px;
  box-shadow:var(--qc-shadow-lg);
  transform:translateY(-14px);
  opacity:0;
  pointer-events:none;
  transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out);
}
.offline-banner.show{transform:translateY(0);opacity:1;pointer-events:auto;}
.offline-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--mood-closed);
  box-shadow:0 0 0 4px rgba(217,119,87,.15);
  flex-shrink:0;
}
.offline-text{font-size:13px;line-height:1.45;flex:1;}
.offline-close{
  border:none;
  background:none;
  color:var(--muted);
  font-size:16px;
  cursor:pointer;
  padding:0 2px;
}

/* ── PROFILE PANEL GROUP LABEL — settings section dividers only ── */
.panel-group-label{font-size:11px;font-weight:600;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-family:'Heebo',sans-serif;margin-bottom:10px;}

/* ── AUTH SCREEN ── */
.auth-wrap{min-height:calc(100vh - var(--nav-h));display:flex;align-items:center;justify-content:center;padding:20px 16px;}
.auth-card{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:400px;padding:36px 28px 28px;}
.auth-logo{text-align:center;margin-bottom:28px;}
.auth-logo svg{animation:none;filter:none;}
body.theme-compass .auth-logo svg{animation:spin 20s linear infinite;filter:drop-shadow(0 0 14px rgba(217,188,106,0.40));}
.auth-title{font-family:var(--font-display);font-size:28px;font-weight:500;color:var(--gold-l);margin-top:10px;letter-spacing:0;}
.auth-sub{font-size:14px;color:var(--text-mid);margin-top:4px;}
.auth-tabs{display:flex;background:var(--soft-bg);border-radius:10px;padding:3px;margin-bottom:22px;}
.auth-tab{flex:1;text-align:center;padding:9px;border-radius:8px;font-size:15px;cursor:pointer;color:var(--muted);border:none;background:none;font-family:'Heebo',sans-serif;transition:all .2s;}
.auth-tab.active{background:var(--gold-d2);color:var(--gold-l);border:1px solid var(--border-g);}
.form-group{margin-bottom:14px;}
.form-label{font-size:14px;color:var(--text-mid);margin-bottom:5px;display:block;}
.form-input{width:100%;background:var(--soft-bg);border:1px solid var(--border);border-radius:14px;padding:11px 13px;color:var(--text);font-family:'Heebo',sans-serif;font-size:16px;outline:none;direction:ltr;transition:border-color .2s;}
.form-input:focus{border-color:var(--border-g);}
.form-input.err{border-color:rgba(220,80,60,.6);}
.form-error{font-size:13px;color:rgba(230,130,110,.9);margin-top:4px;}
.form-success{font-size:13px;color:rgba(100,200,130,.95);margin-top:4px;line-height:1.4;}
.auth-forgot-link{background:none;border:none;padding:0;font-size:12px;color:var(--muted);cursor:pointer;font-family:'Heebo',sans-serif;text-decoration:underline;text-underline-offset:2px;transition:color .15s;}
.auth-forgot-link:hover{color:var(--gold-l);}
.btn-auth{width:100%;background:var(--gold);border:none;border-radius:999px;padding:14px;color:var(--on-accent);font-family:'Heebo',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--dur-base),transform var(--dur-fast),box-shadow var(--dur-base);margin-top:4px;box-shadow:var(--qc-shadow);}
.btn-auth:hover{opacity:.94;transform:translateY(-1px);box-shadow:var(--qc-shadow-lg);}
.btn-auth:active{transform:scale(.98);}

/* ── GENERIC CARDS ── */
.card{background:var(--card);border:1px solid var(--border);border-top:1px solid rgba(255,255,255,0.06);border-radius:16px;padding:20px 18px;margin-bottom:12px;}
.card.gold{border-color:var(--border-g);}
.card.elevated{background:var(--card-elevated);border-color:var(--border-g);box-shadow:0 6px 24px rgba(0,0,0,0.25);}
/* sec-label: sparing categorical annotation — workflow steps, date headers, filter labels only */
.sec-label{font-size:12px;color:var(--muted);margin-bottom:8px;font-family:'Heebo',sans-serif;font-weight:500;letter-spacing:.12em;text-transform:uppercase;}
/* card-heading: non-eyebrow section header within cards — weight+color, no uppercase */
.card-heading{font-size:0.875rem;font-weight:600;color:var(--text-mid);margin-bottom:10px;line-height:1.4;font-family:'Heebo',sans-serif;}
/* step-badge: sequential workflow progress — shows "שלב N מתוך T", never an eyebrow */
.step-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;}
.step-badge-num{font-size:11px;font-weight:700;color:var(--on-accent);background:var(--gold);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;}
.step-badge-label{font-size:13px;font-weight:500;color:var(--text-mid);font-family:'Heebo',sans-serif;}
.step-badge-total{font-size:12px;color:var(--muted);font-family:'Heebo',sans-serif;}
/* card-question: direct question within a card — Frank Ruhl for warmth */
.card-question{font-family:var(--font-display);font-size:1.0625rem;font-weight:500;color:var(--text);margin-bottom:14px;text-wrap:balance;line-height:1.45;}
/* compass-insight-label: branded AI insight marker — gold, minimal, compass-identified */
.compass-insight-label{font-size:0.75rem;font-weight:600;color:var(--gold-l);letter-spacing:.04em;margin-bottom:8px;font-family:'Heebo',sans-serif;display:flex;align-items:center;gap:4px;}
.screen-title{font-family:var(--font-display);font-size:26px;font-weight:500;line-height:1.35;margin-bottom:8px;letter-spacing:0;}
.screen-sub{font-size:15px;color:var(--text-mid);line-height:1.65;margin-bottom:16px;}

/* ── LOCK OVERLAY ── */
.locked-feature{position:relative;overflow:hidden;}
.locked-feature::after{content:'';position:absolute;inset:0;background:rgba(15,26,36,0.75);backdrop-filter:blur(3px);border-radius:inherit;z-index:10;}
.lock-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11;text-align:center;pointer-events:auto;}
.lock-badge-inner{background:rgba(15,26,36,0.9);border:1px solid var(--border-g);border-radius:14px;padding:14px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;}
.lock-icon-big{font-size:24px;}
.lock-text{font-size:15px;color:var(--gold-l);font-weight:500;}
.lock-sub{font-size:15px;color:var(--muted);}
.btn-upgrade-small{margin-top:8px;background:var(--gold);border:none;border-radius:999px;padding:8px 18px;color:var(--on-accent);font-size:14px;font-weight:600;cursor:pointer;font-family:'Heebo',sans-serif;box-shadow:var(--qc-shadow);}

/* ── VOICE INPUT ── */
.input-wrap{position:relative;}
.voice-btn{position:absolute;inset-inline-start:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid var(--border-g);background:var(--gold-d);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .2s;z-index:5;}
.voice-btn:hover{background:var(--gold-d2);}
.voice-btn.recording{background:rgba(220,80,60,.2);border-color:rgba(220,80,60,.5);animation:pulse-rec 1s ease-in-out infinite;}
@keyframes pulse-rec{0%,100%{box-shadow:0 0 0 0 rgba(220,80,60,.4);}50%{box-shadow:0 0 0 6px rgba(220,80,60,0);}}
.voice-enabled{padding-inline-start:50px !important;}
textarea.voice-enabled{padding-inline-start:50px;}

/* ── INPUTS ── */
.text-input{width:100%;background:var(--soft-bg);border:1px solid var(--border);border-radius:14px;padding:11px 13px;color:var(--text);font-family:'Heebo',sans-serif;font-size:16px;outline:none;direction:rtl;transition:border-color .2s;}
.text-input:focus{border-color:var(--border-g);}
.text-input::placeholder{color:var(--muted);opacity:0.7;}
textarea.text-input{resize:none;line-height:1.7;}
.btn-add{background:var(--gold-d);border:1px solid var(--border-g);border-radius:10px;padding:11px 16px;color:var(--gold-l);font-size:15px;cursor:pointer;white-space:nowrap;font-family:'Heebo',sans-serif;transition:background .15s;flex-shrink:0;}
.btn-add:hover{background:var(--gold-d2);}
.input-row{display:flex;gap:8px;margin-bottom:10px;}

/* ── CHIPS & TAGS ── */
.chips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:280px;overflow-y:auto;margin-bottom:12px;}
.chip{padding:8px 6px;border-radius:9px;background:rgba(255,255,255,0.03);border:1px solid var(--border);font-size:14px;color:var(--muted);cursor:pointer;text-align:center;transition:all .15s;user-select:none;line-height:1.3;min-height:44px;display:flex;align-items:center;justify-content:center;}
.chip:hover{border-color:var(--border-g);color:var(--text);}
.chip.sel{background:var(--gold-d2);border-color:var(--gold);color:var(--gold-l);font-weight:500;}
.tags-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.tag{font-size:14px;padding:4px 11px;border-radius:20px;background:var(--gold-d2);border:1px solid var(--border-g);color:var(--gold-l);display:inline-flex;align-items:center;gap:5px;}
.tag-x{cursor:pointer;opacity:.5;font-size:14px;}

/* ── Value clusters (grouped chip grid, values step) ── */
.value-clusters-wrap{margin-bottom:12px;}
.value-cluster{margin-bottom:12px;}
.value-cluster:last-child{margin-bottom:0;}
.value-cluster-label{font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--muted);margin-bottom:6px;padding-inline-start:2px;}
.value-cluster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}

/* ── Writing micro-step dots — deliberately quiet, no numbers, distinct from the
   clinical qc-step-indicator used by the Byron Katie wizard ── */
.vw-subdots{display:flex;justify-content:center;gap:7px;margin:2px 0 14px;}
.vw-subdot{width:5px;height:5px;border-radius:50%;background:var(--border);}
.vw-subdot.active{background:var(--gold-l);opacity:.85;}

/* ── Recall cards (values step) — replaces the old truncated writing preview ── */
.recall-cards-wrap{margin-bottom:12px;}
.recall-card{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden;}
.recall-card:last-child{margin-bottom:0;}
.recall-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:none;padding:10px 12px;cursor:pointer;font-family:'Heebo',sans-serif;text-align:inherit;}
.recall-card-q{font-size:12.5px;color:var(--gold-l);font-weight:500;}
.recall-card-chevron{font-size:11px;color:var(--muted);transition:transform .2s;}
.recall-card.open .recall-card-chevron{transform:rotate(180deg);}
.recall-card-collapsed{padding:0 12px 10px;font-size:13px;color:var(--muted);}
.recall-card-full{padding:0 12px 12px;font-size:13.5px;color:var(--text);line-height:1.7;}
.value-hint{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1.5px;text-underline-offset:2px;}
.tag-x:hover{opacity:1;}

/* ── ACTION ITEMS ── */
.action-list{display:flex;flex-direction:column;gap:7px;}
.action-item{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:10px;padding:11px 13px;transition:all .2s;}
.action-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-g);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.action-check.done{background:var(--green-bg);border-color:var(--green-b);}
.action-check.done::after{content:'✓';font-size:15px;color:var(--green-t);}
/* ── DELIGHT: Check pop + row flash on completion ── */
@keyframes check-pop{
  0%{transform:scale(1);}
  38%{transform:scale(1.32);filter:drop-shadow(0 0 4px rgba(217,188,106,.6));}
  65%{transform:scale(.9);}
  100%{transform:scale(1);filter:none;}
}
.action-check.just-popped{animation:check-pop .38s var(--ease-out) both;}
@keyframes row-flash{
  0%,100%{background:rgba(255,255,255,.03);}
  28%{background:var(--gold-d2);}
}
.action-item.just-done{animation:row-flash .55s var(--ease-out);}
/* ── Highlight a task scrolled to from a clicked reminder notification ── */
@keyframes task-notif-highlight{
  0%,100%{transform:scale(1);background:rgba(255,255,255,.03);box-shadow:0 0 0 0 var(--border-g);}
  40%{transform:scale(1.03);background:var(--gold-d2);box-shadow:0 0 0 8px var(--border-g);}
}
.daily-action-item.notif-highlight{animation:task-notif-highlight .8s var(--ease-out) 2;}
@media(prefers-reduced-motion:reduce){
  .daily-action-item.notif-highlight{animation:none;background:var(--gold-d2);}
}
.action-text{font-size:15px;color:var(--text);flex:1;}
.action-text.done{color:var(--muted);text-decoration:line-through;}
.action-del{font-size:15px;color:var(--muted);cursor:pointer;padding:2px 4px;flex-shrink:0;}
.action-del:hover{color:rgba(220,80,60,.8);}
.action-source{font-size:14px;padding:2px 7px;border-radius:10px;background:var(--gold-d);color:var(--gold-l);flex-shrink:0;}
.done-separator{font-size:15px;color:var(--muted);padding:8px 0 4px;border-top:1px solid var(--border);margin-top:4px;letter-spacing:.05em;}
.action-item-wrap{display:flex;flex-direction:column;gap:5px;}
.action-values{display:flex;flex-wrap:wrap;gap:5px;padding:0 13px;align-items:center;}
.action-val-tag{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--gold-d);color:var(--gold-l);border:1px solid var(--border-g);letter-spacing:.01em;}
.action-val-edit{font-size:12px;padding:2px 9px;border-radius:999px;background:transparent;color:var(--muted);border:1px dashed var(--border);cursor:pointer;transition:all .2s;font-family:'Heebo',sans-serif;}
.action-val-edit:hover{color:var(--gold-l);border-color:var(--border-g);background:var(--gold-d);}
/* ── Action edit button (row-level pencil) ── */
.action-edit-btn{
  width:30px;height:30px;border-radius:50%;border:none;background:transparent;
  color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:background .15s,color .15s;padding:0;
}
.action-edit-btn:hover{background:var(--gold-d);color:var(--text);}
/* ── Action edit modal chips ── */
.ae-chip{
  padding:7px 14px;border-radius:999px;
  border:1.5px solid var(--border-g);background:var(--gold-d);
  color:var(--text);font-size:14px;cursor:pointer;
  font-family:'Heebo',sans-serif;transition:all .15s;line-height:1.4;
}
.ae-chip.sel{background:var(--gold);color:var(--on-accent);border-color:var(--gold);font-weight:600;}
/* Implementation intention (when/where) line under an action */
.action-cue{display:flex;align-items:center;gap:5px;padding:2px 13px 0;font-size:12px;color:var(--muted);line-height:1.5;}
.action-cue svg{flex-shrink:0;opacity:.8;}

/* ── DAILY ACTIONS CARD (base — mobile first) ── */
.daily-value-row{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px;}
.daily-value-chip{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--gold-d);color:var(--gold-l);border:1px solid var(--border-g);}
.daily-action-sched{font-size:12px;color:var(--muted);margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.daily-action-sched.missed{color:var(--coral-t);}
.daily-reschedule-btn{font-size:12px;font-weight:600;color:var(--gold-l);background:var(--gold-d);border:1px solid var(--border-g);border-radius:999px;padding:3px 11px;cursor:pointer;font-family:'Heebo',sans-serif;}
.daily-reschedule-btn:hover{background:var(--gold-d2);}
.daily-add-sched-btn{margin-top:5px;font-size:12px;color:var(--muted);background:none;border:1px dashed var(--border);border-radius:999px;padding:4px 10px;cursor:pointer;font-family:'Heebo',sans-serif;}
.daily-action-item.is-done:hover .action-check{opacity:.7;}
/* ── Done-tasks fold (collapsed by default to keep the home screen tidy) ── */
.daily-done-fold{margin-top:4px;}
.daily-done-fold-toggle{
  width:100%;background:none;border:none;border-top:1px solid var(--border);
  padding:9px 2px 5px;margin-top:6px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:'Heebo',sans-serif;font-size:13px;color:var(--muted);cursor:pointer;
}
.daily-done-fold-toggle:hover{color:var(--text);}
.daily-done-fold .daily-action-item.is-done{margin-top:6px;}
.vm-sched-row{margin-top:10px;font-size:14px;color:var(--muted);}
.vm-sched-toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;}

/* ── WEEKLY ANALYSIS CARD (base — mobile first) ── */
.weekly-block{margin-bottom:14px;}
.weekly-block-title{font-size:13px;color:var(--muted);margin-bottom:7px;letter-spacing:.02em;font-weight:500;}
.weekly-values-list{display:flex;flex-wrap:wrap;gap:6px;}
.weekly-value-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--gold-d2);border:1px solid var(--border-g);color:var(--gold-l);}
.weekly-progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;}
.weekly-progress-value{font-size:12px;color:var(--text);font-weight:600;}
.weekly-progress-track{height:6px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid var(--border);}
.weekly-progress-fill{height:100%;border-radius:999px;background:var(--gold);}
.weekly-recurring{margin-bottom:14px;padding:10px 12px;border-radius:14px;background:var(--coral-bg);border:1px solid var(--coral-b);}
.weekly-recurring-text{font-size:13px;color:var(--text);line-height:1.6;}
.weekly-empty-note{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:12px;}
.weekly-plan-block{margin-bottom:14px;border-top:1px solid var(--border);padding-top:10px;}
.weekly-task-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);}
.weekly-task-btn{flex-shrink:0;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--text);padding:5px 12px;font-size:12px;cursor:pointer;font-family:'Heebo',sans-serif;transition:background .16s ease,border-color .16s ease;}
.weekly-task-btn:hover{background:var(--gold-d);border-color:var(--border-g);}
.weekly-task-done{font-size:17px;color:var(--gold-l);}
.weekly-refresh-btn{width:100%;}
.weekly-coach-result{margin-top:10px!important;}

/* ── VALUE PICKER (inline) ── */
.val-picker{
  background:var(--card-elevated,var(--card2));
  border:1px solid var(--border-g);
  border-radius:14px;
  padding:14px 14px 12px;
  margin-bottom:12px;
  box-shadow:var(--qc-shadow);
  animation:fade-up var(--dur-base) var(--ease-out) both;
}
.val-picker-title{font-size:15px;color:var(--gold-l);font-weight:500;margin-bottom:4px;}
.val-picker-sub{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:10px;line-height:1.4;}
.val-picker-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;}
.val-pick-chip{
  font-size:13px;padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,0.03);
  color:var(--text-mid,var(--text));
  border:1px solid var(--border);
  cursor:pointer;transition:all .18s;user-select:none;
}
.val-pick-chip:hover{border-color:var(--border-g);color:var(--gold-l);}
.val-pick-chip.sel{
  background:var(--gold-d2);
  color:var(--gold-l);
  border-color:var(--gold);
}
.val-picker-cue{
  width:100%;background:var(--soft-bg);border:1px solid var(--border);
  border-radius:10px;padding:9px 12px;margin-bottom:12px;
  color:var(--text);font-family:'Heebo',sans-serif;font-size:14px;
  outline:none;direction:rtl;transition:border-color var(--dur-fast);
}
.val-picker-cue:focus{border-color:var(--border-g);}
.val-picker-cue::placeholder{color:var(--muted);opacity:0.7;}
.val-picker-actions{display:flex;gap:8px;justify-content:flex-end;}
.val-picker-save{
  font-size:14px;padding:7px 16px;border-radius:999px;
  border:1px solid var(--border);cursor:pointer;
  font-family:'Heebo',sans-serif;transition:all .2s;
  background:var(--gold);
  color:var(--on-accent);border-color:var(--gold);font-weight:600;
  box-shadow:var(--qc-shadow);
}
.val-picker-save:hover{box-shadow:var(--qc-shadow-lg);transform:translateY(-1px);}
.val-picker-save:active{transform:scale(.98);}
.val-picker-required{font-size:11px;color:var(--gold-l);font-weight:400;opacity:0.8;margin-right:4px;}
@keyframes val-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.val-picker-shake{animation:val-shake 0.4s ease;}

/* ── THOUGHT ITEMS ── */
.thought-item{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .2s;}
.thought-item:hover{border-color:var(--border-g);}
.thought-item.sel{border-color:var(--gold);background:var(--gold-d2);}
.thought-item.done{background:var(--green-bg);border-color:var(--green-b);cursor:default;}
.thought-text{font-size:15px;color:var(--text);flex:1;font-style:italic;line-height:1.5;}
.thought-item.sel .thought-text{color:var(--gold-l);}
.thought-item.done .thought-text{color:var(--green-t);}
.thought-badge{font-size:14px;padding:2px 8px;border-radius:10px;flex-shrink:0;}
.tb-done{background:var(--green-bg);color:var(--green-t);border:1px solid var(--green-b);}
.tb-sel{background:var(--gold-d2);color:var(--gold-l);border:1px solid var(--border-g);}
.tb-new{background:rgba(255,255,255,0.04);color:var(--muted);border:1px solid var(--border);}

/* ── COMPASS ── */
.compass-outer{display:flex;justify-content:center;margin-bottom:8px;}
.compass-svg{width:300px;height:300px;cursor:pointer;filter:drop-shadow(0 8px 16px rgba(30,42,34,.12));transition:filter var(--dur-slow);}
body.theme-compass .compass-svg{filter:drop-shadow(0 0 36px rgba(217,188,106,0.26)) drop-shadow(0 0 80px rgba(91,158,201,0.12));}
body.theme-compass .compass-svg:hover{filter:drop-shadow(0 0 48px rgba(217,188,106,0.36)) drop-shadow(0 0 100px rgba(91,158,201,0.16));}
.compass-hint{text-align:center;font-size:14px;color:var(--muted);margin-bottom:10px;}

/* ── DOMAIN PANEL ── */
.domain-panel{display:none;}
.domain-panel.show{display:block;animation:fade-up var(--dur-slow) var(--ease-out) both;}
.domain-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.domain-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.domain-title-text{font-family:'Heebo',sans-serif;font-size:18px;font-weight:700;}
.btn-back-domain{margin-right:auto;font-size:14px;color:var(--muted);cursor:pointer;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:none;font-family:'Heebo',sans-serif;transition:all .2s;}
.btn-back-domain:hover{border-color:var(--border-g);color:var(--text);}

/* ── WEEK ROW ── */
.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:10px;}
.day-cell{display:flex;flex-direction:column;align-items:center;gap:3px;}
.day-name{font-size:14px;color:var(--muted);}
.day-dot{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,0.03);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--muted2);transition:all .3s;}
.day-dot.today{border-color:var(--gold);color:var(--gold-l);}
.day-dot.done{background:var(--gold-d2);border-color:var(--gold);color:var(--gold-l);font-size:15px;}
/* Mood-based day coloring (overrides done/today visuals) */
.day-dot.mood-closed {background:rgba(217,119,87,.22);border-color:var(--mood-closed);color:var(--mood-closed);}
.day-dot.mood-neutral{background:color-mix(in srgb,var(--mood-neutral) 20%,transparent);border-color:var(--mood-neutral);color:var(--mood-neutral);}
.day-dot.mood-open   {background:rgba(79,184,178,.22);border-color:var(--mood-open);color:var(--mood-open);}

/* ── BK INQUIRY ── */
.bk-progress{display:flex;gap:5px;margin-bottom:14px;}
.bk-dot-step{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .3s;}
.bk-dot-step.active{background:var(--gold);}
.bk-dot-step.done-s{background:var(--green-b);}
.bk-q-text{font-family:'Heebo',sans-serif;font-size:16px;color:var(--text);margin-bottom:8px;line-height:1.5;}
.bk-hint{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:12px;}
.bk-opts{display:flex;flex-wrap:wrap;gap:7px;}
.bk-opts.col{flex-direction:column;}
.bk-opt{padding:8px 15px;border-radius:20px;background:rgba(255,255,255,0.03);border:1px solid var(--border);font-size:15px;color:var(--muted);cursor:pointer;transition:all .15s;}
.bk-opt:hover{border-color:var(--border-g);color:var(--text);}
.bk-opt.sel{background:var(--gold-d2);border-color:var(--gold);color:var(--gold-l);}
.emo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:180px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:2px;}
.emo-chip{padding:8px 4px;border-radius:9px;background:rgba(255,255,255,0.03);border:1px solid var(--border);font-size:13px;color:var(--muted);cursor:pointer;text-align:center;transition:all .15s;}
.emo-chip:hover{border-color:var(--coral-b);color:var(--coral-t);}
.emo-chip.sel{background:var(--coral-bg);border-color:var(--coral-b);color:var(--coral-t);}
.emo-chip.positive.sel{background:rgba(106,143,196,0.18);border-color:var(--mood-blue);color:var(--mood-blue);box-shadow:0 0 12px rgba(106,143,196,0.25);}
.reversal-card{background:var(--gold-d);border:1px solid var(--border-g);border-radius:11px;padding:13px 15px;margin-bottom:9px;}
.reversal-label{font-size:15px;color:var(--gold-l);margin-bottom:4px;letter-spacing:.06em;}
.reversal-text{font-size:15px;color:var(--text);font-style:italic;margin-bottom:5px;line-height:1.5;}
.reversal-hint{font-size:15px;color:var(--muted);line-height:1.55;}

/* ── Inquiry suggested actions ── */
.inq-suggest-acts{display:flex;flex-direction:column;gap:8px;}
.inq-suggest-act-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2,var(--card-bg,rgba(255,255,255,.04)));border:1px solid var(--border);border-radius:11px;}
.inq-suggest-act-text{flex:1;font-size:14px;color:var(--text);line-height:1.4;}
.inq-suggest-act-btn{flex-shrink:0;display:flex;align-items:center;gap:5px;background:var(--gold);color:#fff;border:none;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:600;cursor:pointer;font-family:'Heebo',sans-serif;white-space:nowrap;}
.inq-suggest-act-btn:hover{opacity:.88;}

/* ── BK CHAT INTERFACE (Q1 / Q2) ── */
.bk-chat-screen{display:flex;flex-direction:column;min-height:calc(100dvh - var(--nav-h) - var(--nav-top-h) - 80px);}
.bk-chat-body{flex:1;display:flex;flex-direction:column;gap:14px;padding:6px 0 20px;}
.bk-bubble-thought{background:var(--card);border:1px solid var(--border);border-radius:16px 16px 16px 4px;padding:14px 18px;align-self:flex-start;max-width:86%;}
.bk-bubble-thought-label{font-size:11px;color:var(--muted);margin-bottom:4px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;}
.bk-bubble-thought-text{font-family:'Frank Ruhl Libre',serif;font-size:15px;font-style:italic;color:var(--text);line-height:1.7;}
.bk-bubble-guide{background:var(--gold-d2);border:1px solid var(--border-g);border-radius:16px 4px 16px 16px;padding:16px 18px;align-self:flex-end;max-width:90%;}
.bk-bubble-guide-label{font-size:11px;color:var(--gold-l);margin-bottom:6px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-align:left;}
.bk-bubble-guide-q{font-family:'Frank Ruhl Libre',serif;font-size:23px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:8px;text-wrap:balance;}
.bk-bubble-guide-hint{font-size:13px;color:var(--muted);line-height:1.6;}
.bk-bubble-answer{background:var(--gold);color:var(--on-accent);border-radius:4px 16px 16px 16px;padding:12px 24px;align-self:flex-start;font-size:20px;font-weight:700;animation:bk-pop .22s var(--ease-out) both;}
@keyframes bk-pop{from{transform:scale(.8);opacity:0;}to{transform:scale(1);opacity:1;}}
.bk-chat-footer{padding:12px 0 0;border-top:1px solid var(--border);margin-top:auto;}
.bk-chat-footer .inq-yn-wrap{margin-top:0;}

/* BK form screens (Q3/Q4/reversals) — extra bottom padding so nav stays reachable above keyboard */
.bk-form-screen{padding-bottom:max(28px, calc(env(safe-area-inset-bottom, 0px) + 28px));}

/* Abandon-inquiry bottom sheet */
.bk-abandon-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.52);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.bk-abandon-sheet{background:var(--card);border-radius:24px 24px 0 0;padding:24px 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));width:100%;max-width:500px;box-shadow:0 -8px 32px rgba(0,0,0,.22);}
.bk-abandon-title{font-family:'Frank Ruhl Libre',serif;font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px;}
.bk-abandon-sub{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:20px;}
.bk-abandon-btns{display:flex;flex-direction:column;gap:10px;}

/* Resume-draft banner inside thought list */
.bk-resume-banner{background:var(--gold-d2);border:1px solid var(--border-g);border-radius:14px;padding:14px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.bk-resume-text{flex:1;font-size:14px;color:var(--text);line-height:1.5;}
.bk-resume-btn{flex-shrink:0;background:var(--gold);color:var(--on-accent);border:none;border-radius:999px;padding:8px 16px;font-family:'Heebo',sans-serif;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;}

/* ── AI BOX ── */
.ai-box{background:var(--gold-d);border:1px solid var(--border-g);border-radius:var(--qc-radius-sm);padding:13px 15px;margin-top:10px;}
.ai-box-label{font-size:15px;color:var(--gold-l);letter-spacing:.07em;margin-bottom:7px;}
.ai-text{font-size:15px;color:var(--text);line-height:1.8;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;}

/* ── Weekly coach: suggested practice ── */
.ai-suggested-practice{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;background:var(--gold-d2);border:1px solid var(--border-g);border-radius:var(--qc-radius-sm);}
.ai-suggested-practice-body{flex:1;min-width:0;}
.ai-suggested-practice-label{font-size:14px;color:var(--gold-l);font-weight:600;}
.ai-suggested-practice-reason{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.5;}
.ai-suggested-practice-btn{flex-shrink:0;background:var(--gold);color:var(--on-accent);border:none;border-radius:999px;padding:7px 14px;font-family:'Heebo',sans-serif;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;}
.ai-suggested-practice-btn:hover{filter:brightness(1.05);}
.ai-chip{display:inline-flex;align-items:center;gap:4px;font-size:14px;padding:4px 10px;border-radius:20px;background:var(--gold-d);border:1px solid var(--border-g);color:var(--gold-l);cursor:pointer;margin:2px;transition:background var(--dur-fast);}
.ai-chip:hover{background:var(--gold-d2);}
.dots-loader{display:flex;gap:5px;align-items:center;padding:4px 0;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:dots-pulse 1.2s ease-in-out infinite;}
.dot:nth-child(2){animation-delay:.2s;}.dot:nth-child(3){animation-delay:.4s;}
@keyframes dots-pulse{0%,80%,100%{transform:scale(.5);opacity:.3;}40%{transform:scale(1);opacity:1;}}

/* ── EXERCISE MEDIA CARDS ── */
.ex-media-stack{display:flex;flex-direction:column;gap:16px;}
.ex-media-card{border-radius:20px;overflow:hidden;background:var(--card-elevated);border:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease;}
.ex-media-card:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(0,0,0,.16);}
.ex-media-thumb{position:relative;height:190px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;}
.ex-media-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08) 0%,rgba(0,0,0,.52) 100%);}
.ex-media-cat{position:absolute;top:14px;right:14px;z-index:2;font-size:11px;font-weight:600;color:#fff;background:rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.28);letter-spacing:.01em;}
.ex-media-dur{position:absolute;bottom:14px;left:14px;z-index:2;font-size:12px;color:rgba(255,255,255,.82);font-family:'Heebo',sans-serif;}
.ex-media-play{position:relative;z-index:3;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.32);transition:transform .15s ease,background .15s ease;color:#7A5C14;flex-shrink:0;}
.ex-media-play:hover{transform:scale(1.1);background:#fff;}
.ex-media-play:active{transform:scale(.95);}
.ex-media-body{padding:16px 16px 18px;}
.ex-media-title{font-family:'Frank Ruhl Libre',serif;font-size:19px;font-weight:700;color:var(--text);margin:0 0 6px;}
.ex-media-desc{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 12px;}
.ex-media-status{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--gold);font-family:'Heebo',sans-serif;cursor:pointer;}
.ex-media-status-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);flex-shrink:0;opacity:0;transition:opacity .2s;}
.ex-media-card.is-playing .ex-media-status-dot{opacity:1;animation:ex-pulse 1.2s ease-in-out infinite;}
@keyframes ex-pulse{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.4);opacity:1;}}
@media(prefers-reduced-motion:reduce){@keyframes ex-pulse{0%,100%{opacity:.7;}50%{opacity:1;}}}
/* keep old selectors from insight screen reuse */
.play-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:color-mix(in srgb,var(--gold) 12%,transparent);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:999px;padding:12px 18px;color:var(--gold-l);font-size:15px;font-weight:500;cursor:pointer;width:100%;transition:background .15s;font-family:'Heebo',sans-serif;}
.play-icon-wrap{width:26px;height:26px;border-radius:50%;background:var(--gold-l);display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* ── ACTIVITY LOG ── */
.log-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);}
.log-item:last-child{border-bottom:none;}
.log-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.log-body{flex:1;}
.log-title{font-size:15px;color:var(--text);line-height:1.5;}
.log-meta{font-size:15px;color:var(--muted);margin-top:3px;}

/* ── NAV BUTTONS ── */
.nav-btns{display:flex;gap:10px;margin-top:16px;}
.btn-next{flex:1;background:var(--gold);border:none;border-radius:999px;padding:14px;color:#fff;font-family:'Heebo',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:opacity var(--dur-base),transform var(--dur-fast),box-shadow var(--dur-base);box-shadow:var(--qc-shadow);}
.btn-next:hover{opacity:.94;transform:translateY(-1px);box-shadow:var(--qc-shadow-lg);}
.btn-next:active{transform:scale(.98);}
.btn-back-step{background:transparent;border:1px solid var(--border);border-radius:999px;padding:13px 22px;color:var(--muted);font-family:'Heebo',sans-serif;font-size:14px;cursor:pointer;transition:all .2s;}
.btn-back-step:hover{border-color:var(--border-g);color:var(--text);}

/* ── MISC ── */
.mode-hint{background:var(--gold-d);border:1px solid var(--border-g);border-radius:9px;padding:10px 13px;font-size:14px;color:var(--gold-l);margin-bottom:12px;line-height:1.6;}
.empty-state{text-align:center;padding:28px 16px;color:var(--muted);font-size:15px;}
.empty-icon{font-size:32px;margin-bottom:10px;}
.upgrade-banner{background:var(--gold-d);border:1px solid var(--border-g);border-radius:14px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;}
.upgrade-banner h3{font-size:14px;font-weight:500;color:var(--gold-l);margin-bottom:3px;}
.upgrade-banner p{font-size:14px;color:var(--muted);}
.btn-upgrade{flex-shrink:0;background:var(--gold);border:none;border-radius:999px;padding:10px 20px;color:var(--on-accent);font-size:15px;font-weight:600;cursor:pointer;font-family:'Heebo',sans-serif;box-shadow:var(--qc-shadow);}
.divider-line{height:1px;background:var(--border);margin:14px 0;}
@media(max-width:420px){.chips-grid{grid-template-columns:repeat(2,1fr);}.emo-grid{grid-template-columns:repeat(2,1fr);}}
/* Tablet: keep 2-col domain grid between mobile and desktop */
@media(min-width:600px) and (max-width:1023px){.domain-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
/* Daily-actions list: breathing room between stacked task rows on mobile */
.daily-action-item{margin-bottom:8px;}
.daily-action-item:last-child{margin-bottom:0;}
.daily-domain-section + .daily-domain-section{margin-top:12px;}

/* Action completion feedback — soft ring pulse + checkmark pop (meaningful, no confetti) */
@keyframes pulse-gold{0%,100%{box-shadow:0 0 0 0 rgba(184,146,58,0);}50%{box-shadow:0 0 0 8px rgba(184,146,58,0.20);}}
.action-item.just-done{animation:pulse-gold .5s var(--ease-out);}
@keyframes check-pop{0%{transform:scale(0) rotate(-15deg);opacity:0;}60%{transform:scale(1.18);}100%{transform:scale(1);opacity:1;}}
.action-item.just-done .action-check.done::after{animation:check-pop var(--dur-slow) cubic-bezier(.16,1,.3,1) both;}
/* Emotion chip select — single soft pulse */
@keyframes soft-pulse{0%{box-shadow:0 0 0 0 rgba(184,146,58,.28);}100%{box-shadow:0 0 0 10px rgba(184,146,58,0);}}
.emotion-btn.sel{animation:soft-pulse .45s var(--ease-out) 1;}
/* ── SKELETON SHIMMER ── */
@keyframes shimmer{0%{background-position:200% center;}100%{background-position:-200% center;}}
.skel-line{border-radius:6px;background:linear-gradient(90deg,var(--card2) 25%,var(--card-elevated) 50%,var(--card2) 75%);background-size:400% 100%;animation:shimmer 1.6s ease-in-out infinite;}
.skeleton-report{padding:4px 0;}

/* ── FOCUS — visible ring for keyboard users, all themes ── */
:where(button,input,textarea,select,a,[role="button"],[tabindex]):focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}

/* Respect reduced-motion preference */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}

/* ── THEMES ── */
body,.card,.auth-card,.exercise-card,.nav-top,.nav-bottom,textarea,input{transition:background .3s,color .3s,border-color .3s;}

/* ── BEIGE NAV BARS ── */
body.theme-beige .nav-top{background:rgba(247,243,235,0.92)!important;border-bottom:1px solid var(--border)!important;}
body.theme-beige .nav-bottom{background:#FFFFFF!important;border-top:1px solid var(--border)!important;}
/* Light-green theme: kill all decorative chrome */
body.theme-beige .stars,body.theme-beige .ambient-blobs{display:none!important;}
body.theme-beige .compass-spin{animation:none!important;}
body.theme-beige .auth-logo svg{animation:none!important;filter:none!important;}
/* ── LIGHT-GREEN THEME BUTTON OVERRIDES ── */
body.theme-beige .btn-next{background:var(--green)!important;color:#fff!important;border:none!important;}
body.theme-beige .btn-auth{background:var(--green)!important;color:var(--on-accent)!important;border:none!important;}
body.theme-beige input,body.theme-beige textarea{color:var(--text)!important;background:#FFFFFF!important;border-color:var(--border)!important;}
body.theme-beige .btn-upgrade-small{background:var(--green)!important;color:var(--on-accent)!important;}
/* Hide plan-pill if it appears anywhere — replaced by bell+menu icons */
body.theme-beige .plan-pill{display:none!important;}

/* ── DOMAIN PICKER CARDS (shared: values + inquiry) ── */
.domain-pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.domain-pick-card{border-radius:14px;padding:18px 14px;cursor:pointer;transition:transform .2s,box-shadow .15s;border:1.5px solid;}
.domain-pick-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.18);}
.domain-pick-card[data-domain="relations"]{background:var(--d-relations-bg);border-color:color-mix(in srgb,var(--d-relations) 45%,transparent);}
.domain-pick-card[data-domain="career"]   {background:var(--d-career-bg);border-color:color-mix(in srgb,var(--d-career) 45%,transparent);}
.domain-pick-card[data-domain="health"]   {background:var(--d-health-bg);border-color:color-mix(in srgb,var(--d-health) 45%,transparent);}
.domain-pick-card[data-domain="leisure"]  {background:var(--d-leisure-bg);border-color:color-mix(in srgb,var(--d-leisure) 45%,transparent);}
.domain-pick-title{font-family:'Heebo',sans-serif;font-size:15px;font-weight:700;margin-bottom:3px;}
.domain-pick-card[data-domain="relations"] .domain-pick-title{color:var(--d-relations);}
.domain-pick-card[data-domain="career"]    .domain-pick-title{color:var(--d-career);}
.domain-pick-card[data-domain="health"]    .domain-pick-title{color:var(--d-health);}
.domain-pick-card[data-domain="leisure"]   .domain-pick-title{color:var(--d-leisure);}
.domain-pick-sub{font-size:15px;color:var(--muted);margin-top:2px;}

/* ── INQUIRY SCREEN — redesigned ── */
.inq-hero{text-align:center;padding:8px 0 24px;}
.inq-hero-title{font-family:'Frank Ruhl Libre',serif;font-size:36px;font-weight:700;color:var(--gold-l);margin:6px 0 6px;line-height:1.2;text-wrap:balance;}
.inq-hero-sub{font-size:15px;color:var(--muted);line-height:1.6;max-width:56ch;margin:8px auto 0;}
/* Domain cards for inquiry — bigger, icon-first */
.inq-domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
.inq-domain-card{border-radius:18px;padding:20px 16px 18px;text-align:center;cursor:pointer;border:none;font-family:inherit;transition:transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent;}
.inq-domain-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.16);}
.inq-domain-card:active{transform:scale(.97);}
.inq-domain-card[data-domain="relations"]{background:var(--d-relations-bg);}
.inq-domain-card[data-domain="career"]   {background:var(--d-career-bg);}
.inq-domain-card[data-domain="health"]   {background:var(--d-health-bg);}
.inq-domain-card[data-domain="leisure"]  {background:var(--d-leisure-bg);}
.inq-domain-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;flex-shrink:0;}
.inq-domain-card[data-domain="relations"] .inq-domain-icon{background:var(--d-relations);color:#fff;}
.inq-domain-card[data-domain="career"]    .inq-domain-icon{background:var(--d-career);color:#fff;}
.inq-domain-card[data-domain="health"]    .inq-domain-icon{background:var(--d-health);color:#fff;}
.inq-domain-card[data-domain="leisure"]   .inq-domain-icon{background:var(--d-leisure);color:#fff;}
.inq-domain-name{font-family:'Frank Ruhl Libre',serif;font-size:18px;font-weight:700;margin-bottom:4px;}
.inq-domain-card[data-domain="relations"] .inq-domain-name{color:var(--d-relations);}
.inq-domain-card[data-domain="career"]    .inq-domain-name{color:var(--d-career);}
.inq-domain-card[data-domain="health"]    .inq-domain-name{color:var(--d-health);}
.inq-domain-card[data-domain="leisure"]   .inq-domain-name{color:var(--d-leisure);}
.inq-domain-sub{font-size:12px;color:var(--muted);line-height:1.4;}
/* Thought list */
.inq-thought-wrap{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:20px;}
.inq-thought-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border);}
.inq-thought-item{display:flex;align-items:flex-start;gap:12px;padding:13px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;}
.inq-thought-item:last-child{border-bottom:none;}
.inq-thought-item:hover{background:rgba(0,0,0,.025);}
.inq-thought-item.is-done{opacity:.6;cursor:default;}
.inq-thought-item.is-done:hover{background:none;}
.inq-thought-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:background .18s;}
.inq-thought-text{flex:1;font-size:15px;color:var(--text);font-style:italic;line-height:1.55;}
.inq-thought-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;flex-shrink:0;margin-top:3px;}
.inq-thought-add{padding:14px 18px;}
/* Q1/Q2 large answer buttons */
.inq-yn-wrap{display:flex;gap:12px;margin-top:4px;}
.inq-yn-btn{flex:1;padding:18px 10px;border-radius:16px;font-family:'Heebo',sans-serif;font-size:20px;font-weight:700;cursor:pointer;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;border:2px solid var(--border);background:transparent;color:var(--text);}
.inq-yn-btn.sel-yes{background:var(--gold);color:#fff;border-color:var(--gold);box-shadow:0 4px 18px rgba(139,105,20,.28);}
.inq-yn-btn.sel-no{background:var(--card);color:var(--text);border-color:var(--gold);box-shadow:0 2px 10px rgba(0,0,0,.1);}
/* BK question display */
.inq-q-display{font-family:'Frank Ruhl Libre',serif;font-size:30px;font-weight:700;color:var(--text);line-height:1.3;text-align:center;margin-bottom:14px;text-wrap:balance;}
.inq-q-hint{font-size:14px;color:var(--muted);line-height:1.65;text-align:center;margin-bottom:20px;}
/* Thought quote block in step header */
.inq-thought-quote{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:20px;text-align:center;}
.inq-thought-quote-text{font-family:'Frank Ruhl Libre',serif;font-size:15px;font-style:italic;color:var(--text);line-height:1.7;}
/* Domain badge in thought list header */
.inq-domain-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600;}
/* History section */
.inq-history-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:16px;}
.inq-history-head{padding:14px 18px 12px;border-bottom:1px solid var(--border);}
.inq-history-item{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;}
.inq-history-item:last-child{border-bottom:none;}
.inq-history-item:hover{background:rgba(0,0,0,.03);}
/* beige theme overrides */
body.theme-beige .inq-thought-wrap,body.theme-beige .inq-history-card{background:#fff;border:none;box-shadow:var(--qc-shadow);}
body.theme-beige .inq-thought-quote{background:var(--gold-d);border:none;}

/* ── ACCESSIBILITY ── */
.a11y-font-sm  *{font-size:90%!important;}
.a11y-font-lg  *{font-size:112%!important;}
.a11y-font-xl  *{font-size:125%!important;}
.a11y-text-spacing{letter-spacing:.04em;line-height:1.85;word-spacing:.08em;}
.a11y-reduce-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important;}
.a11y-high-contrast{--text:#111!important;--muted:rgba(0,0,0,.75)!important;}
body.theme-beige.a11y-high-contrast{--text:#000!important;--night:#fff!important;--card:#fff!important;--card2:#f0f0f0!important;}
.a11y-dyslexic,.a11y-dyslexic *{font-family:'Arial',sans-serif!important;letter-spacing:.03em;}

/* Accessibility button */
.a11y-trigger-btn{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:10px;
  cursor:pointer;font-size:14px;color:var(--muted);
  font-family:'Heebo',sans-serif;
  background:none;border:none;width:100%;text-align:right;
  transition:background .15s,color .15s;
}
.a11y-trigger-btn:hover{background:var(--border);color:var(--text);}

/* Panel */
#a11yPanel{
  position:fixed;z-index:600;
  background:var(--card);border:1px solid var(--border-g);
  border-radius:16px;padding:18px 16px;
  box-shadow:var(--qc-shadow-lg);
  width:240px;
  animation:fade-up var(--dur-base) var(--ease-out) both;
}
/* Desktop: anchor to bottom of sidebar */
@media(min-width:1024px){
  #a11yPanel{bottom:70px;right:4px;top:auto;left:auto;}
}
/* Mobile: centered */
@media(max-width:1023px){
  #a11yPanel{bottom:80px;right:12px;left:12px;width:auto;}
}
#a11yBackdrop{position:fixed;inset:0;z-index:599;background:rgba(0,0,0,.3);}
/* Profile panel — slides down from the top bar when opened */
@keyframes panel-down{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
#profilePanel{animation:panel-down var(--dur-slow) var(--ease-out) both;}
.a11y-panel-title{font-size:13px;color:var(--gold-l);margin-bottom:14px;font-family:'Heebo',sans-serif;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;}
.a11y-section-lbl{font-size:12px;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;margin:12px 0 6px;font-family:'Heebo',sans-serif;font-weight:600;}
.a11y-font-row{display:flex;gap:5px;margin-bottom:4px;}
.a11y-font-btn{
  flex:1;padding:7px 4px;border-radius:8px;font-size:14px;
  background:var(--card2);border:1px solid var(--border);
  color:var(--text);cursor:pointer;font-family:'Heebo',sans-serif;
  transition:background .15s;
}
.a11y-font-btn.active{background:var(--gold-d2);border-color:var(--border-g);color:var(--gold-l);}
.a11y-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 2px;border-bottom:1px solid var(--border);cursor:pointer;
}
.a11y-toggle{
  width:34px;height:19px;border-radius:10px;
  background:var(--border);border:1px solid var(--border);
  position:relative;transition:background .2s;flex-shrink:0;
}
.a11y-toggle.on{background:var(--gold);border-color:var(--gold);}
.a11y-toggle-knob{
  position:absolute;top:2px;right:2px;
  width:13px;height:13px;border-radius:50%;
  background:#fff;transition:transform .2s;
}
.a11y-toggle.on .a11y-toggle-knob{transform:translateX(-15px);}
.a11y-reset-btn{
  margin-top:12px;width:100%;
  background:var(--coral-bg);border:1px solid var(--coral-b);
  border-radius:8px;padding:9px;
  color:var(--coral-t);font-size:14px;
  font-family:'Heebo',sans-serif;cursor:pointer;
}

/* ── HOME SCREEN COMPONENTS ── */
.header-card{padding:20px 18px;margin-bottom:16px;border-radius:20px;}
.header-card-inner{display:flex;align-items:center;gap:14px;}
.header-text{flex:1;}
.header-greeting{font-family:'Heebo',sans-serif;font-size:19px;font-weight:700;line-height:1.4;margin-bottom:2px;}
.header-sub{font-size:15px;color:var(--muted);line-height:1.5;}

/* Domain Grid */
.domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.domain-card{border-radius:20px;padding:20px 16px;cursor:pointer;transition:transform .15s,box-shadow .15s;border:1px solid var(--border);background:rgba(255,255,255,0.03);}
.domain-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,0.18);}
.domain-card[data-domain="relations"]{background:var(--d-relations-bg);border-color:color-mix(in srgb,var(--d-relations) 30%,transparent);}
.domain-card[data-domain="career"]   {background:var(--d-career-bg);border-color:color-mix(in srgb,var(--d-career) 30%,transparent);}
.domain-card[data-domain="health"]   {background:var(--d-health-bg);border-color:color-mix(in srgb,var(--d-health) 30%,transparent);}
.domain-card[data-domain="leisure"]  {background:var(--d-leisure-bg);border-color:color-mix(in srgb,var(--d-leisure) 30%,transparent);}
.domain-card-icon{font-size:26px;margin-bottom:10px;}
.domain-card-title{font-family:'Heebo',sans-serif;font-size:15px;font-weight:700;color:var(--text);margin-bottom:3px;}
.domain-card-sub{font-size:15px;color:var(--muted);line-height:1.4;}

/* Emotion-row → gentle one-tap inquiry offer (revealed on contracted) */
#emotionInquiryOffer{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
#emotionInquiryOffer.reveal{animation:fade-up var(--dur-base) var(--ease-out) both;}
.emotion-offer-text{font-size:14px;color:var(--text-mid);line-height:1.55;margin-bottom:10px;}
.emotion-offer-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--gold-d2);color:var(--gold-l);
  border:1px solid var(--border-g);border-radius:999px;
  padding:8px 16px;font-family:'Heebo',sans-serif;font-size:14px;font-weight:500;cursor:pointer;
  transition:background var(--dur-fast),transform var(--dur-fast);
}
.emotion-offer-btn:hover{background:var(--gold-d);}
.emotion-offer-btn:active{transform:scale(.98);}

/* Emotion Row */
.emotion-row{display:flex;gap:8px;margin-top:14px;}
.emotion-btn{flex:1;padding:9px 4px;min-height:44px;border-radius:20px;background:rgba(255,255,255,0.04);border:1px solid var(--border);font-size:15px;color:var(--muted);cursor:pointer;transition:all .15s;font-family:'Heebo',sans-serif;}
.emotion-btn:hover{background:var(--gold-d);border-color:var(--border-g);color:var(--text);}
.emotion-btn.sel{background:var(--gold-d2);border-color:var(--border-g);color:var(--gold-l);font-weight:700;box-shadow:inset 0 0 0 1px var(--border-g);}
.emotion-btn.locked{opacity:0.4;pointer-events:none;cursor:default;}

/* Anchor strip: compact secondary exercise row (lower visual weight than card) */
.anchor-strip{
  display:block;
  padding:12px 16px;
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border);
  margin-bottom:10px;
}
/* Anchor Player (inline in home) */
.anchor-play-btn{background:var(--gold-d);border:1px solid var(--border-g);border-radius:999px;padding:7px 16px;color:var(--gold-l);font-size:14px;cursor:pointer;font-family:'Heebo',sans-serif;white-space:nowrap;transition:background .15s,box-shadow .2s;}
.anchor-play-btn:hover{background:var(--gold-d2);box-shadow:var(--qc-shadow);}

/* Compass spin for header card SVG */
.compass-spin{animation:spin 22s linear infinite;}

/* Domain card SVG icons */
.domain-card-icon svg{display:block;}
.domain-card[data-domain="relations"] .domain-card-icon svg{stroke:var(--d-relations);}
.domain-card[data-domain="career"]    .domain-card-icon svg{stroke:var(--d-career);}
.domain-card[data-domain="health"]    .domain-card-icon svg{stroke:var(--d-health);}
.domain-card[data-domain="leisure"]   .domain-card-icon svg{stroke:var(--d-leisure);}

/* ══════════════════════════════════════════════
   DESKTOP LAYOUT — 1024px+
   ══════════════════════════════════════════════ */
@media (min-width:1024px){

  /* Hide mobile nav */
  .nav-top,.nav-bottom{display:none!important;}

  /* App root — 3-col grid (RTL: sidebar right | content center | panel left) */
  #appRoot.desktop-mode{
    display:grid!important;
    grid-template-columns:232px minmax(0,1fr) 320px;
    grid-template-rows:100vh;
    height:100vh;
    overflow:hidden;
    gap:0;
    background:var(--night);
  }

  /* Focus mode — hide left panel, center takes full remaining width */
  #appRoot.desktop-mode.focus-mode{grid-template-columns:232px minmax(0,1fr);}
  #appRoot.desktop-mode.focus-mode .desktop-panel{display:none!important;}

  /* Sidebar — rightmost column (col 1 in RTL) */
  .desktop-sidebar{
    grid-column:1;grid-row:1;
    background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 120px),var(--card2);
    border-left:1px solid var(--border);
    display:flex;flex-direction:column;
    height:100vh;overflow:hidden;
    padding:12px 12px 10px;
  }

  /* Screens — center column, fill all available width */
  .screen{grid-column:2;grid-row:1;}
  .screen.active{
    overflow-y:auto;height:100vh;
    padding:28px 30px 34px;
  }

  /* Left panel — leftmost column (col 3 in RTL) */
  .desktop-panel{
    grid-column:3;grid-row:1;
    background:linear-gradient(180deg,rgba(255,255,255,.015),transparent 120px),var(--card2);
    border-right:1px solid var(--border);
    height:100vh;overflow-y:auto;
    padding:22px 16px 28px;
  }

  /* Fill full width — no max-width, no auto margins */
  .page-wrap{max-width:none;width:100%;margin:0;padding-bottom:30px;}

  /* Domain grid — dashboard style */
  .domain-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
  .domain-card{
    min-height:150px;
    border-radius:22px;
    border-width:1px;
    padding:16px 14px;
    box-shadow:
      0 1px 2px rgba(0,0,0,.18),
      0 8px 24px rgba(0,0,0,.15);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .domain-card:hover{
    transform:translateY(-2px);
    box-shadow:
      0 2px 4px rgba(0,0,0,.22),
      0 14px 28px rgba(0,0,0,.2);
  }
  .domain-card-title{font-size:16px;font-weight:600;letter-spacing:.01em;}
  .domain-card-sub{font-size:13px;line-height:1.6;}
  .domain-card-icon{
    width:42px;height:42px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    margin-bottom:12px;
  }

  /* Profile panel — reposition next to sidebar */
  #profilePanel{
    top:112px!important;
    right:236px!important;
    left:auto!important;
    width:300px!important;
  }
  #profilePanel>div{max-width:none!important;padding:0!important;}
  #profilePanel>div>div{
    border-radius:20px!important;
    box-shadow:0 10px 32px rgba(0,0,0,.28);
  }

  /* Wider chips / emotion grids */
  .chips-grid{grid-template-columns:repeat(4,1fr);}
  .emo-grid{grid-template-columns:repeat(4,1fr);}

  /* Main cards on desktop — Material-like surfaces */
  .card{
    border-radius:22px;
    padding:22px 22px;
    border:1px solid color-mix(in srgb, var(--border) 84%, white 16%);
    box-shadow:
      0 1px 2px rgba(0,0,0,.2),
      0 8px 20px rgba(0,0,0,.14);
  }
  .header-card{
    padding:22px 22px 18px;
    margin-bottom:14px;
  }
  .screen-title{
    font-size:30px;
    line-height:1.28;
    letter-spacing:0;
    text-shadow:none;
  }
  .screen-sub{
    font-size:15px;
    line-height:1.7;
  }
  .sec-label{
    letter-spacing:.12em;
    font-size:11px;
    font-weight:600;
  }

  /* Desktop interaction model (Material-like states) */
  .btn-next,
  .btn-add,
  .btn-back-step,
  .anchor-play-btn{
    min-height:42px;
    border-radius:14px;
    font-weight:600;
    letter-spacing:.01em;
  }
  .btn-next{
    box-shadow:var(--qc-shadow);
  }
  .btn-next:hover{
    box-shadow:var(--qc-shadow-lg);
    transform:translateY(-1px);
  }
  .btn-back-step{
    border-radius:14px;
    background:rgba(255,255,255,.02);
  }
  .btn-add{
    border-radius:14px;
    background:var(--gold-d);
  }
  .btn-add:hover{
    background:var(--gold-d2);
  }

  .text-input,
  .form-input{
    border-radius:14px;
    min-height:46px;
    background:color-mix(in srgb, var(--soft-bg) 88%, transparent);
    border-color:color-mix(in srgb, var(--border) 82%, white 18%);
  }
  textarea.text-input{min-height:120px;}
  .text-input:focus,
  .form-input:focus{
    border-color:var(--border-g);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 15%,transparent);
  }

  .input-row{gap:10px;}
  .action-list{gap:9px;}
  .action-item{
    border-radius:14px;
    padding:12px 14px;
    background:rgba(255,255,255,.035);
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
  }
  .action-item:hover{
    transform:translateY(-1px);
    border-color:var(--border-g);
    box-shadow:0 4px 14px rgba(0,0,0,.16);
  }
  .action-text{font-size:14px;line-height:1.5;}
  .action-source{font-size:12px;padding:3px 8px;border-radius:999px;}
  .action-values{padding:0 14px 2px;}

  .week-row{gap:8px;margin-top:12px;}
  .day-name{font-size:12px;letter-spacing:.02em;}
  .day-dot{
    width:34px;height:34px;
    border-radius:12px;
    font-size:13px;
  }

  .ai-box{
    border-radius:16px;
    padding:14px 16px;
    background:var(--gold-d);
  }
  .ai-box-label{font-size:12px;letter-spacing:.12em;font-weight:600;}
  .ai-text{font-size:14px;line-height:1.9;}
  .ai-chip{
    border-radius:999px;
    min-height:30px;
    padding:4px 11px;
    font-size:12px;
  }

  .header-card-inner{align-items:flex-start;}
  .header-greeting{font-size:24px;line-height:1.2;letter-spacing:.01em;}
  .header-sub{font-size:14px;line-height:1.7;}
  .emotion-row{gap:10px;margin-top:16px;}
  .emotion-btn{
    min-height:42px;
    border-radius:14px;
    font-size:14px;
    font-weight:500;
  }

  .screen-title{
    font-family:'Heebo',sans-serif;
    font-weight:700;
  }
  .card.elevated{
    border-width:1px;
    background:var(--card-elevated);
  }

  /* Home desktop layout rhythm */
  #homeHeaderCard{margin-bottom:14px;}
  #domainGrid{margin-bottom:16px;}
  .anchor-strip{margin-bottom:14px;}
  #homeJournal{margin-top:0!important;}
  #dailyActionsCard{margin-top:14px!important;}

  /* Weekly analysis card */
  .weekly-analysis-card{
    border-radius:22px;
  }
  .weekly-block{margin-bottom:14px;}
  .weekly-block-title{
    font-size:13px;
    color:var(--muted);
    margin-bottom:7px;
    letter-spacing:.02em;
    font-weight:500;
  }
  .weekly-values-list{display:flex;flex-wrap:wrap;gap:6px;}
  .weekly-value-chip{
    display:inline-flex;align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    background:var(--gold-d2);
    border:1px solid var(--border-g);
    color:var(--gold-l);
  }
  .weekly-progress-head{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:7px;
  }
  .weekly-progress-value{font-size:12px;color:var(--text);font-weight:600;}
  .weekly-progress-track{
    height:6px;border-radius:999px;overflow:hidden;
    background:rgba(255,255,255,.08);
    border:1px solid var(--border);
  }
  .weekly-progress-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--gold),var(--gold-l));
  }
  .weekly-recurring{
    margin-bottom:14px;
    padding:10px 12px;
    border-radius:14px;
    background:var(--coral-bg);
    border:1px solid var(--coral-b);
  }
  .weekly-recurring-text{font-size:13px;color:var(--text);line-height:1.6;}
  .weekly-empty-note{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:12px;}
  .weekly-plan-block{
    margin-bottom:14px;
    border-top:1px solid var(--border);
    padding-top:10px;
  }
  .weekly-task-row{
    display:flex;align-items:flex-start;gap:10px;
    padding:10px 0;
    border-bottom:1px solid var(--border);
  }
  .weekly-task-btn{
    flex-shrink:0;
    border-radius:999px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.03);
    color:var(--text);
    padding:5px 12px;
    font-size:12px;
    cursor:pointer;
    font-family:'Heebo',sans-serif;
    transition:background .16s ease,border-color .16s ease;
  }
  .weekly-task-btn:hover{
    background:var(--gold-d);
    border-color:var(--border-g);
  }
  .weekly-task-done{font-size:17px;color:var(--gold-l);}
  .weekly-refresh-btn{width:100%;}
  .weekly-coach-result{margin-top:10px!important;}

  /* Daily actions card */
  .daily-domain-section{margin-bottom:14px;}
  .daily-domain-title{
    font-size:13px;
    margin-bottom:7px;font-weight:600;
  }
  .daily-action-item{
    margin-bottom:8px;
    align-items:flex-start;
    border-radius:14px;
  }
  .daily-action-item.is-open{cursor:pointer;}
  .daily-action-item.is-done{opacity:.45;cursor:default;}
  .daily-action-check-open{flex-shrink:0;margin-top:2px;}
  .daily-action-check-done{
    flex-shrink:0;margin-top:2px;
    background:var(--gold);
    border-color:var(--gold);
    color:var(--on-accent);
    font-size:13px;
    font-weight:700;
  }
  .daily-action-text-wrap{flex:1;}
  .daily-action-text-wrap.is-done{text-decoration:line-through;}
  .daily-done-time{font-size:12px;color:var(--muted);margin-right:6px;}
  .daily-value-row{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px;}
  .daily-action-sched{font-size:12px;color:var(--muted);margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;}
  .daily-add-sched-btn{margin-top:5px;font-size:12px;color:var(--muted);background:none;border:1px dashed var(--border);border-radius:999px;padding:4px 10px;cursor:pointer;font-family:'Heebo',sans-serif;transition:color .15s,border-color .15s;}
  .daily-add-sched-btn:hover{color:var(--green);border-color:var(--green);}
  .daily-value-chip{
    font-size:11px;
    padding:2px 8px;
    border-radius:999px;
    background:var(--gold-d);
    color:var(--gold-l);
    border:1px solid var(--border-g);
  }

  /* Values + Inquiry desktop polish */
  #screen-values #valuesScreenContent,
  #screen-inquiry .bk-slide-wrap,
  #screen-inquiry #inquiryScreenContent{
    max-width:980px;
    margin:0 auto;
  }

  /* Domain picker grid — wider gap on desktop */
  .domain-pick-grid{gap:16px;}

  /* Card vertical rhythm — more breathing room on large screens */
  #screen-values .card,
  #screen-inquiry .card,
  #screen-domains .card{
    margin-bottom:18px;
  }
  #screen-values .card,
  #screen-inquiry .card{
    border-radius:22px;
    padding:22px 22px 20px;
  }
  #screen-values .domain-pick-card,
  #screen-inquiry .domain-pick-card{
    border-radius:18px;
    min-height:120px;
    padding:16px 14px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-shadow:0 1px 2px rgba(0,0,0,.16),0 6px 18px rgba(0,0,0,.12);
  }
  #screen-values .domain-pick-title,
  #screen-inquiry .domain-pick-title{
    font-size:17px;
    font-weight:700;
    margin-bottom:5px;
  }
  #screen-values .domain-pick-sub{
    font-size:13px;
    line-height:1.6;
  }
  #screen-values .mode-hint{
    border-radius:14px;
    padding:11px 14px;
    font-size:13px;
    line-height:1.65;
  }
  #screen-values .chips-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    max-height:340px;
  }
  #screen-values .chip{
    min-height:42px;
    font-size:13px;
    border-radius:12px;
  }
  #screen-values #selectedTagsWrap{
    margin-top:10px;
  }
  #screen-values .tag{
    min-height:28px;
    font-size:12px;
    border-radius:999px;
  }
  #screen-values .ai-box,
  #screen-inquiry .ai-box{
    border-radius:16px;
    padding:14px 16px;
  }

  #screen-inquiry .thought-item{
    border-radius:16px;
    padding:13px 14px;
    margin-bottom:6px;
    box-shadow:0 1px 2px rgba(0,0,0,.14);
  }
  #screen-inquiry .thought-text{
    font-size:14px;
    line-height:1.6;
  }
  #screen-inquiry .thought-badge{
    font-size:12px;
    border-radius:999px;
    padding:3px 10px;
  }
  #screen-inquiry .bk-q-text{
    font-size:18px;
    line-height:1.55;
    margin-bottom:10px;
  }
  #screen-inquiry .bk-hint{
    font-size:14px;
    line-height:1.75;
    margin-bottom:14px;
  }
  #screen-inquiry .bk-opts{
    gap:8px;
  }
  #screen-inquiry .bk-opt{
    min-height:38px;
    border-radius:999px;
    padding:8px 14px;
    font-size:13px;
  }
  #screen-inquiry .emo-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
  }
  #screen-inquiry .emo-chip{
    min-height:40px;
    border-radius:11px;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  #screen-inquiry .reversal-card{
    border-radius:16px;
    padding:14px 16px;
    margin-bottom:12px;
  }
  #screen-inquiry .reversal-label{
    font-size:13px;
    letter-spacing:.08em;
    font-weight:600;
  }
  #screen-inquiry .reversal-text,
  #screen-inquiry .reversal-hint{
    font-size:14px;
    line-height:1.75;
  }

  #screen-values .nav-btns,
  #screen-inquiry .nav-btns{
    margin-top:18px;
    gap:12px;
  }
  #screen-values .btn-next,
  #screen-inquiry .btn-next{
    min-width:220px;
  }
  #screen-values .btn-back-step,
  #screen-inquiry .btn-back-step{
    min-width:150px;
  }

  .chip,.emo-chip{
    border-radius:11px;
    min-height:40px;
    font-size:13px;
  }
  .tag{font-size:12px;padding:4px 10px;}

  /* (focus rings are defined globally — see :focus-visible rule) */

  /* Screen head + sub spacing on desktop */
  .qc-screen-head{margin:0 0 20px;}
  .qc-screen-sub{font-size:15px;margin-top:4px;}

  /* Domains screen desktop rhythm */
  #screen-domains .qc-active-strip{margin-bottom:18px;}
  #screen-domains .qc-bento{gap:16px;margin-bottom:22px;}

  /* Insights screen desktop rhythm */
  #screen-insights .qc-mag-card{margin-bottom:18px;}

  /* Desktop panel inner card spacing */
  .desktop-panel .card{margin-bottom:14px;}
  .desktop-panel .qc-list-card{margin-bottom:14px;}
}

/* ── DESKTOP SIDEBAR STYLES ── */
.ds-logo{
  display:flex;align-items:center;gap:10px;
  padding:14px 12px 12px;
  margin:0 2px;
  border-bottom:1px solid color-mix(in srgb, var(--border) 86%, white 14%);
}
.ds-logo-text{
  font-family:'Heebo',sans-serif;
  font-size:18px;
  font-weight:600;
  color:var(--gold-l);
  letter-spacing:.01em;
}

.ds-user{
  display:flex;align-items:center;gap:10px;
  padding:12px 12px;
  margin:10px 4px 8px;
  border:1px solid color-mix(in srgb, var(--border) 82%, white 18%);
  border-radius:16px;
  background:rgba(255,255,255,.02);
  transition:border-color .18s ease, background .18s ease;
}
.ds-user:hover{
  border-color:var(--border-g);
  background:var(--gold-d);
}
.ds-avatar{
  width:36px;height:36px;border-radius:12px;
  background:var(--gold-d2);border:1px solid var(--border-g);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:var(--gold-l);font-weight:700;flex-shrink:0;
}
.ds-user-name{font-size:14px;color:var(--text);font-weight:600;margin-bottom:3px;}

.ds-nav{
  flex:1;
  padding:8px 6px 10px;
  display:flex;flex-direction:column;gap:4px;
  overflow-y:auto;
}
.ds-nav-item{
  display:flex;align-items:center;gap:10px;
  padding:11px 12px;border-radius:999px;
  cursor:pointer;font-size:15px;color:var(--muted);
  font-family:'Heebo',sans-serif;
  background:none;border:none;width:100%;
  text-align:right;font-weight:500;
  transition:background .15s,color .15s, transform .15s;
}
.ds-nav-item:hover{background:rgba(255,255,255,.05);color:var(--text);}
.ds-nav-item:active{transform:translateY(1px);}
.ds-nav-item.active{
  background:var(--gold-d2);
  color:var(--gold-l);
  box-shadow:inset 0 0 0 1px var(--border-g);
}
.ds-nav-item.active .ds-nav-icon svg{stroke:var(--gold-l);}
.ds-nav-icon{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.6;}
.ds-nav-item.active .ds-nav-icon{opacity:1;}
.ds-nav-item:hover .ds-nav-icon{opacity:.85;}

.ds-quick-add-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:calc(100% - 24px);margin:12px 12px 4px;
  padding:10px 16px;border-radius:12px;border:none;cursor:pointer;
  background:var(--gold);color:#fff;
  font-family:'Heebo',sans-serif;font-size:14px;font-weight:600;
  transition:opacity .15s;
}
.ds-quick-add-btn:hover{opacity:.88;}
.ds-footer{
  padding:10px 6px 6px;
  border-top:1px solid color-mix(in srgb, var(--border) 86%, white 14%);
  margin-top:8px;
}
.ds-logout{color:var(--muted)!important;font-size:14px!important;opacity:.7;}
.ds-logout:hover{opacity:1!important;}

/* ── DESKTOP PANEL STYLES ── */
.dp-section{
  margin-bottom:14px;
  background:var(--card);
  border:1px solid color-mix(in srgb, var(--border) 85%, white 15%);
  border-radius:20px;
  padding:14px 14px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.16),0 6px 16px rgba(0,0,0,.12);
}
.dp-title{
  font-size:13px;color:var(--text);margin-bottom:10px;padding-bottom:6px;
  border-bottom:1px solid var(--border);
  font-family:'Heebo',sans-serif;font-weight:600;
}
.dp-action-item{
  border-radius:12px;padding:9px 10px;
  font-size:14px;color:var(--text);margin-bottom:6px;
  background:color-mix(in srgb, var(--card2) 70%, transparent);
  border:1px solid var(--border);
  line-height:1.5;
  display:flex;align-items:center;gap:9px;
  transition:border-color var(--dur-fast);
}
.dp-action-item:hover{border-color:var(--border-g);}
.dp-action-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.dp-action-body{flex:1;min-width:0;}
.dp-action-domain{font-size:12px;color:var(--muted);margin-bottom:2px;}
.dp-action-check{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  border:1.5px solid var(--border);background:transparent;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--muted);transition:border-color var(--dur-fast),background var(--dur-fast);
}
.dp-action-check:hover{border-color:var(--gold-l);color:var(--gold-l);background:var(--gold-d);}
.dp-empty{font-size:13px;color:var(--muted);padding:6px 2px;}
.dp-log-item{
  display:flex;align-items:flex-start;gap:8px;
  padding:8px 2px;border-bottom:1px solid var(--border);
  font-size:12px;color:var(--muted);line-height:1.45;
}
.dp-log-icon{flex-shrink:0;font-size:15px;}
.dp-bk-ref{
  background:color-mix(in srgb, var(--card2) 66%, transparent);
  border:1px solid var(--border-g);
  border-radius:14px;padding:12px 14px;margin-bottom:10px;
}
.dp-bk-q{font-size:14px;color:var(--text);line-height:2;direction:rtl;}
.dp-bk-num{color:var(--gold-l);font-weight:600;}
.dp-stat{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 10px;border-radius:12px;
  background:color-mix(in srgb, var(--card2) 66%, transparent);
  border:1px solid var(--border);
  margin-bottom:6px;font-size:14px;
}
.dp-stat-val{color:var(--gold-l);font-weight:600;font-size:16px;}

/* ── BK SLIDE ANIMATION ── */
.bk-slide-wrap{overflow:hidden;position:relative;}
@keyframes slideInFromRight{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}
@keyframes slideInFromLeft{from{transform:translateX(-100%);opacity:0;}to{transform:translateX(0);opacity:1;}}
@keyframes slideOutToLeft{from{transform:translateX(0);opacity:1;}to{transform:translateX(-100%);opacity:0;}}
@keyframes slideOutToRight{from{transform:translateX(0);opacity:1;}to{transform:translateX(100%);opacity:0;}}
.slide-in-right{animation:slideInFromRight var(--dur-base) var(--ease-out) both;}
.slide-in-left{animation:slideInFromLeft var(--dur-base) var(--ease-out) both;}
.slide-out-left{animation:slideOutToLeft var(--dur-fast) var(--ease-in) both;}
.slide-out-right{animation:slideOutToRight var(--dur-fast) var(--ease-in) both;}

/* ── ONBOARDING OVERLAY ── */
#onboardingOverlay{
  position:fixed;inset:0;z-index:2000;
  background:var(--night);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:24px 20px env(safe-area-inset-bottom,20px);
}
.ob-back{
  position:absolute;top:calc(env(safe-area-inset-top,0px) + 20px);inset-inline-start:20px;
  background:none;border:none;
  color:var(--muted);font-family:'Heebo',sans-serif;
  font-size:14px;cursor:pointer;padding:8px;
}
.ob-back:hover{color:var(--text);}
.ob-slides{
  width:100%;max-width:380px;
  flex:1;display:flex;align-items:center;justify-content:center;
}
.ob-slide{
  width:100%;text-align:center;
  animation:slideInFromRight var(--dur-slow) var(--ease-out) both;
}
.ob-slide.slide-back{animation:slideInFromLeft var(--dur-slow) var(--ease-out) both;}
.ob-icon{font-size:56px;margin-bottom:20px;line-height:1;}
.ob-title{
  font-family:var(--font-display);
  font-size:30px;font-weight:500;color:var(--text);
  margin-bottom:12px;line-height:1.25;letter-spacing:0;
}
.ob-desc{
  font-size:16px;color:var(--muted);line-height:1.7;
  max-width:300px;margin:0 auto;
}
.ob-domains{
  display:flex;justify-content:center;gap:18px;margin-top:20px;
}
.ob-domain{display:flex;flex-direction:column;align-items:center;gap:6px;}
.ob-domain-icon{font-size:32px;display:flex;align-items:center;justify-content:center;}
.ob-domain-label{font-size:13px;color:var(--muted);}
.ob-dots{
  display:flex;gap:8px;justify-content:center;
  margin:24px 0 20px;
}
.ob-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--border);
  transition:background .25s,transform .25s;
}
.ob-dot.active{background:var(--gold);transform:scale(1.25);}
.ob-cta{
  width:100%;max-width:380px;
  padding:15px 28px;border-radius:999px;
  background:var(--gold);border:none;
  color:var(--on-accent);font-family:'Heebo',sans-serif;
  font-size:17px;font-weight:600;cursor:pointer;
  letter-spacing:.02em;
  box-shadow:var(--qc-shadow);
  transition:box-shadow var(--dur-base),transform var(--dur-fast);
}
.ob-cta:hover{box-shadow:var(--qc-shadow-lg);transform:translateY(-1px);}
.ob-cta:active{transform:scale(.98);}
.ob-skip{
  background:none;border:none;
  color:var(--muted);font-family:'Heebo',sans-serif;
  font-size:15px;cursor:pointer;
  margin-top:14px;padding:8px;
}

/* ── ONBOARDING VISUAL (slide 2 compass illustration) ── */
.ob-visual{margin-bottom:16px;display:flex;justify-content:center;}
@media(prefers-reduced-motion:reduce){.ob-visual svg{animation:none;}}

/* ── ONBOARDING NOTIFICATION SLIDE (slide 3) ── */
.ob-bell-anim{overflow:visible;}
@media(prefers-reduced-motion:reduce){
  .ob-bell-anim *{animation:none!important;}
  .ob-bell-anim .ob-bell-body,.ob-bell-anim .ob-bell-badge{opacity:1!important;}
}
/* ── NOTIFICATION REMINDER STRIP ── */
.notif-reminder-strip{
  display:flex;align-items:center;gap:10px;
  background:var(--card-elevated);
  border:1px solid var(--border-g);
  border-radius:14px;
  padding:11px 14px;
  margin:0 0 10px;
  cursor:pointer;
  transition:background .15s;
}
.notif-reminder-strip:active{background:var(--card2);}
.notif-reminder-icon{
  width:36px;height:36px;border-radius:10px;
  background:var(--gold-d2);border:1px solid var(--border-g);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.notif-reminder-text{flex:1;min-width:0;}
.notif-reminder-title{font-size:13px;font-weight:600;color:var(--text);}
.notif-reminder-sub{font-size:11px;color:var(--muted);margin-top:1px;}
.notif-reminder-dismiss{
  background:none;border:none;color:var(--muted);
  font-size:20px;cursor:pointer;padding:2px 6px;line-height:1;
  flex-shrink:0;
}

/* ── ONBOARDING DOMAIN PICKER (slide 3) ── */
.ob-domain-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:360px;margin-top:16px;}
.ob-domain-card{border-radius:14px;padding:16px 12px;cursor:pointer;border:1.5px solid;transition:transform .15s,box-shadow .15s;text-align:center;}
.ob-domain-card:active{transform:scale(.97);}
.ob-domain-card[data-domain="relations"]{background:var(--d-relations-bg);border-color:color-mix(in srgb,var(--d-relations) 45%,transparent);}
.ob-domain-card[data-domain="career"]   {background:var(--d-career-bg);border-color:color-mix(in srgb,var(--d-career) 45%,transparent);}
.ob-domain-card[data-domain="health"]   {background:var(--d-health-bg);border-color:color-mix(in srgb,var(--d-health) 45%,transparent);}
.ob-domain-card[data-domain="leisure"]  {background:var(--d-leisure-bg);border-color:color-mix(in srgb,var(--d-leisure) 45%,transparent);}
.ob-domain-card-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:3px;}
.ob-domain-card-sub{font-size:12px;color:var(--muted);}

/* ── FIRST-TIME WRITING HINT ── */
.first-time-hint{font-size:13px;color:var(--gold-l);background:var(--gold-d);border:1px solid var(--border-g);border-radius:var(--qc-radius-sm);padding:8px 12px;margin-bottom:12px;line-height:1.6;}

/* ════════════════════════════════════════════════════════════════
   ═════ QUIET COMPASS — v2 DESIGN SYSTEM (default) ════════════════
   Soft Therapeutic Minimalism · Sage on Cream · Editorial Type
   ════════════════════════════════════════════════════════════════ */


/* ── Top nav ── */
/* ── Bottom nav ── */
/* ── Page container ── */
/* ── Cards (single soft shadow, no borders by default) ── */

/* ── Typography primitives ── */

/* ── Buttons ── */
/* ── Inputs ── */
/* ── Chips ── */

/* ── Action items ── */

/* ── Thought items ── */
/* ── BK options & emo chips ── */

/* ── Header card (today greeting) ── */

/* ── Domain bento grid (home) ── */
/* ── Domain pick cards (values flow) ── */
/* ── Auth screen ── */

/* ── Day dots / week row ── */
/* ── Weekly progress bar ── */

/* ── AI box ── */
/* ── Reversal & misc cards ── */
/* ── BK progress dots ── */
/* ── Toast & banner ── */

/* ── Onboarding overlay ── */
/* ── Profile panel ── */
/* ── Lock badge ── */
/* ── Voice button ── */
/* ════════════════════════════════════════════════════════════════
   ═════ NEW QC COMPONENTS ════════════════════════════════════════
   New patterns introduced in v2: hero-card, eyebrow, magazine,
   bento, weekly-summary-hero, etc. Prefixed with .qc-
   ════════════════════════════════════════════════════════════════ */

/* Eyebrow label */
.qc-eyebrow{
  font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px;font-family:'Heebo',sans-serif;
}

/* Display headline (Frank Ruhl) */
.qc-display{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:32px;font-weight:500;line-height:1.2;
  color:var(--text);letter-spacing:-0.005em;
}
.qc-display-lg{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:38px;font-weight:500;line-height:1.18;
  color:var(--text);letter-spacing:-0.01em;
}
.qc-display-sm{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:24px;font-weight:500;line-height:1.25;color:var(--text);
}
@media(min-width:768px){
  .qc-display-lg{font-size:46px;}
  .qc-display{font-size:36px;}
}

/* Underline accent (used on a single word) */
.qc-underline{
  position:relative;
  background:linear-gradient(to top, var(--gold) 0, var(--gold) 2px, transparent 2px) no-repeat;
  background-size:100% 100%;
  background-position:0 100%;
  padding-bottom:2px;
}

/* Hero today card — full-bleed domain tint */
.qc-hero-card{
  border-radius:var(--qc-radius);
  padding:22px 20px;
  margin-bottom:20px;
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:16px;
  box-shadow:none;
}
.qc-hero-card[data-domain="relations"]{background:var(--qc-tint-relations);}
.qc-hero-card[data-domain="career"]   {background:var(--qc-tint-career);}
.qc-hero-card[data-domain="health"]   {background:var(--qc-tint-health);}
.qc-hero-card[data-domain="leisure"]  {background:var(--qc-tint-leisure);}
.qc-hero-glyph{
  flex-shrink:0;width:88px;height:88px;
}
.qc-hero-body{flex:1;min-width:0;}
.qc-hero-eyebrow{
  font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(30,42,34,0.55);margin-bottom:4px;
}
.qc-hero-title{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:28px;font-weight:500;line-height:1.15;
  margin-bottom:4px;
}
.qc-hero-card[data-domain="relations"] .qc-hero-title{color:var(--qc-stroke-relations);}
.qc-hero-card[data-domain="career"]    .qc-hero-title{color:var(--qc-stroke-career);}
.qc-hero-card[data-domain="health"]    .qc-hero-title{color:var(--qc-stroke-health);}
.qc-hero-card[data-domain="leisure"]   .qc-hero-title{color:var(--qc-stroke-leisure);}
.qc-hero-meta{font-size:13px;color:rgba(30,42,34,0.6);margin-bottom:12px;}
.qc-hero-cta{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--gold);color:#fff;
  border:none;border-radius:999px;padding:9px 18px;
  font-family:'Heebo',sans-serif;font-size:14px;font-weight:500;cursor:pointer;
  transition:filter var(--dur-fast), transform var(--dur-fast);
}
.qc-hero-cta:hover{filter:brightness(1.08);}
.qc-hero-cta:active{transform:scale(.98);}
.qc-hero-cta svg{width:14px;height:14px;}

/* Stat card (weekly progress glance) */
.qc-stat-card{
  background:var(--card);border-radius:var(--qc-radius);
  box-shadow:var(--qc-shadow);padding:18px 20px;
  margin-bottom:14px;
  display:flex;align-items:center;gap:18px;
}
.qc-stat-donut{flex-shrink:0;}
.qc-stat-body{flex:1;min-width:0;}
.qc-stat-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:2px;}
.qc-stat-meta{font-size:13px;color:var(--muted);}
.qc-stat-num{font-size:24px;font-weight:700;color:var(--gold-l);font-family:'Heebo',sans-serif;}

/* Theme-quiet: large vertical donut layout */
/* Quiet list (today reflections) */
.qc-list-card{
  background:var(--card);border-radius:var(--qc-radius);
  box-shadow:var(--qc-shadow);padding:6px 20px;margin-bottom:14px;
}
.qc-list-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--border);
}
.qc-list-row:last-child{border-bottom:none;}
.qc-list-icon{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;
  background:var(--gold-d2);color:var(--gold-l);
  display:flex;align-items:center;justify-content:center;
}
.qc-list-icon svg{width:16px;height:16px;}
.qc-list-text{flex:1;font-size:14px;color:var(--text);line-height:1.5;}
.qc-list-meta{font-size:13px;color:var(--muted);margin-right:auto;}

/* Suggested next row (with chevron) */
.qc-suggest-row{
  background:var(--card);border-radius:var(--qc-radius);
  box-shadow:var(--qc-shadow);padding:14px 18px;margin-top:20px;margin-bottom:16px;
  display:flex;align-items:center;gap:14px;
  cursor:pointer;transition:transform .12s ease;
  border:none;width:100%;text-align:start;font-family:inherit;
}
.qc-suggest-row:hover{transform:translateY(-1px);}
.qc-suggest-row:active{transform:scale(.99);}
.qc-suggest-icon{
  flex-shrink:0;width:36px;height:36px;border-radius:10px;
  background:var(--gold-d2);color:var(--gold-l);
  display:flex;align-items:center;justify-content:center;
}
.qc-suggest-body{flex:1;min-width:0;}
.qc-suggest-eyebrow{font-size:11px;font-weight:600;color:var(--gold-l);margin-bottom:2px;}
.qc-suggest-title{font-size:14px;font-weight:500;color:var(--text);}
.qc-suggest-chev{flex-shrink:0;color:var(--muted);}

/* Bento grid for Domains screen */
.qc-bento{
  display:grid;grid-template-columns:1fr 1fr;
  gap:14px;margin-bottom:18px;
}
.qc-bento-card{
  border-radius:var(--qc-radius);padding:18px 16px;
  cursor:pointer;transition:transform .15s ease, box-shadow .2s ease;
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:170px;border:none;
  font-family:inherit;text-align:start;
}
.qc-bento-card:hover{transform:translateY(-1px);box-shadow:var(--qc-shadow);}
.qc-bento-card[data-domain="relations"]{background:var(--qc-tint-relations);}
.qc-bento-card[data-domain="career"]   {background:var(--qc-tint-career);}
.qc-bento-card[data-domain="health"]   {background:var(--qc-tint-health);}
.qc-bento-card[data-domain="leisure"]  {background:var(--qc-tint-leisure);}
.qc-bento-icon{width:32px;height:32px;}
.qc-bento-card[data-domain="relations"] .qc-bento-icon{color:var(--qc-stroke-relations);}
.qc-bento-card[data-domain="career"]    .qc-bento-icon{color:var(--qc-stroke-career);}
.qc-bento-card[data-domain="health"]    .qc-bento-icon{color:var(--qc-stroke-health);}
.qc-bento-card[data-domain="leisure"]   .qc-bento-icon{color:var(--qc-stroke-leisure);}
.qc-bento-title{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:22px;font-weight:500;line-height:1.15;margin-top:auto;
}
.qc-bento-card[data-domain="relations"] .qc-bento-title{color:var(--qc-stroke-relations);}
.qc-bento-card[data-domain="career"]    .qc-bento-title{color:var(--qc-stroke-career);}
.qc-bento-card[data-domain="health"]    .qc-bento-title{color:var(--qc-stroke-health);}
.qc-bento-card[data-domain="leisure"]   .qc-bento-title{color:var(--qc-stroke-leisure);}
.qc-bento-meta{
  font-size:12px;margin-top:4px;
  color:rgba(30,42,34,0.55);
}
.qc-bento-card[data-domain="relations"] .qc-bento-meta{color:rgba(89,46,55,0.65);}
.qc-bento-card[data-domain="career"]    .qc-bento-meta{color:rgba(95,68,40,0.65);}
.qc-bento-card[data-domain="health"]    .qc-bento-meta{color:rgba(43,72,52,0.65);}
.qc-bento-card[data-domain="leisure"]   .qc-bento-meta{color:rgba(31,72,69,0.65);}
/* Night: hardcoded ink metas are unreadable on dark tints */
body.theme-compass .qc-bento-card .qc-bento-meta{color:var(--muted);}
body.theme-compass .qc-hero-eyebrow,
body.theme-compass .qc-hero-meta{color:var(--muted);}
.qc-bento-progress{
  height:3px;border-radius:999px;margin-top:10px;
  background:rgba(30,42,34,0.08);overflow:hidden;
}
.qc-bento-progress-fill{height:100%;border-radius:999px;}
.qc-bento-card[data-domain="relations"] .qc-bento-progress-fill{background:var(--qc-stroke-relations);}
.qc-bento-card[data-domain="career"]    .qc-bento-progress-fill{background:var(--qc-stroke-career);}
.qc-bento-card[data-domain="health"]    .qc-bento-progress-fill{background:var(--qc-stroke-health);}
.qc-bento-card[data-domain="leisure"]   .qc-bento-progress-fill{background:var(--qc-stroke-leisure);}

/* Active session strip (Domains screen) */
.qc-active-strip{
  background:var(--card);border-radius:var(--qc-radius);box-shadow:var(--qc-shadow);
  padding:14px 18px;margin-bottom:14px;
  display:flex;align-items:center;gap:14px;
}
.qc-active-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;}
.qc-active-title{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:18px;font-weight:500;color:var(--text);margin-top:1px;
}
.qc-active-progress{flex:1;min-width:60px;}
.qc-active-progress-track{
  height:4px;border-radius:999px;background:var(--soft-bg);overflow:hidden;
}
.qc-active-progress-fill{height:100%;background:var(--gold);border-radius:999px;}
.qc-active-meta{font-size:11px;color:var(--muted);margin-top:6px;}

/* ── INSIGHTS — time period picker + radar chart + domain grid ── */
.ins-period-tabs{display:flex;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:3px;gap:2px;margin-bottom:16px;}
.ins-period-tab{flex:1;padding:9px 4px;border-radius:9px;border:none;background:transparent;color:var(--muted);font-family:'Heebo',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;}
.ins-period-tab.active{background:var(--gold);color:#fff;font-weight:600;}
/* Week navigation */
.ins-week-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding-bottom:12px;}
.ins-week-nav-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:background .12s;}
.ins-week-nav-btn:hover{background:var(--gold-d2);}
.ins-week-nav-btn:disabled{opacity:.3;cursor:default;}
.ins-week-label{font-size:14px;color:var(--text);font-family:'Heebo',sans-serif;font-weight:500;}
/* Radar chart wrap */
.ins-radar-wrap{padding:24px 0 8px;margin-bottom:8px;max-width:320px;margin-left:auto;margin-right:auto;}
/* Domain status grid */
.ins-domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.ins-domain-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:14px;}
.ins-domain-icon-sm{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ins-domain-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px;}
.ins-domain-level{font-size:12px;font-weight:500;}
/* Stat cards (smaller, supplementary) */
.ins-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.ins-stat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 12px;text-align:center;}
.ins-stat-num{font-family:'Frank Ruhl Libre',serif;font-size:30px;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px;}
.ins-stat-label{font-size:11px;color:var(--muted);}
.ins-value-highlight{text-align:center;padding:4px 0 6px;}
/* Beige theme overrides */
body.theme-beige .ins-period-tabs{background:#fff;border:none;box-shadow:var(--qc-shadow);}
body.theme-beige .ins-stat-card,body.theme-beige .ins-domain-item{background:#fff;border:none;box-shadow:var(--qc-shadow);}
body.theme-beige .ins-period-tab.active{background:var(--green);color:#fff;}
body.theme-beige .ins-week-nav-btn{background:#fff;border-color:#E8E2D4;}

/* Magazine layout for Insights */
.qc-mag-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:8px;}
.qc-mag-headline{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:32px;font-weight:500;line-height:1.2;color:var(--text);
  letter-spacing:-0.005em;margin-bottom:20px;
}
@media(min-width:600px){.qc-mag-headline{font-size:38px;}}
.qc-mag-card{
  background:var(--card);border-radius:var(--qc-radius);
  box-shadow:var(--qc-shadow);padding:22px 20px;margin-bottom:14px;
}
.qc-mag-letter{font-size:15px;color:var(--text);line-height:1.7;}
.qc-mag-letter .qc-mag-greet{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:22px;font-weight:500;color:var(--text);display:block;margin-bottom:10px;
}
.qc-mag-letter strong{font-weight:700;color:var(--text);}
.qc-mag-letter .qc-mag-sig{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-style:italic;font-weight:500;color:var(--gold-l);
  display:block;margin-top:14px;text-align:start;
}

/* Meta chips row (Insights) */
.qc-meta-row{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;
}
.qc-meta-chip{
  background:var(--card);border:1px solid var(--border);
  border-radius:999px;padding:7px 14px;font-size:13px;color:var(--text);
  box-shadow:none;
}
.qc-meta-chip-strong{font-weight:500;color:var(--gold-l);}

/* Compass viz wrap (Insights) */
.qc-compass-frame{
  display:flex;justify-content:center;
  padding:24px 0 16px;
}

/* Section header (within Insights) */
.qc-section-h{
  font-family:'Heebo',sans-serif;font-size:14px;font-weight:700;
  color:var(--text);margin-bottom:12px;
}

/* Greeting line under hero on Today */
.qc-today-greeting-block{margin:8px 4px 14px;}
.qc-today-greeting{
  font-family:'Frank Ruhl Libre','Heebo',serif;
  font-size:30px;font-weight:500;line-height:1.2;color:var(--text);
}
.qc-today-quiet{font-size:14px;color:var(--muted);margin-top:2px;line-height:1.5;}

/* Value of the day — gentle default bias (agree, don't decide) */
.qc-value-of-day{
  font-size:16px;color:var(--muted);margin-top:10px;line-height:1.5;
  animation:fade-up var(--dur-base) var(--ease-out) both;
}
.qc-value-of-day strong{color:var(--gold-l);font-weight:600;}
.value-of-day-swap{
  background:none;border:none;cursor:pointer;
  font-family:'Heebo',sans-serif;font-size:12px;color:var(--muted);
  text-decoration:underline;text-underline-offset:2px;
  margin-inline-start:8px;padding:0;
  transition:color var(--dur-fast);
}
.value-of-day-swap:hover{color:var(--gold-l);}

/* Rest day — self-compassion, a pause is part of the path */
#restDayRow{text-align:center;margin:10px 0 4px;}
.rest-day-btn{
  background:none;border:none;cursor:pointer;
  font-family:'Heebo',sans-serif;font-size:13px;color:var(--muted);
  padding:8px 12px;border-radius:999px;
  transition:color var(--dur-fast),background var(--dur-fast);
}
.rest-day-btn:hover{color:var(--text-mid);background:var(--gold-d);}
.rest-day-note{
  font-size:14px;color:var(--text-mid);line-height:1.6;
  margin-top:4px;padding:0 16px;
  animation:fade-up var(--dur-base) var(--ease-out) both;
}
/* While resting, the next-step nudge stops demanding */
.qc-suggest-row.is-resting{opacity:.5;}

/* ── Home hero eyebrow (Living Compass) ── */
.qc-home-eyebrow{font-size:12px;font-weight:500;color:var(--muted);line-height:1.4;}
.qc-today-greeting-block .qc-today-greeting{margin-top:2px;}

/* ── HOME HERO — full-bleed time-of-day landscape ── */
/* ── HOME HERO SECTION — full-bleed landscape covering greeting + compass ── */
.home-hero-section{
  position:relative;overflow:hidden;
  /* Break out of page-wrap padding AND extend behind fixed nav */
  margin:calc(-20px - var(--nav-top-h)) -16px 20px;
  min-height:62vh;
  display:flex;flex-direction:column;
}
/* Subtle top-to-transparent gradient so nav icons stay legible */
.home-hero-section::before{
  content:'';
  position:absolute;top:0;left:0;right:0;
  height:110px;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.22) 0%,transparent 100%);
}
#homeHeroBg{
  position:absolute;inset:0;z-index:0;
}
#homeHeroBg img{
  width:100%;height:100%;display:block;
  object-fit:cover;object-position:center top;
}
.home-hero-bg-fade{
  position:absolute;bottom:0;left:0;right:0;
  height:52%;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,transparent 0%,var(--bg) 90%);
}
.home-hero-section .qc-today-greeting-block{
  position:relative;z-index:5;
  padding:calc(var(--nav-top-h) + 40px) 20px 0;
  margin:0;
  text-align:center;
}

/* Value-of-day line inside hero — inherits tod color */
.home-hero-section[data-tod="morning"] .qc-value-of-day,
.home-hero-section[data-tod="noon"] .qc-value-of-day,
.home-hero-section[data-tod="sunset"] .qc-value-of-day{
  color:rgba(22,38,58,.72);
  text-shadow:0 1px 5px rgba(255,255,255,.5);
}
.home-hero-section[data-tod="morning"] .qc-value-of-day strong,
.home-hero-section[data-tod="noon"] .qc-value-of-day strong,
.home-hero-section[data-tod="sunset"] .qc-value-of-day strong{
  color:rgba(100,60,10,.88);
}
.home-hero-section[data-tod="night"] .qc-value-of-day{
  color:rgba(210,228,252,.78);
  text-shadow:0 1px 5px rgba(0,5,20,.6);
}
.home-hero-section[data-tod="night"] .qc-value-of-day strong{
  color:rgba(240,210,140,.92);
}
.home-hero-section[data-tod="night"] .value-of-day-swap{
  color:rgba(200,220,250,.6);
}

/* Morning — light blue/pink sky: dark navy text, white glow */
.home-hero-section[data-tod="morning"] .qc-home-eyebrow{
  color:rgba(22,36,56,.70);
  text-shadow:0 1px 5px rgba(255,255,255,.55);
}
.home-hero-section[data-tod="morning"] .qc-today-greeting{
  color:#16243A;
  text-shadow:0 1px 8px rgba(255,255,255,.6);
}

/* Noon — bright cyan sky: deep navy */
.home-hero-section[data-tod="noon"] .qc-home-eyebrow{
  color:rgba(6,24,44,.78);
  text-shadow:0 1px 5px rgba(255,255,255,.5);
}
.home-hero-section[data-tod="noon"] .qc-today-greeting{
  color:#061828;
  text-shadow:0 1px 8px rgba(255,255,255,.55);
}

/* Sunset — soft warm sky: dark warm navy */
.home-hero-section[data-tod="sunset"] .qc-home-eyebrow{
  color:rgba(28,38,52,.70);
  text-shadow:0 1px 5px rgba(255,255,255,.55);
}
.home-hero-section[data-tod="sunset"] .qc-today-greeting{
  color:#1C2634;
  text-shadow:0 1px 8px rgba(255,255,255,.6);
}

/* Night — deep navy sky: white/pale blue text */
.home-hero-section[data-tod="night"] .qc-home-eyebrow{
  color:rgba(210,228,252,.75);
  text-shadow:0 1px 5px rgba(0,5,20,.6);
}
.home-hero-section[data-tod="night"] .qc-today-greeting{
  color:rgba(225,240,255,.95);
  text-shadow:0 2px 10px rgba(0,5,20,.7);
}
#todayHeroCard{
  position:relative;z-index:5;
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding-bottom:20px;
}
.home-hero-compass{
  width:100%;max-width:320px;
  filter:drop-shadow(0 2px 14px rgba(0,0,0,.20));
}
.domain-wheel{max-width:320px;margin:0 auto;padding:4px 0;}

/* ── Compass caption: names the time window shown + opens the badge legend ── */
.compass-caption{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:22px;font-size:12px;color:var(--muted);}
.compass-info-btn{background:none;border:none;padding:2px;margin:0;color:var(--muted);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;opacity:.75;transition:opacity .15s,color .15s;}
.compass-info-btn:hover{opacity:1;color:var(--gold-l);}

/* ── Compass legend modal (reuses .qa-backdrop/.qa-modal/.qa-close shell) ── */
.ci-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.ci-row:last-child{margin-bottom:4px;}
.ci-swatch{width:22px;height:22px;border-radius:50%;flex-shrink:0;margin-top:1px;}
.ci-badge-sample{width:22px;height:22px;border-radius:50%;flex-shrink:0;margin-top:1px;background:var(--gold);color:#fff;font-size:11px;font-weight:700;font-family:'Heebo',sans-serif;display:flex;align-items:center;justify-content:center;}
.ci-badge-sample.ci-badge-done{background:var(--green-t);}
.ci-text{flex:1;font-size:14px;color:var(--text);line-height:1.6;}
.ci-text strong{color:var(--text);font-weight:700;}
/* Fully transparent nav when hero is in viewport — overrides all theme !importants */
.nav-top.nav--transparent,
body.theme-beige .nav-top.nav--transparent{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
}
.nav-top.nav--transparent .nav-logo,
.nav-top.nav--transparent .nav-icon-btn,
.nav-top.nav--transparent .avatar{
  color:rgba(255,255,255,.92)!important;
  stroke:rgba(255,255,255,.92);
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));
}
/* Keep the compass SVG in its original gold/red — don't bleach it white */
.nav-top.nav--transparent .nav-logo svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.4));}
.nav-top.nav--transparent .nav-icon-btn svg{
  stroke:rgba(255,255,255,.92)!important;
}
.nav-top.nav--transparent .avatar{
  background:rgba(0,0,0,.28)!important;
  border-color:rgba(255,255,255,.35)!important;
  color:rgba(255,255,255,.95)!important;
}

/* Beige page-wrap: also add nav-top-h compensation */
body.theme-beige .page-wrap{
  padding-top:calc(var(--nav-top-h) + 18px);
}

/* Legacy — no longer used */
.home-hero-wrap{display:contents;}
.home-hero-sky,.home-hero-fade,.home-hero-landscape{display:none;}

/* ── LIVING COMPASS — orbit hero ── */
.living-compass{
  position:relative;width:100%;max-width:236px;margin:6px auto 4px;
  aspect-ratio:1/1;
  animation:fade-up var(--dur-slow) var(--ease-out) both;
}
.lp-orbit{animation:lp-orbit 22s linear infinite;}
@keyframes lp-orbit{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.lc-circle{transition:fill var(--dur-slow) var(--ease-out),stroke var(--dur-slow) var(--ease-out);}
/* ── DELIGHT: Lit domain node arrival ── */
@keyframes lc-node-glow{
  0%{opacity:0;}
  45%{opacity:1;filter:drop-shadow(0 0 7px rgba(217,188,106,.5));}
  100%{opacity:1;filter:none;}
}
.lc-circle.lc-lit{animation:lc-node-glow .72s var(--ease-out) both;}
/* ── DELIGHT: Compass heartbeat on values save ── */
@keyframes compass-heartbeat{
  0%{filter:none;}
  30%{filter:drop-shadow(0 0 16px rgba(217,188,106,.5)) drop-shadow(0 0 5px rgba(217,188,106,.3));}
  100%{filter:none;}
}
.lc-compass-beat{animation:compass-heartbeat 1.1s var(--ease-out) both;}

/* Tappable domain nodes — label sits over each SVG node, ≥44px hit area */
.lc-node{
  position:absolute;transform:translate(-50%,-50%);
  min-width:54px;min-height:54px;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;
  font-family:'Heebo',sans-serif;font-size:11px;font-weight:700;
  color:var(--muted);line-height:1.1;padding:0;
  transition:color var(--dur-base);
}
.lc-node[data-domain="relations"].is-lit{color:var(--d-relations);}
.lc-node[data-domain="career"].is-lit{color:var(--d-career);}
.lc-node[data-domain="health"].is-lit{color:var(--d-health);}
.lc-node[data-domain="leisure"].is-lit{color:var(--d-leisure);}
.lc-node:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px;}

/* Centre — count, or a breathing dot for quiet/first-run */
.lc-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  pointer-events:none;text-align:center;
}
.lc-count{font-family:var(--font-display,'Frank Ruhl Libre',serif);font-size:32px;font-weight:700;color:var(--gold-l);line-height:1;}
.lc-cap{font-size:10px;color:var(--muted);margin-top:2px;}
.lc-dot{width:13px;height:13px;border-radius:50%;background:var(--gold);}
.lc-breathe{animation:lp-breathe 5s ease-in-out infinite;}
@keyframes lp-breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
.lc-pulse{
  position:absolute;width:28px;height:28px;border-radius:50%;
  border:2px solid var(--gold);
  animation:lp-ringpulse 2.6s ease-out infinite;
}
@keyframes lp-ringpulse{0%{transform:scale(.8);opacity:.7;}100%{transform:scale(1.7);opacity:0;}}

/* Donut SVG ring */
.qc-donut-ring{transform:rotate(-90deg);}
.qc-donut-bg{fill:none;stroke:var(--border);stroke-width:8;}
.qc-donut-fg{fill:none;stroke:var(--gold);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.16,1,.3,1);}

/* Step indicator (full-screen flow) */
.qc-step-indicator{
  display:flex;justify-content:center;align-items:center;gap:14px;
  padding-top:14px;margin-bottom:12px;
  position:relative;
}
/* Track + animated progress fill (fraction set inline via --step-progress) */
.qc-step-indicator::before,
.qc-step-indicator::after{
  content:'';position:absolute;top:50%;left:5px;right:5px;height:2px;
  transform:translateY(-50%);border-radius:999px;z-index:0;
}
.qc-step-indicator::before{background:var(--border);}
.qc-step-indicator::after{
  background:var(--gold);
  transform:translateY(-50%) scaleX(var(--step-progress,0));
  transform-origin:right;  /* RTL: progress grows from the start (right) */
  transition:transform var(--dur-slow) var(--ease-out);
}
.qc-step-dot{
  width:10px;height:10px;border-radius:50%;background:var(--border);
  transition:transform .25s, background .25s;
  position:relative;z-index:1;
}
.qc-step-dot.active{background:var(--gold);transform:scale(1.4);}
.qc-step-dot.done{background:var(--gold);opacity:.55;}
/* ── DELIGHT: Step dot pop on advancement ── */
@keyframes dot-pop{
  0%{transform:scale(1);opacity:.55;}
  40%{transform:scale(1.5);opacity:1;}
  100%{transform:scale(1);opacity:.55;}
}
.qc-step-dot.done{animation:dot-pop .32s var(--ease-out) both;}

/* Focus mode meta (top-right of inquiry flow) */
.qc-focus-meta{
  text-align:end;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px;
}


/* ── Inquiry QC refinements ─────────────────── */

/* Clickable list rows: hover background */
.qc-list-row.clickable:hover,
.qc-list-card .qc-list-row[onclick]:hover{
  background:rgba(0,0,0,.025);
  border-radius:8px;
  margin-inline:-8px;
  padding-inline:8px;
}


/* ════════════════════════════════════════════════════════════════
   ═════ LIGHT-GREEN THEME — Pass 3 polish ═══════════════════════
   ════════════════════════════════════════════════════════════════ */

/* ── Hero card: stronger card feel + green CTA ── */
body.theme-beige .qc-hero-card{
  background:#FCE6E9; /* default — overridden per-domain below */
  box-shadow:none;
  border-radius:20px;
  padding:20px 18px;
  align-items:center;
  /* In RTL flex, row-reverse puts the first child (glyph) on the visual LEFT */
  flex-direction:row-reverse;
  gap:12px;
}
body.theme-beige .qc-hero-glyph{width:110px;height:110px;flex-shrink:0;}
body.theme-beige .qc-hero-body{text-align:start;}
body.theme-beige .qc-hero-card[data-domain="relations"]{background:var(--d-relations-bg);}
body.theme-beige .qc-hero-card[data-domain="career"]   {background:var(--d-career-bg);}
body.theme-beige .qc-hero-card[data-domain="health"]   {background:var(--d-health-bg);}
body.theme-beige .qc-hero-card[data-domain="leisure"]  {background:var(--d-leisure-bg);}
body.theme-beige .qc-hero-card[data-domain="relations"] .qc-hero-title{color:var(--d-relations);}
body.theme-beige .qc-hero-card[data-domain="career"]    .qc-hero-title{color:var(--d-career);}
body.theme-beige .qc-hero-card[data-domain="health"]    .qc-hero-title{color:var(--d-health);}
body.theme-beige .qc-hero-card[data-domain="leisure"]   .qc-hero-title{color:var(--d-leisure);}
body.theme-beige .qc-hero-eyebrow{color:rgba(30,42,34,0.55);font-weight:500;}
body.theme-beige .qc-hero-title{font-size:32px;font-weight:500;}
body.theme-beige .qc-hero-meta{color:rgba(30,42,34,0.6);}
/* (intentionally blank — the 120px override is set above) */
body.theme-beige .qc-hero-cta{
  background:var(--green);color:#fff;
  padding:10px 22px;font-size:14px;font-weight:500;
  box-shadow:var(--qc-shadow);
}

/* ── Weekly progress card: title-on-right, ring-on-left layout ── */
body.theme-beige .qc-stat-card{
  background:#fff;border-radius:16px;
  box-shadow:var(--qc-shadow);
  padding:16px 18px;gap:16px;
  flex-direction:row-reverse; /* in RTL: ring sits on visual-left */
  align-items:center;text-align:start;
}
body.theme-beige .qc-stat-donut{width:72px;height:72px;flex-shrink:0;}
body.theme-beige .qc-stat-body{flex:1;text-align:start;}
body.theme-beige .qc-stat-title{font-size:15px;font-weight:500;color:var(--text);font-family:var(--font-display);}
body.theme-beige .qc-stat-meta{font-size:13px;color:var(--muted);}
body.theme-beige .qc-stat-num{display:none;}

/* ── Insights list (תובנות היום) — white card, pale-green chips ── */
body.theme-beige .qc-list-card{
  background:#fff;border-radius:16px;
  box-shadow:var(--qc-shadow);padding:8px 18px;
}
body.theme-beige .qc-list-row{
  border-bottom:1px solid #F0EAD8;
  padding:12px 0;gap:12px;
}
body.theme-beige .qc-list-row:last-child{border-bottom:none;}
body.theme-beige .qc-list-icon{
  background:var(--green-soft);color:var(--green);
  width:36px;height:36px;
}
body.theme-beige .qc-list-icon svg{width:18px;height:18px;}
body.theme-beige .qc-eyebrow{color:var(--muted);letter-spacing:.10em;}

/* ── Suggest-next row ── */
body.theme-beige .qc-suggest-row{
  background:#fff;border-radius:16px;
  box-shadow:var(--qc-shadow);padding:14px 18px;
}
body.theme-beige .qc-suggest-icon{
  background:var(--green-soft);color:var(--green);
}

/* ── Compass message card (מסר מהמצפן) ── */
/* Base compass message card — shown in all themes */
/* Compass message — ambient strip, not a card. Context, not a demand. */
.qc-msg-card{
  display:flex;align-items:flex-start;gap:12px;
  background:transparent;
  border:none;border-top:1px solid var(--border);
  box-shadow:none;
  padding:16px 4px 10px;margin-bottom:8px;
}
.qc-msg-icon{
  flex-shrink:0;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-l);opacity:.8;padding-top:1px;
}
.qc-msg-body{flex:1;min-width:0;}
.qc-msg-eyebrow{
  font-size:11px;font-weight:600;color:var(--gold-l);
  letter-spacing:.03em;margin-bottom:4px;
}
.qc-msg-text{font-size:14px;line-height:1.6;color:var(--text-mid);font-style:italic;}
.qc-msg-link{
  margin-top:6px;background:none;border:none;padding:0;
  color:var(--gold-l);font-family:'Heebo',sans-serif;font-size:13px;font-weight:500;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}

/* ── FIRST-RUN CARD (shown when no domains chosen) ── */
.qc-first-run-card{
  background:var(--gold-d);border:1px solid var(--border-g);
  border-radius:var(--qc-radius);padding:26px 20px 22px;
  text-align:center;
}
.qc-first-run-icon{font-size:36px;margin-bottom:12px;line-height:1;}
.qc-first-run-title{
  font-family:var(--font-display);font-size:22px;font-weight:500;
  color:var(--text);margin-bottom:8px;line-height:1.25;
  text-wrap:balance;
}
.qc-first-run-desc{
  font-size:15px;color:var(--muted);line-height:1.7;
  max-width:280px;margin:0 auto 18px;
}
.qc-first-run-cta{
  background:var(--gold);color:var(--on-accent);
  border:none;border-radius:999px;
  padding:12px 28px;font-size:15px;font-weight:600;
  cursor:pointer;font-family:'Heebo',sans-serif;
  box-shadow:var(--qc-shadow);
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base);
}
.qc-first-run-cta:hover{transform:translateY(-1px);box-shadow:var(--qc-shadow-lg);}
.qc-first-run-cta:active{transform:scale(.98);}

/* Beige theme overrides */
body.theme-beige .qc-msg-card{
  background:transparent;border:none;border-top:1px solid var(--border);box-shadow:none;
}
body.theme-beige .qc-msg-icon{
  background:transparent;border:none;color:var(--green);opacity:.8;
}
body.theme-beige .qc-msg-link{color:var(--green);}

/* ── Bottom nav: 5 outlined tabs, green active, no top bar ── */
body.theme-beige .nav-bottom{
  background:#fff;border-top:1px solid var(--border);
  box-shadow:0 -1px 4px rgba(30,42,34,.03);
  backdrop-filter:none;
}
body.theme-beige .nb-item .nb-icon{color:var(--muted);}
body.theme-beige .nb-item .nb-label{
  color:var(--muted);
  font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:0;
}
body.theme-beige .nb-item.active .nb-icon,
body.theme-beige .nb-item.active .nb-label{color:var(--green);}
body.theme-beige .nb-item.active::after{display:none;}

/* ── Greeting block — bigger serif headline (matches mockup "בוקר טוב, אופיר") ── */
body.theme-beige .qc-today-greeting-block{margin-bottom:10px;}
body.theme-beige .qc-today-greeting{
  font-family:var(--font-display);font-weight:500;
  font-size:30px;line-height:1.15;color:var(--text);
}
body.theme-beige .qc-today-quiet{font-size:14px;color:var(--muted);margin-top:4px;}

/* ── Top nav polish in light theme ── */
body.theme-beige .nav-top{
  border-bottom:1px solid var(--border);
}
body.theme-beige .avatar{
  background:var(--green-soft);color:var(--green);
  border:1px solid var(--green-border);
}

/* ════════════════════════════════════════════════════════════════
   ═════ LIGHT-GREEN THEME — Pass 4: domains/inquiry/values/insights
   ════════════════════════════════════════════════════════════════ */

/* ── Domains screen — 2×2 bento ─────────────────────────────── */
body.theme-beige .qc-bento{gap:14px;}
body.theme-beige .qc-bento-card{
  border-radius:16px;
  padding:24px 18px 20px;
  min-height:170px;
  border:none;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  box-shadow:none;
}
body.theme-beige .qc-bento-card[data-domain="relations"]{background:var(--d-relations-bg);}
body.theme-beige .qc-bento-card[data-domain="career"]   {background:var(--d-career-bg);}
body.theme-beige .qc-bento-card[data-domain="health"]   {background:var(--d-health-bg);}
body.theme-beige .qc-bento-card[data-domain="leisure"]  {background:var(--d-leisure-bg);}
body.theme-beige .qc-bento-card[data-domain="relations"] .qc-bento-icon{color:var(--d-relations);}
body.theme-beige .qc-bento-card[data-domain="career"]    .qc-bento-icon{color:var(--d-career);}
body.theme-beige .qc-bento-card[data-domain="health"]    .qc-bento-icon{color:var(--d-health);}
body.theme-beige .qc-bento-card[data-domain="leisure"]   .qc-bento-icon{color:var(--d-leisure);}
body.theme-beige .qc-bento-card[data-domain="relations"] .qc-bento-title{color:var(--d-relations);}
body.theme-beige .qc-bento-card[data-domain="career"]    .qc-bento-title{color:var(--d-career);}
body.theme-beige .qc-bento-card[data-domain="health"]    .qc-bento-title{color:var(--d-health);}
body.theme-beige .qc-bento-card[data-domain="leisure"]   .qc-bento-title{color:var(--d-leisure);}
body.theme-beige .qc-bento-icon{width:auto;height:auto;display:flex;align-items:center;justify-content:center;}
body.theme-beige .qc-bento-icon svg{width:44px;height:44px;}
body.theme-beige .qc-bento-title{
  font-family:var(--font-display);font-weight:500;font-size:24px;line-height:1.1;text-align:center;
}
body.theme-beige .qc-bento-meta{
  font-size:11px;color:rgba(30,42,34,0.5);text-align:center;letter-spacing:0;
}
body.theme-beige .qc-bento-progress{display:none;} /* mockup doesn't show inline bars */

/* Active session strip on top of domains screen */
body.theme-beige .qc-active-strip{
  background:#fff;border-radius:16px;
  box-shadow:var(--qc-shadow);
  padding:14px 18px;margin-bottom:14px;
  display:flex;align-items:center;gap:14px;
}
body.theme-beige .qc-active-eyebrow{
  font-size:11px;color:var(--muted);letter-spacing:.10em;text-transform:uppercase;
}
body.theme-beige .qc-active-title{
  font-family:var(--font-display);font-weight:500;font-size:20px;color:var(--text);margin-top:2px;
}

/* Domains screen header */
body.theme-beige #screen-domains .qc-display{color:var(--green);}

/* ── Step indicator (used by both inquiry and values) ───────── */
body.theme-beige .qc-step-indicator{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-bottom:10px;
}
body.theme-beige .qc-step-dot{
  width:10px;height:10px;border-radius:50%;
  background:#E8E2D4;transition:transform .2s, background .2s;
}
body.theme-beige .qc-step-dot.active{
  background:var(--green);transform:scale(1.45);
  box-shadow:0 0 0 4px var(--gold-d);
}
body.theme-beige .qc-step-dot.done{background:var(--green);opacity:1;}
body.theme-beige .qc-focus-meta{
  font-size:13px;color:var(--muted);text-align:center;
}

/* ── Inquiry screen — minimalist Q1 ─────────────────────────── */
body.theme-beige #screen-inquiry .bk-q-text{
  font-family:var(--font-display);font-weight:500;
  font-size:30px;line-height:1.4;color:var(--text);
  text-align:center;
}
body.theme-beige #screen-inquiry .qc-display{
  font-family:var(--font-display);font-weight:500;
  font-size:34px;color:var(--text);
}
/* Mic button — keep inline, polish in light theme */
body.theme-beige #screen-inquiry button[aria-label="קלט קולי"]{
  width:52px!important;height:52px!important;
  background:var(--green)!important;
  color:var(--on-accent)!important;
  box-shadow:var(--qc-shadow)!important;
}

/* ── Value picker — green pill chips ─────────────────────────── */
body.theme-beige .chips-grid{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
  grid-template-columns:none;
  max-height:none;overflow:visible;
}
body.theme-beige .chip{
  background:var(--green-soft);
  border:1px solid var(--green-border);
  color:var(--green);
  border-radius:999px;
  padding:10px 22px;
  font-size:14px;font-weight:500;
  min-height:auto;
  box-shadow:none;
  letter-spacing:0;
  font-family:var(--font-display);
}
body.theme-beige .chip:hover{
  background:#E5EFE6;border-color:var(--green);color:var(--green);
}
body.theme-beige .chip.sel{
  background:var(--green);border-color:var(--green);color:var(--on-accent);
  box-shadow:var(--qc-shadow);
}

/* Values: continue button as full-width pill */
body.theme-beige #screen-values .btn-next{
  background:var(--green)!important;color:#fff!important;
  border:none!important;border-radius:999px!important;
  padding:14px!important;width:100%;
  font-size:16px;font-weight:500;
  box-shadow:var(--qc-shadow);
}
body.theme-beige #screen-values .btn-back-step{
  background:transparent!important;border:none!important;
  color:var(--muted);font-size:13px;
  display:block;margin:8px auto 0;
}
body.theme-beige #screen-values .card.gold,
body.theme-beige #screen-values .card{
  background:#fff!important;border:none!important;
  box-shadow:var(--qc-shadow);border-radius:16px;
}
body.theme-beige #screen-values .screen-title{
  font-family:var(--font-display);font-weight:500;font-size:26px;color:var(--text);text-align:center;
  margin-top:8px;line-height:1.3;
}
body.theme-beige #screen-values .screen-sub{
  font-size:14px;color:var(--muted);text-align:center;
}

/* ── Insights / weekly summary ───────────────────────────────── */
body.theme-beige .qc-mag-eyebrow{
  font-size:12px;color:var(--muted);letter-spacing:.10em;text-transform:uppercase;
}
body.theme-beige .qc-mag-headline{
  font-family:var(--font-display);font-weight:500;
  font-size:30px;line-height:1.25;color:var(--text);
}
body.theme-beige .qc-underline{
  background:linear-gradient(to top,var(--d-relations) 0,var(--d-relations) 2px,transparent 2px) no-repeat;
  color:var(--d-relations);
  font-weight:500;
}
body.theme-beige .qc-mag-card{
  background:#fff;border:none;
  border-radius:16px;
  box-shadow:var(--qc-shadow);
  padding:18px;margin-bottom:14px;
}
body.theme-beige .qc-mag-greet{
  font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--text);
  display:block;margin-bottom:8px;
}
body.theme-beige .qc-mag-sig{
  display:block;margin-top:14px;
  font-family:var(--font-display);font-style:italic;color:var(--muted);
}
body.theme-beige .qc-section-h{
  font-size:14px;color:var(--muted);margin-bottom:12px;font-weight:500;
}

/* Domain pick cards on values screen */
body.theme-beige .domain-pick-card{
  background:#fff;border:none;
  border-radius:14px;padding:18px 14px;
  box-shadow:var(--qc-shadow);
  cursor:pointer;text-align:center;
}
body.theme-beige .domain-pick-card[data-domain="relations"]{background:var(--d-relations-bg);}
body.theme-beige .domain-pick-card[data-domain="career"]   {background:var(--d-career-bg);}
body.theme-beige .domain-pick-card[data-domain="health"]   {background:var(--d-health-bg);}
body.theme-beige .domain-pick-card[data-domain="leisure"]  {background:var(--d-leisure-bg);}
body.theme-beige .domain-pick-title{
  font-family:var(--font-display);font-weight:500;font-size:20px;
}
body.theme-beige .domain-pick-card[data-domain="relations"] .domain-pick-title{color:var(--d-relations);}
body.theme-beige .domain-pick-card[data-domain="career"]    .domain-pick-title{color:var(--d-career);}
body.theme-beige .domain-pick-card[data-domain="health"]    .domain-pick-title{color:var(--d-health);}
body.theme-beige .domain-pick-card[data-domain="leisure"]   .domain-pick-title{color:var(--d-leisure);}
body.theme-beige .domain-pick-sub{font-size:12px;color:rgba(30,42,34,0.55);margin-top:4px;}

/* ════════════════════════════════════════════════════════════════
   ═════ POLISH PASS ═════════════════════════════════════════════
   ════════════════════════════════════════════════════════════════ */

/* Bell badge dot */
.nav-icon-btn{position:relative;}
.nav-bell-dot{
  position:absolute;top:6px;left:6px; /* corner of bell icon */
  width:8px;height:8px;border-radius:50%;
  background:var(--d-relations,#C13E55);
  box-shadow:0 0 0 2px var(--night,#F6F2EA);
  pointer-events:none;
}

/* Inquiry — slim, consistent action buttons across all Q screens */
body.theme-beige #screen-inquiry .nav-btns{
  display:flex;gap:10px;justify-content:center;align-items:center;
  margin-top:18px;
}
body.theme-beige #screen-inquiry .btn-next{
  background:var(--green)!important;color:#fff!important;
  border:none!important;border-radius:999px!important;
  padding:11px 26px!important;
  font-family:'Heebo',sans-serif;font-size:14px;font-weight:500;
  box-shadow:var(--qc-shadow);
  flex:0 1 auto!important;width:auto;min-width:120px;
}
body.theme-beige #screen-inquiry .btn-next[disabled]{
  opacity:.45;cursor:not-allowed;box-shadow:none;
}
body.theme-beige #screen-inquiry .btn-back-step{
  background:transparent!important;
  color:var(--muted)!important;
  border:1px solid var(--border)!important;border-radius:999px!important;
  padding:11px 22px!important;
  font-size:13px;font-weight:500;
}

/* Narrow-phone hero compass cap */
@media (max-width:360px){
  body.theme-beige .qc-hero-glyph{width:80px!important;height:80px!important;}
  body.theme-beige .qc-hero-title{font-size:26px;}
}

/* ════════════════════════════════════════════════════════════════
   ═════ FINAL POLISH — 5th tab + step-line + misc fixes ═════════
   ════════════════════════════════════════════════════════════════ */

/* (step-indicator track + animated fill now defined once on the base rule) */

/* ── 5-tab bottom nav — smaller labels ───────────────────────── */
body.theme-beige .nb-item .nb-label{
  font-size:11px!important;   /* tighter to fit 5 tabs */
}
body.theme-beige .nb-item .nb-icon svg{
  width:20px;height:20px;
}


/* ── Home screen: better card spacing ───────────────────────── */
body.theme-beige .qc-hero-card{margin-bottom:14px;}
body.theme-beige #weeklyStatCard{margin-bottom:14px;}
body.theme-beige .qc-list-card{margin-bottom:14px;}

/* ── Weekly stat card: add "X מתוך Y ימים" label style ──────── */
body.theme-beige .qc-stat-meta{
  font-size:13px;color:var(--muted);margin-top:4px;
  font-family:'Heebo',sans-serif;
}

/* ── Hero card CTA chevron ────────────────────────────────────── */
body.theme-beige .qc-hero-cta svg{
  width:14px;height:14px;vertical-align:middle;
  margin-inline-start:4px;
}

/* ── Suggestion row: cleaner border-radius ──────────────────── */
body.theme-beige .qc-suggest-row{
  margin-bottom:14px;
  border-radius:16px;
}

/* ── Emotion card: white bg ──────────────────────────────────── */
body.theme-beige #homeHeaderCard{
  background:#fff;border:none;border-radius:16px;
  box-shadow:var(--qc-shadow);
}

/* ── Anchor strip: slightly elevated but still lighter than cards ── */
body.theme-beige .anchor-strip{
  background:#F8F5EE;border:1px solid var(--border);border-radius:12px;
  box-shadow:none;
}

/* ── Emotion buttons: pill style ────────────────────────────── */
body.theme-beige .emotion-btn{
  border-radius:999px!important;
  font-family:'Heebo',sans-serif;
  border:1.5px solid var(--border)!important;
  background:#fff!important;
  color:var(--text);
  transition:all .18s;
}
body.theme-beige .emotion-btn.sel{
  background:var(--green-soft)!important;
  border-color:var(--green)!important;
  color:var(--green)!important;
}

/* ── Values: step dots should be centered row, not grid ──────── */
body.theme-beige #screen-values .qc-step-indicator{
  justify-content:center;
  gap:16px;
}

/* ── "התחל" CTA button minimal style ─────────────────────────── */
body.theme-beige .anchor-play-btn{
  background:var(--green)!important;color:#fff!important;
  border:none!important;border-radius:999px!important;
  padding:9px 20px!important;font-size:14px;font-weight:500;
  font-family:'Heebo',sans-serif;cursor:pointer;
}

/* Dark theme: keep the today-domain panel readable and aligned. */
body.theme-compass .qc-hero-card,
body:not(.theme-beige) .qc-hero-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--qc-radius);
  box-shadow:var(--qc-shadow);
  flex-direction:row-reverse;
}
body.theme-compass .qc-hero-card[data-domain="relations"],
body:not(.theme-beige) .qc-hero-card[data-domain="relations"]{background:linear-gradient(0deg,var(--qc-tint-relations),var(--qc-tint-relations)),var(--card);}
body.theme-compass .qc-hero-card[data-domain="career"],
body:not(.theme-beige) .qc-hero-card[data-domain="career"]{background:linear-gradient(0deg,var(--qc-tint-career),var(--qc-tint-career)),var(--card);}
body.theme-compass .qc-hero-card[data-domain="health"],
body:not(.theme-beige) .qc-hero-card[data-domain="health"]{background:linear-gradient(0deg,var(--qc-tint-health),var(--qc-tint-health)),var(--card);}
body.theme-compass .qc-hero-card[data-domain="leisure"],
body:not(.theme-beige) .qc-hero-card[data-domain="leisure"]{background:linear-gradient(0deg,var(--qc-tint-leisure),var(--qc-tint-leisure)),var(--card);}
body.theme-compass .qc-hero-glyph,
body:not(.theme-beige) .qc-hero-glyph{
  width:112px;
  height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));
}
body.theme-compass .qc-hero-eyebrow,
body:not(.theme-beige) .qc-hero-eyebrow{
  color:var(--muted);
  opacity:1;
}
body.theme-compass .qc-hero-meta,
body:not(.theme-beige) .qc-hero-meta{
  color:var(--text-mid);
  opacity:.82;
}
body.theme-compass .qc-hero-title,
body:not(.theme-beige) .qc-hero-title{
  color:var(--qc-stroke-relations);
}
body.theme-compass .qc-hero-card[data-domain="relations"] .qc-hero-title,
body:not(.theme-beige) .qc-hero-card[data-domain="relations"] .qc-hero-title{color:var(--qc-stroke-relations);}
body.theme-compass .qc-hero-card[data-domain="career"] .qc-hero-title,
body:not(.theme-beige) .qc-hero-card[data-domain="career"] .qc-hero-title{color:var(--qc-stroke-career);}
body.theme-compass .qc-hero-card[data-domain="health"] .qc-hero-title,
body:not(.theme-beige) .qc-hero-card[data-domain="health"] .qc-hero-title{color:var(--qc-stroke-health);}
body.theme-compass .qc-hero-card[data-domain="leisure"] .qc-hero-title,
body:not(.theme-beige) .qc-hero-card[data-domain="leisure"] .qc-hero-title{color:var(--qc-stroke-leisure);}
body.theme-compass .qc-hero-cta,
body:not(.theme-beige) .qc-hero-cta{
  background:var(--gold);
  color:var(--on-accent);
  border:1px solid var(--border-g);
}

/* ════════════════════════════════════════════════════════════════
   MOCKUP ALIGNMENT — mobile cream/sage application shell
   ════════════════════════════════════════════════════════════════ */
body.theme-beige{
  background:var(--bg);
  color:var(--text);
}
body.theme-beige .page-wrap{
  max-width:430px;
  padding:calc(var(--nav-top-h) + 18px) 14px calc(var(--nav-h) + 18px);
}
body.theme-beige .nav-top{
  position:fixed;
  height:58px;
  --nav-top-h:58px;
  background:rgba(247,243,235,.96)!important;
  border-bottom:none!important;
  padding:0 18px;
  display:grid!important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  backdrop-filter:blur(10px);
}
body.theme-beige .nav-left,
body.theme-beige .nav-right{
  display:flex;
  align-items:center;
  gap:10px;
}
body.theme-beige .nav-left{justify-content:flex-start;}
body.theme-beige .nav-right{justify-content:flex-end;}
body.theme-beige .nav-logo{
  justify-self:center;
  gap:6px;
  color:var(--green);
  font-size:28px;
  line-height:1;
}
body.theme-beige .nav-logo svg{
  width:21px;
  height:21px;
}
body.theme-beige .avatar{
  width:34px;
  height:34px;
  background:var(--green);
  color:var(--on-accent);
  border:none;
  font-size:14px;
  box-shadow:var(--qc-shadow);
}
body.theme-beige .nav-icon-btn{
  width:44px;
  height:44px;
  color:var(--text);
}
body.theme-beige .nav-icon-btn:hover{background:var(--gold-d);}
body.theme-beige .nav-bottom{
  height:68px;
  padding-bottom:env(safe-area-inset-bottom,0);
  box-shadow:0 -4px 18px rgba(30,42,34,.06);
}
body.theme-beige .nb-item{
  gap:4px;
  padding:7px 2px 9px;
}
body.theme-beige .nb-item:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:-2px;
}
body.theme-beige .nb-item .nb-label{
  font-family:'Heebo',sans-serif!important;
  font-size:11px!important;
  font-weight:500;
}
body.theme-beige .nb-item.active .nb-icon,
body.theme-beige .nb-item.active .nb-label{
  color:var(--green);
}

body.theme-beige .qc-today-greeting-block{
  margin:10px 2px 14px;
  text-align:center;
}
body.theme-beige .qc-today-greeting{
  font-size:29px;
}
body.theme-beige .qc-today-quiet{
  font-size:15px;
}
body.theme-beige .qc-hero-card{
  min-height:206px;
  border-radius:var(--qc-radius-lg);
  padding:20px 16px 18px;
  box-shadow:var(--qc-shadow);
}
body.theme-beige .qc-hero-glyph{
  width:132px!important;
  height:132px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 8px 8px rgba(30,42,34,.12));
}
body.theme-beige .qc-hero-title{
  font-size:36px;
  margin:4px 0 6px;
}
body.theme-beige .qc-hero-eyebrow,
body.theme-beige .qc-hero-meta{
  font-family:'Heebo',sans-serif;
}
body.theme-beige .qc-hero-cta{
  min-width:100px;
  justify-content:center;
  border-radius:999px;
  padding:10px 24px;
}

body.theme-beige .qc-stat-card{
  border-radius:var(--qc-radius);
  padding:14px 16px;
  box-shadow:var(--qc-shadow);
}
body.theme-beige .qc-stat-title{
  font-size:16px;
  font-family:'Heebo',sans-serif;
  font-weight:600;
}
body.theme-beige .qc-stat-progress{
  height:6px;
  width:100%;
  margin-top:10px;
  border-radius:999px;
  overflow:hidden;
  background:#E7E0D3;
}
body.theme-beige .qc-stat-progress-fill{
  height:100%;
  border-radius:999px;
  background:var(--green);
  transition:width .35s var(--ease-out);
}
body.theme-beige #homeJournal{
  display:none;
}
body.theme-beige #todayReflectionsCard .qc-list-card,
body.theme-beige .qc-suggest-row,
body.theme-beige #homeHeaderCard,
body.theme-beige #dailyActionsCard{
  border-radius:var(--qc-radius);
  box-shadow:var(--qc-shadow);
}
body.theme-beige .qc-list-row{
  min-height:50px;
}
body.theme-beige .qc-suggest-row{
  border:1px solid #EEE8DC;
}

.qc-screen-head{margin:4px 0 14px;}
body.theme-beige .qc-screen-head{
  text-align:center;
  margin:8px 0 18px;
}
body.theme-beige .qc-screen-head .qc-display{
  color:var(--green);
  font-size:38px;
}
body.theme-beige .qc-screen-sub{
  color:var(--muted);
  font-size:15px;
  margin-top:2px;
}
body.theme-beige .qc-active-strip{
  border-radius:var(--qc-radius);
  padding:18px 16px;
  box-shadow:var(--qc-shadow);
}
body.theme-beige .qc-active-sub{
  font-size:13px;
  color:var(--muted);
  margin-top:4px;
}
body.theme-beige .qc-active-progress{
  margin-top:12px;
}
body.theme-beige .qc-active-progress-track{
  height:6px;
  background:#E7E0D3;
}
body.theme-beige .qc-active-progress-fill{
  background:var(--green);
}
body.theme-beige .qc-bento{
  gap:10px;
}
body.theme-beige .qc-bento-card{
  border-radius:var(--qc-radius);
  min-height:156px;
  padding:20px 12px 16px;
  border:1px solid rgba(30,42,34,.04);
}
body.theme-beige .qc-bento-title{
  font-size:25px;
}

body.theme-beige .qc-mag-eyebrow{
  text-align:center;
  margin-top:8px;
}
body.theme-beige .qc-mag-headline{
  text-align:center;
  font-size:32px;
  margin:4px auto 12px;
  max-width:360px;
}
body.theme-beige .qc-insights-compass{
  display:flex;
  justify-content:center;
  margin:14px 0 16px;
  filter:drop-shadow(0 8px 8px rgba(30,42,34,.1));
}
body.theme-beige .qc-insight-chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:16px;
}
body.theme-beige .qc-insight-chip{
  border-radius:var(--qc-radius-sm);
  padding:10px 8px;
  text-align:center;
  font-size:13px;
  border:1px solid rgba(30,42,34,.06);
}
body.theme-beige .qc-insight-chip[data-tone="relations"]{background:var(--d-relations-bg);color:var(--d-relations);}
body.theme-beige .qc-insight-chip[data-tone="career"]{background:var(--d-career-bg);color:var(--d-career);}
body.theme-beige .qc-insight-chip[data-tone="health"]{background:var(--d-health-bg);color:var(--d-health);}
body.theme-beige .qc-insight-chip[data-tone="leisure"]{background:var(--d-leisure-bg);color:var(--d-leisure);}
body.theme-beige .qc-mag-card{
  border-radius:var(--qc-radius);
  box-shadow:var(--qc-shadow);
}
body.theme-beige .qc-letter-card{
  text-align:center;
}
body.theme-beige .qc-letter-note{
  margin-top:12px;
  color:var(--muted);
  font-size:14px;
}
body.theme-beige .qc-next-note{
  margin-top:12px;
  padding:10px 12px;
  background:var(--green-soft);
  border-radius:var(--qc-radius-sm);
  font-size:14px;
}
body.theme-beige .qc-text-action{
  margin-top:12px;
  border:none;
  background:transparent;
  color:var(--green);
  font-family:'Heebo',sans-serif;
  font-size:13px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.theme-beige .qc-week-big{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin-bottom:10px;
}
body.theme-beige .qc-week-big div{
  font-family:var(--font-display);
  font-size:42px;
  color:var(--green);
  line-height:1;
}
body.theme-beige .qc-week-big span{
  color:var(--muted);
  font-size:14px;
}
body.theme-beige .weekly-value-chip{
  background:var(--green-soft);
  border-color:var(--green-border);
  color:var(--green);
}
body.theme-beige .qc-values-compass-card .qc-section-h{
  text-align:center;
}

@media (max-width:360px){
  body.theme-beige .qc-hero-card{
    min-height:180px;
    padding:16px 14px;
  }
  body.theme-beige .qc-hero-glyph{
    width:104px!important;
    height:104px!important;
  }
  body.theme-beige .qc-hero-title{
    font-size:30px;
  }
}

@media (min-width:1024px){
  body.theme-beige .nav-top,
  body.theme-beige .nav-bottom{
    display:none!important;
  }

  body #appRoot.desktop-mode{
    display:grid!important;
    grid-template-columns:232px minmax(0,1fr) 320px;
    grid-template-rows:100vh;
    width:100vw;
    height:100vh;
    overflow:hidden;
  }

  body #appRoot.desktop-mode.focus-mode{
    grid-template-columns:232px minmax(0,1fr);
  }

  body #appRoot.desktop-mode .desktop-sidebar{
    grid-column:1;
    grid-row:1;
    display:flex!important;
    min-width:0;
  }

  body #appRoot.desktop-mode .desktop-panel{
    grid-column:3;
    grid-row:1;
    display:block;
    min-width:0;
  }

  body #appRoot.desktop-mode.focus-mode .desktop-panel{
    display:none!important;
  }

  body #appRoot.desktop-mode .screen{
    grid-column:2;
    grid-row:1;
    min-width:0;
    width:100%;
  }

  body #appRoot.desktop-mode .screen.active{
    height:100vh;
    overflow-y:auto;
    padding:28px 30px 34px;
  }

  body #appRoot.desktop-mode .page-wrap{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding-bottom:34px;
  }

  /* Home screen — single column, all elements 100% width */
  body #appRoot.desktop-mode #screen-home.screen.active{
    display:block;
  }

  body #appRoot.desktop-mode #screen-home .qc-today-greeting-block{
    text-align:start;
    margin:0 0 14px;
  }

  body #appRoot.desktop-mode .qc-hero-card,
  body #appRoot.desktop-mode .qc-stat-card,
  body #appRoot.desktop-mode .qc-list-card,
  body #appRoot.desktop-mode .qc-msg-card,
  body #appRoot.desktop-mode .qc-suggest-row,
  body #appRoot.desktop-mode #homeHeaderCard,
  body #appRoot.desktop-mode #anchorCard,
  body #appRoot.desktop-mode #dailyActionsCard,
  body #appRoot.desktop-mode .qc-mag-card,
  body #appRoot.desktop-mode .qc-active-strip,
  body #appRoot.desktop-mode .qc-bento-card{
    margin-bottom:0;
  }

  /* Restore home screen card spacing (now single-column block, not grid) */
  body #appRoot.desktop-mode #screen-home .qc-hero-card,
  body #appRoot.desktop-mode #screen-home .qc-stat-card,
  body #appRoot.desktop-mode #screen-home .qc-msg-card,
  body #appRoot.desktop-mode #screen-home .qc-suggest-row,
  body #appRoot.desktop-mode #screen-home .home-hero-wrap,
  body #appRoot.desktop-mode #screen-home #homeHeaderCard,
  body #appRoot.desktop-mode #screen-home #anchorCard{
    margin-bottom:14px;
  }
  body #appRoot.desktop-mode #screen-home #dailyActionsCard{margin-bottom:0;}

  /* Restore spacing for qc-active-strip outside the home grid */
  body #appRoot.desktop-mode #screen-domains .qc-active-strip{margin-bottom:18px;}
  /* Restore spacing for qc-mag-card on insights screen */
  body #appRoot.desktop-mode #screen-insights .qc-mag-card{margin-bottom:18px;}

  body #appRoot.desktop-mode .qc-hero-card{
    min-height:220px;
  }

  /* Bigger compass on desktop */
  body #appRoot.desktop-mode .home-hero-compass{
    max-width:360px;
  }
  body #appRoot.desktop-mode .domain-wheel{
    max-width:340px;
  }

  body #appRoot.desktop-mode .qc-bento{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  body #appRoot.desktop-mode #screen-domains .qc-screen-head,
  body #appRoot.desktop-mode #screen-insights .qc-mag-eyebrow,
  body #appRoot.desktop-mode #screen-insights .qc-mag-headline{
    text-align:start;
  }

  body #appRoot.desktop-mode #screen-insights .qc-insight-chips{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  body #appRoot.desktop-mode #screen-insights .qc-insights-compass{
    justify-content:center;
  }

  body.theme-beige #appRoot.desktop-mode{
    background:var(--bg);
  }

  body.theme-beige #appRoot.desktop-mode .desktop-sidebar,
  body.theme-beige #appRoot.desktop-mode .desktop-panel{
    background:#FFFFFF;
    border-color:var(--border);
  }

  body.theme-beige #appRoot.desktop-mode .ds-nav-item:hover{
    background:var(--gold-d);
    color:var(--gold-l);
  }

  body.theme-beige #appRoot.desktop-mode .ds-nav-item.active{
    background:var(--green-soft);
    color:var(--green);
    box-shadow:inset 0 0 0 1px var(--green-border);
  }

  body.theme-compass #appRoot.desktop-mode .qc-hero-card,
  body.theme-compass #appRoot.desktop-mode .qc-stat-card,
  body.theme-compass #appRoot.desktop-mode .qc-list-card,
  body.theme-compass #appRoot.desktop-mode .qc-suggest-row,
  body.theme-compass #appRoot.desktop-mode #homeHeaderCard,
  body.theme-compass #appRoot.desktop-mode #anchorCard,
  body.theme-compass #appRoot.desktop-mode #dailyActionsCard{
    border:1px solid var(--border);
  }

  body.theme-compass #appRoot.desktop-mode .qc-hero-card{
    min-height:220px;
    padding:28px 26px;
    align-items:center;
    justify-content:space-between;
  }

  body.theme-compass #appRoot.desktop-mode .qc-hero-body{
    text-align:start;
    flex:1;
  }

  body.theme-compass #appRoot.desktop-mode .qc-hero-title{
    font-size:34px;
    line-height:1.1;
  }
}

/* ══════════════════════════════════════════════════════════════
   THEME CONSISTENCY FIXES
   ══════════════════════════════════════════════════════════════ */

/* ── COMPASS DARK: nav bar color match ──────────────────────── */
body.theme-compass .nav-top{background:rgba(16,24,43,0.90)!important;}
body.theme-compass .nav-bottom{background:rgba(16,24,43,0.94)!important;}

/* ── COMPASS DARK: stat card and hero card layout consistency ── */
/* Beige uses row-reverse so glyph sits on visual-left in RTL;
   compass was using row (glyph on visual-right). Unify to row-reverse. */
body.theme-compass .qc-stat-card,
body:not(.theme-beige) .qc-stat-card{
  flex-direction:row-reverse;
  text-align:start;
}
body.theme-compass .qc-hero-body,
body:not(.theme-beige) .qc-hero-body{
  text-align:start;
}

/* ── INSIGHT CHIPS: base layout (shared) + compass colors ────── */
/* Base grid — beige overrides this too but it's identical */
.qc-insight-chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:16px;
}
.qc-insight-chip{
  border-radius:10px;
  padding:10px 8px;
  text-align:center;
  font-size:13px;
  font-family:'Heebo',sans-serif;
}
/* Compass dark tone colors using QC tint/stroke variables */
body.theme-compass .qc-insight-chip,
body:not(.theme-beige) .qc-insight-chip{
  border:1px solid var(--border);
}
body.theme-compass .qc-insight-chip[data-tone="relations"],
body:not(.theme-beige) .qc-insight-chip[data-tone="relations"]{
  background:var(--qc-tint-relations);color:var(--qc-stroke-relations);
  border-color:rgba(232,120,140,0.22);
}
body.theme-compass .qc-insight-chip[data-tone="career"],
body:not(.theme-beige) .qc-insight-chip[data-tone="career"]{
  background:var(--qc-tint-career);color:var(--qc-stroke-career);
  border-color:color-mix(in srgb,var(--qc-stroke-career) 22%,transparent);
}
body.theme-compass .qc-insight-chip[data-tone="health"],
body:not(.theme-beige) .qc-insight-chip[data-tone="health"]{
  background:var(--qc-tint-health);color:var(--qc-stroke-health);
  border-color:rgba(125,201,139,0.22);
}
body.theme-compass .qc-insight-chip[data-tone="leisure"],
body:not(.theme-beige) .qc-insight-chip[data-tone="leisure"]{
  background:var(--qc-tint-leisure);color:var(--qc-stroke-leisure);
  border-color:rgba(91,158,201,0.22);
}

/* ── BEIGE LIGHT: invisible transparent-white surfaces ───────── */
/* rgba(255,255,255,0.03) is invisible on white/cream backgrounds.
   .chip is excluded when selected — body.theme-beige .chip.sel below already gives
   it a solid fill + white text; this blanket !important was clobbering that fill
   (but not its color), leaving white text on a near-invisible background. */
body.theme-beige .chip:not(.sel),
body.theme-beige .action-item,
body.theme-beige .thought-item,
body.theme-beige .bk-opt,
body.theme-beige .emo-chip,
body.theme-beige .day-dot,
body.theme-beige .tb-new,
body.theme-beige .emotion-btn,
body.theme-beige .weekly-task-btn,
body.theme-beige .val-pick-chip{background:rgba(0,0,0,0.04)!important;}

body.theme-beige .weekly-progress-track{background:rgba(0,0,0,0.08)!important;}

/* Glass top-border on .card is invisible on white; use normal border */
body.theme-beige .card{border-top:1px solid var(--border)!important;}

/* Desktop-only surfaces with transparent-white backgrounds */
body.theme-beige .domain-card-icon{
  background:rgba(0,0,0,0.05)!important;
  border:1px solid rgba(0,0,0,0.08)!important;
}
body.theme-beige .btn-back-step{background:rgba(0,0,0,0.04)!important;}

/* Desktop action-item override (has its own rgba(255,255,255,.035)) */
@media(min-width:1024px){
  body.theme-beige .action-item{background:rgba(0,0,0,0.035)!important;}
}

/* ── BEIGE LIGHT: hardcoded dark overlays ────────────────────── */
/* Toast & offline banner have dark bg baked in — but leave .toast-success
   alone, since its gold fill (not a bordered-outline style) is the point. */
body.theme-beige .toast-msg:not(.toast-success),
body.theme-beige .offline-banner{
  background:rgba(246,242,234,0.98)!important;
  box-shadow:0 6px 24px rgba(0,0,0,0.10)!important;
}

/* Lock overlay & badge baked with dark rgba(15,26,36) */
body.theme-beige .locked-feature::after{
  background:rgba(246,242,234,0.82)!important;
}
body.theme-beige .lock-badge-inner{
  background:rgba(255,255,255,0.97)!important;
}

/* ══════════════════════════════════════════════
   CONTENT RECOMMENDATIONS — הזמנות לצמוח
══════════════════════════════════════════════ */
.content-section{padding:0 0 4px;}
.content-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;}
.content-section-title{font-size:15px;font-weight:700;color:var(--text);}
.content-header-btns{display:flex;gap:8px;}
.content-refresh-btn,.content-user-add-btn{height:28px;padding:0 12px;border-radius:14px;border:1.5px solid var(--border-g);background:transparent;color:var(--gold-l);font-size:12px;font-weight:600;cursor:pointer;font-family:'Heebo',sans-serif;transition:all var(--dur-fast);}
.content-refresh-btn:hover,.content-user-add-btn:hover{background:var(--gold-d);border-color:var(--gold);}
.content-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;}
.content-scroll::-webkit-scrollbar{display:none;}
.content-card{min-width:158px;max-width:158px;flex-shrink:0;scroll-snap-align:start;border-radius:var(--qc-radius-sm);background:var(--surface);border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--dur-fast);}
.content-card:hover{box-shadow:var(--qc-shadow-lg);}
/* One aspect ratio for every card type — a row mixing youtube (native 16:9) with
   spotify/book (native ~1:1) used to produce visibly uneven row heights in the
   grid. object-fit:cover on the image handles the crop. */
.content-card-thumb-wrap{width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--border);position:relative;}
.content-card-thumb{width:100%;height:100%;object-fit:cover;display:block;}
.content-card-body{padding:8px 10px 0;flex:1;display:flex;flex-direction:column;gap:3px;}
.content-card-meta{font-size:10px;color:var(--muted);letter-spacing:.4px;text-transform:uppercase;font-weight:700;}
.content-card-title{font-size:12px;font-weight:700;color:var(--text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.content-card-author{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.content-card-reason{font-size:11px;color:var(--gold-l);font-style:italic;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px;}
.content-card-actions{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 8px;margin-top:auto;border-top:1px solid var(--border);}
.content-add-btn{height:24px;padding:0 9px;border-radius:12px;border:none;background:var(--gold-d);color:var(--gold-l);font-size:11px;font-weight:700;cursor:pointer;font-family:'Heebo',sans-serif;transition:all var(--dur-fast);}
.content-add-btn:hover{background:var(--gold);color:var(--on-accent);}
.content-add-btn.added{background:transparent;border:1.5px solid var(--border-g);color:var(--gold-l);cursor:default;pointer-events:none;}
.content-open-link{font-size:11px;color:var(--muted);text-decoration:none;transition:color var(--dur-fast);}
.content-open-link:hover{color:var(--text);}
.content-card-sk{min-width:158px;max-width:158px;flex-shrink:0;border-radius:var(--qc-radius-sm);background:var(--surface);border:1px solid var(--border);overflow:hidden;}
.content-sk-thumb{width:100%;aspect-ratio:1/1;background:var(--border);}
.content-sk-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;}
.content-sk-line{height:9px;border-radius:5px;background:var(--border);animation:contentSkShimmer 1.5s ease-in-out infinite;}
.content-sk-line.w60{width:60%;}
.content-sk-line.w80{width:80%;}
@keyframes contentSkShimmer{0%,100%{opacity:.45;}50%{opacity:.9;}}
.content-add-form{padding:12px 14px;background:var(--surface);border:1.5px solid var(--border-g);border-radius:var(--qc-radius-sm);display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
.content-url-input{width:100%;box-sizing:border-box;height:40px;padding:0 12px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-family:'Heebo',sans-serif;outline:none;transition:border-color var(--dur-fast);}
.content-url-input:focus{border-color:var(--gold);}
.content-form-row{display:flex;gap:8px;justify-content:flex-end;}
.content-url-cancel{height:34px;padding:0 14px;border-radius:17px;border:1.5px solid var(--border);background:transparent;color:var(--muted);font-size:13px;cursor:pointer;font-family:'Heebo',sans-serif;transition:all var(--dur-fast);}
.content-url-cancel:hover{color:var(--text);}
.content-url-submit{height:34px;padding:0 18px;border-radius:17px;border:none;background:var(--gold-d);color:var(--gold-l);font-size:13px;font-weight:700;cursor:pointer;font-family:'Heebo',sans-serif;transition:all var(--dur-fast);}
.content-url-submit:hover{background:var(--gold);color:var(--on-accent);}
@media(min-width:1024px){
  .content-scroll{flex-wrap:wrap;overflow-x:visible;}
  .content-card,.content-card-sk{min-width:calc(33.333% - 8px);max-width:calc(33.333% - 8px);}
}

/* ══════════════════════════════════════════════
   WIZARD — Byron Katie 16-step structured flow
   ══════════════════════════════════════════════ */
.wz-screen{margin-top:4px;}
.wz-header{margin-bottom:20px;}
.wz-progress-wrap{
  height:4px;background:var(--border);border-radius:99px;
  overflow:hidden;margin-bottom:8px;
}
.wz-progress-fill{
  height:100%;background:var(--gold);border-radius:99px;
  transition:width .4s ease;
}
.wz-step-label{font-size:12px;color:var(--muted);text-align:center;margin-bottom:6px;letter-spacing:.03em;}
.wz-thought-pill{
  font-size:13px;color:var(--muted);font-style:italic;
  text-align:center;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wz-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:20px;margin-bottom:16px;
}
.wz-section-tag{
  font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px;
}
.wz-question{
  font-family:'Frank Ruhl Libre',serif;
  font-size:20px;font-weight:600;color:var(--text);
  line-height:1.45;margin-bottom:8px;text-wrap:balance;
}
.wz-hint{font-size:13.5px;color:var(--muted);line-height:1.6;}
.wz-q-prev{
  font-size:13px;color:var(--muted);margin-bottom:10px;
  padding:6px 10px;background:var(--surface-2,rgba(255,255,255,.04));
  border-radius:8px;border-right:3px solid var(--gold);
}
.wz-field-group{margin-top:16px;}
.wz-field-label{font-size:13.5px;color:var(--muted);margin-bottom:6px;line-height:1.5;}
.wz-reversal-example{
  font-size:14px;background:var(--gold-d);border:1px solid var(--border-g);
  border-radius:8px;padding:8px 12px;color:var(--gold-l);margin:10px 0;
}
.wz-nav{
  display:flex;gap:10px;margin-top:4px;margin-bottom:8px;
}
.wz-nav .btn-back-step{flex:0 0 auto;}
.wz-nav .btn-next{flex:1;}
/* Task picker */
.inq-task-pick-row{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;
}
.inq-task-pick-row:last-child{border-bottom:none;}
.inq-task-pick-cb{margin-top:3px;flex-shrink:0;accent-color:var(--gold);}

/* ══════════════════════════════════════════════
   WORK CHAT — Byron Katie chatbot (premium)
   RTL chat layout. Bot bubbles align right, user bubbles align left.
   ══════════════════════════════════════════════ */
/* Base */
.wc-wrap{
  display:flex; flex-direction:column; overflow:hidden;
  height:calc(100dvh - var(--nav-top-h,54px) - var(--nav-h,64px));
  max-height:calc(100dvh - var(--nav-top-h,54px) - var(--nav-h,64px));
  margin:0 -2px;
}
.wc-progress{
  height:3px; background:var(--border-g); border-radius:99px;
  overflow:hidden; margin-bottom:10px; flex-shrink:0;
}
.wc-progress-fill{
  height:100%; background:var(--gold);
  border-radius:99px; transition:width .4s ease;
}
.wc-header{
  display:flex; align-items:center; gap:10px;
  padding:6px 2px 10px; flex-shrink:0;
}
.wc-back{
  background:transparent; border:none;
  color:var(--gold-l);
  cursor:pointer; padding:0;
  min-width:44px; min-height:44px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.wc-header-titles{ flex:1; min-width:0; }
.wc-header-title{
  font-family:'Heebo',sans-serif; font-size:18px; font-weight:500;
  color:var(--text); margin-top:2px;
}
.wc-disclaimer{
  font-size:11.5px; color:var(--muted); line-height:1.55;
  background:var(--gold-d);
  border:1px solid var(--border-g);
  border-radius:8px; padding:7px 10px; margin-bottom:10px;
  flex-shrink:0;
}
.wc-disclaimer-mini{
  font-size:11px; color:var(--muted);
  background:var(--gold-d); border:1px solid var(--border-g);
  border-radius:99px; padding:3px 12px;
  margin-bottom:8px; flex-shrink:0;
  text-align:center; cursor:default;
}
.wc-thread{
  flex:1; overflow-y:auto; overflow-x:hidden;
  padding:6px 2px 10px;
  display:flex; flex-direction:column; gap:8px;
  scroll-behavior:smooth;
}
.wc-msg{ display:flex; max-width:100%; }
.wc-msg.wc-bot{ justify-content:flex-start; }   /* RTL: right side */
.wc-msg.wc-user{ justify-content:flex-end; }    /* RTL: left side */
.wc-bubble{
  max-width:82%;
  padding:10px 13px;
  border-radius:14px;
  font-size:15px; line-height:1.65;
  white-space:normal; word-wrap:break-word;
  font-family:'Heebo',sans-serif;
}
.wc-bot .wc-bubble{
  background:var(--card);
  border:1px solid var(--border);
  color:var(--text);
  border-top-right-radius:4px;
}
.wc-user .wc-bubble{
  background:var(--gold-d2);
  border:1px solid var(--border-g);
  color:var(--text);
  border-top-left-radius:4px;
}
.wc-typing{ padding:14px 16px; }
.wc-typing span{
  display:inline-block; width:6px; height:6px; margin:0 2px;
  border-radius:50%; background:var(--gold);
  animation: wcTyping 1.2s infinite ease-in-out;
}
.wc-typing span:nth-child(2){ animation-delay:.15s; }
.wc-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes wcTyping{
  0%, 60%, 100%{ opacity:.3; transform:translateY(0); }
  30%{ opacity:1; transform:translateY(-3px); }
}

.wc-input-row{
  display:flex; align-items:flex-end; gap:8px;
  padding:8px 0 max(4px, env(safe-area-inset-bottom, 0px)); flex-shrink:0;
  border-top:1px solid var(--border-g);
}
.wc-input-row textarea{
  flex:1; resize:none;
  background:var(--card-bg, rgba(255,255,255,0.04));
  border:1px solid var(--border-g);
  border-radius:14px;
  padding:10px 13px;
  color:var(--text); font-family:'Heebo',sans-serif;
  font-size:16px; line-height:1.55;
  min-height:40px; max-height:140px;
  outline:none; direction:rtl;
}
.wc-input-row textarea:focus{ border-color:var(--gold); }
.wc-input-row textarea:disabled{ opacity:.55; }
.wc-input-row button{
  flex-shrink:0;
  width:40px; height:40px;
  border-radius:50%; border:none;
  background:var(--gold); color:var(--on-accent);
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:transform var(--dur-fast), opacity var(--dur-fast), filter var(--dur-fast);
}
.wc-input-row button:not(:disabled):hover{ filter:brightness(1.06); }
.wc-input-row button:disabled{ opacity:.4; cursor:not-allowed; }
.wc-input-row button:not(:disabled):active{ transform:scale(0.94); }
/* Mirror the send icon for RTL so the arrow points to the start */
.wc-input-row button svg{ transform:scaleX(-1); }

.wc-footer-end{
  padding:10px 0 max(4px, env(safe-area-inset-bottom, 0px)); flex-shrink:0;
  border-top:1px solid var(--border-g);
}

/* Chip panel — surfaces canonical emotion/body vocabulary at the right stages. */
.wc-chips{
  flex-shrink:0;
  padding:8px 2px 8px;
  border-top:1px solid var(--border-g);
}
.wc-chips-label{
  font-size:11px; letter-spacing:.05em;
  color:var(--muted); margin-bottom:6px;
  font-family:'Heebo',sans-serif;
}
.wc-chips-row{
  display:flex; flex-wrap:nowrap; gap:6px;
  overflow-x:auto; overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding-bottom:4px;
}
.wc-chips-row::-webkit-scrollbar{ display:none; }
.wc-chips .chip{
  min-height:auto;
  padding:7px 13px;
  font-size:13.5px;
  white-space:nowrap; flex-shrink:0;
}
/* Q1/Q2 quick-reply yes/no buttons */
.wc-quick-btns{
  display:flex; gap:10px; padding:8px 0;
  border-top:1px solid var(--border-g); flex-shrink:0;
}
.wc-quick-btn{
  flex:1; padding:13px 8px;
  border-radius:14px; border:1.5px solid var(--border-g);
  background:var(--card); color:var(--text);
  font-family:'Heebo',sans-serif; font-size:16px; font-weight:600;
  cursor:pointer; min-height:48px;
  transition:background .12s, border-color .12s, transform .1s;
  touch-action:manipulation;
}
.wc-quick-btn:active{ transform:scale(.96); }
.wc-q-yes{ border-color:var(--gold); background:var(--gold-d2); color:var(--text); }
.wc-q-no{ border-color:var(--border); }

/* Suggested-actions panel — appears at summary/done stage with the AI's micro-actions. */
.wc-actions{
  flex-shrink:0;
  padding:10px 2px;
  border-top:1px solid var(--border-g);
  max-height:180px; overflow-y:auto;
}
.wc-actions-list{
  display:flex; flex-direction:column; gap:6px; margin-top:6px;
}
.wc-action-row{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px;
  background:var(--card2);
  border:1px solid var(--border-g);
  border-radius:10px;
  font-size:14px;
  transition:background .15s, border-color .15s;
}
.wc-action-row.added{
  background:var(--gold-d);
  border-color:var(--gold);
}
.wc-action-text{
  flex:1; line-height:1.5;
  color:var(--text);
  word-wrap:break-word;
}
.wc-action-add{
  flex-shrink:0;
  background:var(--gold); color:var(--on-accent);
  border:none; border-radius:999px;
  padding:5px 12px;
  font-size:12.5px; font-weight:500;
  font-family:'Heebo',sans-serif;
  cursor:pointer;
  transition:opacity .15s;
}
.wc-action-add:disabled{
  background:transparent;
  color:var(--gold-l);
  border:1px solid var(--gold);
  cursor:default;
}
.wc-action-add:not(:disabled):hover{ opacity:.85; }

@media(min-width:1024px){
  .wc-wrap{ height:calc(100dvh - 60px); max-height:calc(100dvh - 60px); margin:0 -2px; }
  .wc-bubble{ max-width:72%; font-size:15.5px; }
}

/* ── QUICK ADD FAB ── */
.nb-plus{
  position:absolute;left:50%;transform:translateX(-50%);
  top:-12px;
  width:56px;height:56px;border-radius:50%;
  background:var(--gold);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 4px var(--bg),0 4px 20px rgba(0,0,0,.22);
  z-index:10;transition:transform .2s,filter .15s;
}
.nb-plus:active{transform:translateX(-50%) scale(.92);}
body.theme-beige .nb-plus{background:var(--green);}

/* ── QUICK ADD MODAL ── */
.qa-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:400;opacity:0;transition:opacity .3s;}
.qa-backdrop.qa-open{opacity:1;}
.qa-modal{
  position:fixed;bottom:0;left:0;right:0;z-index:401;
  background:var(--bg);border-radius:24px 24px 0 0;
  padding:16px 20px calc(env(safe-area-inset-bottom,0px) + 32px);
  max-height:88vh;overflow-y:auto;
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.34,1.1,.64,1);
}
.qa-modal.qa-open{transform:translateY(0);}
.qa-close{
  position:absolute;top:16px;left:16px;
  background:var(--card2);border:1px solid var(--border);border-radius:50%;
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--muted);font-size:14px;
}
.qa-progress{display:flex;gap:6px;justify-content:center;margin:4px 0 20px;}
.qa-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .2s;}
.qa-dot.active{background:var(--gold);width:22px;border-radius:4px;}
.qa-dot.done{background:var(--gold);opacity:.45;}
.qa-body{padding-bottom:8px;}
.qa-title{font-family:'Frank Ruhl Libre',serif;font-size:26px;font-weight:700;color:var(--text);margin:0 0 4px;text-align:center;}
.qa-sub{font-size:14px;color:var(--muted);text-align:center;margin:0 0 20px;}
.qa-domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;}
.qa-domain-btn{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:18px 12px;border-radius:16px;border:1.5px solid var(--border);
  background:var(--card);cursor:pointer;transition:border-color .15s,transform .15s;
}
.qa-domain-btn:active{transform:scale(.97);}
.qa-domain-btn:hover{border-color:var(--dc,var(--gold));}
.qa-domain-circle{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;font-family:'Heebo',sans-serif;
}
.qa-textarea{
  width:100%;box-sizing:border-box;
  background:var(--card);border:1.5px solid var(--border);border-radius:12px;
  padding:12px 14px;font-family:'Heebo',sans-serif;font-size:16px;color:var(--text);
  resize:none;outline:none;transition:border-color .15s;
}
.qa-textarea:focus{border-color:var(--gold);}
.qa-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;justify-content:center;}
.qa-chip{
  padding:7px 14px;border-radius:999px;border:1.5px solid var(--border);
  background:var(--card);color:var(--text);font-family:'Heebo',sans-serif;font-size:14px;cursor:pointer;
  transition:all .15s;
}
.qa-chip.sel{background:var(--gold);border-color:var(--gold);color:#fff;}
.qa-field{margin-bottom:14px;}
.qa-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px;}
.qa-input{
  width:100%;box-sizing:border-box;
  background:var(--card);border:1.5px solid var(--border);border-radius:10px;
  padding:10px 12px;font-family:'Heebo',sans-serif;font-size:15px;color:var(--text);outline:none;
  transition:border-color .15s;
}
.qa-input:focus{border-color:var(--gold);}
.qa-nav{display:flex;gap:10px;margin-top:20px;align-items:center;}
.qa-back{background:transparent;border:1.5px solid var(--border);border-radius:999px;padding:11px 18px;color:var(--muted);font-family:'Heebo',sans-serif;font-size:14px;cursor:pointer;}
.qa-next{flex:1;background:var(--gold);border:none;border-radius:999px;padding:13px;color:#fff;font-family:'Heebo',sans-serif;font-size:15px;font-weight:600;cursor:pointer;}
.qa-skip{background:transparent;border:none;color:var(--muted);font-family:'Heebo',sans-serif;font-size:14px;cursor:pointer;padding:11px 10px;}
.qa-summary{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:16px;}
.qa-summary-row{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px;}
.qa-summary-row:last-child{border-bottom:none;}
.qa-summary-lbl{color:var(--muted);font-weight:500;min-width:52px;flex-shrink:0;}
.qa-actions{display:flex;flex-direction:column;gap:10px;}
.qa-cal-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--card);border:1.5px solid var(--gold);border-radius:999px;
  padding:13px;color:var(--gold-l);font-family:'Heebo',sans-serif;font-size:15px;font-weight:600;cursor:pointer;
}
.qa-save-btn{background:var(--gold);border:none;border-radius:999px;padding:14px;color:#fff;font-family:'Heebo',sans-serif;font-size:15px;font-weight:600;cursor:pointer;}
body.theme-beige .qa-next,body.theme-beige .qa-save-btn{background:var(--green);}
body.theme-beige .qa-chip.sel{background:var(--green);border-color:var(--green);}
body.theme-beige .qa-cal-btn{border-color:var(--green);color:var(--green);}
body.theme-beige .qa-input:focus,body.theme-beige .qa-textarea:focus{border-color:var(--green);}

/* ── Scheduled task row ── */
.action-schedule{
  display:flex;flex-wrap:wrap;gap:10px;
  padding:4px 0 2px 0;margin-top:2px;
  font-size:12px;color:var(--muted);
}
.action-schedule-when,.action-schedule-where{
  display:flex;align-items:center;gap:3px;
}
.action-schedule-link{
  display:flex;align-items:center;gap:3px;
  color:var(--muted);text-decoration:none;
}
.action-schedule-link:hover{color:var(--text);}

/* ── Insights home strip ── */
.insights-home-strip{
  display:flex;align-items:center;gap:10px;
  width:100%;margin-top:12px;
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:13px 16px;cursor:pointer;text-align:right;
  color:var(--text);font-family:'Heebo',sans-serif;font-size:14px;font-weight:500;
  transition:background .15s;
}
.insights-home-strip:hover,.insights-home-strip:active{background:var(--card2);}
.insights-home-strip-icon{color:var(--gold-l);flex-shrink:0;}
body.theme-beige .insights-home-strip-icon{color:var(--green);}
.insights-home-strip-label{flex:1;text-align:right;}
.insights-home-strip-arrow{color:var(--muted);flex-shrink:0;}

/* ── Scrollable next tasks ── */
.qc-suggest-section{padding:0;}
.qc-suggest-section.is-resting{opacity:.5;}
.qc-suggest-eyebrow-row{padding:0 0 8px 0;}
.qc-suggest-section .qc-suggest-eyebrow{font-size:11px;font-weight:600;color:var(--gold-l);}
.suggest-next-scroll{
  display:flex;gap:10px;overflow-x:auto;
  padding-bottom:4px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  direction:rtl;
}
.suggest-next-scroll::-webkit-scrollbar{display:none;}
.suggest-next-card{
  flex-shrink:0;min-width:200px;max-width:240px;
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:12px 14px;cursor:pointer;
  scroll-snap-align:start;
  transition:transform .15s;
  direction:rtl;
  text-align:right;
}
.suggest-next-card:active{transform:scale(.97);}
.suggest-next-card-domain{font-size:12px;font-weight:600;margin-bottom:4px;}
.suggest-next-card-text{font-size:14px;color:var(--text);line-height:1.4;}
.suggest-next-card-sched{font-size:11px;color:var(--muted);margin-top:4px;}
@media(min-width:1024px){
  .suggest-next-scroll{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
    overflow-x:visible;scroll-snap-type:none;
  }
  .suggest-next-card{flex-shrink:unset;min-width:unset;max-width:unset;}
}


/* ══════════════════════════════════════════════
   להמשיך לנוע — HABITS CARD
══════════════════════════════════════════════ */
.habits-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.habits-title{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--text);}
.habits-subtitle{font-size:12px;color:var(--muted);margin-top:2px;font-family:'Heebo',sans-serif;}
/* Onboarding S2N compass animation */
.ob-compass-anim{overflow:visible;}
@media(prefers-reduced-motion:reduce){
  .ob-compass-anim *{animation:none!important;}
  .ob-compass-anim .ob-c-ring-outer{stroke-dashoffset:0;}
  .ob-compass-anim .ob-c-ring-inner,.ob-compass-anim .ob-c-center,
  .ob-compass-anim g{opacity:1!important;}
}
.qc-msg-value-focus{font-family:var(--font-display);font-size:22px;font-weight:500;margin:4px 0 6px;line-height:1.2;}
.qc-msg-value-sub{margin-top:0!important;}
.habits-btns{display:flex;gap:8px;}
.habit-add-btn{font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--border-g);background:var(--gold-d);color:var(--gold-l);cursor:pointer;font-family:'Heebo',sans-serif;transition:all .15s;}
.habit-add-btn:hover{background:var(--gold-d2);}
.habit-ai-btn{font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--border-g);background:transparent;color:var(--gold-l);cursor:pointer;font-family:'Heebo',sans-serif;transition:all .15s;}
.habit-ai-btn:hover{background:var(--gold-d);}
.habits-list{display:flex;flex-direction:column;gap:8px;}
.habits-empty{font-size:14px;color:var(--muted);text-align:center;padding:8px 0;}
.habit-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);transition:opacity .2s;}
.habit-item:last-child{border-bottom:none;padding-bottom:0;}
.habit-item.is-done{opacity:.55;}
.habit-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-g);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;background:transparent;margin-top:1px;}
.habit-check.done{background:var(--gold);border-color:var(--gold);color:var(--on-accent);}
.habit-body{flex:1;min-width:0;}
.habit-text{font-size:15px;color:var(--text);line-height:1.4;margin-bottom:5px;}
.habit-text.done{text-decoration:line-through;color:var(--muted);}
.habit-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.habit-domain-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;}
.habit-val-chip{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--gold-d);color:var(--gold-l);border:1px solid var(--border-g);}
.habit-recurrence-label{font-size:11px;color:var(--muted);background:var(--surface-2,var(--border));padding:1px 7px;border-radius:999px;}
.habit-missed-note{font-size:12px;color:var(--muted);margin-top:5px;font-style:italic;}
/* Habit create/edit modal */
.hm-domain-btn{padding:7px 14px;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--muted);font-size:14px;cursor:pointer;font-family:'Heebo',sans-serif;transition:all .15s;}
.hm-domain-btn.sel{background:var(--gold-d2);border-color:var(--border-g);color:var(--gold-l);font-weight:600;}
.hm-rec-option{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);font-family:'Heebo',sans-serif;cursor:pointer;margin-bottom:8px;}
.hm-day-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;font-family:'Heebo',sans-serif;transition:all .15s;}
.hm-day-btn.sel{background:var(--gold);border-color:var(--gold);color:var(--on-accent);}
/* AI suggestion items */
.habit-suggestion-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);transition:opacity .3s;}
.habit-suggestion-item:last-child{border-bottom:none;}
.habit-sugg-left{display:flex;align-items:flex-start;gap:10px;flex:1;}
.habit-sugg-text{font-size:15px;color:var(--text);margin-bottom:4px;line-height:1.4;}
.habit-sugg-reason{font-size:12px;color:var(--muted);line-height:1.5;}
.habit-sugg-add{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border-g);background:var(--gold-d);color:var(--gold-l);font-size:20px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;line-height:1;}
.habit-sugg-add:hover{background:var(--gold);color:var(--on-accent);border-color:var(--gold);}

/* ══════════════════════════════════════════════
   BODY SCAN — interactive 6-stage guided exercise
   ══════════════════════════════════════════════ */
.bs-wrap{margin-top:4px;}
.bs-back{background:none;border:none;color:var(--muted);font-family:'Heebo',sans-serif;font-size:14px;cursor:pointer;padding:0;margin-bottom:16px;display:inline-flex;align-items:center;gap:4px;}
.bs-back:hover{color:var(--text);}

/* Intro */
.bs-intro-mandala{width:120px;height:120px;margin:4px auto 18px;}
.bs-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px;}
.bs-lead{font-size:15px;color:var(--text-mid);line-height:1.65;text-align:center;margin-bottom:4px;}
.bs-card h3{font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--muted);margin:0 0 14px;}
.bs-dur-row{display:flex;gap:8px;}
.bs-dur-btn{flex:1;border:1.5px solid var(--border);background:transparent;color:var(--text);border-radius:12px;padding:10px 4px;font-family:'Heebo',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;}
.bs-dur-btn:hover{border-color:var(--border-g);}
.bs-dur-btn.sel{border-color:var(--gold);background:var(--gold-d);color:var(--gold-l);}
.bs-step-list{list-style:none;margin:0;padding:0;position:relative;}
.bs-step-list::before{content:'';position:absolute;top:8px;bottom:8px;right:13.5px;width:1px;background:var(--border);}
.bs-step-list li{position:relative;display:flex;align-items:center;gap:12px;padding:8px 0;font-size:14px;color:var(--muted);}
.bs-step-list li b{color:var(--text);font-weight:500;}
.bs-step-num{position:relative;z-index:1;width:27px;height:27px;border-radius:50%;flex-shrink:0;background:var(--card);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted);}

/* Session */
.bs-progress-row{display:flex;gap:5px;margin-bottom:26px;}
.bs-seg{flex:1;height:4px;border-radius:99px;background:var(--border);overflow:hidden;}
.bs-seg-fill{height:100%;width:0%;background:var(--gold);border-radius:99px;transition:width 1s linear;}
.bs-stage{text-align:center;animation:bsStageIn .5s cubic-bezier(.22,1,.36,1) both;}
@keyframes bsStageIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.bs-stage-eyebrow{font-size:12px;color:var(--muted);letter-spacing:.03em;margin-bottom:8px;}
.bs-stage-title{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--text);margin:0 0 24px;}
.bs-illustration{position:relative;width:180px;height:180px;margin:0 auto 26px;}
.bs-illustration svg{width:100%;height:100%;overflow:visible;}
.bs-instruction{font-family:var(--font-display);font-size:16.5px;line-height:1.8;color:var(--text);max-width:320px;margin:0 auto 26px;min-height:88px;}
.bs-ring-wrap{position:relative;width:84px;height:84px;margin:0 auto 22px;}
.bs-ring-wrap svg{transform:rotate(-90deg);}
.bs-ring-track{stroke:var(--border);}
.bs-ring-progress{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset 1s linear;}
.bs-ring-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:21px;font-weight:500;color:var(--text);}
.bs-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px;}
.bs-ctrl-btn{background:transparent;border:1.5px solid var(--border);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:all .15s;}
.bs-ctrl-btn:hover{border-color:var(--gold);}
.bs-ctrl-btn svg{width:18px;height:18px;}
.bs-ctrl-btn.main{background:var(--gold);border-color:var(--gold);color:var(--on-accent);width:60px;height:60px;}
.bs-ctrl-btn.main:hover{opacity:.92;}
.bs-ctrl-btn.main svg{width:23px;height:23px;}

/* Completion */
.bs-complete{text-align:center;padding:20px 0;}
.bs-check{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.bs-complete h2{font-family:var(--font-display);font-size:23px;font-weight:500;color:var(--text);margin:0 0 10px;}
.bs-complete p{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0 0 24px;max-width:300px;margin-left:auto;margin-right:auto;}

/* Breathing / hearing animation */
.bs-breath-circle{animation:bsBreathe 8s ease-in-out infinite;transform-origin:center;}
@keyframes bsBreathe{0%,100%{transform:scale(.72);opacity:.55;}50%{transform:scale(1);opacity:.95;}}
.bs-wave{animation:bsFadeWave 2.4s ease-in-out infinite;}
.bs-wave.w2{animation-delay:.3s;}
.bs-wave.w3{animation-delay:.6s;}
@keyframes bsFadeWave{0%{opacity:.2;}50%{opacity:1;}100%{opacity:.2;}}

@media (prefers-reduced-motion:reduce){
  .bs-stage{animation:none;}
  .bs-breath-circle,.bs-wave{animation:none;}
}

/* ══════════════════════════════════════════════
   REGULATION WHEEL — גלגל ויסות הגוף
   Category colors kept as in the original tool; surrounding chrome
   (buttons, cards, drawer, typography) matches מצפן's design system.
   ══════════════════════════════════════════════ */
.rw-header{text-align:center;margin-bottom:18px;}
.rw-title{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--text);}
.rw-author{font-size:12px;color:var(--muted);margin-top:2px;}
.rw-sub{font-size:14px;color:var(--muted);margin-top:8px;}
.rw-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px;}
.rw-legend-pill{display:flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;border:1.5px solid transparent;background:var(--card2);color:var(--text);transition:border-color .15s,transform .15s;}
.rw-legend-pill:hover{transform:scale(1.03);}
.rw-legend-pill.rw-active{border-color:var(--pc);background:var(--card);}
.rw-legend-dot{width:9px;height:9px;border-radius:50%;background:var(--pc);}
.rw-wheel-wrap{width:min(420px,90vw);margin:0 auto 20px;}
.rw-wheel-wrap svg{width:100%;height:auto;filter:drop-shadow(0 8px 28px rgba(0,0,0,.12));}
.rw-segment{cursor:pointer;}
.rw-segment path{transition:filter .2s;}
.rw-segment:hover path{filter:brightness(1.07);}
.rw-center{cursor:pointer;transition:transform .2s;transform-origin:260px 260px;}
.rw-center:hover{transform:scale(1.04);}
.rw-info-card{margin-top:0;margin-bottom:16px;border-top:5px solid var(--border);}
.rw-info-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.rw-info-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.rw-info-title{font-size:18px;font-weight:700;}
.rw-strategy-row{display:flex;align-items:center;gap:10px;padding:11px 4px;border-radius:12px;cursor:pointer;transition:background .15s;}
.rw-strategy-row:hover{background:var(--card2);}
.rw-strategy-row.rw-done{opacity:.5;}
.rw-strategy-row.rw-done .rw-strategy-name{text-decoration:line-through;}
.rw-strategy-check{width:22px;height:22px;border-radius:50%;border:2px solid;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;}
.rw-strategy-name{flex:1;font-size:15px;color:var(--text);}
.rw-strategy-arrow{opacity:.35;font-size:14px;flex-shrink:0;}
.rw-random-btn{display:block;width:100%;background:var(--gold);color:var(--on-accent);border:none;padding:14px;border-radius:999px;font-family:'Heebo',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s,opacity .15s;}
.rw-random-btn:hover{opacity:.92;}
.rw-drawer-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:12px;}
.rw-drawer-title{font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--text);margin-bottom:16px;line-height:1.3;}
.rw-drawer-steps{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;}
.rw-drawer-step{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;color:var(--text);}
.rw-step-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;margin-top:1px;}
.rw-drawer-tip{background:var(--gold-d);border-radius:12px;padding:12px 14px;font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:22px;}
.rw-tried-btn{width:100%;padding:14px;border-radius:14px;border:none;font-family:'Heebo',sans-serif;font-size:15px;font-weight:700;cursor:pointer;color:#fff;transition:transform .15s;}
.rw-tried-btn:hover{transform:translateY(-1px);}
.rw-tried-btn.rw-tried-done{opacity:.6;background:var(--muted)!important;}
@media(min-width:1024px){
  .rw-wheel-wrap{width:min(380px,85%);}
}
