@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@500;600;700&family=Quicksand:wght@400;500;600;700&display=swap');

:root {
  --night: #1a0a2a;
  --night2: #2a1038;
  --pink: #ff69b4;
  --pink-deep: #e84393;
  --pink-soft: #ffb6d9;
  --pink-bg: #fff0f5;
  --pink-box: #ffe4f0;
  --lavender: #e8d4f8;
  --gold: #d4a574;
  --ink: #3a2048;
  --muted: #8a6a8e;
  --white: #fffafc;
  --radius: 22px;
  --shadow: 0 10px 40px rgba(80, 20, 60, 0.12);
  font-family: 'Quicksand', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(ellipse at 10% 0%, #ffe0f0 0%, transparent 40%),
    radial-gradient(ellipse at 90% 20%, #e8d4f8 0%, transparent 35%),
    linear-gradient(180deg, #fff5fb 0%, #ffeef8 40%, #fff0f5 100%);
  min-height: 100vh;
  font-family: 'Quicksand', sans-serif;
}
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; display: block; }

/* ===== TOPBAR ===== */
.topbar {
  height: 72px;
  padding: 0 clamp(16px, 4vw, 48px);
  display: flex;
  align-items: center;
  gap: 20px;
  background: linear-gradient(90deg, #14081f, #1f0d2e 50%, #1a0a2a);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 4px 24px rgba(0,0,0,.35);
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  flex-shrink: 0;
}
.brand .moon {
  font-size: 34px;
  color: #ffe9a8;
  text-shadow: 0 0 12px #ff9ec8;
  line-height: 1;
}
.brand-text {
  font-family: 'Dancing Script', cursive;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .3px;
}
.nav-search {
  flex: 1;
  max-width: 420px;
  margin: 0 auto;
  position: relative;
  display: flex;
}
.nav-search input {
  width: 100%;
  height: 40px;
  border: 0;
  border-radius: 999px;
  padding: 0 44px 0 18px;
  background: #fff;
  font: 500 14px 'Quicksand', sans-serif;
  color: var(--ink);
  outline: none;
}
.nav-search input::placeholder { color: #b0a0b8; }
.nav-search .search-btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #9a8aa5;
  font-size: 18px;
  cursor: pointer;
}
.nav-icons {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.nav-icons a {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 18px;
  color: #fff;
  opacity: .92;
  transition: .2s;
}
.nav-icons a:hover { background: rgba(255,255,255,.12); opacity: 1; }
.nav-menu { position:relative; flex:0 0 auto; }
.nav-menu summary { width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:18px;opacity:.92;cursor:pointer;list-style:none;transition:.2s; }
.nav-menu summary::-webkit-details-marker { display:none; }
.nav-menu summary:hover,.nav-menu[open] summary { background:rgba(255,255,255,.12);opacity:1; }
.nav-icons .nav-menu summary.nav-labeled { width:48px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:10px;line-height:1; }
.nav-icons .nav-menu summary.nav-labeled .nav-icon { font-size:22px;line-height:1; }
.nav-icons .nav-menu summary.nav-labeled .nav-label { font:700 10px/1.1 'Quicksand',sans-serif;letter-spacing:.1px; }
.nav-menu-panel { position:absolute;z-index:20;top:calc(100% + 10px);right:0;width:max-content;min-width:205px;padding:7px;border:1px solid #f0d5e8;border-radius:14px;background:#fff;box-shadow:0 12px 32px #1a0a2a30; }
.nav-menu-panel a { width:100%;height:auto;display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:9px;color:#53345d;font:600 13px 'Quicksand',sans-serif;text-decoration:none;opacity:1; }
.nav-menu-panel a:hover { background:#fff0f8;color:#d83f96; }
.nav-menu-panel a.nav-menu-danger { margin-top:5px;border-top:1px solid #f1dce5;border-radius:0 0 9px 9px;color:#b32945; }
.nav-menu-panel a.nav-menu-danger:hover { background:#fff0f1;color:#a51f36; }
/* Home e Profilo con etichetta sotto l’icona */
.nav-icons a.nav-labeled { width: 48px; height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 10px; font-size: 18px; line-height: 1; }
.nav-icons .nav-labeled .nav-label { font-family: 'Quicksand', sans-serif; font-size: 10px; line-height: 1.1; font-weight: 700; letter-spacing: .1px; }
.nav-icons .nav-labeled .nav-icon { font-size: 19px; line-height: 1; }
@media (max-width: 560px) { .nav-icons { gap: 4px; } .nav-icons a.nav-labeled,.nav-icons .nav-menu summary.nav-labeled { width: 42px; height: 48px; } .nav-icons .nav-labeled .nav-label { font-size: 8px; } }

.nav-admin { color: #ffd6ea !important; display: inline-flex; align-items: center; gap: 5px; padding: 8px 10px; border: 1px solid rgba(255,214,234,.35); border-radius: 999px; background: rgba(255,105,180,.12); }
.nav-admin-label { font-size: 12px; font-weight: 700; }
.nav-admin span[aria-hidden="true"] { font-size: 18px; }

/* ===== BANNER ===== */
.banner { padding: 18px clamp(12px, 3vw, 40px) 0; }
.banner-frame {
  border: 2px solid #e8b87a;
  border-radius: 18px;
  padding: 4px;
  background: linear-gradient(135deg, #f0c090, #e8a0c0, #d4a0e8);
  box-shadow: var(--shadow);
  position: relative;
}
.banner-frame::before,
.banner-frame::after {
  content: '✧';
  position: absolute;
  color: #e8b87a;
  font-size: 18px;
  z-index: 2;
}
.banner-frame::before { top: -2px; left: 8px; }
.banner-frame::after { top: -2px; right: 8px; }
.banner-sky {
  position: relative;
  min-height: 220px;
  border-radius: 14px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 72% 40%, #ff9ec8 0%, transparent 45%),
    radial-gradient(ellipse at 20% 70%, #c080e0 0%, transparent 40%),
    linear-gradient(120deg, #3a1850 0%, #6a2a6e 35%, #c05090 70%, #f080b0 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner-sky.has-image {
  background-size: cover;
  background-position: center;
  min-height: 260px;
}
.banner-sky.has-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(40,10,50,.25), rgba(40,10,50,.45));
  z-index: 1;
}
.banner-sky.has-image .banner-motto { z-index: 2; }
.role-badge.banned {
  background: #3a1020;
  color: #ffb0c0;
}
.banner-sky::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(#fff 1px, transparent 1px),
    radial-gradient(#ffd0e8 1.5px, transparent 1.5px);
  background-size: 48px 48px, 72px 72px;
  background-position: 0 0, 24px 30px;
  opacity: .45;
  animation: twinkle 4s ease-in-out infinite alternate;
}
@keyframes twinkle { from { opacity: .3; } to { opacity: .55; } }
.banner-moon {
  position: absolute;
  right: 12%;
  top: 18%;
  font-size: clamp(80px, 14vw, 140px);
  color: #ffe9a8;
  text-shadow: 0 0 40px #ff9ec8, 0 0 80px #ff69b4;
  transform: rotate(-12deg);
  line-height: 1;
  z-index: 1;
  animation: glow 3s ease-in-out infinite alternate;
}
@keyframes glow {
  from { text-shadow: 0 0 30px #ff9ec8, 0 0 60px #ff69b4; }
  to { text-shadow: 0 0 50px #ffc0e0, 0 0 100px #ff69b4; }
}
.banner-sparkle { position: absolute; color: #ffe9a8; z-index: 1; animation: float 3s ease-in-out infinite; }
.banner-sparkle.s1 { top: 20%; left: 18%; font-size: 18px; }
.banner-sparkle.s2 { top: 35%; left: 40%; font-size: 14px; animation-delay: .5s; }
.banner-sparkle.s3 { bottom: 25%; right: 30%; font-size: 16px; animation-delay: 1s; }
.banner-flower { position: absolute; z-index: 1; font-size: 42px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.2)); }
.banner-flower.f1 { bottom: 8%; left: 10%; animation: float 4s ease-in-out infinite; }
.banner-flower.f2 { bottom: 12%; right: 8%; font-size: 36px; animation: float 3.5s ease-in-out infinite reverse; }
.banner-butterfly { position: absolute; z-index: 1; font-size: 28px; animation: flutter 2.5s ease-in-out infinite; }
.banner-butterfly.b1 { top: 30%; left: 28%; }
.banner-butterfly.b2 { top: 22%; right: 28%; animation-delay: .8s; }
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes flutter {
  0%, 100% { transform: translate(0,0) rotate(-5deg); }
  50% { transform: translate(6px,-10px) rotate(5deg); }
}
.banner-motto {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 16px rgba(80,20,60,.5);
}
.banner-motto p {
  margin: 0;
  font-family: 'Dancing Script', cursive;
  font-size: clamp(28px, 5vw, 48px);
  font-weight: 700;
}
.banner-heart {
  display: block;
  margin-top: 4px;
  font-size: 22px;
  color: #ffd0e8;
}

/* ===== PROFILE IDENTITY ===== */
.profile-identity {
  max-width: 900px;
  margin: -48px auto 0;
  padding: 0 24px;
  display: flex;
  align-items: flex-end;
  gap: 28px;
  position: relative;
  z-index: 5;
}
.avatar-wrap { position: relative; flex-shrink: 0; }
.profile-avatar-story { display: block; width: 140px; height: 140px; border-radius: 50%; }
.profile-avatar-story:focus-visible { outline: 3px solid #a64dff; outline-offset: 5px; }
.avatar, .avatar-fallback {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 4px solid #ff8ec8;
  box-shadow: 0 0 0 4px #fff, 0 8px 28px rgba(232,67,147,.35);
  object-fit: cover;
  background: radial-gradient(circle at 30% 30%, #ffb6d9, #c060a0 60%, #4a2060);
}
.avatar-fallback {
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}
.av-moon { font-size: 72px; color: #ffe9a8; line-height: 1; }
.av-flower { position: absolute; bottom: 18px; right: 22px; font-size: 28px; }
.profile-story-add {
  position: absolute; right: 1px; bottom: 2px; z-index: 2;
  width: 31px; height: 31px; display: grid; place-items: center;
  border: 3px solid #fff; border-radius: 50%;
  background: linear-gradient(135deg, #ff4fa3, #a64dff);
  color: #fff; font: 700 24px/1 "Quicksand", sans-serif;
  text-decoration: none; box-shadow: 0 3px 10px #a83e8b55;
  transition: transform .18s ease, box-shadow .18s ease;
}
.profile-story-add:hover, .profile-story-add:focus-visible {
  transform: scale(1.1); box-shadow: 0 5px 15px #a83e8b77;
  outline: 2px solid #f6c5e2; outline-offset: 2px;
}
.profile-story-add span { transform: translateY(-1px); }
.avatar-heart {
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
  background: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--pink-deep);
  font-size: 14px;
  box-shadow: 0 2px 8px rgba(232,67,147,.3);
  border: 2px solid #ffb6d9;
}
.identity-meta { padding-bottom: 8px; flex: 1; min-width: 0; }
.username {
  margin: 0 0 12px;
  font-family: 'Dancing Script', cursive;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  color: #3a2048;
  line-height: 1.1;
}
.pink-heart { color: var(--pink-deep); font-size: .85em; }
.identity-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.inline-form { display: inline; }

.btn-pink, .button, .pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff69b4, #e84393);
  color: #fff;
  font: 700 14px 'Quicksand', sans-serif;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(232,67,147,.35);
  transition: transform .15s, filter .15s;
}
.btn-pink:hover, .button:hover, .pill:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}
.btn-pink.soft, .button.soft {
  background: linear-gradient(135deg, #ffb6d9, #ff8ec8);
  color: #5a2048;
  box-shadow: 0 4px 14px rgba(255,140,200,.3);
}
.btn-pink.full, .button.full { width: 100%; margin-top: 8px; }
.button.danger {
  background: linear-gradient(135deg, #ff8a9a, #e04060);
  box-shadow: 0 4px 14px rgba(200,40,80,.25);
}

/* ===== STATS ===== */
.stats-bar {
  max-width: 900px;
  margin: 22px auto 0;
  padding: 14px 20px;
  display: flex;
  justify-content: space-around;
  gap: 12px;
  background: linear-gradient(90deg, #ffe0f0, #ffd0e8);
  border-radius: 999px;
  border: 1px solid #ffb6d9;
  box-shadow: 0 4px 16px rgba(232,67,147,.1);
}
.stat {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #6a3a68;
}
.stat strong { color: var(--ink); font-size: 16px; }

/* ===== TOGGLE ===== */
.content-toggle {
  display: flex;
  justify-content: center;
  gap: 0;
  margin: 28px auto 18px;
  width: fit-content;
  background: #fff;
  border-radius: 999px;
  padding: 4px;
  border: 2px solid #ffb6d9;
  box-shadow: 0 4px 16px rgba(232,67,147,.1);
}
.toggle-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 28px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  color: var(--pink-deep);
  transition: .2s;
}
.toggle-pill.active {
  background: linear-gradient(135deg, #ff69b4, #e84393);
  color: #fff;
  box-shadow: 0 4px 12px rgba(232,67,147,.35);
}

/* ===== FEED BOX ===== */
.feed-box {
  max-width: 900px;
  margin: 0 auto 40px;
  padding: 40px 24px 28px;
  background: linear-gradient(180deg, #fff5fb, #ffe8f4);
  border: 2px solid #e8a0c8;
  border-radius: 28px;
  position: relative;
  min-height: 280px;
  box-shadow: var(--shadow);
}
.corner {
  position: absolute;
  font-size: 22px;
  opacity: .9;
  pointer-events: none;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.1));
}
.corner.c-tl { top: 10px; left: 14px; }
.corner.c-tr { top: 10px; right: 14px; }
.corner.c-bl { bottom: 36px; left: 14px; }
.corner.c-br { bottom: 36px; right: 14px; }

.empty-state {
  text-align: center;
  padding: 40px 16px 20px;
}
.empty-icon {
  font-size: 52px;
  margin-bottom: 12px;
  filter: drop-shadow(0 4px 8px rgba(232,67,147,.2));
}
.empty-state h2 {
  margin: 0 0 8px;
  font-family: 'Dancing Script', cursive;
  font-size: 32px;
  color: #6a3a68;
}
.empty-state p {
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 15px;
}
.feed-divider {
  text-align: center;
  margin-top: 24px;
  color: #e8a0c8;
  letter-spacing: 8px;
  font-size: 14px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 8px 8px 0;
}
.gallery-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 1;
  background: #2a1038;
  box-shadow: 0 4px 16px rgba(80,20,60,.12);
}
.gallery-card img,
.gallery-card .gallery-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card-caption {
  position: absolute;
  inset: auto 0 0;
  padding: 28px 12px 10px;
  background: linear-gradient(transparent, rgba(40,10,50,.85));
  color: #fff;
  opacity: 0;
  transition: .2s;
}
.gallery-card:hover .card-caption { opacity: 1; }
.card-caption h3 { margin: 0 0 2px; font-size: 13px; }
.card-caption p { margin: 0; font-size: 11px; opacity: .9; }

/* ===== FOOTER ===== */
.site-footer {
  background: var(--night);
  color: #efb1d0;
  padding: 22px 16px;
  text-align: center;
  font-family: 'Dancing Script', cursive;
  font-size: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.site-footer span, .site-footer b { color: #ffe9a8; }
.site-footer small {
  width: 100%;
  font-family: 'Quicksand', sans-serif;
  font-size: 11px;
  color: #a994ab;
}

/* ===== NOTICES ===== */
.notice {
  max-width: 700px;
  margin: 14px auto;
  padding: 12px 18px;
  border-radius: 12px;
  background: #e8f8ee;
  color: #1f6a3a;
  font-size: 14px;
  font-weight: 600;
}
.notice.error { background: #ffe8ee; color: #a02040; }

/* ===== AUTH ===== */
.auth-page {
  min-height: 100vh;
  background:
    radial-gradient(ellipse at top right, #6a3070, transparent 50%),
    linear-gradient(140deg, #1a0a2a, #3a1848);
  padding: 40px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.back-home {
  position: absolute;
  top: 24px;
  left: 26px;
  color: #ffd0e8;
  font-weight: 600;
}
.auth-card {
  width: min(100%, 440px);
  background: var(--white);
  border: 2px solid #ffb6d9;
  border-radius: 28px;
  padding: 32px;
  box-shadow: 0 24px 80px rgba(0,0,0,.35);
}
.auth-brand {
  justify-content: center;
  margin-bottom: 20px;
  color: var(--ink);
}
.auth-brand .brand-text { color: var(--ink); }
.eyebrow {
  color: var(--pink-deep);
  letter-spacing: 2px;
  font-size: 11px;
  font-weight: 700;
  margin: 0;
}
.auth-card h1 {
  font-family: 'Dancing Script', cursive;
  font-size: 36px;
  margin: 8px 0 10px;
  color: var(--ink);
}
.auth-card > p:not(.eyebrow):not(.auth-bottom):not(.auth-hint) {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 8px;
}
.auth-card form, .admin-card form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
.password-form-actions { display:flex;gap:10px;margin-top:14px; }
.password-form-actions .btn-pink { flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;font:700 14px 'Quicksand',sans-serif;text-decoration:none;cursor:pointer; }
.banned-page { min-height:100vh;box-sizing:border-box;display:grid;place-items:center;padding:28px 16px;background:radial-gradient(ellipse at top right,#6a3070,transparent 52%),linear-gradient(140deg,#1a0a2a,#3a1848);font-family:'Quicksand',sans-serif; }
.banned-card { position:relative;width:min(100%,520px);box-sizing:border-box;padding:34px;border:2px solid #f2b3c2;border-radius:26px;background:#fff;box-shadow:0 24px 80px #0005;text-align:center; }
.banned-brand { display:flex;justify-content:center;margin-bottom:24px;color:var(--ink);text-decoration:none; }
.banned-brand .brand-text { color:var(--ink); }
.banned-symbol { width:54px;height:54px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;background:#fff0f1;color:#d5324d;font-size:32px;font-weight:700; }
.banned-card .eyebrow { color:#ba344f;letter-spacing:2px;font-size:11px;font-weight:700; }
.banned-card h1 { margin:8px 0 12px;color:#4a2b53;font:700 31px 'Quicksand',sans-serif; }
.banned-intro { color:#725f78;font-size:14px;line-height:1.65; }
.banned-reason { margin:22px 0 16px;padding:16px 18px;border:1px solid #f0b4c1;border-radius:14px;background:#fff6f6;text-align:left; }
.banned-reason h2 { margin:0 0 8px;color:#a92842;font-size:14px; }
.banned-reason p { margin:0;color:#523944;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere; }
.banned-help { color:#8a788e;font-size:12px;line-height:1.6; }
.banned-exit { display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:12px 18px;color:#fff;text-decoration:none;font-weight:700; }
.auth-card label, .admin-card label {
  font-size: 12px;
  font-weight: 700;
  color: #5a3a60;
  margin-top: 4px;
}
.auth-card input, .auth-card textarea,
.admin-card input, .admin-card textarea, .admin-card select {
  font: 500 14px 'Quicksand', sans-serif;
  padding: 13px 14px;
  border: 1.5px solid #f0c8dc;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  outline: none;
  width: 100%;
}
.auth-card input:focus, .admin-card input:focus,
.auth-card textarea:focus, .admin-card textarea:focus {
  border-color: var(--pink);
  box-shadow: 0 0 0 3px rgba(255,105,180,.2);
}
.auth-bottom { text-align: center; font-size: 13px; margin: 20px 0 0; }
.auth-bottom a { color: var(--pink-deep); font-weight: 700; }
.auth-hint {
  text-align: center;
  font-size: 11px;
  color: #b090a8;
  margin: 12px 0 0;
}
.privacy-note { color: #9a8098; font-size: 11px; margin-top: 4px; }

/* ===== ADMIN ===== */
.admin-page { min-height: 100vh; background: var(--pink-bg); }
.admin-wrap {
  max-width: 1000px;
  margin: 36px auto;
  padding: 0 22px 50px;
}
.admin-wrap h1 {
  font-family: 'Dancing Script', cursive;
  font-size: 42px;
  margin: 8px 0;
  color: var(--ink);
}
.admin-wrap > p { color: var(--muted); }
.admin-card {
  background: #fff;
  border: 2px solid #ffb6d9;
  border-radius: 22px;
  padding: 24px;
  margin: 22px 0;
  box-shadow: var(--shadow);
}
.admin-card h2 {
  font-family: 'Dancing Script', cursive;
  font-size: 28px;
  margin: 0 0 12px;
  color: #5a2a58;
}
.admin-section-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px; }
.admin-section-heading h2 { margin:0; }
.user-search .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}
.user-search input { flex: 1; min-width: 180px; }
.admin-list { margin-top: 12px; }
.admin-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid #ffe0f0;
}
.admin-item img {
  width: 72px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
  background: #ffe8f4;
}
.admin-item > div { flex: 1; min-width: 0; }
.admin-item p { margin: 3px 0; color: var(--muted); font-size: 13px; }
.admin-item small { font-size: 11px; color: #9c8b9d; }
.admin-user-name { display:flex;align-items:center;gap:8px; }
.user-actions-menu { position:relative;display:inline-block; }
.user-actions-menu summary { display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#70567a;font-size:22px;line-height:1;cursor:pointer;list-style:none; }
.user-actions-menu summary::-webkit-details-marker { display:none; }
.user-actions-menu summary:hover,.user-actions-menu[open] summary { background:#f9e6f3;color:#bd347d; }
.user-actions-panel { position:absolute;z-index:15;top:calc(100% + 5px);left:0;min-width:155px;padding:6px;border:1px solid #efd5e7;border-radius:12px;background:#fff;box-shadow:0 10px 26px #35143b26; }
.user-actions-panel form { margin:0; }
.user-actions-panel button { width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#57425e;text-align:left;font:600 13px 'Quicksand',sans-serif;cursor:pointer; }
.user-actions-panel button:hover { background:#fff0f5; }
.user-actions-panel button.danger-text { color:#c92842; }
.admin-ban-reason { display:block;margin-top:5px;color:#a22e45 !important;overflow-wrap:anywhere; }
.ban-dialog { width:min(480px,calc(100% - 32px));padding:0;border:1px solid #f3c9dc;border-radius:20px;background:#fff;color:#4c3554;box-shadow:0 22px 80px #230e2b55; }
.ban-dialog::backdrop { background:#170c20aa;backdrop-filter:blur(3px); }
.ban-dialog form { position:relative;display:flex;flex-direction:column;gap:10px;padding:28px; }
.ban-dialog h2 { margin:0;color:#572b60;font:700 27px 'Quicksand',sans-serif; }
.ban-dialog label { margin-top:8px;font-size:13px;font-weight:700; }
.ban-dialog textarea,.ban-dialog select { width:100%;box-sizing:border-box;padding:12px;border:1px solid #ddcbdc;border-radius:10px;background:#fff;color:#36283d;font:14px 'Quicksand',sans-serif; }
.ban-dialog textarea { resize:vertical; }
.ban-dialog textarea:focus { outline:2px solid #ef8ab9;outline-offset:1px; }
.ban-dialog small { color:#8e7895;font-size:11px; }
.ban-dialog-user { margin:0;color:#78637e;font-size:13px; }
.ban-dialog-close { position:absolute;top:12px;right:14px;border:0;background:transparent;color:#806d86;font-size:27px;cursor:pointer; }
.ban-dialog-actions { display:flex;justify-content:flex-end;gap:10px;margin-top:10px; }
.ban-dialog-actions button { min-height:42px;padding:10px 16px;border:0;border-radius:10px;font:700 13px 'Quicksand',sans-serif;cursor:pointer; }
.ban-dialog-actions .button.danger { color:#fff;background:linear-gradient(135deg,#f0445f,#c91f3d);box-shadow:0 5px 14px #c91f3d45; }
.ban-dialog-actions .button.danger:hover { filter:brightness(.94); }
.role-badge.moderator { background:#e9e1ff;color:#573cb0; }
.moderation-report { margin:16px 0;padding:18px;border:1px solid #eed7e9;border-radius:16px;background:#fffafd; }
.moderation-report-head { display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;color:#583d62; }
.moderation-report-head small { color:#927e94; }
.moderation-reason { padding:10px 12px;border-left:3px solid #df5d9c;background:#fff2f8;color:#624a68;white-space:pre-wrap; }
.reported-content { display:flex;align-items:flex-start;gap:14px;margin:12px 0; }
.reported-content img,.reported-content video { width:min(230px,40%);max-height:180px;object-fit:cover;border-radius:10px;background:#21152b; }
.reported-content p,.reported-post { white-space:pre-wrap;overflow-wrap:anywhere; }
.moderation-actions { display:flex;gap:9px;flex-wrap:wrap;margin-top:14px; }
.moderation-actions form { margin:0; }
.moderation-actions button { cursor:pointer; }
.privacy-setting-form { display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px; }
.admin-card form.privacy-setting-form { flex-direction:row;align-items:center; }
.privacy-toggle { display:inline-flex;align-items:center;gap:10px;color:#53345d;font-weight:700; }
.privacy-toggle input { width:20px;height:20px;accent-color:#d83f96; }
.private-profile-notice { width:min(650px,calc(100% - 36px));box-sizing:border-box;margin:24px auto;padding:28px;text-align:center;border:1px solid #f0c8df;border-radius:20px;background:#fff7fb;color:#64486e; }
.private-profile-notice > div { font-size:36px; }
.private-profile-notice h2 { margin:8px 0;color:#65356a; }
.private-profile-notice p { line-height:1.6; }
.private-profile-notice form { margin-top:12px; }
.profile-follow-requests { max-width:900px;margin:18px auto; }
.report-post-link { color:#b6387f;font-size:12px;text-decoration:none; }
.report-post-link:hover { text-decoration:underline; }
@media(max-width:600px) { .reported-content { flex-direction:column; }.reported-content img,.reported-content video { width:100%; } }
.role-badge {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: #ffe0f0;
  color: var(--pink-deep);
}
.role-badge.admin { background: linear-gradient(135deg, #ff69b4, #e84393); color: #fff; }
.admin-tip { font-size: 12px; color: var(--muted); }
.admin-page .topbar .brand-text { font-size: 24px; }
.admin-main-menu { display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:12px 18px;background:#fffafd;border-bottom:1px solid #f0d5e8;box-shadow:0 4px 15px #37143b0c; }
.admin-main-menu a { padding:9px 13px;border:1px solid #efd3e4;border-radius:999px;background:#fff;color:#67406d;text-decoration:none;font-size:12px;font-weight:700; }
.admin-main-menu a:hover { border-color:#ed84b9;background:#fff1f8;color:#bd347d; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* ===== SEARCH PAGE ===== */
.search-wrap {
  max-width: 700px;
  margin: 36px auto;
  padding: 0 20px 50px;
}
.search-wrap h1 {
  font-family: 'Dancing Script', cursive;
  font-size: 36px;
  margin: 0 0 16px;
}
.user-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border: 2px solid #ffb6d9;
  border-radius: 18px;
  margin-bottom: 12px;
  box-shadow: 0 4px 16px rgba(232,67,147,.08);
  transition: .15s;
}
.user-card:hover { transform: translateY(-2px); border-color: var(--pink); }
.user-card .mini-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid #ff8ec8;
  background: radial-gradient(circle at 30% 30%, #ffb6d9, #6a3070);
  display: grid;
  place-items: center;
  font-size: 24px;
  flex-shrink: 0;
  overflow: hidden;
}
.user-card .mini-avatar img { width: 100%; height: 100%; object-fit: cover; }
.user-card strong {
  font-family: 'Dancing Script', cursive;
  font-size: 22px;
  display: block;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 720px) {
  .topbar {
    height: auto;
    flex-wrap: wrap;
    padding: 12px 16px;
    gap: 10px;
  }
  .nav-search { order: 3; flex-basis: 100%; max-width: none; }
  .nav-icons { margin-left: auto; gap: 8px; }
  .brand-text { font-size: 22px; }
  .banner-sky { min-height: 180px; }
  .profile-identity {
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: -40px;
  }
  .avatar, .avatar-fallback { width: 110px; height: 110px; }
  .identity-actions { justify-content: center; }
  .stats-bar {
    flex-direction: column;
    border-radius: 22px;
    align-items: center;
    gap: 8px;
  }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .corner { font-size: 16px; }
  .admin-item { flex-wrap: wrap; }
}


/* Homepage speciale LunareMagicafata */
.welcome-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:34px;max-width:1180px;min-height:270px;margin:28px auto 24px;padding:38px 48px;border:1px solid rgba(255,255,255,.8);border-radius:30px;background:radial-gradient(ellipse at 78% 20%,rgba(255,255,255,.66),transparent 28%),linear-gradient(120deg,#fce4f2 0%,#f4d5f5 44%,#e9d7ff 100%);box-shadow:0 18px 50px rgba(145,66,126,.13)}
.welcome-hero:before{content:"";position:absolute;inset:10px;border:1px solid rgba(190,107,160,.26);border-radius:23px;pointer-events:none;z-index:-1}
.hero-copy{position:relative;z-index:2;max-width:690px}.hero-eyebrow{margin:0 0 10px;color:#99508d;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero-copy h2{margin:0;color:#54265f;font-family:'Dancing Script',cursive;font-size:clamp(34px,4vw,54px);font-weight:700;line-height:1.12}.hero-copy h2 span{color:#e64b9b}.hero-description{max-width:570px;margin:14px 0 20px;color:#714b79;font-size:15px;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-motto{display:flex;align-items:center;gap:10px;margin-top:22px;color:#99508d;font-family:'Dancing Script',cursive;font-size:21px;font-weight:700}.hero-orbit{position:relative;flex:0 0 245px;width:245px;height:205px;border:1px solid rgba(196,111,177,.3);border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.55),rgba(255,255,255,.08) 62%,transparent 63%)}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:20px 0;border:1px dashed rgba(183,95,167,.36);border-radius:50%;transform:rotate(-25deg)}.hero-orbit:after{inset:0 35px;transform:rotate(35deg)}.orbit-moon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:104px;line-height:1;color:#e9b85b;text-shadow:0 4px 20px rgba(231,171,82,.2)}.orbit-star,.orbit-flower,.orbit-butterfly{position:absolute;z-index:1;filter:drop-shadow(0 3px 4px rgba(127,56,119,.12))}.star-a{top:18px;left:36px;color:#d7a23c;font-size:24px}.star-b{right:34px;top:45px;color:#fff;font-size:25px}.orbit-flower{bottom:24px;left:35px;font-size:30px}.orbit-butterfly{right:25px;bottom:27px;font-size:31px}.hero-sparkle{position:absolute;color:rgba(255,255,255,.8);font-size:28px}.sparkle-one{top:22px;right:31%}.sparkle-two{bottom:25px;right:43%}
.brand-text{font-size:clamp(20px,2.3vw,28px)!important}
@media(max-width:760px){.welcome-hero{margin:18px 12px;padding:28px 24px;min-height:auto}.hero-orbit{display:none}.hero-description{font-size:14px}.hero-motto{font-size:19px}.hero-copy h2{font-size:38px}}


/* ===== HOME SOCIAL: PER TE / SEGUITI ===== */
.social-home {
  width: min(1180px, calc(100% - 36px));
  margin: 28px auto 56px;
  display: grid;
  grid-template-columns: minmax(0, 650px) minmax(230px, 300px);
  justify-content: center;
  gap: clamp(28px, 5vw, 70px);
  align-items: start;
}
.social-feed-column { min-width: 0; }
.feed-tabs {
  display: flex; justify-content: center; gap: 26px;
  border-bottom: 1px solid #eadce9; margin-bottom: 18px;
}
.feed-tabs a {
  padding: 0 2px 14px; color: #8b7790; font-size: 15px; font-weight: 700;
  border-bottom: 2px solid transparent;
}
.feed-tabs a.active { color: #d93691; border-color: #e843a1; }
.stories-strip {
  display: flex; gap: 18px; overflow-x: auto; padding: 6px 4px 20px;
  scrollbar-width: thin; scrollbar-color: #efb5d6 transparent;
}
.story-item {
  display: flex; flex: 0 0 72px; flex-direction: column; align-items: center;
  gap: 7px; color: #5b4263; font-size: 11px; text-align: center; min-width: 0;
}
.story-item > span:last-child { max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.story-ring {
  width: 66px; height: 66px; padding: 3px; border-radius: 50%;
  background: conic-gradient(#ffbf58, #fa3e9b, #a64dff, #ffbf58);
  display: grid; place-items: center;
}
.story-ring img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 2px solid white; }
.story-ring > span { width: 100%; height: 100%; border-radius: 50%; display:grid;place-items:center;background:linear-gradient(145deg,#fbd4e9,#d7b8f1);color:#a83e8b;font-size:30px;border:2px solid white; }
.social-post-list { display: flex; flex-direction: column; gap: 28px; }
.social-post { background: rgba(255,255,255,.82); border: 1px solid #f0e1ed; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 26px rgba(93,38,90,.07); }
.social-post-head { display:flex; align-items:center; justify-content:space-between; padding: 13px 16px; }
.post-author { display:flex; align-items:center; gap:10px; min-width:0; }
.post-author img, .mini-avatar { width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0; }
.post-author strong { display:block;font-size:13px;color:#40264b; }
.post-author small { display:block;font-size:10px;color:#a18da7;margin-top:3px; }
.mini-avatar { display:grid;place-items:center;background:linear-gradient(145deg,#f8d4e8,#d8c0f3);color:#b43b91;font-size:23px; }
.post-sparkle { color:#d94c9a;font-size:22px; }
.social-post-media { position:relative; display:block; background:#f4e7f0; max-height:760px; }
.social-post-media img, .social-post-media video { width:100%; max-height:760px; object-fit:contain; background:#f7edf5; }
.post-play { position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#fff0f8eF;color:#9c2f78;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:700;white-space:nowrap; }
.social-post-actions { display:flex;gap:22px;padding:12px 16px 4px; }
.social-post-actions a { display:flex;align-items:center;gap:6px;color:#d83f96;font-size:22px; }
.social-post-actions a span { color:#674b70;font-size:12px;font-weight:700; }
.social-post-caption { padding: 7px 16px 16px; color:#634d6b; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.social-post-caption strong { color:#42254d; }
.social-empty { text-align:center;padding:48px 18px;border:1px dashed #e8c7df;border-radius:18px;background:#fff8fc; }
.social-empty > span { font-size:38px; }
.social-empty h2 { font-family:'Dancing Script',cursive;color:#b13b89;font-size:27px; }
.social-empty p { color:#8e7895;font-size:13px; }
.social-sidebar { padding-top: 6px; position: sticky; top: 92px; }
.sidebar-profile { display:flex;align-items:center;gap:12px;margin-bottom:28px;min-width:0; }
.sidebar-profile img { width:48px;height:48px;border-radius:50%;object-fit:cover; }
.sidebar-profile strong { display:block;font-size:13px;color:#482d52;overflow-wrap:anywhere; }
.sidebar-profile small { display:block;color:#9b879f;font-size:11px;margin-top:4px; }
.sidebar-profile > b { margin-left:auto;color:#d83f96;font-size:11px; }
.suggestion-heading { display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:17px;font-size:12px;color:#8b7790; }
.suggestion-heading a { color:#d83f96;font-size:11px;white-space:nowrap; }
.suggestion-user { display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 15px; }
.suggestion-identity { display:flex;align-items:center;gap:9px;min-width:0; }
.suggestion-identity img { width:34px;height:34px;border-radius:50%;object-fit:cover; }
.suggestion-identity strong { font-size:12px;color:#563b60;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.suggestion-user form { margin:0; }
.suggestion-user button,.suggestion-follow { border:0;background:transparent;color:#d83f96;font-size:11px;font-weight:700;cursor:pointer; }
.sidebar-footer { margin-top:30px;color:#b09db4;font-size:10px;line-height:1.7; }
@media (max-width: 850px) {
  .social-home { grid-template-columns:minmax(0,650px); width:min(650px,calc(100% - 24px)); margin-top:16px; }
  .social-sidebar { display:none; }
  .stories-strip { gap:13px; }
}
@media (max-width: 520px) {
  .social-home { width:100%; margin:0 auto 30px; }
  .feed-tabs { margin:0 14px 12px; }
  .stories-strip { padding-left:14px; }
  .social-post { border-radius:0; border-left:0; border-right:0; }
  .social-post-list { gap:18px; }
  .social-post-media img,.social-post-media video { max-height: 72vh; }
}

/* Storie temporanee (24 ore) */
.story-own-ring { position: relative; }
.story-own-ring > b { position:absolute; right:-1px; bottom:-1px; display:grid; place-items:center; width:23px; height:23px; border:2px solid #fff; border-radius:50%; color:#fff; background:#d93691; font-size:19px; line-height:1; }
.story-empty { align-self:center; color:#9b829f; font-size:12px; }
.story-upload-card .privacy-note { display:block; margin:10px 0 16px; color:#987f9b; }
.story-view-body { margin:0; min-height:100vh; display:grid; place-items:center; padding:24px; box-sizing:border-box; font-family:"Quicksand",sans-serif; background:radial-gradient(circle at top,#512b61,#160f20 68%); color:#fff; }
.story-view-close { position:fixed; top:16px; right:22px; z-index:5; color:#fff; text-decoration:none; font-size:38px; line-height:1; }
.story-viewer { width:min(100%,430px); min-height:70vh; display:flex; flex-direction:column; overflow:hidden; border:1px solid #ffffff25; border-radius:22px; background:#21152b; box-shadow:0 20px 80px #0007; }
.story-view-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; font-size:12px; }
.story-view-head a { display:flex; align-items:center; gap:9px; color:#fff; text-decoration:none; }
.story-view-head img { width:36px; height:36px; border-radius:50%; object-fit:cover; border:2px solid #ff69b4; }
.story-view-head > span { color:#d9c6e0; font-size:11px; }
.story-view-media { flex:1; min-height:300px; display:grid; place-items:center; background:#0e0a12; }
.story-view-media img,.story-view-media video { display:block; max-width:100%; max-height:72vh; object-fit:contain; }
.story-view-caption { margin:0; padding:14px 16px; white-space:pre-wrap; overflow-wrap:anywhere; }
.story-add-another { margin:0 14px 14px; text-align:center; }
.story-not-found { max-width:420px; padding:32px; text-align:center; border-radius:22px; background:#ffffff12; }
.story-not-found > div { font-size:52px; color:#ffd8ef; }
.story-not-found h1 { font-family:"Dancing Script",cursive; font-size:36px; }
.story-not-found p { color:#e2d5e8; line-height:1.6; }
@media(max-width:520px) { .story-view-body { padding:0; } .story-viewer { width:100%; min-height:100vh; border-radius:0; border:0; } .story-view-media img,.story-view-media video { max-height:calc(100vh - 150px); } }
/* Navigazione e avanzamento automatico delle storie */
.story-progress{height:3px;margin:9px 10px 0;background:#ffffff35;border-radius:10px;overflow:hidden}
.story-progress span{display:block;width:0;height:100%;background:#ff79c6;border-radius:10px}
.story-view-stage{position:relative;flex:1;min-height:300px;display:flex;align-items:stretch;background:#0e0a12}
.story-view-stage .story-view-media{flex:1;min-width:0}
.story-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:54px;border-radius:14px;background:#1c1027a8;color:#fff;text-decoration:none;font-size:36px;line-height:1;backdrop-filter:blur(6px)}
.story-nav-prev{left:8px}.story-nav-next{right:8px}.story-nav.is-disabled{opacity:.18;pointer-events:none}
.story-view-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:#e8d8ee;font-size:12px}
.story-view-footer .btn-pink{padding:8px 13px;text-decoration:none}
.story-add-another{color:#ffc3e8;text-decoration:none;font-size:12px}
@media(max-width:520px){.story-view-stage{min-height:0;flex:1}.story-view-stage .story-view-media{min-height:0}.story-view-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}}


/* Fix: link Profilo visibile e cliccabile nel visualizzatore delle storie */
.story-view-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.story-view-head .story-owner-link { display:inline-flex; align-items:center; gap:9px; min-width:0; text-decoration:none; color:inherit; }
.story-view-head .story-owner-link img, .story-view-head .story-owner-link .mini-avatar { width:38px; height:38px; flex:0 0 38px; border-radius:50%; object-fit:cover; border:2px solid #ff8ec8; }
.story-owner-name { max-width:clamp(60px,18vw,180px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.story-profile-logo { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#ff69b4,#a64dff); font-size:17px; box-shadow:0 2px 8px #a83e8b55; }
.story-profile-label { display:inline-flex; align-items:center; justify-content:center; padding:7px 12px; border-radius:999px; color:#fff; background:linear-gradient(135deg,#ff69b4,#e84393); font-size:13px; white-space:nowrap; box-shadow:0 3px 10px #a83e8b44; }
.story-view-head .story-owner-link:hover .story-profile-label { filter:brightness(1.08); }
.story-expiry { flex:0 0 auto; font-size:12px; opacity:.85; }
@media (max-width:480px) { .story-view-head { gap:6px; } .story-view-head .story-owner-link { gap:6px; } .story-owner-name { max-width:70px; } .story-profile-logo { width:25px;height:25px;flex-basis:25px; } .story-profile-label { padding:6px 9px;font-size:12px; } .story-expiry { font-size:10px; } }

/* Correzione definitiva: collegamento Profilo separato e sempre visibile nella Story */
.story-view-head { width:100%; min-width:0; }
.story-owner-wrap { display:flex; align-items:center; gap:10px; flex:1 1 auto; min-width:0; }
.story-view-head .story-owner-link { display:flex; align-items:center; gap:8px; flex:0 1 auto; min-width:0; }
.story-view-head .story-owner-link img,
.story-view-head .story-owner-link .mini-avatar { width:38px; height:38px; flex:0 0 38px; }
.story-owner-name { max-width:140px; }
.story-view-head .story-profile-button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:6px; padding:7px 11px; border:1px solid #ff9ccc; border-radius:999px; color:#fff; background:linear-gradient(135deg,#ff69b4,#a64dff); font-size:12px; font-weight:700; white-space:nowrap; box-shadow:0 3px 12px #0003; }
.story-view-head .story-profile-button .story-profile-logo { display:inline-grid; place-items:center; width:21px; height:21px; flex:0 0 21px; border-radius:50%; color:#e84393; background:#fff; font-size:14px; box-shadow:none; }
.story-view-head .story-profile-button:hover { filter:brightness(1.08); transform:translateY(-1px); }
.story-expiry { white-space:nowrap; }
@media(max-width:480px) {
 .story-view-head { gap:6px; padding:10px; }
 .story-owner-wrap { gap:6px; }
 .story-view-head .story-owner-link { gap:5px; }
 .story-view-head .story-owner-link img,.story-view-head .story-owner-link .mini-avatar { width:32px;height:32px;flex-basis:32px; }
 .story-owner-name { max-width:76px; font-size:11px; }
 .story-view-head .story-profile-button { padding:6px 8px; gap:4px; font-size:11px; }
 .story-expiry { font-size:9px !important; }
}

/* Icona aggiungi storia con logo Lunare */
.profile-story-add { position:relative; }
.profile-story-logo { display:inline-grid; place-items:center; width:15px; height:15px; margin-left:-3px; border-radius:50%; background:#fff; color:#e84393; font-size:11px; line-height:1; border:1px solid #ff9ccc; }
.story-viewer { position:relative; }
.story-sound-toggle { position:absolute;z-index:5;top:62px;right:14px;max-width:calc(100% - 28px);padding:9px 13px;border:1px solid #f27be7;border-radius:999px;background:#210d42ef;color:#ffe2ff;font:700 12px 'Quicksand',sans-serif;box-shadow:0 0 18px #ce42dc66;cursor:pointer; }
.story-sound-toggle:hover { background:#56167d;color:#fff; }
.story-sound-toggle[hidden] { display:none; }

/* Tema del profilo scelto alla registrazione */
body.profile-theme-woman { background:radial-gradient(ellipse at 12% 12%,#ffe0f0 0%,transparent 42%),radial-gradient(ellipse at 88% 30%,#f1d8ff 0%,transparent 38%),linear-gradient(180deg,#fff3fa,#ffeaf5 55%,#fff4fa); }
body.profile-theme-woman .profile-identity,body.profile-theme-woman .stats-bar,body.profile-theme-woman .content-toggle,body.profile-theme-woman .feed-box { --profile-accent:#e84393; --profile-border:#ff9fcf; }
body.profile-theme-woman .stats-bar { background:linear-gradient(90deg,#ffe0f0,#ffd0e8);border-color:#ffb6d9; }
body.profile-theme-woman .content-toggle { border-color:#ff9fcf; }
body.profile-theme-woman .toggle-pill.active { background:linear-gradient(135deg,#ff69b4,#e84393); }
body.profile-theme-woman .feed-box { background:linear-gradient(180deg,#fff5fb,#ffe8f4);border-color:#e8a0c8; }
body.profile-theme-woman .avatar,body.profile-theme-woman .avatar-fallback { border-color:#ff8ec8;box-shadow:0 0 0 4px #fff,0 8px 28px #e8439359; }
body.profile-theme-man { background:radial-gradient(ellipse at 12% 12%,#d9efff 0%,transparent 42%),radial-gradient(ellipse at 88% 30%,#d9e4ff 0%,transparent 38%),linear-gradient(180deg,#f2f8ff,#e8f2ff 55%,#f5f9ff); }
body.profile-theme-man .username { color:#183a66; }
body.profile-theme-man .pink-heart { color:#3886d8; }
body.profile-theme-man .stats-bar { background:linear-gradient(90deg,#dceeff,#cce4ff);border-color:#8dc5ff;box-shadow:0 4px 16px #398ad91a; }
body.profile-theme-man .stat,body.profile-theme-man .stat strong { color:#244e7b; }
body.profile-theme-man .content-toggle { border-color:#8dc5ff;box-shadow:0 4px 16px #398ad91a; }
body.profile-theme-man .toggle-pill { color:#2868a8; }
body.profile-theme-man .toggle-pill.active { background:linear-gradient(135deg,#62b6ff,#3478d4);box-shadow:0 4px 12px #3478d459; }
body.profile-theme-man .feed-box { background:linear-gradient(180deg,#f3f9ff,#e4f1ff);border-color:#78b8f2; }
body.profile-theme-man .avatar,body.profile-theme-man .avatar-fallback { border-color:#72b5f4;background:radial-gradient(circle at 30% 30%,#c8e7ff,#5d9bd8 60%,#203d72);box-shadow:0 0 0 4px #fff,0 8px 28px #3478d459; }
body.profile-theme-man .avatar-heart { color:#2874c4;border-color:#9dccf7; }
body.profile-theme-man .profile-story-add { background:linear-gradient(135deg,#62b6ff,#3478d4); }
body.profile-theme-man .btn-pink { background:linear-gradient(135deg,#62b6ff,#3478d4);box-shadow:0 6px 18px #3478d459; }
body.profile-theme-man .btn-pink.soft { background:linear-gradient(135deg,#c7e4ff,#93c6f5);color:#173f6c;box-shadow:0 4px 14px #4f9be533; }
