:root {
  --mint:#5DD6A8; --mint-dark:#3fc491; --mint-light:#edfaf5; --mint-mid:#b8f0da;
  --red:#FF6B6B; --text:#1a1a2e; --sub:#6b7280; --muted:#9ca3af;
  --bg:#ffffff; --surface:#f7f8fa; --border:#eaecf0;
  --shadow:0 2px 12px rgba(0,0,0,0.07); --shadow-md:0 4px 20px rgba(0,0,0,0.10);
  --r-sm:12px; --r-md:18px; --r-lg:24px; --r-full:999px;
  --font:'Inter',sans-serif;
  --ease:all 0.26s cubic-bezier(0.4,0,0.2,1);
  --mint-glow:rgba(93,214,168,0.35);
  --sat: env(safe-area-inset-top, 0px);
  --sab: env(safe-area-inset-bottom, 0px);
  --sal: env(safe-area-inset-left, 0px);
  --sar: env(safe-area-inset-right, 0px);
  --dock-pad: max(10px, var(--sab));
  --nav-core: 52px;
}

body.dark {
  --text:#f7faf9;
  --sub:#b8c4c0;
  --muted:#7f908a;
  --bg:#0c1110;
  --surface:#151d1b;
  --border:#26332f;
  --mint-light:rgba(93,214,168,.12);
  --shadow:0 2px 18px rgba(0,0,0,.38);
  --shadow-md:0 8px 32px rgba(0,0,0,.46);
}
body.dark #app{background:var(--bg);}
body.dark .scr{background:var(--bg);color:var(--text);}
body.dark .inp,
body.dark input,
body.dark textarea{background:#111816;color:var(--text);border-color:var(--border);}
body.dark .inp::placeholder,
body.dark input::placeholder,
body.dark textarea::placeholder{color:#72807b;}
body.dark .btn-gray{background:#1d2724;color:var(--text);}
body.dark .card,
body.dark .post-card,
body.dark .role-card{background:var(--surface);border-color:var(--border);}
body.dark .bnav,
body.dark .bottom-nav,
body.dark .topbar,
body.dark .header{background:rgba(12,17,16,.92);border-color:var(--border);}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{height:100%;-webkit-text-size-adjust:100%;}
body{height:100dvh;overflow:hidden;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;}
#app{width:100%;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden;max-width:480px;margin:0 auto;background:var(--bg);box-shadow:0 0 40px rgba(0,0,0,0.08);padding-left:var(--sal);padding-right:var(--sar);}
#screens{flex:1;position:relative;overflow:hidden;min-height:0;}
.scr{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg);opacity:0;pointer-events:none;transform:translateX(56px);transition:opacity 0.28s ease,transform 0.28s cubic-bezier(0.4,0,0.2,1);overflow:hidden;}
.scr.on{opacity:1;pointer-events:all;transform:translateX(0);z-index:1;}
.scr.off{opacity:0;transform:translateX(-56px);}
.body{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-y:contain;}
.body::-webkit-scrollbar{display:none;}
.status-spacer{height:max(var(--sat),12px);flex-shrink:0;}
.bnav{flex-shrink:0;display:flex;align-items:stretch;justify-content:stretch;background:var(--bg);border-top:1px solid var(--border);min-height:var(--nav-core);padding:2px 0 var(--dock-pad);}
/* Pin to #app bottom so flex/overflow never clips the tab bar off-screen. */
#app-bnav{display:none;position:absolute;left:0;right:0;bottom:0;z-index:50;}
#app-bnav.visible{display:flex;}
#app.has-bnav #s-search .body,
#app.has-bnav #s-notifs .body{padding-bottom:calc(var(--nav-core) + var(--dock-pad) + 16px);}
.ni{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:6px 4px 4px;background:none;border:none;color:var(--sub);font-family:var(--font);transition:var(--ease);min-width:0;min-height:44px;}
.ni.on{color:var(--mint-dark);}
.ni svg{width:22px;height:22px;}
.ni span{font-size:11px;font-weight:700;line-height:1;}
.nplus{width:48px;height:48px;background:var(--mint);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(93,214,168,0.45);border:none;transition:var(--ease);flex-shrink:0;margin-top:-10px;align-self:center;}
.nplus:active{transform:scale(0.93);}
.dock-bar{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg);padding:12px 24px var(--dock-pad);}
.dock-row{flex-shrink:0;padding:12px 24px var(--dock-pad);display:flex;gap:10px;background:var(--bg);}
.dock-col{flex-shrink:0;padding:12px 20px var(--dock-pad);display:flex;flex-direction:column;gap:10px;position:relative;z-index:1;background:var(--bg);}
.sheet-pad{padding:4px 24px var(--dock-pad);}
.btn{width:100%;padding:clamp(13px,3.5vw,16px);border-radius:var(--r-full);font-size:clamp(15px,4vw,17px);font-weight:700;font-family:var(--font);cursor:pointer;border:none;transition:var(--ease);display:flex;align-items:center;justify-content:center;gap:8px;}
.btn:active{transform:scale(0.97);}
.btn-mint{background:var(--mint);color:white;}
.btn-mint:hover{background:var(--mint-dark);}
.btn-outline{background:transparent;color:var(--mint-dark);border:1.5px solid var(--mint);}
.btn-gray{background:var(--surface);color:var(--text);border:1px solid var(--border);}
.btn-red{background:var(--red);color:white;}
.inp{width:100%;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--r-md);font-size:16px;font-family:var(--font);color:var(--text);background:var(--surface);outline:none;transition:border-color 0.2s;-webkit-appearance:none;}
.inp:focus{border-color:var(--mint);background:var(--bg);}
.inp::placeholder{color:var(--muted);}
.av{border-radius:50%;overflow:hidden;background:var(--mint-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tbar{padding:10px 20px;display:flex;align-items:center;flex-shrink:0;position:relative;}
.tbar-title{font-size:18px;font-weight:800;flex:1;text-align:center;}
.back{display:flex;align-items:center;gap:4px;color:var(--mint-dark);font-size:15px;font-weight:600;cursor:pointer;padding:6px 0;background:none;border:none;font-family:var(--font);min-width:44px;}
.sec-hd{font-size:13px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:0.7px;margin-bottom:10px;}
.progress-bar{height:4px;background:var(--border);border-radius:2px;margin:0 24px;}
.progress-fill{height:4px;background:var(--mint);border-radius:2px;transition:width 0.4s ease;}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.role-card{border:2px solid var(--border);border-radius:var(--r-lg);padding:clamp(14px,4vw,18px) 14px;text-align:center;cursor:pointer;transition:var(--ease);background:var(--bg);}
.role-card:active{transform:scale(0.96);}
.role-card.picked{border-color:var(--mint);background:var(--mint-light);}
.role-card.picked .role-icon{background:var(--mint);}
.role-icon{width:48px;height:48px;border-radius:14px;background:var(--surface);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--text);}
.role-icon .fi-svg{width:22px;height:22px;}
.role-card.picked .role-icon{color:#fff;}
.role-label{font-size:14px;font-weight:700;color:var(--text);}
.role-sub{font-size:12px;color:var(--sub);margin-top:2px;}
.p-banner{height:clamp(120px,30vw,160px);background:var(--mint);position:relative;flex-shrink:0;}
.p-av-wrap{position:absolute;bottom:-44px;left:50%;transform:translateX(-50%);}
.p-av{position:relative;width:88px;height:88px;border-radius:50%;border:4px solid white;overflow:hidden;background:var(--mint-light);display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:var(--shadow-md);flex-shrink:0;}
.p-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.p-av-initials{position:relative;z-index:0;font-size:34px;font-weight:700;color:var(--mint-dark);line-height:1;user-select:none;}
.p-badge{position:absolute;bottom:2px;right:2px;z-index:2;width:22px;height:22px;background:var(--mint);border-radius:50%;border:2px solid white;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.av img{width:100%;height:100%;object-fit:cover;display:block;}
.txn{display:flex;align-items:center;padding:13px 0;border-bottom:1px solid var(--border);gap:12px;cursor:pointer;}
.txn:last-child{border-bottom:none;}
.txn-info{flex:1;}
.txn-name{font-size:14px;font-weight:700;color:var(--text);}
.txn-sub{font-size:13px;color:var(--sub);margin-top:2px;}
.txn-amt{font-size:14px;font-weight:700;}
.txn-pos{color:var(--mint-dark);}
.txn-neg{color:var(--sub);}
.notif-row{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);cursor:pointer;min-height:60px;}
.notif-row:active{background:var(--surface);}
.notif-text{flex:1;font-size:14px;font-weight:600;color:var(--text);line-height:1.4;}
.notif-dot{width:10px;height:10px;border-radius:50%;background:var(--red);flex-shrink:0;}
.feed-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;margin-bottom:12px;cursor:pointer;transition:var(--ease);}
.feed-card:active{transform:scale(0.985);}
.feed-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.feed-name{font-size:14px;font-weight:700;}
.feed-time{font-size:12px;color:var(--sub);}
.feed-msg{font-size:14px;color:var(--text);opacity:0.75;line-height:1.5;margin-bottom:12px;font-style:italic;}
.tap-give-btn{display:inline-flex;align-items:center;gap:7px;background:var(--mint);color:white;border:none;border-radius:var(--r-full);padding:10px 18px;font-size:13px;font-weight:800;cursor:pointer;font-family:var(--font);transition:all 0.15s;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;min-height:40px;}
.tap-give-btn:active{transform:scale(0.94);}
.tg-icon{font-size:16px;transition:transform 0.15s;}
.tap-give-btn:active .tg-icon{transform:scale(1.4);}
.tg-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.4);width:10px;height:10px;transform:scale(0);animation:ripple-out 0.4s ease forwards;pointer-events:none;}
@keyframes ripple-out{to{transform:scale(20);opacity:0;}}
.tg-bump{animation:bump 0.18s cubic-bezier(0.34,1.56,0.64,1);}
@keyframes bump{0%{transform:scale(1);}50%{transform:scale(1.08);}100%{transform:scale(1);}}
.amount-pills{display:flex;gap:8px;padding:0 20px;margin-bottom:16px;}
.amt-pill{flex:1;padding:11px 6px;border-radius:var(--r-full);font-size:14px;font-weight:800;font-family:var(--font);cursor:pointer;border:1.5px solid rgba(255,255,255,0.5);background:transparent;color:rgba(255,255,255,0.85);transition:all 0.18s;text-align:center;}
.amt-pill.active{background:white;color:var(--mint-dark);border-color:white;box-shadow:0 2px 8px rgba(0,0,0,0.12);}
.amt-pill:active{transform:scale(0.94);}
.toggle-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(255,255,255,0.12);border-radius:var(--r-md);margin:0 20px 14px;}
.toggle-label{font-size:14px;font-weight:700;color:white;}
.toggle-sub{font-size:12px;color:rgba(255,255,255,0.9);margin-top:1px;}
.toggle-switch{position:relative;width:44px;height:26px;flex-shrink:0;}
.toggle-switch input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;inset:0;background:rgba(255,255,255,0.25);border-radius:var(--r-full);cursor:pointer;transition:0.2s;}
.toggle-slider:before{content:'';position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:white;border-radius:50%;transition:0.2s;}
input:checked + .toggle-slider{background:rgba(255,255,255,0.55);}
input:checked + .toggle-slider:before{transform:translateX(18px);}
.fee-breakdown{margin:0 20px 16px;background:rgba(0,0,0,0.12);border-radius:var(--r-md);padding:14px 16px;display:none;}
.fee-breakdown.is-expanded{display:block;}
.fee-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.fee-line .fee-label{flex:1;min-width:0;}
.fee-line .fee-val{flex-shrink:0;}
.fee-line--total{margin-bottom:10px;}
.fee-line--highlight{margin-bottom:0;}
.fee-divider{height:1px;background:rgba(255,255,255,0.18);margin:12px 0;}
.fee-label{font-size:13px;color:rgba(255,255,255,0.92);font-weight:600;line-height:1.35;}
.fee-label--primary{font-size:14px;font-weight:800;color:white;}
.fee-label--secondary{font-size:12px;font-weight:600;color:rgba(255,255,255,0.72);}
.fee-label--with-tip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:rgba(255,255,255,0.72);}
.fee-val{font-size:13px;color:white;font-weight:700;white-space:nowrap;}
.fee-val--primary{font-size:14px;font-weight:800;color:white;}
.fee-val--secondary{font-size:12px;font-weight:600;color:rgba(255,255,255,0.78);}
.fee-val--total{font-size:15px;font-weight:900;}
.fee-val--mint{color:var(--mint-mid)!important;}
.fee-info-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,0.22);color:white;cursor:pointer;flex-shrink:0;vertical-align:middle;}
.fee-info-btn:focus-visible{outline:2px solid rgba(255,255,255,0.65);outline-offset:2px;}
.fee-info-icon{font-size:10px;font-weight:800;font-style:italic;line-height:1;font-family:Georgia,serif;}
.fee-helper{margin:10px 0 0;font-size:11px;line-height:1.45;color:rgba(255,255,255,0.72);font-weight:500;}
.fee-breakdown-error{margin:0;font-size:12px;color:rgba(255,255,255,0.85);}
.cover-fees-hidden{display:none!important;}
.sent-cover-note{font-size:14px;font-weight:600;color:var(--sub);text-align:center;line-height:1.5;margin:0 0 16px;padding:0 12px;max-width:320px;}
.search-bar{display:flex;align-items:center;gap:10px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-full);padding:10px 16px;transition:border-color 0.2s;}
.search-bar:focus-within{border-color:var(--mint);}
.search-bar input{flex:1;border:none;background:transparent;outline:none;font-size:16px;font-family:var(--font);color:var(--text);}
.search-bar input::placeholder{color:var(--muted);}
.search-row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s;}
.search-row:active{background:var(--surface);}
.search-name{font-size:14px;font-weight:700;color:var(--text);}
.search-handle{font-size:13px;color:var(--sub);margin-top:1px;}
.search-give{margin-left:auto;padding:7px 16px;border-radius:var(--r-full);background:var(--mint);color:white;font-size:13px;font-weight:800;border:none;font-family:var(--font);cursor:pointer;flex-shrink:0;transition:var(--ease);}
.search-give:active{transform:scale(0.93);}
.search-count{font-size:13px;color:var(--sub);padding:8px 20px 4px;font-weight:600;}
/* INTRO SLIDES */
.intro-scr{background:var(--mint);}
.intro-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 28px 12px;text-align:center;}
.intro-emoji-wrap{width:clamp(96px,28vw,124px);height:clamp(96px,28vw,124px);background:rgba(255,255,255,0.18);border-radius:32px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;animation:icon-pop 0.7s cubic-bezier(0.34,1.56,0.64,1) both;}
.intro-emoji{font-size:clamp(40px,12vw,54px);}
.intro-h{font-size:clamp(22px,6vw,28px);font-weight:900;color:white;line-height:1.2;margin-bottom:12px;letter-spacing:-0.5px;}
.intro-p{font-size:clamp(14px,3.8vw,16px);color:rgba(255,255,255,0.88);line-height:1.6;margin-bottom:20px;}
.intro-quote{background:rgba(255,255,255,0.15);backdrop-filter:blur(8px);border-radius:var(--r-lg);padding:14px 18px;font-size:13px;color:white;font-style:italic;line-height:1.55;text-align:left;margin-bottom:28px;border:1px solid rgba(255,255,255,0.2);}
.intro-dots{display:flex;gap:7px;justify-content:center;margin-bottom:24px;}
.dot{height:7px;background:rgba(255,255,255,0.4);border-radius:4px;transition:all 0.3s;}
.dot.on{background:white;width:22px;}
.dot.off{width:7px;}
.intro-skip{font-size:13px;color:rgba(255,255,255,0.6);font-weight:600;cursor:pointer;padding:8px;background:none;border:none;font-family:var(--font);margin-top:4px;}
.intro-cta{width:100%;padding:15px;background:white;color:var(--mint-dark);border:none;border-radius:var(--r-full);font-size:16px;font-weight:800;font-family:var(--font);cursor:pointer;transition:var(--ease);}
.intro-cta:active{transform:scale(0.97);}
.intro-footer{padding:12px 28px var(--dock-pad);flex-shrink:0;}
/* SPLASH */
#s-splash{background:var(--mint);}
.splash-c{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:18px;padding:28px 32px;text-align:center;}
.splash-icon{width:clamp(108px,28vw,140px);height:clamp(108px,28vw,140px);border-radius:32px;overflow:hidden;display:flex;align-items:center;justify-content:center;animation:icon-pop 0.75s cubic-bezier(0.34,1.56,0.64,1) forwards;box-shadow:0 8px 32px rgba(0,0,0,0.18);}
.splash-icon img{width:100%;height:100%;object-fit:cover;}
.splash-title{font-size:clamp(42px,12vw,56px);font-weight:900;color:#fff;letter-spacing:-1.5px;line-height:1;animation:fade-up 0.5s ease 0.2s forwards;}
.splash-tag{font-size:clamp(22px,6vw,28px);font-weight:800;color:#fff;line-height:1.25;max-width:18ch;animation:fade-up 0.55s ease 0.35s forwards;}
.splash-hint{font-size:clamp(15px,4vw,17px);font-weight:700;color:rgba(255,255,255,0.92);margin-top:20px;letter-spacing:0.02em;animation:splash-hint-pulse 2.5s ease infinite;}
@keyframes splash-hint-pulse{0%,100%{opacity:0.75;}50%{opacity:1;}}
@keyframes icon-pop{from{transform:scale(0.25);opacity:0;}to{transform:scale(1);opacity:1;}}
@keyframes fade-up{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){
  .splash-icon,.splash-title,.splash-tag,.splash-hint{animation:none!important;opacity:1;transform:none;}
}
.profile-category-pill{display:inline-block;margin-top:10px;padding:5px 12px;border-radius:999px;background:var(--mint-light);color:var(--mint-dark);font-size:12px;font-weight:800;letter-spacing:0.02em;}
.five-trust{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;}
.five-trust span{font-size:10px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;color:var(--sub);padding:4px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--border);}

/* Stripe badge — reusable branding */
.stripe-badge{display:inline-flex;align-items:center;gap:6px;line-height:1;}
.stripe-badge-powered{font-size:11px;font-weight:600;color:var(--sub);letter-spacing:.01em;white-space:nowrap;}
.stripe-badge-mark{display:inline-flex;align-items:center;line-height:0;min-width:48px;min-height:16px;}
.stripe-badge-img{display:block;width:auto;height:auto;max-width:100%;}
.stripe-badge--sm .stripe-badge-img{width:48px;height:auto;}
.stripe-badge--md .stripe-badge-img{width:56px;height:auto;}
.stripe-badge--lg .stripe-badge-img{width:72px;height:auto;}
.stripe-badge-img--dark{filter:brightness(0) invert(1);}
.stripe-badge-fallback{font-size:15px;font-weight:700;color:#635BFF;letter-spacing:-.02em;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;}
.stripe-badge--inline .stripe-badge-powered{display:none;}
.stripe-badge--logo-only .stripe-badge-powered{display:none;}
.stripe-badge--compact{padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);}
.stripe-badge--compact .stripe-badge-powered{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--sub);}
.stripe-prep-stripe-logo{margin-bottom:12px;line-height:0;}
.stripe-prep-stripe-logo img{display:block;width:72px;height:auto;}
[data-stripe-badge]:empty{min-height:20px;min-width:48px;}
.stripe-prep-subtitle-secondary{margin-top:10px!important;}
body.dark .stripe-badge-fallback{color:#a5b4fc;}
body.dark .stripe-badge--compact{background:var(--surface);border-color:var(--border);}
body.dark .stripe-prep-stripe-logo img{filter:none;}
@keyframes bounce-in{from{transform:scale(0.3);opacity:0;}to{transform:scale(1);opacity:1;}}
.spin{animation:spin 1s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
/* STRIPE CONNECT CARD */
.stripe-connect-card{display:flex;align-items:center;gap:14px;background:var(--mint-light);border:1.5px solid var(--mint-mid);border-radius:var(--r-lg);padding:14px 16px;cursor:pointer;transition:var(--ease);margin-bottom:18px;}
.stripe-connect-card:active{transform:scale(0.98);}
.stripe-connect-card.is-unavailable{border-color:rgba(245,166,35,.35);background:linear-gradient(135deg,rgba(245,166,35,.08),var(--surface));}
.sc-icon{width:44px;height:44px;background:var(--mint);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sc-info{flex:1;}
.sc-title{font-size:15px;font-weight:800;color:var(--text);}
.sc-sub{font-size:12px;color:var(--sub);margin-top:2px;}
@media(min-width:480px){body{background:#e8eaed;}#app{border-radius:0;box-shadow:0 0 60px rgba(0,0,0,0.12);}}

/* ── AUTH OPTIONS ── */
.auth-card{display:flex;flex-direction:column;gap:13px;margin:22px 0 16px;}
.auth-btn{width:100%;min-height:56px;border-radius:20px;border:1px solid rgba(15,23,42,.10);background:#fff;color:#152018;font-family:var(--font);font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 28px rgba(0,0,0,.065);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;}
.auth-btn:active{transform:scale(.985);box-shadow:0 6px 16px rgba(0,0,0,.05);}
.auth-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;line-height:1;font-weight:900;}
.auth-google .auth-icon{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:50%;font-size:15px;color:#4285F4;}
.auth-apple{background:#0f172a;color:#fff;border-color:#0f172a;}
.auth-divider{display:flex;align-items:center;gap:12px;margin:5px 0 2px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:rgba(15,23,42,.10);flex:1;}
.auth-magic-box{background:rgba(93,214,168,.12);border:1px solid rgba(93,214,168,.28);border-radius:24px;padding:14px;display:flex;flex-direction:column;gap:10px;}
.auth-magic-label{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em;}
.auth-email-help{font-size:13px;font-weight:500;color:var(--sub);line-height:1.45;margin:0;}
.auth-note{font-size:12px;color:var(--sub);line-height:1.55;text-align:center;}
.auth-link{color:var(--mint-dark);font-weight:900;cursor:pointer;}
.auth-legal{font-size:12px;color:var(--sub);line-height:1.55;text-align:center;margin-top:12px;}
.auth-legal-link{background:none;border:none;padding:0;color:var(--mint-dark);font-weight:800;font-size:12px;font-family:var(--font);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.auth-legal-link:active{opacity:.7;}
.legal-doc{padding:0 20px 40px;max-width:800px;margin:0 auto;}
.legal-shell{display:flex;flex-direction:column;height:100%;min-height:0;}
.legal-tbar{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;}
.scr-legal .body{background:linear-gradient(180deg,var(--mint-light) 0%,var(--bg) 120px);}
.legal-updated{font-size:12px;font-weight:700;color:var(--mint-dark);letter-spacing:.04em;text-transform:uppercase;margin:16px 0 10px;}
.legal-lead{font-size:15px;font-weight:500;color:var(--text);line-height:1.65;margin-bottom:24px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);border-left:4px solid var(--mint);}
.legal-section{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border);}
.legal-section:last-of-type{border-bottom:none;padding-bottom:0;}
.legal-h2{font-size:17px;font-weight:900;color:var(--text);margin-bottom:10px;letter-spacing:-.02em;line-height:1.3;}
.legal-p{font-size:15px;font-weight:500;color:var(--sub);line-height:1.7;margin-bottom:10px;}
.legal-p:last-child{margin-bottom:0;}
.legal-ul{margin:8px 0 4px;padding-left:1.25rem;list-style:disc;}
.legal-ul li{font-size:15px;font-weight:500;color:var(--sub);line-height:1.65;margin-bottom:8px;padding-left:4px;}
.legal-ul li::marker{color:var(--mint-dark);}
.legal-callout{margin-top:14px;padding:14px 16px;border-radius:var(--r-md);font-size:14px;font-weight:600;line-height:1.6;}
.legal-callout--info{background:var(--mint-light);border:1px solid rgba(93,214,168,.35);color:var(--text);}
.legal-callout--warning{background:#fff8ed;border:1px solid #f5d9a8;color:#7a5a1e;}
.legal-actions{display:flex;flex-direction:column;gap:10px;margin:28px 0;}
.legal-footer-nav{margin-top:36px;padding-top:28px;border-top:1px solid var(--border);}
.legal-footer-nav-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
.legal-footer-nav-grid{display:flex;flex-wrap:wrap;gap:8px 10px;}
.legal-nav-link{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--r-full);font-size:13px;font-weight:700;color:var(--sub);background:var(--surface);border:1px solid var(--border);text-decoration:none;transition:var(--ease);}
.legal-nav-link:active{transform:scale(.97);}
.legal-nav-link--active{color:var(--mint-dark);background:var(--mint-light);border-color:rgba(93,214,168,.45);}
body.dark .legal-lead{background:var(--surface);border-color:var(--border);}
body.dark .legal-callout--info{background:rgba(93,214,168,.12);border-color:rgba(93,214,168,.28);}
body.dark .legal-callout--warning{background:rgba(245,217,168,.12);border-color:rgba(245,217,168,.35);color:#e8c88a;}
body.dark .legal-nav-link{background:var(--surface);}
body.dark .scr-legal .body{background:linear-gradient(180deg,rgba(93,214,168,.08) 0%,var(--bg) 120px);}
.settings-row.danger .settings-title{color:#ff6b6b;}
.settings-scr{background:#fff;}
.settings-shell{display:flex;flex-direction:column;height:100%;}
.settings-body{padding-bottom:12px;}
.settings-section-label{font-size:13px;font-weight:900;color:var(--sub);text-transform:uppercase;letter-spacing:.08em;margin:0 4px 10px;}
.settings-chevron{font-size:22px;color:var(--sub);line-height:1;}
.settings-row--disabled{opacity:.72;cursor:default!important;}
.settings-row--disabled .settings-chevron{display:none;}
.settings-row--static{cursor:default;}
.settings-badge{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:999px;background:rgba(93,214,168,.2);color:var(--mint-dark);vertical-align:middle;margin-left:6px;}
.settings-logout-wrap{padding:8px 20px 0;}
.settings-logout-btn{width:100%;padding:16px;border-radius:18px;border:1.5px solid #fecaca;background:#fff;color:#dc2626;font-size:17px;font-weight:700;font-family:var(--font);cursor:pointer;box-shadow:0 2px 12px rgba(220,38,38,.06);}
.settings-logout-btn:active{transform:scale(.98);opacity:.9;}
.confirm-modal{position:fixed;inset:0;z-index:510;display:flex;align-items:center;justify-content:center;padding:24px;}
.confirm-modal.hidden{display:none!important;}
.confirm-modal-backdrop{position:absolute;inset:0;background:rgba(10,10,20,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.confirm-modal-sheet{position:relative;width:100%;max-width:360px;background:#fff;border-radius:24px;padding:28px 24px;box-shadow:0 20px 60px rgba(0,0,0,.18);z-index:1;}
.confirm-modal-title{font-size:22px;font-weight:800;color:var(--text);margin:0 0 10px;letter-spacing:-.3px;text-align:center;}
.confirm-modal-message{font-size:15px;font-weight:500;color:var(--sub);line-height:1.55;margin:0 0 22px;text-align:center;}
.confirm-modal-actions{display:flex;flex-direction:column;gap:10px;}
.confirm-modal-cancel{padding:14px;}
.confirm-modal-confirm{padding:14px;}
body.dark .settings-scr{background:var(--bg);}
body.dark .confirm-modal-sheet{background:var(--surface);}
body.dark .settings-logout-btn{background:var(--surface);border-color:rgba(220,38,38,.35);}
.delete-warning{background:#fff4f4;border:1px solid #ffd4d4;border-radius:var(--r-lg);padding:16px;margin-bottom:18px;}
.delete-warning-title{font-size:15px;font-weight:900;color:#ff6b6b;margin-bottom:8px;}
.delete-warning-body{font-size:13px;font-weight:600;color:var(--sub);line-height:1.55;}
.safety-actions{display:none;flex-direction:row;gap:10px;padding:0 20px 14px;}
.safety-actions.visible{display:flex;}
.email-password-panel{margin-top:10px;}
.email-password-panel summary{list-style:none;}
.email-password-panel summary::-webkit-details-marker{display:none;}
.email-password-cta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,rgba(93,214,168,.18),rgba(93,214,168,.08));border:1px solid rgba(93,214,168,.38);color:var(--text);font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 12px 30px rgba(93,214,168,.13);transition:var(--ease);}
.email-password-cta span:first-child{display:flex;align-items:center;gap:10px;}
.email-password-cta .arrow{font-size:18px;transition:transform .18s ease;}
.email-password-panel[open] .email-password-cta .arrow{transform:rotate(90deg);}
.email-password-form{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding:14px;border-radius:22px;background:var(--surface);border:1px solid var(--border);}
.auth-status{font-size:13px;font-weight:600;margin:0;line-height:1.45;min-height:0;}
.auth-status.ok{color:var(--mint-dark);}
.auth-status.err{color:var(--red);}
.auth-alert{display:grid;grid-template-columns:32px 1fr;gap:12px 14px;padding:16px 18px;margin-bottom:16px;border-radius:20px;border:1.5px solid rgba(255,107,107,.45);background:linear-gradient(180deg,rgba(255,107,107,.14),rgba(255,107,107,.08));box-shadow:0 10px 28px rgba(255,107,107,.12);animation:auth-alert-in .28s ease;}
.auth-alert[hidden]{display:none!important;}
.auth-alert-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ff6b6b;color:#fff;font-size:18px;font-weight:900;flex-shrink:0;grid-row:1;grid-column:1;align-self:start;}
.auth-alert-copy{display:flex;flex-direction:column;gap:4px;grid-row:1;grid-column:2;min-width:0;}
.auth-alert-title{font-size:16px;font-weight:900;color:#d64545;line-height:1.25;}
.auth-alert-message{font-size:14px;font-weight:600;color:var(--text);line-height:1.45;margin:0;}
.auth-alert-action{grid-column:1 / -1;width:100%;margin-top:2px;}
.inp.inp-err{border-color:#ff6b6b!important;box-shadow:0 0 0 3px rgba(255,107,107,.16);}
@keyframes auth-alert-in{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
body.dark .auth-alert{border-color:rgba(255,107,107,.55);background:linear-gradient(180deg,rgba(255,107,107,.18),rgba(255,107,107,.08));}
body.dark .auth-alert-title{color:#ff8a8a;}
.auth-page{background:linear-gradient(180deg,rgba(93,214,168,.10) 0%,var(--bg) 220px);}
.auth-topbar{display:flex;align-items:center;gap:8px;padding:10px 20px 8px;flex-shrink:0;}
.auth-back{background:none;border:none;font-size:26px;color:var(--text);cursor:pointer;padding:4px 12px 4px 0;line-height:1;font-family:var(--font);}
.auth-topbar-label{font-size:13px;font-weight:700;color:var(--muted);}
.auth-page-body{flex:1;overflow-y:auto;padding:8px 24px calc(var(--dock-pad) + 24px);}
.auth-page-hero{margin-bottom:22px;}
.auth-page-mark{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--mint),var(--mint-dark));color:#fff;margin-bottom:18px;box-shadow:0 14px 32px rgba(93,214,168,.34);}
.auth-page-title{font-size:clamp(24px,6.5vw,30px);font-weight:900;line-height:1.12;letter-spacing:-.4px;margin-bottom:8px;}
.auth-page-sub{font-size:15px;font-weight:500;color:var(--sub);line-height:1.55;max-width:34ch;}
.auth-page-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow);}
.auth-page-card[hidden]{display:none!important;}
.auth-field{display:flex;flex-direction:column;gap:7px;}
.auth-field-label{font-size:12px;font-weight:800;color:var(--sub);letter-spacing:.04em;text-transform:uppercase;}
.auth-page-cta{margin-top:2px;}
.auth-page-foot{font-size:12px;font-weight:600;color:var(--muted);text-align:center;line-height:1.45;margin:0;}
.auth-link-btn{background:none;border:none;padding:10px 0;margin-top:14px;width:100%;font-family:var(--font);font-size:14px;font-weight:800;color:var(--mint-dark);cursor:pointer;text-align:center;}
.auth-link-btn:active{opacity:.7;}
.auth-wait-card{text-align:center;align-items:center;}
.auth-wait-icon{display:flex;align-items:center;justify-content:center;margin-bottom:4px;color:var(--mint-dark);}
.auth-wait-title{font-size:18px;font-weight:900;margin:0;}
.auth-wait-text{font-size:14px;font-weight:600;color:var(--sub);line-height:1.55;margin:0;max-width:30ch;}
.auth-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:2px;}
.auth-trust-row span{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:5px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--border);}
body.dark .auth-page{background:linear-gradient(180deg,rgba(93,214,168,.12) 0%,var(--bg) 220px);}
body.dark .auth-btn{background:#151d1b;color:#f7faf9;border-color:#273631;box-shadow:0 12px 30px rgba(0,0,0,.35);}
body.dark .auth-google .auth-icon{background:#fff;color:#4285F4;}
body.dark .auth-apple{background:#000;border-color:#2a2a2a;}
body.dark .auth-divider:before,body.dark .auth-divider:after{background:#26332f;}
body.dark .auth-magic-box{background:rgba(93,214,168,.10);border-color:rgba(93,214,168,.28);}
body.dark .email-password-cta{color:#f7faf9;background:linear-gradient(135deg,rgba(93,214,168,.20),rgba(93,214,168,.07));}

.settings-section{padding:18px 20px 8px;}
.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.04);}
.settings-row{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid var(--border);}
.settings-row:last-child{border-bottom:none;}
.settings-icon{width:42px;height:42px;border-radius:14px;background:var(--mint-light);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--mint-dark);flex-shrink:0;}
.settings-icon .fi,.settings-icon .fi-svg{color:var(--mint-dark);}
.settings-icon .fi-text{font-size:16px;font-weight:800;line-height:1;}
.settings-copy{flex:1;min-width:0;}
.settings-title{font-size:15px;font-weight:900;color:var(--text);}
.settings-sub{font-size:12px;font-weight:600;color:var(--sub);line-height:1.35;margin-top:3px;}
.switch{position:relative;width:56px;height:32px;flex-shrink:0;}
.switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;cursor:pointer;inset:0;background:#d7e3de;border-radius:999px;transition:var(--ease);box-shadow:inset 0 1px 3px rgba(0,0,0,.12);}
.slider:before{content:"";position:absolute;height:26px;width:26px;left:3px;top:3px;background:white;border-radius:50%;transition:var(--ease);box-shadow:0 2px 8px rgba(0,0,0,.18);}
.switch input:checked + .slider{background:var(--mint);}
.switch input:checked + .slider:before{transform:translateX(24px);}
body.dark .settings-card{background:var(--surface);border-color:var(--border);box-shadow:0 12px 34px rgba(0,0,0,.24);}
body.dark .settings-icon{background:rgba(93,214,168,.12);}
body.dark .slider{background:#2a3834;}

.profile-form{padding:8px 20px 24px;}
.profile-field{margin-bottom:18px;}
.profile-label{font-size:12px;font-weight:800;color:var(--sub);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:block;}
.profile-hint{font-size:12px;font-weight:600;color:var(--sub);margin-top:6px;line-height:1.4;}
.profile-hint.ok{color:var(--mint-dark);}
.profile-hint.bad{color:#ff6b6b;}
.profile-hint.wait{color:var(--muted);}
.profile-url-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;margin-top:8px;}
.profile-url-label{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.profile-url-text{font-size:14px;font-weight:700;color:var(--text);word-break:break-all;}
.edit-avatar-preview{position:relative;width:88px;height:88px;border-radius:50%;border:4px solid var(--bg);background:var(--mint-light);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:var(--mint-dark);margin:0 auto 12px;overflow:hidden;box-shadow:var(--shadow-md);flex-shrink:0;}
.edit-avatar-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.profile-avatar-upload{text-align:center;margin-bottom:8px;}
.profile-avatar-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;}
.profile-avatar-remove{margin-top:0!important;width:auto!important;padding:6px 0!important;}
.profile-social-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.profile-social-wide{grid-column:1 / -1;}
.profile-social-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;}
.profile-social-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:800;color:var(--text);text-decoration:none;transition:var(--ease);}
.profile-social-link:active{transform:scale(.98);background:var(--mint-light);border-color:var(--mint-mid);}
.profile-social-link svg{width:14px;height:14px;flex-shrink:0;}

.pay-status-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;margin-bottom:14px;box-shadow:0 8px 24px rgba(16,24,40,.04);}
.pay-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.pay-status-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;border-radius:999px;flex-shrink:0;}
.pay-status-badge.ok{background:var(--mint-light);color:var(--mint-dark);}
.pay-status-badge.warn{background:#fff4e5;color:#b36b00;}
.pay-status-badge.muted{background:var(--surface);color:var(--sub);border:1px solid var(--border);}
.pay-status-rows{display:flex;flex-direction:column;gap:10px;margin-top:4px;}
.pay-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;color:var(--text);}
.pay-status-row-left{display:flex;align-items:center;gap:10px;}
.pay-status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0;}
.pay-info-card{background:var(--mint-light);border:1px solid var(--mint-mid);border-radius:var(--r-lg);padding:16px;margin-bottom:14px;}
.pay-info-title{font-size:15px;font-weight:900;color:var(--text);margin-bottom:6px;}
.pay-info-body{font-size:13px;font-weight:600;color:var(--sub);line-height:1.5;}
.empty-state{padding:32px 24px;text-align:center;color:var(--sub);font-size:14px;font-weight:600;line-height:1.5;}
.tbar-action{background:none;border:none;font-size:13px;font-weight:800;color:var(--mint-dark);cursor:pointer;padding:8px 4px;min-width:52px;text-align:right;}
.tbar-action:disabled{opacity:.4;cursor:default;}
#notif-badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;background:var(--red);color:white;border-radius:999px;font-size:10px;font-weight:800;display:none;align-items:center;justify-content:center;border:2px solid var(--bg);}

.home-people-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;}
.home-people-row::-webkit-scrollbar{display:none;}

/* Home v2 — premium discovery-first layout */
.home-v2{--home-mint:#B8F5D2;--home-mint-deep:#9ae8bc;--home-shadow:0 8px 28px rgba(15,23,42,.06);--home-shadow-sm:0 2px 14px rgba(15,23,42,.05);}
.home-v2.home-scr{background:#fff;}
.home-v2 .home-body{padding:8px 20px calc(var(--nav-core) + var(--dock-pad) + 24px);}
.home-v2-entering .home-top,.home-v2-entering .home-summary-panel,.home-v2-entering .home-feed-section{animation:homeFadeUp .45s cubic-bezier(.4,0,.2,1) both;}
.home-v2-entering .home-summary-panel{animation-delay:.04s;}
.home-v2-entering .home-feed-section:nth-of-type(1){animation-delay:.08s;}
.home-section-sub{font-size:14px;font-weight:500;color:var(--sub);margin:-6px 0 14px;line-height:1.45;}
.home-summary-panel{margin-bottom:22px;}
.home-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.home-summary-stat{background:#fff;border-radius:20px;padding:18px 16px;box-shadow:var(--home-shadow-sm);}
.home-summary-label{display:block;font-size:12px;font-weight:600;color:var(--sub);margin-bottom:8px;line-height:1.35;}
.home-summary-value{display:block;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:clamp(28px,7vw,34px);font-weight:800;color:var(--text);letter-spacing:-.5px;line-height:1.05;}
.home-layout-receiver .home-summary-received .home-summary-stat,
.home-layout-mixed .home-summary-received .home-summary-stat{background:rgba(184,245,210,.14);}
.home-feed-section{margin-bottom:28px;}
.home-activity-topline{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;}
.home-activity-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0;color:var(--mint-dark);}
.home-activity-icon .fi-svg{width:16px;height:16px;}
.home-activity-amount{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:clamp(24px,6vw,30px);font-weight:800;color:var(--text);letter-spacing:-.4px;margin:0 0 6px;line-height:1.05;}
.home-activity-amount-in{color:var(--mint-dark);}
.home-activity-time{font-size:13px;font-weight:600;color:var(--muted);margin:8px 0 0;}
.home-activity-message{font-size:15px;font-weight:500;color:var(--text);margin:0;line-height:1.45;font-style:italic;}
.home-activity-card{padding:18px 16px;border-radius:22px;gap:14px;}
.home-activity-line{font-size:15px;font-weight:700;}
.home-activity-av{width:48px;height:48px;}
.home-activity-av span{font-size:15px;}
.home-stories-collapsed{display:none!important;}
.hidden{display:none!important;}
.profile-v2-header{position:relative;flex-shrink:0;}
.profile-v2-banner{position:relative;display:flex;align-items:flex-start;justify-content:center;padding:14px;}
.profile-settings-gear{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.profile-v2-banner-title{font-size:17px;font-weight:800;color:white;}
.profile-v2-body{padding-top:52px;padding-bottom:calc(var(--nav-core) + var(--dock-pad));}
.profile-v2-identity{text-align:center;padding:0 24px 18px;}
.profile-v2-username{font-size:22px;font-weight:800;letter-spacing:-.2px;}
.profile-stats-panel{padding:0 20px 18px;}
.profile-stats-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--sub);margin:0 0 12px;}
.profile-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.profile-stat{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px 14px;text-align:center;}
.profile-stat strong{display:block;font-size:24px;font-weight:800;color:var(--text);line-height:1.1;margin-bottom:4px;letter-spacing:-.3px;}
.profile-stat span{font-size:12px;font-weight:600;color:var(--sub);}
.profile-url-panel{margin:0 20px 18px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:18px;}
.profile-url-text{font-size:14px;font-weight:700;color:var(--text);word-break:break-all;line-height:1.45;margin-bottom:12px;text-align:center;}
.profile-url-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.profile-url-btn{padding:10px 8px!important;font-size:13px!important;}
.profile-v2-actions{display:flex;flex-direction:column;gap:10px;padding:0 20px;}
.profile-qr-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;}
.profile-qr-modal.hidden{display:none!important;}
.profile-qr-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);}
.profile-qr-card{position:relative;z-index:1;background:#fff;border-radius:24px;padding:24px 20px;text-align:center;max-width:320px;width:100%;box-shadow:0 20px 60px rgba(15,23,42,.2);}
.profile-qr-url{font-size:13px;font-weight:600;color:var(--sub);word-break:break-all;margin:12px 0 16px;}
body.dark .home-summary-stat,body.dark .profile-qr-card{background:var(--surface);}
.home-received-popup{position:fixed;inset:0;z-index:350;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;}
.home-received-popup:not(.hidden){pointer-events:auto;}
.home-received-popup.hidden{display:none!important;}
.home-received-popup-scrim{position:absolute;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease;}
.home-received-popup.is-ready .home-received-popup-scrim{opacity:1;}
.home-received-popup-dialog{position:relative;width:100%;max-width:380px;background:#fff;border-radius:28px;box-shadow:0 24px 64px rgba(15,23,42,.22);overflow:hidden;transform:translateY(16px) scale(.96);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .35s ease;}
.home-received-popup.is-ready .home-received-popup-dialog{transform:translateY(0) scale(1);opacity:1;}
.home-received-popup-dialog .celebration-backdrop{position:absolute;inset:0;opacity:0;}
.home-received-popup.is-ready .home-received-popup-dialog .celebration-backdrop{opacity:1;transition:opacity .35s ease;}
.home-received-popup-inner{position:relative;z-index:2;padding:28px 24px 24px;text-align:center;}
.home-received-popup-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;background:rgba(15,23,42,.06);color:var(--sub);font-size:22px;line-height:1;cursor:pointer;z-index:3;}
.home-received-popup-title{font-size:clamp(20px,5.5vw,24px);font-weight:900;letter-spacing:-.3px;margin:0 0 6px;color:var(--text);}
.home-received-popup-sub{font-size:14px;font-weight:600;color:var(--sub);margin:0 0 18px;line-height:1.45;}
.home-received-popup-sender{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;margin-bottom:14px;text-align:left;}
.home-received-popup-av{width:48px;height:48px;border-radius:50%;background:var(--mint-light);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;font-weight:800;color:var(--mint-dark);}
.home-received-popup-av img{width:100%;height:100%;object-fit:cover;}
.home-received-popup-sender-copy{flex:1;min-width:0;}
.home-received-popup-name{font-size:15px;font-weight:800;color:var(--text);}
.home-received-popup-handle{font-size:13px;color:var(--muted);margin-top:2px;}
.home-received-popup-amount{font-size:clamp(26px,7vw,32px);font-weight:900;color:var(--mint-dark);letter-spacing:-1px;flex-shrink:0;}
.home-received-popup-message{font-size:14px;font-style:italic;color:var(--text);line-height:1.5;margin:0 0 16px;padding:0 4px;}
.home-received-popup-actions{display:flex;flex-direction:column;gap:10px;}
.home-received-popup .flow-bounce-in{opacity:0;}
.home-received-popup.is-ready .flow-bounce-in{animation:flow-bounce-in .55s cubic-bezier(.34,1.56,.64,1) both;}
body.dark .home-received-popup-dialog{background:var(--surface);}
.home-legacy-hidden{display:none!important;}
.home-intent-toggle{display:flex;gap:6px;padding:4px;background:rgba(15,23,42,.06);border-radius:999px;margin-bottom:16px;width:fit-content;}
.home-intent-btn{border:none;background:transparent;padding:8px 16px;border-radius:999px;font-family:var(--font);font-size:13px;font-weight:700;color:var(--sub);cursor:pointer;transition:background .2s,color .2s;}
.home-intent-btn.on{background:#fff;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.08);}
.home-adaptive-hero{position:relative;margin-bottom:18px;overflow:hidden;border-radius:28px;}
.home-adaptive-hero .cft{position:absolute;inset:0;pointer-events:none;z-index:2;}
#home-adaptive-hero-content{position:relative;z-index:1;}
.home-hero{position:relative;z-index:1;padding:24px 20px;border-radius:28px;}
.home-hero-giver{background:#fff;box-shadow:var(--home-shadow);}
.home-hero-receiver{background:linear-gradient(145deg,rgba(184,245,210,.45) 0%,rgba(184,245,210,.18) 100%);border:1px solid rgba(184,245,210,.55);}
.home-hero-celebrate{text-align:center;}
.home-hero-celebrate-icon{font-size:40px;margin-bottom:8px;animation:bounce-in .5s cubic-bezier(.34,1.56,.64,1) both;}
.home-hero-eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--sub);margin:0 0 8px;}
.home-hero-title{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:clamp(22px,6vw,28px);font-weight:800;line-height:1.15;letter-spacing:-.4px;margin:0 0 8px;color:var(--text);}
.home-hero-sub,.home-hero-received-line{font-size:14px;font-weight:600;color:var(--sub);line-height:1.5;margin:0 0 16px;}
.home-hero-received-line strong{color:var(--text);}
.home-hero-message{font-size:14px;font-style:italic;color:var(--text);margin:0 0 16px;line-height:1.45;}
.home-hero-actions{display:flex;flex-direction:column;gap:10px;}
.home-hero-cta{width:100%;padding:14px!important;font-size:16px!important;font-weight:800!important;}
.home-hero-cta-secondary{width:100%;padding:12px!important;font-size:14px!important;}
.home-stats-panel{margin-bottom:20px;}
.home-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.home-stats-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
.home-stat-card{background:#fff;border-radius:18px;padding:14px 12px;box-shadow:var(--home-shadow-sm);text-align:center;}
.home-stat-card strong{display:block;font-size:22px;font-weight:800;color:var(--text);line-height:1.1;margin-bottom:4px;}
.home-stat-card span{font-size:11px;font-weight:600;color:var(--sub);line-height:1.3;}
.home-growth-line{font-size:13px;font-weight:600;color:var(--sub);margin:12px 4px 0;line-height:1.45;text-align:center;}
.home-mode-receiving .home-intent-toggle{background:rgba(184,245,210,.35);}
.home-mode-receiving .home-intent-btn.on{box-shadow:0 2px 10px rgba(93,214,168,.2);}
.home-mode-receiving .home-section-personal .home-activity-card-received{background:rgba(184,245,210,.18);}
.home-mode-receiving .home-stat-card{background:rgba(255,255,255,.92);}
.home-activity-amt{font-weight:800;color:var(--mint-dark);}
.home-activity-card-fresh{animation:homeStoryIn .5s cubic-bezier(.4,0,.2,1) both;}
@keyframes homeStoryIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
body.dark .home-hero-giver,body.dark .home-stat-card{background:var(--surface);}
body.dark .home-v2.home-mode-receiving .home-hero-receiver{background:rgba(184,245,210,.12);border-color:rgba(184,245,210,.25);}
@keyframes homeFadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0 20px;}
.home-greeting{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:clamp(26px,7vw,32px);font-weight:700;line-height:1.08;letter-spacing:-.4px;margin:0 0 4px;}
.home-subtitle{font-size:16px;font-weight:500;color:var(--sub);margin:0;}
.home-top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.home-icon-btn{position:relative;width:44px;height:44px;border:none;border-radius:50%;background:#fff;box-shadow:var(--home-shadow-sm);display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;}
.home-profile-btn{width:44px;height:44px;border:2px solid var(--home-mint);border-radius:50%;padding:0;background:#fff;cursor:pointer;overflow:hidden;box-shadow:var(--home-shadow-sm);}
.home-profile-av{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--text);background:var(--home-mint);}
.home-profile-av img{width:100%;height:100%;object-fit:cover;display:block;}
.home-balance-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-radius:28px;padding:22px 20px;margin-bottom:18px;box-shadow:var(--home-shadow);}
.home-balance-label{display:block;font-size:13px;font-weight:600;color:var(--sub);margin-bottom:6px;}
.home-balance-amount{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:clamp(34px,8vw,40px);font-weight:700;letter-spacing:-.6px;line-height:1;margin-bottom:14px;}
.home-balance-cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:none;border-radius:999px;background:var(--home-mint);color:#0f172a;font-family:var(--font);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(184,245,210,.55);}
.home-balance-cta:active{transform:scale(.97);}
.home-balance-meta{margin:10px 0 0;font-size:13px;font-weight:600;color:var(--sub);}
.home-balance-art{flex-shrink:0;width:96px;opacity:.95;}
.home-balance-art svg{width:100%;height:auto;display:block;}
.home-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:26px;}
.home-action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:12px 8px;border:none;border-radius:22px;background:#fff;box-shadow:var(--home-shadow-sm);cursor:pointer;font-family:var(--font);transition:transform .15s ease,box-shadow .15s ease;}
.home-action-card:active{transform:scale(.96);box-shadow:0 1px 8px rgba(15,23,42,.04);}
.home-action-icon{width:40px;height:40px;border-radius:14px;background:rgba(184,245,210,.35);color:#0f172a;display:flex;align-items:center;justify-content:center;}
.home-action-title{font-size:12px;font-weight:700;color:var(--text);text-align:center;line-height:1.2;}
.home-section{margin-bottom:24px;}
.home-section-heading{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 14px;}
.home-section-heading-sm{font-size:18px;margin-bottom:10px;}
.home-suggested-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:none;}
.home-suggested-row::-webkit-scrollbar{display:none;}
.home-suggest-card{flex:0 0 min(78vw,280px);scroll-snap-align:start;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--home-shadow);cursor:pointer;}
.home-suggest-photo{position:relative;height:168px;background:rgba(184,245,210,.25);overflow:hidden;}
.home-suggest-av{width:100%;height:100%;object-fit:cover;display:block;}
.home-suggest-photo .home-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:42px;font-weight:800;}
.home-verified{position:absolute;top:12px;right:12px;width:10px;height:10px;border-radius:50%;background:var(--home-mint-deep);box-shadow:0 0 0 3px #fff;}
.home-suggest-body{padding:16px 16px 18px;}
.home-suggest-name{font-size:18px;font-weight:700;margin:0 0 2px;letter-spacing:-.2px;}
.home-suggest-role{font-size:13px;font-weight:600;color:var(--sub);margin:0 0 8px;}
.home-suggest-story{font-size:14px;font-weight:500;color:var(--text);line-height:1.45;margin:0 0 14px;min-height:2.9em;}
.home-support-btn{width:100%;padding:13px 16px;border:none;border-radius:999px;background:var(--home-mint);color:#0f172a;font-family:var(--font);font-size:15px;font-weight:700;cursor:pointer;}
.home-support-btn:active{transform:scale(.98);}
.home-support-btn-inline{width:auto;padding:11px 18px;}
.home-community-feed{display:flex;flex-direction:column;gap:14px;}
.home-post-card{background:#fff;border-radius:26px;padding:16px;box-shadow:var(--home-shadow-sm);}
.home-post-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.home-post-avatar-wrap{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.home-post-av{width:100%;height:100%;object-fit:cover;display:block;}
.home-post-avatar-wrap .home-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:800;}
.home-post-name{font-size:16px;font-weight:700;line-height:1.2;}
.home-post-role{font-size:12px;font-weight:600;color:var(--sub);margin-top:2px;}
.home-post-text{font-size:15px;font-weight:500;line-height:1.5;color:var(--text);margin:0 0 14px;}
.home-post-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.home-post-social{display:flex;align-items:center;gap:4px;}
.home-post-icon-btn{width:40px;height:40px;border:none;border-radius:50%;background:transparent;color:var(--sub);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.home-post-icon-btn:active{background:rgba(184,245,210,.25);}
.home-impact-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(184,245,210,.22);border-radius:28px;padding:20px;margin-bottom:24px;}
.home-impact-title{font-size:20px;font-weight:700;margin:0 0 12px;letter-spacing:-.2px;}
.home-impact-stats{display:grid;gap:8px;}
.home-impact-stats div{display:flex;flex-direction:column;gap:1px;}
.home-impact-stats strong{font-size:22px;font-weight:700;line-height:1.1;}
.home-impact-stats span{font-size:12px;font-weight:600;color:var(--sub);}
.home-impact-art{width:72px;flex-shrink:0;opacity:.85;}
.home-impact-art svg{width:100%;height:auto;}
.home-activity-list{display:flex;flex-direction:column;gap:10px;}
.home-activity-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff;border-radius:18px;box-shadow:var(--home-shadow-sm);border:1px solid rgba(184,245,210,.35);}
.home-activity-card-received{border-color:rgba(184,245,210,.55);background:rgba(184,245,210,.12);}
.home-activity-card-community{background:#fff;}
.home-activity-av{width:40px;height:40px;border-radius:50%;background:var(--mint-light);flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.home-activity-av span{font-size:13px;font-weight:800;color:var(--mint-dark);}
.home-activity-av img{width:100%;height:100%;object-fit:cover;}
.home-activity-body{flex:1;min-width:0;}
.home-activity-line{font-size:14px;font-weight:600;color:var(--text);margin:0;line-height:1.4;}
.home-activity-line strong{font-weight:800;}
.home-activity-meta{font-size:12px;font-weight:600;color:var(--muted);margin:4px 0 0;}
.home-activity-preview{font-size:12px;font-weight:500;color:var(--sub);margin:6px 0 0;line-height:1.4;font-style:italic;}
.home-activity-badge{font-size:16px;flex-shrink:0;opacity:.85;}
.home-activity-empty-card{padding:24px 18px;text-align:center;background:rgba(184,245,210,.14);border-radius:18px;border:1px dashed rgba(184,245,210,.65);}
.home-activity-empty-icon{display:flex;align-items:center;justify-content:center;margin:0 auto 8px;color:var(--mint-dark);}
.home-activity-empty-icon .fi-svg{width:28px;height:28px;}
.home-activity-empty-title{font-size:15px;font-weight:800;color:var(--text);margin:0 0 4px;}
.home-activity-empty-sub{font-size:13px;font-weight:600;color:var(--sub);margin:0;}
.home-activity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.06);}
.home-activity-row:last-child{border-bottom:none;}
.home-activity-main{font-size:14px;font-weight:600;color:var(--text);}
.home-activity-time{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;}
.home-activity-empty{padding:16px;font-size:13px;font-weight:600;color:var(--sub);margin:0;}
.home-panel-empty{background:#fff;border-radius:24px;padding:24px 20px;text-align:center;box-shadow:var(--home-shadow-sm);}
.home-panel-empty-soft{background:rgba(184,245,210,.12);}
.home-panel-empty-title{font-size:17px;font-weight:700;margin:0 0 6px;}
.home-panel-empty-sub{font-size:14px;font-weight:500;color:var(--sub);line-height:1.45;margin:0 auto;max-width:28ch;}
.home-panel-empty-btn{margin-top:16px;max-width:260px;margin-inline:auto;}
.home-loading-block{padding:28px;text-align:center;}
.home-empty-spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(184,245,210,.45);border-top-color:#7de0a8;margin:0 auto;animation:spin .8s linear infinite;}
.home-skeleton-card{flex:0 0 min(78vw,280px);height:320px;border-radius:28px;background:linear-gradient(90deg,rgba(184,245,210,.15),rgba(184,245,210,.28),rgba(184,245,210,.15));background-size:200% 100%;animation:homeShimmer 1.2s ease infinite;}
@keyframes homeShimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.home-receive-banner{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0 0 16px;padding:18px 16px 16px;border-radius:22px;background:rgba(184,245,210,.28);border:1px solid rgba(184,245,210,.65);}
.home-receive-banner.hidden{display:none!important;}
.home-receive-banner-dismiss{position:absolute;top:10px;right:12px;width:28px;height:28px;border:none;border-radius:50%;background:rgba(15,23,42,.06);color:var(--sub);font-size:20px;line-height:1;cursor:pointer;padding:0;}
.home-receive-banner-icon{display:flex;align-items:center;justify-content:center;color:var(--mint-dark);line-height:1;}
.home-receive-banner-icon .fi-svg{width:28px;height:28px;}
.home-receive-banner-copy{display:flex;flex-direction:column;gap:6px;min-width:0;padding-right:24px;}
.home-receive-banner-copy strong{font-size:16px;font-weight:800;color:var(--text);}
.home-receive-banner-copy span{font-size:13px;font-weight:500;color:var(--sub);line-height:1.45;}
.home-receive-banner-btn{width:100%;padding:12px;font-size:14px;font-weight:700;}
.home-stripe-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:14px 16px;border-radius:18px;background:rgba(184,245,210,.28);border:1px solid rgba(184,245,210,.65);}
.home-stripe-banner.hidden{display:none!important;}
.home-stripe-banner-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.home-stripe-banner-copy strong{font-size:14px;font-weight:700;color:var(--text);}
.home-stripe-banner-copy span{font-size:12px;font-weight:600;color:var(--sub);line-height:1.4;}
.home-stripe-banner-btn{flex-shrink:0;padding:10px 14px;font-size:13px;white-space:nowrap;}
.stripe-connect-card.is-ready .sc-sub{color:var(--mint-dark);}
.pub-send-unavailable{opacity:.55;cursor:not-allowed;pointer-events:none;}
.fi{display:inline-flex;align-items:center;justify-content:center;line-height:0;vertical-align:middle;}
.fi-inline{display:flex;}
.fi-svg{display:block;}
.activity-permission-list li span[data-fi],.activity-permission-list li .fi{color:var(--mint-dark);flex-shrink:0;}
.activity-permission-toast .fi{color:var(--mint-dark);}
.home-bnav .ni.on{color:#0f172a;}
.home-bnav .ni.on svg{stroke:#0f172a;}
.ni-notifs{position:relative;}
.bnav-badge{position:absolute;top:2px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ff6b6b;color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.bnav-badge[hidden]{display:none!important;}
.home-fab.home-fab,.home-bnav .home-fab.nplus{background:var(--home-mint,#B8F5D2)!important;box-shadow:0 8px 24px rgba(184,245,210,.65)!important;width:56px;height:56px;margin-top:-14px;}
.home-fab-label{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:11px;font-weight:800;color:#0f172a;line-height:1.1;letter-spacing:-0.02em;max-width:48px;text-align:center;}
body.dark .home-v2.home-scr{background:var(--bg);}
body.dark .home-v2 .home-balance-card,
body.dark .home-v2 .home-suggest-card,
body.dark .home-v2 .home-post-card,
body.dark .home-v2 .home-action-card,
body.dark .home-v2 .home-activity-card,
body.dark .home-v2 .home-panel-empty{background:var(--surface);}
body.dark .home-v2 .home-activity-card-received{background:rgba(184,245,210,.08);}
body.dark .home-v2 .home-activity-empty-card{background:rgba(184,245,210,.06);}


/* Stripe Connect prep onboarding — trust-focused v2 */
.stripe-prep-v2{--sp-mint:#B8F5D2;--sp-shadow:0 8px 32px rgba(15,23,42,.06);--sp-shadow-sm:0 2px 16px rgba(15,23,42,.05);}
.stripe-prep-scr{background:#fff;}
.stripe-prep-body{padding:4px 20px 24px;}
.stripe-prep-section{opacity:0;transform:translateY(18px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);}
.stripe-prep-scr.is-entering .stripe-prep-section{opacity:1;transform:translateY(0);}
.stripe-prep-scr.is-entering .stripe-prep-section:nth-child(1){transition-delay:.03s;}
.stripe-prep-scr.is-entering .stripe-prep-section:nth-child(2){transition-delay:.08s;}
.stripe-prep-scr.is-entering .stripe-prep-section:nth-child(3){transition-delay:.13s;}
.stripe-prep-scr.is-entering .stripe-prep-section:nth-child(4){transition-delay:.18s;}
.stripe-prep-scr.is-entering .stripe-prep-section:nth-child(5){transition-delay:.23s;}
.stripe-prep-scr.is-entering .stripe-prep-section:nth-child(6){transition-delay:.28s;}
.stripe-prep-hero-wrap{padding:16px 0 12px;text-align:center;}
.stripe-prep-hero-float{display:inline-block;animation:stripePrepFloat 4.5s ease-in-out infinite;}
.stripe-prep-hero-card{padding:10px 16px 6px;}
.stripe-prep-hero-phone{width:min(100%,286px);margin:0 auto;padding:18px 16px 26px;border-radius:42px;background:linear-gradient(160deg,#f8fafc 0%,#fff 100%);border:2px solid rgba(184,245,210,.55);box-shadow:0 16px 40px rgba(15,23,42,.08);}
.stripe-prep-hero-notch{width:73px;height:7px;border-radius:999px;background:rgba(15,23,42,.12);margin:0 auto 21px;}
.stripe-prep-hero-alert{background:#fff;border-radius:26px;padding:21px 23px;box-shadow:0 8px 24px rgba(15,23,42,.07);border:1px solid rgba(184,245,210,.45);text-align:left;}
.stripe-prep-hero-app{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:26px;padding:0 8px;border-radius:8px;background:#B8F5D2;font-size:14px;font-weight:800;color:#0f172a;letter-spacing:-.02em;margin-bottom:13px;}
.stripe-prep-hero-headline{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.02em;margin:0 0 6px;line-height:1.2;}
.stripe-prep-hero-sub{font-size:17px;font-weight:500;color:var(--sub);margin:0;line-height:1.4;}
@keyframes stripePrepFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media (prefers-reduced-motion:reduce){
.stripe-prep-hero-float{animation:none;}
.stripe-prep-section{opacity:1;transform:none;transition:none;}
}
.stripe-prep-header{padding:8px 4px 20px;text-align:center;}
.stripe-prep-title{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:clamp(28px,7vw,34px);font-weight:700;line-height:1.08;letter-spacing:-.5px;margin:0 0 8px;color:#0f172a;}
.stripe-prep-subtitle{font-size:16px;font-weight:500;color:var(--sub);line-height:1.5;margin:0 auto;max-width:40ch;}
.stripe-prep-header .stripe-prep-subtitle{max-width:42ch;}
.stripe-prep-card{background:#fff;border-radius:28px;padding:22px 20px;margin-bottom:14px;box-shadow:var(--sp-shadow-sm);border:none;}
.stripe-prep-card-title{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:18px;font-weight:700;margin:0 0 10px;letter-spacing:-.25px;color:#0f172a;}
.stripe-prep-card-body{font-size:15px;font-weight:500;color:var(--sub);line-height:1.55;margin:0 0 10px;}
.stripe-prep-card-body-last{margin-bottom:0!important;}
.stripe-prep-trust-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;}
.stripe-prep-trust-list li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#64748b;line-height:1.35;}
.stripe-prep-tick{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:rgba(184,245,210,.45);position:relative;display:inline-block;}
.stripe-prep-tick::after{content:'';position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #0f172a;border-width:0 2px 2px 0;transform:rotate(45deg);}
.stripe-prep-steps-wrap{margin-bottom:14px;}
.stripe-prep-time-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(184,245,210,.35);color:#0f172a;font-size:13px;font-weight:700;margin-bottom:12px;}
.stripe-prep-steps-card{margin-bottom:0;}
.stripe-prep-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.stripe-prep-checklist li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:#0f172a;line-height:1.35;}
.stripe-prep-checklist-light li{color:#334155;font-weight:500;}
.stripe-prep-privacy{background:rgba(184,245,210,.14);box-shadow:none;}
.stripe-prep-privacy-icon{width:44px;height:44px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;color:#0f172a;margin-bottom:12px;box-shadow:var(--sp-shadow-sm);}
.stripe-prep-dock{border-top:none;background:#fff;padding-top:8px;}
.stripe-prep-v2 .stripe-prep-continue{font-size:17px;font-weight:700;padding:16px;background:var(--sp-mint)!important;color:#0f172a!important;box-shadow:0 8px 28px rgba(184,245,210,.55);}
.stripe-prep-v2 .stripe-prep-continue:active{transform:scale(.97);}
.stripe-prep-cta-note{font-size:12px;font-weight:500;color:var(--muted);text-align:center;line-height:1.45;margin:10px 0 4px;padding:0 8px;}
.stripe-prep-skip{background:none;border:none;font-family:var(--font);font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;padding:10px;width:100%;text-align:center;}
.stripe-prep-skip:active{opacity:.65;}
.stripe-prep-card:active{transform:scale(.995);transition:transform .12s ease;}
body.dark .stripe-prep-scr{background:var(--bg);}
body.dark .stripe-prep-v2 .stripe-prep-card{background:var(--surface);}
body.dark .stripe-prep-privacy{background:rgba(184,245,210,.08);}
body.dark .stripe-prep-privacy-icon{background:var(--surface);}
body.dark .stripe-prep-hero-phone{background:var(--surface);border-color:rgba(184,245,210,.25);}
body.dark .stripe-prep-hero-alert{background:var(--bg);border-color:var(--border);}

/* Onboarding — username + terms consent */
.onboard-scr{background:#fff;}
.onboard-body{padding:4px 20px 24px;}
.onboard-tbar{background:#fff;}
.onboard-section{opacity:0;transform:translateY(18px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);}
.onboard-scr.is-entering .onboard-section{opacity:1;transform:translateY(0);}
.onboard-scr.is-entering .onboard-section:nth-child(1){transition-delay:.05s;}
.onboard-scr.is-entering .onboard-section:nth-child(2){transition-delay:.12s;}
.onboard-header{padding:8px 4px 20px;text-align:center;}
.onboard-title{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:clamp(28px,7vw,34px);font-weight:700;line-height:1.08;letter-spacing:-.5px;margin:0 0 10px;color:#0f172a;}
.onboard-subtitle{font-size:16px;font-weight:500;color:var(--sub);line-height:1.5;margin:0 auto;max-width:42ch;}
.onboard-card{background:#fff;border-radius:28px;padding:22px 20px;margin-bottom:14px;box-shadow:0 2px 16px rgba(15,23,42,.05);border:none;}
.onboard-dock{border-top:none;background:#fff;padding-top:8px;}
.onboard-dock .btn-mint{font-size:17px;font-weight:700;padding:16px;background:#B8F5D2!important;color:#0f172a!important;box-shadow:0 8px 28px rgba(184,245,210,.55);}
.onboard-dock .btn-mint:disabled{box-shadow:none;}
.username-onboard-at-wrap{position:relative;}
.username-onboard-at{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:700;color:var(--sub);pointer-events:none;}
.username-onboard-inp{padding-left:30px!important;}
.terms-consent-scr{background:linear-gradient(165deg,var(--mint-light) 0%,#fff 45%);}
.terms-consent-body{display:flex;align-items:center;justify-content:center;min-height:100%;padding:24px 20px 32px;}
.terms-consent-center{width:100%;max-width:400px;margin:0 auto;}
.terms-consent-card-box{
  background:#fff;
  border-radius:28px;
  padding:32px 24px 28px;
  box-shadow:0 8px 40px rgba(15,23,42,.08),0 0 0 1px rgba(15,23,42,.04);
  text-align:center;
}
.terms-consent-icon{
  width:56px;height:56px;border-radius:18px;
  background:linear-gradient(145deg,var(--mint),var(--mint-dark));
  color:#fff;display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  box-shadow:0 6px 20px var(--mint-glow, rgba(93,214,168,.35));
}
.terms-consent-title{
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;
  font-size:clamp(26px,6vw,30px);font-weight:800;letter-spacing:-.4px;
  margin:0 0 10px;color:#0f172a;line-height:1.15;
}
.terms-consent-lead{font-size:15px;font-weight:500;color:var(--sub);line-height:1.55;margin:0 0 24px;}
.terms-consent-card-box .terms-consent-check{text-align:left;margin-bottom:20px;}
.terms-consent-submit{
  width:100%;font-size:17px;font-weight:700;padding:16px;
  background:#B8F5D2!important;color:#0f172a!important;
  box-shadow:0 8px 28px rgba(184,245,210,.55);
  margin-bottom:16px;
}
.terms-consent-submit:disabled{opacity:.45;box-shadow:none;}
.terms-consent-card-box .terms-consent-note{margin:0;font-size:13px;}
.terms-consent-auth-footer{margin-top:28px;text-align:center;}
.terms-consent-signed-in{font-size:13px;font-weight:500;color:var(--sub);margin:0 0 6px;}
.terms-consent-signed-in span{font-weight:700;color:var(--ink);}
.terms-consent-signout{
  background:none;border:none;font-family:var(--font);font-size:13px;font-weight:600;
  color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;
}
.terms-consent-signout:active{opacity:.7;}
.terms-consent-scr .onboard-section{opacity:1;transform:none;}
.terms-consent-scr.is-entering .terms-consent-card-box{animation:terms-card-in .45s cubic-bezier(.4,0,.2,1);}
@keyframes terms-card-in{
  from{opacity:0;transform:translateY(16px) scale(.98);}
  to{opacity:1;transform:none;}
}
.terms-consent-card{padding:24px 20px;}
.terms-consent-check{display:flex;align-items:flex-start;gap:14px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;}
.terms-consent-checkbox{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.terms-consent-checkmark{flex-shrink:0;width:26px;height:26px;border-radius:8px;border:2px solid var(--border);background:#fff;position:relative;margin-top:1px;transition:border-color .15s ease,background .15s ease;}
.terms-consent-checkbox:focus-visible+.terms-consent-checkmark{outline:2px solid var(--mint);outline-offset:2px;}
.terms-consent-checkbox:checked+.terms-consent-checkmark{background:var(--mint);border-color:var(--mint);}
.terms-consent-checkbox:checked+.terms-consent-checkmark::after{content:'';position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.terms-consent-check-text{font-size:15px;font-weight:500;color:#0f172a;line-height:1.55;}
.terms-consent-link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;font-weight:700;color:var(--mint-dark);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.terms-consent-link:active{opacity:.7;}
.terms-consent-note{margin:18px 0 0;font-size:14px;font-weight:500;color:var(--sub);line-height:1.55;}
.terms-update-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;}
.terms-update-modal.hidden{display:none!important;}
.terms-update-backdrop{position:absolute;inset:0;background:rgba(10,10,20,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.terms-update-sheet{position:relative;width:100%;max-width:480px;background:#fff;border-radius:24px 24px 0 0;padding:28px 24px calc(28px + env(safe-area-inset-bottom));box-shadow:0 -12px 48px rgba(0,0,0,.18);z-index:1;}
.terms-update-title{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display',var(--font),sans-serif;font-size:22px;font-weight:700;margin:0 0 10px;color:#0f172a;letter-spacing:-.3px;}
.terms-update-lead{font-size:15px;font-weight:500;color:var(--sub);line-height:1.55;margin:0 0 20px;}
.terms-update-accept{width:100%;margin-top:20px;font-size:17px;font-weight:700;padding:16px;}
@media (prefers-reduced-motion:reduce){
  .onboard-section{opacity:1;transform:none;transition:none;}
}
body.dark .onboard-scr{background:var(--bg);}
body.dark .onboard-tbar{background:var(--bg);}
body.dark .onboard-card{background:var(--surface);}
body.dark .onboard-dock{background:var(--bg);}
body.dark .terms-update-sheet{background:var(--bg);}
body.dark .terms-consent-scr{background:linear-gradient(165deg,rgba(93,214,168,.08) 0%,var(--bg) 50%);}
body.dark .terms-consent-card-box{background:var(--surface);box-shadow:0 8px 40px rgba(0,0,0,.25);}
body.dark .terms-consent-title{color:var(--text);}
body.dark .terms-consent-checkmark{background:var(--surface);}

.checkout-info-card{background:var(--mint-light);border:1px solid var(--mint-mid);border-radius:var(--r-lg);padding:20px;margin-bottom:18px;text-align:center;}
.checkout-info-card p{font-size:14px;color:var(--sub);line-height:1.55;margin-top:8px;}
.sheet-dialog[aria-hidden="true"]{pointer-events:none;}

.maintenance-banner{
  flex-shrink:0;
  background:#fff7ed;
  color:#9a3412;
  border-bottom:1px solid #fed7aa;
  padding:10px 16px;
  font-size:13px;
  font-weight:600;
  line-height:1.45;
  text-align:center;
}
.maintenance-banner.hidden{display:none;}
html.has-maintenance-banner #screens{min-height:0;}

body.dark .maintenance-banner{
  background:rgba(251,146,60,.12);
  color:#fdba74;
  border-bottom-color:rgba(251,146,60,.25);
}

/* ── Activity (notifications v2) ── */
.activity-scr{background:var(--bg);}
.activity-tbar .tbar-title{text-align:center;}
.tbar-icon-btn{background:none;border:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;border-radius:12px;flex-shrink:0;}
.tbar-icon-btn:active{background:var(--surface);}
.activity-body{padding:12px 16px 24px;}
.activity-list{display:flex;flex-direction:column;gap:12px;}
.activity-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border-radius:20px;border:1px solid rgba(184,245,210,.4);box-shadow:0 4px 18px rgba(15,23,42,.04);cursor:pointer;position:relative;transition:transform .12s ease, box-shadow .12s ease;}
.activity-card:active{transform:scale(.985);}
.activity-card--unread{border-color:rgba(184,245,210,.75);background:linear-gradient(135deg,rgba(184,245,210,.14),#fff 55%);}
.activity-card--alert{border-color:rgba(255,107,107,.25);background:rgba(255,245,245,.9);}
.activity-card-av{width:52px;height:52px;border-radius:16px;background:rgba(184,245,210,.28);display:flex;align-items:center;justify-content:center;color:var(--mint-dark);flex-shrink:0;}
.activity-card-av .fi-svg{width:22px;height:22px;}
.activity-empty-icon{display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--mint-dark);}
.activity-empty-icon .fi-svg{width:48px;height:48px;}
.activity-card-body{flex:1;min-width:0;}
.activity-card-headline{font-size:15px;font-weight:800;color:var(--text);margin:0 0 4px;line-height:1.35;}
.activity-card-amount{font-size:22px;font-weight:900;color:var(--mint-dark);margin:0 0 6px;}
.activity-card-quote{font-size:14px;font-weight:600;color:var(--sub);font-style:italic;margin:0 0 6px;line-height:1.45;}
.activity-card-sub{font-size:13px;font-weight:600;color:var(--sub);margin:0 0 6px;line-height:1.45;}
.activity-card-time{font-size:12px;font-weight:700;color:var(--sub);opacity:.85;margin:0;}
.activity-unread-dot{position:absolute;top:16px;right:16px;width:10px;height:10px;border-radius:50%;background:var(--red);}
.activity-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px 32px;}
.activity-empty-title{font-size:22px;font-weight:900;color:var(--text);margin:0 0 10px;line-height:1.25;}
.activity-empty-sub{font-size:15px;font-weight:600;color:var(--sub);margin:0 0 24px;line-height:1.55;max-width:280px;}
.activity-empty-cta{min-width:200px;}
.activity-empty--filtered{padding:32px 20px;}
.activity-permission-scr{background:var(--bg);}
.activity-permission-body{padding:24px 22px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;}
.activity-permission-illus{width:100%;max-width:220px;margin:8px auto 28px;}
.activity-permission-phone{width:100%;aspect-ratio:9/16;max-height:200px;background:linear-gradient(180deg,#1e293b 0%,#0f172a 100%);border-radius:28px;padding:14px 12px 18px;position:relative;box-shadow:0 20px 50px rgba(15,23,42,.2);}
.activity-permission-notch{width:36%;height:5px;background:rgba(255,255,255,.15);border-radius:999px;margin:0 auto 16px;}
.activity-permission-toast{background:#fff;border-radius:14px;padding:12px 14px;font-size:13px;font-weight:700;color:#0f172a;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.15);animation:activityToastIn .6s ease .2s both;}
@keyframes activityToastIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.activity-permission-title{font-size:26px;font-weight:900;color:var(--text);margin:0 0 12px;line-height:1.2;}
.activity-permission-lead{font-size:15px;font-weight:600;color:var(--sub);margin:0 0 14px;line-height:1.5;}
.activity-permission-list{list-style:none;margin:0 0 16px;padding:0;width:100%;max-width:300px;text-align:left;}
.activity-permission-list li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--text);padding:10px 0;border-bottom:1px solid var(--border);}
.activity-permission-list li:last-child{border-bottom:none;}
.activity-permission-note{font-size:13px;font-weight:600;color:var(--sub);margin:0 0 28px;line-height:1.5;}
.activity-permission-actions{width:100%;max-width:320px;display:flex;flex-direction:column;gap:10px;}
.notif-settings-body{padding-bottom:32px;}
.notif-settings-push-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:8px 0 20px;background:#fff;border-radius:18px;border:1px solid var(--border);}
.notif-settings-push-title{font-size:15px;font-weight:800;color:var(--text);}
.notif-settings-push-sub{font-size:13px;font-weight:600;color:var(--sub);margin-top:4px;line-height:1.4;}
.notif-pref-group{margin-bottom:22px;}
.notif-pref-group-title{font-size:13px;font-weight:900;color:var(--sub);text-transform:uppercase;letter-spacing:.08em;margin:0 4px 10px;}
.notif-pref-card{background:#fff;border-radius:18px;border:1px solid var(--border);overflow:hidden;}
.notif-pref-item{padding:14px 16px;border-bottom:1px solid var(--border);}
.notif-pref-item:last-child{border-bottom:none;}
.notif-pref-copy{display:block;margin-bottom:10px;}
.notif-pref-copy strong{display:block;font-size:14px;font-weight:800;color:var(--text);margin-bottom:2px;}
.notif-pref-copy span{font-size:12px;font-weight:600;color:var(--sub);line-height:1.4;}
.notif-channel-row{display:flex;gap:8px;flex-wrap:wrap;}
.notif-channel{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--sub);cursor:pointer;user-select:none;}
.notif-channel input{width:16px;height:16px;accent-color:var(--mint-dark);}
.notif-channel--soon{opacity:.55;cursor:not-allowed;}
.notif-faq-body{padding:8px 16px 32px;}
.notif-faq-item{background:#fff;border:1px solid var(--border);border-radius:16px;margin-bottom:10px;overflow:hidden;}
.notif-faq-item summary{padding:16px 18px;font-size:15px;font-weight:800;color:var(--text);cursor:pointer;list-style:none;}
.notif-faq-item summary::-webkit-details-marker{display:none;}
.notif-faq-body{padding:0 18px 16px;font-size:14px;font-weight:600;color:var(--sub);line-height:1.55;}
.notif-faq-body ol,.notif-faq-body p{margin:0 0 12px;}
.notif-faq-body ol{padding-left:20px;}
body.dark .activity-card,
body.dark .notif-pref-card,
body.dark .notif-settings-push-row,
body.dark .notif-faq-item{background:var(--surface);}
body.dark .activity-card--unread{background:linear-gradient(135deg,rgba(184,245,210,.08),var(--surface) 55%);}

