:root{
  /* Date Station — Light iOS/Tinder-ish (NO auto dark mode) */
  --ds-bg-1:#fff6f8;
  --ds-bg-2:#ffe8ef;
  --ds-surface:#ffffff;
  --ds-ink:#0f172a;
  --ds-ink-dim:#475569;
  --ds-stroke:rgba(15,23,42,.10);
  --ds-shadow:0 10px 25px rgba(15,23,42,.08);
  --ds-shadow-strong:0 18px 45px rgba(15,23,42,.14);
  --ds-radius:22px;
  --ds-radius-sm:16px;
  --ds-accent:#ff4d79;
  --ds-accent-2:#ff7aa2;
  --ds-danger:#ff3b30;
  --ds-safe-t: env(safe-area-inset-top, 0px);
  --ds-safe-b: env(safe-area-inset-bottom, 0px);
  --ds-safe-l: env(safe-area-inset-left, 0px);
  --ds-safe-r: env(safe-area-inset-right, 0px);
  --ds-vv: 0px; /* visualViewport offset (chat) */
}

*,*::before,*::after{ box-sizing:border-box }
html,body{ height:100%; margin:0 }
html{
  background: linear-gradient(180deg,var(--ds-bg-1),var(--ds-bg-2));
  color-scheme: light;
  -webkit-text-size-adjust: 100%;
}
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ds-ink);
  background: linear-gradient(180deg,var(--ds-bg-1),var(--ds-bg-2));
  -webkit-text-size-adjust: 100%;
  overflow-x:hidden;
}

a{ color:inherit; text-decoration:none }

/* Background layer */
.ds-bg{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(700px 420px at 20% 0%, rgba(255,77,121,.10) 0%, transparent 60%),
    radial-gradient(900px 520px at 85% 10%, rgba(255,122,162,.12) 0%, transparent 60%),
    linear-gradient(180deg,var(--ds-bg-1),var(--ds-bg-2));
}

/* Page shell */
.ds-page{ min-height:100vh; padding-bottom: calc(84px + var(--ds-safe-b)); }
.wrap{ padding:18px 14px 0; max-width:980px; margin:0 auto; }
.container{ max-width:940px; margin:0 auto; }

/* Titles */
.ds-title{ font-weight:900; letter-spacing:-.02em; font-size:20px; text-align:center; margin:10px 0 14px; }
.ds-subtitle{ font-weight:800; letter-spacing:-.01em; font-size:16px; margin:0 0 10px; }

/* Toast */
.toast{
  position:fixed; top:12px; left:50%; transform:translateX(-50%);
  z-index:3000; background:rgba(255,255,255,.92); color:var(--ds-ink);
  border:1px solid var(--ds-stroke);
  border-radius:999px; padding:10px 14px;
  box-shadow: 0 12px 30px rgba(15,23,42,.14);
  opacity:0; pointer-events:none; transition: opacity .18s ease, transform .18s ease;
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

/* Inputs (global safe defaults) */
input, textarea, select{ font-size:16px; }
input, textarea, select{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.92);
  color: var(--ds-ink);
  outline:none;
}
input::placeholder, textarea::placeholder{ color: rgba(71,85,105,.75); }
input:focus, textarea:focus, select:focus{
  border-color: rgba(255,77,121,.40);
  box-shadow:0 0 0 4px rgba(255,77,121,.10);
}
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill{
  -webkit-text-fill-color: var(--ds-ink);
  box-shadow: 0 0 0 1000px rgba(255,255,255,.96) inset;
  transition: background-color 9999s ease-in-out 0s;
}

/* Buttons */
.ds-btn{
  appearance:none; border:none; border-radius:14px;
  padding:12px 14px; font-weight:800; cursor:pointer;
  background: rgba(15,23,42,.06);
  color: var(--ds-ink);
}
.ds-btn:active{ transform: scale(.99); }
.ds-btn-primary{
  background: linear-gradient(180deg,var(--ds-accent-2),var(--ds-accent));
  color:#fff;
}
.ds-btn-outline{
  background: rgba(255,255,255,.65);
  border:1px solid var(--ds-stroke);
}
.ds-btn-danger{
  background: rgba(255,59,48,.12);
  border:1px solid rgba(255,59,48,.25);
  color: #b42318;
}

/* Card */
.ds-card{
  background: rgba(255,255,255,.78);
  border:1px solid var(--ds-stroke);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow);
}

/* Hero (index) */
.ds-hero{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:22px;
}
.ds-hero-inner{
  width:min(520px, 92vw);
  text-align:center;
  padding:22px 18px;
}
.ds-logo{
  margin:0;
  font-size:34px;
  font-weight:1000;
  letter-spacing:-.03em;
  background: linear-gradient(180deg,var(--ds-ink), rgba(15,23,42,.65));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.ds-tagline{ margin:10px 0 18px; color:var(--ds-ink-dim); font-weight:650; }
.ds-primary{
  display:inline-flex; justify-content:center; align-items:center;
  padding:14px 16px;
  border-radius: 16px;
  font-weight:900;
  background: linear-gradient(180deg,var(--ds-accent-2),var(--ds-accent));
  color:#fff;
  box-shadow: var(--ds-shadow-strong);
}

/* Auth (signup/login) */
.ds-auth-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px 14px;
}
.ds-auth{
  width:min(440px, 100%);
  padding:18px 16px 16px;
}
.ds-auth-title{
  margin:2px 0 10px;
  text-align:center;
  font-weight:950;
  font-size:24px;
  letter-spacing:-.02em;
}
.ds-field{ margin:10px 0; }
.ds-label{ display:block; font-weight:800; font-size:12px; color:var(--ds-ink-dim); margin:0 0 6px 4px; }
.ds-input{ padding:12px 14px; }
.ds-auth-actions{ display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.ds-muted{ font-size:13px; color:var(--ds-ink-dim); text-align:center; }
.ds-link{ text-decoration:underline; }
.ds-msg{ text-align:center; font-size:13px; min-height:18px; }
.ds-msg.ok{ color:#16a34a; }
.ds-msg.err{ color:#dc2626; }
.ds-legal{ margin-top:10px; text-align:center; font-size:12px; color:var(--ds-ink-dim); }
.ds-legal a{ text-decoration:underline; }

/* Tabbar */
.ds-tabbar{
  position:fixed; left:0; right:0; bottom:0; z-index:2000;
  padding:10px 12px calc(10px + var(--ds-safe-b));
  background: rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  border-top:1px solid var(--ds-stroke);
}
.ds-tabbar-inner{
  max-width:720px;
  margin:0 auto;
  display:flex;
  gap:8px;
  justify-content:space-between;
  align-items:center;
}
.ds-tab{
  position:relative;
  width:54px; height:44px;
  display:grid; place-items:center;
  border-radius:14px;
  color: rgba(15,23,42,.65);
}
.ds-tab svg{
  width:22px; height:22px;
  stroke: currentColor; stroke-width:1.9;
  fill:none; stroke-linecap:round; stroke-linejoin:round;
}
.ds-tab.is-active,
.ds-tab[aria-current="page"]{
  background: rgba(15,23,42,.06);
  color: var(--ds-ink);
}
.ds-badge{
  position:absolute; top:6px; right:10px;
  min-width:18px; height:18px; padding:0 5px;
  border-radius:999px;
  background: var(--ds-danger);
  color:#fff;
  font-size:11px; font-weight:900;
  display:none; align-items:center; justify-content:center;
  border:2px solid rgba(255,255,255,.95);
}
.ds-badge.show{ display:flex; }

/* Likes grid cards */
.likesGrid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.miniCard{
  border-radius:18px;
  overflow:hidden;
  background: var(--ds-surface);
  border:1px solid var(--ds-stroke);
  box-shadow: var(--ds-shadow);
  cursor:pointer;
}
.miniPhoto{ width:100%; aspect-ratio:1/1; background:#f1f5f9; }
.miniPhoto img{ width:100%; height:100%; object-fit:cover; display:block; }
.miniLabel{ padding:10px 10px 12px; display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.miniName{ margin:0; font-weight:950; font-size:14px; line-height:1.1; }
.miniAge{ margin:0; font-weight:900; font-size:13px; color:var(--ds-ink-dim); }

/* Overlay / sheet (shared) */
.overlay{ position:fixed; inset:0; z-index:2500; display:none; }
.overlay.open{ display:block; }
.overlay .scrim{ position:absolute; inset:0; background: rgba(15,23,42,.35); }
.sheet{
  position:absolute; left:0; right:0; bottom:0;
  max-height:88vh;
  background: rgba(255,255,255,.96);
  border-top-left-radius:22px; border-top-right-radius:22px;
  border:1px solid var(--ds-stroke);
  box-shadow: 0 -20px 40px rgba(15,23,42,.18);
  overflow:hidden;
}
.sheetTop{
  height:54px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 12px;
  border-bottom:1px solid var(--ds-stroke);
}
.iconBtn{
  width:38px; height:38px;
  border-radius:12px;
  border:1px solid var(--ds-stroke);
  background: rgba(15,23,42,.04);
  cursor:pointer;
  display:grid; place-items:center;
}
.sheetBody{ padding:12px; overflow:auto; max-height:calc(88vh - 54px); -webkit-overflow-scrolling:touch; }
.sheetPhotos{ display:grid; gap:10px; }
.sheetPhotos img{ width:100%; aspect-ratio:3/4; border-radius:18px; object-fit:cover; display:block; background:#f1f5f9; }
.sheetPhotos.two{ grid-template-columns:1fr 1fr; }

/* Swipe */
.ds-swipe{ min-height:100vh; display:flex; flex-direction:column; }
.ds-swipe-main{ flex:1; display:flex; flex-direction:column; gap:14px; padding:14px; }
.ds-stack{ flex:1; display:flex; align-items:center; justify-content:center; position:relative; }
.ds-swipe-card{
  width:min(92vw, 420px);
  aspect-ratio:3/4;
  border-radius: var(--ds-radius);
  background: rgba(255,255,255,.88);
  border:1px solid var(--ds-stroke);
  box-shadow: var(--ds-shadow-strong);
  overflow:hidden;
  position:absolute;
  cursor:pointer;
  touch-action: pan-y;
  will-change: transform, opacity;
}
.ds-swipe-photo{ position:relative; width:100%; height:100%; background:#f1f5f9; }
.ds-swipe-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.ds-swipe-badge{
  position:absolute; left:10px; right:10px; bottom:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.10);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  display:flex; justify-content:space-between; align-items:center; gap:10px;
}
.ds-swipe-name{ font-size:18px; font-weight:950; }
.ds-swipe-tags{ font-size:12px; color:var(--ds-ink-dim); font-weight:750; }
.ds-swipe-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:26px;
  position:fixed;
  left:0; right:0;
  bottom: calc(84px + var(--ds-safe-b));
  z-index:2200;
  padding:10px 0 6px;
  pointer-events:none;
}
.ds-swipe-actions > *{ pointer-events:auto; }

/* Ensure stack stays above actions */
.ds-swipe-stack{ flex:1; display:flex; align-items:center; justify-content:center; position:relative; padding:0 14px calc(120px + var(--ds-safe-b)); }

.ds-round{
  width:62px; height:62px;
  border-radius:999px;
  border:1px solid var(--ds-stroke);
  background: rgba(255,255,255,.88);
  box-shadow: var(--ds-shadow);
  cursor:pointer;
  display:grid; place-items:center;
}
.ds-round svg{ width:26px; height:26px; stroke-width:2.2; }
.ds-round.like{ border-color: rgba(255,77,121,.25); }
.ds-round.nope{ border-color: rgba(15,23,42,.10); }

.ds-empty{
  width:min(92vw,420px);
  padding:16px;
  text-align:center;
  border-radius:18px;
  background: rgba(255,255,255,.78);
  border:1px solid var(--ds-stroke);
  box-shadow: var(--ds-shadow);
  color: var(--ds-ink-dim);
  font-weight:800;
}

/* Profile form */
.ds-form{ padding:14px; }
.ds-form-card{ width:min(760px, 92vw); padding:16px; margin:0 auto; }
.ds-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:520px){ .ds-grid-2{ grid-template-columns:1fr; } }
.ds-textarea{ min-height:96px; resize:vertical; padding:12px 14px; }

.ds-photo-row{ display:flex; gap:12px; align-items:center; }
.ds-photo-box{
  width:92px; height:92px;
  border-radius:18px;
  overflow:hidden;
  background:#f1f5f9;
  border:1px solid var(--ds-stroke);
}
.ds-photo-box img{ width:100%; height:100%; object-fit:cover; display:block; }
.ds-fileline{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.ds-filename{ font-size:13px; color:var(--ds-ink-dim); }
.ds-note{ font-size:12px; color:var(--ds-ink-dim); margin-top:6px; }

.ds-actions{ display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; padding-top:6px; }

/* Chips (filters) */
.ds-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.ds-chip{
  border:1px solid var(--ds-stroke);
  background: rgba(255,255,255,.72);
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  font-size:13px;
  color: rgba(15,23,42,.72);
  cursor:pointer;
}
.ds-chip.is-active{
  background: rgba(255,77,121,.14);
  border-color: rgba(255,77,121,.28);
  color: var(--ds-ink);
}

/* Carousel (profile preview) */
.ds-carousel{
  position:relative;
  width:100%;
  border-radius: var(--ds-radius);
  overflow:hidden;
  background:#f1f5f9;
  border:1px solid var(--ds-stroke);
}
.ds-carousel-track{
  display:flex;
  width:100%;
  transform: translateX(0);
  transition: transform .18s ease;
  will-change: transform;
}
.ds-carousel-slide{ min-width:100%; aspect-ratio:3/4; position:relative; }
.ds-carousel-slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.ds-carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.35);
  color:#fff;
  display:none;
  align-items:center;
  justify-content:center;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.ds-carousel.has-2 .ds-carousel-arrow{ display:flex; }
.ds-carousel-arrow svg{ width:18px; height:18px; stroke:#fff; stroke-width:2.4; }
.ds-carousel-arrow.left{ left:10px; }
.ds-carousel-arrow.right{ right:10px; }
.ds-dots{ position:absolute; left:0; right:0; top:10px; display:flex; gap:6px; justify-content:center; }
.ds-dot{ width:6px; height:6px; border-radius:50%; background: rgba(255,255,255,.55); }
.ds-dot.is-active{ background:#fff; }

/* Chat */
.ds-chat{ min-height:100vh; display:flex; flex-direction:column; }
.ds-topbar{
  position:sticky; top:0; z-index:10;
  height:56px;
  display:grid;
  grid-template-columns:56px 1fr 56px;
  align-items:center;
  background: rgba(255,255,255,.78);
  border-bottom:1px solid var(--ds-stroke);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.ds-topbar-btn{
  width:56px; height:56px;
  background:none; border:none;
  display:grid; place-items:center;
  cursor:pointer;
  color: rgba(15,23,42,.85);
}
.ds-topbar-title{
  grid-column:2;
  justify-self:center;
  text-align:center;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:0 8px;
}
.ds-chat-wrap{ flex:1; min-height:0; display:flex; flex-direction:column; }

.ds-convos{ list-style:none; margin:0; padding:0; }
.ds-convo{
  display:flex; gap:12px; align-items:center;
  padding:12px 14px;
  cursor:pointer;
  border-bottom:1px solid var(--ds-stroke);
  background: transparent;
  touch-action: pan-y;
}
.ds-convo:hover{ background:rgba(15,23,42,.03); }
.ds-ava{
  width:52px; height:52px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid var(--ds-stroke);
  background:#f1f5f9;
}
.ds-meta{ flex:1; min-width:0; }
.ds-name{ font-weight:950; }
.ds-last{ font-size:13px; color:var(--ds-ink-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ds-time{ font-size:12px; color:rgba(71,85,105,.8); }

.ds-thread{ flex:1; min-height:0; display:flex; flex-direction:column; }
.ds-messages{ flex:1; overflow:auto; padding:12px; display:flex; flex-direction:column; gap:10px; }
.ds-msgrow{ display:flex; align-items:flex-end; gap:8px; }
.ds-msgrow.them{ justify-content:flex-start; }
.ds-msgrow.me{ justify-content:flex-end; }
.ds-msgcol{ display:flex; flex-direction:column; gap:4px; max-width:min(72%, 42ch); }
.ds-bubble{
  padding:10px 12px;
  border-radius:18px;
  line-height:1.35;
  background: rgba(255,255,255,.96);
  color: var(--ds-ink);
  border:1px solid rgba(15,23,42,.08);
  word-wrap:break-word;
  overflow-wrap:anywhere;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  touch-action: manipulation;
}
.ds-msgrow.me .ds-bubble{
  background: linear-gradient(180deg,var(--ds-accent-2),var(--ds-accent));
  color:#fff;
  border:none;
}
.ds-ts{ font-size:11px; color:rgba(71,85,105,.9); }
.ds-msgrow.me .ds-ts{ color: rgba(15,23,42,.45); }
.ds-reactions{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.ds-rx{ font-size:12px; padding:2px 6px; border-radius:12px; background:rgba(15,23,42,.06); border:1px solid var(--ds-stroke); }
.ds-msgrow.me .ds-rx{ background:rgba(255,255,255,.22); border-color: rgba(255,255,255,.25); color:#fff; }

.ds-composer{
  display:grid;
  grid-template-columns:1fr 56px;
  gap:8px;
  padding:8px 8px calc(8px + var(--ds-safe-b));
  border-top:1px solid var(--ds-stroke);
  background: rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  transform: translateY(calc(-1 * var(--ds-vv)));
}
.ds-composer input{
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.96);
}
.ds-composer button{
  border:none;
  border-radius:14px;
  background: rgba(15,23,42,.06);
  font-weight:950;
  cursor:pointer;
}

/* Reaction picker (iMessage-like bubble bar) */
.ds-react-picker{
  position:fixed;
  z-index:4000;
  display:none;
  gap:6px;
  padding:6px;
  border-radius:999px;
  background: rgba(255,255,255,.90);
  border:1px solid var(--ds-stroke);
  box-shadow: 0 12px 30px rgba(15,23,42,.18);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.ds-react-picker.open{ display:flex; }
.ds-react-picker button{
  width:36px; height:36px;
  border-radius:50%;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  cursor:pointer;
  font-size:18px;
}

/* Utility */
.note{
  background: rgba(255,255,255,.78);
  border:1px solid var(--ds-stroke);
  border-radius:16px;
  padding:12px 14px;
  color:var(--ds-ink-dim);
  box-shadow: var(--ds-shadow);
}
.ds-hide{ display:none !important; }

/* === Date Station: aliases + profile/settings additions (table rase UI) === */

/* Content container (used by profile) */
.ds-content{ padding:18px 14px 0; max-width:980px; margin:0 auto; }

/* Icon buttons (used in topbars/sheets) */
.ds-icon-btn{
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid var(--ds-stroke);
  background: rgba(15,23,42,.04);
  cursor:pointer;
  display:grid; place-items:center;
  color: rgba(15,23,42,.85);
}
.ds-icon-btn svg{ width:20px; height:20px; stroke: currentColor; stroke-width:2.2; fill:none; }
.ds-icon-btn svg circle{ fill:none; }

/* Overlay / sheet aliases (profile uses ds-*) */
.ds-overlay{ position:fixed; inset:0; z-index:2500; display:none; }
.ds-overlay.open{ display:block; }
.ds-scrim{ position:absolute; inset:0; background: rgba(15,23,42,.35); }
.ds-sheet{
  position:absolute; left:0; right:0; bottom:0;
  max-height:88vh;
  background: rgba(255,255,255,.96);
  border-top-left-radius:22px; border-top-right-radius:22px;
  border:1px solid var(--ds-stroke);
  box-shadow: 0 -20px 40px rgba(15,23,42,.18);
  overflow:hidden;
}
.ds-sheet-top{
  height:54px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 12px;
  border-bottom:1px solid var(--ds-stroke);
}
.ds-sheet-title{ font-weight:950; }
.ds-sheet-body{ padding:12px; overflow:auto; max-height:calc(88vh - 54px); -webkit-overflow-scrolling:touch; }


/* Profile layout helpers */
.ds-profile{ width:min(820px, 92vw); margin:0 auto; padding:16px; }
.ds-photo-card{ display:flex; flex-direction:column; gap:12px; }
.ds-photo-actions{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:520px){ .ds-photo-actions{ grid-template-columns:1fr; } }
.ds-photo-uploader{ display:flex; flex-direction:column; gap:8px; }
.ds-photo-hint{ font-size:12px; color:var(--ds-ink-dim); }
.ds-photo-note{ font-size:12px; color:var(--ds-ink-dim); }

.ds-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
@media (max-width:520px){ .ds-form-grid{ grid-template-columns:1fr; } }
.ds-field-full{ grid-column:1 / -1; }
.ds-help{ font-size:12px; color:var(--ds-ink-dim); margin-top:6px; }
.ds-row{ display:flex; align-items:center; gap:10px; }
.ds-profile-footer{
  margin-top:14px;
  position: sticky;
  bottom: calc(84px + var(--ds-safe-b));
  padding: 10px 0;
  z-index: 20;
  background: linear-gradient(180deg, rgba(248,250,252,0), rgba(248,250,252,.90) 35%, rgba(248,250,252,.98));
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);

}


/* Preview card inside sheet */
.ds-preview-card{ border-radius:22px; overflow:hidden; border:1px solid var(--ds-stroke); background: rgba(255,255,255,.92); }
.ds-preview-meta{ padding:12px 12px 4px; }
.ds-preview-name{ font-weight:1000; font-size:18px; }
.ds-preview-sub{ font-size:12px; color:var(--ds-ink-dim); margin-top:2px; }
.ds-preview-chips{ padding:0 12px 8px; display:flex; gap:8px; flex-wrap:wrap; }
.ds-preview-bio{ padding:0 12px 14px; color:var(--ds-ink); opacity:.9; white-space:pre-wrap; }

/* Carousel: use scroll-snap (profile JS uses scrollTo) */
.ds-carousel-track{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  transform:none !important;
  transition:none !important;
}
.ds-carousel-track::-webkit-scrollbar{ display:none; }
.ds-carousel-slide{ scroll-snap-align:start; }

/* Carousel dots aliases */
.ds-carousel-dots{ position:absolute; left:0; right:0; top:10px; display:flex; gap:6px; justify-content:center; }
.ds-carousel-dots .dot{ width:6px; height:6px; border-radius:50%; background: rgba(255,255,255,.55); }
.ds-carousel-dots .dot.is-active{ background:#fff; }

/* Settings (iOS-like list) */
.ds-settings-wrap{ padding:18px 14px 0; max-width:760px; margin:0 auto; }
.ds-section{ padding:14px 14px 10px; }
.ds-section-title{ font-weight:1000; margin:0 0 8px; font-size:14px; color: rgba(71,85,105,.9); letter-spacing:-.01em; }
.ds-list{ list-style:none; margin:0; padding:0; }
.ds-list-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 2px; }
.ds-list-row + .ds-list-row{ border-top:1px solid var(--ds-stroke); }
.ds-row-title{ font-weight:950; }
.ds-row-hint{ font-size:12px; color:var(--ds-ink-dim); margin-top:2px; }

.ds-switch{ position:relative; width:48px; height:28px; flex:0 0 auto; }
.ds-switch input{ position:absolute; opacity:0; width:0; height:0; }
.ds-switch-track{
  width:48px; height:28px;
  border-radius:999px;
  background: rgba(15,23,42,.10);
  border:1px solid rgba(15,23,42,.12);
  display:flex; align-items:center;
  padding:0 4px;
  transition: .18s ease;
}
.ds-switch-knob{
  width:22px; height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
  transition: .18s ease;
}
.ds-switch input:checked + .ds-switch-track{
  background: rgba(34,197,94,.22);
  border-color: rgba(34,197,94,.35);
}
.ds-switch input:checked + .ds-switch-track .ds-switch-knob{ transform: translateX(20px); }


/* Chat menu (kebab) */
.ds-menu{
  position:fixed;
  top:60px;
  right:10px;
  z-index:2600;
  display:none;
  min-width:220px;
  background: rgba(255,255,255,.92);
  border:1px solid var(--ds-stroke);
  border-radius:16px;
  overflow:hidden;
  box-shadow: var(--ds-shadow-strong);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.ds-menu.open{ display:block; }
.ds-menu button{
  width:100%;
  border:none;
  background:transparent;
  padding:12px 12px;
  text-align:left;
  font-weight:850;
  color: var(--ds-ink);
  cursor:pointer;
}
.ds-menu button:hover{ background: rgba(15,23,42,.04); }
.ds-menu .danger{ color:#b42318; }

/* Chat view toggles (list/thread) */
.ds-chat .list, .ds-chat .thread{ display:none; height:100%; }
.ds-chat .list.active, .ds-chat .thread.active{ display:flex; flex-direction:column; }


/* Auth modern tweaks */
.ds-auth-card--modern{ text-align:center; }
.ds-auth-card--modern .ds-auth-brand{ letter-spacing:.18em; opacity:.95; }
.ds-auth-card--modern .ds-auth-title{ margin-top:6px; }
.ds-auth-card--modern .ds-field{ text-align:left; }


/* Likes mini grid (2 colonnes) */

/* Likes: profile sheet sizing + actions */
.ds-like-profile{ max-width:420px; margin:0 auto; }
.ds-like-hero{ width:100%; height:min(56vh, 520px); border-radius:22px; overflow:hidden; border:1px solid var(--ds-stroke); background:#f1f5f9; }
.ds-like-hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.ds-like-info{ margin-top:12px; }
.ds-like-title{ font-weight:1000; font-size:18px; letter-spacing:-.01em; }
.ds-like-bio{ margin-top:8px; color:var(--ds-ink-dim); font-size:13px; line-height:1.35; }
.ds-like-actions{ display:flex; justify-content:center; gap:18px; margin-top:14px; }
.ds-like-actions .ds-round{ width:64px; height:64px; }

.ds-mini-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:12px;
}
@media (min-width: 560px){
  .ds-mini-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
.ds-mini-card{
  padding:0;
  border:1px solid var(--ds-stroke);
  border-radius:18px;
  background: rgba(255,255,255,.86);
  box-shadow: var(--ds-shadow);
  overflow:hidden;
  cursor:pointer;
  text-align:left;
}
.ds-mini-card:active{ transform: scale(.99); }
.ds-mini-photo{ width:100%; aspect-ratio:1/1; background:#f1f5f9; }
.ds-mini-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.ds-mini-meta{ padding:10px 10px 12px; font-weight:950; font-size:14px; line-height:1.15; }
