/* === base.css === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--c:#F8F4EE;--c2:#EFE9DF;--c3:#E6DDD0;--b:#DDD5C8;--ink:#1A1410;--ink2:#5C5048;--ink3:#9C8E82;--gold:#B8924A;--gold2:#D4AC6A;}
body.dark{--c:#1C1810;--c2:#252018;--c3:#2E2820;--b:#3A3228;--ink:#F8F4EE;--ink2:#C8B8A8;--ink3:#8A7A6A;}
html,body{height:100%;font-family:'DM Sans',sans-serif;font-size:15px;background:var(--c);color:var(--ink);transition:background .3s,color .3s;}
.hidden{display:none!important;}
input,button,select,textarea{font-family:'DM Sans',sans-serif;}
button{cursor:pointer;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-thumb{background:var(--b);}

/* VOICE RECORDING */
#chat-mic-btn{color:var(--ink2);transition:color .2s,background .2s,border-radius .2s;}
#chat-mic-btn.recording{color:white;background:#e53935;border-radius:50%;}
@keyframes voicePulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.7);}}
.vbar{width:3px;background:var(--gold);border-radius:2px;height:8px;transition:height .15s;}
.chat-audio{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border-radius:20px;padding:8px 12px;min-width:160px;}
.chat-audio audio{flex:1;height:28px;min-width:100px;}
.chat-audio-dur{font-size:11px;color:var(--ink3);flex-shrink:0;}

/* ADMIN TOGGLES */
.adtoggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;}
.adtoggle input{opacity:0;width:0;height:0;}
.adtogslider{position:absolute;cursor:pointer;inset:0;background:var(--b);border-radius:100px;transition:.3s;}
.adtogslider:before{content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:white;border-radius:50%;transition:.3s;}
.adtoggle input:checked+.adtogslider{background:var(--gold);}
.adtoggle input:checked+.adtogslider:before{transform:translateX(20px);}

#loading{position:fixed;inset:0;z-index:999;background:var(--c);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;}
.ll{font-family:'Playfair Display',serif;font-size:52px;color:var(--gold);animation:pulse 1.5s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.25;}50%{opacity:1;}}

/* LOGIN */
#login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;}
.lbox{text-align:center;padding:2.5rem 2rem;width:100%;max-width:420px;}
.llogo{font-family:'Playfair Display',serif;font-size:clamp(56px,13vw,96px);color:var(--gold);opacity:0;animation:logoIn 1.2s cubic-bezier(.16,1,.3,1) .3s forwards;}
@keyframes logoIn{from{opacity:0;transform:translateY(40px);filter:blur(10px);}to{opacity:1;transform:none;filter:none;}}
.lhe{font-size:11px;letter-spacing:4px;color:rgba(184,146,74,.5);margin:6px 0 1.75rem;opacity:0;animation:fu .8s ease .9s forwards;}
.ldiv{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 2rem;animation:gw 1s ease 1.1s forwards;}
@keyframes gw{to{width:80px;}}
.lform{opacity:0;animation:fu .8s ease 1.3s forwards;}
@keyframes fu{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.fl{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink3);margin-bottom:5px;display:block;text-align:left;}
.fw{position:relative;margin-bottom:.875rem;}
.fi,.fs{width:100%;padding:12px 15px;background:var(--c2);border:1px solid var(--b);font-size:14px;color:var(--ink);outline:none;border-radius:8px;transition:border-color .2s;-webkit-appearance:none;appearance:none;}
.fi{padding-right:42px;}
.fi:focus,.fs:focus{border-color:var(--gold);}
.eye-btn{position:absolute;right:13px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--ink3);display:flex;align-items:center;transition:color .2s;}
.eye-btn:hover{color:var(--gold);}
.lerr{font-size:12px;color:#B03030;min-height:18px;margin-bottom:.625rem;text-align:left;}
.pbtn{width:100%;padding:13px;background:var(--ink);color:var(--c);font-size:12px;letter-spacing:2px;text-transform:uppercase;border:none;border-radius:8px;transition:background .25s,transform .15s;}
.pbtn:hover{background:#2C241C;}
.pbtn:active{transform:scale(.98);}
.pbtn:disabled{background:var(--b);cursor:not-allowed;}

/* CHANGE PW */
#cpw-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;}
.cpw-box{text-align:center;padding:2.5rem 2rem;max-width:400px;width:100%;}
.stitle{font-family:'Playfair Display',serif;font-size:24px;color:var(--ink);margin-bottom:.4rem;}
.ssub{font-size:13px;color:var(--ink3);margin-bottom:1.75rem;line-height:1.7;}

/* NAV */
nav{position:sticky;top:0;z-index:100;background:var(--c);border-bottom:1.5px solid var(--b);padding:0 1.5rem;height:66px;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 18px rgba(26,20,16,.05);}

/* ── Post-login entrance animation (cinematic) ── */
#app.entering{animation:appEntry .55s cubic-bezier(.16,1,.3,1) both;}
@keyframes appEntry{
  0%{opacity:0;transform:scale(1.015);filter:blur(6px);}
  100%{opacity:1;transform:scale(1);filter:blur(0);}
}
#app.entering nav{animation:navDrop .65s cubic-bezier(.16,1,.3,1) .15s both;}
@keyframes navDrop{
  0%{opacity:0;transform:translateY(-100%);}
  100%{opacity:1;transform:translateY(0);}
}
#app.entering .nlogo{animation:logoIn .8s cubic-bezier(.16,1,.3,1) .35s both;display:inline-block;}
@keyframes logoIn{
  0%{opacity:0;transform:scale(.85);letter-spacing:14px;}
  100%{opacity:1;transform:scale(1);letter-spacing:1px;}
}
#app.entering .ntabs > *{animation:tabFade .4s cubic-bezier(.16,1,.3,1) both;opacity:0;}
#app.entering .ntabs > *:nth-child(1){animation-delay:.45s;}
#app.entering .ntabs > *:nth-child(2){animation-delay:.52s;}
#app.entering .ntabs > *:nth-child(3){animation-delay:.59s;}
#app.entering .ntabs > *:nth-child(4){animation-delay:.66s;}
#app.entering .ntabs > *:nth-child(5){animation-delay:.73s;}
@keyframes tabFade{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
#app.entering .nr > *{animation:rightFade .45s cubic-bezier(.16,1,.3,1) both;opacity:0;}
#app.entering .nr > *:nth-child(1){animation-delay:.55s;}
#app.entering .nr > *:nth-child(2){animation-delay:.6s;}
#app.entering .nr > *:nth-child(3){animation-delay:.65s;}
#app.entering .nr > *:nth-child(4){animation-delay:.7s;}
#app.entering .nr > *:nth-child(5){animation-delay:.75s;}
@keyframes rightFade{from{opacity:0;transform:translateX(8px);}to{opacity:1;transform:none;}}
#app.entering .mc{animation:contentRise .7s cubic-bezier(.16,1,.3,1) .55s both;}
@keyframes contentRise{
  0%{opacity:0;transform:translateY(28px);}
  100%{opacity:1;transform:translateY(0);}
}
/* Feed cards stagger */
#app.entering .pi,#app.entering .albcard,#app.entering .anitem{animation:feedItem .5s cubic-bezier(.16,1,.3,1) both;}
#app.entering .pi:nth-child(1),#app.entering .albcard:nth-child(1),#app.entering .anitem:nth-child(1){animation-delay:.7s;}
#app.entering .pi:nth-child(2),#app.entering .albcard:nth-child(2),#app.entering .anitem:nth-child(2){animation-delay:.78s;}
#app.entering .pi:nth-child(3),#app.entering .albcard:nth-child(3),#app.entering .anitem:nth-child(3){animation-delay:.86s;}
#app.entering .pi:nth-child(4),#app.entering .albcard:nth-child(4),#app.entering .anitem:nth-child(4){animation-delay:.94s;}
#app.entering .pi:nth-child(5),#app.entering .albcard:nth-child(5){animation-delay:1.02s;}
#app.entering .pi:nth-child(6),#app.entering .albcard:nth-child(6){animation-delay:1.1s;}
#app.entering .pi:nth-child(n+7){animation-delay:1.18s;}
@keyframes feedItem{
  0%{opacity:0;transform:translateY(20px) scale(.96);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}
.nlogo{font-family:'Playfair Display',serif;font-size:23px;color:var(--gold);cursor:pointer;flex-shrink:0;text-decoration:none;}
.ntabs{display:flex;gap:3px;margin:0 auto;}
.ntab{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink3);background:none;border:none;padding:8px 15px;border-radius:100px;transition:all .2s;white-space:nowrap;}
.ntab.active{color:var(--ink);background:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.4);box-shadow:0 2px 10px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.55);}
body.dark .ntab.active{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);}
.ntab:hover:not(.active){background:var(--c2);color:var(--ink2);}
.nr{display:flex;align-items:center;gap:.625rem;flex-shrink:0;}
.annbtn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--b);color:var(--ink2);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 13px;border-radius:100px;position:relative;transition:all .2s;white-space:nowrap;}
.annbtn:hover{border-color:var(--gold);color:var(--gold);}
.adot{width:7px;height:7px;border-radius:50%;background:#D44;position:absolute;top:-2px;right:-2px;border:2px solid var(--c);display:none;}
.nadmin{background:none;border:none;color:var(--ink3);font-size:11px;padding:6px 10px;border-radius:6px;transition:all .2s;letter-spacing:1px;}
.nadmin:hover{background:var(--c2);color:var(--ink);}
.nav-av{width:33px;height:33px;border-radius:50%;background:var(--c2);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--gold);overflow:hidden;cursor:pointer;transition:box-shadow .2s;flex-shrink:0;position:relative;}
.nav-av:hover{box-shadow:0 0 0 3px rgba(184,146,74,.2);}
.nav-av img{width:100%;height:100%;object-fit:cover;}

/* ═══ Avatar popover menu ═══ */
.nav-menu{
  position:absolute;top:46px;right:0;
  min-width:240px;background:var(--c);
  border:1px solid var(--b);border-radius:14px;
  box-shadow:0 12px 36px rgba(20,15,10,.12),0 2px 8px rgba(20,15,10,.06);
  padding:6px;display:none;z-index:200;
  animation:nmIn .18s cubic-bezier(.2,.9,.3,1.1);
  font-family:'DM Sans',sans-serif;
}
.nav-menu.show{display:block;}
@keyframes nmIn{from{opacity:0;transform:translateY(-6px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
.nm-account{padding:10px 14px 8px;}
.nm-label{font-family:'Playfair Display',serif;font-size:18px;color:var(--ink);line-height:1.1;font-weight:500;}
.nm-name{font-size:12.5px;color:var(--ink3);margin-top:3px;overflow:hidden;text-overflow:ellipsis;}
.nm-divider{height:1px;background:var(--b);margin:4px 8px;}
.nm-item{
  width:100%;display:flex;align-items:center;gap:11px;
  padding:9px 12px;border-radius:8px;border:none;background:transparent;
  font-size:14px;color:var(--ink);font-family:inherit;font-weight:400;
  cursor:pointer;text-align:left;transition:background .12s;
}
.nm-item:hover{background:var(--c2);}
.nm-ic{width:18px;height:18px;flex-shrink:0;color:var(--ink2);}

/* ═══ Settings modal (Simchadig style) ═══ */
.set-modal-overlay{
  position:fixed;inset:0;z-index:300;
  background:rgba(15,10,5,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  display:flex;align-items:flex-start;justify-content:center;padding:60px 20px 40px;
  animation:setFadeIn .2s ease;overflow-y:auto;
}
.set-modal-overlay.hidden{display:none;}
@keyframes setFadeIn{from{opacity:0;}to{opacity:1;}}
.set-modal{
  width:min(980px,100%);max-height:min(800px,calc(100vh - 80px));
  background:var(--c);border-radius:16px;border:1px solid var(--b);
  box-shadow:0 24px 60px rgba(15,10,5,.25);
  display:flex;flex-direction:column;overflow:hidden;
  font-family:'DM Sans',sans-serif;
  animation:setSlideIn .25s cubic-bezier(.2,.9,.3,1.05);
}
@keyframes setSlideIn{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.set-hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--b);}
.set-ttl{font-family:'Playfair Display',serif;font-size:22px;color:var(--ink);font-weight:500;letter-spacing:-.3px;}
.set-x{width:32px;height:32px;border-radius:50%;background:var(--c2);border:none;color:var(--ink2);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .12s;}
.set-x:hover{background:var(--ink);color:var(--c);}
.set-search{position:relative;padding:14px 24px;border-bottom:1px solid var(--b);}
.set-search input{width:100%;box-sizing:border-box;padding:10px 14px 10px 38px;border-radius:10px;background:var(--c2);border:1px solid transparent;font-size:14px;color:var(--ink);outline:none;font-family:inherit;transition:all .15s;}
.set-search input::placeholder{color:var(--ink3);}
.set-search input:focus{background:var(--c);border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,74,.12);}
.set-search svg{position:absolute;left:38px;top:25px;color:var(--ink3);width:16px;height:16px;}

.set-body{display:flex;flex:1;min-height:0;overflow:hidden;}
.set-side{width:220px;flex-shrink:0;border-right:1px solid var(--b);padding:14px 12px;overflow-y:auto;background:var(--c);}
.set-side-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:9px;background:transparent;border:none;color:var(--ink2);font-size:13.5px;font-family:inherit;font-weight:500;cursor:pointer;text-align:left;transition:all .12s;margin-bottom:2px;}
.set-side-item:hover{background:var(--c2);color:var(--ink);}
.set-side-item.active{background:var(--ink);color:var(--c);}
.set-side-item svg{width:17px;height:17px;flex-shrink:0;}
.set-side-item.hidden-by-search{display:none;}

.set-main{flex:1;overflow-y:auto;padding:24px 32px 32px;background:var(--c);}
.set-sec{display:block;}
.set-sec.hidden{display:none;}

.set-card{background:var(--c);border:1px solid var(--b);border-radius:12px;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 2px rgba(20,15,10,.04);}
.set-card-hdr{padding:14px 22px 4px;font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink3);font-weight:700;}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;border-top:1px solid var(--b);min-height:54px;}
.set-card-hdr + .set-row{border-top:none;}
.set-row.vert{flex-direction:column;align-items:stretch;gap:10px;}
.set-row-l{flex:1;min-width:0;}
.set-row-name{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.1px;}
.set-row-sub{font-size:12.5px;color:var(--ink3);margin-top:3px;line-height:1.45;}
.set-row-r{flex-shrink:0;display:flex;align-items:center;gap:10px;}
.set-stat-n{font-family:'Playfair Display',serif;font-size:24px;color:var(--gold);font-weight:500;line-height:1;}

.set-input{padding:9px 13px;border-radius:9px;background:var(--c2);border:1px solid var(--b);font-size:14px;color:var(--ink);outline:none;font-family:inherit;transition:all .15s;width:100%;box-sizing:border-box;}
.set-input:focus{background:var(--c);border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,146,74,.12);}
textarea.set-input{resize:vertical;line-height:1.5;min-height:72px;}
.set-emoji-input{width:50px;text-align:center;padding:6px;border-radius:9px;background:var(--c2);border:1px solid var(--b);font-size:20px;outline:none;}

.set-btn{padding:9px 18px;border-radius:9px;background:var(--ink);color:var(--c);font-size:13px;border:1px solid var(--ink);cursor:pointer;font-family:inherit;font-weight:500;transition:all .12s;}
.set-btn:hover{background:#2a221c;transform:translateY(-1px);}
.set-btn.gold{background:var(--gold);border-color:var(--gold);color:white;}
.set-btn.gold:hover{background:var(--gold2);border-color:var(--gold2);}
.set-btn.danger{background:transparent;color:#B03030;border:1px solid rgba(176,48,48,.3);}
.set-btn.danger:hover{background:#B03030;color:white;}
.set-btn.subtle{background:transparent;color:var(--ink2);border:1px solid var(--b);}
.set-btn.subtle:hover{background:var(--c2);}

/* Existing utility classes for compat inside modal */
.set-modal .tog{position:relative;width:44px;height:26px;border-radius:26px;background:var(--b);cursor:pointer;transition:.22s cubic-bezier(.16,1,.3,1);flex-shrink:0;}
.set-modal .tog::after{content:'';position:absolute;left:2px;top:2px;width:22px;height:22px;border-radius:50%;background:white;transition:.22s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px rgba(0,0,0,.18);}
.set-modal .tog.on{background:var(--gold);}
.set-modal .tog.on::after{transform:translateX(18px);}

.set-modal .fbtns,.set-modal .ssbbtns,.set-modal .lbtns{display:flex;gap:4px;background:var(--c2);padding:3px;border-radius:9px;}
.set-modal .fbtn,.set-modal .ssbbtn,.set-modal .lbtn{background:transparent;border:none;font-family:inherit;padding:6px 12px;border-radius:7px;font-size:12.5px;color:var(--ink2);cursor:pointer;transition:all .12s;font-weight:500;}
.set-modal .fbtn.active,.set-modal .ssbbtn.active,.set-modal .lbtn.active{background:var(--c);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);}

.set-modal .cswatches{display:flex;gap:8px;}
.set-modal .cswatch{width:28px;height:28px;border-radius:50%;cursor:pointer;transition:transform .12s;border:2px solid var(--c);box-shadow:0 0 0 1px var(--b);}
.set-modal .cswatch:hover{transform:scale(1.1);}
.set-modal .cswatch.active{box-shadow:0 0 0 2px var(--ink);transform:scale(1.1);}

.set-modal .sav{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));display:flex;align-items:center;justify-content:center;color:white;font-size:18px;font-weight:600;font-family:'Playfair Display',serif;overflow:hidden;cursor:pointer;flex-shrink:0;transition:transform .15s;border:3px solid var(--c);box-shadow:0 0 0 1px var(--b);}
.set-modal .sav:hover{transform:scale(1.06);}
.set-modal .sav img{width:100%;height:100%;object-fit:cover;}

@media(max-width:680px){
  .set-modal-overlay{padding:0;}
  .set-modal{border-radius:0;width:100%;max-height:100vh;height:100vh;}
  .set-body{flex-direction:column;}
  .set-side{width:100%;max-height:60px;border-right:none;border-bottom:1px solid var(--b);display:flex;overflow-x:auto;padding:8px;gap:4px;}
  .set-side-item{flex-shrink:0;width:auto;padding:8px 14px;font-size:13px;}
  .set-main{padding:20px 18px;}
}

/* ═══ FULL-PAGE USER DASHBOARD — Instagram Insights style ═══ */
#user-dashboard{
  position:fixed;inset:0;z-index:180;
  background:linear-gradient(180deg, #FAFAFA 0%, #F4F0E8 100%);
  overflow-y:auto;animation:udbIn .25s ease;
  font-family:'DM Sans',sans-serif;
}
body.dark #user-dashboard{background:linear-gradient(180deg, #0F0C09 0%, #1A1411 100%);}
#user-dashboard.hidden{display:none;}
@keyframes udbIn{from{opacity:0;}to{opacity:1;}}

.udb-topbar{
  position:sticky;top:0;z-index:5;
  background:rgba(255,253,247,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--b);
  padding:14px 28px;
  display:flex;align-items:center;gap:16px;
}
body.dark .udb-topbar{background:rgba(15,12,9,.85);}
.udb-brand{display:flex;align-items:center;gap:14px;}
.udb-back{
  width:32px;height:32px;border-radius:9px;
  background:var(--c2);border:1px solid var(--b);
  color:var(--ink);font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .12s;font-family:inherit;
}
.udb-back:hover{background:var(--ink);color:var(--c);border-color:var(--ink);}
.udb-title{font-family:'Playfair Display',serif;font-size:20px;color:var(--ink);font-weight:500;letter-spacing:-.3px;}
.udb-spacer{flex:1;}
.udb-tabs{display:flex;gap:24px;}
.udb-tab{
  background:transparent;border:none;border-bottom:2px solid transparent;
  padding:8px 2px;font-family:inherit;font-size:13px;font-weight:500;
  color:var(--ink3);cursor:pointer;transition:all .12s;
  letter-spacing:.2px;
}
.udb-tab:hover{color:var(--ink2);}
.udb-tab.active{color:var(--ink);border-bottom-color:var(--gold);}

.udb-body{max-width:1180px;margin:0 auto;padding:24px 28px 60px;}

/* Hero — Nisivos quiet/serif aesthetic */
.udb-hero{
  background:transparent;border:none;border-radius:0;
  padding:0 4px 26px;margin-bottom:18px;
  display:flex;align-items:flex-end;gap:24px;justify-content:space-between;flex-wrap:wrap;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--b);
}
.udb-hero-l{display:flex;align-items:center;gap:18px;flex:1;min-width:0;}
.udb-hero-av{
  width:80px;height:80px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:white;font-size:26px;font-weight:500;font-family:'Playfair Display',serif;
  overflow:hidden;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  border:2px solid var(--c);
}
.udb-hero-av img{width:100%;height:100%;object-fit:cover;}
.udb-hero-greet{font-size:11px;color:var(--ink3);letter-spacing:1.8px;font-weight:600;text-transform:uppercase;}
.udb-hero-name{font-family:'Playfair Display',serif;font-size:36px;color:var(--ink);letter-spacing:-.8px;font-weight:500;margin:6px 0 4px;line-height:1.02;}
.udb-hero-since{font-size:12.5px;color:var(--ink3);font-style:italic;}
.udb-hero-r{display:flex;gap:8px;flex-shrink:0;}
.udb-cta{
  background:var(--ink);color:var(--c);
  padding:10px 20px;border-radius:100px;font-size:13px;font-weight:500;
  border:none;cursor:pointer;font-family:inherit;transition:all .12s;
}
.udb-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,15,10,.2);}
.udb-cta.subtle{background:var(--c2);color:var(--ink);}
.udb-cta.subtle:hover{background:var(--b);}

/* Recent-photos strip — square thumbnails, no rainbow */
.udb-storyrow{
  display:none; /* hidden — using full photo grid instead */
}

/* Stat grid — quiet, serif, Nisivos-native */
.udb-stat-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-bottom:24px;background:var(--c);border:1px solid var(--b);
  border-radius:14px;overflow:hidden;
}
@media(max-width:700px){.udb-stat-grid{grid-template-columns:repeat(2,1fr);}}
.udb-stat-card{
  background:var(--c);
  padding:22px 24px;cursor:pointer;transition:background .12s;
  position:relative;
  border-right:1px solid var(--b);border-bottom:1px solid var(--b);
}
.udb-stat-card:hover{background:var(--c2);}
.udb-stat-card .lbl{
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink3);font-weight:600;margin-bottom:10px;
}
.udb-stat-card .lbl .ic{display:none;}
.udb-stat-card .val{
  font-family:'Playfair Display',serif;
  font-size:42px;font-weight:500;line-height:1;
  margin-bottom:6px;color:var(--ink);letter-spacing:-.8px;
  font-variant-numeric:tabular-nums;
}
.udb-stat-card .delta{
  font-size:12px;color:var(--ink3);
}
.udb-stat-card .delta.up{color:#15803d;}
.udb-stat-card .delta.down{color:#b91c1c;}
.udb-stat-card .spark{display:none;}

/* Photo grid in My Photos tab — IG style with hover overlays */
.udb-photo-card{position:relative;}
.udb-photo-card .meta{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.7));
  color:white;display:flex;justify-content:center;align-items:center;gap:18px;
  opacity:0;transition:opacity .15s;font-size:14px;font-weight:600;
}
.udb-photo-card:hover .meta{opacity:1;}
.udb-photo-card .meta span{display:flex;align-items:center;gap:5px;}

/* Card system */
.udb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media(max-width:780px){.udb-row{grid-template-columns:1fr;}}
.udb-card{background:var(--c);border:1px solid var(--b);border-radius:14px;margin-bottom:14px;overflow:hidden;}
.udb-card.half{margin-bottom:0;}
.udb-card-hdr{padding:14px 22px 4px;font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink3);font-weight:700;}
.udb-card-body{padding:14px 22px;font-size:13px;color:var(--ink2);}

/* Toolbar (photos tab) */
.udb-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.udb-toolbar-l{display:flex;align-items:center;gap:12px;}
.udb-toolbar-count{font-size:13px;color:var(--ink3);}
.udb-input{padding:8px 12px;border-radius:9px;background:var(--c);border:1px solid var(--b);font-size:13px;color:var(--ink);outline:none;font-family:inherit;}
.udb-input:focus{border-color:var(--gold);}

.udb-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.udb-photo-card{
  background:var(--c);border:1px solid var(--b);border-radius:12px;
  overflow:hidden;cursor:pointer;transition:all .15s;
}
.udb-photo-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.udb-photo-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;}
.udb-photo-card .meta{padding:10px 12px;display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink3);}
.udb-photo-card .meta strong{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;}
.udb-photo-tile{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--c2);}
.udb-photo-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s;}
.udb-photo-tile:hover img{transform:scale(1.03);}
.udb-photo-tile-ov{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));color:white;padding:8px 10px;font-size:11.5px;}
.udb-saved-x{position:absolute;top:7px;right:7px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:white;font-size:11px;cursor:pointer;opacity:0;transition:opacity .15s;}
.udb-photo-tile:hover .udb-saved-x{opacity:1;}

/* List rows inside cards */
.udb-list-row{
  display:flex;align-items:center;gap:11px;padding:10px 22px;
  border-top:1px solid var(--b);cursor:pointer;transition:background .12s;
}
.udb-list-row:first-child{border-top:none;}
.udb-list-row:hover{background:var(--c2);}
.udb-list-row .av{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:white;font-size:11px;font-weight:600;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;
}
.udb-list-row .av img{width:100%;height:100%;object-fit:cover;}
.udb-list-row .what{flex:1;font-size:13px;color:var(--ink2);min-width:0;line-height:1.4;}
.udb-list-row .what strong{color:var(--ink);font-weight:600;}
.udb-list-row .when{font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums;flex-shrink:0;}
.udb-list-row .thumb{width:34px;height:34px;border-radius:6px;object-fit:cover;flex-shrink:0;}

/* Empty state */
.udb-empty{padding:50px 20px;text-align:center;color:var(--ink3);}
.udb-empty .emoji{font-size:38px;opacity:.5;margin-bottom:10px;}
.udb-empty .ttl{font-size:14px;color:var(--ink2);font-weight:500;margin-bottom:3px;}
.udb-empty .sub{font-size:12px;}

/* ═══ PHOTO INSIGHTS modal ═══ */
#photo-insights{
  position:fixed;inset:0;z-index:400;
  background:rgba(15,10,5,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:24px;
  animation:setFadeIn .2s ease;overflow-y:auto;
}
#photo-insights.hidden{display:none;}
.pi-modal{
  width:min(560px,100%);max-height:min(700px,calc(100vh - 60px));
  background:var(--c);border:1px solid var(--b);border-radius:18px;
  box-shadow:0 24px 60px rgba(15,10,5,.3);
  display:flex;flex-direction:column;overflow:hidden;
  font-family:'DM Sans',sans-serif;
  animation:setSlideIn .25s cubic-bezier(.2,.9,.3,1.05);
}
.pi-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--b);}
.pi-ttl{font-family:'Playfair Display',serif;font-size:18px;color:var(--ink);font-weight:500;}
.pi-x{width:30px;height:30px;border-radius:50%;background:var(--c2);border:none;color:var(--ink2);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;transition:all .12s;}
.pi-x:hover{background:var(--ink);color:var(--c);}
.pi-body{flex:1;overflow-y:auto;}
.pi-stats{display:flex;gap:14px;padding:18px 22px;border-bottom:1px solid var(--b);background:var(--c2);}
.pi-stat{flex:1;text-align:center;}
.pi-stat .n{font-family:'Playfair Display',serif;font-size:28px;font-weight:500;color:var(--gold);line-height:1;}
.pi-stat .l{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink3);margin-top:4px;font-weight:700;}
.pi-tabs{display:flex;border-bottom:1px solid var(--b);background:var(--c);}
.pi-tabbtn{
  flex:1;background:transparent;border:none;padding:11px 14px;font-family:inherit;
  font-size:12.5px;color:var(--ink3);cursor:pointer;font-weight:500;
  border-bottom:2px solid transparent;transition:all .12s;
}
.pi-tabbtn.active{color:var(--ink);border-bottom-color:var(--gold);}

.pi-list{padding:0;}

/* User dashboard hero (inside Settings → My Dashboard) */
.usr-hero{
  background:linear-gradient(135deg,var(--gold) 0%, var(--gold2) 100%);
  color:white;border-radius:14px;padding:22px 24px;margin-bottom:14px;
  box-shadow:0 6px 20px rgba(184,146,74,.18);
  position:relative;overflow:hidden;
}
.usr-hero::before{content:'';position:absolute;top:-60%;right:-30%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,255,255,.18),transparent 60%);pointer-events:none;}
.usr-hero-greet{font-size:12.5px;opacity:.85;letter-spacing:.3px;margin-bottom:3px;}
.usr-hero-name{font-family:'Playfair Display',serif;font-size:24px;letter-spacing:-.4px;margin-bottom:16px;font-weight:500;}
.usr-hero-stats{display:flex;gap:24px;flex-wrap:wrap;}
.usr-hero-stat{}
.usr-hero-stat .n{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;line-height:1;}
.usr-hero-stat .l{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;opacity:.85;margin-top:4px;}

/* Density variants (applied via body[data-density]) */
body[data-density="compact"] .feed-content .photo-row{gap:4px;}
body[data-density="compact"] .chat-msg{padding-top:2px;padding-bottom:2px;}
body[data-density="comfortable"] .feed-content .photo-row{gap:14px;}
body[data-density="comfortable"] .chat-msg{padding-top:8px;padding-bottom:8px;}

/* Corner radius variants */
body[data-radius="sharp"] .pi,body[data-radius="sharp"] .chat-photo{border-radius:0;}
body[data-radius="bubble"] .pi,body[data-radius="bubble"] .chat-photo{border-radius:20px;}

/* Accessibility */
body.a11y--reduce--motion *,
body.a11y--reduce--motion *::before,
body.a11y--reduce--motion *::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
body.a11y--high--contrast{--b:rgba(0,0,0,.30);--ink3:#3a322a;}
body.a11y--high--contrast.dark{--b:rgba(255,255,255,.40);--ink3:#c8c0b5;}
body.a11y--underline--links a{text-decoration:underline !important;}


/* NOTIFICATIONS */
.nbell{position:relative;background:none;border:none;color:var(--ink3);display:flex;align-items:center;padding:5px;border-radius:8px;transition:color .2s;cursor:pointer;}
.nbell:hover{color:var(--gold);}
.nbell svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;}
.nbadge{position:absolute;top:1px;right:1px;width:8px;height:8px;border-radius:50%;background:#D44;border:2px solid var(--c);display:none;}
.nbadge.show{display:block;}
#notif-drawer{position:fixed;top:60px;right:1rem;width:320px;max-height:480px;background:var(--c);border:1px solid var(--b);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.15);z-index:200;display:none;flex-direction:column;overflow:hidden;}
#notif-drawer.open{display:flex;}
.ndrawer-hdr{padding:.875rem 1rem;border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;}
.ndrawer-hdr span{font-size:13px;font-weight:500;letter-spacing:.5px;color:var(--ink);}
.ndrawer-clear{background:none;border:none;font-size:11px;color:var(--ink3);cursor:pointer;padding:3px 8px;border-radius:6px;transition:all .2s;}
.ndrawer-clear:hover{color:var(--gold);background:rgba(184,146,74,.08);}
.ndrawer-list{overflow-y:auto;flex:1;}
.nitem{padding:.75rem 1rem;border-bottom:1px solid var(--b);display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;transition:background .15s;}
.nitem:hover{background:var(--c2);}
.nitem.unread{background:rgba(184,146,74,.06);}
.nitem-av{width:34px;height:34px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:11px;color:white;font-weight:600;flex-shrink:0;overflow:hidden;}
.nitem-av img{width:100%;height:100%;object-fit:cover;}
.nitem-bd{flex:1;min-width:0;}
.nitem-txt{font-size:13px;color:var(--ink);line-height:1.4;}
.nitem-txt b{font-weight:600;}
.nitem-time{font-size:11px;color:var(--ink3);margin-top:2px;}
.nitem-thumb{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0;}
.ndrawer-empty{padding:3rem 1rem;text-align:center;color:var(--ink3);font-size:13px;}

/* ════════════════════════════════════════════════════════════════ */
/*  SITE FOOTER — professional, restrained, gold-accented            */
/* ════════════════════════════════════════════════════════════════ */
#site-footer{
  position:relative;
  margin-top:80px;
  background:var(--c2);
  color:var(--ink2);
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','DM Sans',sans-serif;
}
.ft-rule{
  height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(184,146,74,0) 8%,
    rgba(184,146,74,.5) 50%,
    rgba(184,146,74,0) 92%,
    transparent 100%);
}
.ft-shell{
  max-width:1240px;margin:0 auto;
  padding:64px 48px 40px;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:56px;
}
.ft-brand{max-width:340px;}
.ft-logo{
  font-family:'Cormorant Garamond','EB Garamond','Garamond',Georgia,serif;
  font-size:30px;letter-spacing:-.01em;
  color:var(--ink);font-weight:500;line-height:1;
  margin-bottom:18px;
}
.ft-tag{
  font-size:13.5px;line-height:1.65;
  color:var(--ink3);
}
.ft-col{display:flex;flex-direction:column;gap:14px;}
.ft-hd{
  font-size:11px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;
  color:var(--ink3);
  margin-bottom:6px;
}
.ft-lk{
  font-size:14px;color:var(--ink2);
  cursor:pointer;text-decoration:none;
  transition:color .15s;
  display:inline-block;
  width:fit-content;
}
.ft-lk:hover{color:var(--gold);}
.ft-bar{
  max-width:1240px;margin:0 auto;
  padding:24px 48px 36px;
  border-top:1px solid var(--b);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:14px;
  font-size:12px;color:var(--ink3);
}
.ft-status{letter-spacing:.01em;}
.ft-copy{letter-spacing:.02em;}

/* Hide footer when chat / slideshow tabs are full-height */
body[data-tab="chat"] #site-footer,
body[data-tab="slideshow"] #site-footer{display:none;}

/* Dark mode */
body.dark #site-footer{background:#141414;color:rgba(255,255,255,.7);}
body.dark .ft-rule{
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(184,146,74,0) 8%,
    rgba(184,146,74,.45) 50%,
    rgba(184,146,74,0) 92%,
    transparent 100%);
}
body.dark .ft-logo{color:rgba(255,255,255,.92);}
body.dark .ft-tag,
body.dark .ft-hd,
body.dark .ft-bar{color:rgba(255,255,255,.45);}
body.dark .ft-lk{color:rgba(255,255,255,.7);}
body.dark .ft-lk:hover{color:var(--gold);}
body.dark .ft-bar{border-top-color:rgba(255,255,255,.06);}

/* Tablet */
@media (max-width:1000px){
  .ft-shell{
    grid-template-columns:1fr 1fr;
    gap:44px 36px;
    padding:54px 32px 32px;
  }
  .ft-brand{grid-column:1/-1;max-width:none;}
  .ft-bar{padding:22px 32px 30px;}
}

/* Mobile */
@media (max-width:600px){
  #site-footer{margin-top:48px;}
  .ft-shell{
    grid-template-columns:1fr;
    gap:34px;
    padding:44px 24px 24px;
  }
  .ft-bar{
    padding:20px 24px 28px;
    flex-direction:column;align-items:flex-start;
    gap:8px;
  }
  .ft-logo{font-size:26px;}
}

/* ════════════════════════════════════════════════════════════════ */
/*  LEGAL PAGES — Privacy Policy, Terms of Use                       */
/*  Big serif title, generous whitespace, restrained tone            */
/* ════════════════════════════════════════════════════════════════ */
.legal-page{
  position:fixed;inset:0;z-index:600;
  background:var(--c);overflow-y:auto;
  animation:legalIn .25s cubic-bezier(.16,1,.3,1);
}
@keyframes legalIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.legal-back{
  position:sticky;top:0;
  background:var(--c);
  border:none;color:var(--ink2);
  font-size:13px;font-family:inherit;
  padding:18px 32px;cursor:pointer;
  display:flex;align-items:center;gap:6px;
  z-index:2;border-bottom:1px solid var(--b);
  width:100%;text-align:left;
  transition:color .15s;
}
.legal-back:hover{color:var(--gold);}
.legal-shell{
  max-width:760px;margin:0 auto;
  padding:54px 32px 120px;
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','DM Sans',sans-serif;
  color:var(--ink2);
  font-size:15.5px;line-height:1.75;
}
.legal-title{
  font-family:'Cormorant Garamond','EB Garamond','Garamond',Georgia,serif;
  font-size:64px;font-weight:500;letter-spacing:-.015em;
  color:var(--ink);line-height:1;
  margin-bottom:12px;
}
.legal-meta{
  font-size:14px;color:var(--ink3);
  margin-bottom:54px;
}
.legal-h2{
  font-family:'Cormorant Garamond','EB Garamond','Garamond',Georgia,serif;
  font-size:26px;font-weight:500;letter-spacing:-.005em;
  color:var(--ink);
  margin-top:48px;margin-bottom:14px;
  line-height:1.2;
}
.legal-shell p{margin-bottom:14px;color:var(--ink2);}
.legal-shell strong{color:var(--ink);font-weight:600;}
.legal-ul{
  list-style:none;padding:0;margin:6px 0 14px;
}
.legal-ul li{
  position:relative;padding-left:22px;
  margin-bottom:8px;color:var(--ink2);
  line-height:1.7;
}
.legal-ul li::before{
  content:'';position:absolute;
  left:6px;top:13px;width:4px;height:4px;
  border-radius:50%;background:var(--ink3);
}

@media (max-width:600px){
  .legal-back{padding:14px 18px;}
  .legal-shell{padding:36px 22px 80px;font-size:14.5px;}
  .legal-title{font-size:44px;}
  .legal-meta{margin-bottom:36px;}
  .legal-h2{font-size:22px;margin-top:38px;}
}

/* PWA install link */
.ft-install{color:var(--gold);cursor:pointer;font-weight:500;transition:opacity .15s;}
.ft-install:hover{opacity:.7;}

/* Standalone (installed-app) tweaks — slightly more padding for status bar */
@media (display-mode:standalone){
  nav{padding-top:max(0px, env(safe-area-inset-top));}
  body{padding-bottom:env(safe-area-inset-bottom);}
}

/* ════════════════════════════════════════════════════════════════ */
/*  UNIVERSAL SEARCH — Cmd+K palette                                 */
/* ════════════════════════════════════════════════════════════════ */
#usearch-overlay{
  position:fixed;inset:0;z-index:8000;
  background:rgba(0,0,0,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:14vh;
  animation:usOvIn .15s ease;
}
#usearch-overlay.hidden{display:none;}
@keyframes usOvIn{from{opacity:0;}to{opacity:1;}}

.usearch-box{
  width:640px;max-width:calc(100vw - 32px);max-height:72vh;
  background:var(--c);border-radius:14px;
  box-shadow:0 25px 65px rgba(0,0,0,.28),0 4px 14px rgba(0,0,0,.12);
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--b);
  animation:usBoxIn .18s cubic-bezier(.16,1,.3,1);
}
@keyframes usBoxIn{from{opacity:0;transform:translateY(-12px) scale(.98);}to{opacity:1;transform:none;}}
body.dark .usearch-box{background:#1c1c1e;border-color:rgba(255,255,255,.08);}

.usearch-input-wrap{
  position:relative;display:flex;align-items:center;gap:10px;
  padding:14px 18px;border-bottom:1px solid var(--b);
}
.usearch-input-wrap svg{color:var(--ink3);flex-shrink:0;}
#usearch-input{
  flex:1;background:none;border:none;outline:none;
  font-size:16px;color:var(--ink);
  font-family:inherit;
}
#usearch-input::placeholder{color:var(--ink3);}
.usearch-input-wrap kbd{
  font-family:'SF Mono','Menlo',monospace;font-size:10.5px;
  background:var(--c2);color:var(--ink3);
  padding:2px 7px;border-radius:5px;letter-spacing:.5px;
  border:1px solid var(--b);
}

.usearch-results{
  flex:1;overflow-y:auto;
  padding:6px;min-height:0;
}
.usearch-section{
  font-size:10.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink3);
  padding:10px 14px 4px;
}
.usearch-item{
  display:flex;align-items:center;gap:12px;
  padding:9px 12px;border-radius:9px;cursor:pointer;
  transition:background .1s;
}
.usearch-item.active{background:rgba(184,146,74,.13);}
.usearch-item:hover{background:rgba(184,146,74,.10);}
body.dark .usearch-item.active,body.dark .usearch-item:hover{background:rgba(184,146,74,.18);}

.usearch-item .us-ic{
  width:32px;height:32px;border-radius:8px;background:var(--c2);
  display:flex;align-items:center;justify-content:center;font-size:15px;
  color:var(--ink2);flex-shrink:0;
}
.usearch-item .us-av,
.usearch-item .us-thumb{
  width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0;
  background:var(--c2);
}
.usearch-item .us-av img,
.usearch-item .us-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.usearch-item .us-av-init{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:white;font-size:12px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.usearch-item .us-av{border-radius:50%;}
.usearch-item .us-text{flex:1;min-width:0;}
.usearch-item .us-lbl{
  font-size:14px;color:var(--ink);font-weight:500;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.usearch-item .us-sub{
  font-size:11.5px;color:var(--ink3);margin-top:1px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.usearch-item .us-meta{
  font-size:10.5px;color:var(--ink3);letter-spacing:.3px;
  padding:2px 7px;background:var(--c2);border-radius:5px;
  flex-shrink:0;
}

.usearch-empty{
  padding:36px 18px;text-align:center;color:var(--ink3);font-size:13.5px;
}

.usearch-foot{
  display:flex;gap:14px;align-items:center;
  padding:9px 16px;border-top:1px solid var(--b);
  font-size:11px;color:var(--ink3);
  background:var(--c2);flex-shrink:0;
}
.usearch-foot kbd{
  font-family:'SF Mono','Menlo',monospace;font-size:10px;
  background:var(--c);border:1px solid var(--b);
  padding:1px 5px;border-radius:4px;margin-right:4px;
  color:var(--ink2);
}
.usearch-foot .usearch-hint{margin-left:auto;color:var(--ink3);opacity:.7;}

/* Nav search button */
.nsearch{
  width:36px;height:36px;border-radius:50%;
  background:none;border:none;
  color:var(--ink2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
}
.nsearch:hover{background:var(--c2);color:var(--gold);}
.nsearch svg{display:block;}

/* Hide search nav button on chat tab (it has its own search) — optional */
@media (max-width:600px){
  .nsearch{width:32px;height:32px;}
}

/* Flash a chat message into view (used by search) */
.chat-msg-flash{
  animation:chatMsgFlash 1.6s ease;
}
@keyframes chatMsgFlash{
  0%,100%{background:transparent;}
  20%,80%{background:rgba(184,146,74,.20);}
}

/* ════════════════════════════════════════════════════════════════ */
/*  GET APP — nav button + install modal                              */
/* ════════════════════════════════════════════════════════════════ */
.nget-app{
  display:flex;align-items:center;gap:5px;
  background:var(--gold);color:white;
  border:none;font-family:inherit;font-weight:600;font-size:11.5px;
  padding:7px 12px;border-radius:100px;cursor:pointer;
  letter-spacing:.2px;
  box-shadow:0 1px 4px rgba(184,146,74,.3);
  transition:transform .15s,background .15s,box-shadow .15s;
}
.nget-app:hover{background:#A07F3F;transform:translateY(-1px);box-shadow:0 3px 8px rgba(184,146,74,.4);}
.nget-app svg{flex-shrink:0;}
@media (max-width:600px){
  .nget-app span{display:none;}
  .nget-app{padding:7px 9px;}
}

/* Install modal */
#install-modal{
  position:fixed;inset:0;z-index:8500;
  background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:18px;
  animation:imOvIn .18s ease;
}
#install-modal.hidden{display:none;}
@keyframes imOvIn{from{opacity:0;}to{opacity:1;}}

.im-box{
  position:relative;
  width:520px;max-width:100%;max-height:90vh;
  background:var(--c);color:var(--ink);
  border-radius:18px;
  box-shadow:0 25px 65px rgba(0,0,0,.32),0 4px 14px rgba(0,0,0,.14);
  padding:36px 32px 26px;
  overflow-y:auto;
  animation:imBoxIn .22s cubic-bezier(.16,1,.3,1);
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','DM Sans',sans-serif;
}
body.dark .im-box{background:#1c1c1e;border:1px solid rgba(255,255,255,.08);}
@keyframes imBoxIn{from{opacity:0;transform:translateY(20px) scale(.96);}to{opacity:1;transform:none;}}

.im-x{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;border-radius:50%;
  background:none;border:none;cursor:pointer;
  font-size:14px;color:var(--ink3);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
}
.im-x:hover{background:var(--c2);color:var(--ink);}

.im-icon{
  width:78px;height:78px;
  margin:0 auto 18px;
  border-radius:20px;overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.12),0 2px 4px rgba(0,0,0,.06);
  background:var(--c2);
}
.im-icon img{width:100%;height:100%;object-fit:cover;display:block;}

.im-title{
  font-family:'Cormorant Garamond','EB Garamond','Garamond',Georgia,serif;
  font-size:28px;font-weight:500;text-align:center;
  letter-spacing:-.01em;line-height:1.2;
  margin-bottom:10px;
}
.im-sub{
  text-align:center;font-size:13.5px;color:var(--ink3);
  line-height:1.55;max-width:380px;margin:0 auto 22px;
}

.im-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;
  background:var(--gold);color:white;
  border:none;font-family:inherit;font-weight:600;font-size:14px;
  padding:13px;border-radius:11px;cursor:pointer;
  margin-bottom:8px;letter-spacing:.2px;
  box-shadow:0 2px 8px rgba(184,146,74,.34);
  transition:transform .15s,background .15s,box-shadow .15s;
}
.im-cta:hover{background:#A07F3F;transform:translateY(-1px);box-shadow:0 4px 14px rgba(184,146,74,.42);}
.im-cta-sub{
  text-align:center;font-size:11.5px;color:var(--ink3);
  margin-bottom:22px;
}

.im-installed-pill{
  display:flex;align-items:center;justify-content:center;gap:7px;
  background:rgba(61,122,74,.12);color:#3D7A4A;
  border:1px solid rgba(61,122,74,.25);
  padding:11px;border-radius:11px;
  font-size:13.5px;font-weight:500;
  margin-bottom:10px;
}
body.dark .im-installed-pill{background:rgba(74,160,90,.16);color:#7AC78A;}

.im-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:4px;
  background:var(--c2);
  border-radius:10px;padding:3px;
  margin-bottom:18px;
}
.im-tab{
  background:none;border:none;cursor:pointer;font-family:inherit;
  font-size:12px;color:var(--ink3);font-weight:500;
  padding:8px 4px;border-radius:8px;
  transition:all .15s;
}
.im-tab:hover{color:var(--ink);}
.im-tab.active{background:var(--c);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600;}
body.dark .im-tab.active{background:#2c2c2e;}

.im-pane{display:flex;flex-direction:column;gap:11px;}
.im-pane.hidden{display:none;}
.im-section-ttl{
  font-size:11px;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--ink3);font-weight:600;
  margin-bottom:2px;
}
.im-step{
  display:flex;align-items:flex-start;gap:11px;
  font-size:13.5px;line-height:1.55;color:var(--ink2);
}
.im-step .n{
  flex-shrink:0;
  width:24px;height:24px;border-radius:50%;
  background:var(--c2);color:var(--ink2);
  display:flex;align-items:center;justify-content:center;
  font-weight:600;font-size:11.5px;font-variant-numeric:tabular-nums;
  margin-top:1px;
}
.im-step strong{color:var(--ink);font-weight:600;}
.im-inline-ic{
  display:inline-block;vertical-align:-2px;
  margin:0 2px;color:var(--ink2);
}

.im-foot{
  display:flex;gap:8px;align-items:flex-start;
  margin-top:24px;padding-top:18px;
  border-top:1px solid var(--b);
  font-size:11.5px;color:var(--ink3);line-height:1.55;
}
.im-foot svg{margin-top:2px;flex-shrink:0;color:var(--gold);}

@media (max-width:560px){
  .im-box{padding:28px 22px 22px;}
  .im-title{font-size:23px;}
  .im-tabs{grid-template-columns:repeat(2,1fr);}
}

/* Download buttons in install modal */
#im-downloads{margin-bottom:18px;}
.im-dl-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.im-dl-btn{
  display:flex;align-items:center;gap:11px;
  background:var(--ink);color:#F8F4EE;
  padding:13px 14px;border-radius:11px;
  text-decoration:none;
  transition:transform .15s,background .15s,box-shadow .15s;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.im-dl-btn:hover{background:#2C241C;transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.18);}
.im-dl-btn svg{flex-shrink:0;}
.im-dl-text{flex:1;min-width:0;}
.im-dl-pri{font-size:13px;font-weight:600;letter-spacing:.2px;}
.im-dl-sec{font-size:10.5px;color:rgba(248,244,238,.55);letter-spacing:.2px;margin-top:1px;}

.im-or{
  text-align:center;position:relative;
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink3);font-weight:500;
  margin:14px 0;
}
.im-or::before,.im-or::after{
  content:'';position:absolute;top:50%;width:calc(50% - 70px);
  border-top:1px solid var(--b);
}
.im-or::before{left:0;}.im-or::after{right:0;}

@media (max-width:560px){
  .im-dl-row{grid-template-columns:1fr;}
}
