/* Visual polish and responsive interaction refinements */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; overflow-x: clip; }
body { position: relative; min-width: 0; }
main { width: 100%; max-width: 100vw; min-width: 0; overflow-x: hidden; }
:root { --coral-dark: #a83b34; --action-coral: #c4473e; }
body { background: radial-gradient(circle at 84% 2%, rgba(255,220,208,.42), transparent 24%), var(--cream); }
.button, .brand-mark, .preview-buttons button:first-child, .response-badge { background: var(--action-coral); }
.button:hover { background: #a93730; }
.section-heading > span, .mini-label { color: #9d3933; }
.preview-top, .preview-footer { color: #625955; }
.guest-view[data-theme="rose"] { --guest-accent: #c4473e; --guest-soft: #f7d9d5; }
.guest-view[data-theme="violet"] { --guest-accent: #6752bd; --guest-soft: #dfdaf4; }
.guest-view[data-theme="sunset"] { --guest-accent: #ad5318; --guest-soft: #f3d8c5; }
.site-header {
  background: rgba(255,250,246,.76); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(234,223,216,.65); position: sticky; top: 0;
  width: 100%; max-width: none; padding-inline: max(30px, calc((100vw - 1180px)/2)); height: 76px;
}
.hero { min-height: calc(100vh - 76px); }
.invite-preview { box-shadow: 0 40px 90px rgba(84,49,40,.2), 0 0 0 8px rgba(255,255,255,.48); }
.steps article {
  background: #fffdfb; border: 1px solid #f0e4dd; border-radius: 24px;
  padding: 30px 22px 24px; box-shadow: 0 15px 40px rgba(84,49,40,.055);
}
.dashboard-stats article, .invite-card, .form-card { box-shadow: 0 12px 32px rgba(77,47,40,.055); }
.builder { width: min(100%, 1180px); max-width: 100vw; margin-inline: auto; padding-inline: clamp(16px, 3vw, 36px); }
.builder-layout {
  width: 100%; max-width: 100%; direction: ltr;
  grid-template-columns: 320px minmax(0, 1fr);
  grid-template-areas: "preview form";
  gap: clamp(26px, 4vw, 52px);
}
.builder-form { grid-area: form; direction: rtl; }
.live-preview { grid-area: preview; direction: rtl; }
.builder-layout > * { min-width: 0; }
.builder-form, .live-preview, .form-card, .form-fields { min-width: 0; max-width: 100%; }
.builder-form input, .builder-form textarea { min-width: 0; }
.form-head h1, .form-head p, .form-fields h2 { overflow-wrap: anywhere; }
.guest-view { isolation: isolate; }
.guest-view::before, .guest-view::after {
  content: ""; position: fixed; z-index: -1; border-radius: 50%; filter: blur(4px); pointer-events: none;
}
.guest-view::before { width: 320px; height: 320px; right: -110px; top: -100px; background: color-mix(in srgb, var(--guest-accent) 16%, transparent); }
.guest-view::after { width: 270px; height: 270px; left: -100px; bottom: -90px; background: color-mix(in srgb, var(--guest-accent) 12%, transparent); }
.guest-steps { border-color: rgba(255,255,255,.96); box-shadow: 0 28px 75px rgba(93,53,44,.14), inset 0 0 0 1px rgba(255,255,255,.45); }

/* A roomy, deterministic arena keeps the playful “no” button smooth. */
.yes-no-zone { height: 152px; max-width: 480px; display: block; direction: ltr; position: relative; margin: 0 auto; }
.yes-no-zone .yes-button {
  position: absolute; top: 10px; right: 28px; width: 220px; z-index: 2;
  transition: transform .2s, box-shadow .2s, background .2s;
}
.yes-no-zone .yes-button:hover { transform: translateY(-2px); box-shadow: 0 13px 28px color-mix(in srgb, var(--guest-accent) 30%, transparent); }
.yes-no-zone .no-button {
  position: absolute; top: 10px; left: 52px; right: auto; min-width: 104px; height: 51px;
  z-index: 3; margin: 0; touch-action: none; user-select: none; will-change: left, top, transform;
  transition: left .16s cubic-bezier(.2,.9,.2,1), top .16s cubic-bezier(.2,.9,.2,1), transform .16s;
}
.playful-note { margin-top: -12px; }
.guest-option { min-height: 58px; box-shadow: 0 7px 18px rgba(78,48,40,.045); }
.calendar-field { position: relative; text-align: right; }
.field-label { display: block; color: #574d49; font-size: 13px; font-weight: 700; margin-bottom: 7px; }
.date-picker-toggle {
  width: 100%; min-height: 49px; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; border: 1px solid #ded2cb; border-radius: 11px; background: #fff; color: var(--ink);
  padding: 11px 14px; text-align: right; font-weight: 700;
}
.date-picker-toggle b { color: var(--guest-accent); font-size: 21px; line-height: 1; }
.date-picker-toggle[aria-expanded="true"] { border-color: var(--guest-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--guest-accent) 12%, transparent); }
.persian-calendar {
  position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: min(330px, 88vw);
  background: #fff; border: 1px solid var(--guest-soft); border-radius: 18px; padding: 13px;
  box-shadow: 0 20px 55px rgba(53,38,35,.2); direction: rtl;
}
.calendar-head { display: grid; grid-template-columns: 38px 1fr 38px; align-items: center; gap: 6px; margin-bottom: 9px; }
.calendar-head strong { text-align: center; font-size: 14px; }
.calendar-head button {
  width: 36px; height: 36px; border: 0; border-radius: 10px; background: color-mix(in srgb, var(--guest-accent) 9%, #fff);
  color: var(--guest-accent); font-size: 25px; line-height: 1;
}
.calendar-head button:disabled { opacity: .3; cursor: default; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.calendar-weekdays { margin-bottom: 5px; color: var(--muted); font-size: 10px; text-align: center; }
.calendar-day {
  aspect-ratio: 1; min-width: 0; border: 0; border-radius: 9px; background: transparent; color: var(--ink);
  display: grid; place-items: center; padding: 0; font-size: 12px; font-weight: 700;
}
.calendar-day:not(.unavailable):not(.empty):hover { background: color-mix(in srgb, var(--guest-accent) 10%, #fff); color: var(--guest-accent); }
.calendar-day.today { box-shadow: inset 0 0 0 1px var(--guest-accent); color: var(--guest-accent); }
.calendar-day.selected { background: var(--guest-accent)!important; color: #fff!important; box-shadow: none; }
.calendar-day.unavailable { color: #c8bfbb; cursor: default; }
.calendar-day.empty { display: block; }
.persian-date-note { display: block; color: var(--muted); margin: -8px auto 22px; font-size: 11px; }
.guest-option:focus-visible, .yes-button:focus-visible, .button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--guest-accent, var(--coral)) 32%, transparent); outline-offset: 3px;
}

@media (max-width: 900px) {
  .site-header { padding-inline: 24px; }
  .hero { min-height: auto; }
  .steps article { padding: 27px 20px; }
  .builder { width: 100%; max-width: 100%; margin: 0; }
  .builder-layout { display: block; width: 100%; max-width: 100%; direction: rtl; }
  .builder-form { display: block; width: 100%; max-width: 100%; }
}
@media (max-width: 1120px) {
  .builder { max-width: 760px; }
  .builder-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "form" "preview"; }
  .live-preview { position: static; margin-top: 22px; }
  .preview-label { max-width: 420px; margin-inline: auto; }
}
@media (max-width: 650px) {
  .site-header { height: 62px; padding-inline: 12px; margin: 0; }
  .site-header .brand { min-width: 0; max-width: calc(100vw - 76px); overflow: hidden; }
  .site-header .brand-wordmark { min-width: 0; }
  #userNav { min-width: 0; gap: 10px; }
  .user-greeting { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .hero { width: 100%; min-width: 0; max-width: 100%; padding: 50px 18px 64px; overflow: hidden; }
  .hero-copy { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
  .hero-copy .eyebrow { display: flex; width: 100%; min-width: 0; justify-content: center; white-space: normal; overflow-wrap: anywhere; }
  .hero h1 { max-width: 100%; margin-inline: auto; font-size: clamp(31px, 9vw, 38px); line-height: 1.42; letter-spacing: -1.4px; overflow-wrap: anywhere; }
  .hero h1[data-content="hero-title"] { padding-inline: 8px; }
  .hero-copy > p { max-width: 100%; overflow-wrap: anywhere; }
  .hero-actions, .trust-row { max-width: 100%; }
  .hero-art { width: 100%; min-width: 0; max-width: 100%; transform: none; overflow: hidden; }
  .hero-art .invite-preview { width: min(300px, calc(100vw - 54px)); max-width: 100%; }
  .hero-art .orbit-one { width: min(340px, 90vw); }
  .hero-art .orbit-two { width: min(290px, 78vw); }
  .guest-shell { width: calc(100% - 14px); max-width: 430px; padding-top: 54px; }
  .progress { margin: 4px 6px 12px; flex-wrap: wrap; }
  .guest-steps { padding: 22px 12px; min-height: calc(100dvh - 88px); border-radius: 23px; }
  .yes-no-zone { height: 155px; width: 100%; max-width: 350px; }
  .yes-no-zone .yes-button { width: min(205px, 64%); right: 4px; top: 8px; padding-inline: 10px; }
  .yes-no-zone .no-button { left: 4px; top: 8px; min-width: 92px; }
  .playful-note { margin-top: -10px; }
  .dashboard-stats { gap: 9px; }
  .dashboard-stats article { border-radius: 15px; }
  .invite-card { padding: 18px; }
  .invite-main p { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .form-card { border-radius: 17px; }
  .builder { padding: 20px 10px 70px; }
  .back-button { margin: 0 4px 16px; }
  .form-head { padding-inline: 4px; }
  .form-head h1 { font-size: 27px; line-height: 1.45; }
  .form-card { display: block; padding: 15px 12px; margin-block: 12px; }
  .form-step { margin-bottom: 12px; }
  .builder-form input, .builder-form textarea, .date-fields input { font-size: 16px; }
  .guest-step h1 { font-size: clamp(25px, 7.5vw, 29px); line-height: 1.4; letter-spacing: -.7px; }
  .guest-step > p { line-height: 1.8; }
  .big-question { margin-top: 20px; }
  .guest-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 20px auto; }
  .guest-option { min-height: 52px; padding: 11px 7px; font-size: 13px; }
  .transport-options { grid-template-columns: 1fr; }
  .privacy-consent { line-height: 1.8; }
  .date-fields { gap: 10px; margin: 20px auto 16px; }
  .persian-calendar { position: fixed; top: 50%; right: 50%; width: min(350px, calc(100vw - 24px)); transform: translate(50%, -50%); padding: 14px; }
  .calendar-day { font-size: 13px; border-radius: 10px; }
  .persian-date-note { margin-top: 2px; }
  .next-button { width: 100%; min-width: 0; }
}
@media (max-width: 370px) {
  .hero h1 { font-size: 30px; }
  .guest-steps { padding-inline: 12px; }
  .yes-no-zone .yes-button { font-size: 12px; }
  .yes-no-zone .no-button { font-size: 12px; min-width: 82px; }
  .choice-grid { grid-template-columns: 1fr; }
  .guest-options:not(.transport-options) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guest-option { font-size: 12px; }
}

/* Theme, music and follow-up date additions */
.theme-picker { flex-wrap: wrap; row-gap: 10px; }
.theme-picker label { width: 54px; text-align: center; cursor: pointer; }
.theme-picker small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.theme.kitty { background: radial-gradient(circle at 35% 32%, #fff 0 13%, transparent 14%), linear-gradient(135deg,#ff75b5,#ffd7e9); }
.theme.bat { background: radial-gradient(circle at 50% 45%,#ffd83d 0 18%,transparent 19%),linear-gradient(135deg,#08090d,#333844); }
.theme.spider { background: linear-gradient(45deg,transparent 46%,rgba(255,255,255,.7) 47% 50%,transparent 51%),linear-gradient(135deg,#e82e3b 50%,#1454a3 51%); }

.music-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(138px,1fr)); gap: 8px; }
.music-options label { margin: 0; min-width: 0; }
.music-options input { position: absolute; opacity: 0; pointer-events: none; }
.music-options span {
  display: flex; align-items:center; justify-content:center; gap:7px; min-height: 52px; border: 1px solid var(--line); border-radius: 12px;
  padding: 9px 8px; background: #fff; font-size: 12px; text-align: center; transition: .2s;
}
.music-options input:checked + span { border-color: var(--coral); background: #fff3ef; color: var(--coral-dark); box-shadow: inset 0 0 0 1px var(--coral); }
.music-upload { margin-top: 13px; padding: 12px; border: 1px dashed #dfcfc7; border-radius: 13px; background: #fffaf7; }
.music-upload input { margin: 0; font-size: 12px; }
.music-upload small { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; }

.phone[data-theme="kitty"] .phone-content { background: radial-gradient(circle at 16% 12%,#fff 0 2px,transparent 3px),linear-gradient(150deg,#fff7fb,#ffd5e8); }
.phone[data-theme="kitty"] .tiny-heart,.phone[data-theme="kitty"] small b { color: #e84091; }
.phone[data-theme="kitty"] .tiny-heart::after { content: "  🎀"; font-size: 27px; }
.phone[data-theme="kitty"] button { background: #ea4d97; }
.phone[data-theme="bat"] { background: #050609; }
.phone[data-theme="bat"] .phone-top { background: #050609; }
.phone[data-theme="bat"] .phone-content { background: radial-gradient(circle at 50% 17%,rgba(255,216,61,.15),transparent 24%),linear-gradient(155deg,#171a20,#050609); color: #f6f4e9; }
.phone[data-theme="bat"] .tiny-heart { color: #ffd83d; }
.phone[data-theme="bat"] .tiny-heart::before { content: "◆"; }
.phone[data-theme="bat"] .phone-question { color: #f6f4e9; background: #15181e; border-color: #353943; }
.phone[data-theme="bat"] button { color: #111; background: #ffd83d; }
.phone[data-theme="spider"] .phone-content { background: repeating-radial-gradient(circle at 100% 0,transparent 0 24px,rgba(255,255,255,.08) 25px 27px),linear-gradient(145deg,#a91322,#e93643 52%,#104987); color:#fff; }
.phone[data-theme="spider"] .tiny-heart { color: #fff; }
.phone[data-theme="spider"] .phone-question { color:#17233b; }
.phone[data-theme="spider"] button { background:#1259a6; }

.theme-decor { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.theme-decor i { position: absolute; display: none; opacity: .28; animation: themeFloat 8s ease-in-out infinite; }
.theme-decor i:nth-child(1) { top: 8%; left: 7%; animation-delay: -1s; }
.theme-decor i:nth-child(2) { top: 18%; right: 6%; animation-delay: -4s; transform: scale(.8); }
.theme-decor i:nth-child(3) { top: 52%; left: 4%; animation-delay: -6s; transform: scale(1.2); }
.theme-decor i:nth-child(4) { top: 67%; right: 5%; animation-delay: -2s; transform: scale(.7); }
.theme-decor i:nth-child(5) { bottom: 5%; left: 18%; animation-delay: -5s; }
.theme-decor i:nth-child(6) { bottom: 9%; right: 18%; animation-delay: -3s; transform: scale(1.25); }
@keyframes themeFloat { 0%,100% { translate: 0 0; rotate: -5deg; } 50% { translate: 0 -20px; rotate: 7deg; } }

.guest-view[data-theme="kitty"] { background: radial-gradient(circle at 20% 10%,rgba(255,255,255,.9) 0 3px,transparent 4px),linear-gradient(145deg,#fff6fb,#ffcde2); --guest-accent:#e84091; --guest-soft:#f8c9dd; }
.guest-view[data-theme="kitty"] .theme-decor i { display:block; width:46px; height:34px; }
.guest-view[data-theme="kitty"] .theme-decor i::before,.guest-view[data-theme="kitty"] .theme-decor i::after { content:""; position:absolute; top:7px; width:25px; height:20px; border-radius:70% 30% 70% 30%; background:#ee5da3; }
.guest-view[data-theme="kitty"] .theme-decor i::before { left:0; rotate:22deg; }
.guest-view[data-theme="kitty"] .theme-decor i::after { right:0; scale:-1 1; rotate:22deg; }
.guest-view[data-theme="kitty"] .theme-decor i { background:radial-gradient(circle,#fff 0 4px,#d93382 5px 7px,transparent 8px) center/18px 18px no-repeat; }

.guest-view[data-theme="bat"] { background:radial-gradient(circle at 50% -5%,rgba(255,215,55,.2),transparent 28%),linear-gradient(150deg,#16191f,#050608 70%); --guest-accent:#ffd83d; --guest-soft:#424650; color:#f7f4df; }
.guest-view[data-theme="bat"]::before,.guest-view[data-theme="bat"]::after { background:rgba(255,216,61,.1); }
.guest-view[data-theme="bat"] .guest-steps { background:rgba(21,24,29,.88); border-color:#323640; box-shadow:0 32px 90px rgba(0,0,0,.55); }
.guest-view[data-theme="bat"] .guest-step>p,.guest-view[data-theme="bat"] .progress span,.guest-view[data-theme="bat"] .playful-note,.guest-view[data-theme="bat"] .persian-date-note,.guest-view[data-theme="bat"] .guest-name-field small { color:#bbb9b0; }
.guest-view[data-theme="bat"] .big-question,.guest-view[data-theme="bat"] .guest-option,.guest-view[data-theme="bat"] input,.guest-view[data-theme="bat"] textarea,.guest-view[data-theme="bat"] .date-picker-toggle,.guest-view[data-theme="bat"] .success-summary span { background:#171a20; border-color:#393d46; color:#f7f4df; }
.guest-view[data-theme="bat"] .yes-button { color:#121212; }
.guest-view[data-theme="bat"] .no-button { background:#171a20; border-color:#393d46; color:#d8d5ca; }
.guest-view[data-theme="bat"] .persian-calendar { background:#15181d; border-color:#444850; }
.guest-view[data-theme="bat"] .calendar-day { color:#f5f1df; }
.guest-view[data-theme="bat"] .calendar-day.unavailable { color:#62646a; }
.guest-view[data-theme="bat"] .field-label { color:#ddd9cb; }
.guest-view[data-theme="bat"] .theme-decor i { display:block; width:70px; height:32px; background:#ffd83d; clip-path:polygon(0 38%,24% 15%,42% 36%,50% 0,58% 36%,76% 15%,100% 38%,82% 43%,70% 76%,54% 56%,50% 100%,46% 56%,30% 76%,18% 43%); opacity:.16; }

.guest-view[data-theme="spider"] { background:repeating-radial-gradient(circle at 0 0,transparent 0 55px,rgba(255,255,255,.08) 56px 58px),linear-gradient(145deg,#b41525 0 42%,#ed3542 43% 61%,#104b90 100%); --guest-accent:#1559a6; --guest-soft:#efb9bd; color:#17233b; }
.guest-view[data-theme="spider"]::before { background:rgba(255,255,255,.12); }
.guest-view[data-theme="spider"]::after { background:rgba(6,45,95,.2); }
.guest-view[data-theme="spider"] .guest-steps { background:rgba(255,255,255,.9); }
.guest-view[data-theme="spider"] .theme-decor i { display:block; width:76px; height:76px; border-radius:50%; opacity:.19; background:repeating-radial-gradient(circle,transparent 0 11px,#fff 12px 13px),conic-gradient(from 0deg,transparent 0 10deg,#fff 11deg 13deg,transparent 14deg 55deg,#fff 56deg 58deg,transparent 59deg); }

.music-control {
  position:fixed; z-index:12; left:18px; top:18px; width:45px; height:45px; border:1px solid color-mix(in srgb,var(--guest-accent) 28%,#fff);
  border-radius:50%; background:rgba(255,255,255,.9); color:var(--guest-accent); font-size:20px; box-shadow:0 10px 28px rgba(30,20,18,.15); backdrop-filter:blur(10px);
}
.music-control.playing { animation:musicPulse 1.5s ease-in-out infinite; }
.music-control.playing::after { content:""; position:absolute; inset:-5px; border:1px solid var(--guest-accent); border-radius:50%; opacity:.35; }
@keyframes musicPulse { 50% { transform:scale(1.07) rotate(5deg); } }
.guest-view[data-theme="bat"] .music-control { background:#171a20; color:#ffd83d; border-color:#4b4b35; }

.next-date-status:not(:empty),.next-date-result { display:flex; align-items:center; justify-content:center; gap:8px; background:color-mix(in srgb,var(--guest-accent) 9%,#fff); border:1px solid var(--guest-soft); border-radius:12px; padding:10px 13px; }
.next-date-button { border:1px solid var(--guest-accent); border-radius:13px; padding:12px 18px; background:transparent; color:var(--guest-accent); font-weight:800; }
.next-date-result { justify-content:flex-start; margin:10px 0; font-size:12px; }
.next-date-result b { color:var(--coral-dark); }

@media (max-width:650px) {
  .theme-picker { gap:8px; }
  .music-options { grid-template-columns:1fr 1fr; }
  .music-options span { min-height:44px; }
  .music-control { top:10px; left:10px; width:40px; height:40px; }
  .guest-view[data-theme="kitty"] .theme-decor i,.guest-view[data-theme="bat"] .theme-decor i,.guest-view[data-theme="spider"] .theme-decor i { transform:scale(.7); }
  .success-step .next-date-button { width:100%; }
}

/* V10: emoji tools, moderation entry points and subscription shortcuts. */
.plan-link,.dashboard-link { text-decoration:none; }
.plan-link span { display:inline-grid;place-items:center;min-width:38px;padding:3px 7px;border-radius:999px;background:#fff1cf;color:#8a6200;font-size:9px;font-weight:900;letter-spacing:.5px; }
.emoji-tools { margin-top:10px; }
.emoji-toggle { border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:11px;padding:9px 12px;font:700 12px Vazirmatn;cursor:pointer; }
.emoji-picker { margin-top:9px;padding:9px;display:flex;flex-wrap:wrap;gap:5px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 12px 30px rgba(42,28,25,.08); }
.emoji-picker button { width:34px;height:34px;border:0;border-radius:9px;background:#fff7f2;font-size:19px;cursor:pointer;transition:.15s; }
.emoji-picker button:hover { transform:translateY(-2px);background:#ffe9df; }
.emoji-tools>small { display:block;margin-top:6px;color:var(--muted); }
.report-invite { position:fixed;left:18px;top:18px;z-index:12;border:1px solid var(--guest-soft);border-radius:12px;padding:8px 11px;background:color-mix(in srgb,var(--guest-accent) 8%,#fff);color:var(--guest-accent);font:700 10px Vazirmatn;opacity:.72; }
.report-invite:hover { opacity:1; }
.report-trap { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.modal select { width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:12px;font:inherit; }
.auth-marketing { margin-bottom:14px; }
html[data-color-mode="dark"] .emoji-picker button { background:#272c34; }
html[data-color-mode="dark"] .plan-link span { background:#453a20;color:#ffe099; }
@media(max-width:650px){.report-invite{top:auto;bottom:14px;left:10px}.dashboard-link{display:flex!important;align-items:center;justify-content:center}.dashboard-head-actions{display:grid!important;grid-template-columns:1fr 1fr}.dashboard-head-actions .button{grid-column:1/-1}.emoji-picker button{width:32px;height:32px}.plan-link{font-size:0}.plan-link span{font-size:9px}.memory-return{bottom:58px}}

/* V16: account entry and subscription access stay visible on phones. */
.mobile-subscription-button{border-color:#dccbff!important;background:#f6f0ff!important;color:#633aa8!important;font-weight:900!important}.account-link{text-decoration:none}
@media(max-width:650px){.site-header #publicNav .mobile-pricing-link{display:inline-flex!important;padding:9px 10px;border:1px solid #eadbd3;border-radius:11px;font-size:11px;font-weight:900;text-decoration:none;color:var(--ink)}.site-header #userNav .plan-link,.site-header #userNav .account-link{display:inline-flex!important;align-items:center;justify-content:center}.site-header #userNav .account-link{font-size:0;width:36px;height:36px;border:1px solid #eadbd3;border-radius:11px}.site-header #userNav .account-link:first-letter{font-size:16px}.site-header #userNav .user-greeting{display:none}.mobile-subscription-button{grid-column:1/-1!important;min-height:47px}}
@media (prefers-reduced-motion:reduce) {
  .theme-decor i,.music-control.playing { animation:none!important; }
}

.google-signin-area { margin: 18px 0 12px; }
#googleSignInButton { min-height: 44px; display: flex; justify-content: center; overflow: hidden; }
.auth-divider { display: flex; align-items: center; gap: 10px; margin: 13px 0 0; color: #9a8e88; font-size: 11px; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--line); }
.auth-divider span { white-space: nowrap; }
@media (max-width:460px) { #googleSignInButton { transform-origin:center; } }

.legal-page { width:min(820px,calc(100% - 28px)); margin:45px auto 90px; }
.legal-page>h1 { font-size:clamp(34px,6vw,52px); margin:10px 0 4px; }
.legal-updated { color:var(--muted); margin-bottom:28px; }
.legal-page section { background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px 24px; margin:13px 0; box-shadow:0 10px 30px rgba(77,47,40,.045); }
.legal-page h2 { margin:0 0 8px; font-size:19px; }
.legal-page section p { color:var(--muted); line-height:2; margin:0; font-size:14px; }
footer a { color:var(--muted); text-decoration:none; }

/* Dates, memories and watch-party entry points */
.dashboard-head-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.memories-page { max-width:920px; }
.memories-head h1 { font-size:clamp(34px,6vw,48px); margin:10px 0 5px; }
.memories-head p { color:var(--muted); }
.suggestion-card { display:flex; gap:18px; align-items:center; margin:28px 0; padding:22px 25px; border-radius:21px; color:#fff; background:linear-gradient(135deg,#302a61,#6b55c9); box-shadow:0 18px 45px rgba(74,54,151,.2); }
.suggestion-card>span { display:grid; place-items:center; flex:0 0 58px; width:58px; height:58px; border-radius:18px; background:rgba(255,255,255,.15); font-size:29px; }
.suggestion-card small { color:#dcd7ff; }.suggestion-card h2 { margin:3px 0;font-size:20px }.suggestion-card p { margin:0;color:#e9e6ff;font-size:12px }
.timeline-list { position:relative; padding-right:28px; }
.timeline-list::before { content:""; position:absolute; right:8px; top:15px; bottom:15px; width:2px; background:linear-gradient(var(--coral),#dccfc8); }
.timeline-card { position:relative; margin:16px 0; }
.timeline-dot { position:absolute; right:-27px; top:26px; width:15px; height:15px; border-radius:50%; background:#fff; border:4px solid var(--coral); z-index:2; }
.timeline-card.upcoming .timeline-dot { animation:timelinePulse 1.6s ease-in-out infinite; }
@keyframes timelinePulse{50%{box-shadow:0 0 0 8px rgba(243,111,98,.13)}}
.timeline-card-body { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:22px; padding:22px; box-shadow:0 12px 35px rgba(77,47,40,.055); }
.timeline-card-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.timeline-card-head small { color:var(--muted);font-size:11px }.timeline-card-head h2 { margin:5px 0;font-size:20px }
.mood-badge { background:#fff0eb;color:var(--coral-dark);border-radius:20px;padding:6px 10px;font-size:11px;font-weight:800 }
.timeline-countdown,.guest-countdown { direction:rtl; margin:15px 0 4px; padding:13px 15px; border-radius:13px; background:#fff1ed; color:var(--coral-dark); font-weight:900; text-align:center; }
.memory-photo { width:calc(100% + 44px); max-height:390px; object-fit:cover; display:block; margin:-22px -22px 20px; }
.memory-rating { color:#e3a81c;font-size:20px;letter-spacing:3px }.memory-note { color:var(--muted);line-height:1.9 }.memory-empty { color:#9b8e88;font-size:12px }
.response-memory { display:flex;gap:12px;align-items:center;background:#fff9f5;border-radius:12px;padding:10px;margin:10px 0 }.response-memory img{width:72px;height:72px;object-fit:cover;border-radius:10px}.response-memory b{color:#b27b00}.response-memory p{margin:4px 0 0}
.success-actions { display:flex;justify-content:center;flex-wrap:wrap;gap:9px }.guest-countdown:empty{display:none}
.platform-features{padding:100px 30px;max-width:1240px;margin:auto}.platform-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:42px}.platform-feature-grid>a{display:flex;gap:16px;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;transition:.2s}.platform-feature-grid>a:hover{translate:0 -4px;box-shadow:var(--shadow)}.platform-feature-grid svg{width:32px;height:32px;fill:none;stroke:var(--coral);stroke-width:1.7;flex:none}.platform-feature-grid h3{margin:0 0 8px}.platform-feature-grid p{margin:0;color:var(--muted);line-height:1.9;font-size:13px}.platform-feature-grid span{display:block;color:var(--coral-dark);font-weight:800;font-size:12px;margin-top:13px}.guest-claim-card{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;text-align:right;border:1px solid var(--guest-soft);background:color-mix(in srgb,var(--guest-accent) 8%,#fff);border-radius:18px;padding:15px;margin:20px 0}.guest-claim-card svg{width:30px;height:30px;fill:none;stroke:var(--guest-accent);stroke-width:1.8}.guest-claim-card b{display:block}.guest-claim-card p{margin:4px 0!important;font-size:11px!important;line-height:1.7!important}.guest-claim-card.claimed{border-color:#75c99d;background:#eefaf3}.guest-activities{margin:28px 0}.dashboard-section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:13px}.dashboard-section-head span{color:var(--coral);font-size:12px;font-weight:800}.dashboard-section-head h2{margin:4px 0}.dashboard-section-head a{color:var(--coral);text-decoration:none;font-weight:800}.guest-activity-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:17px;margin-bottom:10px;display:grid;grid-template-columns:1fr auto;gap:12px}.guest-activity-card h3{margin:0}.guest-activity-card p{margin:6px 0;color:var(--muted)}.guest-activity-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.guest-activity-actions a,.guest-activity-actions button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:10px;padding:8px;text-decoration:none;font-weight:700}.theme.cinema{background:linear-gradient(145deg,#63131e,#e9bf76)}.theme.galaxy{background:radial-gradient(circle,#38d1ee 0 4%,transparent 5%),linear-gradient(145deg,#21165f,#081c3e)}.theme.noir{background:linear-gradient(145deg,#050608,#ddd3bf)}.theme.arcade{background:linear-gradient(145deg,#32115a,#ff43cc,#23dff0)}.theme.ocean{background:linear-gradient(145deg,#075b79,#66d7d1)}.theme.forest{background:linear-gradient(145deg,#176343,#cce879)}.theme.oriental{background:linear-gradient(145deg,#632431,#e7b34e)}.theme.romcom{background:linear-gradient(145deg,#e85778,#ffcf9d)}.theme.space{background:linear-gradient(145deg,#071327,#6b76ff)}.theme.fairytale{background:linear-gradient(145deg,#7b4ab3,#ffd1ee)}
.guest-view[data-theme="cinema"]{background:radial-gradient(circle at 15% 15%,#e9bf7640,transparent 25%),linear-gradient(145deg,#2d0b12,#0c0c10);--guest-accent:#d9a84c;--guest-soft:#6b4f2c;color:#fff}.guest-view[data-theme="galaxy"]{background:radial-gradient(circle at 20% 20%,#46dfff66 0 2px,transparent 3px),linear-gradient(145deg,#21165f,#071328);--guest-accent:#43c7e8;--guest-soft:#48539a;color:#fff}.guest-view[data-theme="noir"]{background:linear-gradient(135deg,#050608,#202329);--guest-accent:#d8cfbd;--guest-soft:#484b50;color:#f5f1e6}.guest-view[data-theme="arcade"]{background:linear-gradient(145deg,#231044,#071624);--guest-accent:#ff43cc;--guest-soft:#5b3479;color:#fff}.guest-view[data-theme="ocean"]{background:linear-gradient(145deg,#063e59,#45bdb8);--guest-accent:#b7fff7;--guest-soft:#3d8c92;color:#fff}.guest-view[data-theme="forest"]{background:linear-gradient(145deg,#123d2c,#94bf63);--guest-accent:#e3ff9e;--guest-soft:#648755;color:#fff}.guest-view[data-theme="oriental"]{background:linear-gradient(145deg,#4f1624,#1b1017);--guest-accent:#e7b34e;--guest-soft:#79553b;color:#fff}.guest-view[data-theme="romcom"]{background:linear-gradient(145deg,#ffd7cb,#f091a8);--guest-accent:#d94469;--guest-soft:#edb0bc}.guest-view[data-theme="space"]{background:radial-gradient(circle at 75% 20%,#fff 0 2px,transparent 3px),linear-gradient(145deg,#071327,#272566);--guest-accent:#8794ff;--guest-soft:#3d477f;color:#fff}.guest-view[data-theme="fairytale"]{background:linear-gradient(145deg,#ead2ff,#ffcde1);--guest-accent:#7b4ab3;--guest-soft:#cfaada}
html[data-color-mode="dark"] .platform-feature-grid>a,html[data-color-mode="dark"] .guest-activity-card{background:var(--paper);border-color:var(--line)}
@media(max-width:900px){.platform-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.platform-features{padding:70px 18px}.platform-feature-grid{grid-template-columns:1fr}.guest-claim-card{grid-template-columns:auto 1fr}.guest-claim-card .button{grid-column:1/-1;width:100%}.guest-activity-card{grid-template-columns:1fr}.dashboard-section-head{align-items:flex-start;flex-direction:column}}
.theme-picker label.theme-locked{opacity:.55;filter:saturate(.5);cursor:not-allowed}.theme-picker label.theme-locked>i{position:absolute;inset:auto 2px 1px;background:#181b22;color:#fff;border-radius:8px;padding:2px 4px;font-size:8px;font-style:normal}.theme-picker label{position:relative}
.memory-return { position:fixed;left:18px;bottom:18px;z-index:12;border:0;border-radius:14px;padding:11px 15px;background:var(--guest-accent);color:#fff;font-weight:800;box-shadow:0 12px 30px rgba(44,28,25,.18) }
.mood-picker { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:480px;margin:22px auto 14px }
.mood-picker button { min-width:0;border:1px solid var(--guest-soft);background:#fff;border-radius:12px;padding:10px 5px;color:var(--ink);font-size:11px;font-weight:700 }
.mood-picker button.selected { background:var(--guest-accent);color:#fff;border-color:var(--guest-accent) }
.rating-picker { display:flex;direction:ltr;justify-content:center;gap:5px;margin:13px 0 }
.rating-picker button { border:0;background:transparent;color:#d8cdc7;font-size:31px;padding:2px }
.rating-picker button.selected { color:#efb62b;transform:translateY(-2px) }
.guest-view[data-theme="bat"] .mood-picker button { background:#171a20;color:#f7f4df;border-color:#393d46 }.guest-view[data-theme="bat"] .mood-picker button.selected{background:#ffd83d;color:#111}
.watch-room-result { margin-top:15px;padding:14px;border:1px solid #d9e9df;background:#f5fff9;border-radius:14px }.watch-room-result b{display:block;margin-bottom:8px}.watch-room-result input{direction:ltr;text-align:left;margin:7px 0}.watch-room-result button{width:100%}

@media(max-width:700px){
  .dashboard-head{align-items:flex-start;gap:18px;flex-direction:column}.dashboard-head-actions{width:100%;justify-content:stretch}.dashboard-head-actions>*{flex:1;white-space:nowrap;padding-inline:9px}
  .timeline-list{padding-right:20px}.timeline-card-body{padding:17px}.timeline-dot{right:-20px}.memory-photo{width:calc(100% + 34px);margin:-17px -17px 17px}.timeline-card-head h2{font-size:17px}
  .suggestion-card{padding:18px}.suggestion-card>span{flex-basis:48px;width:48px;height:48px}.mood-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-return{left:10px;bottom:10px;font-size:11px}
}

/* V9: layout guards for narrow Safari viewports and intrinsically wide controls. */
.guest-view,
.guest-shell,
.guest-steps,
.guest-step,
.date-fields,
.date-fields > *,
.calendar-field,
.date-picker-toggle,
.date-picker-toggle > span {
  min-width: 0;
  max-width: 100%;
}
.guest-view { width: 100%; max-width: 100vw; }
.guest-shell { box-sizing: border-box; }
.guest-steps { width: 100%; }
.guest-step { overflow-wrap: anywhere; }
.date-fields { width: 100%; }
.date-fields label { min-width: 0; }
.date-fields input[type="time"] {
  appearance: none;
  -webkit-appearance: none;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.date-picker-toggle > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.theme-toggle {
  display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink);
  font-size: 18px; line-height: 1; box-shadow: 0 5px 16px rgba(50,35,30,.06);
}
.toggle-row { display:flex; gap:12px; align-items:flex-start; padding:13px; border:1px solid var(--line); border-radius:13px; background:var(--paper); }
.toggle-row input { flex:0 0 auto; width:20px; height:20px; margin:1px 0 0; accent-color:var(--coral); }
.toggle-row span { min-width:0; }.toggle-row b,.toggle-row small { display:block; }.toggle-row small { margin-top:4px; color:var(--muted); font-weight:400; line-height:1.7; }
.date-approval-status:not(:empty) { margin:14px auto; max-width:470px; border:1px solid var(--guest-soft); border-radius:13px; padding:11px 13px; line-height:1.8; background:color-mix(in srgb,var(--guest-accent) 8%,#fff); }
.date-approval-status[data-status="pending_creator"] { color:#9a6d00; }
.date-approval-status[data-status="confirmed"] { color:#287451; }
.date-approval-status[data-status="change_requested"] { color:#b33d35; }
.date-decision { margin:12px 0; padding:13px; border:1px solid var(--line); border-radius:13px; background:#fffaf7; }
.date-decision p { margin:0 0 10px; }
.date-decision-actions { display:flex; flex-wrap:wrap; gap:8px; }
.date-decision-actions button { border:0; border-radius:10px; padding:9px 12px; font-size:12px; font-weight:800; }
.date-decision-actions [data-date-action="confirm"] { background:#dff3e9; color:#287451; }
.date-decision-actions [data-date-action="request_change"] { background:#fff0ec; color:#a83b34; }
.date-status-badge { display:inline-block; margin:5px 0 10px; border-radius:20px; padding:5px 10px; background:#f2eeeb; color:var(--muted); font-size:11px; font-weight:800; }

/* Dark mode covers the site chrome; invitation themes keep their own art direction. */
html[data-color-mode="dark"] {
  color-scheme: dark;
  --ink:#f4eee9; --muted:#bcb1aa; --cream:#101216; --paper:#191c22; --line:#343840;
  --coral:#f07b70; --coral-dark:#ff948a; --action-coral:#d65c52;
}
html[data-color-mode="dark"] body { background:radial-gradient(circle at 84% 2%,rgba(214,92,82,.13),transparent 25%),#101216; color:var(--ink); }
html[data-color-mode="dark"] .site-header { background:rgba(16,18,22,.82); border-color:#2a2e35; }
html[data-color-mode="dark"] .brand,
html[data-color-mode="dark"] nav a,
html[data-color-mode="dark"] .text-button,
html[data-color-mode="dark"] .watch-demo,
html[data-color-mode="dark"] label { color:var(--ink); }
html[data-color-mode="dark"] .how-section,
html[data-color-mode="dark"] .steps article,
html[data-color-mode="dark"] .dashboard-stats article,
html[data-color-mode="dark"] .invite-card,
html[data-color-mode="dark"] .form-card,
html[data-color-mode="dark"] .empty-state,
html[data-color-mode="dark"] .modal,
html[data-color-mode="dark"] .legal-page section,
html[data-color-mode="dark"] .timeline-card-body { background:#181b20; border-color:var(--line); }
html[data-color-mode="dark"] input,
html[data-color-mode="dark"] textarea,
html[data-color-mode="dark"] .outline-button,
html[data-color-mode="dark"] .choice-grid span,
html[data-color-mode="dark"] .music-options span,
html[data-color-mode="dark"] .toggle-row,
html[data-color-mode="dark"] .theme-toggle { background:#20242b; border-color:#3a3f48; color:var(--ink); }
html[data-color-mode="dark"] .radio-stack label > span { border-color:#3a3f48; background:#20242b; }
html[data-color-mode="dark"] .choice-grid input:checked + span,
html[data-color-mode="dark"] .music-options input:checked + span,
html[data-color-mode="dark"] .radio-stack input:checked + span { background:#302321; }
html[data-color-mode="dark"] .auth-tabs,
html[data-color-mode="dark"] .modal-close,
html[data-color-mode="dark"] .response-details span { background:#252930; color:var(--ink); }
html[data-color-mode="dark"] .auth-tabs button.active { background:#343942; color:#fff; }
html[data-color-mode="dark"] .date-decision { background:#20242b; }
html[data-color-mode="dark"] .timeline-dot { background:#181b20; }
html[data-color-mode="dark"] footer { border-color:var(--line); }
html[data-color-mode="dark"] .guest-view:not([data-theme="bat"]) input,
html[data-color-mode="dark"] .guest-view:not([data-theme="bat"]) textarea,
html[data-color-mode="dark"] .guest-view:not([data-theme="bat"]) .guest-option,
html[data-color-mode="dark"] .guest-view:not([data-theme="bat"]) .date-picker-toggle { background:#fff; border-color:#ded2cb; color:#28201f; }
html[data-color-mode="dark"] .guest-view:not([data-theme="bat"]) label,
html[data-color-mode="dark"] .guest-view:not([data-theme="bat"]) .field-label { color:#574d49; }

@media (max-width:650px) {
  .guest-shell { width:100%; padding-inline:7px; }
  .guest-steps { overflow:visible; }
  .date-fields { grid-template-columns:minmax(0,1fr); }
  .date-fields input[type="time"] { inline-size:100%; }
  .theme-toggle { width:34px; height:34px; flex-basis:34px; }
}

/* V11: readable dark forms and separated guest controls. */
.report-invite { left:78px; top:18px; bottom:auto; background:rgba(255,255,255,.94); color:color-mix(in srgb,var(--guest-accent) 82%,#271f1d); opacity:.92; box-shadow:0 10px 28px rgba(30,20,18,.12); backdrop-filter:blur(10px); }
.guest-view[data-theme="bat"] .report-invite { background:#171a20; color:#ffd83d; border-color:#4b4b35; }
.phone:not([data-theme="bat"]):not([data-theme="spider"]) .phone-content { color:#28201f; }
.phone:not([data-theme="bat"]):not([data-theme="spider"]) .phone-content small,
.phone:not([data-theme="bat"]):not([data-theme="spider"]) .phone-content p { color:#756a65; }
html[data-color-mode="dark"] input::placeholder,html[data-color-mode="dark"] textarea::placeholder { color:#aeb4bd; opacity:1; }
html[data-color-mode="dark"] .form-head p,html[data-color-mode="dark"] .hint,html[data-color-mode="dark"] .emoji-tools>small { color:#c6bbb5; }
html[data-color-mode="dark"] .radio-stack small,html[data-color-mode="dark"] .toggle-row small { color:#b9b0aa; }
html[data-color-mode="dark"] .phone:not([data-theme="bat"]):not([data-theme="spider"]) .phone-question { color:#28201f; }
.guest-view[data-theme="bat"] input::placeholder,.guest-view[data-theme="bat"] textarea::placeholder { color:#989b9f; opacity:1; }
@media(max-width:650px){.report-invite{left:58px;top:10px;bottom:auto}}

/* V12: keep invitation copy readable in site dark mode and reserve real space below the playful buttons. */
.guest-view:not([data-theme="bat"]) {
  --ink: #28201f;
  --muted: #756a65;
  color: #28201f;
}
.guest-view:not([data-theme="bat"]) .guest-step h1,
.guest-view:not([data-theme="bat"]) .big-question,
.guest-view:not([data-theme="bat"]) .guest-option,
.guest-view:not([data-theme="bat"]) .success-summary span {
  color: #28201f;
}
.guest-view:not([data-theme="bat"]) .guest-step > p,
.guest-view:not([data-theme="bat"]) .progress span,
.guest-view:not([data-theme="bat"]) .playful-note,
.guest-view:not([data-theme="bat"]) .persian-date-note,
.guest-view:not([data-theme="bat"]) .guest-name-field small {
  color: #756a65;
}
.playful-note {
  position: relative;
  z-index: 4;
  display: block;
  margin: 24px auto 0;
  padding-inline: 8px;
  line-height: 1.9;
  clear: both;
}
.yes-no-zone { margin-bottom: 0; }
.yes-no-zone .yes-button,
.yes-no-zone .no-button { line-height: 1.55; }
@media(max-width:650px){
  .playful-note { margin-top: 18px; }
}

/* V26: strict mobile landing bounds; long editable Persian copy must never create an RTL side-scroll. */
@media(max-width:650px){
  #landingView,.hero,.hero-copy,.hero-copy>*{min-width:0;max-width:100%}
  #landingView{width:100%;overflow:hidden}
  .hero-copy{padding-inline:0;text-align:center}
  .hero-copy .eyebrow{display:flex;width:100%;white-space:normal;justify-content:center;overflow-wrap:anywhere}
  .hero-copy h1{width:calc(100vw - 44px);max-width:calc(100vw - 44px);margin-inline:auto;padding-inline:8px;font-size:clamp(29px,8.2vw,35px);line-height:1.45;letter-spacing:-.8px;overflow-wrap:anywhere;word-break:normal}
  .hero-copy>p{width:calc(100vw - 44px);max-width:calc(100vw - 44px);margin-inline:auto;padding-inline:3px;overflow-wrap:anywhere}
}
.invite-preview,.invite-preview *{opacity:1!important}.invite-preview{background:#fffaf7!important;color:#292321!important;isolation:isolate}.invite-preview .preview-body,.invite-preview .preview-body *{filter:none!important}.invite-preview .preview-body h2{color:#292321!important;text-shadow:none!important;font-weight:900!important}.invite-preview .preview-body>p,.invite-preview .preview-top,.invite-preview .preview-footer{color:#655a56!important}.invite-preview .mini-label{color:#a6332d!important;background:#fff0eb!important}.invite-preview .preview-question{color:#302724!important;background:#fff!important;border-color:#ddcec7!important}.invite-preview .preview-buttons button:first-child{color:#fff!important;background:#e45e53!important}.invite-preview .preview-buttons button:last-child{color:#4d433f!important;background:#f4efec!important;border-color:#d8ccc6!important}.invite-preview .preview-body::before,.invite-preview .preview-body::after{opacity:.08!important}

/* V13: account recovery, remembered login and public social links. */
.remember-login { margin-block: 10px; }
.auth-help-link {
  display: block; width: 100%; margin: 3px 0 13px; padding: 5px; border: 0; background: transparent;
  color: var(--coral-dark); text-align: center; font-weight: 800; font-size: 12px;
}
.auth-help-link:hover { text-decoration: underline; }
.reset-request-status { line-height: 1.9; }
.reset-request-status.success { color: #287451; }
html[data-color-mode="dark"] .auth-help-link { color: #ff9b92; }
html[data-color-mode="dark"] .reset-request-status.success { color: #75d7aa; }
.password-reset-page { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 35px 15px 75px; }
.account-card { width: min(480px,100%); background: #fff; border: 1px solid var(--line); border-radius: 26px; padding: 30px; box-shadow: 0 26px 75px rgba(72,42,35,.11); }
.account-card > .brand-mark { margin-bottom: 18px; }
.account-card h1 { font-size: clamp(29px,6vw,40px); margin: 8px 0; }
.account-card > p,.reset-success p { color: var(--muted); line-height: 1.9; }
.reset-success { text-align: center; }
.reset-success > b { display: block; color: #287451; font-size: 21px; margin-bottom: 8px; }
.reset-success .button { display: block; text-decoration: none; margin-top: 18px; }
.social-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; }
.social-links a { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); text-decoration: none; font-size: 11px; font-weight: 700; background: color-mix(in srgb,var(--paper) 86%,transparent); }
.social-links a:hover { color: var(--coral-dark); border-color: var(--coral); transform: translateY(-1px); }
.social-links a span { color: var(--coral); font-size: 14px; }
.social-links a b { font: inherit; }
#siteFooter { flex-wrap: wrap; gap: 14px; }
@media(max-width:650px){
  .account-card { padding: 24px 18px; border-radius: 21px; }
  .password-reset-page { padding-top: 25px; }
  #siteFooter .social-links { width: 100%; }
}
.recovery-kit-overlay{position:fixed;inset:0;z-index:12000;background:rgba(8,10,14,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}.recovery-kit-overlay>section{width:min(560px,100%);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:26px;padding:28px;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.35)}.recovery-kit-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;margin:auto;background:color-mix(in srgb,var(--coral) 14%,var(--paper));color:var(--coral)}.recovery-kit-mark svg{width:25px;height:25px;fill:none;stroke:currentColor}.recovery-kit-overlay h2{margin:14px 0 5px}.recovery-kit-overlay p{color:var(--muted);line-height:1.9}.recovery-kit-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0;direction:ltr}.recovery-kit-codes code{padding:10px;border:1px dashed var(--line);border-radius:10px;background:var(--cream);font-weight:800}.recovery-kit-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.recovery-kit-actions button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 14px;border-radius:11px;font:800 12px inherit}.recovery-kit-actions [data-recovery-done]{background:var(--coral);color:#fff;border-color:var(--coral)}@media(max-width:560px){.recovery-kit-codes{grid-template-columns:1fr}.recovery-kit-overlay>section{padding:21px}}
