/**
 * Treatly Design System
 * ─────────────────────
 * Blue-teal palette, Manrope typography, mobile-first shell (max 430px).
 * Layers: tokens (:root) → shell (#app) → screens → feed/tasks → sheets.
 */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
:root{
  --bg:#FAF7F2;--surface:#FFFDF9;--app-shell-top:var(--bg);
  --app-shell-bg:linear-gradient(165deg,var(--bg) 0%,#F5F0EA 48%,#F9F5EF 100%);
  --s2:#F2EAE2;--s3:#E6DCD2;
  --glass-blur:18px;--glass-border:rgba(255,255,255,.4);
  --border:#D8CDC2;--border2:#C8BAAE;
  --text:#1C1917;--t2:#3D3848;--t3:#5C5468;--t4:#7A7288;
  --green:#4A7884;--gbg:#A8C4C8;
  --blue:#5A6898;--bbg:#B0B4D0;
  --amber:#7A5020;--abg:#D0C0A0;
  --purple:#6A5A88;--pbg:#C0B0D0;
  --coral:#A04808;--cbg:#D8C0A0;
  --teal:#4A7884;--tbg:#A8C4C8;
  --brand:#4A7884;--brand2:#5E8C98;--brand-dim:#A8C4C8;
  --brand-rgb:74,120,132;
  --btn-ink:#1C1917;--btn-ink-hover:#2E2A26;--btn-ink-rgb:28,25,23;
  --logo-sky:#88A8B8;--logo-peach:#C8A888;--logo-mint:#B0C8C4;
  --logo-grad:linear-gradient(145deg,var(--logo-mint) 0%,#88A8B8 38%,var(--logo-sky) 68%,var(--logo-peach) 100%);
  --mood-violet:#7A88B8;--mood-energy:#C8A858;--mood-stress:#C87888;
  --cream:#D8D0E0;--earth:#8A7A6A;
  --r:16px;--sh:0 2px 16px rgba(28,25,23,.08);--shm:0 10px 36px rgba(28,25,23,.1);
  --tab-scroll-bottom:calc(32px + env(safe-area-inset-bottom,0px));
  --tab-scroll-bottom-with-actions:calc(76px + env(safe-area-inset-bottom,0px));
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
}
body.app-chrome{--safe-top:var(--app-safe-top,var(--safe-top));}
html,body{height:100%;overflow:hidden;background:var(--bg);font-family:Manrope,sans-serif;color:var(--text);}
button,input,textarea,select,optgroup{font-family:Manrope,sans-serif;}
/* Capacitor iOS/Android — safe areas (same UI, native shell) */
html[data-capacitor]{height:100%;height:100dvh;}
body.capacitor-native #app{
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
  /* bottom inset only on .nav — avoids a strip of gap below the tab bar */
  padding-bottom:0;
}
/* Fixed header owns top inset; avoid double padding + gap under the story bar */
body.capacitor-native.app-chrome #app{
  padding-top:0;
}
body.capacitor-native:not(.app-chrome) #app{
  padding-top:env(safe-area-inset-top);
}
body.capacitor-native .nav{
  margin-bottom:0;
  padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
}
body.capacitor-native #toast{
  bottom:calc(90px + env(safe-area-inset-bottom,0px));
}
/* Android: keep status-bar inset filled with header surface when WebView overlays */
body.capacitor-android.app-chrome::before{
  content:'';
  position:fixed;
  top:0;
  left:50%;
  width:100%;
  max-width:430px;
  height:var(--safe-top,env(safe-area-inset-top,0px));
  transform:translateX(-50%);
  background:var(--app-shell-top);
  z-index:31;
  pointer-events:none;
}
/* Mood drag HUD top is set in JS (above sliders) on native + mobile */
#app{
  max-width:430px;margin:0 auto;height:100vh;height:100dvh;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  background:var(--app-shell-bg);
}
#loading .brand-lockup{flex-direction:column;align-items:center;gap:10px;}
#loading .loading-status{
  font-size:11px;color:var(--t3);letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;font-family:'Manrope',sans-serif;text-align:center;max-width:260px;line-height:1.45;
}
body.booting #loading{display:flex!important;z-index:600;}
body.booting #main{display:none!important;}
#loading .brand-mark-wrap--lg{width:72px;height:72px;padding:0;border-radius:0;}
#loading .brand-mark{
  animation:treatlySpin 1.05s linear infinite;
  filter:brightness(0) saturate(100%);
}
#loading .brand-word{color:#1C1917;}
[data-theme="dark"] #loading .brand-mark,
[data-theme="dark"] #loading .brand-mark.brand-mark--lg{
  filter:brightness(0) saturate(100%) invert(1);
}
[data-theme="dark"] #loading .brand-word{color:var(--text);}
@keyframes treatlySpin{to{transform:rotate(360deg)}}

/* AUTH */
#auth-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:max(16px,env(safe-area-inset-top)) 28px max(28px,env(safe-area-inset-bottom));background:var(--bg);z-index:10;overflow-y:auto;-webkit-overflow-scrolling:touch;}
#auth-screen .auth-logo{margin-top:12px;flex-shrink:0;}
#auth-screen .auth-sub{flex-shrink:0;}
#auth-screen .auth-card{flex-shrink:0;margin-bottom:24px;}
.brand-mark{display:block;object-fit:contain;flex-shrink:0;}
.brand-mark-wrap{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:transparent;
  box-shadow:none;
  border:none;
}
.brand-mark-wrap--lg{
  width:80px;height:80px;border-radius:22px;padding:8px;
}
.brand-mark-wrap--hdr{
  width:40px;height:40px;border-radius:13px;padding:6px;
}
.brand-mark-wrap .brand-mark{background:transparent;box-shadow:none;border-radius:0;}
.brand-mark--lg{width:72px;height:72px;margin:0;filter:none;flex-shrink:0;}
.brand-mark--md{width:36px;height:36px;border-radius:10px;}
.brand-mark--sm{width:28px;height:28px;border-radius:8px;}
.brand-mark--hdr{
  width:100%;height:100%;
  object-fit:contain;
  filter:brightness(0) saturate(100%);
}
[data-theme="dark"] .brand-mark--hdr{
  filter:brightness(0) saturate(100%) invert(1);
}
.brand-lockup{display:flex;flex-direction:row;align-items:center;gap:8px;}
.brand-lockup--lg{gap:8px;}
#auth-screen .auth-logo.brand-lockup{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  max-width:min(100%,320px);
}
.brand-word{font-family:'Manrope',sans-serif;font-size:32px;font-weight:800;color:var(--green);letter-spacing:-.04em;text-transform:lowercase;line-height:1;}
.auth-logo{margin-bottom:6px;}
#auth-screen .brand-mark--lg{
  filter:brightness(0) saturate(100%) invert(42%) sepia(15%) saturate(901%) hue-rotate(145deg) brightness(95%) contrast(87%);
}
.hdr-brand{display:flex;flex-direction:row;align-items:center;gap:6px;min-width:0;}
.hdr-brand-text{display:flex;flex-direction:column;gap:1px;min-width:0;}
.hdr-brand .wordmark{font-family:'Manrope',sans-serif;font-size:21px;font-weight:800;color:var(--text);letter-spacing:-.03em;text-transform:lowercase;line-height:1.1;}
.hdr-brand[role="button"]{cursor:pointer;}
.hdr-tagline{font-size:10px;font-weight:700;color:var(--t3);letter-spacing:.06em;text-transform:uppercase;font-family:'Manrope',sans-serif;line-height:1.2;}
.today-mood-chip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:8px 14px;border-radius:20px;border:1.5px solid rgba(var(--brand-rgb),.35);background:var(--brand-dim);font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;color:var(--brand);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;}
.today-mood-chip:active{transform:scale(.98);}
.today-mood-chip.needs-log{border-color:rgba(var(--brand-rgb),.32);}
.today-mood-chip.stale-log{border-color:rgba(var(--brand-rgb),.28);}
@keyframes moodChipPulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--brand-rgb),.22)}50%{box-shadow:0 0 0 6px rgba(var(--brand-rgb),0)}}
@keyframes moodChipPulseStrong{0%,100%{box-shadow:0 0 0 0 rgba(var(--brand-rgb),.34),0 0 0 0 rgba(var(--brand-rgb),.2)}50%{box-shadow:0 0 0 9px rgba(var(--brand-rgb),0),0 0 16px 0 rgba(var(--brand-rgb),.28)}}
.mood-bar-fill.stress{background:linear-gradient(90deg,#9cb8a4 0%,#d4a574 55%,#c45c3e 100%);}
.mood-bar-thumb.stress{border-color:#b45309;}
.mood-bar-head .mood-val.stress-val{color:#b45309;}
.auth-sub{font-size:14px;color:var(--t3);text-align:center;line-height:1.6;margin-bottom:40px;max-width:240px;}
.auth-card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shm);}
.auth-card-title{font-family:'Manrope',sans-serif;font-size:19px;font-weight:800;color:var(--text);letter-spacing:-.02em;}
.signup-extra{display:flex;flex-direction:column;gap:10px;padding:10px 0 2px;}
.signup-kicker{margin:0;font-size:12px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.08em;}
.signup-question{margin:0;font-size:13px;font-weight:800;color:var(--text);line-height:1.3;}
.signup-chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.signup-chip{border:1.5px solid var(--border);background:var(--s2);color:var(--t2);border-radius:999px;padding:8px 10px;font-family:Manrope,sans-serif;font-size:12px;font-weight:800;cursor:pointer;}
.signup-chip.on{border-color:var(--brand);background:rgba(var(--brand-rgb),.12);color:var(--brand);}
.signup-suggestion{padding:10px 12px;border-radius:14px;background:rgba(var(--brand-rgb),.08);border:1px solid rgba(var(--brand-rgb),.18);font-size:12px;font-weight:700;color:var(--t2);line-height:1.45;}
.signup-hint{margin:0;font-size:12px;color:var(--t3);line-height:1.45;}
.auth-legal{margin:4px 0 0;font-size:11px;color:var(--t3);line-height:1.45;text-align:center;}
.auth-legal a{color:var(--brand);font-weight:700;text-decoration:none;}
.auth-legal a:hover{text-decoration:underline;}
.auth-resend-btn{
  display:block;margin:10px auto 0;padding:8px 14px;
  border:1px solid var(--brand);border-radius:10px;
  background:var(--brand-dim,#E8F0F2);color:var(--brand);
  font-family:Manrope,sans-serif;font-size:12px;font-weight:800;cursor:pointer;
}
.auth-resend-btn:hover{opacity:.9;}
.prof-danger-card{border-color:rgba(196,92,74,.35);background:var(--coral-dim,#FCEEEA);}
.prof-delete-btn{background:var(--coral)!important;color:#fff!important;margin-top:4px;}
.prof-footer{margin-top:20px;padding:8px 0 calc(24px + env(safe-area-inset-bottom));}
.prof-footer-signout{margin-bottom:0;}
.profile-detail-open .prof-footer{display:none;}
.del-acct-title{font-size:1.1rem;font-weight:800;margin:0 0 8px;color:var(--coral);}
.del-acct-lead{font-size:12px;color:var(--t2);line-height:1.5;margin:0 0 14px;}
.del-acct-lead a{text-decoration:none;}
.del-acct-lead a:hover{text-decoration:underline;}
.del-acct-label{display:block;font-size:11px;font-weight:700;color:var(--t3);margin-bottom:4px;}
.prof-legal-link{margin:0 0 12px;}
.prof-legal-btn{
  width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--border);
  background:var(--surface);font-family:Manrope,sans-serif;font-size:13px;font-weight:700;
  color:var(--brand);cursor:pointer;text-align:center;
}
.prof-legal-btn:active{transform:scale(.99);}
.ainput{width:100%;background:var(--s2);border:1.5px solid var(--border);border-radius:12px;padding:13px 15px;font-family:Manrope,sans-serif;font-size:15px;color:var(--text);outline:none;transition:all .18s;display:block;}
.ainput:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(45,106,79,.12);}
.ainput::placeholder{color:var(--t4);}
.abtn{width:100%;padding:15px;background:var(--brand);border:none;border-radius:13px;color:#fff;font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;cursor:pointer;transition:all .18s;}
.abtn:hover{background:var(--brand2);box-shadow:0 6px 20px rgba(45,106,79,.4);}
.abtn:disabled{opacity:.4;cursor:not-allowed;}
.auth-divider{display:flex;align-items:center;gap:10px;color:var(--t4);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--border);flex:1;}
.oauth-btn{width:100%;padding:13px 15px;border-radius:13px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .18s;}
.oauth-btn:hover{border-color:var(--brand);box-shadow:0 6px 18px rgba(28,25,23,.08);}
.oauth-btn:disabled{opacity:.55;cursor:not-allowed;}
.oauth-mark{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);font-weight:900;color:#4285f4;font-family:Arial,sans-serif;}
.aswitch{text-align:center;font-size:13px;color:var(--t3);}
.aswitch span{color:var(--text);font-weight:700;cursor:pointer;text-decoration:underline;}
.aerr{font-size:12px;color:var(--coral);text-align:center;min-height:16px;}
.aok{font-size:12px;color:var(--green);text-align:center;min-height:16px;}
.auth-dot{display:none;}

/* MAIN */
#main{flex:1;display:none;flex-direction:column;overflow:hidden;position:relative;background:transparent;}
#main.on{display:flex;}

/* HEADER — very clean */
.hdr{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 14px 6px;flex-shrink:0;background:var(--bg);
}
body.tab-home .hdr{
  padding:4px 12px 2px;
  min-height:0;
}
.hdr-tab-lockup{
  display:flex;align-items:center;gap:8px;flex:1;min-width:0;margin:0;padding:0;
  border:none;background:transparent;cursor:pointer;text-align:left;
  -webkit-tap-highlight-color:transparent;font:inherit;color:inherit;
}
.hdr-tab-lockup .brand-mark-wrap--hdr{
  width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
}
.hdr-tab-lockup .brand-mark--hdr{width:28px;height:28px;object-fit:contain;display:block;}
.hdr-tab-lockup .hdr-title{
  flex:1;min-width:0;text-align:left;margin:0;padding:0;
  font-family:'Manrope',sans-serif;font-size:20px;font-weight:800;color:var(--text);
  letter-spacing:-.03em;line-height:1.1;
}
#hdr-brand,.hdr-brand{flex:1;min-width:0;justify-content:flex-start;}
#hdr-brand .brand-mark-wrap--hdr{
  width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
}
#hdr-brand .brand-mark--hdr{width:28px;height:28px;object-fit:contain;display:block;}
.tab-heading-home{
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  border:none;background:transparent;padding:0;font:inherit;color:inherit;text-align:inherit;
}
button.tab-heading-home.scrt{display:block;width:100%;text-align:left;}
.tab-heading-home:active{opacity:.72;}
.tab-heading-lockup{display:inline-flex;align-items:center;gap:10px;max-width:100%;}
.tab-heading-lockup .tab-heading-label{min-width:0;}
.tab-heading-mark{
  width:28px;height:28px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
}
.tab-heading-mark img{
  display:block;width:26px;height:26px;object-fit:contain;opacity:.85;
  filter:brightness(0) saturate(100%);
}
[data-theme="dark"] .tab-heading-mark img{filter:brightness(0) saturate(100%) invert(1);}
.screen-hdr-title.tab-heading-lockup{width:100%;}
.friend-profile-hdr-title.tab-heading-lockup{flex:1;min-width:0;margin:0;}
.hdr-right{flex-shrink:0;margin-left:auto;}
.hdr-menu-btn{flex-shrink:0;}
.wordmark{font-family:'Manrope',sans-serif;font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.04em;display:flex;align-items:center;gap:5px;}
.wdot svg{overflow:visible;}
.clock-hand-min{transform-origin:8px 8px;animation:spinMin 6s linear infinite;}
.clock-hand-hr{transform-origin:8px 8px;animation:spinHr 72s linear infinite;}
@keyframes spinMin{to{transform:rotate(360deg)}}
@keyframes spinHr{to{transform:rotate(360deg)}}
@keyframes iconFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(4deg)}}
.wdot{animation:iconFloat 3s ease-in-out infinite;display:inline-flex;align-items:center;}
.hdr-right{display:flex;align-items:center;gap:8px;}
.bell{width:auto;height:auto;border-radius:0;background:transparent;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;font-size:0;transition:opacity .15s ease;}
.bell.has-notif .bell-svg{color:var(--text);}
.bell-pip{position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%;background:var(--coral);border:2px solid var(--bg);display:none;pointer-events:none;}
@keyframes pipPop{0%,100%{transform:scale(1)}50%{transform:scale(1.4);box-shadow:0 0 0 4px rgba(79,117,102,.12)}}
.av{width:36px;height:36px;border-radius:50%;background:var(--text);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;cursor:pointer;border:2.5px solid var(--brand);font-family:'Manrope',sans-serif;transition:opacity .18s;}
.av:hover{opacity:.8;}

/* SCREENS — never put display:flex on #s-* alone; it beats .screen{display:none} and stacks every tab */
.screen{flex:1;display:none!important;flex-direction:column;overflow:hidden;min-height:0;}
.screen.active{display:flex!important;}
#s-home{position:relative;flex:1;min-height:0;}
#s-friends{display:flex;flex-direction:column;flex:1;min-height:0;}
#s-treats,#s-acts,#s-profile{min-height:0;}
#s-treats > div:last-of-type{min-height:0;flex:1;display:flex;flex-direction:column;min-height:0;}
#s-treats #treats-history-list{min-height:40px;}
#s-acts #p-acts{min-height:0;}
.fscroll,.prof-wrap,.stscroll{min-height:0;}

/* GREETING — one slim line (avoid tall “Morning, …” block) */
.greet{padding:6px 16px 2px;flex-shrink:0;}
.greet .home-name-cond{font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.25;}
.gname{font-family:'Manrope',sans-serif;font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1.15;}
.streak-pill{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 10px;border-radius:20px;background:var(--brand-dim);border:1px solid rgba(45,106,79,.25);font-size:11px;font-weight:700;color:var(--coral);}
.home-loops{display:flex;flex-direction:column;gap:8px;margin-bottom:4px;}
.home-loop{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
.home-loop:active{transform:scale(.992);}
.home-loop.primary{border-color:rgba(45,106,79,.35);background:linear-gradient(135deg,rgba(45,106,79,.1),rgba(45,106,79,.04));box-shadow:0 4px 16px rgba(45,106,79,.12);}
.home-loop.live{border-color:rgba(26,110,66,.35);background:linear-gradient(135deg,rgba(26,110,66,.1),rgba(26,110,66,.04));}
.home-loop.warn{border-color:rgba(192,57,43,.35);background:rgba(192,57,43,.06);}
.home-loop-ico{font-size:20px;line-height:1;flex-shrink:0;}
.home-loop-copy{flex:1;min-width:0;}
.home-loop-title{font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;color:var(--text);line-height:1.25;}
.home-loop-sub{font-size:11px;color:var(--t3);margin-top:2px;line-height:1.35;}
.home-loop-arr{color:var(--t4);font-weight:700;flex-shrink:0;}
.sealed-teaser{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap;}
.sealed-teaser-chip{font-size:10px;font-weight:800;color:var(--brand);background:var(--brand-dim);border:1px solid rgba(45,106,79,.22);padding:2px 8px;border-radius:20px;}
.capsule-hero{font-size:56px;line-height:1;margin:8px 0 12px;}
.capsule-shelf{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px;}
.capsule-shelf span{width:34px;height:34px;border-radius:12px;background:var(--s2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:18px;}

/* DATE STRIP — calendar feel */
.drow{padding:4px 16px 0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex-shrink:0;}
.drow::-webkit-scrollbar{display:none;}
.dchip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 10px;border-radius:13px;cursor:pointer;transition:background .14s ease,box-shadow .14s ease,color .14s ease;min-width:42px;-webkit-tap-highlight-color:transparent;}
.dchip.active{background:var(--brand);box-shadow:0 2px 8px rgba(79,117,102,.22);}
.dchip:not(.active):hover{background:var(--s2);}
.dday{font-size:10px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.05em;}
.dchip.active .dday{color:rgba(255,255,255,.6);}
.dnum{font-family:'Manrope',sans-serif;font-size:17px;font-weight:800;color:var(--text);line-height:1;}
.dchip.active .dnum{color:#fff;}
.ddot{width:4px;height:4px;border-radius:50%;background:transparent;}
.ddot.on{background:var(--coral);}
.dchip.active .ddot.on{background:rgba(255,255,255,.8);}
.feed-toolbar--slim{padding:2px 16px 2px;gap:0;}
#s-home #feed-toolbar{display:none!important;}
.feed-cal-day--compact{
  margin:0 0 8px;padding:8px 12px;border-radius:12px;
  background:var(--s2);border:1px solid var(--border);
  box-shadow:none;
}
.feed-cal-day--compact .feed-cal-num{
  width:32px;height:32px;font-size:15px;border-radius:10px;
}
.feed-cal-day--compact .feed-cal-label{font-size:13px;}
.feed-cal-day--compact .feed-cal-sub{display:none;}
.drow--compact{padding:2px 0 4px;gap:3px;}
.drow--compact .dchip{
  flex-direction:row;align-items:center;gap:5px;
  padding:4px 9px;min-width:0;border-radius:999px;
  background:transparent;border:1px solid transparent;
  box-shadow:none;
}
.drow--compact .dchip:not(.active):hover{background:var(--s2);}
.drow--compact .dchip.active{
  background:var(--brand)!important;border-color:var(--brand)!important;
  box-shadow:0 2px 10px rgba(45,106,79,.28)!important;
}
.drow--compact .dchip.active .dday{color:rgba(255,255,255,.78)!important;}
.drow--compact .dchip.active .dnum{color:#fff!important;}
.drow--compact .dday{font-size:11px;text-transform:none;letter-spacing:0;font-weight:600;color:var(--t3);}
.drow--compact .dnum{font-size:12px;font-weight:800;line-height:1;color:var(--text);}
.drow--compact .ddot{width:5px;height:5px;margin:0;flex-shrink:0;}
.drow--compact .dchip.active .ddot.on{background:rgba(255,255,255,.85);}

/* FEED — the main scroll (extra bottom = thumb zone + “keep scrolling” feel) */
#feed{
  flex:1;overflow-y:auto;
  padding:10px 14px calc(120px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;gap:12px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  min-height:0;background:var(--bg);
  overscroll-behavior-y:contain;
  scroll-behavior:smooth;
}
#feed::-webkit-scrollbar{display:none;}
#feed::-webkit-scrollbar{display:none;}
#feed>div{flex-shrink:0;}

/* Pull-to-refresh hint */
.ptr-bar{
  height:0;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;font-family:'Manrope',sans-serif;
  color:var(--text);
  transition:height .22s ease,opacity .2s ease;
  opacity:0;flex-shrink:0;
}
.ptr-bar.show{height:40px;opacity:1;}
.ptr-bar .ptr-spin{
  width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(28,25,23,.18);
  border-top-color:var(--text);
  animation:ptrSpin .7s linear infinite;
  margin-right:8px;
}
.ptr-bar .ptr-mark{
  width:22px;height:22px;object-fit:contain;margin-right:8px;
  opacity:.72;animation:ptrSpin .85s linear infinite;
  filter:brightness(0) saturate(100%);
}
[data-theme="dark"] .ptr-bar .ptr-mark{filter:brightness(0) saturate(100%) invert(1);}
@keyframes ptrSpin{to{transform:rotate(360deg)}}

/* Home — circle feed layout */
#s-home{display:flex;flex-direction:column;min-height:0;}
#s-home .greet-slim{padding:8px 16px 4px;}
#s-home .greet-slim .streak-pill,#s-home .greet-slim #wellbeing-pill{display:none;}
#home-scroll{position:relative;flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-y:contain;}
.home-scroll-head{position:relative;flex-shrink:0;}
#s-home > #ptr-bar.ptr-bar--ghost-only{display:none!important;height:0!important;opacity:0!important;pointer-events:none;}
body.home-mood-dragging #home-scroll,
#home-scroll.home-scroll--mood-drag{touch-action:none;overflow:hidden;}
#home-scroll::-webkit-scrollbar{display:none;}
.home-top-bar{position:relative;flex-shrink:0;padding:6px 12px 4px;background:transparent;}
body.app-chrome{
  --hdr-chrome-inset:calc(44px + var(--safe-top));
  --tab-scroll-bottom:calc(32px + env(safe-area-inset-bottom,0px));
  --tab-scroll-bottom-with-actions:calc(76px + env(safe-area-inset-bottom,0px));
}
body.app-chrome.tab-home{--hdr-chrome-inset:calc(54px + var(--safe-top));}
body.app-chrome.hdr-scroll-hidden{--hdr-chrome-inset:var(--safe-top);}
/* Home keeps full inset — header collapse is scroll-linked via --hdr-scroll-offset, not inset snap. */
body.app-chrome.tab-home.hdr-scroll-hidden{--hdr-chrome-inset:calc(54px + var(--safe-top));}
.home-scroll-inset{
  flex-shrink:0;height:var(--hdr-chrome-inset);pointer-events:none;
}
.home-scroll-inset{transition:none;}
body.app-chrome #main{position:relative;}
body.app-chrome #main > .hdr{
  position:fixed!important;
  top:var(--safe-top);
  left:50%;
  right:auto;
  width:100%;
  max-width:430px;
  z-index:30;
  margin:0;
  opacity:1;
  flex-shrink:0;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 12px 6px;
  min-height:52px;
  background:var(--app-shell-top);
  border-bottom:none;
  box-shadow:none;
  transform:translate3d(-50%,calc(-1 * var(--hdr-scroll-offset, 0px)),0);
  transition:none;
}
body.app-chrome.tab-home #main > .hdr{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:flex-start;
  gap:8px;
  padding:8px 12px 6px;
  min-height:52px;
  background:var(--app-shell-top)!important;
}
[data-theme="dark"] body.app-chrome #main > .hdr,
[data-theme="dark"] body.app-chrome.tab-home #main > .hdr{
  background:var(--bg)!important;
}
body.app-chrome:not(.tab-home) #main > .hdr .hdr-tab-lockup{
  flex:1;
  min-width:0;
  max-width:100%;
}
body.app-chrome.hdr-scroll-hidden #main > .hdr{
  transform:translate3d(-50%,calc(-1 * var(--hdr-scroll-offset, 0px)),0);
  opacity:0;
  pointer-events:none;
  transition:none;
}
/* Home: scroll-linked transform only — keep header visible while translating on scroll-up. */
body.app-chrome.tab-home.hdr-scroll-hidden #main > .hdr{
  opacity:1;
  pointer-events:auto;
}
@media (min-width: 768px){
  body.app-chrome.hdr-scroll-hidden{--hdr-chrome-inset:calc(44px + var(--safe-top));}
  body.app-chrome.tab-home.hdr-scroll-hidden{--hdr-chrome-inset:calc(54px + var(--safe-top));}
  body.app-chrome.hdr-scroll-hidden #main > .hdr{
    transform:translate3d(-50%,0,0);
    opacity:1;
    pointer-events:auto;
  }
}
@media (prefers-reduced-motion: reduce){
  body.app-chrome #main > .hdr{transition:none;}
  body.app-chrome.hdr-scroll-hidden #main > .hdr{
    transform:translate3d(-50%,-110%,0);
    opacity:0;
  }
  body.app-chrome.tab-home.hdr-scroll-hidden #main > .hdr{
    transform:translate3d(-50%,calc(-1 * var(--hdr-scroll-offset, 0px)),0);
    opacity:1;
  }
}
body.tab-home #s-home{flex:1;min-height:0;}
body.app-chrome.tab-home #home-scroll{padding-top:0;}
body.app-chrome.tab-home .home-top-bar{padding:2px 12px 0;}
body.app-chrome .screen.active > .app-scroll,
body.app-chrome .screen.active > .product-scroll.app-scroll,
body.app-chrome .screen.active > .product-scroll:not(.screen-hdr){
  padding-top:calc(var(--hdr-chrome-inset) + 4px);
  min-height:0;
  overscroll-behavior-y:contain;
}
body.app-chrome #s-friends.active #friends-list.app-scroll{
  padding-top:calc(var(--hdr-chrome-inset) + 4px);
}
body.app-chrome #s-acts.active #p-acts.app-scroll{
  padding-top:calc(var(--hdr-chrome-inset) + 4px);
}
body.app-chrome #s-profile.active .prof-wrap.app-scroll{
  padding-top:calc(var(--hdr-chrome-inset) + 10px);
  padding-left:16px;
  padding-right:16px;
}
.home-mood-bar{width:100%;display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:14px 16px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);font-family:Manrope,sans-serif;cursor:pointer;text-align:left;box-shadow:var(--sh);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;}
.home-mood-bar:active{transform:scale(.99);}
.home-mood-bar.needs-log{border-color:rgba(45,106,79,.35);background:linear-gradient(135deg,var(--brand-dim),var(--surface));}
.home-mood-bar-ico{font-size:28px;line-height:1;flex-shrink:0;}
.home-mood-bar-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.home-mood-bar-title{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.02em;}
.home-mood-bar-sub{font-size:12px;font-weight:600;color:var(--t3);}
.home-mood-bar-go{flex-shrink:0;padding:8px 14px;border-radius:12px;background:var(--text);color:#fff;font-size:12px;font-weight:800;}
.home-mood-bar.needs-log .home-mood-bar-go{background:var(--brand);}
.home-top-bar .feed-toolbar{padding:0;background:none;}
.home-top-bar .home-drow{padding:2px 0 8px;}
body.tab-home:not(.tab-home-reels) .hdr-mood-chip{display:none!important;}
.friends-circle-block{padding:0 16px 10px;flex-shrink:0;border-bottom:1px solid var(--border);margin-bottom:4px;}
.friends-circle-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;padding:0 2px;}
.friends-circle-hdr .llbl{margin:0;font-size:11px;}
.friends-circle-hint{font-size:11px;font-weight:600;color:var(--t4);}
#s-friends .friends-circle-block .friend-strip-wrap{margin:0 -4px 0 0;padding:0 0 6px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8px,#000 calc(100% - 8px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8px,#000 calc(100% - 8px),transparent 100%);}
#s-friends #friends-list.fscroll{padding-top:12px;}
#s-friends #friends-list .llbl{margin-top:4px;}
.person-streak{font-size:11px;font-weight:800;color:#ea580c;margin-left:4px;}
.person-feed-disc-hook{display:block;font-size:12px;font-weight:700;color:var(--brand);line-height:1.35;margin-bottom:4px;}
.person-feed-tasks .task-row{border-radius:15px;box-shadow:0 2px 10px rgba(0,0,0,.04);transition:transform .12s ease,box-shadow .12s ease;}
.person-feed-tasks .task-row:active{transform:scale(.995);}
.person-feed-tasks .task-row--live{box-shadow:0 4px 16px rgba(45,106,79,.12);}
.person-feed-tasks .task-row--study{border-left:3px solid #2563eb;}
.person-feed-tasks .task-row--workout{border-left:3px solid #0d9488;}
.person-feed-tasks .task-row--reading{border-left:3px solid #d97706;}
.person-feed-tasks .task-row--wellness{border-left:3px solid #22c55e;}
.person-feed-tasks .task-row--creative{border-left:3px solid #8b5cf6;}
.person-feed-tasks .task-row--challenge{border-left:3px solid #2D6A4F;}
.feed-stream{display:flex;flex-direction:column;gap:12px;padding:4px 16px calc(24px + env(safe-area-inset-bottom,0px));flex-shrink:0;min-height:min(40vh,320px);}
#feed-friends{display:none;}
#s-home #feed{display:none;}
.feed-day-divider{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;color:var(--t4);text-transform:uppercase;letter-spacing:.08em;padding:16px 4px 6px;border-top:1px solid var(--border);margin-top:4px;}
.feed-cal-day{margin:12px 0 8px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--sh);}
.feed-cal-day--anchor{border-color:rgba(79,117,102,.28);background:linear-gradient(135deg,rgba(79,117,102,.08),var(--surface));}
.feed-cal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.feed-cal-left{display:flex;align-items:center;gap:12px;min-width:0;}
.feed-cal-num{width:40px;height:40px;border-radius:12px;background:var(--brand-dim);color:var(--brand);font-family:'Manrope',sans-serif;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.feed-cal-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.feed-cal-dow{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;}
.feed-cal-label{font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.02em;}
.feed-cal-tag{font-size:10px;font-weight:800;padding:4px 8px;border-radius:20px;background:var(--s2);color:var(--t3);flex-shrink:0;}
.feed-cal-tag--today{background:var(--brand-dim);color:var(--brand);}
.feed-cal-tag--soon{background:rgba(79,117,102,.12);color:var(--brand);}
.feed-cal-tag--future{background:var(--s2);color:var(--t2);}
.feed-cal-sub{margin:8px 0 0;font-size:11px;color:var(--t3);font-weight:600;}
.feed-cal-quiet{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:var(--s2);border:1px dashed var(--border2);font-size:12px;color:var(--t3);text-align:center;}
.feed-sentinel{display:flex;align-items:center;justify-content:center;gap:8px;padding:28px 16px 36px;font-size:12px;font-weight:600;color:var(--t3);text-align:center;}
.feed-sentinel--end{color:var(--t4);}
.feed-sentinel-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:feedPulse 1.2s ease-in-out infinite;}
@keyframes feedPulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}
.feed-toolbar{flex-shrink:0;padding:6px 16px 4px;display:flex;flex-direction:column;gap:8px;}
.feed-toolbar-sticky{position:sticky;top:0;z-index:6;background:linear-gradient(180deg,var(--bg) 78%,transparent);}
.cal-row{display:flex;align-items:center;gap:8px;}
.cal-row .drow{flex:1;padding:4px 0 0;min-width:0;}
.feed-search-toggle{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);font-size:17px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.feed-search-panel{display:none;}
.feed-search-panel.open{display:block;}
.circle-you-nudge{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1.5px dashed rgba(45,106,79,.35);background:var(--brand-dim);cursor:pointer;width:100%;text-align:left;}
#s-friends .tasks-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;}
#s-friends .tasks-lock-btn{padding:8px 14px;border-radius:20px;border:none;background:var(--brand);color:#fff;font-family:Manrope,sans-serif;font-size:12px;font-weight:800;cursor:pointer;flex-shrink:0;}
#s-friends .drow{padding:4px 16px 8px;}
#my-tasks-panel{flex:1;overflow-y:auto;padding:8px 14px calc(100px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-height:0;}
#my-tasks-panel::-webkit-scrollbar{display:none;}
#quick-actions{display:none!important;}
.feed-section-label{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;padding:4px 2px 0;}
.friends-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px 8px;flex-shrink:0;}
.friends-sub{font-size:12px;color:var(--t3);margin-top:4px;line-height:1.35;}
.friends-mood-btn{padding:8px 14px;border-radius:20px;border:none;background:var(--brand);color:#fff;font-family:Manrope,sans-serif;font-size:12px;font-weight:800;cursor:pointer;flex-shrink:0;}
.friends-wellbeing-alert{margin:0 16px 8px;padding:12px 14px;border-radius:14px;background:rgba(var(--brand-rgb),.07);border:1.5px solid rgba(var(--brand-rgb),.2);font-size:12px;line-height:1.45;color:var(--t2);font-weight:600;}
.friends-live-activity{margin:0 12px 8px;padding:0 4px;}
.friends-live-activity .activity-strip{padding:0;}
.friends-search-wrap{display:flex;align-items:center;gap:8px;margin:0 16px 8px;padding:10px 14px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);}
.friends-search-ico{color:var(--t4);font-size:16px;}
.friends-search-inp{flex:1;border:none;background:transparent;outline:none;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;color:var(--text);}
.friends-list-hint{font-size:11px;color:var(--t4);margin:-4px 0 8px;}
.frow-wellbeing{flex-direction:column;align-items:stretch;gap:0;padding:0;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--border);margin-bottom:10px;box-shadow:0 2px 12px rgba(0,0,0,.04);}
.frow-wellbeing--alert{border-color:rgba(192,57,43,.4);background:rgba(192,57,43,.04);}
.frow-wellbeing--watch{border-color:rgba(122,74,16,.35);}
.frow-wellbeing-main{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;cursor:pointer;}
.frow-wellbeing .fav2{width:44px;height:44px;flex-shrink:0;}
.frow-wellbeing .fi{flex:1;min-width:0;}
.frow-wellbeing .fr2{align-self:center;flex-shrink:0;min-width:44px;}
.frow-wellbeing-actions{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 12px;border-top:1px solid var(--border);}
.friend-act-btn{display:inline-flex;align-items:center;gap:4px;padding:7px 12px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);font-family:Manrope,sans-serif;font-size:11px;font-weight:700;color:var(--text);cursor:pointer;text-decoration:none;}
.friend-act-btn:active{transform:scale(.98);}
.friend-act-btn--primary{background:var(--brand);color:#fff;border-color:var(--brand);}
.friend-act-btn--sent{background:var(--coral);color:#fff;border-color:var(--coral);}
.friend-act-btn--danger{color:#c0392b;border-color:#e8b4b0;background:#fff5f4;}
.friend-act-btn--muted{color:var(--t3);border-color:var(--border);background:transparent;font-weight:600;}
.fp-profile-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;}
.friend-stress-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.friend-stress-chip{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--s2);color:var(--t3);}
.friend-mood-dot{display:none!important;}
.needs-checkin{font-size:10px;font-weight:800;color:#C0392B;margin-left:4px;}
#s-friends .fscroll{flex:1;overflow-y:auto;padding:0 16px calc(88px + env(safe-area-inset-bottom,0px));min-height:0;}
.feed-search-wrap{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);box-shadow:var(--sh);}
.feed-search-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(45,106,79,.12);}
.feed-search-wrap input{flex:1;border:none;background:transparent;outline:none;font-family:Manrope,sans-serif;font-size:15px;font-weight:600;color:var(--text);}
.feed-search-wrap input::placeholder{color:var(--t4);font-weight:500;}
.feed-search-icon{font-size:16px;opacity:.55;}
#s-friends.friends-screen,
#s-friends{display:flex;flex-direction:column;min-height:0;}
#s-friends > .friends-hdr,
#s-friends > .friends-hero,
#s-friends > .friends-pulse,
#s-friends > .friends-circle-block,
#s-friends > .friends-int-slot,
#s-friends > .friends-wellbeing-alert,
#s-friends > .friends-live-section,
#s-friends > .friends-search-wrap,
#s-friends > .friends-footer-bar,
#s-friends > .ai-layer{flex-shrink:0;}
#s-friends #friends-list.friends-list-scroll,
#s-friends #friends-list.fscroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;}

.activity-strip{padding:4px 14px 10px;}
.activity-strip .llbl{margin-bottom:6px;}
.activity-log{display:flex;flex-direction:column;gap:6px;}
.activity-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:12px;line-height:1.35;}
.activity-row .act-ico{font-size:16px;flex-shrink:0;}
.activity-row .act-meta{color:var(--t3);font-size:10px;margin-top:2px;font-weight:600;}
/* Quick actions — Tasks tab only */
#quick-actions{
  position:absolute;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));
  display:none;flex-direction:column;gap:10px;z-index:42;align-items:flex-end;
}
.qa-btn{
  display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;border:none;
  font-family:Manrope,sans-serif;font-size:13px;font-weight:800;cursor:pointer;
  box-shadow:0 8px 24px rgba(15,23,42,.18);transition:transform .16s ease;
}
.qa-btn:active{transform:scale(.96);}
.qa-btn.qa-assign{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;}
.qa-btn.qa-lock{background:var(--surface);color:var(--text);border:2px solid var(--brand);}
.qa-btn.qa-mood{background:linear-gradient(145deg,#3d5a45,#2D6A4F);color:#fff;border:none;box-shadow:0 8px 24px rgba(45,106,79,.35);}
.qa-btn .qa-ico{font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;}
.qa-btn .qa-ico svg{display:block;}

/* Active task progress dock */
#progress-dock{
  display:none;flex-shrink:0;margin:0 14px 8px;padding:12px 14px;border-radius:16px;
  background:linear-gradient(135deg,rgba(79,117,102,.1),rgba(79,117,102,.04));
  border:1.5px solid rgba(45,106,79,.28);align-items:center;gap:12px;
}
#progress-dock.show{display:flex;}
.pd-copy{flex:1;min-width:0;}
.pd-title{font-family:Manrope,sans-serif;font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pd-meta{font-size:11px;color:var(--t3);margin-top:2px;}
.pd-actions{display:flex;gap:6px;flex-shrink:0;}
.pd-btn{padding:8px 12px;border-radius:12px;border:none;font-family:Manrope,sans-serif;font-size:12px;font-weight:800;cursor:pointer;}
.pd-btn-play{background:var(--brand);color:#fff;}
.pd-btn-pause{background:var(--s2);color:var(--text);border:1px solid var(--border);}
.pd-btn-done{background:var(--green);color:#fff;}

/* Stories-style friend strip (hidden — search replaces it) */
.friend-strip-wrap{
  flex-shrink:0;padding:2px 0 2px;
  margin:0 -4px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);
}
.friend-strip{
  display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;
  padding:2px 4px 6px;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  touch-action:pan-x;
}
.friend-strip::-webkit-scrollbar{display:none;}
.fs-item{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;
  scroll-snap-align:start;
  background:none;border:none;cursor:pointer;padding:2px 4px 6px;
  min-width:62px;max-width:88px;transition:transform .15s ease;
  font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.fs-item--alert .fs-ring{box-shadow:0 0 0 2px rgba(192,57,43,.45);}
.fs-item--watch .fs-ring{box-shadow:0 0 0 2px rgba(217,119,6,.4);}
.fs-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:12px;}
.fs-item:active{transform:scale(.94);}
.fs-ring{
  width:54px;height:54px;border-radius:50%;
  padding:2.5px;
  background:linear-gradient(135deg,var(--brand2),var(--brand));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(79,117,102,.16);
}
.fs-item.fs-you .fs-ring{background:linear-gradient(135deg,var(--brand),var(--brand2));}
.fs-av{
  width:47px;height:47px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;color:#fff;
  background:var(--s3);
}
.fs-dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 2px var(--surface);
  margin-top:-10px;align-self:center;
  animation:fsPulse 2s ease-in-out infinite;
}
.fs-dot.off{background:var(--t4);animation:none;}
@keyframes fsPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.15)}}
.fs-name{
  font-size:10px;font-weight:700;color:var(--t3);max-width:80px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.fs-well-row{
  display:flex;flex-wrap:wrap;justify-content:center;gap:3px;
  max-width:84px;line-height:1.2;
}
.fs-well-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;}
.fs-warn{
  display:inline-block;font-size:8px;font-weight:800;padding:2px 5px;border-radius:6px;
  white-space:nowrap;letter-spacing:.01em;
}
.fs-warn--stress{background:rgba(192,57,43,.14);color:#c0392b;}
.fs-warn--energy{background:rgba(217,119,6,.14);color:#b45309;}
.fs-warn--mood{background:rgba(107,127,215,.16);color:#4a6fd6;}
.fs-well{font-size:8px;font-weight:800;padding:2px 5px;border-radius:6px;}
.fs-well--alert{background:rgba(192,57,43,.12);color:#c0392b;}
.fs-well--muted{background:var(--s2);color:var(--t3);}

/* End-of-feed discovery (calmer footer) */
.feed-end{
  margin-top:8px;padding:16px 14px 12px;
  border-radius:16px;
  background:var(--surface);
  border:1px solid var(--border);
  text-align:center;
}
.feed-end-title{
  font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;color:var(--text);
  letter-spacing:-.02em;margin-bottom:3px;
}
.feed-end-sub{font-size:12px;color:var(--t3);line-height:1.45;margin-bottom:10px;}
.feed-end-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.feed-chip{
  padding:10px 14px;border-radius:999px;border:1px solid var(--border2);
  background:var(--surface);font-size:12px;font-weight:700;font-family:'Manrope',sans-serif;
  color:var(--text);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;
}
.feed-chip:active{transform:scale(.96);}
.feed-chip.primary{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  border:none;color:#fff;
  box-shadow:0 4px 16px rgba(45,106,79,.35);
}
.feed-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:4px 2px;font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;}
/* Keep feed smooth — scope to feed only; content-visibility on .hist-item breaks Treats tab scroll height */
#feed [data-taskcard]{
  content-visibility:auto;
  contain:layout style paint;
}

/* TASK CARD */
.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:13px 13px 12px 16px;cursor:pointer;box-shadow:var(--sh);transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;display:flex;flex-direction:column;gap:9px;animation:cardIn .25s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes cardIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.card:nth-child(2){animation-delay:.04s}.card:nth-child(3){animation-delay:.08s}.card:nth-child(4){animation-delay:.12s}
.card::before{content:'';position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:0 3px 3px 0;}
.card.study::before{background:var(--blue);}
.card.workout::before{background:var(--teal);}
.card.reading::before{background:var(--amber);}
.card.wellness::before{background:var(--green);}
.card.creative::before{background:var(--purple);}
.card.done::before{background:var(--border2);}
.card:hover{border-color:var(--border2);box-shadow:var(--sh);transform:translateY(-1px);}
.card:active{transform:scale(.99);}
.card.done{background:var(--s2);}
.card.active-card{background:#FFF8F5;border-color:rgba(45,106,79,.25);box-shadow:0 4px 20px rgba(45,106,79,.12);}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.card-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.tag-row{display:flex;gap:4px;flex-wrap:wrap;align-items:center;}
.tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.5;flex-shrink:0;}
.ts{background:var(--bbg);color:var(--blue);}
.tw{background:var(--tbg);color:var(--teal);}
.tr{background:var(--abg);color:var(--amber);}
.twe{background:var(--gbg);color:var(--green);}
.tc{background:var(--pbg);color:var(--purple);}
.td{background:var(--s3);color:var(--t3);}
.tfr{background:var(--cbg);color:var(--coral);}
.tco{background:var(--pbg);color:var(--purple);}
.cname{font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.done .cname{color:var(--t3);}
.badge-locked{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:10px;background:var(--cbg);border:1.5px solid rgba(79,117,102,.18);flex-shrink:0;animation:lockedPulse 2.5s ease-in-out infinite;}
@keyframes lockedPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03);box-shadow:0 0 12px rgba(79,117,102,.14)}}
.badge-locked-from{font-size:10px;font-weight:700;color:var(--coral);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;}
.badge-locked-type{font-size:11px;color:var(--t2);filter:blur(4px);user-select:none;white-space:nowrap;margin-top:1px;}
.badge-surprise{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:10px;background:var(--pbg);border:1.5px solid rgba(74,26,138,.18);flex-shrink:0;animation:surprisePulse 2s ease-in-out infinite;}
@keyframes surprisePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 10px rgba(74,26,138,.12)}}
.badge-surprise-lbl{font-size:11px;font-weight:700;color:var(--purple);}
.badge-open{display:flex;align-items:center;gap:4px;padding:6px 11px;border-radius:20px;background:var(--gbg);border:1.5px solid rgba(26,110,66,.2);flex-shrink:0;cursor:pointer;animation:openPop 1.4s ease-in-out infinite;box-shadow:0 3px 12px rgba(26,110,66,.12);}
@keyframes openPop{0%,100%{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 5px 18px rgba(26,110,66,.22)}}
.badge-open span{font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;color:var(--green);}
.badge-plain{display:flex;align-items:center;gap:4px;padding:5px 9px;border-radius:20px;background:var(--s2);border:1px solid var(--border);flex-shrink:0;}
.badge-plain span{font-family:'Manrope',sans-serif;font-size:11px;font-weight:700;color:var(--t3);}
.badge-expiring{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;background:var(--cbg);border:1px solid rgba(79,117,102,.18);font-size:10px;font-weight:700;color:var(--coral);}
.prog{display:flex;flex-direction:column;gap:5px;}
.prog-meta{display:flex;justify-content:space-between;align-items:center;}
.prog-detail{font-size:12px;color:var(--t3);}
.prog-pct{font-family:'Manrope',sans-serif;font-size:12px;font-weight:800;}
.prog-track{height:4px;background:var(--s3);border-radius:4px;overflow:hidden;}
.pf{height:100%;border-radius:4px;transition:width .5s ease;}
.pf-blue{background:var(--blue);}.pf-teal{background:var(--teal);}.pf-amber{background:var(--amber);}.pf-green{background:var(--green);}.pf-purple{background:var(--purple);}
.pf-active{background:linear-gradient(90deg,var(--brand),var(--brand2));position:relative;overflow:hidden;}
.pf-active::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 1.4s infinite;}
@keyframes shimmer{to{left:200%}}
.trow{display:flex;align-items:center;justify-content:space-between;}
.timer{font-family:'Manrope',sans-serif;font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.04em;}
.timer.muted{color:var(--t4);font-size:20px;}
.timer.done-t{color:var(--green);font-size:14px;font-weight:600;font-family:Manrope,sans-serif;}
.timer.live{color:var(--coral);animation:liveBlink 1s ease-in-out infinite;}
@keyframes liveBlink{0%,100%{opacity:1}50%{opacity:.4}}
.cbtn{padding:7px 15px;border-radius:20px;border:1px solid var(--border2);background:transparent;font-size:12px;font-weight:600;color:var(--t2);cursor:pointer;transition:all .16s;font-family:Manrope,sans-serif;}
.cbtn.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-family:'Manrope',sans-serif;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.2);}
.cbtn.primary:hover{background:var(--coral);border-color:var(--coral);transform:scale(1.03);}
.cbtn.pause{background:var(--s2);border-color:var(--border);color:var(--t3);}
.cbtn.success{background:var(--brand);border-color:var(--brand);color:#fff;font-family:'Manrope',sans-serif;font-weight:800;}
.strip{display:flex;align-items:center;gap:5px;padding-top:9px;border-top:1px solid var(--border);flex-wrap:wrap;}
.collab-row{display:flex;align-items:center;padding-top:9px;border-top:1px solid var(--border);}
.cav{width:22px;height:22px;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Manrope',sans-serif;border:2px solid var(--surface);margin-right:-5px;flex-shrink:0;}
.collab-lbl{font-size:12px;color:var(--t3);margin-left:12px;}
.collab-lbl strong{color:var(--purple);font-weight:600;}

/* FRIEND CARDS in feed */
.fpc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:13px 14px;display:flex;flex-direction:column;gap:9px;animation:cardIn .25s cubic-bezier(.34,1.56,.64,1) both;}
.fpc:hover{border-color:var(--border2);}
.fpc-hdr{display:flex;align-items:center;gap:10px;}
.fpav{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;color:#fff;flex-shrink:0;position:relative;}
.ldot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:var(--green);border:2px solid var(--surface);animation:livePulse 1.5s ease-in-out infinite;}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(26,110,66,.4)}60%{box-shadow:0 0 0 5px rgba(26,110,66,0)}}
.fpi{flex:1;min-width:0;}
.fpn{font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;color:var(--text);letter-spacing:-.02em;}
.fps{font-size:11px;color:var(--t3);margin-top:1px;}
.rel-badge{padding:3px 9px;border-radius:20px;background:var(--gbg);border:1px solid rgba(26,110,66,.15);font-size:11px;font-weight:800;color:var(--green);flex-shrink:0;font-family:'Manrope',sans-serif;}

/* SECONDARY SCREENS */
.scrh{padding:14px 16px 12px;flex-shrink:0;}
.scrt{font-family:'Manrope',sans-serif;font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.04em;margin-bottom:10px;}
.search-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 13px;display:flex;align-items:center;gap:8px;transition:border-color .15s;}
.search-wrap:focus-within{border-color:var(--coral);}
.search-input{border:none;background:transparent;outline:none;font-size:14px;color:var(--text);flex:1;font-family:Manrope,sans-serif;}
.search-input::placeholder{color:var(--t4);}
.fscroll{flex:1;overflow-y:auto;padding:0 20px calc(80px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.fscroll::-webkit-scrollbar{display:none;}
.llbl{font-size:11px;font-weight:700;color:var(--t4);text-transform:uppercase;letter-spacing:.1em;padding:4px 0 2px;}
.frow{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:13px 14px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:all .15s;}
.frow:hover{border-color:var(--border2);transform:translateX(2px);box-shadow:var(--sh);}
.fav2{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;flex-shrink:0;color:#fff;}
.fi{flex:1;min-width:0;}
.fn{font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-bottom:1px;}
.fs2{font-size:12px;color:var(--t3);}
.fr2{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;}
.rscore{font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;letter-spacing:-.02em;}
.rlbl{font-size:10px;color:var(--t4);text-transform:uppercase;letter-spacing:.07em;font-weight:600;}
.stscroll{flex:1;overflow-y:auto;padding:0 20px calc(80px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;scrollbar-width:none;}
.stscroll::-webkit-scrollbar{display:none;}
.stcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:18px;}
.stlbl{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px;}
.stbig{font-family:'Manrope',sans-serif;font-size:48px;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1;margin-bottom:4px;}
.stnote{font-size:13px;color:var(--t3);}.stnote.good{color:var(--green);font-weight:600;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stcsm{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:15px;}
.rw{display:flex;align-items:center;gap:14px;}
.rsb{font-family:'Manrope',sans-serif;font-size:28px;font-weight:800;color:var(--green);letter-spacing:-.04em;}
.rde{font-size:12px;color:var(--t3);line-height:1.5;margin-top:3px;}

/* NAV */
.hdr-title{
  font-family:'Manrope',sans-serif;font-size:20px;font-weight:800;color:var(--text);
  letter-spacing:-.03em;margin:0;padding:0 2px;
  min-width:0;
}
.nav{position:relative!important;height:calc(70px + env(safe-area-inset-bottom,0px))!important;background:var(--bg);border-top:none;display:flex!important;align-items:stretch!important;justify-content:space-around!important;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px))!important;flex-shrink:0!important;width:100%!important;box-shadow:none;overflow:visible!important;}
.ni{flex:1;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-height:52px;border:none;background:none;cursor:pointer;padding:4px 2px;position:relative;border-radius:14px;transition:background .15s ease,transform .12s ease;}
.ni:active{transform:scale(.96);}
.ni-inner{display:flex;flex-direction:column;align-items:center;gap:3px;}
.nil{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;white-space:nowrap;font-family:Manrope,sans-serif;font-size:10px;font-weight:700;color:var(--t4);letter-spacing:.01em;line-height:1.15;}
.nic{width:24px;height:24px;display:block;flex-shrink:0;color:var(--t3);transition:color .15s ease,transform .12s ease;}
.nic .nic-stroke{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}
.nic .nic-fill{fill:currentColor;stroke:none;opacity:0;transition:opacity .15s ease;}
.ni.active{background:transparent;}
.ni.active::before{display:none;}
.ni.active .nic{color:var(--text);}
.ni.active .nic .nic-fill{opacity:1;}
.ni.active .nic:has(.nic-fill) .nic-stroke{opacity:0;}
.ni.active .nic .nic-stroke{stroke-width:2.25;}
.ni.active .nil{color:var(--text);font-weight:700;}
.ni-add{overflow:visible!important;}
.ni-add .ni-add-ring{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--btn-ink,#1C1917);color:#fff;box-shadow:0 4px 14px rgba(28,25,23,.2);margin-bottom:2px;transform:translateY(-8px);border:3px solid var(--bg);}
.ni-add .nic{width:22px;height:22px;color:#fff;}
.ni-add .nic .nic-stroke{stroke:#fff;stroke-width:2.25;}
.ni-add .nil{margin-top:-4px;font-weight:800;}
.ndot{display:none;}

/* Task reorder — hold ⠿ grip */
.task-reorder-hint{
  font-size:11px;font-weight:600;color:var(--t3);margin:0 0 8px;padding:0 2px;line-height:1.35;
}
.task-reorder-list{
  display:flex;flex-direction:column;gap:6px;
}
.task-reorder-grip{
  flex-shrink:0;width:22px;min-height:44px;display:flex;align-items:center;justify-content:center;
  font-size:16px;line-height:1;color:var(--t4);cursor:grab;touch-action:none;user-select:none;
  border-radius:8px;margin:-4px 0 -4px -2px;padding:0 2px;
}
.task-reorder-grip:active{cursor:grabbing;}
body.task-reorder-active .task-reorder-grip{color:var(--brand);}
body.task-reorder-active .task-reorder-list [data-taskcard].task-row--dragging{
  opacity:.92;transform:scale(1.02);z-index:5;box-shadow:0 12px 32px rgba(0,0,0,.18);
}
body.task-reorder-active .task-reorder-list{
  touch-action:none;
}
.card .task-reorder-grip{
  position:absolute;left:6px;top:50%;transform:translateY(-50%);z-index:2;
}
.card[data-taskcard]{position:relative;padding-left:28px;}
.nav-badge{position:absolute;top:2px;right:6px;min-width:16px;height:16px;border-radius:8px;background:var(--coral);color:#fff;font-size:9px;font-weight:800;display:none;align-items:center;justify-content:center;padding:0 4px;font-family:'Manrope',sans-serif;}

/* OVERLAYS */
.overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;z-index:100;padding:20px;}
.overlay.show{display:flex;}
/* Notifications — top sheet flush under app header (overlay mounts on body) */
#ov-notifs.overlay--notifs.show,
body > #ov-notifs.overlay--notifs.show{
  align-items:flex-start;justify-content:center;padding:0!important;
  background:rgba(0,0,0,.5)!important;backdrop-filter:blur(14px);
}
#ov-notifs .notif-sheet{
  margin-top:var(--hdr-chrome-inset,calc(38px + env(safe-area-inset-top,0px)));
  max-height:min(80vh,calc(100dvh - var(--hdr-chrome-inset,calc(38px + env(safe-area-inset-top,0px))) - 12px));
}
.rcard{background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:28px 22px;text-align:center;width:100%;box-shadow:var(--shm);animation:popIn .38s cubic-bezier(.34,1.56,.64,1);max-height:88vh;overflow-y:auto;position:relative;}
@keyframes popIn{from{transform:scale(.84) translateY(12px);opacity:0}to{transform:none;opacity:1}}
.reveal-bg{position:absolute;inset:0;border-radius:26px;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 30% 0%,rgba(79,117,102,.06),transparent 60%);}
.reveal-confetti{font-size:28px;margin-bottom:4px;animation:confPop .5s cubic-bezier(.34,1.56,.64,1);}
@keyframes confPop{from{transform:scale(.3) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
.treat-bomb-explosion{
  position:fixed;inset:0;z-index:100002;display:flex;align-items:center;justify-content:center;
  pointer-events:none;overflow:hidden;
}
.treat-bomb-explosion-backdrop{
  position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(124,58,237,.35),rgba(12,10,8,.72));
  opacity:0;transition:opacity .35s ease;
}
.treat-bomb-explosion--in .treat-bomb-explosion-backdrop{opacity:1;}
.treat-bomb-explosion--out .treat-bomb-explosion-backdrop{opacity:0;}
.treat-bomb-explosion-ring{
  position:absolute;width:40vmin;height:40vmin;border-radius:50%;
  border:3px solid rgba(167,139,250,.55);opacity:0;transform:scale(.2);
}
.treat-bomb-explosion--in .treat-bomb-explosion-ring--1{animation:treatBombRing .9s cubic-bezier(.2,.8,.2,1) forwards;}
.treat-bomb-explosion--in .treat-bomb-explosion-ring--2{animation:treatBombRing 1.05s .12s cubic-bezier(.2,.8,.2,1) forwards;}
.treat-bomb-explosion--in .treat-bomb-explosion-ring--3{animation:treatBombRing 1.2s .24s cubic-bezier(.2,.8,.2,1) forwards;}
@keyframes treatBombRing{
  0%{opacity:.85;transform:scale(.15);}
  100%{opacity:0;transform:scale(2.4);}
}
.treat-bomb-explosion-core{
  position:relative;font-size:min(22vw,96px);line-height:1;z-index:2;
  transform:scale(.2);opacity:0;filter:drop-shadow(0 0 24px rgba(124,58,237,.65));
}
.treat-bomb-explosion--in .treat-bomb-explosion-core{animation:treatBombCore .55s cubic-bezier(.34,1.56,.64,1) forwards;}
@keyframes treatBombCore{
  0%{transform:scale(.15) rotate(-18deg);opacity:0;}
  55%{transform:scale(1.15) rotate(8deg);opacity:1;}
  100%{transform:scale(1) rotate(0);opacity:1;}
}
.treat-bomb-explosion-sparks{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:clamp(18px,4vw,28px);gap:8px;flex-wrap:wrap;opacity:0;z-index:1;
}
.treat-bomb-explosion--in .treat-bomb-explosion-sparks{animation:treatBombSparks .7s .35s ease forwards;}
@keyframes treatBombSparks{
  0%{opacity:0;transform:scale(.4);}
  100%{opacity:1;transform:scale(1);}
}
.treat-bomb-explosion-title{
  position:absolute;bottom:18%;left:50%;transform:translateX(-50%) translateY(12px);
  font-family:Manrope,sans-serif;font-size:clamp(22px,5vw,34px);font-weight:900;letter-spacing:-.03em;
  color:#fff;text-shadow:0 4px 24px rgba(124,58,237,.55);opacity:0;white-space:nowrap;
}
.treat-bomb-explosion--in .treat-bomb-explosion-title{animation:treatBombTitle .45s .55s cubic-bezier(.34,1.56,.64,1) forwards;}
@keyframes treatBombTitle{
  from{opacity:0;transform:translateX(-50%) translateY(18px);}
  to{opacity:1;transform:translateX(-50%) translateY(0);}
}
.treat-bomb-explosion--out .treat-bomb-explosion-core,
.treat-bomb-explosion--out .treat-bomb-explosion-sparks,
.treat-bomb-explosion--out .treat-bomb-explosion-title{opacity:0;transition:opacity .35s ease;}
/* Success toast — treat sent / task assigned */
.action-success{
  position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;
  padding:24px;pointer-events:none;
}
.action-success-backdrop{
  position:absolute;inset:0;background:rgba(12,10,8,.42);backdrop-filter:blur(10px);
  opacity:0;transition:opacity .32s ease;
}
.action-success--in .action-success-backdrop{opacity:1;}
.action-success--out .action-success-backdrop{opacity:0;}
.action-success-card{
  position:relative;width:min(320px,calc(100vw - 48px));padding:26px 22px 22px;
  border-radius:26px;text-align:center;background:var(--surface);
  border:1px solid color-mix(in srgb,var(--brand) 28%,var(--border));
  box-shadow:0 24px 60px rgba(var(--brand-rgb),.18),0 8px 24px rgba(28,25,23,.12);
  transform:scale(.82) translateY(18px);opacity:0;
  transition:transform .42s cubic-bezier(.34,1.56,.64,1),opacity .32s ease;
}
.action-success--in .action-success-card{transform:scale(1) translateY(0);opacity:1;}
.action-success--out .action-success-card{transform:scale(.94) translateY(8px);opacity:0;transition-duration:.28s;}
.action-success-glow{
  position:absolute;inset:-20% -10% auto;height:55%;
  background:radial-gradient(ellipse at 50% 0%,rgba(var(--brand-rgb),.14),transparent 68%);
  pointer-events:none;
}
.action-success-hero{
  font-size:56px;line-height:1;margin:4px auto 10px;
  animation:confettiBounce .7s cubic-bezier(.34,1.56,.64,1);
  filter:drop-shadow(0 6px 16px rgba(var(--brand-rgb),.18));
}
.action-success-badge{
  display:inline-block;margin-bottom:10px;padding:5px 12px;border-radius:999px;
  font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);
}
.action-success-title{
  font-family:'Manrope',sans-serif;font-size:22px;font-weight:900;color:var(--text);
  letter-spacing:-.03em;line-height:1.15;margin-bottom:8px;
}
.action-success-sub{
  font-size:13px;font-weight:600;color:var(--t3);line-height:1.5;max-width:260px;margin:0 auto;
}
.action-success-particle{
  position:absolute;font-size:18px;line-height:1;opacity:0;
  animation:actionSuccessParticle 1.1s cubic-bezier(.22,1,.36,1) forwards;
  animation-delay:calc(var(--i,0) * 55ms);
}
.action-success-particle:nth-child(1){top:8%;left:12%;}
.action-success-particle:nth-child(2){top:14%;right:10%;}
.action-success-particle:nth-child(3){top:42%;left:4%;}
.action-success-particle:nth-child(4){top:38%;right:6%;}
.action-success-particle:nth-child(5){bottom:18%;left:16%;}
.action-success-particle:nth-child(6){bottom:14%;right:14%;}
@keyframes actionSuccessParticle{
  0%{opacity:0;transform:scale(.4) translateY(12px);}
  35%{opacity:1;}
  100%{opacity:0;transform:scale(1.05) translateY(-28px);}
}
.rveil-tag{font-size:10px;font-weight:800;color:var(--t3);letter-spacing:.26em;text-transform:uppercase;margin:0 auto 8px;max-width:320px;}
.rtitle-myst{font-size:26px;font-weight:950;background:linear-gradient(108deg,var(--brand),var(--brand2) 55%,var(--amber) 92%);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.12;margin-bottom:10px;text-shadow:none;}
.rveil-sub{font-size:13px;color:var(--t3);line-height:1.55;margin:0 auto 14px;max-width:300px;}
.rveil-sub strong{color:var(--t2);font-weight:700;}
.rgift{font-size:80px;display:block;margin:6px auto 16px;animation:giftIn .8s cubic-bezier(.34,1.56,.64,1),giftFloat 3s ease-in-out .8s infinite;filter:drop-shadow(0 8px 24px rgba(79,117,102,.18));}
@keyframes giftIn{from{transform:scale(0) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
@keyframes giftFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
.rfrom{font-size:11px;font-weight:700;color:var(--coral);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;}
.rtitle{font-family:'Manrope',sans-serif;font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.04em;margin-bottom:8px;}
.rmsg{font-size:14px;color:var(--t3);line-height:1.65;margin-bottom:18px;padding:12px 14px;background:var(--s2);border-radius:12px;text-align:left;border:1px solid var(--border);}
.rmsg strong{color:var(--t2);font-weight:600;}
.dots{display:flex;justify-content:center;gap:7px;margin-bottom:18px;}
.dot{width:10px;height:10px;border-radius:50%;animation:db .42s ease infinite alternate;}
@keyframes db{from{transform:translateY(0);opacity:.25}to{transform:translateY(-12px);opacity:1}}
.ctabtn{width:100%;padding:16px;background:var(--text);border:none;border-radius:14px;color:#fff;font-family:'Manrope',sans-serif;font-size:16px;font-weight:800;cursor:pointer;transition:all .18s;box-shadow:0 4px 18px rgba(0,0,0,.18);}
.ctabtn:hover{background:var(--coral);transform:translateY(-2px);box-shadow:0 6px 20px rgba(79,117,102,.22);}
.fp-close-btn:hover{background:#1a1814!important;transform:none;box-shadow:0 4px 18px rgba(0,0,0,.18);}
.fp-close-btn:active{transform:scale(.98);}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.pr-no{padding:13px;border-radius:13px;border:1px solid var(--border2);background:transparent;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;color:var(--t2);cursor:pointer;transition:all .15s;}
.pr-no:hover{border-color:#C0392B;color:#C0392B;}
.pr-yes{padding:13px;border-radius:13px;border:none;background:var(--green);color:#fff;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;cursor:pointer;transition:all .18s;}
.pr-yes:hover{transform:scale(1.02);}

/* SHEET */
.shovl{position:fixed;inset:0;max-width:430px;margin:0 auto;background:rgba(0,0,0,.3);backdrop-filter:blur(10px);display:none;flex-direction:column;align-items:stretch;justify-content:flex-end;z-index:250;}
.shovl.show{display:flex;}
.sheet-ov{display:none;position:absolute;inset:0;background:rgba(0,0,0,.3);backdrop-filter:blur(10px);flex-direction:column;align-items:stretch;justify-content:flex-end;z-index:100;}
.sheet-ov.show{display:flex;}
.sheet{background:var(--surface);border-radius:26px 26px 0 0;padding:20px 22px calc(40px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);animation:su .28s cubic-bezier(.32,.72,0,1);max-height:90vh;overflow-y:auto;touch-action:manipulation;-webkit-overflow-scrolling:touch;}
#sh-task .sheet{
  display:flex;
  flex-direction:column;
  min-height:0!important;
  max-height:92vh;
  max-height:min(92dvh, calc(100dvh - 18px));
  overflow:hidden!important;
}
#sh-task #tq1,
#sh-task #tq2{
  min-height:0;
  max-height:92vh;
  max-height:min(92dvh, calc(100dvh - 18px));
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
#sh-task #tq1{padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))!important;}
#sh-task #tq2{padding:16px 20px calc(28px + env(safe-area-inset-bottom,0px))!important;}
#sh-task-lock-btn{
  position:static!important;
  bottom:auto!important;
  z-index:auto;
  min-height:50px;
  margin-bottom:calc(18px + env(safe-area-inset-bottom,0px));
}
@keyframes su{from{transform:translateY(100%)}to{transform:translateY(0)}}
.handle{width:32px;height:4px;background:var(--s3);border-radius:4px;margin:0 auto 20px;}
.sht{font-family:'Manrope',sans-serif;font-size:19px;font-weight:800;color:var(--text);letter-spacing:-.03em;margin-bottom:16px;}
.flbl{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px;display:block;margin-top:14px;}
.flbl:first-of-type{margin-top:0;}
.finput{width:100%;background:var(--s2);border:1.5px solid var(--border);border-radius:11px;padding:12px 13px;font-family:Manrope,sans-serif;font-size:14px;color:var(--text);outline:none;transition:all .15s;}
.finput:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,117,102,.1);}
.finput::placeholder{color:var(--t4);}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px;}
.chip{padding:7px 13px;border-radius:20px;background:var(--s2);border:1px solid var(--border);color:var(--t3);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:Manrope,sans-serif;}
.chip.sel{background:var(--text);border-color:var(--text);color:#fff;}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px;}
.tcell{background:var(--s2);border:1.5px solid var(--border);border-radius:13px;padding:13px 8px;text-align:center;cursor:pointer;transition:all .18s;}
.tcell:hover,.tcell.sel{border-color:var(--coral);background:var(--cbg);transform:translateY(-2px);}
.tcell.sel{box-shadow:0 2px 10px rgba(79,117,102,.14);}
.tci{font-size:22px;margin-bottom:5px;}
.tcl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;}
.tcell.sel .tcl{color:var(--coral);}
.tcell-wide{grid-column:span 3;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:row;padding:12px 16px;}
.tcell-wide .tci{margin-bottom:0;font-size:20px;}.tcell-wide .tcl{font-size:11px;}
.togrow{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:var(--s2);border-radius:11px;border:1px solid var(--border);margin-top:12px;cursor:pointer;}
.toglbl{font-size:13px;font-weight:500;color:var(--t2);}
.tog{width:36px;height:20px;border-radius:20px;background:var(--s3);position:relative;transition:background .2s;flex-shrink:0;}
.tog.on{background:var(--coral);}
.tog::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.tog.on::after{transform:translateX(16px);}
.info-box{padding:11px 13px;border-radius:11px;margin-top:10px;font-size:12px;line-height:1.6;}
.info-amber{background:var(--abg);border:1px solid rgba(122,74,16,.14);color:var(--amber);}
.info-purple{background:var(--pbg);border:1px solid rgba(74,26,138,.12);color:var(--purple);display:none;}
.info-purple.show{display:block;}
#promise-fields{display:none;margin-top:6px;}
#collab-picker{display:none;margin-top:8px;}
.cta{width:100%;padding:15px;background:var(--brand);border:none;border-radius:13px;color:#fff;font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;cursor:pointer;transition:all .18s;margin-top:16px;box-shadow:0 3px 14px rgba(45,106,79,.35);}
/* Assign flow: lock-in task + treat — high-contrast B/W */
#sh-assign .asgn-lock-btn{background:#111!important;color:#fff!important;border:2px solid #111!important;box-shadow:none!important;touch-action:manipulation;min-height:48px;-webkit-tap-highlight-color:transparent;}
#sh-treat-send-btn,.shovl .cta#sh-treat-send-btn{
  touch-action:manipulation;
  min-height:48px;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
}
#sh-assign .asgn-lock-btn:active{transform:scale(.98);opacity:.92;}
[data-theme="dark"] #sh-assign .asgn-lock-btn{background:#f2f2f2!important;color:#111!important;border-color:#f2f2f2!important;}
#sh-treat #treat-step2-body input[type="date"]{min-height:46px;width:100%;box-sizing:border-box;color:var(--text);background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-family:'Manrope',sans-serif;font-size:15px;color-scheme:light;}
[data-theme="dark"] #sh-treat #treat-step2-body input[type="date"]{color-scheme:dark;}
#sh-assign #a-promise-date,#sh-assign #asgn-ses-date,#sh-assign #asgn-bet-deadline{min-height:46px;box-sizing:border-box;color:var(--text);background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:15px;color-scheme:light;}
[data-theme="dark"] #sh-assign #a-promise-date{color-scheme:dark;}
/* Assign sheet: primary actions + category labels readable on dark surfaces */
[data-theme="dark"] #sh-assign #asgn-step-task-name button[onclick*="asgnGoToTreat"]{
  background:linear-gradient(135deg,var(--brand),var(--brand2))!important;
  color:#fff!important;
  border:none!important;
}
[data-theme="dark"] #sh-assign .asgn-cat-btn span:last-child{
  color:var(--text)!important;
}
[data-theme="dark"] #sh-assign .asgn-cat-btn{
  background:var(--s2)!important;
  border-color:var(--border2)!important;
}
[data-theme="dark"] .feed-add-task-btn[style*="background:var(--text)"]{
  background:linear-gradient(135deg,var(--brand),var(--brand2))!important;
  color:#fff!important;
}
#ov-reveal .reveal-gif-wrap{width:100%;max-height:min(70vh,420px);display:flex;align-items:center;justify-content:center;background:var(--s2);border-radius:14px;border:1px solid var(--border);overflow:hidden;margin-bottom:16px;}
.cta:hover{background:var(--brand2);transform:translateY(-1px);box-shadow:0 6px 24px rgba(45,106,79,.45);}
.cta:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.fpicker{display:flex;flex-direction:column;gap:6px;margin-top:4px;}
.fprow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;background:var(--s2);border:1px solid var(--border);cursor:pointer;transition:all .15s;}
.fprow.sel{border-color:var(--coral);background:var(--cbg);}
.fpav{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0;font-family:'Manrope',sans-serif;}
.fpn2{font-size:14px;font-weight:600;color:var(--text);flex:1;}
.fpck{width:18px;height:18px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .15s;}
.fprow.sel .fpck{background:var(--coral);border-color:var(--coral);color:#fff;}

/* PROFILE */
#s-profile .scrh{display:none;}
.prof-wrap{flex:1;min-height:0;overflow-y:auto;padding:0 16px calc(22px + env(safe-area-inset-bottom,0px));scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;}
.prof-wrap::-webkit-scrollbar{display:none;}
.prof-hero-card{
  margin:0 0 12px;padding:0 0 12px;
  border-radius:18px;border:1px solid var(--border);background:var(--surface);
  box-shadow:0 3px 14px rgba(28,25,23,.05);position:relative;z-index:1;overflow:hidden;color:var(--text);
}
.prof-cover{height:0;min-height:0;position:relative;background:transparent;overflow:visible;pointer-events:none;}
.prof-cover:before,.prof-cover:after{display:none;content:none;}
.prof-cover-art{display:none;}
.prof-cover-art img{width:34px;height:34px;object-fit:contain;display:block;}
.prof-cover-pill{display:none;}
.prof-identity-row{display:flex;align-items:flex-end;gap:11px;margin:8px 14px 0;position:relative;z-index:1;}
.prof-identity-copy{min-width:0;flex:1;padding:0 0 6px;}
.prof-hero-card .prof-av{margin:0;border-color:var(--surface);box-shadow:0 3px 10px rgba(28,25,23,.1);}
.prof-hero-card .prof-name,.prof-hero-card .prof-email{padding:0;text-align:left;}
.prof-hero-card .stat-row{margin:12px 14px 0;}
.prof-wrap .cta{
  width:100%;min-height:42px;padding:11px 16px;border-radius:13px;
  font-size:14px;font-weight:800;box-shadow:0 3px 12px rgba(28,25,23,.08);
  border:none;cursor:pointer;
}
.prof-wrap .cta[style*="background:var(--brand)"]{
  box-shadow:0 4px 16px rgba(var(--brand-rgb),.28);
}
.prof-wrap .finput{
  min-height:42px;border-radius:12px;padding:10px 13px;
}
.prof-av{width:88px;height:88px;border-radius:50%;background:var(--text);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-size:30px;font-weight:800;margin:14px auto 8px;border:4px solid var(--surface);position:relative;overflow:hidden;}
.prof-hero-card .prof-av{width:74px;height:74px;font-size:26px;border-width:3px;}
#prof-av-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;}
#prof-av-initial{position:relative;z-index:1;}
.av .av-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;border-radius:50%;}
.av .av-txt{position:relative;z-index:1;}
.prof-name{text-align:center;font-family:'Manrope',sans-serif;font-size:23px;font-weight:800;color:inherit;letter-spacing:-.04em;line-height:1.12;}
.prof-email{text-align:center;font-size:12px;color:color-mix(in srgb,currentColor 72%,transparent);margin-top:3px;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px;}
.stat-box{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:10px 8px;text-align:center;}
.stat-row--social .stat-box{background:var(--surface);border-color:var(--border);}
.stat-box-num{font-family:'Manrope',sans-serif;font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1;margin-bottom:3px;}
.stat-row--social .stat-box-num{color:inherit;}
.stat-box-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;font-weight:700;}
.stat-row--social .stat-box-lbl{color:color-mix(in srgb,currentColor 70%,transparent);}
.prof-hero-actions{display:flex;gap:8px;margin:11px 14px 0;}
.profile-battery-slot--hero{
  margin:10px 14px 0;padding:10px 12px;border-radius:14px;
  background:var(--s2);border:1px solid var(--border2);
  font-size:13px;font-weight:700;line-height:1.45;color:var(--text);
}
.profile-battery-slot--hero:empty{display:none;}
.profile-battery-slot--hero strong{color:var(--brand);font-weight:800;}
.profile-battery-slot--hero .profile-battery-pro,
.profile-battery-slot--hero .profile-battery-free{margin:0;}
.prof-action-btn{flex:1;min-height:42px;border-radius:12px;border:1px solid var(--border);background:var(--s2);font-family:Manrope,sans-serif;font-size:13px;font-weight:800;color:var(--text);cursor:pointer;}
.prof-action-btn--primary{background:var(--brand);border-color:var(--brand);color:#fff;}
.profile-hub-grid{display:grid;grid-template-columns:1fr;gap:9px;margin-bottom:12px;}
.profile-hub-card{
  width:100%;display:flex;align-items:center;gap:12px;padding:13px;
  border-radius:17px;border:1px solid var(--border);background:var(--surface);
  color:var(--text);font-family:Manrope,sans-serif;text-align:left;cursor:pointer;
}
.profile-hub-card:active{background:var(--s2);}
.profile-hub-ico{width:36px;height:36px;border-radius:13px;background:rgba(var(--brand-rgb),.12);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
.profile-hub-card strong{display:block;font-size:13px;font-weight:800;letter-spacing:-.015em;line-height:1.15;}
.profile-hub-card small{display:block;margin-top:3px;font-size:11px;font-weight:650;color:var(--t3);line-height:1.25;}
.profile-detail-back{
  display:inline-flex;align-items:center;justify-content:center;margin:0 0 12px;padding:0;
  width:42px;height:42px;border-radius:14px;border:1px solid var(--border2);background:var(--surface);
  color:var(--text);font-family:Manrope,sans-serif;font-size:18px;font-weight:800;cursor:pointer;
  box-shadow:0 3px 14px rgba(28,25,23,.06);
}
.prof-wrap.profile-detail-open .prof-hero-card,
.prof-wrap.profile-detail-open #profile-hub,
.prof-wrap.profile-detail-open #burnout-profile{display:none!important;}
.profile-subpage-open.tab-profile #main > .hdr{display:none!important;}
body.app-chrome.profile-subpage-open.tab-profile #s-profile.active .prof-wrap.app-scroll{
  padding-top:calc(var(--safe-top) + 10px)!important;
}
.profile-subpage-open.tab-profile .prof-detail-section > .profile-detail-back{
  margin-top:0;
}
.profile-subpage-open.tab-profile .prof-wrap.profile-detail-open{
  padding-bottom:calc(104px + env(safe-area-inset-bottom,0px));
}
.prof-detail-section[hidden]{display:none!important;}
.prof-section{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px;margin-bottom:10px;}
.prof-section-title{font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-bottom:10px;}
.prof-collapse-hdr{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:none;background:none;cursor:pointer;text-align:left;margin-bottom:0;}
.prof-collapse-hdr .prof-section-title{margin:0;}
.prof-collapse-chev{font-size:11px;color:var(--t2);font-weight:800;transition:transform .2s;}
.prof-collapse-hdr--open .prof-collapse-chev{transform:rotate(180deg);}
.prof-collapse-panel{margin-top:10px;}
.prof-section--collapse{margin-bottom:8px;}
.prof-compact-grid{display:grid;grid-template-columns:1fr;gap:9px;}
.prof-mini-card{border:1px solid var(--border);background:var(--s2);border-radius:14px;padding:11px;}
.prof-mini-card--row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.prof-mini-title{font-family:Manrope,sans-serif;font-size:12px;font-weight:800;color:var(--text);letter-spacing:-.01em;margin-bottom:7px;}
.prof-mini-card--row .prof-mini-title{margin-bottom:0;}
.prof-mini-copy{margin:0 0 9px;font-size:12px;color:var(--t3);line-height:1.4;}
.prof-theme-row{display:flex;flex-wrap:wrap;gap:7px;}
.prof-theme-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 11px;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;cursor:pointer;}
.prof-theme-chip.on{background:var(--brand);border-color:var(--brand);color:#fff;}
.prof-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;font-weight:700;color:var(--text);}
.prof-toggle-row+.prof-toggle-row{border-top:1px solid var(--border);}
.friend-mood-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.friend-mood-pill{font-family:Manrope,sans-serif;font-size:11px;font-weight:700;color:var(--text);padding:5px 9px;border-radius:10px;background:var(--s2);border:1px solid var(--border);}
.friend-mood-pill strong{font-weight:800;color:var(--brand);}
.friend-mood-pill--stress strong{color:var(--coral);}
.friend-mood-note{margin:8px 0 0;font-size:12px;font-weight:600;color:var(--text);line-height:1.45;font-style:italic;}
.friend-mood-why{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.friend-mood-why-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--t3);}
.friend-mood-summary .friend-mood-nums{font-size:11px;font-weight:700;color:var(--text);}
.friend-mood-age{font-weight:600;color:var(--t3);}
.friend-ask-why-btn{border-color:rgba(124,58,237,.35);color:#5b21b6;background:rgba(124,58,237,.08);}
.pro-teaser-card{position:relative;overflow:hidden;padding:18px 16px 16px;border-radius:18px;background:linear-gradient(145deg,#1e3a8a 0%,#6d28d9 42%,#db2777 100%);color:#fff;box-shadow:0 12px 32px rgba(109,40,217,.28);}
.pro-teaser-glow{position:absolute;inset:-30% auto auto -20%;width:80%;height:80%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%);pointer-events:none;}
.pro-teaser-kicker{margin:0 0 6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;opacity:.88;font-family:Manrope,sans-serif;}
.pro-teaser-title{margin:0 0 8px;font-family:Manrope,sans-serif;font-size:18px;font-weight:800;}
.pro-teaser-price{margin:0 0 12px;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;}
.pro-teaser-price span{font-size:12px;font-weight:700;opacity:.85;margin-left:2px;}
.pro-teaser-body{margin:0 0 10px;font-size:13px;font-weight:600;line-height:1.45;opacity:.95;font-family:Manrope,sans-serif;}
.pro-teaser-list{margin:0 0 12px;padding-left:18px;font-size:12px;font-weight:600;line-height:1.5;}
.pro-teaser-btn{padding:10px 16px;border-radius:12px;border:none;background:#fff;color:#1c1917;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.15);}
.pro-teaser-slot{min-width:0;}
.pro-profile-hero{position:relative;overflow:hidden;padding:20px 18px 18px;border-radius:20px;background:linear-gradient(155deg,#0f172a 0%,#312e81 38%,#7c3aed 72%,#f472b6 100%);color:#fff;box-shadow:0 14px 36px rgba(49,46,129,.35);}
.pro-profile-hero,.pro-profile-hero p,.pro-profile-hero h2,.pro-profile-hero li,.pro-profile-hero .pro-profile-kicker,.pro-profile-hero .pro-profile-title,.pro-profile-hero .pro-profile-sub,.pro-profile-hero .pro-profile-perks,.pro-profile-hero .pro-profile-perks li,.pro-profile-hero .pro-profile-cancel-note,.pro-profile-hero .pro-profile-cancel-note-title,.pro-profile-hero .pro-profile-cancel-list,.pro-profile-hero .pro-profile-cancel-list li,.pro-profile-hero .pro-profile-cancel-note-foot{color:#fff;}
.pro-profile-hero-glow{position:absolute;inset:-40% -10% auto auto;width:70%;height:70%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%);pointer-events:none;}
.pro-profile-hero-badge{position:absolute;top:12px;right:14px;font-size:22px;line-height:1;opacity:.95;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));}
.pro-profile-kicker{margin:0 0 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;opacity:.9;font-family:Manrope,sans-serif;color:rgba(255,255,255,.92);}
.pro-profile-title{margin:0 0 10px;font-family:Manrope,sans-serif;font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-.03em;color:#fff;}
.pro-profile-sub{margin:0 0 14px;font-family:Manrope,sans-serif;font-size:13px;font-weight:600;line-height:1.45;opacity:.95;color:rgba(255,255,255,.96);}
.pro-profile-perks{margin:0 0 16px;padding:0 0 0 1.1rem;font-family:Manrope,sans-serif;font-size:12px;font-weight:600;line-height:1.55;opacity:.95;color:rgba(255,255,255,.96);}
.pro-profile-perks li::marker{color:rgba(255,255,255,.8);}
.pro-profile-cancel-box{margin-top:4px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22);}
.pro-profile-cancel-note-title{margin:0 0 8px;font-size:12px;font-weight:800;line-height:1.35;color:#fff;}
.pro-profile-cancel-list{margin:0 0 10px;padding:0 0 0 1.15rem;font-size:12px;font-weight:600;line-height:1.5;color:rgba(255,255,255,.94);}
.pro-profile-cancel-list li{margin-bottom:4px;}
.pro-profile-cancel-note-foot{margin:0;font-size:11px;font-weight:600;line-height:1.45;color:rgba(255,255,255,.88);}
.pro-profile-manage{display:block;width:100%;margin:0 0 8px;padding:12px 14px;border-radius:13px;border:none;background:#fff;color:#1c1917;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;cursor:pointer;}
.pro-profile-manage--ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.35);}
.pro-teaser-card .pro-teaser-btn--ghost{margin-top:8px;background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.45);}
.pro-teaser-perks{margin:0 0 14px;padding:0 0 0 1.1rem;font-family:Manrope,sans-serif;font-size:12px;font-weight:600;line-height:1.55;color:rgba(255,255,255,.94);}
.pro-teaser-perks li::marker{color:rgba(255,255,255,.75);}
.pro-profile-cancel-note{margin:10px 0 0;font-size:11px;line-height:1.45;color:rgba(255,255,255,.9);font-family:Manrope,sans-serif;}
.pro-upgrade-sheet{font-family:Manrope,sans-serif;padding:22px 20px calc(26px + env(safe-area-inset-bottom,0px));max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.pro-upgrade-sheet *{font-family:inherit;}
.pro-upgrade-ico{text-align:center;margin:0 0 12px;font-size:40px;line-height:1;}
.pro-upgrade-title{margin:0 0 6px;font-size:20px;font-weight:800;letter-spacing:-.03em;text-align:center;color:var(--text);}
.pro-upgrade-kicker{margin:0 0 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;text-align:center;color:var(--t3);}
.pro-upgrade-lede{margin:0 0 12px;font-size:14px;font-weight:600;line-height:1.5;text-align:center;color:var(--text);}
.pro-upgrade-free-note{margin:0 0 14px;font-size:12px;font-weight:600;line-height:1.5;text-align:center;color:var(--t3);}
.pro-upgrade-features{margin:0 0 16px;padding:0 0 0 1.15rem;font-size:13px;font-weight:700;line-height:1.55;color:var(--text);list-style:disc;}
.pro-upgrade-features li{margin-bottom:6px;}
.pro-upgrade-features li:last-child{margin-bottom:0;}
.pro-upgrade-price{text-align:center;margin:0 0 6px;font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--brand);}
.pro-upgrade-price-unit{font-size:14px;font-weight:700;color:var(--t3);}
.pro-upgrade-note{margin:0 0 16px;font-size:12px;font-weight:600;line-height:1.45;text-align:center;color:var(--t4);}
.pro-upgrade-cta{width:100%;margin:0 0 10px;touch-action:manipulation;}
.pro-upgrade-dismiss{display:block;width:100%;margin:0 auto;padding:10px 0;border:none;background:transparent;color:var(--t3);font-size:13px;font-weight:700;cursor:pointer;}
.pro-upgrade-sync-row{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;}
.pro-upgrade-sync-btn{width:100%;padding:11px 14px;border-radius:12px;border:1.5px solid var(--border2);background:var(--s2);color:var(--text);font-size:12px;font-weight:800;cursor:pointer;}
.pro-upgrade-sync-btn--restore{border-color:rgba(var(--brand-rgb),.35);color:var(--brand);}
.pro-profile-cancel{display:block;width:100%;padding:11px 14px;border-radius:13px;border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;font-family:Manrope,sans-serif;font-size:13px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.pro-profile-cancel:active{opacity:.85;}
.prof-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.prof-pro-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;font-family:Manrope,sans-serif;background:linear-gradient(135deg,#312e81 0%,#7c3aed 72%,#a855f7 100%);color:#fff;box-shadow:0 2px 10px rgba(49,46,129,.28);letter-spacing:.02em;flex-shrink:0;}
.prof-pro-badge[hidden]{display:none!important;}
.pro-cancel-membership-btn{display:block;width:100%;margin:0 0 10px;padding:12px 14px;border-radius:13px;border:1.5px solid var(--border2);background:var(--s2);color:var(--text);font-family:Manrope,sans-serif;font-size:13px;font-weight:700;cursor:pointer;}
.pro-cancel-membership-btn[hidden]{display:none!important;}
.pro-cancel-membership-btn:disabled{opacity:.65;cursor:wait;}
.signout-btn{width:100%;padding:13px;border-radius:12px;border:1px solid var(--border2);background:transparent;font-family:'Manrope',sans-serif;font-size:14px;font-weight:800;color:var(--t2);cursor:pointer;transition:all .15s;margin-bottom:10px;}
.signout-btn:hover{border-color:#C0392B;color:#C0392B;}

/* ACTIVITIES */
.act-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 14px 12px;display:flex;flex-direction:column;gap:9px;transition:all .18s;animation:cardIn .25s cubic-bezier(.34,1.56,.64,1) both;cursor:pointer;}
.act-card:hover{border-color:var(--border2);box-shadow:var(--sh);transform:translateY(-1px);}
.act-card.open-act{border-color:rgba(26,110,66,.2);}
.act-card.live-act{border-color:rgba(79,117,102,.22);background:#FFFCFB;}
.act-hdr{display:flex;align-items:flex-start;gap:10px;}
.act-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.act-icon-open{background:var(--gbg);}.act-icon-private{background:var(--pbg);}.act-icon-live{background:var(--cbg);}
.act-info{flex:1;min-width:0;}
.act-name{font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.act-meta{font-size:12px;color:var(--t3);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.act-meta strong{color:var(--t2);font-weight:600;}
.act-time-badge{flex-shrink:0;padding:5px 9px;border-radius:10px;text-align:center;background:var(--s2);border:1px solid var(--border);}
.act-time-badge .atb-time{font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;color:var(--text);display:block;}
.act-time-badge .atb-dur{font-size:10px;color:var(--t3);}
.act-attendees{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.atav{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;border:2px solid var(--surface);}
.act-join-btn{flex:1;padding:9px;border-radius:11px;border:none;background:var(--text);color:#fff;font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;cursor:pointer;transition:all .18s;}
.act-join-btn:hover{background:var(--coral);transform:translateY(-1px);}
.act-join-btn.joined{background:var(--gbg);color:var(--green);border:1px solid rgba(26,110,66,.2);}
.act-join-row{display:flex;gap:8px;align-items:center;}
.act-live-bar{height:3px;background:var(--s3);border-radius:3px;overflow:hidden;}
.act-live-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:3px;}
.act-open-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;}
.aob-open{background:var(--gbg);color:var(--green);}.aob-private{background:var(--pbg);color:var(--purple);}.aob-live{background:var(--cbg);color:var(--coral);}
.acts-hdr{padding:14px 16px 0;flex-shrink:0;}
.acts-title{font-family:'Manrope',sans-serif;font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.04em;}
button.acts-title.tab-heading-home{display:block;width:100%;text-align:left;}
.acts-sub{font-size:13px;color:var(--t3);margin-top:4px;margin-bottom:12px;}
.acts-tabs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
.acts-tabs::-webkit-scrollbar{display:none;}
.acts-tab{flex-shrink:0;padding:6px 13px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--t3);transition:all .15s;}
.acts-tab.active{background:var(--text);border-color:var(--text);color:#fff;}

/* MISC */
.empty{text-align:center;padding:24px 16px;}
.empty-icon{font-size:32px;margin-bottom:8px;display:block;}
.empty-strong{display:block;font-family:'Manrope',sans-serif;font-size:15px;font-weight:800;color:var(--t2);margin-bottom:4px;}
.empty-sub{font-size:13px;color:var(--t3);line-height:1.55;}
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;}
.btn-spin-mark{width:22px;height:22px;border-radius:50%;animation:sp .75s linear infinite;vertical-align:middle;}
@keyframes sp{to{transform:rotate(360deg)}}
.toast{position:absolute;top:66px;left:14px;right:14px;background:var(--text);color:#fff;border-radius:15px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;z-index:300;opacity:0;transform:translateY(-12px) scale(.96);transition:all .28s cubic-bezier(.34,1.56,.64,1);pointer-events:none;box-shadow:0 12px 40px rgba(0,0,0,.2);}
.toast.show{opacity:1;transform:translateY(0) scale(1);}
.section-div{font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;color:var(--t4);text-transform:uppercase;letter-spacing:.1em;padding:4px 0 2px;}
.hist-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:12px 13px;display:flex;align-items:center;gap:11px;cursor:pointer;transition:all .15s;}
.hist-item:hover{border-color:var(--border2);transform:translateX(2px);}
.hist-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.hi-rx{background:var(--gbg);}.hi-tx{background:var(--bbg);}
.hist-info{flex:1;min-width:0;}
.hist-title{font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;color:var(--text);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hist-sub{font-size:12px;color:var(--t3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hist-date{font-size:11px;color:var(--t4);flex-shrink:0;}

.swipe-overlay{position:absolute;inset:0;z-index:200;display:none;align-items:center;justify-content:center;}
.swipe-overlay.active{display:flex;}
.swipe-dim{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(20px);}
.swipe-card{position:relative;z-index:1;width:calc(100% - 40px);max-width:360px;border-radius:26px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.28);cursor:grab;user-select:none;-webkit-user-select:none;}
.swipe-ring{position:absolute;z-index:2;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .08s;}
.swipe-arrows{position:absolute;bottom:30px;left:0;right:0;z-index:2;display:flex;justify-content:space-between;padding:0 28px;pointer-events:none;opacity:0;transition:opacity .3s;}
.swipe-arrows.show{opacity:1;}
.sarr{display:flex;flex-direction:column;align-items:center;gap:3px;font-family:'Manrope',sans-serif;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;}
.sarr-l{color:rgba(255,255,255,.8);}.sarr-r{color:rgba(255,255,255,.8);}





.scroll-gift{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(0);
  font-size:64px;pointer-events:none;z-index:50;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s;
  opacity:0;filter:drop-shadow(0 8px 24px rgba(79,117,102,.22));
}
.scroll-gift.show{transform:translate(-50%,-50%) scale(1);opacity:1;}
































@keyframes checkPulse{
  0%{box-shadow:0 0 0 0 rgba(26,110,66,.4);}
  70%{box-shadow:0 0 0 8px rgba(26,110,66,0);}
  100%{box-shadow:0 0 0 0 rgba(26,110,66,0);}
}
.check-pulse{animation:checkPulse 1.5s ease-in-out infinite;}




/* Performance hints for mobile */
#feed{will-change:transform;-webkit-overflow-scrolling:touch;}


/* Feed header - solid light orange */











/* Bet card */
.bet-card{background:linear-gradient(135deg,rgba(45,106,79,.08),rgba(45,106,79,.03));border:2px solid rgba(45,106,79,.3);border-radius:22px;overflow:hidden;}
.bet-card-hdr{background:var(--brand);padding:14px 16px;display:flex;align-items:center;gap:12px;}
.bet-card-hdr *{color:#fff;}
.session-card{background:linear-gradient(135deg,rgba(26,110,66,.07),rgba(26,110,66,.02));border:2px solid rgba(26,110,66,.25);border-radius:22px;overflow:hidden;}
.session-card-hdr{background:linear-gradient(135deg,#1A6E42,#2aad67);padding:14px 16px;display:flex;align-items:center;gap:12px;}
.session-card-hdr *{color:#fff;}

/* Treat type buttons active state */
#treat-step-1 button:active,#treat-step-1 button:focus{transform:scale(.96);}

/* Creation intent */
#sh-create .sheet{padding-bottom:32px;}

/* Friend post header */
.feed-hdr-click{background:var(--brand) !important;border-bottom:none !important;cursor:pointer;}
.feed-hdr-click{color:#fff !important;}
.feed-hdr-click > *{color:#fff !important;}
.feed-hdr-click span[style]{color:rgba(255,255,255,.7) !important;}
.feed-hdr-click{position:relative;overflow:hidden;}
.feed-hdr-click::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.14) 45%,transparent 85%);
  transform:translateX(-120%);
  animation:hdrShine 3.2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes hdrShine{
  0%,70%,100%{transform:translateX(-120%);}
  82%{transform:translateX(120%);}
}
/* My post header */
.my-post-hdr{color:#fff;}
.my-post-hdr > *,.my-post-hdr > * > *{color:#fff;}

@keyframes confettiBounce{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.2) rotate(5deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}

[data-theme="dark"] .dchip.active{background:var(--brand);}

/* Date strip - social dot colours */
.ddot.social{background:linear-gradient(90deg,#1A6E42,var(--brand));width:6px;height:6px;}
.ddot.friend{background:rgba(26,110,66,.4);}

/* Session task border glow */
.session-task-row{border-color:rgba(26,110,66,.4) !important;background:rgba(26,110,66,.04) !important;}
.bet-task-row{border-color:rgba(45,106,79,.35) !important;background:rgba(45,106,79,.05) !important;}

@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes slideDown{from{transform:translateY(0)}to{transform:translateY(100%)}}

/* ── DARK MODE ─────────────────────────────────────────────────── */
[data-theme="dark"]{
  --bg:#0B0B0A;--surface:#21201E;--s2:#2A2927;--s3:#333230;
  --border:#343332;--border2:#434241;
  --text:#F2F1EF;--t2:#C8C7C5;--t3:#888785;--t4:#525250;
  --green:#32B5BE;--gbg:#132A2E;
  --cbg:#2C1A0E;--brand:#1A8F9A;--brand2:#32B5BE;--brand-dim:#132A2E;--brand-rgb:26,143,154;
  --coral:#E07A54;
}
[data-theme="dark"] body,[data-theme="dark"] #app,[data-theme="dark"] #main{background:var(--bg);}
[data-theme="dark"] .screen,[data-theme="dark"] .card,[data-theme="dark"] .sheet,
[data-theme="dark"] .frow,[data-theme="dark"] .hist-item,[data-theme="dark"] .stcard{background:var(--surface);border-color:var(--border);}
[data-theme="dark"] .finput,[data-theme="dark"] input:not([type=file]):not([type=hidden]),[data-theme="dark"] textarea{background:var(--s2);color:var(--text);border-color:var(--border2);}
[data-theme="dark"] .chip{background:var(--s2);color:var(--t2);border-color:var(--border2);}
[data-theme="dark"] .chip.sel{background:var(--brand);color:#fff;border-color:var(--brand);}
[data-theme="dark"] .nav{position:relative!important;overflow:visible!important;height:calc(70px + env(safe-area-inset-bottom,0px))!important;background:var(--bg);border-top:none;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-around!important;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))!important;flex-shrink:0!important;width:100%!important;box-shadow:none!important;}
[data-theme="dark"] .ni-add .ni-add-ring{border-color:var(--bg)!important;}
[data-theme="dark"] .ni .nic{color:rgba(255,255,255,.5);}
[data-theme="dark"] .ni .nil{color:rgba(255,255,255,.45);}
[data-theme="dark"] .ni.active .nic{color:#fff;}
[data-theme="dark"] .ni.active .nil{color:#fff;}
[data-theme="dark"] .shovl .sheet,[data-theme="dark"] .shovl,[data-theme="dark"] #cat-picker-panel{background:var(--surface);}
[data-theme="dark"] .tog{background:var(--s3);}
[data-theme="dark"] .wordmark{color:var(--text);}
[data-theme="dark"] .greet *{color:var(--text);}
[data-theme="dark"] .dchip{background:var(--s2);color:var(--t2);}
[data-theme="dark"] .dchip.active{background:var(--brand);color:#fff;}
[data-theme="dark"] .circle-alert,
[data-theme="dark"] body.tab-home .circle-alert{
  background:linear-gradient(135deg,rgba(var(--brand-rgb),.14),var(--s2));
  border:1px solid rgba(var(--brand-rgb),.32);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 4px 20px rgba(0,0,0,.25);
}
[data-theme="dark"] .care-alert-action,
[data-theme="dark"] body.tab-home .circle-alert .care-alert-action{
  background:var(--brand)!important;
  border-color:var(--brand)!important;
  color:#fff!important;
  box-shadow:0 4px 14px rgba(var(--brand-rgb),.35)!important;
}
[data-theme="dark"] .friend-last-active{color:var(--t3);}
.person-feed-meta .person-feed-active{color:inherit;font-weight:inherit;opacity:1;}
.person-feed-hdr--tint .person-feed-meta .person-feed-active{color:inherit!important;}
/* In dark mode, keep category button colours but force dark text for readability */
[data-theme="dark"] .dur-q-btn{background:var(--s2)!important;color:var(--text)!important;}
[data-theme="dark"] .dur-q-btn.sel,
[data-theme="dark"] .dur-q-btn[style*="var(--brand)"]{color:var(--brand)!important;}
/* Category buttons keep their colours - text should already be hardcoded */
/* Feed task cards - ensure text is readable */
[data-theme="dark"] [data-taskcard] .task-name{color:var(--text)!important;}
/* Fix any white text on light backgrounds in sheets */
[data-theme="dark"] .sheet button:not(.cta):not([style*="background:linear"]):not([style*="background:rgb"]){color:var(--text);}


.expired-card{opacity:.5;filter:grayscale(.4);}
.expired-card::after{content:'💀 Expired';position:absolute;top:6px;right:8px;font-size:9px;font-weight:800;color:#ef4444;background:rgba(239,68,68,.1);padding:2px 7px;border-radius:20px;pointer-events:none;}
@keyframes crack{0%{transform:scaleX(1)}50%{transform:scaleX(1.02)}100%{transform:scaleX(1)}}


/* Dark mode task card text fix */
[data-theme="dark"] [style*="background:rgba(26,62,138"] span,
[data-theme="dark"] [style*="background:rgba(26,143,154"] span,
[data-theme="dark"] [style*="background:rgba(26,110,66"] span,
[data-theme="dark"] [style*="background:rgba(122,74,16"] span,
[data-theme="dark"] [style*="background:rgba(74,26,138"] span,
[data-theme="dark"] [style*="background:rgba(99,102,241"] span,
[data-theme="dark"] [style*="background:rgba(45,106,79"] span,
[data-theme="dark"] [style*="background:rgba(var(--brand-rgb)"] span{color:inherit;}
/* Force dark bg on category buttons in dark mode */
[data-theme="dark"] .tq-cat-btn{background:var(--s2)!important;border-color:var(--border)!important;}
[data-theme="dark"] .tq-cat-btn span:last-child{color:var(--t3)!important;}
/* Task card text - always dark on light bg, light on dark bg */
[data-theme="dark"] .card *,[data-theme="dark"] .frow *{color:var(--text);}
/* Specific: inline style backgrounds with light colors */
[data-theme="dark"] [style*="background:rgba(26,62,138"]{background:rgba(26,62,138,.25)!important;border-color:rgba(26,62,138,.4)!important;}
[data-theme="dark"] [style*="background:rgba(26,143,154"]{background:rgba(26,143,154,.22)!important;border-color:rgba(26,143,154,.38)!important;}
[data-theme="dark"] [style*="background:rgba(26,110,66"]{background:rgba(26,143,154,.22)!important;border-color:rgba(26,143,154,.38)!important;}
[data-theme="dark"] [style*="background:rgba(122,74,16"]{background:rgba(122,74,16,.25)!important;border-color:rgba(122,74,16,.4)!important;}
[data-theme="dark"] [style*="background:rgba(74,26,138"]{background:rgba(74,26,138,.25)!important;border-color:rgba(74,26,138,.4)!important;}
[data-theme="dark"] [style*="background:rgba(99,102,241"]{background:rgba(99,102,241,.25)!important;border-color:rgba(99,102,241,.4)!important;}

[data-theme="dark"] .tq-cat-btn span:nth-child(2){color:var(--text)!important;}
[data-theme="dark"] .tq-cat-btn span:nth-child(3){color:var(--t3)!important;}
[data-theme="dark"] .dur-q-btn{background:var(--s2)!important;color:var(--text)!important;border-color:var(--border)!important;}
[data-theme="dark"] .dur-q-btn.sel,[data-theme="dark"] .dur-q-btn[style*="var(--brand)"]{background:rgba(var(--brand-rgb),.18)!important;color:var(--brand)!important;border-color:var(--brand)!important;}



/* ═══════════════════════════════════════════════════════════════════════════
   EXCITING UI ANIMATIONS ✨
   ═══════════════════════════════════════════════════════════════════════════ */

/* Task card entrance - staggered fade+slide */
@keyframes cardIn{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
/* lightweight entry */
[data-taskcard]{animation:cardIn .25s ease-out;}

/* Feed cards entrance */
@keyframes feedCardIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
.fcard{animation:feedCardIn .4s cubic-bezier(.22,1.2,.36,1) backwards;}

/* Button press */
button:active:not(:disabled){transform:scale(.96);}
.chip:active,.tq-cat-btn:active,.dur-q-btn:active{transform:scale(.94);}

/* Primary button glow + hover */
.cta{position:relative;overflow:hidden;}
.cta::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s;}
.cta:hover::before{transform:translateX(100%);}

/* Nav button pulse on active tap */
.ni:active{animation:niPulse .35s cubic-bezier(.34,1.56,.64,1);}
@keyframes niPulse{0%{transform:scale(.88)}50%{transform:scale(1.08)}100%{transform:scale(1)}}

/* + button — no infinite pulse, keep it snappy */

/* Treat icon tap */
#treat-step-1 button{transition:transform .1s;}
#treat-step-1 button:active{transform:scale(.95);}
.tq-cat-btn{transition:transform .1s;}
.tq-cat-btn:active{transform:scale(.97);}

/* streak pill — static */

/* bell pulse removed for performance */

/* Checkmark complete - burst */
@keyframes checkBurst{0%{transform:scale(1);}40%{transform:scale(1.25) rotate(12deg);}70%{transform:scale(.95);}100%{transform:scale(1);}}
.task-done-burst{animation:checkBurst .55s cubic-bezier(.34,1.56,.64,1);}

/* Sheet slide up */
.shovl{animation:fadeIn .2s ease;}
.shovl .sheet{animation:slideUp .35s cubic-bezier(.22,1.2,.36,1);}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:none;}}

/* GIF hover */
#gif-results img{transition:all .18s;}
#gif-results img:hover{transform:scale(1.04);box-shadow:0 6px 20px rgba(0,0,0,.15);}

/* Toast slide */
.toast-msg{animation:toastIn .35s cubic-bezier(.34,1.56,.64,1);}
@keyframes toastIn{from{transform:translateY(30px) scale(.9);opacity:0;}to{transform:none;opacity:1;}}


.bell{cursor:pointer!important;z-index:50!important;pointer-events:auto!important;position:relative;}
.hdr{z-index:20;position:relative;}


/* ═══ TASK NAME VISIBILITY FIX ═══ */
/* Always render task name in readable color regardless of parent inherited color */
[data-taskcard] .tname,
[data-taskcard] > div > div > div > div:first-child {
  color: var(--text) !important;
}
/* Light mode: task tile on light category bg = dark text */
:root:not([data-theme="dark"]) [data-taskcard] *:not(button):not(.badge) {
  color: inherit;
}
:root:not([data-theme="dark"]) [data-taskcard] {
  color: var(--text);
}
/* Reset any white color leaking into task cards from post headers */
[data-taskcard],
[data-taskcard] > * {
  color: var(--text);
}
/* Override the wildcard rule that might catch task names */
.feed-hdr-click ~ [data-taskcard],
.feed-hdr-click ~ * [data-taskcard] {
  color: var(--text) !important;
}

.hdr-right{z-index:50!important;position:relative;pointer-events:auto;}
.hdr{z-index:40!important;pointer-events:auto;}
body:not(.app-chrome) .hdr{position:relative;}

@keyframes nudgeFly{
  0%{transform:translateY(0) rotate(0) scale(1);opacity:1;}
  60%{transform:translateY(-50px) rotate(-15deg) scale(1.3);opacity:1;}
  100%{transform:translateY(-110px) rotate(20deg) scale(.6);opacity:0;}
}

/* Dark mode: task tiles get dark bg, task names stay readable */
[data-theme="dark"] [data-taskcard]{background:var(--s2)!important;color:var(--text)!important;}
[data-theme="dark"] [data-taskcard] *{color:var(--text)!important;}
[data-theme="dark"] [data-taskcard] [style*="color:var(--t"]{color:var(--t3)!important;}

/* ── Dark mode card text ── */

[data-theme="dark"] .fpc-tasks div,[data-theme="dark"] .fpc-tasks div *{color:var(--text)!important;}


[data-theme="dark"] .card-left *{color:#F0EFed!important;}
[data-theme="dark"] .card .timer{color:#F0EFed!important;}
[data-theme="dark"] .card .prog-detail{color:#888785!important;}

[data-theme="dark"] .cname{color:#F0EFed!important;}
[data-theme="dark"] .card-left *{color:#F0EFed!important;}
[data-theme="dark"] .card .timer{color:#F0EFed!important;}

/* Clean visual pass */
.card,.fpc,.act-card,.hist-item,.prof-section,.stcard,.frow{box-shadow:none!important;}
#feed,.fscroll,.stscroll,.prof-wrap{padding-left:14px;padding-right:14px;}
.scrh,.greet,.hdr{padding-left:16px;padding-right:16px;}
[data-theme="dark"] [data-taskcard]{
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02))!important;
  border-color:var(--border2)!important;
}
[data-theme="dark"] [data-taskcard] .cname,
[data-theme="dark"] [data-taskcard] [style*="font-family:Manrope"][style*="font-size:14px"]{
  color:var(--text)!important;
}

/* Addictive but lightweight interactions */
[data-taskcard]{transition:transform .18s ease,border-color .18s ease,background-color .18s ease;}
[data-taskcard]:active{transform:scale(.992);}
.feed-toggle-btn,.feed-treat-btn,.feed-view-btn,.feed-nudge-btn{transition:transform .16s ease,filter .16s ease;}
.feed-toggle-btn:hover,.feed-treat-btn:hover,.feed-view-btn:hover,.feed-nudge-btn:hover{transform:translateY(-1px);}
.feed-toggle-btn:active,.feed-treat-btn:active,.feed-view-btn:active,.feed-nudge-btn:active{transform:scale(.96);}

/* Treatly — mood FAB + sheets */
#mood-fab{
  position:absolute;right:16px;bottom:calc(88px + env(safe-area-inset-bottom,0px));
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(145deg,var(--brand),var(--brand2));
  border:none;color:#fff;font-size:26px;cursor:pointer;z-index:40;
  box-shadow:0 8px 28px rgba(45,106,79,.45);
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s ease,box-shadow .2s ease;
  animation:moodPulse 3s ease-in-out infinite;
}
#mood-fab:active{transform:scale(.94);}
@keyframes moodPulse{0%,100%{box-shadow:0 8px 28px rgba(45,106,79,.4)}50%{box-shadow:0 8px 36px rgba(64,145,108,.55)}}
.mood-bar-block{margin:6px 0 18px;}
.mood-bar-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;}
.mood-bar-head .mood-bar-lbl{flex:1 1 auto;min-width:0;}
.mood-bar-head .mood-bar-readout{flex:0 1 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;max-width:46%;}
.mood-bar-head .mood-bar-word{display:block;font-size:10px;font-weight:800;text-transform:none;letter-spacing:0;line-height:1.2;color:var(--t2);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mood-bar-head .mood-bar-end{flex:0 0 auto;text-align:right;}
.mood-sheet .mood-val{font-family:'Manrope',sans-serif;font-size:28px;font-weight:800;color:var(--brand);text-align:center;line-height:1;min-width:0;}
.mood-bar-track{position:relative;height:48px;border-radius:24px;background:var(--s3);overflow:hidden;touch-action:none;}
.mood-bar-fill{position:absolute;left:0;top:0;bottom:0;width:50%;border-radius:24px;background:linear-gradient(90deg,#9cb8a4 0%,var(--brand) 45%,var(--brand2) 100%);transition:width .08s ease;pointer-events:none;box-shadow:inset 0 -2px 8px rgba(255,255,255,.15);}
.mood-bar-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--brand);box-shadow:0 2px 12px rgba(45,106,79,.35);pointer-events:none;transition:left .08s ease;}
.mood-bar-input{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;touch-action:none;-webkit-appearance:none;appearance:none;}
.mood-bar-input::-webkit-slider-thumb{-webkit-appearance:none;width:48px;height:48px;cursor:pointer;}
.mood-bar-input::-moz-range-thumb{width:48px;height:48px;border:0;background:transparent;cursor:pointer;}
.mood-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.mood-tag{padding:8px 12px;border-radius:20px;border:1.5px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;}
.mood-tag.on{border-color:var(--brand);background:var(--brand-dim);color:var(--brand);}
.ai-suggest-row{display:flex;gap:10px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;}
.ai-suggest-row::-webkit-scrollbar{display:none;}
.ai-card{flex:0 0 auto;width:min(220px,72vw);padding:14px;border-radius:16px;background:var(--surface);border:1.5px solid var(--border);cursor:pointer;transition:transform .15s;}
.ai-card:active{transform:scale(.98);}
.ai-layer{margin:0 14px 10px;flex-shrink:0;}
.ai-layer[hidden]{display:none!important;}
.ai-inline-slot{margin:0 0 10px;}
.ai-inline{margin:0 0 8px;}
.ai-inline-label{font-size:11px;font-weight:700;color:var(--t3);margin:0 0 6px;}
.ai-inline-chips{display:flex;flex-wrap:wrap;gap:6px;}
.ai-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 11px;border-radius:999px;
  border:1px solid rgba(45,106,79,.28);background:var(--brand-dim);
  font-family:Manrope,sans-serif;font-size:12px;font-weight:700;color:var(--brand);
  cursor:pointer;max-width:100%;text-align:left;line-height:1.25;
}
.ai-chip:active{transform:scale(.98);}
.ai-chip-meta{font-size:10px;font-weight:800;color:var(--t3);opacity:.85;}
.ai-inline-tip{font-size:12px;line-height:1.45;color:var(--t2);margin:0 0 8px;}
.ai-inline-tip strong{font-weight:800;color:var(--text);}
.feed-stream .ai-inline{margin-top:4px;}
.treatly-agent-banner{
  position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(var(--nav-h,64px) + 12px);z-index:920;
  width:min(400px,calc(100vw - 24px));max-width:430px;
  pointer-events:none;
}
.treatly-agent-banner:not([hidden]){pointer-events:auto;}
.treatly-agent-inner{
  position:relative;padding:14px 36px 12px 14px;border-radius:16px;
  background:var(--surface);border:1.5px solid rgba(45,106,79,.35);
  box-shadow:0 12px 40px rgba(0,0,0,.18);
}
.treatly-agent-body{font-size:13px;line-height:1.45;font-weight:700;color:var(--text);margin:0 0 10px;}
.treatly-agent-actions{display:flex;flex-wrap:wrap;gap:8px;}
.treatly-agent-btn{
  padding:8px 12px;border-radius:999px;border:none;
  background:var(--brand);color:#fff;font-size:12px;font-weight:800;cursor:pointer;
}
.treatly-agent-dismiss{
  position:absolute;top:6px;right:8px;width:28px;height:28px;border:none;
  background:transparent;font-size:20px;line-height:1;color:var(--t3);cursor:pointer;
}
.ai-layer-inner{border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--sh);overflow:hidden;}
.ai-layer-hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(79,117,102,.08),transparent);}
.ai-layer-title{font-family:Manrope,sans-serif;font-size:14px;font-weight:800;color:var(--brand);}
.ai-layer-toggle{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--s2);cursor:pointer;font-size:16px;line-height:1;color:var(--t3);}
.ai-layer-inner>.ai-brief,.ai-layer-inner>.ai-suggest-row,.ai-layer-inner>.ai-ask-row,.ai-layer-inner>.ai-answer,.ai-layer-inner>.ai-config,.ai-layer-inner>.ai-friend-chips,.ai-layer-inner>.ai-muted{padding-left:14px;padding-right:14px;}
.ai-brief{font-size:13px;line-height:1.5;color:var(--t2);padding:10px 14px 6px;margin:0;}
.ai-muted{font-size:12px;color:var(--t3);padding:0 14px 10px;margin:0;}
.ai-friend-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;}
.ai-friend-chip{padding:6px 12px;border-radius:20px;border:1px solid rgba(79,117,102,.25);background:var(--brand-dim);font-family:Manrope,sans-serif;font-size:12px;font-weight:700;color:var(--brand);cursor:pointer;}
.ai-card-title{font-family:Manrope,sans-serif;font-size:14px;font-weight:800;color:var(--text);line-height:1.3;}
.ai-card-meta{font-size:11px;color:var(--t3);margin-top:4px;}
.ai-ask-row{display:flex;gap:8px;padding:8px 14px 10px;}
.ai-ask-inp{flex:1;border:1.5px solid var(--border);border-radius:12px;padding:10px 12px;font-family:Manrope,sans-serif;font-size:14px;background:var(--s2);}
.ai-ask-btn{padding:10px 14px;border-radius:12px;border:none;background:var(--brand);color:#fff;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;cursor:pointer;flex-shrink:0;}
.ai-answer{min-height:20px;padding:0 14px 10px;font-size:13px;line-height:1.45;color:var(--t2);}
.ai-config-toggle{display:block;margin:0 14px 8px;padding:0;border:none;background:none;font-family:Manrope,sans-serif;font-size:11px;font-weight:700;color:var(--t4);cursor:pointer;text-align:left;}
.ai-config{padding:0 14px 14px;}
.ai-key-inp{width:100%;}
.ai-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.circle-alert{display:block;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.1),var(--surface));border:1px solid rgba(var(--brand-rgb),.22);font-size:13px;line-height:1.45;color:var(--text);box-shadow:var(--sh,0 1px 3px rgba(0,0,0,.06));}
.care-alert-inner{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
.care-alert-copy{display:flex;align-items:flex-start;gap:9px;min-width:0;}
.care-alert-copy strong{display:block;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;letter-spacing:-.01em;color:var(--text);}
.care-alert-copy small{display:block;margin-top:1px;font-size:12px;font-weight:600;color:var(--t3);line-height:1.35;}
.care-alert-icon{font-size:17px;line-height:1.2;flex-shrink:0;}
.care-alert-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;border:none;border-radius:12px;background:var(--btn-ink,#1C1917);color:#fff;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;padding:0 16px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(28,25,23,.12);}
.care-alert-action:active{transform:scale(.98);}
.circle-care-pick-hdr{
  font-family:Manrope,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.02em;
  color:var(--text);text-align:center;padding:4px 0 4px;line-height:1.2;
}
.circle-care-pick-sub{
  font-family:Manrope,sans-serif;font-size:12px;font-weight:600;color:var(--t3);
  text-align:center;margin:0 0 14px;line-height:1.4;
}
.circle-care-pick-row{
  display:flex;align-items:center;gap:12px;padding:12px;
  background:var(--surface);border:1px solid var(--border);border-radius:16px;
}
.circle-care-pick-meta{flex:1;min-width:0;}
.circle-care-pick-name{
  font-family:Manrope,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01em;
  color:var(--text);line-height:1.2;
}
.circle-care-pick-mood{
  font-family:Manrope,sans-serif;font-size:11px;font-weight:600;color:var(--t3);
  margin-top:3px;line-height:1.35;
}
.circle-care-pick-actions{display:flex;flex-shrink:0;gap:8px;align-items:center;}
.circle-care-pick-btn{
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  min-height:36px;padding:0 12px;border-radius:12px;border:1.5px solid var(--border2);
  background:var(--surface);color:var(--text);
  font-family:Manrope,sans-serif;font-size:12px;font-weight:700;letter-spacing:-.01em;
  line-height:1.15;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .12s ease,background .12s ease;
}
.circle-care-pick-btn:active{transform:scale(.97);}
.circle-care-pick-btn--primary{
  border-color:transparent;background:var(--brand);color:#fff;
  box-shadow:0 2px 10px rgba(var(--brand-rgb),.2);
}
.circle-care-lead{
  font-family:Manrope,sans-serif;font-size:13px;font-weight:600;color:var(--t2);
  line-height:1.45;margin:0 0 12px;
}
.circle-care-actions{display:flex;flex-wrap:wrap;gap:8px;}
.circle-care-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  min-height:40px;padding:0 14px;border-radius:12px;border:1.5px solid var(--border2);
  background:var(--surface);color:var(--text);text-decoration:none;
  font-family:Manrope,sans-serif;font-size:13px;font-weight:700;letter-spacing:-.01em;
  line-height:1.15;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .12s ease,background .12s ease;
}
.circle-care-btn:active{transform:scale(.97);}
.circle-care-btn--primary{
  border-color:transparent;background:var(--brand);color:#fff;
  box-shadow:0 2px 10px rgba(var(--brand-rgb),.2);
}
.circle-care-free{
  font-size:10px;font-weight:700;letter-spacing:.02em;opacity:.92;
}
.mood-graph-wrap{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:12px;}
.mood-graph-tabs{display:flex;gap:8px;margin-bottom:12px;padding:4px;}
.mood-graph-tabs--vessel{margin-top:2px;}
.mood-graph-tab{
  flex:1;min-width:0;padding:10px 14px;border-radius:12px;
  font-size:12px;font-weight:800;border:1.5px solid var(--border);
  background:var(--surface);cursor:pointer;font-family:Manrope,sans-serif;
  color:var(--t2);transition:background .15s,border-color .15s,transform .12s;
}
.mood-graph-tab:active{transform:scale(.98);}
.mood-graph-tab.on{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff;border-color:transparent;
  box-shadow:0 3px 12px rgba(var(--brand-rgb),.28);
}
.burnout-banner{padding:14px;border-radius:16px;background:linear-gradient(135deg,rgba(var(--brand-rgb),.08),rgba(255,253,249,.96));border:1px solid rgba(var(--brand-rgb),.18);margin-bottom:12px;color:var(--t2);font-family:Manrope,sans-serif;box-shadow:0 6px 22px rgba(28,25,23,.06);}
.care-banner-content{display:flex;align-items:flex-start;gap:11px;}
.care-banner-icon{width:30px;height:30px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--brand-rgb),.11);font-size:16px;line-height:1;flex-shrink:0;}
.care-banner-title{font-size:13px;font-weight:800;color:var(--text);letter-spacing:-.01em;line-height:1.25;}
.care-banner-content p{margin:3px 0 0;font-size:12px;font-weight:600;line-height:1.5;color:var(--t3);}
.friend-mood-dot{display:none!important;}

/* ── Home drawer (decluttered feed) ── */
.hdr-menu-btn{display:none;width:auto;height:auto;border-radius:0;border:none;background:transparent;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:2px;margin:0;color:var(--text);transition:opacity .15s ease,transform .15s ease;}
.hdr-menu-btn.show{display:inline-flex;}
.hdr-menu-btn:active{opacity:.65;transform:scale(.96);}
.hdr-menu-svg{display:block;}
.hdr-menu-bar{display:none;}
body.tab-home .hdr{
  display:grid;grid-template-columns:1fr auto;align-items:flex-start;gap:8px;
  padding:8px 12px 6px;min-height:52px;
  background:var(--app-shell-top);border:none;box-shadow:none;
}
.hdr-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;}
body.tab-home #hdr-brand{grid-column:1;justify-self:start;justify-content:flex-start;padding-right:118px;}
body.tab-home .hdr-right{
  position:absolute;top:8px;right:12px;
  grid-column:auto;justify-self:end;margin-left:0;gap:8px;
}
body.tab-home .hdr-brand--home{
  display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
  padding:0;border:none;border-radius:0;
  background:none;box-shadow:none;
  gap:5px;min-width:0;
}
body.tab-home .hdr-brand--home .brand-mark--hdr{display:block;}
body.tab-home .hdr-brand--home .hdr-brand-text{display:flex;align-items:center;}
body.tab-home .hdr-brand--home .wordmark{
  font-size:26px;
  font-weight:800;
  color:var(--text);
  letter-spacing:-.04em;
  text-shadow:none;
}
body.tab-home .hdr-brand--home .wordmark--pro{
  font-size:21px;
  font-weight:800;
  letter-spacing:-.03em;
  text-transform:none;
  color:var(--text);
}
body.tab-home .hdr-brand--home .wordmark-pro-tag{
  background:linear-gradient(125deg,#0d9488 0%,var(--brand) 42%,#2dd4bf 72%,#34d399 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  font-weight:800;
}
.feed-av-btn{
  padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;line-height:0;border-radius:50%;
}
.feed-av-btn:active{transform:scale(.96);}
body.tab-home .hdr-title{display:none!important;}
body.tab-home .hdr-right{
  display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;
}
body.tab-home .hdr-actions{
  display:flex;align-items:center;gap:4px;padding-top:1px;
}
body.tab-home .hdr-av{
  flex-shrink:0;align-self:flex-start;margin-left:2px;
}
body.tab-home .hdr-treat-hearts{
  order:0;margin-right:0;
  background:transparent!important;border:none!important;box-shadow:none!important;
  padding:0!important;min-height:0!important;
}
.hdr-mood-chip{display:none!important;}
body.tab-home .hdr-menu-btn{
  width:auto;height:auto;margin-right:0;border-radius:0;
}
.hdr-right .bell{
  width:auto;height:auto;min-width:0;
  background:transparent;border:none;
}
.hdr-right .av,
.hdr-right .hdr-av{
  width:36px;height:36px;min-width:36px;font-size:12px;
  border:2px solid var(--border2);box-shadow:0 2px 8px rgba(28,25,23,.08);
  cursor:pointer;
}
body.tab-home .treat-pip{
  padding:0;min-height:0;border-radius:0;background:transparent;
}
body.tab-home .treat-pip-n{font-size:13px;font-weight:700;}
.person-feed-hdr--muted::before,
.person-feed-hdr--muted::after{display:none!important;}
.person-feed-hdr--muted{
  box-shadow:none!important;
  background:var(--feed-hdr-bg,#e2e8f0)!important;
  color:var(--feed-hdr-fg,#334155)!important;
}
.person-feed-hdr--muted .person-feed-name,
.person-feed-hdr--muted .person-feed-meta,
.person-feed-hdr--muted .person-feed-score,
.person-feed-hdr--muted[data-mood-hdr] .person-feed-name,
.person-feed-hdr--muted[data-mood-hdr] .person-feed-meta,
.person-feed-hdr--muted[data-mood-hdr] .person-feed-score{
  color:var(--feed-hdr-fg,#334155)!important;
}
.friend-mood-summary--full{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:11px;}
.friend-mood-nums{display:inline-flex;flex-wrap:wrap;gap:6px 10px;}
.friend-mood-num{display:inline-flex;align-items:baseline;gap:3px;color:var(--t2);}
.friend-mood-num-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.04em;}
.friend-mood-num strong{font-size:12px;font-weight:800;color:var(--text);}
.friend-mood-cap{font-size:11px;font-weight:800;color:var(--brand);}
.hdr-mood-chip.needs-log{border-color:rgba(var(--brand-rgb),.3);}
.hdr-mood-chip.stale-log{border-color:rgba(var(--brand-rgb),.26);}
.drawer-cal{margin:12px 0;}
.drawer-cal-label{font-family:Manrope,sans-serif;font-size:11px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.feed-stream--bold{gap:16px;padding:4px 12px calc(100px + env(safe-area-inset-bottom,0px));}
@keyframes homeCardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.person-feed-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--sh);margin:0;}
.person-feed-card--live{border-color:var(--border);box-shadow:0 3px 18px rgba(28,25,23,.1);}
.person-feed-card--me{border-color:var(--border);}
.person-feed-card--discovery{border:1px solid var(--border);background:var(--surface);position:relative;}
.person-feed-card--discovery.person-feed-card--study,
.person-feed-card--discovery.person-feed-card--wellness,
.person-feed-card--discovery.person-feed-card--workout,
.person-feed-card--discovery.person-feed-card--reading,
.person-feed-card--discovery.person-feed-card--creative,
.person-feed-card--discovery.person-feed-card--challenge{border-color:var(--border);}
.person-feed-card--blurred .person-feed-hdr-main--blur{filter:blur(6px);user-select:none;pointer-events:none;}
.person-feed-ribbon{position:absolute;top:10px;right:12px;z-index:2;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);background:var(--brand-dim);padding:4px 10px;border-radius:20px;}
.person-feed-badge{font-size:10px;font-weight:800;color:var(--brand);background:rgba(45,106,79,.1);padding:2px 7px;border-radius:20px;}
.person-feed-hdr--tint{
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(135deg,#B8A8C8 0%,#A898B8 40%,#B0A0C0 100%);
  color:var(--text);
  position:relative;
  overflow:hidden;
}
.person-feed-hdr--tint::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 90% 80% at 8% 100%,rgba(255,255,255,.42),transparent 52%),
    radial-gradient(ellipse 70% 90% at 100% 0%,rgba(255,255,255,.38),transparent 48%),
    radial-gradient(circle at 50% 120%,rgba(0,0,0,.12),transparent 55%);
  pointer-events:none;
}
.person-feed-hdr--tint::after{
  content:'';
  position:absolute;
  inset:0;
  opacity:.55;
  background:repeating-linear-gradient(
    -14deg,
    transparent,
    transparent 11px,
    rgba(255,255,255,.07) 11px,
    rgba(255,255,255,.07) 13px
  );
  pointer-events:none;
  mix-blend-mode:overlay;
}
.person-feed-hdr--tint.person-feed-hdr--g0::after,
.person-feed-hdr--tint.person-feed-hdr--g1::after,
.person-feed-hdr--tint.person-feed-hdr--g2::after,
.person-feed-hdr--tint.person-feed-hdr--g3::after,
.person-feed-hdr--tint.person-feed-hdr--g4::after,
.person-feed-hdr--tint.person-feed-hdr--g5::after,
.person-feed-hdr--tint.person-feed-hdr--g6::after,
.person-feed-hdr--tint.person-feed-hdr--g7::after{
  opacity:.7;
  background:repeating-linear-gradient(
    125deg,
    transparent,
    transparent 9px,
    rgba(255,255,255,.09) 9px,
    rgba(255,255,255,.09) 11px
  );
}
.person-feed-hdr--tint .person-feed-hdr-main{position:relative;z-index:1;}
.person-feed-hdr--tint .person-feed-name,
.person-feed-hdr--tint .person-feed-score{color:inherit;}
.person-feed-hdr--tint .person-feed-meta{color:var(--t3);}
.person-feed-hdr--tint .person-live-tag{
  color:var(--brand2);background:rgba(var(--brand-rgb),.18);border:1px solid rgba(var(--brand-rgb),.35);
}
[data-theme="dark"] .person-feed-hdr--tint .person-live-tag{
  color:#7ee8f0;background:rgba(var(--brand-rgb),.22);border-color:rgba(var(--brand-rgb),.4);
}
.person-feed-hdr--tint .person-streak{color:var(--amber);}
.person-feed-hdr--tint .person-feed-add{
  border-color:var(--border2);background:var(--surface);color:var(--text);
}
/* Per-friend gradient blends — vivid multi-stop + stripe overlay */
.person-feed-hdr--tint.person-feed-hdr--g0{background:linear-gradient(132deg,#D0A0B4 0%,#B8A8C8 42%,#98B8A8 100%);color:#1c1917;}
.person-feed-hdr--tint.person-feed-hdr--g1{background:linear-gradient(132deg,#D0B890 0%,#C8B890 42%,#98B8A8 100%);color:#1c1917;}
.person-feed-hdr--tint.person-feed-hdr--g2{background:linear-gradient(132deg,#B8A8C8 0%,#98B0C8 48%,#D0A0B4 100%);color:#1c1917;}
.person-feed-hdr--tint.person-feed-hdr--g3{background:linear-gradient(132deg,#98B8A8 0%,#88A898 50%,#B8A8C8 100%);color:#1c1917;}
.person-feed-hdr--tint[data-mood-hdr],
.person-feed-hdr--tint[data-gv]{
  background:var(--feed-hdr-bg)!important;
  color:var(--feed-hdr-fg)!important;
}
.person-feed-hdr--tint[data-mood-hdr]::before,
.person-feed-hdr--tint[data-mood-hdr]::after,
.person-feed-hdr--tint[data-gv]::before,
.person-feed-hdr--tint[data-gv]::after{
  display:none!important;
}
.person-feed-hdr--tint[data-mood-hdr] .person-feed-meta,
.person-feed-hdr--tint[data-gv] .person-feed-meta{
  color:color-mix(in srgb,var(--feed-hdr-fg,#fff) 82%,transparent)!important;
}
.person-feed-hdr--tint[data-mood-hdr="mood-tired"] .person-feed-meta,
.person-feed-hdr--tint[data-gv="6"] .person-feed-meta{color:rgba(28,25,23,.72)!important;}
.person-feed-hdr--tint.person-feed-hdr--g4{background:linear-gradient(132deg,#C898A8 0%,#D0A0B4 40%,#B8A8C8 100%);color:#1c1917;}
.person-feed-hdr--tint.person-feed-hdr--g5{background:linear-gradient(132deg,#98B0C8 0%,#B8A8C8 48%,#D0B890 100%);color:#1c1917;}
.person-feed-hdr--tint.person-feed-hdr--g6{background:linear-gradient(132deg,#C8B890 0%,#D0B890 55%,#D0A0B4 100%);color:#1c1917;}
.person-feed-hdr--tint.person-feed-hdr--g7{background:linear-gradient(132deg,#B8A8C8 0%,#98B8A8 50%,#D0B890 100%);color:#1c1917;}
.person-feed-hdr--tint[class*="person-feed-hdr--g"] .person-feed-meta{color:rgba(255,255,255,.82);}
.person-feed-hdr--tint.person-feed-hdr--g6 .person-feed-meta{color:rgba(28,25,23,.72);}
.fs-item.fs-g0 .fs-ring{background:linear-gradient(135deg,#ff4d6d,#7b2cbf,#3a86ff);}
.fs-item.fs-g1 .fs-ring{background:linear-gradient(135deg,#06d6a0,#4361ee,#b5179e);}
.fs-item.fs-g2 .fs-ring{background:linear-gradient(135deg,#ff9e00,#f72585,#7209b7);}
.fs-item.fs-g3 .fs-ring{background:linear-gradient(135deg,#1e3a8a,#4338ca,#db2777);}
.fs-item.fs-g4 .fs-ring{background:linear-gradient(135deg,#f72585,#480ca8,#4cc9f0);}
.fs-item.fs-g5 .fs-ring{background:linear-gradient(135deg,#00f5d4,#3a0ca3,#f72585);}
.fs-item.fs-g6 .fs-ring{background:linear-gradient(135deg,#fee440,#f8961e,#e63946);}
.fs-item.fs-g7 .fs-ring{background:linear-gradient(135deg,#8338ec,#06d6a0,#ffbe0b);}
.person-feed-card--discovery .person-feed-hdr--tint{
  border-radius:20px 20px 0 0;
}
.feed-stream--social .person-feed-card{
  overflow:hidden;
}
.person-feed-explainer{font-size:12px;line-height:1.45;color:var(--t2);margin:0 0 10px;font-weight:600;}
.person-feed-hdr:not(.person-feed-hdr--tint){display:flex;align-items:center;gap:10px;padding:14px 14px 12px;border-bottom:1px solid var(--border);background:var(--surface);}
.person-feed-hdr.person-feed-hdr--tint{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;border-bottom:none;}
.feed-disc-divider{display:flex;flex-direction:column;gap:2px;padding:14px 4px 6px;margin-top:4px;border-top:1px solid var(--border);}
.feed-disc-divider>span:first-child{font-family:Manrope,sans-serif;font-size:12px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.06em;}
.feed-disc-divider-sub{font-size:11px;font-weight:600;color:var(--t3);}
.person-feed-tasks .task-row{display:flex;align-items:flex-start;gap:10px;padding:12px 12px;border-radius:14px;border:1.5px solid var(--border2);background:var(--surface);}
.person-feed-tasks .task-row--disc{background:linear-gradient(135deg,rgba(45,106,79,.06),var(--surface));}
.person-feed-tasks .task-row-emoji{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;background:var(--s3);}
.person-feed-tasks .task-row--study .task-row-emoji{background:rgba(37,99,235,.15);}
.person-feed-tasks .task-row--wellness .task-row-emoji{background:rgba(34,197,94,.15);}
.person-feed-tasks .task-row--workout .task-row-emoji{background:rgba(13,148,136,.15);}
.person-feed-tasks .task-row--reading .task-row-emoji{background:rgba(217,119,6,.15);}
.person-feed-tasks .task-row--creative .task-row-emoji{background:rgba(139,92,246,.15);}
.person-feed-tasks .task-row-body{flex:1;min-width:0;}
.person-feed-tasks .task-row-title{display:-webkit-box;font-family:Manrope,sans-serif;font-size:14px;font-weight:800;color:var(--text);line-height:1.3;margin-bottom:4px;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;}
.person-feed-tasks .task-row-meta{display:block;font-size:11px;font-weight:600;color:var(--t3);margin-bottom:4px;}
.person-feed-tasks .task-row-cat{font-weight:800;color:var(--brand);}
.person-feed-tasks .task-row-hook{display:block;font-size:12px;font-weight:700;color:var(--brand);line-height:1.35;}
.person-feed-hdr-main{display:flex;align-items:center;gap:11px;flex:1;min-width:0;position:relative;}
.person-feed-hdr-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.person-feed-name{font-family:Manrope,sans-serif;font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.02em;}
.person-feed-meta{font-size:12px;font-weight:600;color:var(--t3);line-height:1.45;}
.profile-meta-row{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;row-gap:4px;column-gap:0;}
.profile-meta-sep{margin:0 7px;color:var(--t4);font-weight:700;opacity:.85;user-select:none;}
.person-feed-mood-word{font-weight:800;color:inherit;}
.person-feed-active{font-weight:600;color:inherit;opacity:.92;}
.profile-meta-extra{font-weight:600;color:inherit;opacity:.9;}
.person-feed-score{flex-shrink:0;font-family:Manrope,sans-serif;font-size:17px;font-weight:800;line-height:1;}
.person-feed-add{width:34px;height:34px;border-radius:10px;border:1.5px solid var(--border2);background:var(--s2);color:var(--text);font-size:20px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.person-feed-add:active{transform:scale(.96);}
.person-live-dot{position:absolute;bottom:0;right:0;width:11px;height:11px;border-radius:50%;background:var(--green);border:2px solid var(--surface);animation:livePulse 1.5s ease-in-out infinite;}
.person-live-tag{font-size:10px;font-weight:800;color:var(--green);background:rgba(34,197,94,.12);padding:2px 7px;border-radius:20px;vertical-align:middle;}
.person-feed-overall{height:3px;background:var(--s3);}
.person-feed-overall span{display:block;height:100%;background:var(--brand);border-radius:0 2px 2px 0;transition:width .35s ease;}
.person-feed-overall--study span{background:#2563eb;}
.person-feed-overall--workout span{background:#0d9488;}
.person-feed-overall--reading span{background:#d97706;}
.person-feed-overall--wellness span{background:#22c55e;}
.person-feed-overall--creative span{background:#8b5cf6;}
.person-feed-tasks{padding:10px 12px 12px;display:flex;flex-direction:column;gap:7px;}
.person-feed-hint{font-size:11px;font-weight:700;color:var(--t3);margin:0 0 4px;}
.person-feed-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 12px;border-top:1px solid var(--border);background:var(--s2);}
.person-feed-foot-note{flex:1;font-size:11px;font-weight:600;color:var(--t3);line-height:1.35;min-width:0;}
.person-feed-foot-actions{display:flex;gap:8px;flex-shrink:0;}
.person-feed-foot-actions--stack{flex-direction:column;width:100%;gap:8px;}
.person-feed-foot--disc{flex-direction:column;align-items:stretch;}
.person-feed-btn{padding:9px 14px;border-radius:12px;border:1px solid var(--border2);background:var(--surface);font-family:Manrope,sans-serif;font-size:12px;font-weight:800;color:var(--t2);cursor:pointer;}
.person-feed-btn--primary{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  border-color:var(--brand);
  color:#fff;
}
.person-feed-btn:active{transform:scale(.98);}
.person-feed-card--empty .person-feed-empty-body{padding:4px 14px 16px;}
.person-feed-card--empty .person-feed-empty-body p{font-size:13px;color:var(--t2);line-height:1.45;margin:0 0 12px;}
.person-feed-cta{
  width:100%;padding:13px 16px;border-radius:14px;border:none;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  color:#fff;font-family:Manrope,sans-serif;font-size:14px;font-weight:800;cursor:pointer;
}
.person-feed-disc-label{color:var(--brand)!important;font-weight:700;}
.person-feed-disc-task{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);}
.person-feed-disc-emoji{width:44px;height:44px;border-radius:13px;background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.person-feed-disc-body{flex:1;min-width:0;}
.person-feed-disc-title{display:block;font-family:Manrope,sans-serif;font-size:14px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.person-feed-disc-meta{display:block;font-size:12px;font-weight:600;color:var(--t3);margin-top:3px;}
@keyframes vividCardIn{from{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:none}}
.vivid-card{position:relative;border-radius:24px;overflow:hidden;margin:0;box-shadow:0 12px 40px rgba(0,0,0,.14);color:#fff;}
.vivid-card--study{background:linear-gradient(145deg,#1A3E8A 0%,#2563eb 50%,#1d4ed8 100%);}
.vivid-card--workout{background:linear-gradient(145deg,#0f766e 0%,#14b8a6 55%,#0d9488 100%);}
.vivid-card--reading{background:linear-gradient(145deg,#92400e 0%,#d97706 50%,#b45309 100%);}
.vivid-card--wellness{background:linear-gradient(145deg,#166534 0%,#22c55e 50%,#15803d 100%);}
.vivid-card--creative{background:linear-gradient(145deg,#5b21b6 0%,#8b5cf6 55%,#6d28d9 100%);}
.vivid-card--challenge{background:linear-gradient(145deg,#14532d 0%,#2D6A4F 45%,#1B4332 100%);}
.vivid-card--done{opacity:.88;}
.vivid-card--blurred .vivid-av-slot--blur,.vivid-card--blurred .vivid-identity--blur{filter:blur(7px);user-select:none;}
.vivid-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.vivid-wm{position:absolute;right:-8px;top:-12px;font-size:120px;opacity:.14;line-height:1;}
.vivid-blob{position:absolute;left:-20%;bottom:-30%;width:70%;height:70%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 70%);}
.vivid-inner{position:relative;padding:18px 18px 16px;z-index:1;}
.vivid-ribbon{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;opacity:.75;}
.vivid-disc-label{display:block;font-size:10px;font-weight:700;opacity:.65;margin-top:2px;margin-bottom:10px;}
.vivid-gift-count{position:absolute;top:14px;right:14px;font-size:11px;font-weight:800;background:rgba(0,0,0,.25);padding:4px 10px;border-radius:20px;}
.vivid-top{display:flex;align-items:center;gap:12px;margin:10px 0 14px;}
.vivid-av-slot{position:relative;flex-shrink:0;}
.vivid-live-dot{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;background:#4ade80;border:2px solid #fff;animation:livePulse 1.5s ease-in-out infinite;}
.vivid-identity{flex:1;min-width:0;}
.vivid-name{display:block;font-family:Manrope,sans-serif;font-size:17px;font-weight:800;letter-spacing:-.03em;}
.vivid-live-pill{display:inline-block;margin-left:6px;font-size:10px;font-weight:800;background:rgba(74,222,128,.25);padding:2px 8px;border-radius:20px;}
.vivid-sub{display:block;font-size:12px;font-weight:600;opacity:.8;margin-top:2px;}
.vivid-mood{display:block;font-size:11px;margin-top:4px;opacity:.9;}
.vivid-hero{text-align:center;margin:4px 0 14px;}
.vivid-ring-wrap{position:relative;width:92px;height:92px;margin:0 auto 12px;}
.vivid-ring{position:absolute;inset:0;}
.vivid-hero-emoji{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:36px;}
.vivid-task-name{font-family:Manrope,sans-serif;font-size:24px;font-weight:800;line-height:1.15;margin:0 0 8px;letter-spacing:-.04em;}
.vivid-task-name.is-done{text-decoration:line-through;opacity:.75;}
.vivid-task-meta{font-size:13px;line-height:1.45;opacity:.85;margin:0;}
.vivid-prog{height:5px;background:rgba(0,0,0,.2);border-radius:99px;margin-top:12px;overflow:hidden;}
.vivid-prog span{display:block;height:100%;background:rgba(255,255,255,.9);border-radius:99px;transition:width .4s ease;}
.vivid-foot{display:flex;gap:8px;margin-top:14px;}
.vivid-foot--solo .vivid-btn{flex:1;}
.vivid-foot--disc{flex-direction:column;}
.vivid-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 10px;border-radius:16px;border:none;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;cursor:pointer;color:#fff;background:rgba(0,0,0,.22);backdrop-filter:blur(6px);}
.vivid-btn:active{transform:scale(.97);}
.vivid-btn--treat.is-sent{background:rgba(255,255,255,.35);}
.vivid-btn--connect{background:rgba(255,255,255,.28);width:100%;}
.vivid-btn--ghost{background:rgba(255,255,255,.12);}
.vivid-btn--go{background:rgba(255,255,255,.95);color:var(--text);}
.vivid-assign-row{width:100%;margin-top:10px;padding:12px 14px;border-radius:14px;border:2px dashed rgba(255,255,255,.45);background:rgba(255,255,255,.12);font-family:Manrope,sans-serif;font-size:13px;font-weight:800;color:#fff;cursor:pointer;}
.vivid-assign-row:active{transform:scale(.98);}
.vivid-card--empty .vivid-empty-title{font-family:Manrope,sans-serif;font-size:20px;font-weight:800;margin:12px 0 6px;}
.vivid-card--empty .vivid-empty-sub{font-size:13px;opacity:.8;margin:0 0 16px;line-height:1.45;}
.home-drawer{position:fixed;inset:0;z-index:220;pointer-events:none;visibility:hidden;}
.home-drawer.open{pointer-events:auto;visibility:visible;}
.home-drawer-backdrop{position:absolute;inset:0;background:rgba(28,25,23,.34);opacity:0;transition:opacity .25s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.home-drawer.open .home-drawer-backdrop{opacity:1;}
.home-drawer-panel{
  position:absolute;right:0;top:0;bottom:0;width:min(356px,92vw);max-width:100%;
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,transparent),color-mix(in srgb,var(--bg) 96%,transparent));
  border-left:1px solid color-mix(in srgb,var(--border) 82%,transparent);
  box-shadow:-16px 0 48px rgba(15,60,90,.16);
  backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));
  transform:translateX(104%);transition:transform .28s cubic-bezier(.32,.72,.24,1);
  display:flex;flex-direction:column;overflow:hidden;
}
.home-drawer.open .home-drawer-panel{transform:none;}
.home-drawer-brand,.home-drawer-brand-logo,.home-drawer-brand-pill{display:none!important;}
.home-drawer-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;flex-shrink:0;}
.home-drawer-title{font-family:Manrope,sans-serif;font-size:20px;font-weight:800;letter-spacing:-.04em;}
.home-drawer-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:15px;color:var(--t2);cursor:pointer;}
.home-drawer-body{flex:1;overflow-y:auto;padding:0 16px 24px;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;}
.home-drawer-section,.home-drawer-profile-card{
  border:1px solid color-mix(in srgb,var(--border) 84%,transparent);
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  border-radius:20px;
  box-shadow:0 6px 22px rgba(28,25,23,.055);
}
.home-drawer-profile-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 13px 13px 14px;}
.drawer-label,.drawer-section-title{font-family:Manrope,sans-serif;font-size:10px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:.09em;}
.drawer-name{font-family:Manrope,sans-serif;font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.025em;margin-top:2px;line-height:1.2;}
.drawer-streak-wrap{margin:0;}
.drawer-streak{display:inline-flex!important;padding:7px 11px;border-radius:999px;background:rgba(var(--brand-rgb),.1);color:var(--brand);font-size:12px;font-weight:800;border:1px solid rgba(var(--brand-rgb),.18);}
.drawer-cal-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.drawer-cal-today{
  flex-shrink:0;padding:6px 12px;border-radius:999px;border:1px solid rgba(var(--brand-rgb),.28);
  background:rgba(var(--brand-rgb),.1);color:var(--brand);
  font-family:Manrope,sans-serif;font-size:11px;font-weight:800;cursor:pointer;
}
.drawer-cal-today:active{transform:scale(.97);}
.drawer-cal-hint{
  margin:0 0 8px;font-family:Manrope,sans-serif;font-size:10px;font-weight:600;
  color:var(--t3);line-height:1.35;
}
.drawer-drow{
  margin:0;padding:2px 2px 4px;gap:6px;
  flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
  touch-action:pan-x;
}
.drawer-drow .dchip{scroll-snap-align:center;}
.drawer-banners-slot{margin:0;}
.drawer-banners-slot:empty{display:none;}
.drawer-ai-layer{margin-top:12px;border-radius:16px;overflow:hidden;}
.home-drawer-search{padding:10px;}
.home-drawer-search .feed-search-wrap{width:100%;}
.drawer-cal{margin:0;padding:12px;}
.drawer-cal-label{margin-bottom:0;}
.home-drawer-nav{display:flex;flex-direction:column;gap:10px;}
.home-drawer-nav .home-drawer-section{padding:12px;}
.home-drawer-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;}
.home-drawer-nav-grid--primary{grid-template-columns:1fr;}
.home-drawer-link{
  width:100%;min-height:50px;text-align:left;padding:10px 11px;border-radius:16px;
  border:1px solid var(--border);
  background:var(--surface);
  font-family:Manrope,sans-serif;color:var(--text);cursor:pointer;
  display:flex;align-items:center;gap:10px;
}
.home-drawer-link strong{display:block;font-size:13px;font-weight:800;letter-spacing:-.015em;line-height:1.1;}
.home-drawer-link small{display:block;margin-top:2px;font-size:11px;font-weight:650;color:var(--t3);line-height:1.15;}
.drawer-link-icon{width:28px;height:28px;border-radius:10px;background:var(--s2);display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.home-drawer-link:active{background:var(--s2);transform:scale(.99);}
.home-drawer-profile-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  flex-shrink:0;min-width:132px;min-height:44px;margin:0;padding:11px 16px;border-radius:16px;
  border:1.5px solid var(--text);
  background:var(--text);
  color:#fff;font-family:Manrope,sans-serif;font-size:13px;font-weight:900;
  cursor:pointer;box-shadow:0 6px 18px rgba(28,25,23,.18);
}
.home-drawer-profile-cta::after{content:"→";font-size:14px;line-height:1;}
.home-drawer-profile-cta:active{transform:scale(.98);opacity:.9;}
@media (max-width:360px){
  .home-drawer-profile-card{align-items:stretch;flex-direction:column;}
  .home-drawer-profile-cta{width:100%;}
}
body.home-drawer-open{overflow:hidden;}
[data-theme="dark"] .home-drawer-panel{background:var(--surface);}
