* { box-sizing: border-box; }
[hidden] { display: none !important; }

:root {
  --ink: #2e392f;
  --ink-soft: #465148;
  --muted: #707871;
  --paper: #f6f1e7;
  --paper-strong: #fffdf8;
  --sage: #71846d;
  --sage-dark: #50634f;
  --soft-green: #dfe8d8;
  --soft-green-2: #edf2e9;
  --peach: #efd1af;
  --rose: #d96f75;
  --rose-soft: #fff0ef;
  --line: rgba(46, 57, 47, .13);
  --shadow: 0 28px 85px rgba(62, 70, 57, .13);
}

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: "Vazirmatn", Tahoma, sans-serif;
}

button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

button:focus-visible, a:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(80, 99, 79, .22);
  outline-offset: 3px;
}

.ambient {
  position: fixed;
  border-radius: 999px;
  filter: blur(45px);
  opacity: .34;
  z-index: -2;
}

.ambient-one {
  width: 460px; height: 460px;
  background: #ead0ac;
  left: -190px; top: 130px;
}

.ambient-two {
  width: 520px; height: 520px;
  background: #d6e5ce;
  right: -240px; bottom: 80px;
}

.grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .11;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");
}

.site-header {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  height: 84px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  font-size: 1.12rem;
}

.brand-mark {
  width: 39px; height: 39px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--soft-green);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}

.top-nav {
  display: flex;
  align-items: center;
  gap: 27px;
  color: var(--muted);
  font-size: .91rem;
}

.top-nav .nav-link {
  border: 0;
  padding: 8px 0;
  background: transparent;
  color: inherit;
  transition: color .2s ease;
}

.top-nav .nav-link:hover,
.top-nav .nav-link.active { color: var(--ink); }
.top-nav .nav-link.active { font-weight: 800; }

.ghost-button, .primary-button, .soft-button,
.text-button, .filter, .close-button, .icon-button,
.main-tab, .contact-action {
  border: 0;
}

.ghost-button {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.4);
  color: var(--ink);
  border-radius: 999px;
  padding: 11px 18px;
}

.primary-button {
  border-radius: 999px;
  background: var(--sage-dark);
  color: white;
  padding: 14px 24px;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(80, 99, 79, .22);
  transition: transform .2s ease, box-shadow .2s ease;
}

.primary-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(80, 99, 79, .27);
}

.soft-button {
  border-radius: 999px;
  padding: 12px 20px;
  background: white;
  color: var(--ink);
  box-shadow: 0 10px 28px rgba(68, 75, 62, .08);
  font-weight: 700;
  white-space: nowrap;
}

.text-button {
  background: transparent;
  color: var(--sage-dark);
  padding: 12px 0;
  font-weight: 700;
}

.hero {
  width: min(1180px, calc(100% - 40px));
  min-height: 650px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 50px;
  padding: 70px 0 78px;
}

.eyebrow {
  color: var(--sage);
  font-weight: 800;
  font-size: .81rem;
  letter-spacing: .025em;
}

.hero h1 {
  margin: 17px 0 22px;
  font-size: clamp(3.35rem, 7vw, 6.65rem);
  line-height: 1.04;
  letter-spacing: -.07em;
}

.hero h1 span { color: var(--sage); }

.hero-copy > p {
  max-width: 605px;
  color: var(--muted);
  line-height: 2;
  font-size: 1.04rem;
}

.hero-actions {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 30px;
}

.privacy-note {
  margin-top: 28px;
  color: var(--muted);
  font-size: .83rem;
}

.privacy-note span {
  color: #87a080;
  margin-left: 7px;
}

.hero-visual {
  position: relative;
  min-height: 480px;
}

.sun-disc {
  position: absolute;
  width: 365px; height: 365px;
  border-radius: 50%;
  background: linear-gradient(145deg, #e9cfad, #f2e1c8);
  right: 57px; top: 42px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}

.sun-disc::after {
  content: "";
  position: absolute;
  width: 262px; height: 262px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.68);
  inset: 51px;
}

.floating-card {
  position: absolute;
  z-index: 2;
  border-radius: 28px;
  background: rgba(255, 253, 248, .93);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.76);
}

.card-a {
  width: 335px;
  padding: 34px;
  right: 0; top: 113px;
  transform: rotate(-3deg);
  animation: floatA 6s ease-in-out infinite;
}

.card-a p {
  font-size: 1.14rem;
  line-height: 1.95;
  margin: 12px 0 22px;
}

.sample-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .76rem;
}

.sample-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.sample-tags span {
  background: var(--soft-green-2);
  padding: 5px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

.sample-author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding: 5px 0;
  font-weight: 700;
  white-space: nowrap;
}

.sample-author i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sage);
  box-shadow: 0 0 0 4px rgba(135, 154, 126, .12);
}

.quote-mark {
  font-family: Georgia, serif;
  font-size: 3.5rem;
  height: 35px;
  color: var(--peach);
}

.card-b {
  width: 246px;
  padding: 24px;
  left: 4px; bottom: 43px;
  transform: rotate(5deg);
  animation: floatB 7s ease-in-out infinite;
}

.card-b p { margin: 12px 0 0; line-height: 1.8; }
.tiny-label { font-size: .74rem; color: var(--sage); font-weight: 800; }

.sprout {
  position: absolute;
  z-index: 3;
  right: 39px; bottom: 38px;
  font-size: 7rem;
  color: var(--sage);
  transform: rotate(-35deg);
}

@keyframes floatA {
  0%,100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-9px) rotate(-2deg); }
}

@keyframes floatB {
  0%,100% { transform: translateY(0) rotate(5deg); }
  50% { transform: translateY(8px) rotate(4deg); }
}

.pulse-strip {
  width: min(1100px, calc(100% - 40px));
  margin: 0 auto 34px;
  padding: 19px 24px;
  border-radius: 24px;
  background: rgba(255,253,248,.65);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: 0 16px 45px rgba(62,70,57,.07);
  display: grid;
  grid-template-columns: repeat(3, 1fr) 1.7fr;
  align-items: center;
  gap: 18px;
}

.pulse-strip article {
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--line);
}

.pulse-strip strong { font-size: 1.35rem; }
.pulse-strip article span { color: var(--muted); font-size: .76rem; }

.pulse-live {
  color: var(--muted);
  font-size: .82rem;
  text-align: left;
}

.pulse-live i {
  display: inline-block;
  width: 8px; height: 8px;
  margin-left: 6px;
  border-radius: 50%;
  background: #79a474;
  box-shadow: 0 0 0 6px rgba(121,164,116,.12);
  animation: pulse 1.8s infinite;
}

@keyframes pulse {
  0%,100% { box-shadow: 0 0 0 4px rgba(121,164,116,.12); }
  50% { box-shadow: 0 0 0 9px rgba(121,164,116,.02); }
}

.support-note {
  width: min(1100px, calc(100% - 40px));
  margin: 0 auto 84px;
  padding: 20px 23px;
  border: 1px solid rgba(141,115,80,.16);
  background: rgba(255,248,237,.77);
  border-radius: 22px;
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.support-icon {
  flex: 0 0 39px;
  width: 39px; height: 39px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: #f3dfc5;
}

.support-note strong { display: block; margin-bottom: 5px; }
.support-note p {
  color: var(--muted);
  margin: 0;
  line-height: 1.8;
  font-size: .88rem;
}

.support-note button {
  margin-right: auto;
  background: transparent;
  border: 0;
  color: var(--muted);
  font-size: 1.45rem;
}

.daily-prompt {
  width: min(1000px, calc(100% - 40px));
  margin: 0 auto 110px;
  border-radius: 32px;
  padding: 31px 34px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.82), transparent 28%),
    linear-gradient(135deg, var(--soft-green), #e9e2cf);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 25px;
  box-shadow: 0 20px 55px rgba(67,76,61,.1);
}

.prompt-date {
  width: 67px; height: 67px;
  border-radius: 22px;
  display: grid; place-items: center;
  text-align: center;
  background: rgba(255,255,255,.68);
  color: var(--sage-dark);
  font-weight: 900;
  line-height: 1.25;
  white-space: pre-line;
}

.daily-prompt h2 {
  margin: 7px 0 0;
  font-size: clamp(1.25rem, 2.8vw, 2rem);
  line-height: 1.65;
}

.tabs-region {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 58px;
}

.tabs-copy {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 22px;
}

.tabs-copy h2 {
  max-width: 680px;
  margin: 8px 0 0;
  font-size: clamp(1.55rem, 3.2vw, 2.55rem);
  line-height: 1.5;
  letter-spacing: -.035em;
}

.main-tabs {
  position: sticky;
  top: 12px;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 25px;
  background: rgba(246,241,231,.82);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 55px rgba(62,70,57,.11);
}

.main-tab {
  min-width: 0;
  padding: 13px 14px;
  border-radius: 19px;
  background: transparent;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 11px;
  text-align: right;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.main-tab:hover { color: var(--ink); transform: translateY(-1px); }

.main-tab.active {
  background: var(--paper-strong);
  color: var(--ink);
  box-shadow: 0 10px 27px rgba(62,70,57,.1);
}

.tab-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: rgba(113,132,109,.1);
  color: var(--sage-dark);
  font-size: 1rem;
}

.main-tab.active .tab-icon { background: var(--soft-green); }
.main-tab > span:last-child { min-width: 0; display: flex; flex-direction: column; }
.main-tab strong { font-size: .84rem; white-space: nowrap; }
.main-tab small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .65rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tab-panel[hidden] { display: none !important; }
.tab-panel.panel-enter { animation: panelEnter .34s ease both; }

@keyframes panelEnter {
  from { opacity: 0; transform: translateY(13px); }
  to { opacity: 1; transform: translateY(0); }
}

.discovery-section {
  width: min(920px, calc(100% - 40px));
  margin: 0 auto 118px;
  text-align: center;
}

.discovery-heading h2 {
  margin: 12px auto 38px;
  max-width: 740px;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.46;
  letter-spacing: -.045em;
}

.swipe-shell {
  max-width: 625px;
  margin: 0 auto;
  position: relative;
}

.card-stack {
  position: absolute;
  inset: 25px 24px auto;
  height: 390px;
  z-index: -1;
}

.card-stack div {
  position: absolute;
  inset: 0;
  border-radius: 34px;
  background: #e6dfcf;
  border: 1px solid rgba(255,255,255,.6);
}

.card-stack div:first-child { transform: rotate(-4deg) translateY(9px); opacity: .72; }
.card-stack div:last-child { transform: rotate(4deg) translateY(12px); opacity: .52; }

.swipe-card {
  min-height: 405px;
  border-radius: 34px;
  padding: 28px 34px 31px;
  background:
    radial-gradient(circle at 12% 12%, rgba(255,255,255,.88), transparent 35%),
    linear-gradient(145deg, rgba(255,253,248,.99), rgba(229,237,223,.94));
  border: 1px solid rgba(255,255,255,.92);
  box-shadow: 0 31px 88px rgba(66,75,59,.15);
  display: flex;
  flex-direction: column;
  text-align: right;
  transition: transform .27s ease, opacity .27s ease;
  touch-action: pan-y;
  user-select: none;
  position: relative;
  overflow: hidden;
}

.swipe-progress {
  height: 4px;
  background: rgba(80,99,79,.1);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 21px;
}

.swipe-progress span {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--sage);
  transition: width .3s ease;
}

.swipe-card.leave-left { transform: translateX(-118%) rotate(-11deg); opacity: 0; }
.swipe-card.leave-right { transform: translateX(118%) rotate(11deg); opacity: 0; }
.swipe-card.enter { animation: swipeEnter .35s ease; }

@keyframes swipeEnter {
  from { opacity: 0; transform: translateY(18px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.swipe-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.reason-category {
  padding: 7px 11px;
  background: rgba(255,255,255,.64);
  border-radius: 999px;
  color: var(--sage-dark);
  font-weight: 700;
  font-size: .77rem;
}

.swipe-counter { color: var(--muted); font-size: .78rem; }

.swipe-text {
  flex: 1;
  display: flex;
  align-items: center;
  margin: 24px 0;
  font-size: clamp(1.38rem, 3vw, 2.02rem);
  line-height: 1.95;
  white-space: pre-wrap;
}

.swipe-bottom {
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.identity-line {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.avatar-orb {
  flex: 0 0 43px;
  width: 43px; height: 43px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--sage-dark);
  color: white;
  font-weight: 900;
}

.identity-line strong { font-size: .91rem; }

.identity-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}

.identity-chips span {
  color: var(--muted);
  font-size: .69rem;
  background: rgba(255,255,255,.62);
  padding: 3px 7px;
  border-radius: 999px;
}

.icon-button {
  width: 34px; height: 34px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,.56);
  color: var(--muted);
}

.swipe-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 21px;
  margin-top: 30px;
}

.round-action, .mini-action {
  border-radius: 50%;
  border: 0;
  background: var(--paper-strong);
  box-shadow: 0 13px 35px rgba(63,71,57,.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.round-action { width: 92px; height: 92px; }
.mini-action { width: 65px; height: 65px; }

.round-action:hover, .mini-action:hover:not(:disabled) {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 17px 42px rgba(63,71,57,.17);
}

.round-action span { font-size: 2rem; line-height: 1; }
.mini-action span { font-size: 1.25rem; line-height: 1; }

.round-action small, .mini-action small {
  margin-top: 7px;
  color: var(--muted);
  font-size: .68rem;
}

.mini-action:disabled { opacity: .38; cursor: default; }
.skip-action span { color: #8a8f89; }
.love-action { background: var(--rose-soft); }
.love-action span { color: var(--rose); }

.love-action.liked {
  background: var(--rose);
  transform: scale(1.04);
}

.love-action.liked span, .love-action.liked small { color: white; }

.swipe-hint {
  color: var(--muted);
  font-size: .77rem;
  margin-top: 18px;
}

.reasons-section {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 20px 0 120px;
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 35px;
}

.section-heading h2, .about-card h2 {
  font-size: clamp(2rem, 4vw, 3.3rem);
  margin: 10px 0 0;
  letter-spacing: -.045em;
}

.filters { display: flex; flex-wrap: wrap; gap: 8px; }

.filter {
  border-radius: 999px;
  padding: 9px 15px;
  background: transparent;
  color: var(--muted);
}

.filter.active {
  background: var(--soft-green);
  color: var(--ink);
  font-weight: 800;
}

.reason-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.reason-card {
  min-height: 270px;
  padding: 25px;
  border-radius: 25px;
  background: rgba(255,253,248,.79);
  border: 1px solid rgba(255,255,255,.83);
  box-shadow: 0 14px 42px rgba(70,77,62,.075);
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}

.reason-card:nth-child(3n+2) { background: rgba(232,239,226,.8); }
.reason-card:nth-child(3n+3) { background: rgba(246,230,212,.72); }

.reason-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 19px 48px rgba(70,77,62,.12);
}

.reason-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--muted);
  font-size: .75rem;
}

.reason-text {
  margin: 23px 0;
  line-height: 2;
  font-size: 1.06rem;
  flex: 1;
  white-space: pre-wrap;
}

.reason-author {
  color: var(--muted);
  font-size: .81rem;
  margin-bottom: 15px;
}

.card-details {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.card-details span {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  font-size: .67rem;
}

.reason-actions {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 7px;
}

.card-action-group { display: flex; gap: 7px; }

.hope-button, .report-button, .share-card-button {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 5px;
  font-size: .77rem;
}

.hope-button.liked { color: var(--rose); font-weight: 800; }
.share-card-button:hover, .report-button:hover { color: var(--ink); }

.empty-state {
  text-align: center;
  padding: 70px 20px;
  color: var(--muted);
}

.empty-state > div { font-size: 2.2rem; color: var(--sage); }

.about-section {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 120px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 20px;
}

.about-card, .about-quote { border-radius: 32px; padding: 48px; }
.about-card { background: var(--soft-green); }
.about-card > p { color: var(--muted); line-height: 2; }

.about-values {
  display: grid;
  gap: 10px;
  margin-top: 27px;
}

.about-values article {
  padding: 14px 0;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 13px;
  border-top: 1px solid rgba(46,57,47,.1);
}

.about-values article > span {
  color: var(--sage-dark);
  font-weight: 900;
  font-size: .72rem;
}

.about-values strong { display: block; margin-bottom: 3px; }
.about-values p { margin: 0; color: var(--muted); line-height: 1.8; font-size: .8rem; }

.about-boundary {
  margin-top: 20px;
  padding: 17px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.48);
}

.about-boundary strong { display: block; margin-bottom: 5px; }
.about-boundary p { margin: 0; color: var(--muted); line-height: 1.85; font-size: .82rem; }

.about-quote {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--ink);
  color: white;
  min-height: 360px;
  overflow: hidden;
  background-image:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 28%),
    linear-gradient(145deg, #354435, #273127);
}

.constellation {
  color: rgba(255,255,255,.42);
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: .4em;
}

.about-quote p {
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  line-height: 1.72;
  margin: 0;
}


.contact-section {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 120px;
}

.contact-heading {
  max-width: 760px;
  margin-bottom: 34px;
}

.contact-heading h2 {
  margin: 10px 0 14px;
  font-size: clamp(2rem, 4vw, 3.3rem);
  letter-spacing: -.045em;
}

.contact-heading p { margin: 0; color: var(--muted); line-height: 2; }

.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.contact-card {
  min-height: 300px;
  padding: 26px;
  border-radius: 27px;
  background: rgba(255,253,248,.76);
  border: 1px solid rgba(255,255,255,.86);
  box-shadow: 0 17px 50px rgba(70,77,62,.08);
  display: flex;
  flex-direction: column;
}

.featured-contact {
  background: linear-gradient(145deg, var(--soft-green), #ebf0e7);
}

.contact-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: rgba(255,255,255,.62);
  color: var(--sage-dark);
  font-weight: 900;
  margin-bottom: 28px;
}

.contact-card small { color: var(--sage); font-weight: 800; }
.contact-card h3 { margin: 6px 0 11px; font-size: 1.25rem; }
.contact-card p { margin: 0; color: var(--muted); line-height: 1.9; font-size: .86rem; }
.contact-card > div { flex: 1; }

.contact-action,
.contact-status {
  align-self: flex-start;
  margin-top: 25px;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: .76rem;
}

.contact-action {
  background: var(--sage-dark);
  color: white;
  font-weight: 800;
}

.contact-status {
  background: rgba(113,132,109,.1);
  color: var(--muted);
}

.contact-safety-note {
  margin-top: 19px;
  padding: 20px 23px;
  border-radius: 22px;
  background: rgba(255,240,239,.65);
  border: 1px solid rgba(217,111,117,.13);
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.contact-safety-note > span {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: white;
  color: var(--rose);
}

.contact-safety-note strong { display: block; margin-bottom: 4px; }
.contact-safety-note p { margin: 0; color: var(--muted); line-height: 1.8; font-size: .84rem; }

.site-footer {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  border-top: 1px solid var(--line);
  padding: 28px 0 45px;
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: .82rem;
}

.composer {
  width: min(700px, calc(100% - 28px));
  max-height: min(92vh, 880px);
  border: 0;
  border-radius: 28px;
  padding: 0;
  box-shadow: 0 35px 100px rgba(40,45,36,.28);
  background: var(--paper-strong);
  color: var(--ink);
}

.composer::backdrop {
  background: rgba(36,43,35,.58);
  backdrop-filter: blur(6px);
}

.composer form {
  padding: 34px;
  max-height: min(92vh, 880px);
  overflow-y: auto;
}

.dialog-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.dialog-head h2 { margin: 8px 0 22px; }

.close-button {
  align-self: flex-start;
  background: transparent;
  font-size: 1.7rem;
  color: var(--muted);
}

.prompt-suggestion {
  margin: 0 0 20px;
  padding: 13px 15px;
  border-radius: 15px;
  background: var(--soft-green-2);
}

.prompt-suggestion span {
  color: var(--sage-dark);
  font-size: .68rem;
  font-weight: 900;
}

.prompt-suggestion p {
  margin: 4px 0 0;
  color: var(--ink-soft);
  font-size: .85rem;
  line-height: 1.7;
}

.composer label {
  display: block;
  font-size: .86rem;
  font-weight: 800;
  margin-bottom: 17px;
}

.composer label em {
  color: var(--muted);
  font-size: .68rem;
  font-style: normal;
  font-weight: 500;
}

textarea, input, select {
  width: 100%;
  margin-top: 8px;
  border: 1px solid var(--line);
  background: white;
  border-radius: 14px;
  padding: 13px 14px;
  color: var(--ink);
  outline: none;
}

textarea {
  resize: vertical;
  min-height: 142px;
  line-height: 1.8;
}

textarea:focus, input:focus, select:focus {
  border-color: var(--sage);
  box-shadow: 0 0 0 3px rgba(111,130,109,.12);
}

.counter {
  display: block;
  text-align: left;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 400;
  margin-top: 4px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.optional-panel {
  margin: 4px 0 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(247,243,234,.7);
  overflow: hidden;
}

.optional-panel summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.optional-panel summary::-webkit-details-marker { display: none; }

.optional-panel summary span {
  display: flex;
  flex-direction: column;
}

.optional-panel summary strong { font-size: .88rem; }
.optional-panel summary small { color: var(--muted); margin-top: 4px; font-size: .7rem; }
.optional-panel summary b { font-size: 1.1rem; transition: transform .2s ease; }
.optional-panel[open] summary b { transform: rotate(45deg); }

.optional-content {
  padding: 3px 17px 4px;
  border-top: 1px solid var(--line);
}

.privacy-mini {
  margin: 13px 0 15px;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.7;
}

.checkbox-row {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  color: var(--muted);
  line-height: 1.7;
  font-weight: 400 !important;
}

.checkbox-row input {
  width: auto;
  margin: 5px 0 0;
  accent-color: var(--sage-dark);
}

.checkbox-row small {
  display: block;
  color: #8b918b;
  font-size: .68rem;
  margin-top: 3px;
}

.consent-row {
  padding: 12px;
  border-radius: 13px;
  background: white;
}

.guideline-row { margin-top: 7px; }

.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}

.heart-burst {
  position: fixed;
  left: 50%; top: 50%;
  z-index: 30;
  color: var(--rose);
  font-size: 5rem;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.35);
}

.heart-burst.show { animation: heartBurst .65s ease; }

@keyframes heartBurst {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.35); }
  45% { opacity: 1; transform: translate(-50%,-50%) scale(1.2); }
  100% { opacity: 0; transform: translate(-50%,-70%) scale(.85); }
}

.toast {
  position: fixed;
  left: 50%; bottom: 28px;
  transform: translate(-50%, 30px);
  background: var(--ink);
  color: white;
  padding: 12px 18px;
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
  transition: .25s ease;
  z-index: 40;
  font-size: .84rem;
  max-width: calc(100% - 30px);
  text-align: center;
}

.toast.show { opacity: 1; transform: translate(-50%, 0); }

.highlight-card { animation: pulseCard 1.2s ease; }

@keyframes pulseCard {
  0%,100% { box-shadow: 0 14px 42px rgba(70,77,62,.075); }
  50% { box-shadow: 0 0 0 6px rgba(111,130,109,.17), 0 20px 55px rgba(70,77,62,.13); }
}

@media (max-width: 900px) {
  .top-nav .nav-link { display: none; }
  .hero { grid-template-columns: 1fr; padding-top: 45px; }
  .hero-visual { min-height: 425px; }
  .pulse-strip { grid-template-columns: repeat(3, 1fr); }
  .pulse-live { grid-column: 1 / -1; text-align: center; }
  .pulse-strip article:last-of-type { border-left: 0; }
  .reason-grid { grid-template-columns: repeat(2, 1fr); }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .about-section { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .contact-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .site-header { height: 72px; }
  .top-nav .ghost-button { padding: 9px 13px; font-size: .79rem; }
  .hero { padding-top: 35px; min-height: auto; }
  .hero h1 { font-size: 3.42rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-visual { min-height: 392px; }
  .sun-disc { width: 280px; height: 280px; right: 8px; }
  .sun-disc::after { width: 190px; height: 190px; inset: 45px; }
  .card-a { width: 283px; right: 0; padding: 26px; }
  .sample-card-footer { align-items: flex-start; flex-direction: column; gap: 9px; }
  .sample-author { align-self: flex-end; }
  .card-b { width: 207px; bottom: 7px; }
  .sprout { display: none; }

  .pulse-strip {
    grid-template-columns: repeat(3, 1fr);
    padding: 17px 12px;
    gap: 8px;
  }
  .pulse-strip article { text-align: center; }
  .pulse-strip strong { font-size: 1.1rem; }
  .pulse-strip article span { font-size: .64rem; }

  .support-note { padding: 17px; }
  .support-icon { display: none; }

  .daily-prompt {
    grid-template-columns: auto 1fr;
    padding: 24px;
  }
  .daily-prompt .soft-button { grid-column: 1 / -1; }

  .tabs-region { margin-bottom: 42px; }
  .tabs-copy { display: block; }
  .main-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 22px;
  }
  .main-tab { min-width: 0; padding: 11px; }
  .main-tab small { display: none; }

  .swipe-card { min-height: 365px; padding: 24px; }
  .swipe-actions { gap: 12px; }
  .round-action { width: 79px; height: 79px; }
  .mini-action { width: 55px; height: 55px; }
  .mini-action small { display: none; }

  .reason-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-card:last-child { grid-column: auto; }
  .contact-card { min-height: 255px; }
  .about-card, .about-quote { padding: 30px; }
  .site-footer { flex-direction: column; gap: 10px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .composer form { padding: 23px; }
  .dialog-head h2 { font-size: 1.28rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ===== نسخهٔ چندصفحه‌ای ===== */
body { padding-bottom: 0; }
.top-nav a.nav-link { display: inline-flex; align-items: center; }
.page-hero {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 45px;
  padding: 82px 0 62px;
}
.compact-hero > div:first-child { max-width: 790px; }
.page-hero h1 {
  margin: 14px 0 20px;
  font-size: clamp(3rem, 7vw, 6.7rem);
  line-height: 1.12;
  letter-spacing: -.065em;
}
.page-hero h1 span { color: var(--sage); }
.page-hero p { max-width: 680px; margin: 0; color: var(--muted); line-height: 2; font-size: 1.02rem; }
.page-hero-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; padding-bottom: 12px; }
.standalone-section { padding-top: 24px; }
.discovery-section.standalone-section { margin-bottom: 105px; }
.reasons-section.standalone-section { padding-bottom: 105px; }

.route-section,
.principles-section {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 112px;
}
.route-heading { max-width: 720px; margin-bottom: 32px; }
.route-heading h2 { margin: 10px 0 0; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.045em; }
.route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.route-card {
  min-height: 325px;
  padding: 29px;
  border-radius: 29px;
  background: rgba(255,253,248,.78);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: 0 18px 55px rgba(70,77,62,.08);
  display: flex;
  flex-direction: column;
  transition: transform .22s ease, box-shadow .22s ease;
}
.route-card:hover { transform: translateY(-5px); box-shadow: 0 25px 65px rgba(70,77,62,.13); }
.route-discover { background: linear-gradient(145deg, #fff8f6, var(--rose-soft)); }
.route-wall { background: linear-gradient(145deg, var(--soft-green), #eef3ea); }
.route-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; background: rgba(255,255,255,.68); color: var(--sage-dark); font-size: 1.15rem; margin-bottom: 34px; }
.route-card small { color: var(--sage); font-weight: 800; }
.route-card h3 { margin: 7px 0 12px; font-size: 1.38rem; }
.route-card p { color: var(--muted); line-height: 1.9; margin: 0 0 25px; font-size: .88rem; }
.route-card b { margin-top: auto; color: var(--sage-dark); font-size: .84rem; }

.about-page-hero,
.contact-page-hero { padding-bottom: 45px; }
.about-quote .soft-button { margin-top: 30px; }
.principles-section { padding: 43px; border-radius: 31px; background: rgba(255,253,248,.72); }
.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 27px; }
.principles-grid article { border-top: 1px solid var(--line); padding-top: 20px; }
.principles-grid strong { font-size: 1.08rem; }
.principles-grid p { color: var(--muted); line-height: 1.9; font-size: .85rem; }
.contact-faq { margin-top: 38px; padding: 35px; border-radius: 28px; background: rgba(255,253,248,.7); }
.contact-faq details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.contact-faq details:last-child { border-bottom: 0; }
.contact-faq summary { cursor: pointer; font-weight: 800; }
.contact-faq p { color: var(--muted); line-height: 1.9; margin-bottom: 0; }

.mobile-nav { display: none; }

@media (max-width: 900px) {
  body { padding-bottom: 78px; }
  .top-nav .nav-link { display: none; }
  .page-hero { align-items: flex-start; flex-direction: column; padding-top: 50px; }
  .page-hero-actions { padding-bottom: 0; }
  .route-grid, .principles-grid { grid-template-columns: 1fr; }
  .route-card { min-height: 250px; }
  .mobile-nav {
    position: fixed;
    z-index: 80;
    left: 12px;
    right: 12px;
    bottom: max(10px, env(safe-area-inset-bottom));
    min-height: 64px;
    padding: 7px;
    border-radius: 22px;
    background: rgba(255,253,248,.93);
    border: 1px solid rgba(255,255,255,.92);
    box-shadow: 0 18px 55px rgba(45,53,43,.2);
    backdrop-filter: blur(18px);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  .mobile-nav-link { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 16px; color: var(--muted); }
  .mobile-nav-link span { font-size: 1rem; line-height: 1; }
  .mobile-nav-link small { font-size: .59rem; white-space: nowrap; }
  .mobile-nav-link.active { background: var(--soft-green); color: var(--ink); font-weight: 800; }
  .toast { bottom: 92px; }
}

@media (max-width: 620px) {
  .page-hero { padding: 40px 0 44px; gap: 26px; }
  .page-hero h1 { font-size: 3.5rem; }
  .page-hero-actions { width: 100%; flex-direction: column; align-items: stretch; }
  .page-hero-actions > * { text-align: center; }
  .route-section, .principles-section { margin-bottom: 78px; }
  .route-grid { grid-template-columns: 1fr; }
  .route-card { min-height: 240px; }
  .principles-section { padding: 28px; }
  .contact-faq { padding: 25px; }
  .discovery-section.standalone-section { margin-bottom: 78px; }
  .reasons-section.standalone-section { padding-bottom: 78px; }
}


/* دیوار ادغام‌شده در صفحهٔ دیدن دلیل‌ها */
.embedded-wall {
  margin-top: 0;
  padding-top: 88px;
  border-top: 1px solid rgba(110, 125, 98, .14);
}
@media (max-width: 620px) {
  .embedded-wall { padding-top: 58px; }
}


/* ===== Mobile Experience 2026 ===== */
:root {
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top: env(safe-area-inset-top, 0px);
}

html { -webkit-text-size-adjust: 100%; }
body { -webkit-tap-highlight-color: transparent; }
button, a, input, textarea, select, summary { touch-action: manipulation; }
.mobile-compose-fab { display: none; }

@media (max-width: 900px) {
  body {
    padding-top: 0;
    padding-bottom: calc(98px + var(--safe-bottom));
    overscroll-behavior-y: none;
    background:
      radial-gradient(circle at 90% 2%, rgba(219,232,210,.85), transparent 30%),
      radial-gradient(circle at 0% 34%, rgba(241,214,181,.68), transparent 28%),
      var(--paper);
  }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 75;
    width: 100%;
    height: calc(64px + var(--safe-top));
    padding: var(--safe-top) 15px 0;
    background: rgba(246,241,231,.78);
    border-bottom: 1px solid rgba(255,255,255,.62);
    box-shadow: 0 10px 34px rgba(54,64,51,.07);
    backdrop-filter: blur(22px) saturate(1.25);
    -webkit-backdrop-filter: blur(22px) saturate(1.25);
  }

  .brand { gap: 9px; font-size: 1rem; letter-spacing: -.02em; }
  .brand-mark {
    width: 37px; height: 37px;
    background: linear-gradient(145deg, #eff4eb, #cfddc7);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 7px 20px rgba(73,91,69,.12);
  }
  .top-nav { display: none; }

  .mobile-nav {
    left: 12px;
    right: 12px;
    bottom: max(10px, var(--safe-bottom));
    min-height: 70px;
    padding: 7px 8px;
    border-radius: 25px;
    background: rgba(255,253,248,.88);
    border: 1px solid rgba(255,255,255,.95);
    box-shadow: 0 20px 60px rgba(35,45,34,.23), inset 0 1px 0 rgba(255,255,255,.8);
    backdrop-filter: blur(24px) saturate(1.35);
    -webkit-backdrop-filter: blur(24px) saturate(1.35);
  }
  .mobile-nav-link {
    position: relative;
    min-height: 56px;
    gap: 5px;
    border-radius: 18px;
    transition: transform .18s ease, background .18s ease, color .18s ease;
  }
  .mobile-nav-link:active { transform: scale(.93); }
  .mobile-nav-link span { font-size: 1.15rem; }
  .mobile-nav-link small { font-size: .62rem; font-weight: 700; }
  .mobile-nav-link.active {
    background: linear-gradient(145deg, #e8f0e2, #d9e5d2);
    color: var(--sage-dark);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
  }
  .mobile-nav-link.active::after {
    content: "";
    position: absolute;
    bottom: 4px;
    width: 17px;
    height: 3px;
    border-radius: 999px;
    background: var(--sage-dark);
  }

  .mobile-compose-fab {
    position: fixed;
    z-index: 92;
    right: 18px;
    bottom: calc(93px + var(--safe-bottom));
    width: 62px;
    height: 62px;
    padding: 0;
    border: 0;
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    color: white;
    background: linear-gradient(145deg, #647b60, #425541);
    box-shadow: 0 18px 38px rgba(53,72,51,.32), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .18s ease, box-shadow .18s ease;
  }
  .mobile-compose-fab:active { transform: scale(.9) rotate(-3deg); box-shadow: 0 10px 24px rgba(53,72,51,.25); }
  .mobile-compose-fab span { font-size: 1.55rem; line-height: 1; }
  .mobile-compose-fab small { font-size: .57rem; font-weight: 800; }

  .ambient { opacity: .22; filter: blur(70px); }
  .grain { opacity: .065; }
  .site-footer { padding-bottom: 24px; }
  .toast { bottom: calc(170px + var(--safe-bottom)); }
}

@media (max-width: 620px) {
  :root { --mobile-gutter: 14px; }

  .site-header { padding-left: var(--mobile-gutter); padding-right: var(--mobile-gutter); }
  main { overflow: clip; }

  .home-hero,
  .page-hero {
    width: calc(100% - 24px);
    margin: 12px auto 0;
    border-radius: 34px;
    background:
      radial-gradient(circle at 10% 0%, rgba(255,255,255,.9), transparent 38%),
      linear-gradient(150deg, rgba(255,253,248,.84), rgba(230,238,223,.72));
    border: 1px solid rgba(255,255,255,.9);
    box-shadow: 0 26px 75px rgba(61,74,57,.11);
  }

  .home-hero {
    padding: 31px 21px 20px;
    gap: 10px;
  }
  .home-hero .eyebrow,
  .page-hero .eyebrow {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.58);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
  }
  .hero h1 {
    margin: 16px 0 18px;
    font-size: clamp(2.95rem, 15vw, 4rem);
    line-height: 1.08;
    letter-spacing: -.075em;
  }
  .hero-copy > p { font-size: .95rem; line-height: 1.95; }
  .hero-actions { gap: 10px; margin-top: 23px; }
  .hero-actions .primary-button,
  .hero-actions .text-button {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 17px;
  }
  .hero-actions .text-button { background: rgba(255,255,255,.55); padding-inline: 15px; }
  .privacy-note { margin-top: 18px; padding: 11px 13px; border-radius: 15px; background: rgba(255,255,255,.42); line-height: 1.7; }

  .hero-visual { min-height: 340px; margin-top: 2px; }
  .sun-disc { width: 240px; height: 240px; right: 50%; transform: translateX(50%); top: 30px; opacity: .9; }
  .sun-disc::after { width: 166px; height: 166px; inset: 37px; }
  .card-a { width: calc(100% - 18px); right: 9px; top: 70px; padding: 23px; border-radius: 25px; transform: rotate(-1.2deg); }
  .card-a p { font-size: .98rem; line-height: 1.9; }
  .card-b { width: 61%; left: 4px; bottom: 0; padding: 18px; border-radius: 21px; transform: rotate(3deg); }
  .card-b p { font-size: .83rem; }

  .pulse-strip {
    width: calc(100% - 24px);
    margin: 14px auto 18px;
    padding: 10px;
    gap: 7px;
    border-radius: 24px;
    background: rgba(255,253,248,.74);
    backdrop-filter: blur(12px);
  }
  .pulse-strip article { min-height: 66px; justify-content: center; border: 0; border-radius: 17px; background: rgba(255,255,255,.46); }
  .pulse-strip strong { font-size: 1.25rem; }
  .pulse-live { padding: 8px 0 2px; font-size: .72rem; }

  .support-note {
    width: calc(100% - 24px);
    margin: 0 auto 23px;
    padding: 15px 16px;
    border-radius: 21px;
    gap: 8px;
  }
  .support-note strong { font-size: .84rem; line-height: 1.65; }
  .support-note p { font-size: .76rem; line-height: 1.75; }
  .support-note button { min-width: 34px; min-height: 34px; }

  .daily-prompt {
    width: calc(100% - 24px);
    margin: 0 auto 68px;
    padding: 20px;
    border-radius: 28px;
    grid-template-columns: 58px 1fr;
    gap: 14px;
  }
  .prompt-date { width: 58px; height: 58px; border-radius: 18px; }
  .daily-prompt h2 { font-size: 1.18rem; line-height: 1.65; }
  .daily-prompt .soft-button { min-height: 48px; border-radius: 16px; }

  .route-section { width: 100%; margin-bottom: 76px; }
  .route-heading { padding: 0 18px; margin-bottom: 22px; }
  .route-heading h2 { font-size: 1.9rem; line-height: 1.45; }
  .route-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 2px 18px 18px;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .route-grid::-webkit-scrollbar { display: none; }
  .route-card {
    flex: 0 0 min(84vw, 330px);
    min-height: 285px;
    padding: 25px;
    border-radius: 29px;
    scroll-snap-align: center;
    box-shadow: 0 18px 48px rgba(70,77,62,.11);
  }
  .route-icon { margin-bottom: 27px; }

  .page-hero { padding: 27px 20px 24px; gap: 20px; }
  .page-hero h1 { margin: 15px 0 15px; font-size: clamp(2.55rem, 13vw, 3.45rem); line-height: 1.14; }
  .page-hero p { font-size: .91rem; line-height: 1.92; }
  .page-hero-actions { gap: 9px; }
  .page-hero-actions > * { min-height: 49px; border-radius: 16px; display: flex; align-items: center; justify-content: center; }

  .discovery-section {
    width: calc(100% - 24px);
    margin: 22px auto 74px;
  }
  .swipe-shell { width: 100%; }
  .card-stack { inset: 18px 12px auto; height: min(510px, 62dvh); }
  .card-stack div { border-radius: 30px; }
  .swipe-card {
    min-height: min(520px, 64dvh);
    padding: 22px 21px 20px;
    border-radius: 30px;
    box-shadow: 0 30px 75px rgba(52,68,49,.18);
    transform: translateX(var(--drag-x, 0px)) rotate(var(--drag-rotate, 0deg));
    will-change: transform;
  }
  .swipe-card.dragging { transition: none; cursor: grabbing; }
  .swipe-card::before,
  .swipe-card::after {
    position: absolute;
    z-index: 4;
    top: 72px;
    padding: 8px 12px;
    border: 2px solid currentColor;
    border-radius: 12px;
    font-weight: 900;
    font-size: .79rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease;
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(8px);
  }
  .swipe-card::before { content: "♥ امید داد"; right: 20px; color: var(--rose); transform: rotate(7deg); }
  .swipe-card::after { content: "بعدی ←"; left: 20px; color: #6f7770; transform: rotate(-7deg); }
  .swipe-card.drag-right::before,
  .swipe-card.drag-left::after { opacity: .95; }
  .swipe-progress { margin-bottom: 17px; }
  .swipe-text { margin: 18px 0; font-size: clamp(1.22rem, 6vw, 1.58rem); line-height: 1.93; }
  .swipe-bottom { gap: 10px; align-items: flex-end; }
  .avatar-orb { width: 41px; height: 41px; flex-basis: 41px; }
  .identity-line { gap: 10px; }
  .identity-line strong { font-size: .86rem; }
  .identity-chips { max-height: 50px; overflow: hidden; }
  .icon-button { width: 40px; height: 40px; }

  .swipe-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 54px 1fr 1fr 54px;
    gap: 10px;
    margin-top: 22px;
    align-items: center;
  }
  .round-action, .mini-action { width: 100%; border-radius: 22px; }
  .round-action { height: 76px; }
  .mini-action { height: 54px; }
  .round-action span { font-size: 1.65rem; }
  .round-action small { font-size: .64rem; }
  .mini-action small { display: none; }
  .love-action { background: linear-gradient(145deg, #fff4f3, #ffe4e2); }
  .skip-action { background: linear-gradient(145deg, #fffdf8, #eeeee9); }
  .swipe-hint { margin: 14px 8px 0; font-size: .68rem; line-height: 1.7; }

  .embedded-wall {
    width: 100%;
    padding: 58px 14px 82px;
    border-top: 0;
    background: linear-gradient(180deg, transparent, rgba(223,232,216,.35) 10%, transparent 100%);
  }
  .section-heading { gap: 18px; margin-bottom: 24px; }
  .section-heading h2 { font-size: 2rem; line-height: 1.5; }
  .filters {
    position: sticky;
    top: calc(64px + var(--safe-top));
    z-index: 30;
    width: calc(100vw - 28px);
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 9px 8px;
    margin-inline: -1px;
    border-radius: 19px;
    background: rgba(246,241,231,.87);
    border: 1px solid rgba(255,255,255,.8);
    box-shadow: 0 10px 30px rgba(58,70,55,.09);
    backdrop-filter: blur(18px);
    scrollbar-width: none;
  }
  .filters::-webkit-scrollbar { display: none; }
  .filter { flex: 0 0 auto; min-height: 40px; padding: 8px 14px; background: rgba(255,255,255,.48); }
  .filter.active { box-shadow: inset 0 0 0 1px rgba(255,255,255,.75); }

  .reason-grid { gap: 13px; }
  .reason-card {
    min-height: 250px;
    padding: 21px;
    border-radius: 25px;
    box-shadow: 0 15px 38px rgba(70,77,62,.1);
  }
  .reason-card:active { transform: scale(.985); }
  .reason-text { font-size: 1rem; line-height: 1.95; margin: 20px 0; }
  .reason-author { padding-top: 12px; border-top: 1px dashed rgba(46,57,47,.13); }
  .reason-actions { min-height: 48px; }
  .hope-button, .report-button, .share-card-button { min-height: 40px; padding: 7px; }

  .about-section,
  .contact-section,
  .principles-section {
    width: calc(100% - 24px);
    margin-left: auto;
    margin-right: auto;
  }
  .about-section { gap: 13px; }
  .about-card, .about-quote { padding: 27px 23px; border-radius: 29px; }
  .about-card h2 { font-size: 2rem; line-height: 1.55; }
  .about-values article { grid-template-columns: 34px 1fr; }
  .about-quote { min-height: 330px; }
  .about-quote p { font-size: 1.55rem; }
  .principles-section { padding: 26px 22px; border-radius: 28px; }
  .principles-grid { gap: 5px; }

  .contact-grid { gap: 12px; }
  .contact-card { min-height: 238px; padding: 23px; border-radius: 27px; }
  .contact-icon { margin-bottom: 23px; }
  .contact-action, .contact-status { min-height: 42px; display: inline-flex; align-items: center; }
  .contact-safety-note { border-radius: 23px; padding: 17px; }
  .contact-faq { padding: 22px; border-radius: 25px; }
  .contact-faq details { padding: 17px 0; }

  .site-footer {
    width: calc(100% - 28px);
    padding: 22px 4px 12px;
    font-size: .72rem;
    line-height: 1.8;
  }

  .composer {
    width: 100%;
    max-width: none;
    max-height: min(94dvh, 900px);
    margin: auto 0 0;
    border-radius: 30px 30px 0 0;
  }
  .composer form {
    max-height: min(94dvh, 900px);
    padding: 0 19px calc(20px + var(--safe-bottom));
    scroll-padding-bottom: 100px;
  }
  .dialog-head {
    position: sticky;
    top: 0;
    z-index: 3;
    margin: 0 -19px 18px;
    padding: 20px 19px 12px;
    background: rgba(255,253,248,.92);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--line);
  }
  .dialog-head::before {
    content: "";
    position: absolute;
    width: 42px;
    height: 5px;
    top: 7px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 99px;
    background: rgba(46,57,47,.17);
  }
  .dialog-head h2 { margin: 6px 0 0; font-size: 1.2rem; }
  .dialog-head .eyebrow { display: none; }
  .close-button { width: 42px; height: 42px; border-radius: 14px; background: var(--soft-green-2); }
  .composer label { margin-bottom: 14px; }
  textarea, input, select { min-height: 48px; border-radius: 15px; font-size: 16px; }
  textarea { min-height: 150px; }
  .dialog-actions {
    position: sticky;
    bottom: calc(-20px - var(--safe-bottom));
    z-index: 3;
    margin: 18px -19px 0;
    padding: 13px 19px calc(14px + var(--safe-bottom));
    background: rgba(255,253,248,.94);
    border-top: 1px solid var(--line);
    backdrop-filter: blur(18px);
  }
  .dialog-actions > * { flex: 1; min-height: 49px; border-radius: 16px; }
}

@media (max-width: 380px) {
  .hero h1 { font-size: 2.75rem; }
  .page-hero h1 { font-size: 2.45rem; }
  .mobile-nav-link small { font-size: .56rem; }
  .swipe-actions { grid-template-columns: 48px 1fr 1fr 48px; gap: 7px; }
  .card-a { width: 100%; right: 0; }
}


/* ===== تعامل کارت‌های نمونهٔ صفحهٔ اصلی ===== */
.hero-visual { isolation: isolate; }

.floating-card {
  cursor: zoom-in;
  transform-origin: center;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, opacity .2s ease;
  -webkit-tap-highlight-color: transparent;
}

.floating-card::after {
  content: "برای دیدن کامل، کلیک کن";
  position: absolute;
  left: 18px;
  bottom: -34px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(46,57,47,.88);
  color: white;
  font-size: .66rem;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  box-shadow: 0 9px 22px rgba(46,57,47,.16);
}

.floating-card:hover,
.floating-card:focus-visible,
.floating-card.is-active {
  z-index: 12;
  animation: none !important;
  transform: rotate(0deg) scale(1.075) translateY(-4px);
  box-shadow: 0 34px 90px rgba(47,58,47,.24);
}

.floating-card:hover::after,
.floating-card:focus-visible::after,
.floating-card.is-active::after {
  opacity: 1;
  transform: translateY(0);
}

.hero-visual:has(.floating-card:hover) .floating-card:not(:hover),
.hero-visual:has(.floating-card:focus-visible) .floating-card:not(:focus-visible) {
  opacity: .72;
}

.sample-reason-dialog {
  width: min(610px, calc(100% - 34px));
  max-height: min(82vh, 720px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 32px;
  color: var(--ink);
  background: rgba(255,253,248,.98);
  box-shadow: 0 36px 110px rgba(34,43,35,.32);
  overflow: hidden;
}

.sample-reason-dialog::backdrop {
  background: rgba(32,40,33,.54);
  backdrop-filter: blur(8px);
}

.sample-dialog-shell {
  position: relative;
  padding: clamp(28px, 5vw, 48px);
  background:
    radial-gradient(circle at 80% 10%, rgba(239,209,175,.62), transparent 32%),
    linear-gradient(145deg, rgba(255,253,248,.99), rgba(237,242,233,.98));
}

.sample-dialog-close {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.75);
  color: var(--ink);
  font-size: 1.45rem;
  box-shadow: 0 8px 24px rgba(49,58,48,.11);
}

.sample-dialog-kicker {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(113,132,109,.13);
  color: var(--sage-dark);
  font-size: .75rem;
  font-weight: 800;
}

.sample-dialog-quote {
  margin: 26px 0 30px;
  font-size: clamp(1.35rem, 4.2vw, 2.15rem);
  line-height: 2;
  font-weight: 700;
  letter-spacing: -.025em;
  white-space: pre-wrap;
}

.sample-dialog-meta {
  padding-top: 18px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.sample-dialog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.sample-dialog-tags span {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.68);
  color: var(--muted);
  font-size: .74rem;
}

.sample-dialog-author {
  color: var(--sage-dark);
  font-weight: 800;
  white-space: nowrap;
}

body.sample-dialog-open { overflow: hidden; }

@media (max-width: 620px) {
  .floating-card::after { display: none; }
  .floating-card:hover,
  .floating-card:focus-visible,
  .floating-card.is-active {
    transform: rotate(0deg) scale(1.025) translateY(-2px);
  }
  .sample-reason-dialog {
    width: calc(100% - 22px);
    border-radius: 27px;
  }
  .sample-dialog-shell { padding: 34px 24px 28px; }
  .sample-dialog-quote { margin-top: 30px; font-size: 1.25rem; line-height: 2; }
  .sample-dialog-meta { align-items: flex-start; flex-direction: column; }
  .sample-dialog-author { align-self: flex-end; }
}


/* ===== UX polish: discover controls, filters, likes, official contact ===== */
.hope-button {
  min-height: 42px;
  padding: 7px 10px 7px 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,255,255,.54);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.hope-button:hover { transform: translateY(-2px); background: rgba(255,248,246,.92); box-shadow: 0 9px 24px rgba(132,79,80,.11); }
.hope-heart {
  width: 29px;
  height: 29px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  font-size: 1.12rem;
  color: var(--rose);
  background: var(--rose-soft);
  transition: transform .22s ease, background .22s ease, color .22s ease;
}
.hope-copy { white-space: nowrap; font-weight: 750; }
.hope-count {
  min-width: 28px;
  min-height: 28px;
  padding-inline: 7px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.72);
  color: var(--ink);
  font-size: .72rem;
}
.hope-button.liked {
  color: #fff;
  background: linear-gradient(135deg, #b7676c, #934e58);
  border-color: rgba(255,255,255,.32);
  box-shadow: 0 11px 28px rgba(145,74,83,.22), inset 0 1px 0 rgba(255,255,255,.24);
}
.hope-button.liked .hope-heart { color: #fff; background: rgba(255,255,255,.18); }
.hope-button.liked .hope-count { color: #7d3f48; background: rgba(255,255,255,.9); }
.hope-button.just-liked .hope-heart { animation: hope-heart-pop .65s cubic-bezier(.2,.9,.25,1.3); }
.reason-card.received-hope { animation: received-hope .68s ease; }
@keyframes hope-heart-pop { 0%{transform:scale(.7)} 35%{transform:scale(1.45) rotate(-9deg)} 65%{transform:scale(.92) rotate(4deg)} 100%{transform:scale(1)} }
@keyframes received-hope { 0%,100%{box-shadow:0 14px 42px rgba(70,77,62,.075)} 45%{box-shadow:0 20px 58px rgba(177,101,107,.2), 0 0 0 3px rgba(209,145,148,.13)} }

.love-action { position: relative; overflow: visible; }
.love-action::before,
.love-action::after {
  content: "♥";
  position: absolute;
  inset: 50% auto auto 50%;
  opacity: 0;
  pointer-events: none;
  color: var(--rose);
}
.love-action.celebrate { animation: love-button-bloom .58s ease; }
.love-action.celebrate::before { animation: mini-heart-left .62s ease forwards; }
.love-action.celebrate::after { animation: mini-heart-right .62s .04s ease forwards; }
.swipe-card.loved-glow { box-shadow: 0 30px 85px rgba(170,92,100,.2), 0 0 0 4px rgba(217,151,153,.12); }
@keyframes love-button-bloom { 0%,100%{transform:scale(1)} 42%{transform:scale(1.14) rotate(-3deg)} }
@keyframes mini-heart-left { 0%{opacity:0;transform:translate(-50%,-50%) scale(.4)} 25%{opacity:1} 100%{opacity:0;transform:translate(-65px,-75px) rotate(-18deg) scale(1.1)} }
@keyframes mini-heart-right { 0%{opacity:0;transform:translate(-50%,-50%) scale(.4)} 25%{opacity:1} 100%{opacity:0;transform:translate(45px,-82px) rotate(15deg) scale(.8)} }

.filters { scroll-behavior: smooth; overscroll-behavior-inline: contain; }
.filter { transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease; }
.filter:active { transform: scale(.94); }
.filter.active { transform: translateY(-1px); }

.social-contact { grid-column: 1 / -1; }
.social-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 4px; }
.social-link {
  min-height: 78px;
  padding: 12px 10px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  column-gap: 8px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(255,255,255,.78);
  color: var(--ink);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.social-link:hover { transform: translateY(-3px); background: rgba(255,255,255,.86); box-shadow: 0 12px 30px rgba(60,70,57,.1); }
.social-link > span { grid-row: 1 / span 2; width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: rgba(105,127,96,.13); font-size: 1rem; }
.social-link b { font-size: .83rem; }
.social-link small { color: var(--muted); font-size: .63rem; direction: ltr; text-align: right; }
.contact-email { direction: ltr; unicode-bidi: isolate; font-weight: 800; }
.contact-faq a { color: var(--sage-dark); font-weight: 800; }

@media (max-width: 900px) {
  body[data-page="discover"] .mobile-compose-fab { display: none; }
  .social-contact { grid-column: auto; }
}

@media (max-width: 620px) {
  .filters {
    scroll-padding-inline: calc(50vw - 58px);
    mask-image: linear-gradient(to left, transparent 0, #000 13px, #000 calc(100% - 13px), transparent 100%);
    -webkit-mask-image: linear-gradient(to left, transparent 0, #000 13px, #000 calc(100% - 13px), transparent 100%);
  }
  .filter.active { transform: translateY(-1px) scale(1.02); }
  .reason-actions { align-items: flex-end; }
  .hope-button { min-height: 46px; padding: 7px 8px; gap: 6px; }
  .hope-copy { font-size: .71rem; }
  .hope-count { min-width: 26px; padding-inline: 5px; }
  .social-links { grid-template-columns: 1fr; }
  .social-link { min-height: 66px; }
}

@media (prefers-reduced-motion: reduce) {
  .hope-button.just-liked .hope-heart,
  .reason-card.received-hope,
  .love-action.celebrate,
  .love-action.celebrate::before,
  .love-action.celebrate::after { animation: none !important; }
  .filters { scroll-behavior: auto; }
}


/* ===== نمایش بزرگ همهٔ دلیل‌ها ===== */
.reason-card { cursor: pointer; }
.reason-card:focus-visible { outline: 3px solid rgba(91,117,81,.28); outline-offset: 4px; }
.swipe-card[role="button"] { cursor: zoom-in; }
.reason-detail-dialog {
  width: min(700px, calc(100% - 32px));
  max-height: min(86vh, 760px);
  padding: 0;
  border: 0;
  border-radius: 32px;
  overflow: hidden;
  color: var(--ink);
  background: transparent;
  box-shadow: 0 38px 110px rgba(39,46,36,.28);
}
.reason-detail-dialog::backdrop { background: rgba(33,39,31,.54); backdrop-filter: blur(9px); }
.reason-detail-shell {
  position: relative;
  min-height: 410px;
  padding: clamp(30px, 6vw, 58px);
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 12% 8%, rgba(255,255,255,.92), transparent 34%),
    linear-gradient(145deg, #f8f2e7, #e7eee0 56%, #f4e3d3);
}
.reason-detail-close {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.9);
  font-size: 1.45rem;
  color: var(--muted);
}
.reason-detail-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-inline-end: 42px; }
.reason-detail-mark { color: var(--sage); font-size: 1.2rem; }
.reason-detail-text { margin: clamp(32px, 7vh, 62px) 0 38px; font-size: clamp(1.35rem, 3.3vw, 2.2rem); line-height: 1.95; font-weight: 750; text-wrap: pretty; }
.reason-detail-author { margin-top: auto; padding-top: 22px; border-top: 1px solid rgba(75,88,68,.12); display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.reason-detail-author strong { color: var(--sage-dark); }
.reason-detail-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.reason-detail-chips span { padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.62); color: var(--muted); font-size: .75rem; }
.reason-detail-actions { margin-top: 24px; display: flex; align-items: center; gap: 10px; }
.reason-detail-like, .reason-detail-share { min-height: 48px; border-radius: 999px; }
.reason-detail-like { padding: 7px 10px; display: inline-flex; align-items: center; gap: 9px; background: rgba(255,255,255,.65); border: 1px solid rgba(255,255,255,.9); color: var(--rose); }
.reason-detail-like > span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--rose-soft); font-size: 1.18rem; }
.reason-detail-like small { min-width: 30px; padding: 5px 8px; border-radius: 999px; background: rgba(255,255,255,.78); color: var(--ink); }
.reason-detail-like.liked { color: white; background: linear-gradient(135deg, #b7676c, #934e58); box-shadow: 0 12px 30px rgba(145,74,83,.22); }
.reason-detail-like.liked > span { background: rgba(255,255,255,.18); }
.reason-detail-like.just-liked > span { animation: hope-heart-pop .65s cubic-bezier(.2,.9,.25,1.3); }
.reason-detail-share { padding: 0 18px; background: rgba(255,255,255,.52); color: var(--sage-dark); border: 1px solid rgba(255,255,255,.8); font-weight: 800; }

@media (max-width: 620px) {
  .reason-detail-dialog { width: calc(100% - 18px); max-height: calc(100dvh - 20px); border-radius: 28px; }
  .reason-detail-shell { min-height: min(76dvh, 650px); padding: 34px 23px 26px; }
  .reason-detail-text { margin-top: 44px; font-size: 1.35rem; line-height: 2; }
  .reason-detail-author { align-items: flex-start; flex-direction: column; }
  .reason-detail-chips { justify-content: flex-start; }
  .reason-detail-actions { position: sticky; bottom: 0; padding-top: 10px; }
  .reason-detail-like { flex: 1; justify-content: center; }
}

/* =========================
   Social accounts, comments and private messages
   ========================= */
.social-avatar{--avatar-color:#5f7464;display:inline-grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--avatar-color);background:linear-gradient(145deg,color-mix(in srgb,var(--avatar-color) 82%,#fff),var(--avatar-color));color:#fff;font-weight:900;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 5px 18px rgba(38,55,42,.16)}
.social-avatar.tiny{width:26px;height:26px;font-size:.75rem}.social-avatar.small{width:38px;height:38px}.social-avatar.huge{width:104px;height:104px;font-size:2.2rem;border:5px solid rgba(255,255,255,.75);box-shadow:0 18px 55px rgba(38,55,42,.22)}
.profile-nav-link{display:inline-flex!important;align-items:center;gap:7px}.profile-hidden{display:none!important}
.reason-profile-link,.comment-author{appearance:none;border:0;background:transparent;padding:0;display:flex;align-items:center;gap:10px;text-align:right;color:inherit;cursor:pointer;font:inherit}
.reason-profile-link span,.comment-author span{display:grid;line-height:1.25}.reason-profile-link strong,.comment-author strong{font-size:.92rem}.reason-profile-link small,.comment-author small{color:var(--muted,#6d756d);font-size:.72rem;direction:ltr;text-align:right}.reason-profile-link:hover strong,.comment-author:hover strong{color:var(--green,#456252)}
.reason-profile-link.compact .social-avatar{width:32px;height:32px;font-size:.78rem}.reason-profile-link.compact span{display:flex;align-items:center;gap:7px}.reason-profile-link.compact small{display:none}
.comment-card-button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.comment-card-button b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:rgba(69,98,82,.1);font-size:.72rem}
.account-publish-row{margin:18px 0;padding:14px;border-radius:18px;background:rgba(83,112,92,.08);border:1px solid rgba(83,112,92,.13);display:flex;align-items:center;justify-content:space-between;gap:12px}.account-publish-row p{margin:0;font-size:.85rem}.account-publish-row a{color:var(--green,#456252);font-weight:800}.account-publish-user{display:flex;align-items:center;gap:9px}.account-publish-user span{display:grid}.account-publish-user small{color:var(--muted,#6d756d);direction:ltr}

.reason-detail-dialog .reason-detail-shell{max-height:min(90vh,850px);overflow:auto;scrollbar-width:thin}.comments-panel{border-top:1px solid rgba(71,85,72,.13);margin-top:22px;padding-top:22px}.comments-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.comments-heading span{font-size:.7rem;color:var(--muted,#6d756d)}.comments-heading h3{margin:2px 0 0;font-size:1.15rem}.comments-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:50%;background:#edf2ec;color:#456252}
.comments-list{display:grid;gap:10px;max-height:310px;overflow:auto;padding-left:3px}.comment-item{background:#f8f6f0;border:1px solid rgba(70,85,70,.1);border-radius:18px;padding:13px}.comment-item p{margin:10px 0 7px;line-height:1.85;font-size:.9rem;white-space:pre-wrap}.comment-item time{display:block;color:var(--muted,#6d756d);font-size:.68rem}.comment-form{margin-top:14px}.comment-form textarea{width:100%;resize:vertical;border:1px solid rgba(69,98,82,.18);border-radius:16px;background:#fff;padding:12px 14px;font:inherit;line-height:1.8}.comment-form>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.comment-form small{color:var(--muted,#6d756d);font-size:.7rem}.comment-form button{border:0;border-radius:999px;background:#4c6857;color:#fff;padding:9px 18px;font:inherit;font-weight:800;cursor:pointer}.comment-login{margin-top:14px;padding:13px;border-radius:15px;background:#f2eee3;text-align:center}.comment-login a{color:#456252;font-weight:900}.no-comments{text-align:center;color:var(--muted,#6d756d);padding:24px 10px}.no-comments span{font-size:1.8rem}.comments-loading,.comments-error{text-align:center;color:var(--muted,#6d756d);padding:15px}

.auth-page,.profile-page,.messages-page{position:relative;z-index:2;min-height:calc(100vh - 86px)}.auth-page{display:grid;place-items:center;padding:55px 5vw 120px}.auth-shell{width:min(1050px,100%);display:grid;grid-template-columns:1fr .88fr;gap:42px;align-items:center}.auth-intro h1{font-size:clamp(2.7rem,6vw,5.5rem);line-height:1.08;margin:12px 0 20px}.auth-intro h1 span{color:#56715e}.auth-intro>p{max-width:600px;font-size:1.05rem;line-height:2;color:#58635a}.auth-safety{margin-top:27px;display:grid;gap:4px;padding:16px 18px;border-right:4px solid #71866f;background:rgba(255,255,255,.5);border-radius:15px}.auth-safety span{font-size:.8rem;color:#687269}.auth-card{background:rgba(255,255,255,.78);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.85);box-shadow:0 28px 80px rgba(67,78,65,.15);border-radius:30px;padding:26px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eeeadf;border-radius:15px;padding:4px;margin-bottom:20px}.auth-tabs button{border:0;background:transparent;padding:11px;border-radius:12px;font:inherit;font-weight:800;color:#687269;cursor:pointer}.auth-tabs button.active{background:#fff;color:#3f5d4b;box-shadow:0 4px 14px rgba(60,75,60,.1)}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:7px;font-size:.82rem;font-weight:800}.auth-card input{height:48px;border:1px solid rgba(65,85,70,.16);border-radius:14px;background:#fff;padding:0 13px;font:inherit}.auth-card label small{font-size:.68rem;color:#777;font-weight:500}.auth-card .primary-button{width:100%;justify-content:center;margin-top:5px}.auth-message{min-height:24px;color:#a44747;font-size:.8rem;margin:0 0 6px}

.profile-page{padding:42px 5vw 130px}.profile-page>#profileApp{width:min(1160px,100%);margin:auto}.profile-cover{border-radius:34px;background:linear-gradient(135deg,rgba(88,116,94,.92),rgba(114,129,91,.84));color:#fff;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 24px 70px rgba(51,75,59,.2);position:relative;overflow:hidden}.profile-cover:after{content:"";position:absolute;width:330px;height:330px;border:70px solid rgba(255,255,255,.08);border-radius:50%;left:-110px;top:-160px}.profile-identity{display:flex;align-items:center;gap:22px;position:relative;z-index:1}.profile-identity h1{font-size:clamp(2rem,5vw,4.2rem);margin:4px 0}.profile-identity p{direction:ltr;text-align:right;margin:0;opacity:.8}.profile-cover .eyebrow{color:#e8efe8}.profile-actions{position:relative;z-index:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-actions .primary-button{background:#fff;color:#3e5d49}.friend-status{font-size:.78rem;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.15)}.profile-body{display:grid;grid-template-columns:310px 1fr;gap:25px;margin-top:25px}.profile-about{align-self:start;position:sticky;top:100px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.85);border-radius:25px;padding:23px;box-shadow:0 15px 45px rgba(58,72,58,.08)}.profile-about h2{margin-top:0}.profile-about p{line-height:1.9;color:#606b61}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.profile-stats span{display:grid;text-align:center;padding:12px;background:#f1eee5;border-radius:14px;font-size:.72rem}.profile-stats b{font-size:1.2rem;color:#496452}.profile-reasons{min-width:0}.profile-reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-reason-card{cursor:pointer}.profile-reason-card .reason-actions{color:#697169;font-size:.75rem}.profile-empty,.page-loading,.page-error{padding:55px;text-align:center;border-radius:25px;background:rgba(255,255,255,.65)}.profile-editor form{width:min(480px,calc(100vw - 32px));background:#fff;border-radius:25px;padding:26px;display:grid;gap:14px}.profile-editor label{display:grid;gap:6px;font-size:.8rem;font-weight:800}.profile-editor input,.profile-editor textarea{border:1px solid #dfe5dd;border-radius:14px;padding:12px;font:inherit}

.messages-page{padding:25px 4vw 105px;height:calc(100vh - 82px)}.messages-shell{height:100%;width:min(1220px,100%);margin:auto;display:grid;grid-template-columns:350px 1fr;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(52,70,56,.13);border-radius:30px;overflow:hidden;backdrop-filter:blur(20px)}.chat-sidebar{border-left:1px solid rgba(67,85,70,.1);display:flex;flex-direction:column;min-height:0}.chat-sidebar-head{padding:22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(67,85,70,.1)}.chat-sidebar-head h1{margin:3px 0 0;font-size:1.55rem}.friend-requests{padding:0 14px}.request-title{font-size:.7rem;color:#6b756d;margin:13px 5px 7px}.friend-request{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;background:#f2eee4;border-radius:15px;padding:9px;margin-bottom:6px}.friend-request>span{display:grid;min-width:0}.friend-request small{direction:ltr;text-align:right;color:#777}.friend-request>div{display:flex;gap:4px}.friend-request button{width:31px;height:31px;border:0;border-radius:50%;background:#fff;cursor:pointer}.thread-list{padding:10px;overflow:auto;display:grid;align-content:start;gap:5px}.thread-item{border:0;background:transparent;border-radius:17px;padding:11px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:right;font:inherit;cursor:pointer}.thread-item:hover,.thread-item.active{background:#edf1eb}.thread-item>span{display:grid;min-width:0}.thread-item strong{font-size:.86rem}.thread-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#737b74;font-size:.72rem}.thread-item>b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#4e6857;color:#fff;font-size:.65rem}.no-threads{text-align:center;color:#737b74;padding:35px 15px}.no-threads a{color:#47614f;font-weight:900}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(180deg,rgba(247,245,239,.8),rgba(238,242,235,.7))}.chat-placeholder,.chat-loading,.chat-empty{margin:auto;text-align:center;color:#6b756d}.chat-placeholder span{font-size:3rem}.chat-header{height:76px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid rgba(67,85,70,.1);background:rgba(255,255,255,.7)}.chat-header>a{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.chat-header>a span{display:grid}.chat-header small{direction:ltr;text-align:right;color:#777}.chat-back{display:none;border:0;background:transparent;font-size:1.4rem;margin-left:8px}.message-list{flex:1;overflow:auto;padding:25px;display:flex;flex-direction:column;gap:8px}.message-bubble{max-width:min(75%,620px);border-radius:20px;padding:11px 14px;box-shadow:0 3px 12px rgba(50,65,52,.05)}.message-bubble p{margin:0;line-height:1.8;white-space:pre-wrap}.message-bubble time{display:block;font-size:.62rem;opacity:.62;margin-top:4px}.message-bubble.mine{align-self:flex-start;background:#55715e;color:#fff;border-bottom-right-radius:20px;border-bottom-left-radius:6px}.message-bubble.theirs{align-self:flex-end;background:#fff;border-bottom-left-radius:20px;border-bottom-right-radius:6px}.message-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px;border-top:1px solid rgba(67,85,70,.1);background:rgba(255,255,255,.75)}.message-form textarea{resize:none;border:1px solid #dce3da;border-radius:18px;padding:12px 14px;font:inherit;max-height:120px}.message-form button{border:0;border-radius:16px;background:#4d6957;color:#fff;padding:0 22px;font:inherit;font-weight:900;cursor:pointer}

body[data-page="login"] .mobile-compose-fab,body[data-page="register"] .mobile-compose-fab,body[data-page="profile"] .mobile-compose-fab,body[data-page="messages"] .mobile-compose-fab{display:none!important}

@media(max-width:900px){
  .mobile-nav{grid-template-columns:repeat(6,1fr)!important}.mobile-nav-link small{font-size:.54rem!important}
  .auth-shell{grid-template-columns:1fr}.auth-intro{text-align:center}.auth-intro>p{margin-inline:auto}.auth-intro h1{font-size:clamp(2.3rem,12vw,4rem)}
  .profile-cover{align-items:flex-start;flex-direction:column;padding:25px}.profile-identity{align-items:flex-start}.social-avatar.huge{width:78px;height:78px;font-size:1.6rem}.profile-body{grid-template-columns:1fr}.profile-about{position:static}.profile-reason-grid{grid-template-columns:1fr}
  .messages-page{padding:0 0 74px;height:100dvh}.messages-shell{border-radius:0;border:0;grid-template-columns:1fr;height:100%}.chat-sidebar{border:0}.chat-main{position:fixed;inset:0 0 72px;z-index:30;display:none}.chat-main:has(.chat-header){display:flex}.chat-back{display:block}.message-bubble{max-width:86%}
}
@media(max-width:560px){
  .account-publish-row{align-items:flex-start;flex-direction:column}.comment-form>div{align-items:flex-start;flex-direction:column}.comment-form button{width:100%}.auth-page{padding:25px 14px 100px}.auth-card{padding:19px;border-radius:24px}.profile-page{padding:18px 12px 95px}.profile-cover{border-radius:25px}.profile-identity{gap:12px}.profile-identity h1{font-size:1.9rem}.profile-actions{width:100%}.profile-actions>*{flex:1;text-align:center;justify-content:center}.profile-about{border-radius:20px}.reason-detail-dialog .reason-detail-shell{max-height:94dvh}.comments-list{max-height:240px}
}


/* ===== ورود و ثبت‌نام جدا ===== */
.auth-shell-single{grid-template-columns:1fr .82fr}.auth-card-head{margin-bottom:18px}.auth-card-head h2{margin:6px 0 8px;font-size:clamp(1.65rem,3vw,2.25rem);color:#405c4a}.auth-card-head p{margin:0;color:#6d756d;line-height:1.8;font-size:.84rem}.auth-switch{margin-top:18px;padding-top:16px;border-top:1px solid rgba(65,85,70,.12);display:flex;justify-content:center;align-items:center;gap:8px;color:#6d756d;font-size:.86rem}.auth-switch a{color:#456252;font-weight:900;text-decoration:none;padding:7px 11px;border-radius:999px;background:#eef2eb}.auth-switch a:hover{background:#e3eadf}.register-nav-link{background:#4c6857!important;color:#fff!important;border-color:#4c6857!important}.register-nav-link:hover,.register-nav-link.active{background:#3f594a!important;color:#fff!important}.auth-card input:focus{outline:3px solid rgba(80,108,88,.14);border-color:#64806c}.auth-card button:disabled{opacity:.65;cursor:wait}
@media(max-width:900px){.auth-shell-single{grid-template-columns:1fr}.auth-intro{max-width:700px;margin-inline:auto}}
@media(max-width:620px){.auth-intro{display:none}.auth-page{align-items:start}.auth-card-head{text-align:center}.auth-card{width:100%}.auth-switch{padding-bottom:4px}}

/* صفحهٔ مشترک ورود و ثبت‌نام؛ دو پنل مستقل */
.auth-page-dual{display:block;padding-top:40px}
.auth-dual-shell{position:relative;width:min(1180px,100%);margin-inline:auto}
.auth-dual-intro{text-align:center;max-width:760px;margin:0 auto 30px}
.auth-dual-intro h1{font-size:clamp(2.35rem,5vw,4.7rem);line-height:1.12;margin:10px 0 15px}
.auth-dual-intro h1 span{color:#56715e}
.auth-dual-intro p{margin:0 auto;max-width:680px;line-height:2;color:#657068}
.auth-panels{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:22px;align-items:start}
.auth-panel{position:relative;isolation:isolate;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;overflow:hidden}
.auth-panel::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(145deg,rgba(111,140,116,.12),transparent 42%);transition:opacity .25s ease}
.auth-panel.is-selected{transform:translateY(-5px);border-color:rgba(76,104,87,.35);box-shadow:0 30px 90px rgba(67,78,65,.19)}
.auth-panel.is-selected::before{opacity:1}
.auth-panel-badge{position:absolute;top:18px;left:18px;padding:7px 13px;border-radius:999px;background:#e9efe7;color:#456151;font-size:.72rem;font-weight:900}
.auth-login-panel{min-height:475px;display:flex;flex-direction:column}
.auth-login-panel form{margin-top:12px}
.auth-register-panel form{grid-template-columns:1fr 1fr}
.auth-register-panel form>label:nth-child(1),.auth-register-panel form>label:nth-child(2),.auth-register-panel form>label:nth-child(3),.auth-register-panel form>.auth-password-row,.auth-register-panel form>button{grid-column:1/-1}
.auth-password-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-panel-note{margin:auto 0 0;padding-top:18px;color:#788078;font-size:.75rem;line-height:1.9;border-top:1px dashed rgba(65,85,70,.14)}
.auth-panel .auth-message:not(:empty){background:#fff0ee;border:1px solid rgba(167,71,71,.16);padding:10px 12px;border-radius:12px}
@media(max-width:900px){
  .auth-page-dual{padding-top:22px}
  .auth-panels{grid-template-columns:1fr}
  .auth-panel.is-selected{order:-1}
  .auth-dual-intro h1{font-size:clamp(2.1rem,9vw,3.5rem)}
}
@media(max-width:620px){
  .auth-dual-intro{display:block;text-align:right;margin-bottom:18px}
  .auth-dual-intro h1{font-size:2.05rem}
  .auth-dual-intro p{font-size:.82rem;line-height:1.85}
  .auth-panel-badge{top:13px;left:13px}
  .auth-login-panel{min-height:0}
  .auth-register-panel form{display:grid;grid-template-columns:1fr}
  .auth-register-panel form>*{grid-column:1!important}
  .auth-password-row{grid-template-columns:1fr}
}

/* دسترسی واضح ورود و ثبت‌نام در صفحهٔ اصلی */
.account-quick-links{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:.9rem;color:var(--muted);font-size:.9rem}
.account-quick-links a{color:var(--ink);font-weight:800;text-decoration:none;padding:.35rem .65rem;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(53,72,51,.12);transition:.2s ease}
.account-quick-links a:hover{transform:translateY(-1px);background:var(--soft-green)}
.account-quick-links i{font-style:normal;opacity:.45}
@media(max-width:700px){.account-quick-links{justify-content:center;margin-top:.7rem}.account-quick-links a{padding:.42rem .8rem}}


/* ===== ورودی یکپارچه حساب کاربری ===== */
.account-nav-link{white-space:nowrap}
.account-nav-link:hover,.account-nav-link.active{background:transparent!important;border-color:transparent!important;color:var(--ink)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.account-entry-section{position:relative;z-index:2;width:min(1180px,90vw);margin:24px auto 54px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.88);border-radius:28px;box-shadow:0 18px 55px rgba(57,73,60,.09);backdrop-filter:blur(18px)}
.account-entry-copy h2{margin:5px 0 8px;font-size:clamp(1.55rem,3vw,2.3rem);color:#405c4a}
.account-entry-copy p{margin:0;max-width:720px;line-height:1.9;color:#687269}
.account-entry-button{flex:0 0 auto;min-width:170px;justify-content:center;text-decoration:none}
.mobile-nav-link small{white-space:nowrap}
@media(max-width:760px){
  .account-entry-section{width:calc(100% - 28px);margin:14px auto 36px;padding:20px;align-items:stretch;flex-direction:column;border-radius:23px}
  .account-entry-button{width:100%}
  .mobile-nav-link small{font-size:.53rem!important;letter-spacing:-.03em}
}


/* ===== پرش دقیق از مرور پیوسته به دیوار ===== */
#wallContent .section-heading {
  scroll-margin-top: 18px;
}

.wall-jump-link {
  scroll-behavior: smooth;
}

#wallContent.wall-jump-arrived .filters {
  animation: wall-filter-arrival .72s ease;
}

#wallContent.wall-jump-arrived .reason-card:nth-child(-n+6) {
  animation: wall-card-arrival .62s ease both;
}

#wallContent.wall-jump-arrived .reason-card:nth-child(2) { animation-delay: .04s; }
#wallContent.wall-jump-arrived .reason-card:nth-child(3) { animation-delay: .08s; }
#wallContent.wall-jump-arrived .reason-card:nth-child(4) { animation-delay: .12s; }
#wallContent.wall-jump-arrived .reason-card:nth-child(5) { animation-delay: .16s; }
#wallContent.wall-jump-arrived .reason-card:nth-child(6) { animation-delay: .20s; }

@keyframes wall-filter-arrival {
  0% { transform: translateY(8px); opacity: .45; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes wall-card-arrival {
  0% { transform: translateY(14px); opacity: .55; }
  100% { transform: translateY(0); opacity: 1; }
}

@media (min-width: 901px) {
  /* فشرده‌تر شدن فضای شروع دیوار باعث می‌شود عنوان، موضوع‌ها و دو ردیف اول باهم دیده شوند. */
  .embedded-wall { padding-top: 48px; }
  .embedded-wall .section-heading { margin-bottom: 24px; }
  .embedded-wall .reason-card { min-height: 242px; }
}

@media (max-width: 900px) {
  #wallContent .section-heading {
    scroll-margin-top: calc(76px + var(--safe-top));
  }
}

@media (max-width: 620px) {
  .embedded-wall { padding-top: 36px; }
  .embedded-wall .section-heading { margin-bottom: 18px; }
  .embedded-wall .reason-card { min-height: 224px; }
}

@media (prefers-reduced-motion: reduce) {
  #wallContent.wall-jump-arrived .filters,
  #wallContent.wall-jump-arrived .reason-card:nth-child(-n+6) {
    animation: none;
  }
}


/* Draft preservation — index build v6.8 */
.composer-draft-status{display:flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;margin:-.15rem 0 .25rem;padding:.5rem .75rem;border:1px solid rgba(73,99,78,.18);border-radius:999px;background:#f7f4ec;color:#526356;font-size:.78rem;font-weight:700}
.composer-draft-status>span:first-child{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#e5eee5;color:#41604a}
.composer-draft-status[data-state="restored"]{background:#eef4ea;border-color:rgba(77,112,76,.26)}
.composer-draft-status[data-state="error"]{background:#fff0ed;border-color:rgba(155,72,57,.25);color:#8d4338}
.auth-draft-notice{display:flex;align-items:flex-start;gap:.8rem;max-width:760px;margin:0 auto 1rem;padding:.9rem 1rem;border:1px solid rgba(73,99,78,.18);border-radius:18px;background:#f8f5ed;color:#48584c;box-shadow:0 10px 30px rgba(53,61,52,.06)}
.auth-draft-notice>span{display:grid;place-items:center;flex:0 0 1.8rem;height:1.8rem;border-radius:50%;background:#e5eee5;color:#41604a;font-weight:900}
.auth-draft-notice strong{display:block;margin-bottom:.15rem}
.auth-draft-notice p{margin:0;font-size:.85rem;line-height:1.8;color:#69736b}


/* ===== پیام خطای ورود برای بخش پیام‌ها ===== */
.auth-required-dialog{width:min(470px,calc(100% - 28px));max-width:470px;border:0;padding:0;background:transparent;color:inherit;overflow:visible}
.auth-required-dialog::backdrop{background:rgba(29,39,32,.55);backdrop-filter:blur(5px)}
.auth-required-card,.messages-auth-gate{position:relative;text-align:center;background:#fffdf8;border:1px solid rgba(67,85,70,.14);box-shadow:0 28px 90px rgba(35,48,38,.24);border-radius:28px;padding:34px 30px}
.auth-required-card h2,.messages-auth-gate h1{margin:9px 0 10px;color:#3f5949;font-size:clamp(1.55rem,4vw,2rem)}
.auth-required-card p,.messages-auth-gate p{margin:0 auto 22px;max-width:390px;color:#687269;line-height:1.95;font-size:.9rem}
.auth-required-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 15px;border-radius:50%;background:#f4e8d1;color:#805f2d;font-size:1.45rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(128,95,45,.12)}
.auth-required-close{position:absolute;top:14px;left:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f2efe7;color:#657068;font:inherit;font-size:1.2rem;cursor:pointer}
.auth-required-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px}
.auth-required-actions .primary-button,.auth-required-actions .ghost-button{min-width:135px;justify-content:center;text-decoration:none}
.messages-shell.messages-shell-locked{grid-template-columns:1fr;place-items:center;padding:22px;background:transparent;backdrop-filter:none;border-color:transparent;box-shadow:none}
.messages-auth-gate{width:min(500px,100%)}
@media(max-width:620px){.auth-required-card,.messages-auth-gate{padding:30px 20px 24px;border-radius:24px}.auth-required-actions{flex-direction:column}.auth-required-actions>*{width:100%}.messages-shell.messages-shell-locked{padding:18px 14px 90px}}


/* Daily answers — v7.0 */
.daily-prompt-copy{min-width:0;flex:1}.daily-prompt-copy p{margin:.45rem 0 0;color:var(--muted,#667066);font-size:.92rem;line-height:1.8}.daily-prompt-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.daily-prompt-actions .ghost-button{white-space:nowrap}.daily-prompt-actions b{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;border-radius:999px;background:rgba(95,116,100,.12);font-size:.76rem}
.daily-answers-preview{width:min(1180px,calc(100% - 2rem));margin:1rem auto 4rem;padding:1.1rem 1.2rem 1.25rem;border:1px solid rgba(77,91,78,.12);border-radius:26px;background:rgba(255,255,255,.52)}.daily-answers-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.daily-answers-heading h2{margin:.2rem 0 0;font-size:clamp(1.2rem,2.1vw,1.75rem)}.daily-answers-heading .text-button{border:0;background:transparent;cursor:pointer}.daily-answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.daily-answer-card{border:1px solid rgba(69,84,71,.13);background:#fffdf8;border-radius:20px;padding:1rem;cursor:pointer;box-shadow:0 10px 26px rgba(55,64,56,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.daily-answer-card:hover{transform:translateY(-3px);border-color:rgba(95,116,100,.32);box-shadow:0 16px 34px rgba(55,64,56,.1)}.daily-answer-card p{margin:0;line-height:2;color:#2f382f}.daily-answer-card footer{display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-top:.85rem;padding-top:.7rem;border-top:1px solid rgba(77,91,78,.08);font-size:.78rem;color:#687168}.daily-answer-author{border:0;background:transparent;padding:0;color:#53695a;font:inherit;font-weight:800;cursor:pointer}.daily-answer-author:hover{text-decoration:underline}.daily-answer-author-static{font-weight:700}.daily-answer-empty{grid-column:1/-1;text-align:center;padding:1.5rem;color:#707970}.daily-answer-empty span{display:block;font-size:1.5rem;margin-bottom:.35rem}.daily-answer-empty p{margin:0}.daily-answers-dialog{width:min(760px,calc(100% - 1.2rem));max-height:min(88vh,900px);padding:0;border:0;border-radius:28px;background:transparent}.daily-answers-dialog::backdrop{background:rgba(24,31,25,.62);backdrop-filter:blur(7px)}.daily-answers-dialog-shell{position:relative;background:#faf7ef;border-radius:28px;padding:1.4rem;max-height:88vh;overflow:auto;box-shadow:0 28px 90px rgba(26,32,27,.28)}.daily-answers-dialog-shell h2{margin:.35rem 2.5rem .5rem 0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.65}.daily-dialog-count{color:#6c756d;margin-bottom:1rem}.daily-dialog-list{display:grid;gap:.75rem}.daily-dialog-actions{position:sticky;bottom:-1.4rem;margin:1rem -1.4rem -1.4rem;padding:1rem 1.4rem calc(1rem + env(safe-area-inset-bottom));background:linear-gradient(to top,#faf7ef 72%,rgba(250,247,239,.78));text-align:center}.daily-dialog-actions .primary-button{width:min(100%,360px)}.daily-answer-loading{text-align:center;padding:2rem;color:#687168}
@media(max-width:760px){.daily-prompt{align-items:flex-start}.daily-prompt-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.daily-prompt-actions button{width:100%}.daily-answers-preview{width:calc(100% - 1rem);margin-top:.6rem;padding:.9rem;border-radius:22px}.daily-answers-heading{align-items:flex-start}.daily-answers-heading .text-button{font-size:.82rem}.daily-answer-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.35rem}.daily-answer-card.compact{min-width:82%;scroll-snap-align:start}.daily-answers-dialog{width:100%;max-height:94vh;margin:auto 0 0;border-radius:28px 28px 0 0}.daily-answers-dialog-shell{max-height:94vh;border-radius:28px 28px 0 0;padding:1.1rem}.daily-dialog-actions{margin-left:-1.1rem;margin-right:-1.1rem;margin-bottom:-1.1rem;padding-left:1.1rem;padding-right:1.1rem}}


/* ===== صفحهٔ مستقل سؤال روزانه — v7.1 ===== */
.daily-page{padding-bottom:30px}
.daily-page-hero{padding-bottom:42px}
.daily-page-hero-note{max-width:390px;display:flex;align-items:flex-start;gap:14px;padding:20px 22px;border:1px solid rgba(255,255,255,.82);border-radius:24px;background:rgba(255,253,248,.62);box-shadow:0 18px 45px rgba(61,72,58,.08)}
.daily-page-hero-note>span{display:grid;place-items:center;flex:0 0 45px;width:45px;height:45px;border-radius:50%;background:#f0dfc7;color:#775f3c;font-size:1.2rem}
.daily-page-hero-note p{margin:0;color:var(--muted);line-height:1.95;font-size:.88rem}
.daily-question-card{width:min(1000px,calc(100% - 40px));margin:0 auto 58px;padding:34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;border-radius:34px;background:radial-gradient(circle at 12% 16%,rgba(255,255,255,.88),transparent 30%),linear-gradient(135deg,#dfe8d8,#ece2d0);border:1px solid rgba(255,255,255,.78);box-shadow:0 24px 70px rgba(62,75,59,.13)}
.daily-question-copy{min-width:0}
.daily-question-copy h2{margin:8px 0 9px;font-size:clamp(1.55rem,3vw,2.55rem);line-height:1.55;letter-spacing:-.035em}
.daily-question-copy p{margin:0;color:var(--muted);line-height:1.9;font-size:.9rem}
.daily-question-card>.primary-button{white-space:nowrap}
.daily-page-answers{width:min(1120px,calc(100% - 40px));margin:0 auto 95px;padding:34px;border-radius:34px;background:rgba(255,253,248,.69);border:1px solid rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(58,70,57,.1);backdrop-filter:blur(18px)}
.daily-page-answers-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:25px}
.daily-page-answers-heading h2{margin:7px 0 7px;font-size:clamp(1.6rem,3.2vw,2.55rem);line-height:1.5;letter-spacing:-.035em}
.daily-page-answers-heading p{max-width:680px;margin:0;color:var(--muted);line-height:1.9;font-size:.88rem}
.daily-page-count{flex:0 0 auto;min-width:92px;height:92px;display:grid;place-items:center;align-content:center;border-radius:27px;background:var(--soft-green);color:var(--sage-dark);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.daily-page-count strong{font-size:1.8rem;line-height:1}
.daily-page-count span{margin-top:6px;font-size:.72rem;font-weight:800}
.daily-page-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.daily-page-answer-list>.daily-answer-loading,.daily-page-answer-list>.daily-answer-empty{grid-column:1/-1}
.daily-page-answer-list .daily-answer-card{min-height:170px;display:flex;flex-direction:column;justify-content:space-between;padding:20px 21px;border-radius:24px;background:rgba(255,255,255,.82)}
.daily-page-answer-list .daily-answer-card p{font-size:.96rem}
.daily-page-empty{padding:42px 18px}
.daily-page-empty .soft-button{margin-top:16px}
.daily-page-bottom-action{display:none;justify-content:center;margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}.daily-page-bottom-action.is-visible{display:flex}
.daily-page-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.home-daily-prompt{margin-bottom:78px}

@media(max-width:900px){
  .daily-page-hero{padding-top:42px}
  .daily-question-card{grid-template-columns:auto 1fr;margin-bottom:38px}
  .daily-question-card>.primary-button{grid-column:1/-1;width:100%}
  .daily-page-answers{margin-bottom:45px}
}
@media(max-width:700px){
  .mobile-nav{grid-template-columns:repeat(6,1fr)!important;padding-inline:5px}
  .mobile-nav-link{border-radius:14px}
  .mobile-nav-link small{font-size:.49rem!important;letter-spacing:-.04em}
  .daily-page-hero-note{max-width:none;width:100%}
  .daily-question-card{width:calc(100% - 24px);grid-template-columns:1fr;padding:24px 20px;border-radius:27px;text-align:right;gap:18px}
  .daily-question-date{width:58px;height:58px;border-radius:18px}
  .daily-question-copy h2{font-size:1.55rem}
  .daily-page-answers{width:calc(100% - 20px);padding:23px 15px;border-radius:27px}
  .daily-page-answers-heading{align-items:flex-start}
  .daily-page-count{min-width:70px;width:70px;height:70px;border-radius:21px}
  .daily-page-count strong{font-size:1.35rem}
  .daily-page-answer-list{grid-template-columns:1fr}
  .daily-page-answer-list .daily-answer-card{min-height:0}
  .home-daily-prompt{margin-bottom:58px}
}
@media(max-width:460px){
  .daily-page-answers-heading{display:grid;grid-template-columns:1fr auto;gap:14px}
  .daily-page-answers-heading p{grid-column:1/-1}
  .daily-page-answers-heading h2{font-size:1.38rem}
}


/* v7.2 — ناوبری کامل و قابل لمس */
.top-nav{gap:clamp(10px,1.55vw,27px)}
@media(max-width:900px){
  .mobile-nav{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:1px!important;padding-inline:5px!important}
  .mobile-nav-link{min-width:0!important;padding-inline:1px!important}
  .mobile-nav-link small{font-size:.47rem!important;letter-spacing:-.035em!important}
}
@media(max-width:420px){
  .mobile-nav{left:6px!important;right:6px!important;padding-inline:3px!important}
  .mobile-nav-link{border-radius:13px!important}
  .mobile-nav-link span{font-size:1rem!important}
  .mobile-nav-link small{font-size:.42rem!important}
}


/* Account-required publishing — v7.3 */
.composer-profile-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 13px 15px;
  border-radius: 16px;
  background: var(--soft-green-2);
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.8;
}
.composer-profile-note span { color: var(--sage); margin-top: 4px; }
.composer-profile-note p { margin: 0; }
.account-publish-required { text-align: center; }
.account-publish-required p { width: 100%; margin: 0; line-height: 2; }
.account-publish-required .primary-button { display: inline-flex; margin-top: 10px; color: #fff; }
.daily-page-empty h3 { margin: 10px 0 4px; font-size: 1.06rem; }
.daily-page-bottom-action[hidden] { display: none !important; }

/* ======================================================================
   Experience redesign — v8.0
   A calmer, clearer and fully responsive interface for desktop and mobile
   ====================================================================== */
:root {
  --ink: #24372e;
  --ink-soft: #405349;
  --muted: #68766e;
  --paper: #f4f6f1;
  --paper-strong: #fffefa;
  --surface: rgba(255, 255, 252, .86);
  --surface-solid: #fffefa;
  --sage: #698775;
  --sage-dark: #365d4b;
  --sage-deep: #27483a;
  --soft-green: #dfece3;
  --soft-green-2: #edf5ef;
  --peach: #f2d5b8;
  --peach-soft: #fff2e5;
  --rose: #c96872;
  --rose-soft: #fff0f1;
  --amber: #c98b42;
  --line: rgba(36, 55, 46, .11);
  --line-strong: rgba(36, 55, 46, .18);
  --shadow-xs: 0 4px 14px rgba(38, 56, 47, .05);
  --shadow-sm: 0 12px 34px rgba(38, 56, 47, .075);
  --shadow-md: 0 22px 64px rgba(38, 56, 47, .11);
  --shadow-lg: 0 35px 100px rgba(28, 45, 36, .17);
  --radius-sm: 14px;
  --radius-md: 22px;
  --radius-lg: 32px;
  --container: min(1180px, calc(100% - 48px));
}

html { scroll-padding-top: 92px; }
body {
  background:
    radial-gradient(circle at 8% 12%, rgba(243, 211, 175, .33), transparent 25rem),
    radial-gradient(circle at 92% 80%, rgba(197, 224, 203, .42), transparent 29rem),
    var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 0;
}
::selection { background: rgba(88, 126, 103, .2); color: var(--ink); }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button:disabled { cursor: not-allowed; opacity: .62; transform: none !important; }

.ambient { opacity: .2; filter: blur(70px); }
.ambient-one { background: #efc99c; }
.ambient-two { background: #bcd9c3; }
.grain { opacity: .035; }

.site-header {
  position: sticky;
  top: 10px;
  z-index: 80;
  width: var(--container);
  height: 70px;
  margin: 10px auto 0;
  padding: 0 12px 0 10px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 22px;
  background: rgba(250, 251, 247, .79);
  box-shadow: 0 10px 35px rgba(42, 58, 49, .07);
  backdrop-filter: blur(22px) saturate(1.1);
}
.brand { gap: 9px; font-size: 1rem; letter-spacing: -.02em; }
.brand-mark {
  width: 40px; height: 40px;
  color: #fff;
  background: linear-gradient(145deg, var(--sage), var(--sage-dark));
  box-shadow: 0 8px 18px rgba(54, 93, 75, .22), inset 0 0 0 1px rgba(255,255,255,.22);
}
.top-nav { gap: clamp(7px, 1.05vw, 15px); font-size: .82rem; }
.top-nav .nav-link {
  position: relative;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 9px;
  border-radius: 12px;
  white-space: nowrap;
}
.top-nav .nav-link:hover { color: var(--sage-dark); background: rgba(74, 104, 85, .06); }
.top-nav .nav-link.active { color: var(--sage-deep); background: var(--soft-green-2); font-weight: 850; }
.top-nav .ghost-button { min-height: 42px; padding: 9px 15px; }
.profile-nav-link { max-width: 145px; }
.profile-nav-link > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-avatar.tiny { width: 25px !important; height: 25px !important; font-size: .66rem !important; }

.ghost-button, .primary-button, .soft-button, .contact-action {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 14px;
  font-weight: 800;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.primary-button {
  padding: 12px 21px;
  background: linear-gradient(145deg, #426e59, var(--sage-dark));
  box-shadow: 0 11px 24px rgba(54, 93, 75, .2);
}
.primary-button:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(54, 93, 75, .26); }
.primary-button:active, .soft-button:active, .ghost-button:active { transform: scale(.98); }
.ghost-button {
  padding: 11px 17px;
  background: rgba(255,255,252,.65);
  border: 1px solid var(--line-strong);
}
.ghost-button:hover { border-color: rgba(54,93,75,.32); background: #fff; }
.soft-button { padding: 11px 18px; background: #fff; border: 1px solid rgba(255,255,255,.9); box-shadow: var(--shadow-xs); }
.text-button { min-height: 44px; display: inline-flex; align-items: center; color: var(--sage-dark); }

.hero, .page-hero, .route-section, .principles-section,
.reasons-section, .contact-section, .about-section, .site-footer,
.discovery-section { width: var(--container); }

.hero {
  min-height: 650px;
  grid-template-columns: minmax(0, 1.03fr) minmax(410px, .97fr);
  gap: clamp(35px, 5vw, 75px);
  padding: 82px 0 86px;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sage-dark);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: 0;
}
.eyebrow::before {
  content: "";
  width: 18px; height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .5;
}
.hero h1 {
  margin: 18px 0 22px;
  max-width: 680px;
  font-size: clamp(3.7rem, 6.7vw, 6.6rem);
  line-height: 1.03;
  letter-spacing: -.075em;
}
.hero h1 span { color: var(--sage-dark); }
.hero-copy > p { max-width: 650px; color: var(--muted); line-height: 2.05; font-size: 1.02rem; }
.hero-actions { gap: 13px; margin-top: 30px; flex-wrap: wrap; }
.privacy-note {
  width: fit-content;
  margin-top: 25px;
  padding: 9px 13px;
  border: 1px solid rgba(78, 107, 88, .1);
  border-radius: 12px;
  background: rgba(255,255,252,.45);
  font-size: .76rem;
}
.hero-visual { min-height: 500px; }
.sun-disc {
  width: 390px; height: 390px;
  right: 46px; top: 45px;
  background: linear-gradient(145deg, #f3d5b3, #f8e8d5);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5), 0 35px 80px rgba(142, 104, 66, .08);
}
.floating-card {
  border: 1px solid rgba(255,255,255,.84);
  background: rgba(255,255,252,.9);
  box-shadow: 0 30px 80px rgba(46, 61, 51, .14);
}
.card-a { width: 355px; padding: 34px; border-radius: 30px; }
.card-b { width: 255px; border-radius: 24px; }
.sample-card-footer { align-items: flex-end; }

.pulse-strip {
  width: min(1080px, calc(100% - 48px));
  margin-bottom: 28px;
  padding: 16px 20px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 22px;
  background: rgba(255,255,252,.72);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(16px);
}
.pulse-strip article { padding: 3px 4px; }
.pulse-strip strong { color: var(--sage-deep); font-size: 1.45rem; }
.pulse-live { color: var(--ink-soft); }

.support-note {
  width: min(1080px, calc(100% - 48px));
  margin-bottom: 80px;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(255, 247, 236, .74);
  box-shadow: 0 12px 35px rgba(103, 76, 45, .045);
}
.support-note button { width: 38px; height: 38px; border-radius: 12px; }
.support-note button:hover { background: rgba(118, 91, 55, .08); }

.daily-prompt, .daily-question-card {
  border: 1px solid rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.8), transparent 28%),
    linear-gradient(135deg, #dcebe0 0%, #e8eee1 54%, #f4e3ce 100%);
  box-shadow: var(--shadow-md);
}
.daily-prompt {
  width: min(1020px, calc(100% - 48px));
  grid-template-columns: auto minmax(0,1fr) auto;
  padding: 30px 32px;
  border-radius: 28px;
}
.prompt-date {
  width: 70px; height: 70px;
  border-radius: 20px;
  background: rgba(255,255,252,.74);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75), var(--shadow-xs);
}
.daily-prompt-copy p { font-size: .84rem; }
.daily-prompt-actions { justify-content: flex-end; }

.route-section { margin: 0 auto 115px; }
.route-heading { margin-bottom: 27px; }
.route-heading h2 { max-width: 760px; }
.route-grid { gap: 14px; }
.route-card {
  min-height: 330px;
  padding: 29px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 27px;
  background: rgba(255,255,252,.72);
  box-shadow: var(--shadow-sm);
}
.route-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.route-discover { background: linear-gradient(145deg, #fffafa, #fcecef); }
.route-wall { background: linear-gradient(145deg, #e1eee4, #f1f6ef); }
.route-icon { margin-bottom: 48px; border-radius: 14px; }
.route-card p { font-size: .85rem; }

.page-hero {
  min-height: 360px;
  margin: 0 auto;
  padding: 76px 0 58px;
  gap: 45px;
}
.page-hero h1 { max-width: 770px; font-size: clamp(3rem, 6vw, 5.8rem); line-height: 1.08; }
.page-hero p { max-width: 700px; font-size: .98rem; }
.page-hero-actions { gap: 10px; }

/* Daily page */
.daily-page { padding-bottom: 24px; }
.daily-page-hero { align-items: center; }
.daily-page-hero-note {
  max-width: 420px;
  padding: 19px;
  gap: 13px;
  border: 1px solid rgba(75,108,87,.12);
  border-radius: 22px;
  background: rgba(255,255,252,.72);
  box-shadow: var(--shadow-sm);
}
.daily-page-hero-note > span {
  flex-basis: 42px; width: 42px; height: 42px;
  background: var(--soft-green);
  color: var(--sage-dark);
  font-size: 1rem;
  font-weight: 900;
}
.daily-page-hero-note strong { display: block; margin: 0 0 3px; font-size: .9rem; }
.daily-page-hero-note p { margin: 0; line-height: 1.8; font-size: .78rem; }
.daily-question-card {
  width: min(1040px, calc(100% - 48px));
  margin-bottom: 48px;
  padding: 31px;
  border-radius: 29px;
}
.daily-question-copy h2 { color: var(--ink); }
.daily-page-answers {
  width: min(1140px, calc(100% - 48px));
  padding: 32px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 30px;
  background: rgba(255,255,252,.72);
  box-shadow: var(--shadow-md);
}
.daily-page-count { min-width: 82px; width: 82px; height: 82px; border-radius: 23px; }
.daily-page-answer-list { gap: 12px; }
.daily-page-answer-list .daily-answer-card,
.daily-answer-card {
  border-color: var(--line);
  border-radius: 20px;
  background: rgba(255,255,252,.9);
  box-shadow: var(--shadow-xs);
}
.daily-answer-card:hover { border-color: rgba(54,93,75,.25); box-shadow: var(--shadow-sm); }
.daily-page-empty { border: 1px dashed var(--line-strong); border-radius: 20px; background: rgba(237,245,239,.5); }

/* Discovery and reason cards */
.discovery-section { margin-bottom: 105px; }
.swipe-shell { max-width: 650px; }
.swipe-card {
  min-height: 430px;
  padding: 27px 31px 29px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 10%, rgba(255,255,255,.96), transparent 34%),
    linear-gradient(145deg, #fffefa, #eaf3ec);
  box-shadow: var(--shadow-lg);
}
.card-stack div { border-radius: 30px; }
.swipe-text { font-size: clamp(1.45rem, 3vw, 2.05rem); line-height: 1.95; }
.reason-category { background: rgba(255,255,252,.75); border: 1px solid rgba(54,93,75,.08); }
.swipe-actions { gap: 17px; }
.round-action { width: 84px; height: 84px; }
.mini-action { width: 60px; height: 60px; }
.round-action, .mini-action { box-shadow: var(--shadow-sm); }
.love-action { background: #fff2f3; }
.reasons-section { padding-bottom: 110px; }
.embedded-wall {
  padding: 38px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 31px;
  background: rgba(255,255,252,.55);
  box-shadow: var(--shadow-sm);
}
.section-heading { align-items: flex-end; margin-bottom: 29px; }
.section-heading h2, .about-card h2 { font-size: clamp(1.9rem, 4vw, 3rem); }
.filters { gap: 6px; }
.filter { min-height: 40px; padding: 8px 13px; border: 1px solid transparent; }
.filter:hover { background: rgba(54,93,75,.055); }
.filter.active { background: var(--soft-green); border-color: rgba(54,93,75,.08); }
.reason-grid { gap: 14px; }
.reason-card {
  min-height: 275px;
  padding: 23px;
  border: 1px solid rgba(36,55,46,.08);
  border-radius: 22px;
  background: rgba(255,255,252,.91) !important;
  box-shadow: var(--shadow-xs);
}
.reason-card:nth-child(3n+2) { background: rgba(235,244,237,.93) !important; }
.reason-card:nth-child(3n+3) { background: rgba(255,243,230,.9) !important; }
.reason-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-sm); }
.reason-actions button { min-height: 38px; border-radius: 10px; }
.reason-actions button:hover { background: rgba(54,93,75,.06); }

/* About and contact */
.about-section { gap: 16px; margin-bottom: 75px; }
.about-card, .about-quote { padding: 42px; border-radius: 29px; }
.about-card { border: 1px solid rgba(255,255,255,.75); background: linear-gradient(145deg, #dcebe0, #eaf2e7); box-shadow: var(--shadow-sm); }
.about-values article { padding: 17px 0; }
.about-boundary { background: rgba(255,255,252,.58); }
.about-quote { background: linear-gradient(145deg, #375347, #213b31); box-shadow: var(--shadow-md); }
.principles-section {
  margin: 0 auto 110px;
  padding: 39px;
  border: 1px solid rgba(255,255,255,.86);
  background: rgba(255,255,252,.7);
  box-shadow: var(--shadow-sm);
}
.principles-grid { gap: 18px; }
.contact-grid { gap: 14px; }
.contact-card {
  min-height: 310px;
  padding: 25px;
  border: 1px solid rgba(36,55,46,.08);
  border-radius: 24px;
  background: rgba(255,255,252,.78);
  box-shadow: var(--shadow-sm);
}
.contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.featured-contact { background: linear-gradient(145deg, #dcebe0, #edf5ef); }
.contact-icon { margin-bottom: 30px; }
.social-link { border-radius: 14px; }
.contact-safety-note { border-radius: 20px; }
.contact-faq {
  padding: 31px;
  border: 1px solid rgba(255,255,255,.88);
  background: rgba(255,255,252,.7);
  box-shadow: var(--shadow-sm);
}
.contact-faq summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.contact-faq summary::after { content: "+"; color: var(--sage); font-size: 1.2rem; }
.contact-faq details[open] summary::after { content: "−"; }

.site-footer {
  margin: 0 auto;
  padding: 28px 0 42px;
  color: var(--muted);
  font-size: .77rem;
}
.site-footer a { color: var(--sage-dark); font-weight: 800; }

/* Composer: focused, clear, responsive */
.composer {
  width: min(880px, calc(100% - 32px));
  max-height: min(94vh, 920px);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 30px;
  background: #fbfcf8;
  box-shadow: 0 40px 120px rgba(23, 37, 30, .32);
}
.composer::backdrop { background: rgba(20, 33, 27, .64); backdrop-filter: blur(9px); }
.composer form { max-height: min(94vh,920px); padding: 30px; }
.dialog-head { align-items: flex-start; margin-bottom: 18px; }
.dialog-head > div { min-width: 0; }
.dialog-head h2 { margin: 7px 0 7px; font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.45; letter-spacing: -.035em; }
.composer-subtitle { max-width: 680px; margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.85; }
.close-button {
  flex: 0 0 42px;
  width: 42px; height: 42px;
  display: grid; place-items: center;
  border-radius: 13px;
  background: #f0f2ed;
  color: var(--ink-soft);
  font-size: 1.35rem;
}
.close-button:hover { background: #e7ebe4; }
.prompt-suggestion {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border: 1px solid rgba(54,93,75,.08);
  border-radius: 16px;
  background: var(--soft-green-2);
}
.prompt-suggestion span { padding: 6px 9px; border-radius: 9px; background: rgba(255,255,252,.68); white-space: nowrap; }
.prompt-suggestion p { margin: 0; }
.composer-draft-status { margin: 0 0 14px; background: transparent; border: 0; padding: 0; color: var(--muted); font-size: .72rem; }
.composer-draft-status > span:first-child { width: 19px; height: 19px; font-size: .68rem; }
.composer-workspace { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(230px,.75fr); gap: 15px; align-items: stretch; }
.composer label { margin: 0; }
.composer label > span:first-child { display: block; margin-bottom: 8px; color: var(--ink-soft); }
.composer-text-field {
  position: relative;
  display: flex !important;
  flex-direction: column;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
}
.composer-text-field textarea {
  flex: 1;
  min-height: 235px;
  margin: 0;
  padding: 2px 1px 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 1rem;
  line-height: 2;
  resize: none;
  box-shadow: none !important;
}
.composer-text-field textarea::placeholder { color: #9aa49d; }
.composer-text-field .counter { position: absolute; left: 15px; bottom: 12px; margin: 0; }
.composer-options { display: flex; flex-direction: column; gap: 12px; }
.composer-category-field,
.composer-profile-note,
.account-publish-row {
  padding: 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: #fff !important;
}
.composer-category-field select { height: 47px; margin: 0; border-radius: 12px; background-color: #f7f8f4; }
.composer-profile-note { margin: 0; color: var(--muted); font-size: .76rem; }
.composer-profile-note > span { flex: 0 0 26px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--soft-green); color: var(--sage-dark); margin: 0; font-weight: 900; }
.composer-profile-note strong { display: block; color: var(--ink); font-size: .8rem; }
.account-publish-row { margin: 14px 0 0; min-height: 76px; }
.account-publish-user { min-width: 0; }
.account-publish-user span { min-width: 0; }
.account-publish-user strong, .account-publish-user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-publish-user small { direction: rtl; color: var(--muted); }
.account-publish-required { flex-wrap: wrap; align-items: center; text-align: right; background: #fff8ee !important; border-color: rgba(171,115,53,.18) !important; }
.publish-required-copy { display: flex; align-items: center; gap: 10px; min-width: 0; }
.publish-required-copy > span { flex: 0 0 35px; width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; background: #f7e6cc; color: #93652f; }
.publish-required-copy div { display: grid; }
.publish-required-copy small { color: var(--muted); font-size: .7rem; line-height: 1.7; }
.account-publish-required .primary-button { margin: 0; min-height: 42px; }
.guideline-row {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 13px 0 0 !important;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f3f5f0;
  color: var(--muted);
  font-size: .74rem !important;
  font-weight: 600 !important;
  line-height: 1.8;
}
.guideline-row input { flex: 0 0 18px; width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--sage-dark); }
.dialog-actions {
  position: sticky;
  bottom: -30px;
  z-index: 3;
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin: 15px -30px -30px;
  padding: 15px 30px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: rgba(251,252,248,.92);
  backdrop-filter: blur(14px);
}
.dialog-actions .primary-button { min-width: 170px; }
.dialog-actions .primary-button b { font-size: 1.1rem; }
.button-spinner { width: 17px; height: 17px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: buttonSpin .75s linear infinite; }
@keyframes buttonSpin { to { transform: rotate(360deg); } }
.toast {
  bottom: 28px;
  max-width: min(430px, calc(100% - 28px));
  padding: 12px 17px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  background: rgba(30,48,39,.94);
  box-shadow: var(--shadow-lg);
  font-size: .82rem;
}

/* Authentication */
.auth-page { padding: 58px 24px 115px; }
.auth-dual-shell { width: min(1100px,100%); }
.auth-dual-intro { margin-bottom: 26px; }
.auth-dual-intro h1 { font-size: clamp(2.7rem,5vw,4.75rem); letter-spacing: -.055em; }
.auth-dual-intro p { max-width: 720px; font-size: .92rem; }
.auth-panels { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: 14px; }
.auth-card {
  padding: 27px;
  border: 1px solid rgba(36,55,46,.08);
  border-radius: 25px;
  background: rgba(255,255,252,.86);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(18px);
}
.auth-panel.is-selected { transform: translateY(-3px); border-color: rgba(54,93,75,.25); box-shadow: var(--shadow-lg); }
.auth-panel-badge { top: 17px; left: 17px; background: var(--soft-green); }
.auth-card-head h2 { color: var(--ink); }
.auth-card input {
  height: 50px;
  margin-top: 0;
  border-radius: 13px;
  background: #fafbf8;
}
.auth-card form { gap: 13px; }
.auth-card label { gap: 7px; }
.auth-card .primary-button { min-height: 50px; }
.auth-panel-note { line-height: 1.8; }
.auth-draft-notice { max-width: 700px; background: #fff; box-shadow: var(--shadow-sm); }

/* Profile */
.profile-page { padding-top: 50px; }
.profile-cover {
  padding: 35px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 29px;
  background: linear-gradient(135deg, #3e6955, #6e8060);
  box-shadow: var(--shadow-lg);
}
.profile-identity { min-width: 0; }
.profile-identity h1 { font-size: clamp(2rem,4.5vw,4rem); }
.profile-body { grid-template-columns: 290px minmax(0,1fr); gap: 18px; }
.profile-about {
  top: 95px;
  border: 1px solid rgba(36,55,46,.08);
  border-radius: 22px;
  background: rgba(255,255,252,.84);
  box-shadow: var(--shadow-sm);
}
.profile-stats span { background: #eef3ec; }
.profile-editor form { border-radius: 24px; box-shadow: var(--shadow-lg); }
.profile-empty, .page-loading, .page-error { border: 1px solid rgba(36,55,46,.07); background: rgba(255,255,252,.78); box-shadow: var(--shadow-sm); }

/* Messages */
.messages-page { padding: 37px 24px 95px; }
.messages-shell {
  width: min(1180px,100%);
  height: min(735px, calc(100vh - 142px));
  border: 1px solid rgba(36,55,46,.09);
  border-radius: 27px;
  background: rgba(255,255,252,.78);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.chat-sidebar { background: rgba(247,249,245,.92); }
.chat-sidebar-head { padding: 20px; }
.thread-item { border-radius: 15px; margin: 3px 8px; width: calc(100% - 16px); }
.thread-item:hover, .thread-item.active { background: var(--soft-green); }
.chat-main { background: rgba(255,255,252,.7); }
.chat-header { background: rgba(255,255,252,.88); backdrop-filter: blur(16px); }
.message-list { background: radial-gradient(circle at 80% 20%, rgba(223,236,227,.55), transparent 34%); }
.message-bubble { border-radius: 17px; }
.message-bubble.mine { background: var(--sage-dark); }
.message-form { padding: 12px; }
.message-form textarea { margin: 0; min-height: 48px; border-radius: 15px; }
.message-form button { min-width: 82px; border-radius: 14px; }
.messages-auth-gate, .auth-required-card { border-radius: 25px; background: #fffefa; }

/* Detail dialogs */
.reason-detail-dialog, .daily-answers-dialog, .profile-editor, .auth-required-dialog { color: var(--ink); }
.reason-detail-shell, .daily-answers-dialog-shell { border-radius: 26px; background: #fbfcf8; }
.reason-detail-close { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #eef1eb; }
.reason-detail-actions button { border-radius: 13px; }

/* Mobile navigation */
.mobile-nav { display: none; }
.mobile-compose-fab { border: 0; }

@media (max-width: 1120px) {
  .top-nav .nav-link[href="about.html"], .top-nav .nav-link[href="contact.html"] { display: none; }
  .hero { grid-template-columns: 1fr .86fr; }
  .hero h1 { font-size: clamp(3.4rem, 7vw, 5.6rem); }
  .sun-disc { right: 10px; }
  .card-a { right: -20px; }
  .card-b { left: -12px; }
}

@media (max-width: 900px) {
  :root { --container: calc(100% - 32px); }
  body { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .site-header {
    position: relative;
    top: 0;
    width: calc(100% - 28px);
    height: 64px;
    margin-top: 9px;
    padding: 0 11px;
    border-radius: 19px;
  }
  .site-header .top-nav { display: none; }
  .brand-mark { width: 37px; height: 37px; }
  .mobile-nav {
    position: fixed;
    z-index: 100;
    right: 10px !important; left: 10px !important; bottom: max(9px, env(safe-area-inset-bottom));
    height: 67px;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 3px !important;
    padding: 5px !important;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 22px;
    background: rgba(250,252,248,.91);
    box-shadow: 0 18px 55px rgba(26,42,34,.2);
    backdrop-filter: blur(24px) saturate(1.15);
  }
  .mobile-nav-link {
    min-width: 0;
    height: 56px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 4px 1px !important;
    border-radius: 17px !important;
    color: #758079;
  }
  .mobile-nav-link span { width: 28px; height: 27px; display: grid; place-items: center; font-size: 1.12rem !important; line-height: 1; }
  .mobile-nav-link small { font-size: .58rem !important; font-weight: 750; letter-spacing: 0 !important; white-space: nowrap; }
  .mobile-nav-link.active { color: var(--sage-deep); background: var(--soft-green); }
  .mobile-nav-link.active span { transform: translateY(-1px); }
  .mobile-compose-fab {
    position: fixed;
    z-index: 101;
    left: 16px;
    bottom: calc(86px + env(safe-area-inset-bottom));
    width: 54px; height: 54px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: 18px;
    background: linear-gradient(145deg, #426e59, #315440);
    color: #fff;
    box-shadow: 0 14px 35px rgba(40,75,56,.32);
  }
  .mobile-compose-fab span { font-size: 1.3rem; line-height: 1; }
  .mobile-compose-fab small { font-size: .56rem; font-weight: 850; margin-top: 1px; }
  .site-footer { padding-bottom: 26px; }

  .hero {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 65px 0 50px;
  }
  .hero-copy { text-align: center; }
  .hero h1 { max-width: 700px; margin-inline: auto; font-size: clamp(3.2rem, 12vw, 5.3rem); }
  .hero-copy > p { margin-inline: auto; }
  .hero-actions { justify-content: center; }
  .privacy-note { margin-inline: auto; }
  .hero-visual { width: min(560px,100%); min-height: 440px; margin: 0 auto; }
  .sun-disc { width: 350px; height: 350px; right: 50%; transform: translateX(50%); }
  .sun-disc::after { width: 250px; height: 250px; inset: 50px; }
  .card-a { right: 7%; top: 100px; }
  .card-b { left: 5%; bottom: 15px; }

  .pulse-strip { grid-template-columns: repeat(3,1fr); }
  .pulse-live { grid-column: 1/-1; text-align: center; padding-top: 10px; border-top: 1px solid var(--line); }
  .daily-prompt { grid-template-columns: auto 1fr; }
  .daily-prompt-actions { grid-column: 1/-1; width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .daily-prompt-actions > * { width: 100%; }
  .route-grid, .contact-grid { grid-template-columns: 1fr 1fr; }
  .route-card:last-child, .contact-card:last-child { grid-column: 1/-1; }
  .page-hero { min-height: 0; padding: 58px 0 42px; align-items: flex-start; }
  .page-hero h1 { font-size: clamp(2.8rem, 9vw, 4.5rem); }
  .daily-question-card { grid-template-columns: auto 1fr; }
  .daily-question-card > .primary-button { grid-column: 1/-1; width: 100%; }
  .about-section { grid-template-columns: 1fr; }
  .about-quote { min-height: 300px; }
  .principles-grid { grid-template-columns: 1fr; }
  .principles-grid article { display: grid; grid-template-columns: 150px 1fr; gap: 15px; }
  .principles-grid p { margin: 0; }
  .reason-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-body { grid-template-columns: 1fr; }
  .profile-about { position: static; }
  .auth-page { padding-top: 45px; }
  .auth-panels { grid-template-columns: 1fr; }
  .auth-login-panel { min-height: 0; }
  .auth-panel.is-selected { transform: none; }
  .messages-page { padding: 25px 14px 20px; }
  .messages-shell { height: calc(100vh - 118px - env(safe-area-inset-bottom)); grid-template-columns: 300px 1fr; }
}

@media (max-width: 700px) {
  :root { --container: calc(100% - 24px); }
  .hero { padding-top: 48px; }
  .hero h1 { font-size: clamp(2.8rem, 14vw, 4.3rem); line-height: 1.08; }
  .hero-copy > p { font-size: .9rem; line-height: 1.95; }
  .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hero-actions > * { width: 100%; }
  .hero-visual { min-height: 385px; transform: scale(.94); transform-origin: center top; margin-bottom: -24px; }
  .sun-disc { width: 300px; height: 300px; top: 35px; }
  .sun-disc::after { width: 210px; height: 210px; inset: 45px; }
  .card-a { width: min(320px, 88%); right: 3%; top: 85px; padding: 27px; }
  .card-a p { font-size: 1rem; }
  .card-b { width: 220px; left: 2%; bottom: 0; }
  .sprout { right: 8px; bottom: 12px; font-size: 5rem; }
  .sample-card-footer { flex-direction: column; align-items: flex-start; }

  .pulse-strip { width: calc(100% - 24px); padding: 13px 11px; gap: 8px; }
  .pulse-strip article { border-left: 0; text-align: center; }
  .pulse-strip strong { font-size: 1.2rem; }
  .pulse-strip article span { font-size: .64rem; }
  .support-note { width: calc(100% - 24px); margin-bottom: 52px; padding: 15px; }
  .support-note strong { font-size: .82rem; }
  .support-note p { font-size: .74rem; }
  .support-note button { flex: 0 0 34px; margin-right: 0; }
  .daily-prompt { width: calc(100% - 24px); grid-template-columns: 1fr; padding: 21px; border-radius: 23px; text-align: right; }
  .prompt-date { width: 58px; height: 58px; border-radius: 17px; }
  .daily-prompt-actions { grid-template-columns: 1fr; }
  .route-section { margin-bottom: 70px; }
  .route-heading h2 { font-size: 1.9rem; line-height: 1.45; }
  .route-grid, .contact-grid { grid-template-columns: 1fr; }
  .route-card, .route-card:last-child, .contact-card, .contact-card:last-child { grid-column: auto; }
  .route-card { min-height: 0; padding: 24px; }
  .route-icon { margin-bottom: 25px; }
  .page-hero { display: grid; grid-template-columns: 1fr; gap: 20px; padding: 48px 0 34px; text-align: right; }
  .page-hero h1 { font-size: clamp(2.5rem,12vw,3.7rem); }
  .page-hero p { font-size: .86rem; }
  .page-hero-actions { width: 100%; display: grid; }
  .page-hero-actions > * { width: 100%; }
  .daily-page-hero-note { max-width: none; width: 100%; }
  .daily-question-card { width: calc(100% - 24px); grid-template-columns: 1fr; padding: 22px; border-radius: 24px; }
  .daily-question-copy h2 { font-size: 1.45rem; }
  .daily-page-answers { width: calc(100% - 20px); padding: 20px 14px; border-radius: 24px; }
  .daily-page-answers-heading { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 10px; }
  .daily-page-answers-heading p { grid-column: 1/-1; }
  .daily-page-count { min-width: 66px; width: 66px; height: 66px; border-radius: 19px; }
  .daily-page-answer-list { grid-template-columns: 1fr; }
  .daily-page-answer-list .daily-answer-card { min-height: 0; }
  .discovery-section { width: calc(100% - 24px); }
  .swipe-card { min-height: 390px; padding: 22px; border-radius: 25px; }
  .swipe-text { font-size: 1.3rem; line-height: 1.9; }
  .swipe-actions { gap: 11px; }
  .round-action { width: 75px; height: 75px; }
  .mini-action { width: 54px; height: 54px; }
  .round-action small, .mini-action small { font-size: .59rem; }
  .embedded-wall { width: calc(100% - 16px); padding: 22px 12px; border-radius: 24px; }
  .section-heading { display: grid; align-items: start; gap: 18px; }
  .filters { overflow-x: auto; flex-wrap: nowrap; margin-inline: -4px; padding: 2px 4px 8px; scrollbar-width: none; }
  .filters::-webkit-scrollbar { display: none; }
  .filter { flex: 0 0 auto; }
  .reason-grid { grid-template-columns: 1fr; }
  .reason-card { min-height: 0; }
  .about-card, .about-quote { padding: 27px 23px; border-radius: 24px; }
  .about-values article { grid-template-columns: 34px 1fr; }
  .principles-section { padding: 25px 21px; border-radius: 24px; }
  .principles-grid article { grid-template-columns: 1fr; gap: 5px; }
  .contact-section { margin-bottom: 75px; }
  .contact-card { min-height: 0; }
  .contact-faq { padding: 22px; border-radius: 22px; }
  .contact-faq summary { font-size: .84rem; }
  .site-footer { flex-direction: column; gap: 7px; align-items: center; text-align: center; }

  .composer {
    width: 100%;
    max-width: none;
    max-height: 94dvh;
    margin: auto 0 0;
    border-radius: 27px 27px 0 0;
  }
  .composer form { max-height: 94dvh; padding: 21px 16px; }
  .dialog-head h2 { font-size: 1.48rem; padding-left: 4px; }
  .composer-subtitle { font-size: .77rem; }
  .close-button { flex-basis: 38px; width: 38px; height: 38px; }
  .prompt-suggestion { grid-template-columns: 1fr; gap: 4px; padding: 12px; }
  .prompt-suggestion span { width: fit-content; }
  .composer-workspace { grid-template-columns: 1fr; }
  .composer-text-field { min-height: 240px; }
  .composer-text-field textarea { min-height: 185px; }
  .composer-options { display: grid; grid-template-columns: 1fr; }
  .account-publish-row { align-items: flex-start; }
  .account-publish-required .primary-button { width: 100%; }
  .dialog-actions { bottom: -21px; margin: 14px -16px -21px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
  .dialog-actions .ghost-button { min-width: 96px; }
  .dialog-actions .primary-button { flex: 1; min-width: 0; }
  .toast { bottom: calc(89px + env(safe-area-inset-bottom)); }

  .auth-page { padding: 44px 12px 40px; }
  .auth-dual-intro h1 { font-size: clamp(2.35rem,12vw,3.3rem); }
  .auth-dual-intro p { font-size: .82rem; }
  .auth-card { padding: 22px 17px; border-radius: 22px; }
  .auth-panel-badge { position: static; display: inline-flex; margin-bottom: 15px; }
  .auth-register-panel form { grid-template-columns: 1fr; }
  .auth-register-panel form > *, .auth-password-row { grid-column: auto !important; }
  .auth-password-row { grid-template-columns: 1fr; }
  .profile-page { padding: 35px 12px 40px; }
  .profile-cover { padding: 25px 20px; flex-direction: column; align-items: flex-start; }
  .profile-identity { align-items: flex-start; }
  .profile-actions { width: 100%; }
  .profile-actions > * { flex: 1; }
  .profile-reason-grid { grid-template-columns: 1fr; }

  .messages-page { padding: 18px 8px 5px; }
  .messages-shell { height: calc(100dvh - 101px - env(safe-area-inset-bottom)); display: block; border-radius: 22px; }
  .chat-sidebar { width: 100%; height: 100%; }
  .chat-main { position: absolute; inset: 0; display: none; }
  .chat-main:has(.chat-header) { display: flex; z-index: 3; }
  .chat-back { display: inline-flex; }
  .message-list { padding: 17px 12px; }
  .message-bubble { max-width: 86%; }
}

@media (max-width: 420px) {
  .mobile-nav { right: 6px !important; left: 6px !important; }
  .mobile-nav-link small { font-size: .54rem !important; }
  .mobile-compose-fab { left: 12px; width: 51px; height: 51px; }
  .hero h1 { font-size: 2.65rem; }
  .hero-visual { transform: scale(.9); margin-inline: -5%; width: 110%; }
  .card-a { width: 90%; right: 2%; }
  .card-b { left: 0; }
  .pulse-strip { width: calc(100% - 16px); }
  .daily-page-answers-heading h2 { font-size: 1.25rem; }
  .swipe-card { padding: 19px; }
  .swipe-bottom { align-items: flex-end; }
  .identity-chips { max-height: 40px; overflow: hidden; }
  .round-action { width: 70px; height: 70px; }
  .mini-action { width: 50px; height: 50px; }
  .account-publish-user small { max-width: 160px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* v8.0 finishing details */
.footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.footer-links a { min-height: 36px; display: inline-flex; align-items: center; }
#reasonForm:has(.account-publish-required) .guideline-row,
#reasonForm:has(.account-publish-required) .dialog-actions button[type="submit"] { display: none !important; }
#reasonForm:has(.account-publish-required) .dialog-actions { justify-content: flex-start; }
@media (max-width:700px) {
  .footer-links { justify-content: center; gap: 14px; }
  #reasonForm:has(.account-publish-required) .dialog-actions .ghost-button { width: 100%; }
}
.account-publish-user small { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; direction: rtl; }
.account-publish-user small i { font-style: normal; }
.account-publish-user small i::before { content: "·"; margin-left: 5px; }
.account-username { color: var(--sage-dark); font-weight: 800; }
.guideline-icon { flex: 0 0 22px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--soft-green); color: var(--sage-dark); font-weight: 900; }

/* v8.1 — account-only publishing */
.profile-publish-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(54, 93, 75, .16);
  border-radius: 999px;
  background: var(--soft-green-2);
  color: var(--sage-dark);
  font-size: .75rem;
  font-weight: 800;
  white-space: nowrap;
}
.daily-page-hero-note.is-guest {
  background: rgba(255, 248, 232, .88);
  border-color: rgba(174, 121, 42, .20);
}
.daily-page-hero-note.is-guest > span {
  background: rgba(174, 121, 42, .12);
  color: #8a632b;
}
.composer-profile-note[hidden],
.daily-page-hero-note[hidden] { display: none !important; }
@media (max-width: 680px) {
  .profile-publish-badge { width: 100%; }
}

/* v8.5 — friend suggestions in empty messages state */
.friend-suggestions {
  display: grid;
  gap: 9px;
  width: 100%;
  margin-top: 14px;
  text-align: right;
}
.suggestion-title {
  display: grid;
  gap: 2px;
  margin-bottom: 3px;
}
.suggestion-title strong { color: var(--ink); font-size: .92rem; }
.suggestion-title small { color: var(--muted); font-size: .72rem; }
.friend-suggestion {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(54, 93, 75, .12);
  border-radius: 15px;
  background: rgba(255,255,255,.7);
}
.friend-suggestion > a {
  display: grid;
  gap: 2px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.friend-suggestion strong,
.friend-suggestion small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.friend-suggestion small { color: var(--muted); font-size: .68rem; direction: ltr; text-align: right; }
.friend-suggestion button {
  min-height: 34px;
  padding: 6px 10px;
  border: 0;
  border-radius: 999px;
  background: var(--sage-dark);
  color: #fff;
  font: inherit;
  font-size: .7rem;
  font-weight: 800;
  cursor: pointer;
}
.friend-suggestion button.sent,
.friend-suggestion button:disabled { opacity: .68; cursor: default; }

/* v8.5-support */
.support-page,.admin-page{padding:36px 5vw 120px}.support-shell,.admin-shell{width:min(1180px,100%);margin:auto;display:grid;gap:24px}.support-shell{grid-template-columns:minmax(280px,380px) 1fr}.support-compose,.support-list,.support-detail,.admin-card,.admin-head,.admin-filters,#adminTicketDetail{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);border-radius:24px;padding:22px;box-shadow:0 15px 45px rgba(58,72,58,.08)}.support-compose form,.admin-filters,#replyForm,#adminReply{display:grid;gap:12px}.support-compose label{display:grid;gap:6px;font-weight:700}.support-compose input,.support-compose select,.support-compose textarea,.admin-filters input,.admin-filters select,#replyForm textarea,#adminReply textarea,#adminReply select{font:inherit;border:1px solid #dfe5dd;border-radius:13px;padding:12px;background:#fff}.support-list{min-width:0}.ticket-card{width:100%;border:0;background:#f4f1e9;border-radius:16px;padding:14px;margin:6px 0;text-align:right;font:inherit;display:grid;grid-template-columns:1fr auto;gap:5px;cursor:pointer}.ticket-card time,.ticket-card small{grid-column:1/-1;color:#737a73}.support-detail{grid-column:1/-1}.ticket-messages{display:grid;gap:12px;margin:20px 0}.ticket-message{max-width:80%;background:#f2eee5;border-radius:16px;padding:14px}.ticket-message.admin{margin-right:auto;background:#e6efe7}.ticket-message time{font-size:.72rem;color:#777}.status-pill{display:inline-flex;padding:5px 10px;border-radius:999px;background:#edf1e9;font-size:.75rem}.status-pending{background:#fff2c9}.status-approved{background:#dff1e3}.status-rejected,.status-hidden{background:#f3dddd}.admin-head{display:flex;justify-content:space-between;align-items:center}.admin-filters{grid-template-columns:180px 1fr auto}.admin-card{margin:12px 0}.admin-card header{display:flex;justify-content:space-between}.admin-card header div{display:grid}.admin-card p{white-space:pre-wrap;line-height:2}.admin-meta,.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-meta span,.admin-meta time{background:#f2eee5;border-radius:10px;padding:6px 9px;font-size:.75rem}.admin-actions button{border:0;border-radius:10px;padding:9px 14px;cursor:pointer}.activity-panel{margin-top:30px}.activity-list{display:grid;gap:8px}.activity-item{display:flex;justify-content:space-between;gap:15px;background:rgba(255,255,255,.72);padding:14px;border-radius:14px}.activity-item time{font-size:.75rem;color:#777}.rejection-note{display:block;color:#9a4646;margin-top:8px}@media(max-width:800px){.support-shell{grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr}.support-page,.admin-page{padding:22px 14px 110px}.ticket-message{max-width:95%}.activity-item{display:grid}}

/* v9.1 — restore the Account tab everywhere */
@media (max-width:900px){
  .mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .mobile-nav .account-mobile-link{display:flex!important;}
}

/* v9.2: account tab in desktop header */
.account-top-link{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}
.account-top-link .social-avatar.tiny{width:1.55rem;height:1.55rem;font-size:.72rem;flex:0 0 auto}


/* v10 authentication experience */
.password-field{position:relative;display:block}.password-field input{width:100%;padding-left:74px!important}.password-toggle{position:absolute;left:7px;top:50%;transform:translateY(-50%);border:0;border-radius:10px;background:#eef3ec;color:#3f5d4b;padding:7px 10px;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}.password-toggle:hover{background:#e2ebe0}.password-guide{grid-column:1/-1;border:1px solid rgba(65,85,70,.12);background:linear-gradient(145deg,#fbfcf8,#f1f5ef);border-radius:17px;padding:14px 15px}.password-strength-head{display:flex;justify-content:space-between;gap:12px;font-size:.76rem}.password-strength-head span{color:#667169;font-weight:800}.password-strength{height:7px;margin:10px 0 12px;background:#e3e8e1;border-radius:999px;overflow:hidden}.password-strength i{display:block;width:0;height:100%;border-radius:inherit;background:#a94f4f;transition:width .22s ease,background .22s ease}.password-strength i[data-score="3"]{background:#b07a35}.password-strength i[data-score="4"]{background:#5f8068}.password-strength i[data-score="5"]{background:#365f46}.password-guide ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin:0;padding:0;list-style:none}.password-guide li{position:relative;padding-right:20px;color:#7a817b;font-size:.72rem}.password-guide li::before{content:"○";position:absolute;right:0}.password-guide li.is-valid{color:#3e674b}.password-guide li.is-valid::before{content:"✓";font-weight:900}.password-guide p{margin:11px 0 0;color:#777f78;font-size:.69rem;line-height:1.7}.password-match{min-height:18px;color:#a44747!important}.password-match.is-valid{color:#397047!important}.auth-submit{position:relative}.button-loader{display:none;width:17px;height:17px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;animation:authSpin .7s linear infinite}.auth-submit.is-loading .button-loader{display:inline-block}.auth-submit.is-loading{cursor:wait}.auth-message.is-success{color:#356c45!important;background:#edf8ef!important;border-color:rgba(53,108,69,.17)!important}@keyframes authSpin{to{transform:rotate(360deg)}}
@media(max-width:620px){.password-guide ul{grid-template-columns:1fr}.password-toggle{padding-inline:9px}.password-field input{padding-left:68px!important}}

/* v10.1 — clean and aligned registration password fields */
.auth-register-panel form > .password-guide { grid-column: 1 / -1; }
.auth-password-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
.auth-password-item {
  min-width: 0;
  grid-template-rows: auto 50px 20px;
  align-content: start;
}
.auth-password-item .password-field { height: 50px; }
.auth-password-item .password-field input { height: 50px; }
.password-field-note,
.password-match {
  display: block;
  min-height: 20px;
  margin: 0;
  padding-top: 3px;
  line-height: 17px;
  font-size: .69rem !important;
}
.password-field-note { color: #7a817b !important; }
.password-guide {
  padding: 13px 15px;
  border-radius: 14px;
  background: #f6f8f3;
  box-shadow: none;
}
.password-strength { height: 6px; margin: 9px 0 10px; }
.password-guide ul { gap: 6px 14px; }
.password-guide li { font-size: .7rem; }
@media (max-width: 720px) {
  .auth-password-row { grid-template-columns: 1fr; gap: 8px; }
}


/* v10.2 — refined validation and server error messages */
.auth-message{display:none;position:relative;margin:0 0 14px;padding:11px 42px 11px 14px;border:1px solid transparent;border-radius:13px;font-size:.78rem;font-weight:750;line-height:1.8;box-shadow:none}
.auth-message.is-visible{display:block;animation:authMessageIn .18s ease-out}
.auth-message::before{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:19px;height:19px;border-radius:50%;font-size:.72rem;font-weight:950}
.auth-message.is-error{color:#7b3535;background:#fff6f5;border-color:#efd1ce}
.auth-message.is-error::before{content:"!";color:#fff;background:#b65a55}
.auth-message.is-success{color:#2f6541!important;background:#f2faf3!important;border-color:#cce4d1!important}
.auth-message.is-success::before{content:"✓";color:#fff;background:#4f855f}
.password-match{position:relative;padding-right:17px!important;color:#858b86!important;transition:color .18s ease}
.password-match:not(:empty)::before{content:"";position:absolute;right:1px;top:9px;width:7px;height:7px;border-radius:50%;background:#c2c7c3}
.password-match.is-error{color:#9a4744!important}
.password-match.is-error::before{background:#c0605b;box-shadow:0 0 0 3px rgba(192,96,91,.10)}
.password-match.is-valid{color:#397047!important}
.password-match.is-valid::before{background:#5e936d;box-shadow:0 0 0 3px rgba(94,147,109,.11)}
.password-guide li{padding:5px 25px 5px 8px;border-radius:9px;background:rgba(255,255,255,.55);transition:background .18s ease,color .18s ease}
.password-guide li::before{content:"";right:8px;top:50%;transform:translateY(-50%);width:8px;height:8px;border:1.5px solid #b8bfba;border-radius:50%}
.password-guide li.is-valid{background:#edf6ef;color:#356545}
.password-guide li.is-valid::before{content:"✓";display:grid;place-items:center;width:14px;height:14px;border:0;background:#5b8b68;color:#fff;font-size:.58rem}
@keyframes authMessageIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* Stage 2 — restored account management */
.account-dashboard{width:min(1180px,90vw);margin:18px auto 24px;padding:24px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.92);border-radius:26px;box-shadow:0 16px 48px rgba(52,72,58,.08)}
.account-dashboard .section-heading{margin-bottom:16px}.account-dashboard h2{margin:.2rem 0 0}
.account-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.account-info-grid>div{display:grid;gap:5px;padding:14px;border-radius:16px;background:#f2f5ef;border:1px solid rgba(48,70,51,.07);min-width:0}
.account-info-grid small{color:var(--muted)}.account-info-grid strong{overflow-wrap:anywhere}
.account-action-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.account-action-grid a{text-decoration:none}.account-action-grid>*{justify-content:center}
.account-dialog .form-message{min-height:1.7em;margin:0;color:#8a4a3f}.account-dialog .password-help{color:var(--muted);line-height:1.8}
@media(max-width:900px){.account-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.account-dashboard{width:calc(100% - 24px);padding:18px;border-radius:22px}.account-info-grid{grid-template-columns:1fr}.account-action-grid{display:grid}.account-action-grid>*{width:100%}}

/* Stage 3: integrated support conversations and unread indicators */
.ticket-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:right}
.ticket-card-main{display:grid;gap:6px;min-width:0}.ticket-card-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62ch}
.ticket-card-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.ticket-card.has-unread{border-color:rgba(95,116,100,.55);box-shadow:0 10px 28px rgba(62,82,67,.10)}
.unread-badge,.nav-unread-badge,.mobile-unread-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#5f7464;color:#fff;font-size:.72rem;font-weight:800;padding:2px 8px;line-height:1.5}
.nav-unread-badge{margin-inline-start:5px}.mobile-nav-link{position:relative}.mobile-unread-badge{position:absolute;top:2px;inset-inline-end:8px;min-width:18px;padding:1px 5px}
.ticket-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.ticket-closed-note{padding:14px 16px;border-radius:16px;background:rgba(95,116,100,.08)}
.admin-ticket-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.35fr) auto;gap:10px;margin:18px 0 22px}.admin-ticket-filters input,.admin-ticket-filters select{width:100%}
@media(max-width:720px){.ticket-card{align-items:flex-start;flex-direction:column}.ticket-card-meta{justify-content:flex-start}.ticket-card-main small{max-width:78vw}.admin-ticket-filters{grid-template-columns:1fr}.ticket-detail-head{flex-direction:column}}


/* Stage 3.2 fixes */
.top-nav .support-nav-link { white-space: nowrap; }
.contact-support-section.is-guest > .section-heading { display: none; }
.contact-support-section.is-guest { padding-top: 18px; }
.support-login-card { width:min(720px,100%);margin:0 auto;padding:clamp(28px,5vw,52px);text-align:center;display:grid;justify-items:center;gap:14px;border:1px solid rgba(62,105,85,.14);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,252,.96),rgba(239,246,239,.92));box-shadow:0 22px 60px rgba(47,78,62,.12); }
.support-login-icon { width:70px;height:70px;display:grid;place-items:center;border-radius:22px;background:#e3eee5;color:#3e6955;font-size:2rem; }
.support-login-card h2 { margin:0;font-size:clamp(1.6rem,4vw,2.5rem); }
.support-login-card p { max-width:560px;margin:0;color:#617066;line-height:1.9; }
.support-login-card > small { color:#748078;line-height:1.8; }
.support-login-actions { display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px; }
.support-login-actions > * { min-width:170px;justify-content:center; }
.profile-body { align-items:start; }
.profile-about,.profile-reasons { margin-top:0; }
.profile-reasons > .section-heading { min-height:52px;display:flex;align-items:center;margin:0 0 14px; }
.profile-about > h2 { min-height:52px;display:flex;align-items:center;margin:0 0 14px; }
.profile-reason-grid { align-items:stretch; }
.profile-reason-card { height:100%;display:flex;flex-direction:column; }
.profile-reason-card time { margin-top:auto; }
@media (max-width:700px){.support-login-card{border-radius:22px;padding:26px 18px}.support-login-actions{width:100%;display:grid}.support-login-actions>*{width:100%}}

/* Stage 3.3 — profile, guest support and composer reliability */
.profile-cover{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:34px 36px}
.profile-cover-main{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px 28px;align-items:center}
.profile-cover-main .profile-identity{grid-column:1/-1}
.profile-cover-about{grid-column:2;max-width:720px;padding:16px 18px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.11);backdrop-filter:blur(8px)}
.profile-cover-about>span{display:block;margin-bottom:5px;font-size:.76rem;font-weight:900;color:#eef5ee}
.profile-cover-about p{margin:0;line-height:1.95;color:#fff;white-space:pre-wrap}
.profile-cover-edit{position:relative;z-index:2;align-self:start;border:1px solid rgba(255,255,255,.4);border-radius:14px;padding:11px 16px;background:#fff;color:#365441;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 9px 25px rgba(31,54,39,.16)}
.profile-cover-stat{position:relative;z-index:1;grid-column:2;display:grid;min-width:145px;text-align:center;padding:15px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.profile-cover-stat b{font-size:1.55rem}.profile-cover-stat span{font-size:.72rem;opacity:.86}
.account-dashboard{margin-top:22px;padding:24px;border:1px solid rgba(255,255,255,.9);border-radius:25px;background:rgba(255,255,255,.76);box-shadow:0 16px 48px rgba(58,72,58,.08)}
.account-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.account-dashboard-head h2{margin:4px 0}.account-dashboard-head p{margin:0;color:var(--muted)}
.account-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.account-info-grid>div{display:grid;gap:5px;min-width:0;padding:14px 15px;border-radius:16px;background:#f5f3ec;border:1px solid rgba(78,99,80,.08)}
.account-info-grid small{color:var(--muted);font-weight:700}.account-info-grid strong{overflow-wrap:anywhere}
.account-action-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.account-action-grid>*{min-height:43px}
.profile-content{margin-top:26px}.profile-reasons-heading{align-items:end}.profile-reasons-heading .primary-button{white-space:nowrap}
.profile-empty-reasons{display:grid;justify-items:center;gap:8px;grid-column:1/-1}.profile-empty-reasons strong{font-size:1.1rem}.profile-empty-reasons p{margin:0;color:var(--muted)}
.profile-editor::backdrop{background:rgba(21,34,27,.62);backdrop-filter:blur(8px)}
.profile-editor form{padding:30px;border:1px solid rgba(255,255,255,.75);box-shadow:0 28px 80px rgba(28,42,33,.25)}
.profile-editor h2{margin:0 0 6px}.profile-editor label{padding:3px}.profile-editor textarea{min-height:120px;resize:vertical}
.contact-support-section.is-guest>.section-heading{display:none}
.contact-support-section.is-guest{padding-top:16px}
.contact-support-section.is-guest .support-shell{display:block;max-width:760px}
.support-login-card{position:relative;overflow:hidden;text-align:center;padding:42px 34px;border:1px solid rgba(255,255,255,.94);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,245,237,.9));box-shadow:0 24px 70px rgba(59,78,62,.13)}
.support-login-card:before{content:"";position:absolute;width:260px;height:260px;border:55px solid rgba(84,116,91,.07);border-radius:50%;left:-100px;top:-130px}
.support-login-icon{position:relative;display:grid;place-items:center;width:72px;height:72px;margin:0 auto 16px;border-radius:22px;background:linear-gradient(145deg,#55775f,#739078);color:#fff;font-size:1.8rem;box-shadow:0 14px 30px rgba(61,91,69,.22)}
.support-login-card h2{position:relative;margin:7px 0 10px;font-size:clamp(1.55rem,4vw,2.35rem)}
.support-login-card>p{position:relative;max-width:570px;margin:0 auto;color:var(--muted);line-height:2}
.support-login-actions{position:relative;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px 0 15px}.support-login-actions a{min-width:170px;justify-content:center}
.support-login-card>small{position:relative;display:block;color:#748078}
.account-publish-row{transition:.2s ease}.account-publish-row:not(.account-publish-required){border-color:rgba(73,105,79,.22);background:#f1f6ef}

@media(max-width:900px){.profile-cover{grid-template-columns:1fr}.profile-cover-main{grid-template-columns:1fr}.profile-cover-main .profile-identity,.profile-cover-about{grid-column:1}.profile-cover-edit{grid-row:1;justify-self:end}.profile-cover-stat{grid-column:1;justify-self:stretch}.account-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.profile-cover{padding:23px 18px}.profile-cover-main{gap:15px}.profile-cover-about{padding:14px}.profile-cover-edit{width:100%;grid-row:auto}.account-dashboard{padding:18px}.account-dashboard-head{align-items:stretch;flex-direction:column}.account-dashboard-head .primary-button{width:100%;justify-content:center}.account-info-grid{grid-template-columns:1fr}.account-action-grid{display:grid;grid-template-columns:1fr}.profile-reasons-heading{align-items:stretch;flex-direction:column}.profile-reasons-heading .primary-button{width:100%;justify-content:center}.support-login-card{padding:32px 18px;border-radius:24px}.support-login-actions{display:grid}.support-login-actions a{width:100%}}

/* Stage 3.4 — compact, expandable account activity history */
.activity-panel{padding:22px;border:1px solid rgba(57,91,68,.1);border-radius:22px;background:rgba(248,250,246,.76)}
.activity-list{position:relative}
.activity-item{border:1px solid rgba(57,91,68,.08);transition:opacity .22s ease,transform .22s ease,background-color .22s ease}
.activity-item:hover{background:rgba(255,255,255,.96)}
.activity-item[hidden]{display:none!important}
.activity-toggle{width:100%;margin-top:12px;border:0;border-top:1px solid rgba(57,91,68,.12);background:transparent;color:#45604c;font:inherit;font-weight:800;padding:14px 10px 4px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}
.activity-toggle:hover{color:#263f2d}
.activity-toggle:focus-visible{outline:3px solid rgba(73,120,85,.22);outline-offset:4px;border-radius:12px}
.activity-toggle:disabled{cursor:wait;opacity:.65}
.activity-toggle-arrow{display:inline-grid;place-items:center;font-size:1.25rem;line-height:1;transition:transform .25s ease}
.activity-toggle[aria-expanded="true"] .activity-toggle-arrow{transform:rotate(180deg)}
@media(max-width:800px){.activity-panel{padding:17px}.activity-toggle{padding-top:13px}.activity-item{gap:6px}}
@media(prefers-reduced-motion:reduce){.activity-item,.activity-toggle-arrow{transition:none}}

/* Stage 3.5 moderation, pending reasons and access management */
.composer-pending-panel{margin:14px 0;padding:14px;border:1px solid rgba(91,120,91,.2);border-radius:18px;background:rgba(236,244,235,.72)}
.composer-pending-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-pending-head span{font-size:.82rem;color:var(--muted)}
.composer-pending-list{display:grid;gap:8px;margin-top:10px}.composer-pending-list article{position:relative;padding:10px 12px;border-radius:13px;background:#fff;border:1px solid rgba(91,120,91,.12)}
.composer-pending-list p{margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.composer-pending-list small{color:var(--muted)}.composer-pending-list article>span{float:left;font-size:.75rem;color:#8a6c22;background:#fff5d7;padding:3px 7px;border-radius:999px}.composer-pending-panel>a{display:inline-block;margin-top:10px;font-weight:700;color:var(--accent)}
.admin-head-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-user-card{display:grid;gap:16px;padding:18px;margin:12px 0;border:1px solid rgba(54,79,55,.14);border-radius:22px;background:#fff}.admin-user-identity{display:flex;align-items:center;gap:12px}.admin-user-identity>div:nth-child(2){display:grid;gap:3px;min-width:0}.admin-user-identity small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.admin-user-identity .status-pill{margin-inline-start:auto}.admin-access-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-access-grid label{display:flex;align-items:center;gap:8px;padding:11px;border-radius:13px;background:rgba(239,244,237,.8);font-weight:650}.admin-owner-note{margin:0;color:var(--muted)}
@media(max-width:760px){.admin-access-grid{grid-template-columns:1fr 1fr}.admin-user-identity{align-items:flex-start;flex-wrap:wrap}.admin-user-identity .status-pill{margin-inline-start:0}.composer-pending-list article>span{float:none;display:inline-block;margin-top:6px}}

/* Stage 3.6 — polished activity and desktop administration */
.activity-toggle{width:auto;min-width:230px;margin:18px auto 0;padding:11px 18px;border:1px solid rgba(57,91,68,.15);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(239,245,238,.9));box-shadow:0 8px 24px rgba(54,79,58,.08);color:#36533f;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.activity-toggle:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(54,79,58,.13);background:#fff;color:#243c2c}
.activity-toggle:active{transform:translateY(0)}
.activity-toggle-arrow{width:28px;height:28px;border-radius:50%;background:#e2ece2;font-size:1rem;font-weight:900}
.activity-toggle[aria-expanded="true"]{background:#edf4ed}
.activity-toggle[aria-expanded="true"] .activity-toggle-arrow{background:#52705a;color:#fff}

.admin-page{padding:42px 4vw 120px;background:radial-gradient(circle at 12% 5%,rgba(99,132,105,.08),transparent 32%),linear-gradient(180deg,#f7f8f4,#f1f4ef)}
.admin-shell{width:min(1280px,100%);gap:18px}
.admin-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;border:1px solid rgba(255,255,255,.92);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(237,244,237,.92));box-shadow:0 20px 55px rgba(45,67,49,.09)}
.admin-hero h1{display:flex;align-items:center;gap:12px;margin:5px 0 8px;font-size:clamp(1.8rem,3vw,2.65rem)}
.admin-hero p{margin:0;color:var(--muted);line-height:1.9}
.admin-count-badge{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:12px;background:#42634c;color:#fff;font-size:1rem}
.admin-review-filters,.admin-user-search{display:grid;grid-template-columns:220px minmax(280px,1fr) auto;align-items:end;gap:13px;padding:18px 20px;border-radius:22px}
.admin-review-filters label,.admin-user-search label{display:grid;gap:7px;font-weight:800;font-size:.78rem;color:#526158}
.admin-review-filters input,.admin-review-filters select,.admin-user-search input{min-height:48px}
.admin-review-filters button,.admin-user-search button{min-height:48px;padding-inline:25px}
.admin-review-list,.admin-users-list{display:grid;gap:15px}
.admin-review-card{position:relative;overflow:hidden;padding:22px 24px;border:1px solid rgba(66,91,70,.11);border-radius:24px;background:rgba(255,255,255,.93);box-shadow:0 12px 36px rgba(51,72,55,.07);transition:transform .2s ease,opacity .25s ease,border-color .2s ease}
.admin-review-card:hover{transform:translateY(-2px);border-color:rgba(66,91,70,.22)}
.admin-review-card.is-complete{opacity:.55;transform:scale(.99)}
.admin-review-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.admin-review-user{display:flex;align-items:center;gap:12px;min-width:0}.admin-review-user>div{display:grid;gap:3px;min-width:0}.admin-review-user small{color:var(--muted)}
.admin-review-body{margin:18px 0 14px;padding:18px 19px;border-radius:17px;background:#f6f4ed;border:1px solid rgba(66,91,70,.07)}
.admin-review-body p{margin:0;white-space:pre-wrap;line-height:2.05;font-size:1rem}
.admin-review-actions{margin-top:18px;padding-top:16px;border-top:1px solid rgba(66,91,70,.09)}
.admin-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:42px;border:1px solid transparent!important;border-radius:13px!important;font:inherit;font-weight:850;transition:.18s ease}
.admin-action span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(255,255,255,.72)}
.admin-action.approve{background:#e5f3e7;color:#2f6840;border-color:#cce5d1!important}.admin-action.approve:hover{background:#d7ecd9}
.admin-action.reject{background:#fae8e6;color:#8a3d3a;border-color:#eed1ce!important}.admin-action.reject:hover{background:#f4d9d6}
.admin-action.hide{background:#ecebea;color:#4e514f;border-color:#dededb!important}.admin-action.hide:hover{background:#e2e1df}
.admin-action:disabled{opacity:.58;cursor:wait}
.admin-card-message{min-height:0;margin:10px 0 0;font-size:.78rem;font-weight:750}.admin-card-message.is-success{color:#347047}.admin-card-message.is-error{color:#9a4542}
.admin-toast{position:fixed;left:24px;bottom:28px;z-index:9999;max-width:min(390px,calc(100vw - 30px));padding:13px 18px;border-radius:15px;background:#315c3d;color:#fff;box-shadow:0 18px 45px rgba(30,52,35,.24);opacity:0;transform:translateY(18px);pointer-events:none;transition:.22s ease}.admin-toast.is-visible{opacity:1;transform:none}.admin-toast.is-error{background:#934944}
.admin-user-card{padding:23px 24px;border-radius:24px;box-shadow:0 10px 32px rgba(51,72,55,.065)}
.admin-user-card.is-owner{background:linear-gradient(135deg,#fff,#f1f7ef);border-color:rgba(74,112,81,.25)}
.admin-access-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.admin-access-grid .admin-access-option{align-items:flex-start;padding:14px 13px;background:#f5f7f2;border:1px solid rgba(60,84,64,.08);transition:.18s ease}
.admin-access-option:hover{background:#eef3eb;border-color:rgba(60,84,64,.16)}
.admin-access-option input{margin-top:5px;accent-color:#4c7157}.admin-access-option span{display:grid;gap:3px}.admin-access-option b{font-size:.82rem}.admin-access-option small{color:var(--muted);font-size:.68rem;line-height:1.6}
.admin-user-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:4px}.admin-user-footer .admin-card-message{margin:0}.admin-user-footer button{min-width:170px}
@media(min-width:1000px){.admin-review-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-review-card{height:100%;display:flex;flex-direction:column}.admin-review-actions{margin-top:auto}.admin-users-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-user-card{height:100%}}
@media(max-width:900px){.admin-hero{align-items:flex-start;flex-direction:column}.admin-review-filters,.admin-user-search{grid-template-columns:1fr}.admin-access-grid{grid-template-columns:1fr 1fr}.admin-review-actions{display:grid;grid-template-columns:repeat(3,1fr)}.admin-action{min-width:0}}
@media(max-width:600px){.admin-page{padding:22px 13px 105px}.admin-hero{padding:22px 18px;border-radius:22px}.admin-review-card,.admin-user-card{padding:18px 16px}.admin-review-card-head{align-items:flex-start}.admin-review-actions{grid-template-columns:1fr}.admin-access-grid{grid-template-columns:1fr}.admin-user-footer{align-items:stretch;flex-direction:column}.admin-user-footer button{width:100%}.activity-toggle{width:100%;min-width:0}.admin-toast{left:15px;right:15px;bottom:86px}}


/* Stage 3.8 — UI polish */
.admin-access-grid{gap:13px}
.admin-access-grid .admin-access-option{display:grid!important;grid-template-columns:22px 42px minmax(0,1fr);align-items:center!important;gap:12px;padding:16px!important;border-radius:18px!important;background:linear-gradient(145deg,#fbfcfa,#f1f5ef)!important}
.admin-access-option input{width:19px;height:19px;margin:0!important}
.admin-access-icon{width:40px;height:40px;display:grid!important;place-items:center;border-radius:13px;background:#e5eee4;color:#36533f;font-weight:900;font-size:1rem}
.admin-access-copy{display:grid!important;gap:4px;min-width:0}
.admin-access-copy b{font-size:.92rem!important;line-height:1.5}
.admin-access-copy small{font-size:.76rem!important;line-height:1.75!important;color:#69756d!important}
.admin-user-card.is-owner{background:linear-gradient(145deg,rgba(255,251,235,.98),rgba(250,244,215,.92));border-color:rgba(182,145,54,.25)}
.admin-user-card.is-owner .admin-access-icon{background:#f5e9bb;color:#725916}

.profile-admin-panel{width:min(1180px,90vw);margin:0 auto 24px;padding:22px 24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;border-radius:26px;background:linear-gradient(135deg,#294c35,#4f7559);color:#fff;box-shadow:0 18px 48px rgba(34,67,44,.2)}
.profile-admin-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:19px;background:rgba(255,255,255,.14);font-size:1.5rem}
.profile-admin-panel .eyebrow,.profile-admin-panel p{color:rgba(255,255,255,.76)}
.profile-admin-panel h2{margin:3px 0 4px}.profile-admin-panel p{margin:0}
.profile-admin-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.profile-admin-actions .soft-button,.profile-admin-actions .ghost-button{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.24);color:#fff}
.profile-pending-section{margin-top:30px;padding:24px;border:1px solid rgba(174,136,38,.17);border-radius:26px;background:linear-gradient(180deg,rgba(255,251,235,.95),rgba(251,247,229,.88));box-shadow:0 14px 38px rgba(94,73,18,.07)}
.profile-pending-section .section-heading{align-items:center}.profile-pending-section .section-heading p{margin:.35rem 0 0;color:var(--muted)}
.pending-count{padding:7px 12px;border-radius:999px;background:#fff0b8;color:#755a13;font-weight:800;font-size:.8rem}
.profile-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:16px}
.profile-pending-card{padding:16px 17px;border-radius:18px;background:#fff;border:1px solid rgba(174,136,38,.15);box-shadow:0 8px 22px rgba(94,73,18,.05)}
.pending-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.pending-card-head time{font-size:.74rem;color:var(--muted)}
.profile-pending-card p{margin:12px 0 0;line-height:1.9;white-space:pre-wrap}

.composer-pending-panel{order:90;margin:8px 0 16px!important;padding:16px!important;border-color:rgba(178,139,39,.2)!important;background:linear-gradient(180deg,#fffaf0,#fff6dc)!important}
.composer-pending-head strong:before{content:'◷';display:inline-grid;place-items:center;width:28px;height:28px;margin-left:8px;border-radius:9px;background:#f6e7af;color:#755a13}
.composer-pending-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
.composer-pending-list article{padding:13px!important;border-color:rgba(178,139,39,.14)!important;box-shadow:0 6px 18px rgba(94,73,18,.04)}
.composer-pending-list article>span{float:none!important;display:inline-flex!important;margin-top:7px}
.composer-pending-panel>a{padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.8)}

.admin-review-list{gap:18px}.admin-review-card{border-radius:28px;padding:24px 26px;box-shadow:0 16px 46px rgba(48,70,52,.09)}
.admin-review-body{background:linear-gradient(145deg,#f7f5ee,#f2f5ef);border-radius:20px;padding:21px}
.admin-review-actions{gap:10px}.admin-action{min-height:44px;border-radius:14px!important;font-weight:800;transition:.18s ease}.admin-action:hover{transform:translateY(-2px)}
.admin-action.approve{background:#dff1e3;color:#285b35}.admin-action.reject{background:#f6dfdf;color:#8a3434}.admin-action.hide{background:#ecebe7;color:#50534f}
#adminTickets{display:grid;gap:10px}.ticket-card{padding:17px 18px;border:1px solid rgba(62,82,67,.08);border-radius:19px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(54,74,58,.05);transition:.18s ease}.ticket-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(54,74,58,.09)}
#adminTicketDetail{border-radius:28px;background:rgba(255,255,255,.93)}.ticket-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.ticket-message{border-radius:19px;padding:16px 17px;box-shadow:0 7px 18px rgba(54,74,58,.04)}

@media(max-width:760px){.admin-access-grid .admin-access-option{grid-template-columns:22px 38px minmax(0,1fr)}.profile-admin-panel{width:calc(100% - 24px);grid-template-columns:auto 1fr;padding:19px}.profile-admin-actions{grid-column:1/-1;justify-content:stretch}.profile-admin-actions>*{flex:1;justify-content:center}.profile-pending-grid,.composer-pending-list{grid-template-columns:1fr}.profile-pending-section{padding:18px}.pending-card-head{align-items:flex-start;flex-direction:column}}

/* Stage 3.9 — مدیریت فقط در حساب کاربری */
.profile-admin-panel{display:grid;gap:22px}.profile-admin-panel-head{display:flex;align-items:flex-start;gap:16px}.profile-admin-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}.admin-tool-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;border:1px solid rgba(78,103,84,.16);border-radius:18px;background:rgba(255,255,255,.72);text-decoration:none;color:inherit;transition:.2s ease}.admin-tool-card:hover{transform:translateY(-2px);border-color:rgba(78,103,84,.35);box-shadow:0 12px 28px rgba(31,54,38,.09)}.admin-tool-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(91,124,99,.12);font-size:20px;font-weight:800}.admin-tool-card b,.admin-tool-card small{display:block}.admin-tool-card small{margin-top:4px;color:var(--muted,#6d746f);line-height:1.7}.admin-tool-arrow{font-size:20px;opacity:.55}.top-nav .social-nav-link{display:none!important}@media(max-width:900px){.profile-admin-actions{grid-template-columns:1fr}.profile-admin-panel-head{align-items:center}}

/* Stage 3.10 — management panel typography and scalable SVG icons */
.profile-admin-panel{direction:rtl;align-items:stretch}
.profile-admin-panel-head{min-width:0}
.profile-admin-heading{min-width:0;display:grid;gap:3px}
.profile-admin-heading .eyebrow,.profile-admin-heading h2,.profile-admin-heading p{display:block;white-space:normal;overflow-wrap:anywhere}
.profile-admin-actions{align-items:stretch}
.admin-tool-card{direction:rtl;grid-template-columns:56px minmax(0,1fr) 24px;column-gap:15px;min-width:0;min-height:94px;padding:18px 17px;overflow:hidden}
.admin-tool-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;text-align:right;line-height:1.45}
.admin-tool-copy b{display:block;width:100%;margin:0 0 5px;font-size:1rem;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.admin-tool-copy small{display:block;width:100%;margin:0!important;font-size:.82rem;line-height:1.75;white-space:normal;overflow-wrap:anywhere;color:rgba(255,255,255,.74)!important}
.admin-tool-icon{width:56px;height:56px;min-width:56px;border-radius:17px;font-size:0!important;line-height:0;overflow:hidden}
.admin-tool-icon svg,.profile-admin-icon svg,.admin-access-icon svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.profile-admin-icon{width:64px;height:64px;min-width:64px;font-size:0!important;line-height:0}
.profile-admin-icon svg{width:34px;height:34px}
.admin-tool-arrow{display:grid;place-items:center;width:24px;min-width:24px;font-size:1.35rem;line-height:1}
@media(max-width:520px){.admin-tool-card{grid-template-columns:50px minmax(0,1fr) 20px;gap:12px;min-height:88px;padding:15px}.admin-tool-icon{width:50px;height:50px;min-width:50px}.admin-tool-icon svg{width:27px;height:27px}.admin-tool-copy b{font-size:.96rem}.admin-tool-copy small{font-size:.78rem}.profile-admin-icon{width:56px;height:56px;min-width:56px}.profile-admin-icon svg{width:30px;height:30px}}

/* ===== Stage 3.11 — contact alignment & admin dashboard redesign ===== */
.contact-section,
.contact-support-section{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
}
.contact-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:18px;
}
.contact-card{
  min-height:286px;
  height:100%;
  padding:28px;
  border-radius:28px;
  overflow:hidden;
}
.contact-card > div:first-of-type{min-width:0}
.contact-card h3{font-size:1.32rem;line-height:1.55}
.contact-card p{font-size:.9rem;line-height:1.95}
.contact-icon{
  width:54px;
  height:54px;
  min-width:54px;
  margin-bottom:24px;
  border-radius:17px;
  font-size:1.35rem;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.email-contact{background:linear-gradient(145deg,rgba(255,247,237,.94),rgba(248,237,222,.82))}
.social-contact{background:linear-gradient(145deg,rgba(241,245,238,.96),rgba(227,237,225,.82))}
.ticket-contact{background:linear-gradient(145deg,rgba(238,244,250,.96),rgba(224,235,244,.84))}
.social-contact .social-links{margin-top:22px}

.contact-support-section{
  padding:0 0 120px;
  scroll-margin-top:110px;
}
.support-section-heading{
  width:100%;
  margin:0 0 20px;
  padding:25px 28px;
  display:flex;
  align-items:center;
  gap:18px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:27px;
  background:linear-gradient(145deg,rgba(255,253,248,.92),rgba(238,244,234,.86));
  box-shadow:0 16px 44px rgba(70,77,62,.075);
}
.support-heading-icon{
  flex:0 0 58px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#dfeadd;
  color:#31513a;
  font-size:1.55rem;
}
.support-section-heading > div{min-width:0}
.support-section-heading h2{margin:5px 0 7px;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.4;letter-spacing:-.035em}
.support-section-heading p{margin:0;color:var(--muted);line-height:1.9}
.contact-support-section .support-shell{width:100%;max-width:none}

/* پنل مدیریت روشن، یکپارچه و شبیه داشبورد */
.profile-admin-panel{
  width:min(1180px,90vw);
  margin:0 auto 28px;
  padding:0;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(66,91,72,.13);
  border-radius:30px;
  background:rgba(255,253,248,.9);
  color:var(--ink);
  box-shadow:0 20px 55px rgba(49,72,54,.10);
}
.profile-admin-panel-head{
  padding:25px 27px;
  align-items:center;
  gap:17px;
  background:linear-gradient(135deg,#e3eee0,#f5f0e5);
  border-bottom:1px solid rgba(66,91,72,.11);
}
.profile-admin-icon{
  width:62px;
  height:62px;
  min-width:62px;
  border-radius:20px;
  background:#31543b;
  color:#fff;
  box-shadow:0 10px 24px rgba(40,78,51,.18);
}
.profile-admin-heading{gap:2px}
.profile-admin-heading .eyebrow{color:#607866;font-size:.72rem}
.profile-admin-heading h2{margin:2px 0 3px;font-size:1.42rem;line-height:1.5}
.profile-admin-heading p{color:#69756d;margin:0;font-size:.86rem;line-height:1.85}
.profile-admin-actions{
  padding:20px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  background:rgba(255,255,255,.42);
}
.admin-tool-card{
  grid-template-columns:58px minmax(0,1fr) 28px;
  gap:15px;
  min-height:112px;
  padding:19px;
  border:1px solid rgba(66,91,72,.12);
  border-radius:21px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 8px 24px rgba(49,72,54,.045);
}
.admin-tool-card:hover{
  transform:translateY(-3px);
  border-color:rgba(66,91,72,.28);
  box-shadow:0 15px 34px rgba(49,72,54,.10);
}
.admin-tool-icon{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:18px;
  background:#e7efe4;
  color:#31543b;
}
.admin-tool-copy{align-items:flex-start;text-align:right}
.admin-tool-copy b{color:#25342a;font-size:1.02rem;margin-bottom:6px}
.admin-tool-copy small{color:#6a756d!important;font-size:.8rem;line-height:1.8}
.admin-tool-arrow{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#f0f3ee;
  color:#49624f;
  opacity:1;
  font-size:1.1rem;
}

@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .contact-card{min-height:250px}
  .profile-admin-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .contact-section,.contact-support-section{width:calc(100% - 24px)}
  .contact-card{min-height:0;padding:23px;border-radius:25px}
  .support-section-heading{padding:20px;align-items:flex-start;border-radius:24px}
  .support-heading-icon{width:50px;height:50px;flex-basis:50px;border-radius:16px;font-size:1.3rem}
  .support-section-heading h2{font-size:1.55rem}
  .support-section-heading p{font-size:.84rem}
  .profile-admin-panel{width:calc(100% - 24px);border-radius:26px}
  .profile-admin-panel-head{padding:21px 19px;align-items:flex-start}
  .profile-admin-icon{width:54px;height:54px;min-width:54px;border-radius:17px}
  .profile-admin-heading h2{font-size:1.2rem}
  .profile-admin-heading p{font-size:.78rem}
  .profile-admin-actions{grid-template-columns:1fr;padding:14px;gap:10px}
  .admin-tool-card{min-height:94px;padding:15px;grid-template-columns:52px minmax(0,1fr) 26px;gap:12px;border-radius:18px}
  .admin-tool-icon{width:52px;height:52px;min-width:52px;border-radius:16px}
}

/* Stage 3.12 — contact and owner dashboard refinement */
.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.contact-grid .social-contact{grid-column:1/-1;min-height:0}
.social-contact .social-links{grid-template-columns:repeat(3,minmax(0,1fr))}

.profile-admin-panel{
  border-radius:24px;
  border:1px solid rgba(45,67,51,.10);
  background:#fbfcfa;
  box-shadow:0 14px 38px rgba(36,55,41,.07);
}
.profile-admin-panel-head{
  position:relative;
  padding:24px 26px 22px;
  background:transparent;
  border-bottom:1px solid rgba(45,67,51,.09);
}
.profile-admin-panel-head::after{
  content:"";
  position:absolute;
  inset-inline-start:26px;
  bottom:-1px;
  width:74px;
  height:2px;
  border-radius:999px;
  background:#55735d;
}
.profile-admin-icon{
  width:54px;
  height:54px;
  min-width:54px;
  border-radius:16px;
  background:#edf2ec;
  color:#35513c;
  box-shadow:none;
  border:1px solid rgba(53,81,60,.1);
}
.profile-admin-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.profile-admin-heading .eyebrow{color:#617367;font-weight:800}
.profile-admin-heading h2{font-size:1.34rem;margin:4px 0 3px;color:#203027}
.profile-admin-heading p{font-size:.84rem;color:#718078;max-width:68ch}
.owner-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 10px;
  border-radius:999px;
  background:#f3ead2;
  color:#785d24;
  border:1px solid rgba(148,111,36,.14);
  font-size:.68rem;
  font-weight:800;
}
.profile-admin-actions{
  padding:16px;
  gap:10px;
  background:transparent;
}
.admin-tool-card{
  min-height:96px;
  grid-template-columns:48px minmax(0,1fr) 26px;
  gap:13px;
  padding:16px;
  border-radius:17px;
  border:1px solid rgba(45,67,51,.09);
  background:#fff;
  box-shadow:none;
}
.admin-tool-card:hover{
  transform:translateY(-2px);
  border-color:rgba(53,81,60,.24);
  box-shadow:0 10px 24px rgba(36,55,41,.07);
}
.admin-tool-icon{
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:14px;
  background:#eef3ed;
  color:#395942;
}
.admin-tool-icon svg{width:24px!important;height:24px!important}
.admin-tool-copy b{font-size:.94rem;margin-bottom:3px}
.admin-tool-copy small{font-size:.74rem!important;line-height:1.7}
.admin-tool-arrow{background:transparent;font-size:1rem;color:#6e7d73}
.profile-admin-panel.is-owner .admin-tool-card:last-child{
  background:#fffdf8;
  border-color:rgba(148,111,36,.16);
}
.profile-admin-panel.is-owner .admin-tool-card:last-child .admin-tool-icon{
  background:#f6efdc;
  color:#795e28;
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .contact-grid .social-contact{grid-column:auto}
  .social-contact .social-links{grid-template-columns:1fr}
}
@media(max-width:620px){
  .profile-admin-panel-head{padding:19px 17px 17px;gap:13px}
  .profile-admin-panel-head::after{inset-inline-start:17px}
  .profile-admin-icon{width:48px;height:48px;min-width:48px;border-radius:14px}
  .profile-admin-heading h2{font-size:1.08rem}
  .profile-admin-heading p{font-size:.75rem}
  .profile-admin-actions{padding:11px}
  .admin-tool-card{min-height:86px;padding:13px;grid-template-columns:44px minmax(0,1fr) 22px}
  .admin-tool-icon{width:44px;height:44px;min-width:44px}
}

/* Stage 3.13 — unified daily-answer cards and compact separated account tools */
.daily-page-answer-list,
.daily-dialog-list,
.daily-answer-grid{align-items:stretch}
.daily-page-answer-list .daily-reason-card,
.daily-dialog-list .daily-reason-card,
.daily-answer-grid .daily-reason-card{
  min-height:0;
  height:auto;
  padding:1.25rem;
  border-radius:24px;
  background:rgba(255,255,255,.88);
}
.daily-reason-card .reason-profile-link{padding:0;border:0;background:transparent}
.daily-reason-card.compact{min-width:0}
.daily-answer-grid .daily-reason-card.compact{scroll-snap-align:start}

/* تفکیک روشن امکانات کاربری و مدیریتی */
.account-dashboard{border-inline-start:4px solid #8ba28f}
.profile-admin-panel{border-inline-start:4px solid #425f49}
.profile-admin-panel-head{padding:18px 20px 16px}
.profile-admin-icon{width:46px;height:46px;min-width:46px;border-radius:14px}
.profile-admin-heading h2{font-size:1.12rem;margin:2px 0}
.profile-admin-heading p{font-size:.75rem;line-height:1.55}
.profile-admin-actions{padding:12px;gap:8px}
.admin-tool-card{
  min-height:70px;
  grid-template-columns:40px minmax(0,1fr) 18px;
  gap:10px;
  padding:11px 12px;
  border-radius:14px;
}
.admin-tool-icon{width:40px;height:40px;min-width:40px;border-radius:12px}
.admin-tool-icon svg{width:21px!important;height:21px!important}
.admin-tool-copy b{font-size:.88rem;margin:0 0 1px}
.admin-tool-copy small{font-size:.68rem!important;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-tool-arrow{width:18px;height:18px;font-size:.85rem}
@media(max-width:620px){
  .profile-admin-panel-head{padding:15px 14px 13px}
  .profile-admin-heading p{display:none}
  .profile-admin-actions{padding:9px}
  .admin-tool-card{min-height:64px;grid-template-columns:38px minmax(0,1fr) 16px;padding:9px 10px}
  .admin-tool-icon{width:38px;height:38px;min-width:38px}
}


/* Stage 3.14 — compact manager permissions and permanent compose navigation */
.admin-access-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.admin-access-grid .admin-access-option{
  min-width:0;
  min-height:64px;
  grid-template-columns:18px 34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 10px!important;
  border-radius:14px!important;
  background:#f7f9f5!important;
  box-shadow:none!important;
}
.admin-access-option input{
  width:17px;
  height:17px;
}
.admin-access-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  font-size:.86rem;
}
.admin-access-copy{
  display:block!important;
  min-width:0;
  overflow:hidden;
}
.admin-access-copy b{
  display:block;
  margin:0;
  font-size:.79rem!important;
  line-height:1.35!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-access-copy small{
  display:block;
  margin-top:2px;
  font-size:.63rem!important;
  line-height:1.35!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.top-nav .js-open-composer{flex:0 0 auto}
@media(max-width:600px){
  .admin-access-grid{grid-template-columns:1fr;gap:7px}
  .admin-access-grid .admin-access-option{min-height:58px;grid-template-columns:18px 32px minmax(0,1fr)!important;padding:8px 9px!important}
  .admin-access-icon{width:32px;height:32px}
}


/* Stage 3.15 — manager cards match the owner's highlighted appearance */
.admin-user-card.is-manager{
  background:linear-gradient(145deg,rgba(255,251,235,.98),rgba(250,244,215,.92));
  border-color:rgba(182,145,54,.25);
}
.admin-user-card.is-manager .admin-access-icon{
  background:#f5e9bb;
  color:#725916;
}
.admin-user-card.is-manager .manager-status-pill{
  background:#dff1e3;
  color:#2f6840;
  border:1px solid rgba(47,104,64,.12);
  font-weight:850;
}

/* Stage 3.17 — prevent selecting ordinary site copy */
body,
body *{
  -webkit-user-select:none;
  user-select:none;
}
body input,
body textarea,
body [contenteditable="true"],
body .allow-text-selection{
  -webkit-user-select:text;
  user-select:text;
}
