@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Montserrat:wght@200;300;400;500;600;700&display=swap');

:root {
  --bg:        #07040F;
  --rose:      #D45068;
  --rose-d:    #A03050;
  --rose-glow: rgba(212,80,104,0.35);
  --violet:    #6030B8;
  --blush:     #D4A0C8;
  --gold:      #D4A850;
  --gold-l:    #EAC87A;
  --text:      rgba(220,190,210,0.82);
  --text-dim:  rgba(200,165,190,0.50);
  --card:      rgba(255,255,255,0.035);
  --border:    rgba(212,80,104,0.15);
  --border-h:  rgba(212,80,104,0.40);
  --shimmer:   linear-gradient(105deg,#EAC87A 0%,#F2DCC0 22%,#D4A0C8 52%,#B880E8 76%,#D4A0C8 100%);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;font-family:'Montserrat',sans-serif;background:var(--bg);}
button,input,textarea{font-family:'Montserrat',sans-serif;}

/* AMBIENT GLOW — always behind everything */
.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 60% 55% at 20% 30%, rgba(212,80,104,0.18) 0%, transparent 65%),
    radial-gradient(ellipse 55% 60% at 80% 70%, rgba(96,48,184,0.22) 0%, transparent 65%),
    radial-gradient(ellipse 45% 40% at 55% 8%,  rgba(212,168,80,0.10) 0%, transparent 60%);}

/* SHIMMER TEXT */
.grad-text{background:var(--shimmer);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 5s ease-in-out infinite;}
@keyframes shimmer{0%{background-position:0% center}50%{background-position:100% center}100%{background-position:0% center}}

/* SCREENS */
.screen{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;z-index:1;transition:transform .38s cubic-bezier(.4,0,.2,1),opacity .38s ease;}
.screen.hidden{transform:translateX(100%);opacity:0;pointer-events:none;}

/* ─── BOTTOM NAV ─── */
#bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:rgba(7,4,15,0.96);border-top:1px solid var(--border);display:none;padding:10px 0 24px;backdrop-filter:blur(20px);}
#bottom-nav.visible{display:flex;}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;padding:4px 0;transition:all .25s;}
.nav-item svg{width:22px;height:22px;stroke:var(--text-dim);transition:all .3s;}
.nav-label{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);transition:all .3s;font-weight:500;}
.nav-item.active svg{stroke:var(--rose);filter:drop-shadow(0 0 8px var(--rose-glow));}
.nav-item.active .nav-label{color:var(--blush);}
.nav-item#nav-home.active svg path{fill:var(--rose);stroke:var(--rose);}

/* TOAST */
#toast{position:fixed;top:72px;left:50%;transform:translateX(-50%);background:rgba(7,4,15,0.97);color:var(--blush);padding:11px 22px;border-radius:999px;font-size:11px;letter-spacing:1px;border:1px solid var(--border-h);z-index:9999;opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap;backdrop-filter:blur(20px);}
#toast.show{opacity:1;}

/* ─── ANIMATIONS ─── */
@keyframes orbit-cw  {from{transform:rotate(0deg)} to{transform:rotate(360deg)}}
@keyframes orbit-ccw {from{transform:rotate(0deg)} to{transform:rotate(-360deg)}}
@keyframes heartbeat {0%,100%{transform:scale(1)} 25%{transform:scale(1.14)} 60%{transform:scale(1.06)}}
@keyframes glow-pulse{0%,100%{filter:drop-shadow(0 0 10px rgba(212,80,104,0.5)) drop-shadow(0 0 20px rgba(96,48,184,0.3))} 50%{filter:drop-shadow(0 0 20px rgba(212,80,104,0.8)) drop-shadow(0 0 40px rgba(96,48,184,0.5))}}
@keyframes float     {0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)}}
@keyframes pulse-dot {0%,100%{opacity:1} 50%{opacity:0.3}}
@keyframes fadeSlide {from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)}}

/* ─── BUTTONS ─── */
.btn-primary{width:100%;padding:17px;border:none;border-radius:10px;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;background:linear-gradient(135deg,var(--rose),#9838A0,var(--violet));color:#fff;box-shadow:0 8px 28px rgba(212,80,104,0.40),0 2px 8px rgba(96,48,184,0.30);transition:all .25s;position:relative;overflow:hidden;}
.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.15),transparent);opacity:0;transition:opacity .25s;}
.btn-primary:hover::after{opacity:1;}
.btn-primary:active{transform:scale(0.985);}
.btn-outline{width:100%;padding:16px;border:1px solid var(--border-h);border-radius:10px;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;background:transparent;color:var(--blush);transition:all .25s;}
.btn-outline:active{background:rgba(212,80,104,0.08);}
.btn-gold{width:100%;padding:16px;border:1px solid rgba(212,168,80,0.45);border-radius:10px;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;background:rgba(212,168,80,0.07);color:var(--gold);transition:all .25s;}

/* FORM */
.field{margin-bottom:18px;}
.field label{display:block;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-dim);font-weight:500;margin-bottom:8px;}
.field input{width:100%;border:1px solid var(--border);border-radius:10px;padding:14px 18px;font-size:14px;font-weight:300;color:var(--blush);background:rgba(255,255,255,0.03);outline:none;transition:all .25s;}
.field input::placeholder{color:rgba(200,165,190,0.28);}
.field input:focus{border-color:var(--rose-d);background:rgba(212,80,104,0.04);box-shadow:0 0 0 3px rgba(212,80,104,0.10);}
.field-note{font-size:10px;color:var(--text-dim);margin-top:6px;line-height:1.55;font-weight:300;}

/* ══════════════════════════════════════
   ONBOARDING — full luxury dark screen
══════════════════════════════════════ */
#screen-onboarding{background:var(--bg);display:flex;flex-direction:column;}
.ob-top{display:flex;flex-direction:column;align-items:center;padding:60px 28px 10px;z-index:1;position:relative;}

/* Orbital emblem */
.ob-emblem{width:150px;height:150px;position:relative;margin-bottom:26px;animation:float 6s ease-in-out infinite;}
.ob-emblem svg{width:100%;height:100%;}

.ob-wordmark{font-family:'Montserrat',sans-serif;font-size:38px;font-weight:700;letter-spacing:14px;text-transform:uppercase;margin-bottom:12px;}
.ob-tagline{display:flex;align-items:center;gap:14px;margin-bottom:4px;}
.ob-line{height:1px;width:36px;background:linear-gradient(to right,transparent,rgba(212,80,104,0.55));}
.ob-line.r{background:linear-gradient(to left,transparent,rgba(212,80,104,0.55));}
.ob-tag-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:13px;letter-spacing:4.5px;text-transform:uppercase;color:rgba(210,168,200,0.70);}

.ob-track{flex:1;position:relative;overflow:hidden;z-index:1;}
.ob-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:20px 32px 10px;transition:transform .42s cubic-bezier(.4,0,.2,1),opacity .42s ease;}
.ob-slide.active{transform:translateX(0);opacity:1;}
.ob-slide.prev{transform:translateX(-100%);opacity:0;}
.ob-slide.next{transform:translateX(100%);opacity:0;}
.ob-pill{display:inline-flex;align-items:center;gap:7px;background:rgba(212,80,104,0.10);border:1px solid rgba(212,80,104,0.28);border-radius:999px;padding:5px 16px;margin-bottom:18px;align-self:flex-start;}
.ob-pill-dot{width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--blush),#9060D8);animation:pulse-dot 2s ease-in-out infinite;}
.ob-pill-text{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(210,165,200,0.80);font-weight:500;}
.ob-title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;font-style:italic;color:#fff;line-height:1.3;margin-bottom:18px;}
.ob-title strong{font-weight:600;font-style:normal;background:var(--shimmer);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 5s ease-in-out infinite;}
.ob-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(212,80,104,0.4),rgba(175,95,220,0.5),transparent);margin-bottom:18px;position:relative;}
.ob-divider::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#E8B870,#C870D8);box-shadow:0 0 10px rgba(200,112,216,0.7);}
.ob-body{font-size:14px;font-weight:300;line-height:1.8;color:var(--text);}

.ob-dots{display:flex;justify-content:center;gap:7px;padding:12px 0;z-index:1;position:relative;}
.ob-dot{height:5px;border-radius:3px;background:var(--rose);opacity:.3;width:8px;transition:all .35s;}
.ob-dot.active{width:24px;opacity:1;box-shadow:0 0 8px var(--rose-glow);}
.ob-footer{padding:0 24px 44px;z-index:1;position:relative;display:flex;flex-direction:column;gap:14px;}
.ob-signin{text-align:center;font-size:13px;font-weight:300;color:var(--blush);cursor:pointer;letter-spacing:.5px;}

/* ══════════════════════════════════════
   AUTH
══════════════════════════════════════ */
#screen-auth{background:var(--bg);display:flex;flex-direction:column;}
.auth-top{padding:52px 24px 22px;text-align:center;z-index:1;position:relative;}
.auth-emblem{width:90px;height:90px;margin:0 auto 16px;}
.auth-brand{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:700;letter-spacing:9px;text-transform:uppercase;margin-bottom:5px;}
.auth-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;letter-spacing:3px;color:rgba(210,168,200,0.70);}
.auth-toggle{display:flex;background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:12px;padding:4px;margin:18px 24px 20px;z-index:1;position:relative;}
.auth-tab{flex:1;padding:11px;text-align:center;border-radius:9px;font-size:10px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;color:var(--text-dim);transition:all .25s;font-weight:500;}
.auth-tab.active{background:linear-gradient(135deg,rgba(212,80,104,0.25),rgba(96,48,184,0.25));color:var(--blush);border:1px solid rgba(212,80,104,0.30);box-shadow:0 4px 16px rgba(212,80,104,0.15);}
.auth-card{background:rgba(255,255,255,0.025);border:1px solid var(--border);border-radius:16px;margin:0 24px;padding:24px 20px;z-index:1;position:relative;backdrop-filter:blur(10px);}
.reg-fields{display:none;}
.reg-fields.show{display:block;}
.auth-forgot{text-align:center;padding:14px 0 0;font-size:12px;font-weight:300;color:var(--text-dim);cursor:pointer;}
.auth-notice{margin:14px 24px 0;background:rgba(212,80,104,0.06);border:1px solid rgba(212,80,104,0.18);border-radius:10px;padding:12px 14px;display:none;gap:10px;z-index:1;position:relative;}
.auth-notice.show{display:flex;}
.auth-notice p{font-size:11px;font-weight:300;color:var(--text);line-height:1.6;}

/* ══════════════════════════════════════
   HOME
══════════════════════════════════════ */
#screen-home{background:var(--bg);}
.home-hdr{padding:52px 18px 14px;z-index:1;position:relative;display:flex;align-items:flex-start;justify-content:space-between;}
.home-hdr-left h2{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:3px;font-weight:400;}
.home-hdr-left h1{font-size:26px;font-weight:700;}
.home-trust{display:flex;align-items:center;gap:6px;padding:4px 0 0;}
.home-trust span{font-size:10px;color:var(--blush);font-weight:300;letter-spacing:.5px;}
.hdr-right{display:flex;gap:9px;align-items:center;margin-top:4px;}
.hdr-notif{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--card);}
.hdr-notif svg{width:18px;height:18px;stroke:var(--text-dim);}
.hdr-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--violet));display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(212,80,104,0.35);}

.filter-bar{padding:0 16px 14px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;z-index:1;position:relative;}
.filter-bar::-webkit-scrollbar{display:none;}
.chip{padding:7px 16px;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);cursor:pointer;white-space:nowrap;flex-shrink:0;font-weight:500;transition:all .25s;}
.chip.active{background:rgba(212,80,104,0.15);border-color:rgba(212,80,104,0.45);color:var(--blush);box-shadow:0 0 12px rgba(212,80,104,0.15);}

/* MATCH CARDS */
.match-feed{padding:0 14px 100px;display:flex;flex-direction:column;gap:14px;z-index:1;position:relative;}
.match-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;transition:all .3s;animation:fadeSlide .5s ease both;}
.match-card:hover{border-color:var(--border-h);transform:translateY(-2px);box-shadow:0 16px 48px rgba(212,80,104,0.12);}

.mc-top{display:flex;gap:14px;margin-bottom:14px;}
.mc-av{width:64px;height:64px;border-radius:50%;background:linear-gradient(148deg,#1A0828,#0E0618);border:1.5px solid rgba(212,168,80,0.35);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;box-shadow:0 0 20px rgba(212,80,104,0.20),0 0 40px rgba(96,48,184,0.12);}
.mc-letter{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--gold-l);}
.mc-verified{position:absolute;bottom:-1px;right:-1px;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--violet));border:2px solid var(--bg);display:flex;align-items:center;justify-content:center;font-size:9px;color:#fff;font-weight:700;}
.mc-info{flex:1;}
.mc-name-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap;}
.mc-name{font-size:17px;font-weight:600;color:#fff;}
.mc-founding{background:rgba(212,168,80,0.12);border:1px solid rgba(212,168,80,0.32);padding:2px 9px;border-radius:999px;font-size:8px;font-weight:600;color:var(--gold);letter-spacing:1px;text-transform:uppercase;}
.mc-profession{font-size:12px;color:var(--text-dim);font-weight:300;margin-bottom:2px;letter-spacing:.3px;}
.mc-city{font-size:11px;color:rgba(200,165,190,0.38);font-weight:300;}

.mc-bio{font-size:13px;font-weight:300;color:var(--text);line-height:1.7;margin-bottom:14px;font-family:'Cormorant Garamond',serif;font-size:15px;}

/* Trust thread — glassy rose pill */
.mc-thread{display:flex;align-items:center;gap:8px;background:rgba(212,80,104,0.07);border:1px solid rgba(212,80,104,0.20);border-radius:10px;padding:9px 14px;margin-bottom:14px;flex-wrap:wrap;}
.mc-thread svg{width:13px;height:13px;stroke:var(--rose);flex-shrink:0;}
.mc-thread-lbl{font-size:8px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--rose);}
.mc-thread-path{font-size:11px;font-weight:300;color:var(--text);}

.mc-actions{display:flex;align-items:center;gap:10px;}
.mc-pass{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;}
.mc-pass svg{width:18px;height:18px;stroke:var(--text-dim);}
.mc-pass:active{border-color:rgba(212,80,104,0.5);background:rgba(212,80,104,0.08);}
.mc-connect{flex:1;padding:13px;border:none;border-radius:10px;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;background:linear-gradient(135deg,var(--rose),#9838A0,var(--violet));color:#fff;box-shadow:0 6px 20px rgba(212,80,104,0.35);transition:all .25s;display:flex;align-items:center;justify-content:center;gap:7px;}
.mc-connect svg{width:14px;height:14px;fill:rgba(255,255,255,0.8);stroke:none;}
.mc-connect:active{transform:scale(0.98);}
.mc-msg{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;}
.mc-msg svg{width:18px;height:18px;stroke:var(--blush);}

/* ══════════════════════════════════════
   MESSAGES
══════════════════════════════════════ */
#screen-messages{background:var(--bg);}
.page-hdr{padding:52px 18px 18px;z-index:1;position:relative;}
.page-hdr h1{font-size:26px;font-weight:700;margin-bottom:5px;}
.page-hdr p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:rgba(210,168,200,0.65);}
.conv-list{padding:0 14px 100px;display:flex;flex-direction:column;gap:10px;z-index:1;position:relative;}
.conv-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;gap:14px;cursor:pointer;transition:all .25s;animation:fadeSlide .4s ease both;}
.conv-card:hover{border-color:var(--border-h);transform:translateY(-1px);box-shadow:0 8px 28px rgba(212,80,104,0.10);}
.conv-av{width:48px;height:48px;border-radius:50%;background:linear-gradient(148deg,#1A0828,#0E0618);border:1.5px solid rgba(212,168,80,0.30);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;}
.conv-av-letter{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--gold-l);}
.conv-online{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;background:var(--rose);border:2px solid var(--bg);box-shadow:0 0 8px var(--rose-glow);}
.conv-info{flex:1;min-width:0;}
.conv-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.conv-name{font-size:14px;font-weight:600;color:#fff;}
.conv-time{font-size:10px;color:var(--text-dim);font-weight:300;}
.conv-last{font-size:12px;font-weight:300;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.conv-unread{background:linear-gradient(135deg,var(--rose),var(--violet));min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;padding:0 5px;box-shadow:0 2px 8px var(--rose-glow);}

/* ══════════════════════════════════════
   CHAT
══════════════════════════════════════ */
#screen-chat{background:var(--bg);display:flex;flex-direction:column;}
.chat-hdr{background:rgba(7,4,15,0.97);backdrop-filter:blur(20px);padding:52px 16px 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;}
.chat-back{cursor:pointer;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.chat-back svg{width:18px;height:18px;stroke:var(--blush);}
.chat-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(148deg,#1A0828,#0E0618);border:1.5px solid rgba(212,168,80,0.35);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.chat-av-letter{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--gold-l);}
.chat-info-name{font-size:15px;font-weight:600;color:#fff;}
.chat-info-status{font-size:10px;color:var(--rose);font-weight:400;letter-spacing:.5px;}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;padding-bottom:90px;z-index:1;position:relative;}
.msg-wrap{display:flex;flex-direction:column;}
.msg-wrap.mine{align-items:flex-end;}
.msg-wrap.theirs{align-items:flex-start;}
.msg-bubble{max-width:78%;padding:12px 16px;border-radius:16px;font-size:14px;font-weight:300;line-height:1.6;animation:fadeSlide .3s ease;}
.mine .msg-bubble{background:linear-gradient(135deg,rgba(212,80,104,0.28),rgba(96,48,184,0.28));border:1px solid rgba(212,80,104,0.22);border-bottom-right-radius:4px;color:#fff;}
.theirs .msg-bubble{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text);}
.msg-time{font-size:9px;color:var(--text-dim);margin-top:4px;padding:0 4px;font-weight:300;}
.chat-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(7,4,15,0.97);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:10px 14px 30px;display:flex;gap:10px;align-items:flex-end;z-index:100;}
.chat-input{flex:1;border:1px solid var(--border);border-radius:22px;padding:11px 18px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:300;color:var(--blush);background:rgba(255,255,255,0.03);outline:none;resize:none;max-height:100px;transition:all .25s;}
.chat-input:focus{border-color:rgba(212,80,104,0.4);}
.chat-input::placeholder{color:rgba(200,165,190,0.25);}
.chat-send{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--violet));border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px var(--rose-glow);}
.chat-send svg{width:18px;height:18px;stroke:#fff;fill:none;}

/* ══════════════════════════════════════
   MEMBERSHIP
══════════════════════════════════════ */
#screen-membership{background:var(--bg);}
.mem-hdr{padding:52px 18px 24px;z-index:1;position:relative;}
.mem-pill{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.mem-pill-dot{width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--blush),#9060D8);animation:pulse-dot 2s ease-in-out infinite;}
.mem-pill-text{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(210,165,200,0.75);font-weight:500;}
.mem-title{font-size:28px;font-weight:700;line-height:1.2;margin-bottom:8px;}
.mem-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:rgba(210,168,200,0.65);}

.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-bottom:0;}
.stat-card{background:var(--bg);padding:20px 14px;text-align:center;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:400;display:block;margin-bottom:6px;background:var(--shimmer);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 5s ease-in-out infinite;}
.stat-lbl{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);font-weight:500;line-height:1.4;}

.plans-wrap{padding:16px 14px 100px;display:flex;flex-direction:column;gap:14px;z-index:1;position:relative;}
.plan-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;transition:all .3s;position:relative;animation:fadeSlide .5s ease both;}
.plan-card.featured{border-color:rgba(212,80,104,0.4);box-shadow:0 0 40px rgba(212,80,104,0.10),inset 0 0 40px rgba(212,80,104,0.03);}
.plan-badge{position:absolute;top:16px;right:16px;padding:4px 11px;border-radius:999px;font-size:8px;font-weight:600;letter-spacing:1px;text-transform:uppercase;}
.plan-name{font-size:18px;font-weight:600;color:#fff;margin-bottom:6px;}
.plan-price-row{display:flex;align-items:baseline;gap:5px;margin-bottom:9px;}
.plan-price{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:400;background:var(--shimmer);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 5s ease-in-out infinite;}
.plan-period{font-size:12px;font-weight:300;color:var(--text-dim);}
.plan-desc{font-size:13px;font-weight:300;color:var(--text);line-height:1.65;margin-bottom:16px;font-family:'Cormorant Garamond',serif;font-size:15px;}
.plan-feats{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.plan-feat{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:300;color:var(--text);line-height:1.5;}
.feat-check{flex-shrink:0;margin-top:1px;}
.feat-check svg{width:14px;height:14px;stroke:var(--rose);}

/* ══════════════════════════════════════
   PROFILE
══════════════════════════════════════ */
#screen-profile{background:var(--bg);}
.prof-hdr{padding:52px 18px 26px;text-align:center;z-index:1;position:relative;}
.prof-emblem{width:120px;height:120px;margin:0 auto 18px;}
.prof-name{font-size:22px;font-weight:700;color:#fff;margin-bottom:4px;}
.prof-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:rgba(210,168,200,0.68);margin-bottom:14px;}
.prof-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(212,168,80,0.10);border:1px solid rgba(212,168,80,0.32);padding:6px 16px;border-radius:999px;font-size:9px;font-weight:600;color:var(--gold);letter-spacing:1px;text-transform:uppercase;}
.prof-badge svg{width:13px;height:13px;stroke:var(--gold);}

.prof-stats{display:flex;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.p-stat{flex:1;padding:18px;text-align:center;}
.p-stat-num{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;display:block;background:var(--shimmer);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 5s ease-in-out infinite;}
.p-stat-lbl{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);font-weight:500;}

.settings-wrap{padding:14px 14px 100px;display:flex;flex-direction:column;gap:14px;z-index:1;position:relative;}
.settings-grp-lbl{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px;padding-left:4px;font-weight:500;}
.settings-card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.settings-row{display:flex;align-items:center;padding:15px 16px;cursor:pointer;border-bottom:1px solid rgba(212,80,104,0.07);gap:14px;transition:background .2s;}
.settings-row:last-child{border-bottom:none;}
.settings-row:hover{background:rgba(212,80,104,0.04);}
.s-icon{width:22px;text-align:center;flex-shrink:0;}
.s-icon svg{width:17px;height:17px;stroke:var(--text-dim);}
.s-label{flex:1;font-size:13px;font-weight:300;color:var(--text);}
.s-value{font-size:11px;color:var(--text-dim);font-weight:300;}
.s-arrow{font-size:16px;color:rgba(200,165,190,0.30);}
.signout-btn{width:100%;padding:15px;background:transparent;border:1px solid rgba(212,80,104,0.20);border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(212,80,104,0.60);cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:500;}
.version-txt{text-align:center;font-size:11px;color:var(--text-dim);padding:10px 0;font-weight:300;font-family:'Cormorant Garamond',serif;font-style:italic;}

/* INSTALL */
#install-prompt{position:fixed;bottom:82px;left:14px;right:14px;background:rgba(7,4,15,0.98);border:1px solid var(--border-h);border-radius:14px;padding:14px 16px;display:none;align-items:center;gap:12px;z-index:200;backdrop-filter:blur(20px);}
#install-prompt.show{display:flex;}
.install-txt{flex:1;font-size:12px;font-weight:300;color:var(--text);line-height:1.45;}
.install-txt strong{color:var(--blush);font-weight:600;}
.install-do{background:linear-gradient(135deg,var(--rose),var(--violet));border:none;border-radius:8px;padding:9px 14px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#fff;cursor:pointer;white-space:nowrap;}
.install-x{font-size:17px;color:var(--text-dim);cursor:pointer;}

/* ─── REMEMBER ME + DISCLAIMER ─── */
.auth-extras { display:flex; justify-content:space-between; align-items:center; padding:14px 0 0; }
.remember-label { display:flex; align-items:center; gap:8px; cursor:pointer; }
.remember-label input[type="checkbox"] { width:16px; height:16px; accent-color:var(--rose); cursor:pointer; }
.remember-text { font-size:12px; font-weight:300; color:var(--text-dim); }
.auth-disclaimer { display:flex; align-items:flex-start; gap:8px; margin-top:16px; padding:12px 14px; background:rgba(212,80,104,0.05); border:1px solid rgba(212,80,104,0.15); border-radius:10px; }
.auth-disclaimer svg { flex-shrink:0; margin-top:1px; stroke:var(--rose); opacity:.7; }
.auth-disclaimer span { font-size:11px; font-weight:300; color:var(--text-dim); line-height:1.6; }

/* ─── FLOATING BACK BUTTON ─── */
.float-back { position:fixed; top:60px; left:16px; z-index:200; width:40px; height:40px; border-radius:50%; background:rgba(7,4,15,0.90); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(16px); transition:all .25s; box-shadow:0 4px 16px rgba(0,0,0,0.4); }
.float-back svg { width:18px; height:18px; }
.float-back:hover { border-color:var(--border-h); background:rgba(212,80,104,0.12); }

/* ── BACK BUTTON ── */
.page-back-row { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.back-btn {
  width:34px; height:34px; border-radius:50%;
  border:1px solid var(--border); background:var(--card);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .25s; flex-shrink:0;
}
.back-btn svg { width:16px; height:16px; stroke:var(--blush); }
.back-btn:hover { border-color:var(--border-h); background:rgba(212,80,104,0.08); }
.back-btn:active { transform:scale(0.95); }
.back-label { font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-dim); }

/* ── SAVE PASSWORD TOGGLE ── */
.save-pw-row { margin:14px 0; }
.save-pw-label {
  display:flex; align-items:center; gap:10px; cursor:pointer;
}
.save-pw-label input[type="checkbox"] { display:none; }
.save-pw-toggle {
  width:42px; height:24px; border-radius:12px; flex-shrink:0;
  background:rgba(255,255,255,0.08); border:1px solid var(--border);
  position:relative; transition:all .25s;
}
.save-pw-toggle::after {
  content:''; position:absolute; top:3px; left:3px;
  width:16px; height:16px; border-radius:50%;
  background:var(--text-dim); transition:all .25s;
}
.save-pw-label input:checked + .save-pw-toggle {
  background:linear-gradient(135deg,var(--rose),var(--violet));
  border-color:rgba(212,80,104,0.5);
}
.save-pw-label input:checked + .save-pw-toggle::after {
  left:21px; background:#fff;
}
.save-pw-text { font-size:12px; font-weight:300; color:var(--text-dim); }

/* ── AUTH DISCLAIMER ── */
.auth-disclaimer {
  display:flex; align-items:flex-start; gap:7px;
  margin-top:14px; padding:10px 12px;
  background:rgba(212,168,80,0.06);
  border:1px solid rgba(212,168,80,0.18);
  border-radius:8px;
}
.auth-disclaimer svg { stroke:var(--gold); flex-shrink:0; margin-top:2px; }
.auth-disclaimer span { font-size:10px; font-weight:300; color:rgba(212,168,80,0.70); line-height:1.6; letter-spacing:.3px; }

/* ── SHOW/HIDE save-pw for register mode ── */
.save-pw-row.hidden-field { display:none; }


/* ── AUTH FINE PRINT DISCLAIMER (bottom of screen, tiny) ── */
.auth-fine-print {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 20px 24px 32px;
  padding: 10px 14px;
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(200,140,180,0.08);
  border-radius: 0 0 8px 8px;
}
.auth-fine-print svg {
  stroke: rgba(200,165,190,0.30);
  flex-shrink: 0;
  margin-top: 2px;
}
.auth-fine-print span {
  font-size: 9px;
  font-weight: 300;
  color: rgba(200,165,190,0.32);
  line-height: 1.65;
  letter-spacing: 0.2px;
  font-family: 'Montserrat', sans-serif;
}
