:root {
  --bg: #100b16;
  --bg-soft: #17101f;
  --surface: rgba(255,255,255,.075);
  --surface-strong: rgba(255,255,255,.12);
  --text: #fff8fc;
  --muted: #c7bdca;
  --line: rgba(255,255,255,.14);
  --pink: #ff4f87;
  --pink-2: #ff8eb5;
  --violet: #8a5cff;
  --lime: #d6ff75;
  --danger: #ff6f7e;
  --shadow: 0 24px 80px rgba(0,0,0,.34);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 16px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 8% -5%, rgba(255,79,135,.22), transparent 28rem),
    radial-gradient(circle at 95% 13%, rgba(138,92,255,.18), transparent 30rem),
    var(--bg);
  font-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; display: block; }

.site-shell { min-height: 100vh; overflow: hidden; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.topbar {
  position: relative; z-index: 20;
  display: flex; align-items: center; justify-content: space-between;
  min-height: 88px;
}
.logo { display: inline-flex; align-items: center; gap: 10px; font-family: "Arial Black", Inter, system-ui, sans-serif; font-weight: 700; text-decoration: none; letter-spacing: -.04em; }
.logo-mark { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg,var(--pink),var(--violet)); box-shadow: 0 10px 30px rgba(255,79,135,.28); }
.nav { display: flex; align-items: center; gap: 25px; }
.nav a { color: var(--muted); text-decoration: none; font-size: 14px; }
.nav a:hover { color: var(--text); }

.btn {
  border: 0; border-radius: 999px; padding: 14px 22px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-weight: 800; text-decoration: none; transition: transform .2s ease, filter .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); filter: brightness(1.04); }
.btn:active { transform: translateY(0) scale(.98); }
.btn-primary { background: linear-gradient(100deg,var(--pink),#ff6a72 48%,var(--violet)); color: white; box-shadow: 0 16px 35px rgba(255,79,135,.24); }
.btn-secondary { background: rgba(255,255,255,.09); color: var(--text); border: 1px solid var(--line); backdrop-filter: blur(18px); }
.btn-dark { background: #171019; color: white; }
.btn-ghost { background: transparent; color: var(--muted); border: 1px solid var(--line); }
.btn-small { padding: 10px 15px; font-size: 13px; }
.btn-wide { width: 100%; }
.btn[disabled] { opacity: .45; cursor: not-allowed; transform: none; }

.hero { position: relative; padding: 58px 0 104px; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: #f2dce7; font-size: 13px; font-weight: 700; }
.eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 16px var(--lime); }
h1,h2,h3,p { margin-top: 0; }
.hero h1 { font-family: "Arial Black", Inter, system-ui, sans-serif; font-size: clamp(44px, 6.4vw, 88px); line-height: .98; letter-spacing: -.065em; margin: 24px 0 24px; max-width: 720px; }
.gradient-text { background: linear-gradient(100deg,#fff 5%,#ffabc6 44%,#aa8aff 85%); -webkit-background-clip: text; color: transparent; }
.hero-copy { max-width: 610px; font-size: 19px; line-height: 1.65; color: var(--muted); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 31px 0 28px; }
.microproof { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: 13px; }
.avatar-stack { display: flex; }
.avatar-stack span { width: 31px; height: 31px; border-radius: 50%; border: 2px solid var(--bg); margin-left: -8px; display: grid; place-items: center; font-size: 14px; background: linear-gradient(135deg,#ff93b8,#7a56ed); }
.avatar-stack span:first-child { margin-left: 0; }

.phone-stage { position: relative; display: grid; place-items: center; min-height: 610px; }
.phone-orbit { position: absolute; width: 530px; height: 530px; border-radius: 50%; border: 1px solid rgba(255,255,255,.08); animation: spin 30s linear infinite; }
.phone-orbit::before,.phone-orbit::after { content:""; position:absolute; width: 18px; height:18px; border-radius:50%; background:var(--pink); box-shadow:0 0 30px var(--pink); }
.phone-orbit::before { top: 70px; left: 55px; }
.phone-orbit::after { right: 40px; bottom: 95px; background:var(--violet); box-shadow:0 0 30px var(--violet); }
@keyframes spin { to { transform: rotate(360deg); } }
.phone {
  position: relative; width: min(355px, 84vw); min-height: 590px; padding: 13px; border-radius: 48px;
  background: linear-gradient(145deg,#2c2330,#0d0910); border: 1px solid rgba(255,255,255,.18); box-shadow: var(--shadow), inset 0 0 0 2px rgba(255,255,255,.025); transform: rotate(3deg);
}
.phone::before { content:""; position:absolute; top:17px; left:50%; transform:translateX(-50%); width:105px; height:25px; border-radius:20px; background:#0c0910; z-index:3; }
.phone-screen { position:absolute; inset:13px; overflow:hidden; border-radius:37px; padding:54px 22px 24px; color:#2b1730; background: linear-gradient(155deg,#fff1f6,#f7d6ff 55%,#c6b7ff); }
.phone-screen::after { content:""; position:absolute; inset:auto -60px -100px; height:240px; border-radius:50%; background:rgba(255,255,255,.32); filter:blur(20px); }
.preview-chip { display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.55); font-size:11px; font-weight:800; }
.preview-photo { width:100%; aspect-ratio: 1.35; margin:15px 0 18px; border-radius:23px; background: radial-gradient(circle at 50% 20%,#ffacc9,transparent 42%), linear-gradient(135deg,#9b66ff,#ff5b88); display:grid; place-items:center; font-size:54px; box-shadow:0 14px 35px rgba(87,40,108,.18); }
.phone-screen h3 { font-family:Unbounded,sans-serif; font-size:23px; line-height:1.14; letter-spacing:-.04em; margin-bottom:10px; }
.phone-screen p { font-size:13px; line-height:1.5; color:#634c69; }
.preview-options { display:grid; gap:8px; margin-top:18px; position:relative; z-index:2; }
.preview-option { padding:11px 13px; border-radius:14px; background:rgba(255,255,255,.58); display:flex; justify-content:space-between; font-size:12px; font-weight:700; }
.preview-answer { display:grid; grid-template-columns:1fr .72fr; gap:8px; margin-top:14px; position:relative; z-index:2; }
.preview-answer button { border:0; padding:12px; border-radius:14px; font-weight:800; cursor:pointer; }
.preview-yes { background:#2e1832; color:white; }
.preview-no { background:rgba(255,255,255,.45); color:#563f5c; }
.float-card { position:absolute; border:1px solid var(--line); background:rgba(24,16,31,.74); backdrop-filter:blur(18px); border-radius:18px; padding:14px 16px; box-shadow:var(--shadow); font-size:13px; }
.float-card strong { display:block; color:white; margin-bottom:4px; }
.float-card span { color:var(--muted); }
.float-card.one { top:90px; right:-20px; transform:rotate(-4deg); }
.float-card.two { bottom:70px; left:-35px; transform:rotate(5deg); }

.section { padding: 108px 0; }
.section-soft { background: linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); border-block:1px solid rgba(255,255,255,.06); }
.section-heading { max-width:750px; margin-bottom:45px; }
.section-heading.center { text-align:center; margin-inline:auto; }
.kicker { color:var(--pink-2); font-weight:800; text-transform:uppercase; letter-spacing:.13em; font-size:12px; }
.section h2 { font-family:Unbounded,sans-serif; font-size:clamp(32px,4.8vw,58px); letter-spacing:-.055em; line-height:1.07; margin:14px 0 17px; }
.section-heading p { color:var(--muted); font-size:18px; line-height:1.65; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.step-card { position:relative; min-height:270px; padding:26px; border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035)); overflow:hidden; }
.step-card::after { content:attr(data-n); position:absolute; right:-10px; bottom:-35px; font-family:Unbounded,sans-serif; font-size:140px; color:rgba(255,255,255,.035); }
.step-icon { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(135deg,var(--pink),var(--violet)); font-size:21px; margin-bottom:40px; }
.step-card h3 { font-size:21px; margin-bottom:10px; }
.step-card p { color:var(--muted); line-height:1.6; }

.feature-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; grid-auto-rows:245px; gap:18px; }
.feature-card { border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.05); padding:28px; position:relative; overflow:hidden; }
.feature-card h3 { font-size:22px; margin-bottom:9px; }
.feature-card p { color:var(--muted); line-height:1.55; max-width:420px; }
.feature-card.large { grid-row:span 2; background:linear-gradient(160deg,rgba(255,79,135,.17),rgba(138,92,255,.08)); }
.feature-card.wide { grid-column:span 2; }
.feature-visual { position:absolute; inset:auto 20px 20px; height:210px; border-radius:22px; background:linear-gradient(135deg,#ff8cae,#8a5cff); padding:18px; transform:rotate(-2deg); color:#201027; }
.feature-visual .mini { background:rgba(255,255,255,.63); border-radius:15px; padding:13px; margin-bottom:9px; font-weight:800; }
.wave { display:flex; align-items:center; gap:4px; height:45px; margin-top:22px; }
.wave i { display:block; width:4px; border-radius:9px; background:linear-gradient(var(--pink),var(--violet)); animation:wave 1.1s ease-in-out infinite alternate; }
.wave i:nth-child(2n){animation-delay:.2s}.wave i:nth-child(3n){animation-delay:.4s}
@keyframes wave { from{height:10px}to{height:42px} }
.calendar-art { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:18px; }
.calendar-art span { aspect-ratio:1; display:grid; place-items:center; border-radius:10px; background:rgba(255,255,255,.07); font-size:12px; }
.calendar-art .active { background:var(--pink); color:white; }

.pricing { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.price-card { border:1px solid var(--line); border-radius:28px; background:rgba(255,255,255,.045); padding:28px; display:flex; flex-direction:column; }
.price-card.featured { background:linear-gradient(160deg,rgba(255,79,135,.18),rgba(138,92,255,.14)); border-color:rgba(255,125,170,.45); transform:translateY(-12px); box-shadow:0 25px 70px rgba(111,54,124,.18); }
.plan-badge { align-self:flex-start; padding:6px 10px; border-radius:999px; background:var(--lime); color:#1e2411; font-size:11px; font-weight:900; text-transform:uppercase; }
.price-card h3 { font-family:Unbounded,sans-serif; font-size:26px; margin:20px 0 5px; }
.price { font-family:Unbounded,sans-serif; font-size:42px; letter-spacing:-.05em; margin:18px 0 22px; }
.price small { color:var(--muted); font:600 13px Inter,system-ui,sans-serif; }
.price-card ul { list-style:none; padding:0; margin:0 0 28px; display:grid; gap:12px; color:#ddd3df; font-size:14px; }
.price-card li::before { content:'✓'; color:var(--lime); margin-right:9px; font-weight:900; }
.price-card .btn { margin-top:auto; }

.cta-box { padding:70px; border-radius:40px; text-align:center; background:linear-gradient(125deg,#ff4f87,#ff725f 40%,#7754e8); position:relative; overflow:hidden; box-shadow:var(--shadow); }
.cta-box::before { content:""; position:absolute; width:350px; height:350px; border-radius:50%; top:-210px; left:-90px; border:60px solid rgba(255,255,255,.08); }
.cta-box h2 { max-width:800px; margin-inline:auto; }
.cta-box p { max-width:620px; margin:0 auto 26px; color:rgba(255,255,255,.8); font-size:18px; }

.footer { padding:45px 0 60px; color:var(--muted); font-size:13px; }
.footer-row { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; border-top:1px solid var(--line); padding-top:30px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; }
.footer a { text-decoration:none; }
.footer a:hover { color:white; }

/* Builder */
.app-page { min-height:100vh; background:radial-gradient(circle at top right,rgba(138,92,255,.16),transparent 30rem),var(--bg); }
.app-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.progress-wrap { width:min(360px,45vw); }
.progress-meta { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; margin-bottom:8px; }
.progress { height:6px; background:rgba(255,255,255,.08); border-radius:10px; overflow:hidden; }
.progress > i { display:block; height:100%; background:linear-gradient(90deg,var(--pink),var(--violet)); border-radius:10px; transition:width .35s ease; }
.builder-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(330px,.62fr); gap:32px; padding:42px 0 72px; }
.builder-panel { border:1px solid var(--line); border-radius:30px; background:rgba(255,255,255,.045); padding:34px; min-height:600px; }
.builder-panel h1 { font-family:Unbounded,sans-serif; font-size:clamp(30px,4vw,48px); letter-spacing:-.05em; line-height:1.1; margin-bottom:13px; }
.builder-sub { color:var(--muted); line-height:1.6; margin-bottom:30px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:17px; }
.form-grid .full { grid-column:1/-1; }
.field { display:grid; gap:8px; }
.field label { font-size:13px; color:#eee5f0; font-weight:700; }
.field small { color:var(--muted); }
.input, .textarea, .select {
  width:100%; border:1px solid var(--line); border-radius:15px; padding:14px 15px; color:var(--text); outline:none;
  background:rgba(12,8,16,.55); transition:border .2s, box-shadow .2s;
}
.input:focus,.textarea:focus,.select:focus { border-color:rgba(255,95,145,.65); box-shadow:0 0 0 4px rgba(255,79,135,.09); }
.textarea { min-height:125px; resize:vertical; }
.select option { color:#111; }
.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice label { display:block; height:100%; padding:18px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.035); cursor:pointer; transition:.2s; }
.choice input:checked + label { border-color:var(--pink); background:rgba(255,79,135,.1); box-shadow:0 0 0 3px rgba(255,79,135,.07); }
.choice strong { display:block; margin-bottom:5px; }
.choice span { color:var(--muted); font-size:13px; line-height:1.45; }
.chips-editor { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.chip { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:rgba(255,255,255,.07); border-radius:999px; padding:9px 12px; font-size:13px; }
.chip button { border:0; background:none; color:var(--muted); cursor:pointer; padding:0; }
.inline-add { display:grid; grid-template-columns:1fr auto; gap:8px; }
.upload-box { border:1px dashed rgba(255,255,255,.24); border-radius:20px; min-height:165px; display:grid; place-items:center; text-align:center; padding:25px; background:rgba(255,255,255,.025); cursor:pointer; overflow:hidden; }
.upload-box:hover { border-color:var(--pink); }
.upload-box img { width:100%; height:210px; object-fit:cover; border-radius:15px; }
.audio-box { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.035); }
.record-dot { width:11px; height:11px; border-radius:50%; background:var(--danger); }
.recording .record-dot { animation:pulse 1s infinite; }
@keyframes pulse { 50% { box-shadow:0 0 0 8px rgba(255,79,100,.12); } }
.theme-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.theme-swatch { position:relative; aspect-ratio:1.25; border-radius:17px; border:2px solid transparent; cursor:pointer; overflow:hidden; }
.theme-swatch input { position:absolute; opacity:0; }
.theme-swatch:has(input:checked) { border-color:white; box-shadow:0 0 0 3px var(--pink); }
.theme-rose { background:linear-gradient(135deg,#fff0f5,#d7c3ff); }
.theme-midnight { background:linear-gradient(135deg,#151022,#513371); }
.theme-sunset { background:linear-gradient(135deg,#ffdfbf,#fd7b7b); }
.theme-mint { background:linear-gradient(135deg,#e4fff2,#9edac6); }
.toggle { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.03); }
.toggle input { width:20px; height:20px; accent-color:var(--pink); }
.toggle strong { display:block; font-size:14px; }
.toggle span { color:var(--muted); font-size:12px; }
.builder-actions { display:flex; justify-content:space-between; gap:12px; margin-top:34px; }
.preview-pane { position:sticky; top:25px; align-self:start; }
.preview-label { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; margin:0 7px 12px; }
.live-card { min-height:625px; border-radius:34px; padding:30px; color:#2c1d31; box-shadow:var(--shadow); position:relative; overflow:hidden; transition:background .3s; }
.live-card.rose { background:linear-gradient(150deg,#fff0f4,#f4ddff 58%,#d2c3ff); }
.live-card.midnight { background:linear-gradient(150deg,#251a36,#4b2d63 55%,#8a4779); color:white; }
.live-card.sunset { background:linear-gradient(150deg,#fff0d6,#ffb08d 55%,#f16a7b); }
.live-card.mint { background:linear-gradient(150deg,#eefff7,#bcebd7 55%,#b6c9ff); }
.live-card::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; background:rgba(255,255,255,.25); right:-100px; bottom:-120px; }
.live-photo { width:100%; aspect-ratio:1.5; border-radius:22px; background:rgba(255,255,255,.35); display:grid; place-items:center; overflow:hidden; font-size:50px; margin:18px 0; }
.live-photo img { width:100%; height:100%; object-fit:cover; }
.live-card h3 { font-family:Unbounded,sans-serif; font-size:24px; line-height:1.15; letter-spacing:-.04em; }
.live-card p { opacity:.72; line-height:1.55; font-size:14px; }
.live-pills { display:flex; gap:7px; flex-wrap:wrap; position:relative; z-index:2; }
.live-pills span { padding:8px 10px; border-radius:999px; background:rgba(255,255,255,.4); font-size:11px; font-weight:800; }
.live-sign { margin-top:20px; font-family:Unbounded,sans-serif; font-size:12px; }

/* Public invitation */
.invite-page { min-height:100vh; display:grid; place-items:center; padding:30px 18px; position:relative; overflow:hidden; }
.invite-bg { position:fixed; inset:0; pointer-events:none; }
.invite-bg i { position:absolute; border-radius:50%; filter:blur(3px); opacity:.55; animation:float 7s ease-in-out infinite; }
@keyframes float { 50% { transform:translateY(-22px) translateX(12px); } }
.invite-shell { width:min(680px,100%); position:relative; z-index:2; }
.invite-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; color:rgba(255,255,255,.72); font-size:12px; }
.invite-card { border-radius:38px; padding:34px; box-shadow:0 35px 100px rgba(0,0,0,.38); color:#2d1d31; position:relative; overflow:hidden; }
.invite-card.rose { background:linear-gradient(150deg,#fff0f4,#f4ddff 58%,#d2c3ff); }
.invite-card.midnight { background:linear-gradient(150deg,#21162f,#51316d 55%,#864976); color:white; }
.invite-card.sunset { background:linear-gradient(150deg,#fff0d6,#ffb08d 55%,#f16a7b); }
.invite-card.mint { background:linear-gradient(150deg,#eefff7,#bcebd7 55%,#b6c9ff); }
.invite-photo { width:100%; max-height:360px; aspect-ratio:1.45; object-fit:cover; border-radius:25px; background:rgba(255,255,255,.3); display:grid; place-items:center; font-size:72px; box-shadow:0 17px 45px rgba(75,40,84,.15); }
.invite-card h1 { font-family:Unbounded,sans-serif; font-size:clamp(30px,7vw,48px); letter-spacing:-.055em; line-height:1.08; margin:28px 0 13px; }
.invite-message { font-size:16px; line-height:1.65; opacity:.76; }
.voice-player { width:100%; margin:18px 0 5px; }
.meta-row { display:flex; flex-wrap:wrap; gap:8px; margin:19px 0; }
.meta-pill { padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.35); font-size:12px; font-weight:700; text-decoration:none; }
.question-block { margin-top:28px; padding-top:25px; border-top:1px solid rgba(61,38,66,.16); }
.question-block h2 { font-size:17px; margin-bottom:13px; }
.option-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.select-card { position:relative; }
.select-card input { position:absolute; opacity:0; }
.select-card label { display:block; height:100%; padding:13px; border-radius:15px; border:1px solid rgba(51,29,57,.15); background:rgba(255,255,255,.26); cursor:pointer; font-size:13px; font-weight:700; }
.select-card input:checked + label { color:white; background:#2c1831; border-color:#2c1831; }
.invite-card.midnight .select-card label { border-color:rgba(255,255,255,.18); }
.invite-actions { display:grid; grid-template-columns:1.25fr .75fr; gap:10px; margin-top:25px; position:relative; }
.invite-actions .btn { border-radius:16px; }
.alt-box { margin-top:12px; }
.reaction { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:20px 0; }
.reaction button { border:0; background:rgba(255,255,255,.28); width:44px; height:44px; border-radius:14px; font-size:21px; cursor:pointer; transition:.2s; }
.reaction button.active { background:#2c1831; transform:translateY(-3px); }
.success-scene { text-align:center; padding:30px 5px 10px; }
.success-icon { width:90px; height:90px; margin:0 auto 20px; border-radius:28px; display:grid; place-items:center; font-size:43px; background:rgba(255,255,255,.42); animation:pop .5s cubic-bezier(.2,.9,.2,1.4); }
@keyframes pop { from { transform:scale(.3) rotate(-12deg); opacity:0; } }
.heart-particle { position:fixed; z-index:100; pointer-events:none; animation:heart-fall 2.5s ease-in forwards; }
@keyframes heart-fall { from{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(550deg);opacity:0} }

/* Checkout / manage */
.center-page { min-height:100vh; display:grid; place-items:center; padding:25px; }
.sheet { width:min(680px,100%); border:1px solid var(--line); background:rgba(255,255,255,.055); border-radius:32px; padding:34px; box-shadow:var(--shadow); }
.sheet h1 { font-family:Unbounded,sans-serif; letter-spacing:-.05em; font-size:clamp(30px,6vw,48px); }
.order-line { display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px solid var(--line); }
.notice { padding:14px 16px; border-radius:16px; background:rgba(214,255,117,.08); border:1px solid rgba(214,255,117,.2); color:#e8ffc0; font-size:13px; line-height:1.55; margin:20px 0; }
.manage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0; }
.stat { padding:16px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.035); }
.stat strong { display:block; font-size:24px; }
.stat span { color:var(--muted); font-size:12px; }
.response-card { padding:20px; border-radius:20px; background:linear-gradient(135deg,rgba(255,79,135,.14),rgba(138,92,255,.13)); border:1px solid var(--line); margin:20px 0; }
.url-box { display:grid; grid-template-columns:1fr auto; gap:8px; margin:15px 0; }
.url-box input { min-width:0; }
.action-row { display:flex; gap:10px; flex-wrap:wrap; }
.danger-zone { border-top:1px solid var(--line); margin-top:28px; padding-top:22px; }
.error-box { color:#ffd0d5; border:1px solid rgba(255,111,126,.3); background:rgba(255,111,126,.08); padding:15px; border-radius:16px; }
.loader { width:38px; height:38px; border:3px solid rgba(255,255,255,.15); border-top-color:var(--pink); border-radius:50%; animation:spin .8s linear infinite; margin:auto; }

/* legal */
.legal { width:min(900px,calc(100% - 40px)); margin:0 auto; padding:30px 0 80px; }
.legal article { border:1px solid var(--line); border-radius:28px; padding:35px; background:rgba(255,255,255,.04); }
.legal h1 { font-family:Unbounded,sans-serif; letter-spacing:-.05em; }
.legal h2 { margin-top:30px; font-size:20px; }
.legal p,.legal li { color:var(--muted); line-height:1.7; }

.toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%,20px); z-index:999; background:#fff; color:#211723; border-radius:999px; padding:12px 18px; box-shadow:var(--shadow); opacity:0; pointer-events:none; transition:.25s; font-size:13px; font-weight:800; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.hidden { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width: 920px) {
  .nav a:not(.btn) { display:none; }
  .hero-grid { grid-template-columns:1fr; gap:35px; }
  .hero { padding-top:35px; }
  .hero-copy { font-size:17px; }
  .phone-stage { min-height:600px; }
  .phone-orbit { width:460px; height:460px; }
  .float-card.one { right:0; }.float-card.two{left:0}
  .steps,.pricing { grid-template-columns:1fr; }
  .price-card.featured { transform:none; }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .feature-card.large { grid-row:span 1; grid-column:span 2; min-height:430px; }
  .builder-layout { grid-template-columns:1fr; }
  .preview-pane { position:static; }
  .live-card { min-height:500px; }
}
@media (max-width: 620px) {
  .container { width:min(100% - 24px,1180px); }
  .topbar { min-height:72px; }
  .topbar .btn { padding:10px 13px; font-size:12px; }
  .hero { padding-bottom:75px; }
  .hero h1 { font-size:clamp(39px,14vw,64px); }
  .microproof { align-items:flex-start; }
  .phone-stage { min-height:570px; }
  .phone { min-height:555px; }
  .float-card { display:none; }
  .section { padding:75px 0; }
  .feature-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .feature-card,.feature-card.large,.feature-card.wide { grid-column:span 1; min-height:245px; }
  .feature-card.large { min-height:430px; }
  .cta-box { padding:50px 22px; border-radius:28px; }
  .footer-row { flex-direction:column; }
  .app-header { gap:12px; }
  .app-header .logo span:last-child { display:none; }
  .progress-wrap { width:55vw; }
  .builder-layout { padding-top:20px; }
  .builder-panel { padding:23px; border-radius:24px; }
  .form-grid,.choice-grid { grid-template-columns:1fr; }
  .theme-grid { grid-template-columns:repeat(2,1fr); }
  .builder-actions { flex-direction:column-reverse; }
  .builder-actions .btn { width:100%; }
  .preview-pane { display:none; }
  .invite-card { padding:23px; border-radius:27px; }
  .option-grid { grid-template-columns:1fr; }
  .invite-actions { grid-template-columns:1fr; }
  .sheet { padding:24px; border-radius:25px; }
  .manage-grid { grid-template-columns:1fr; }
  .url-box { grid-template-columns:1fr; }
  .legal article { padding:23px; }
}

/* Validation and Yandex Maps */
.field-help { color:var(--muted); font-size:12px; line-height:1.45; }
.field-error { color:#ffb5c0 !important; font-size:12px; line-height:1.45; }
.input.is-invalid,.textarea.is-invalid,.select.is-invalid { border-color:rgba(255,91,112,.88); box-shadow:0 0 0 4px rgba(255,79,100,.1); }
.input[aria-invalid="false"]:not(:placeholder-shown):focus,.textarea[aria-invalid="false"]:not(:placeholder-shown):focus { border-color:rgba(141,224,184,.55); }
.map-field { margin-top:2px; }
.map-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; }
.yandex-map-shell { position:relative; min-height:340px; margin-top:5px; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:rgba(12,8,16,.55); }
.yandex-map { width:100%; height:340px; }
.yandex-map.is-placeholder { display:grid; place-items:center; padding:30px; text-align:center; background:radial-gradient(circle at 20% 20%,rgba(255,79,135,.12),transparent 45%),rgba(12,8,16,.62); }
.yandex-map.is-placeholder div { display:grid; gap:8px; max-width:430px; }
.yandex-map.is-placeholder strong { font-size:16px; }
.yandex-map.is-placeholder span { color:var(--muted); font-size:13px; line-height:1.55; }
.map-status { position:absolute; left:12px; right:12px; bottom:12px; z-index:2; padding:10px 12px; border:1px solid rgba(255,255,255,.14); border-radius:13px; background:rgba(19,12,23,.86); backdrop-filter:blur(10px); color:#e8deeb; font-size:12px; line-height:1.4; pointer-events:none; }
.map-status.success { border-color:rgba(118,220,166,.42); color:#c9ffe0; }
.map-status.warning { border-color:rgba(255,196,91,.42); color:#ffe5ad; }
.map-status.error { border-color:rgba(255,91,112,.48); color:#ffd0d7; }
.ymaps-2-1-79-searchbox-input__input { color:#111 !important; }

@media (max-width: 620px) {
  .map-search-row { grid-template-columns:1fr; }
  .map-search-row .btn { width:100%; }
  .yandex-map-shell,.yandex-map { min-height:300px; height:300px; }
}

/* Admin dashboard */
.admin-login-page { min-height:100vh; display:grid; place-items:center; padding:32px 18px; background:radial-gradient(circle at 15% 10%,rgba(255,79,135,.18),transparent 30rem),radial-gradient(circle at 90% 80%,rgba(119,84,232,.18),transparent 32rem),var(--bg); }
.admin-login-card { width:min(480px,100%); border:1px solid var(--line); border-radius:32px; background:rgba(22,15,27,.9); padding:34px; box-shadow:var(--shadow); backdrop-filter:blur(18px); }
.admin-login-copy { margin:42px 0 28px; }
.admin-login-copy h1 { font-family:Unbounded,sans-serif; font-size:clamp(32px,7vw,49px); letter-spacing:-.055em; line-height:1.07; margin:10px 0 13px; }
.admin-login-copy p { color:var(--muted); line-height:1.6; }
.admin-login-form { display:grid; gap:17px; }
.admin-form-error { min-height:20px; color:#ff9bae; font-size:13px; text-align:center; }
.admin-back-link { display:block; margin-top:24px; text-align:center; color:var(--muted); text-decoration:none; font-size:13px; }
.admin-back-link:hover { color:var(--text); }
.admin-shell { min-height:100vh; background:radial-gradient(circle at 100% 0,rgba(119,84,232,.12),transparent 32rem),var(--bg); }
.admin-topbar { min-height:72px; padding:0 max(22px,calc((100vw - 1380px)/2)); display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); background:rgba(13,9,17,.78); backdrop-filter:blur(18px); position:sticky; top:0; z-index:30; }
.admin-topbar > div { display:flex; align-items:center; gap:13px; }
.admin-badge { display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:6px 9px; color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.13em; }
.admin-top-actions { color:var(--muted); font-size:13px; }
.admin-main { width:min(1380px,calc(100% - 36px)); margin:0 auto; padding:42px 0 72px; }
.admin-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:28px; }
.admin-heading h1 { font-family:Unbounded,sans-serif; font-size:clamp(35px,5vw,58px); letter-spacing:-.06em; line-height:1.05; margin:9px 0 10px; }
.admin-heading p { color:var(--muted); margin:0; }
.admin-heading-actions { display:flex; align-items:end; gap:9px; flex-wrap:wrap; justify-content:flex-end; }
.admin-heading-actions label { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.admin-heading-actions .select { min-width:120px; padding:10px 13px; }
.admin-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:14px; }
.admin-metric { min-height:138px; padding:20px; border:1px solid var(--line); border-radius:23px; background:rgba(255,255,255,.045); display:flex; flex-direction:column; justify-content:space-between; }
.admin-metric span { color:var(--muted); font-size:12px; }
.admin-metric strong { font-family:Unbounded,sans-serif; font-size:clamp(26px,3vw,39px); letter-spacing:-.05em; margin:10px 0; }
.admin-metric small { color:rgba(235,225,240,.55); font-size:11px; }
.admin-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,.8fr); gap:14px; margin-bottom:14px; }
.admin-panel { border:1px solid var(--line); border-radius:25px; background:rgba(255,255,255,.038); padding:22px; min-width:0; }
.admin-panel-wide { min-height:390px; }
.admin-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.admin-panel-head h2 { font-family:Unbounded,sans-serif; font-size:20px; letter-spacing:-.04em; margin:0 0 6px; }
.admin-panel-head p,.admin-panel-head > span { color:var(--muted); font-size:12px; margin:0; }
.admin-chart { height:280px; display:flex; align-items:end; gap:6px; overflow-x:auto; padding:18px 3px 0; border-top:1px solid rgba(255,255,255,.07); }
.admin-chart-column { height:100%; flex:1 0 19px; min-width:19px; display:grid; grid-template-rows:18px 1fr 24px; align-items:end; justify-items:center; gap:5px; color:var(--muted); font-size:9px; }
.admin-chart-column > span { min-height:13px; }
.admin-chart-column > i { width:min(20px,75%); min-height:3px; border-radius:7px 7px 2px 2px; background:linear-gradient(180deg,var(--pink),var(--violet)); opacity:.92; transition:.2s; }
.admin-chart-column:hover > i { filter:brightness(1.18); }
.admin-chart-column small { font-size:8px; transform:rotate(-45deg); transform-origin:center; white-space:nowrap; }
.admin-audit { list-style:none; padding:0; margin:0; display:grid; gap:9px; max-height:315px; overflow:auto; }
.admin-audit li { padding:12px 13px; border-radius:15px; background:rgba(255,255,255,.04); display:grid; gap:5px; }
.admin-audit span { font-size:12px; }
.admin-audit small { color:var(--muted); font-size:10px; }
.admin-invitations { padding:0; overflow:hidden; }
.admin-invitations .admin-panel-head { padding:22px 22px 0; }
.admin-filters { display:flex; gap:8px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }
.admin-filters .select { width:auto; min-width:165px; }
.admin-filters .input { width:220px; }
.admin-table-wrap { overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:970px; }
.admin-table th { padding:12px 18px; text-align:left; color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.admin-table td { padding:15px 18px; border-bottom:1px solid rgba(255,255,255,.06); vertical-align:top; font-size:12px; }
.admin-table td strong { display:block; font-size:13px; margin-bottom:4px; }
.admin-table td small { display:block; color:var(--muted); font-size:10px; margin-top:4px; }
.admin-status { display:inline-flex; align-items:center; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:800; }
.admin-status.active { background:rgba(58,205,135,.13); color:#80e5b4; }
.admin-status.pending { background:rgba(255,190,69,.13); color:#ffd27c; }
.admin-status.closed { background:rgba(255,102,124,.12); color:#ff9bad; }
.admin-row-actions { display:flex; flex-wrap:wrap; gap:5px; }
.admin-action-btn,.admin-icon-link { border:1px solid var(--line); background:rgba(255,255,255,.035); color:var(--text); border-radius:9px; padding:7px 9px; font-size:10px; cursor:pointer; text-decoration:none; white-space:nowrap; }
.admin-action-btn:hover,.admin-icon-link:hover { border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.08); }
.admin-action-accent { border-color:rgba(255,79,135,.35); color:#ff9abb; }
.admin-action-btn:disabled { opacity:.45; cursor:wait; }
.admin-pagination { padding:16px 20px; display:flex; align-items:center; justify-content:center; gap:16px; color:var(--muted); font-size:11px; }
.admin-empty { padding:44px 22px; text-align:center; color:var(--muted); border-top:1px solid var(--line); }
.admin-security-note { color:rgba(235,225,240,.4); text-align:center; font-size:10px; margin:20px 0 0; }

@media (max-width:1050px) {
  .admin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .admin-topbar { padding:0 16px; }
  .admin-top-actions > span,.admin-badge { display:none; }
  .admin-main { width:min(100% - 24px,1380px); padding-top:25px; }
  .admin-heading { align-items:flex-start; flex-direction:column; }
  .admin-heading-actions { justify-content:flex-start; width:100%; }
  .admin-metrics { grid-template-columns:1fr 1fr; gap:8px; }
  .admin-metric { min-height:120px; padding:16px; }
  .admin-panel { padding:17px; }
  .admin-invitations { padding:0; }
  .admin-invitations .admin-panel-head { padding:18px 18px 0; flex-direction:column; }
  .admin-filters { width:100%; justify-content:stretch; }
  .admin-filters .select,.admin-filters .input { width:100%; }
  .admin-chart { height:235px; }
}
@media (max-width:430px) {
  .admin-login-card { padding:25px 20px; border-radius:25px; }
  .admin-metrics { grid-template-columns:1fr; }
  .admin-heading-actions .btn { flex:1; }
}

/* Legal documents v1.5.0 */
.footer-owner { margin:8px 0 0; color:rgba(235,225,240,.52); font-size:11px; line-height:1.5; }
.footer-legal-links { max-width:560px; justify-content:flex-end; text-align:right; }
.footer-legal-links a { line-height:1.45; }
.legal-page .app-header { align-items:center; }
.legal-header-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.legal { width:min(980px,calc(100% - 40px)); }
.legal article { padding:clamp(25px,5vw,52px); }
.legal h1 { font-size:clamp(34px,6vw,62px); line-height:1.08; margin:13px 0 10px; }
.legal-subtitle { margin-top:0; font-size:16px; color:var(--text) !important; }
.legal-meta { margin:22px 0 32px; padding:13px 15px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.035); font-size:12px; }
.legal h2 { margin:35px 0 12px; font-family:Unbounded,sans-serif; letter-spacing:-.035em; line-height:1.25; }
.legal p,.legal li { font-size:14px; }
.legal ul { padding-left:22px; display:grid; gap:7px; }
.legal a { color:#ff9bc1; overflow-wrap:anywhere; }
.legal-table-wrap { overflow-x:auto; margin:18px 0 24px; border:1px solid var(--line); border-radius:17px; }
.legal-table { width:100%; min-width:680px; border-collapse:collapse; }
.legal-table th,.legal-table td { padding:14px 15px; text-align:left; vertical-align:top; border-bottom:1px solid rgba(255,255,255,.07); font-size:13px; line-height:1.55; }
.legal-table th { color:var(--text); background:rgba(255,255,255,.055); }
.legal-table td { color:var(--muted); }
.legal-table tr:last-child td { border-bottom:0; }
.legal-end { margin-top:42px; padding:22px; border:1px solid rgba(255,79,135,.28); border-radius:20px; background:rgba(255,79,135,.055); display:grid; gap:7px; }
.legal-end strong { margin-bottom:3px; }
.legal-end span,.legal-end a { font-size:13px; }

@media (max-width:620px) {
  .footer-legal-links { max-width:none; justify-content:flex-start; text-align:left; flex-direction:column; gap:11px; }
  .legal-header-actions { width:100%; justify-content:stretch; }
  .legal-header-actions .btn { flex:1; }
  .legal { width:min(100% - 24px,980px); padding-top:18px; }
  .legal h1 { font-size:clamp(31px,11vw,46px); }
}

@media print {
  body { background:#fff !important; color:#111 !important; }
  .legal-page .app-header,.toast { display:none !important; }
  .legal { width:100%; padding:0; }
  .legal article { border:0; border-radius:0; background:#fff; padding:0; }
  .legal h1,.legal h2,.legal p,.legal li,.legal-table th,.legal-table td,.legal-end span,.legal-end strong { color:#111 !important; }
  .legal-meta,.legal-end,.legal-table-wrap { border-color:#bbb; background:#fff; }
  .legal a { color:#111 !important; text-decoration:none; }
  .legal-table { min-width:0; }
  .legal-table th,.legal-table td { border-color:#ccc; }
}

/* Lumora 1.6.0 — language selector and localized pricing */
.language-switcher {
  position: fixed;
  z-index: 1200;
  top: max(14px, env(safe-area-inset-top));
  right: max(14px, env(safe-area-inset-right));
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface, #17101f) 88%, transparent);
  box-shadow: 0 10px 32px rgba(17,10,26,.18);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.language-switcher span { font-size: 15px; line-height: 1; }
.language-switcher select {
  max-width: 132px;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.language-switcher select option { color: #17101f; background: #fff; }
.payment-currency-note {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
}
.legal-translation-notice { margin: 20px 0 26px; line-height: 1.6; }
@media (max-width: 720px) {
  .language-switcher {
    top: auto;
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    padding: 7px 8px;
  }
  .language-switcher select { max-width: 112px; font-size: 12px; }
  .toast { bottom: 70px; }
}

/* Lumora 1.7.0 — promo codes and commerce administration */
.checkout-sheet { width:min(620px,100%); }
.order-total { align-items:flex-end; }
.order-discount strong { color:#85e6b7; }
.promo-checkout { margin:22px 0; padding:18px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.035); }
.promo-checkout > div:first-child { display:grid; gap:4px; margin-bottom:13px; }
.promo-checkout > div:first-child span { color:var(--muted); font-size:12px; }
.promo-checkout-form { display:flex; flex-wrap:wrap; gap:8px; }
.promo-checkout-form .input { flex:1 1 210px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.promo-checkout .field-error { display:block; margin-top:9px; }
.promo-applied { display:flex; justify-content:space-between; gap:16px; margin-top:12px; padding:10px 12px; border-radius:13px; background:rgba(62,207,141,.1); color:#8be9ba; font-size:12px; }
.promo-applied strong { letter-spacing:.08em; }

.admin-commerce-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:14px; margin-bottom:14px; }
.admin-plans-form { display:grid; gap:12px; }
.admin-plan-row { display:grid; grid-template-columns:minmax(90px,.5fr) minmax(170px,1.4fr) minmax(120px,.7fr); align-items:end; gap:12px; padding:15px; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.025); }
.admin-plan-row > div { display:grid; gap:5px; }
.admin-plan-row > div span { font-size:10px; color:var(--pink); font-weight:900; letter-spacing:.12em; }
.admin-plan-row > div small { color:var(--muted); font-size:10px; }
.admin-plan-row label,.admin-promo-fields label,.admin-promo-code-row label { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.admin-plan-row .input,.admin-promo-fields .input,.admin-promo-fields .select,.admin-promo-code-row .input { padding:11px 12px; }
.admin-form-actions { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-top:4px; }
.admin-form-actions span { color:var(--muted); font-size:11px; }
.admin-promo-create { display:grid; gap:14px; }
.admin-promo-code-row { display:grid; grid-template-columns:1fr auto; align-items:end; gap:8px; }
.admin-promo-code-row input,.admin-promo-card input[name="code"] { text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.admin-promo-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.admin-promo-plans { display:flex; flex-wrap:wrap; gap:8px; }
.form-check { display:inline-flex; align-items:center; gap:8px; cursor:pointer; color:var(--text); font-size:12px; }
.form-check-input { width:17px; height:17px; accent-color:var(--pink); }
.form-switch .form-check-input { width:35px; }
.admin-plan-check { padding:8px 10px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.025); }
.admin-form-message { min-height:18px; color:#ff9bae; font-size:11px; }
.admin-promocodes { margin-bottom:14px; }
.admin-promo-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-promo-card { min-width:0; padding:16px; border:1px solid rgba(255,255,255,.09); border-radius:20px; background:rgba(255,255,255,.025); display:grid; gap:14px; }
.admin-promo-card-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.admin-promo-card-head > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.admin-promo-card-head code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:14px; color:var(--text); }
.admin-promo-card-head > strong { font-family:Unbounded,sans-serif; font-size:20px; }
.admin-promo-state { display:inline-flex; padding:5px 7px; border-radius:999px; font-size:9px; background:rgba(255,255,255,.07); color:var(--muted); }
.admin-promo-state.active { background:rgba(58,205,135,.13); color:#80e5b4; }
.admin-promo-card .admin-promo-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-promo-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:12px; border-top:1px solid rgba(255,255,255,.07); color:var(--muted); font-size:11px; }
.admin-promo-footer > div { display:flex; gap:7px; }
.admin-empty-compact { padding:24px; border:1px dashed var(--line); border-radius:18px; }

@media (max-width: 1050px) {
  .admin-commerce-grid { grid-template-columns:1fr; }
  .admin-promo-list { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .promo-checkout-form .btn { flex:1 1 auto; }
  .admin-plan-row { grid-template-columns:1fr; }
  .admin-promo-fields,.admin-promo-card .admin-promo-fields { grid-template-columns:1fr; }
  .admin-promo-code-row { grid-template-columns:1fr; }
  .admin-promo-code-row .btn { width:100%; }
  .admin-promo-footer { align-items:flex-start; flex-direction:column; }
}


/* Lumora 1.7.4 — live checkout cleanup, visible calendar icon and referral administration */
input[type="date"], input[type="datetime-local"], input[type="time"] { color-scheme: dark; }
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(2.4) contrast(1.15);
  opacity: 1;
  cursor: pointer;
}
.admin-referrals { margin-bottom:14px; }
.admin-referral-create { display:grid; grid-template-columns:minmax(220px,1fr) minmax(300px,1.2fr) auto auto; gap:12px; align-items:end; margin-bottom:20px; padding:16px; border:1px solid rgba(255,255,255,.08); border-radius:20px; background:rgba(255,255,255,.025); }
.admin-referral-create > label,.admin-referral-code-row label { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.admin-referral-code-row { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:end; }
.admin-referral-code-row input { text-transform:uppercase; letter-spacing:.07em; font-weight:800; }
.admin-referral-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-referral-card { padding:16px; border:1px solid rgba(255,255,255,.09); border-radius:20px; background:rgba(255,255,255,.025); display:grid; gap:14px; min-width:0; }
.admin-referral-head,.admin-referral-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.admin-referral-head > div { display:grid; gap:4px; min-width:0; }
.admin-referral-head strong { font-size:14px; overflow-wrap:anywhere; }
.admin-referral-head code { color:var(--pink-2); font-size:11px; }
.admin-referral-url { display:flex; gap:8px; }
.admin-referral-url .input { min-width:0; padding:10px 12px; font-size:11px; }
.admin-referral-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.admin-referral-stats > div { padding:10px; border-radius:13px; background:rgba(255,255,255,.04); display:grid; gap:4px; }
.admin-referral-stats span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.admin-referral-stats strong { font-size:14px; }
.admin-referral-footer { padding-top:11px; border-top:1px solid rgba(255,255,255,.07); }
.admin-referral-footer small { color:var(--muted); font-size:10px; }
@media (max-width:1050px) {
  .admin-referral-create { grid-template-columns:1fr 1fr; }
  .admin-referral-list { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .admin-referral-create { grid-template-columns:1fr; }
  .admin-referral-code-row { grid-template-columns:1fr; }
  .admin-referral-url { flex-direction:column; }
  .admin-referral-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-referral-head,.admin-referral-footer { align-items:flex-start; flex-direction:column; }
}

/* Lumora 1.7.6 — vertically aligned calendar control for Chromium/Yandex/Safari */
.date-input-control {
  position: relative;
  min-width: 0;
}
.date-input-control .input {
  width: 100%;
  padding-right: 62px;
}
.date-input-control input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0 0 0 auto;
  width: 58px;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
.date-picker-button {
  position: absolute;
  z-index: 2;
  top: calc(50% - 2px);
  right: 12px;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 13px;
  background: rgba(255,255,255,.10);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(0,0,0,.14), 0 8px 24px rgba(0,0,0,.18);
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
  -webkit-appearance: none;
  appearance: none;
}
.date-picker-button:hover {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.42);
}
.date-picker-button:active {
  transform: translateY(-50%) scale(.96);
}
.date-picker-button:focus-visible {
  outline: 3px solid rgba(255,255,255,.88);
  outline-offset: 3px;
}
.date-picker-button svg {
  width: 23px;
  height: 23px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.date-picker-button svg path:nth-child(n+3) {
  fill: currentColor;
  stroke: none;
}
@media (max-width: 560px) {
  .date-input-control .input { padding-right: 56px; }
  .date-picker-button { right: 9px; width: 40px; height: 40px; }
}

/* Lumora 1.8.0 — invitation motion system */
.effect-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.effect-choice { position:relative; min-height:92px; display:flex; align-items:center; gap:13px; padding:15px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.035); cursor:pointer; overflow:hidden; transition:border-color .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease; }
.effect-choice::after { content:""; position:absolute; inset:auto -30px -45px auto; width:105px; height:105px; border-radius:50%; background:var(--effect-glow,rgba(255,79,135,.16)); filter:blur(8px); pointer-events:none; }
.effect-choice:hover { transform:translateY(-2px); border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.06); }
.effect-choice input { position:absolute; opacity:0; pointer-events:none; }
.effect-choice:has(input:checked) { border-color:var(--pink); background:rgba(255,79,135,.1); box-shadow:0 0 0 3px rgba(255,79,135,.07),0 16px 38px rgba(0,0,0,.16); }
.effect-choice-icon { flex:0 0 43px; width:43px; height:43px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.09); font-size:22px; position:relative; z-index:1; }
.effect-choice span:last-child { min-width:0; position:relative; z-index:1; }
.effect-choice strong { display:block; font-size:14px; }
.effect-choice small { display:block; color:var(--muted); font-size:11px; line-height:1.4; margin-top:3px; }
.effect-soft { --effect-glow:rgba(255,207,224,.25); }
.effect-sparkles { --effect-glow:rgba(158,116,255,.27); }
.effect-petals { --effect-glow:rgba(255,79,135,.25); }
.effect-aurora { --effect-glow:rgba(89,244,214,.23); }

.live-card { isolation:isolate; }
.live-card > :not(.live-effect-layer) { position:relative; z-index:2; }
.live-effect-layer { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.live-effect-layer i { position:absolute; width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.75); box-shadow:0 0 18px rgba(255,255,255,.75); animation:live-speck 4.6s ease-in-out infinite; }
.live-effect-layer i:nth-child(1){left:13%;top:14%;animation-delay:-.4s}.live-effect-layer i:nth-child(2){left:78%;top:18%;animation-delay:-1.8s}.live-effect-layer i:nth-child(3){left:89%;top:48%;animation-delay:-3s}.live-effect-layer i:nth-child(4){left:21%;top:63%;animation-delay:-2.2s}.live-effect-layer i:nth-child(5){left:62%;top:78%;animation-delay:-.9s}.live-effect-layer i:nth-child(6){left:42%;top:38%;animation-delay:-3.7s}
.live-card.effect-soft .live-effect-layer i { opacity:.2; transform:scale(.55); }
.live-card.effect-petals .live-effect-layer i { width:auto; height:auto; background:none; box-shadow:none; border-radius:0; color:rgba(255,77,128,.55); }
.live-card.effect-petals .live-effect-layer i::before { content:"♥"; }
.live-card.effect-aurora .live-effect-layer { background:radial-gradient(circle at 15% 15%,rgba(80,255,218,.18),transparent 35%),radial-gradient(circle at 85% 75%,rgba(126,91,255,.2),transparent 38%); animation:live-aurora 8s ease-in-out infinite alternate; }
.live-card.effect-sparkles .live-effect-layer i { clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%); }
@keyframes live-speck { 0%,100%{opacity:.18;transform:translateY(0) scale(.65)}50%{opacity:.9;transform:translateY(-13px) scale(1.2)} }
@keyframes live-aurora { to{transform:scale(1.12) rotate(5deg)} }

.invite-page { perspective:1400px; background:radial-gradient(circle at 50% -10%,rgba(111,65,169,.3),transparent 45%),#100a17; }
.invite-shell { transform-origin:50% 24%; animation:invite-shell-enter .82s cubic-bezier(.18,.86,.24,1) both; }
@keyframes invite-shell-enter { from{opacity:0;transform:translateY(24px) scale(.975)} to{opacity:1;transform:none} }
.invite-card { --tilt-x:0deg; --tilt-y:0deg; --glow-x:50%; --glow-y:30%; isolation:isolate; transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transform-style:preserve-3d; transition:transform .18s ease-out,box-shadow .25s ease; will-change:transform; }
.invite-card:hover { box-shadow:0 45px 125px rgba(0,0,0,.44); }
.invite-card > :not(.invite-card-sheen) { position:relative; z-index:2; }
.invite-card-sheen { position:absolute; inset:-2px; z-index:1; pointer-events:none; background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(255,255,255,.34),transparent 29%),linear-gradient(112deg,transparent 25%,rgba(255,255,255,.16) 43%,transparent 59%); background-size:auto,220% 100%; mix-blend-mode:soft-light; opacity:.72; animation:invite-sheen 8s ease-in-out infinite; }
@keyframes invite-sheen { 0%,35%{background-position:center,-140% 0}70%,100%{background-position:center,160% 0} }
.invite-reveal { animation:invite-reveal-in .7s cubic-bezier(.2,.78,.2,1) both; animation-delay:var(--reveal-delay,0s); }
@keyframes invite-reveal-in { from{opacity:0;transform:translateY(14px) scale(.985);filter:blur(4px)} to{opacity:1;transform:none;filter:none} }
.invite-media-wrap { border-radius:25px; overflow:hidden; box-shadow:0 17px 45px rgba(75,40,84,.15); }
.invite-media-wrap .invite-photo { box-shadow:none; transition:transform 1.2s cubic-bezier(.2,.8,.2,1); animation:invite-photo-settle 1.4s cubic-bezier(.2,.8,.2,1) .12s both; }
.invite-card:hover .invite-media-wrap .invite-photo { transform:scale(1.025); }
@keyframes invite-photo-settle { from{transform:scale(1.075);filter:saturate(.8) blur(2px)} to{transform:scale(1);filter:none} }
.invite-branding { text-align:center; margin-top:22px; font-size:10px; opacity:.5; font-weight:800; letter-spacing:.08em; }

.invite-aurora { position:fixed; inset:-25%; pointer-events:none; opacity:0; filter:blur(70px) saturate(1.25); z-index:0; }
.invite-aurora i { position:absolute; width:45vw; height:45vw; border-radius:48% 52% 68% 32%; background:rgba(113,78,255,.25); animation:aurora-drift 13s ease-in-out infinite alternate; }
.invite-aurora i:nth-child(1){left:8%;top:14%;background:rgba(255,76,149,.22)}
.invite-aurora i:nth-child(2){right:4%;top:4%;background:rgba(90,233,215,.2);animation-delay:-5s}
.invite-aurora i:nth-child(3){left:34%;bottom:2%;background:rgba(133,89,255,.23);animation-delay:-9s}
.invite-page.effect-aurora .invite-aurora { opacity:1; animation:aurora-breathe 7s ease-in-out infinite alternate; }
@keyframes aurora-drift { to{transform:translate3d(12vw,-7vh,0) rotate(34deg) scale(1.18)} }
@keyframes aurora-breathe { to{filter:blur(88px) saturate(1.55);transform:scale(1.08)} }

.invite-bg .atmosphere-particle { position:absolute; left:var(--x); top:var(--y); width:auto; height:auto; background:none; border-radius:0; filter:none; opacity:.6; color:#fff; font-style:normal; font-size:var(--size); line-height:1; text-shadow:0 0 16px currentColor; animation-duration:var(--duration); animation-delay:var(--delay); animation-timing-function:ease-in-out; animation-iteration-count:infinite; }
.invite-page.effect-soft .atmosphere-particle { animation-name:soft-orbit; opacity:.2; }
.invite-page.effect-sparkles .atmosphere-particle { animation-name:sparkle-orbit; color:#e8d9ff; }
.invite-page.effect-petals .atmosphere-particle { animation-name:petal-fall; color:#ff93b8; }
.invite-page.effect-aurora .atmosphere-particle { animation-name:aurora-speck; color:#b8fff0; opacity:.46; }
.invite-page.effect-sparkles .p-1,.invite-page.effect-sparkles .p-4 { color:#ffd978; }
.invite-page.effect-petals .p-2,.invite-page.effect-petals .p-4 { color:#ffc9d9; }
@keyframes soft-orbit { 0%,100%{transform:translate3d(0,0,0) scale(.7);opacity:.12}50%{transform:translate3d(12px,-18px,0) scale(1);opacity:.3} }
@keyframes sparkle-orbit { 0%,100%{transform:translate3d(0,8px,0) rotate(0deg) scale(.55);opacity:.15}45%{transform:translate3d(12px,-20px,0) rotate(90deg) scale(1.25);opacity:.95} }
@keyframes petal-fall { 0%{transform:translate3d(-8px,-14vh,0) rotate(-18deg);opacity:0}12%{opacity:.75}100%{transform:translate3d(40px,105vh,0) rotate(310deg);opacity:0} }
@keyframes aurora-speck { 0%,100%{transform:translate3d(0,0,0) scale(.65);opacity:.18}50%{transform:translate3d(-18px,-24px,0) scale(1.15);opacity:.65} }

.invite-card.effect-soft::after,.invite-card.effect-sparkles::after,.invite-card.effect-petals::after,.invite-card.effect-aurora::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.7; }
.invite-card.effect-soft::after { background:radial-gradient(circle at 80% 8%,rgba(255,255,255,.35),transparent 29%),radial-gradient(circle at 5% 72%,rgba(255,255,255,.18),transparent 34%); animation:soft-card-glow 6s ease-in-out infinite alternate; }
.invite-card.effect-sparkles::after { background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(255,228,154,.75) 0 1px,transparent 1.8px); background-size:42px 42px,65px 65px; background-position:0 0,13px 20px; animation:star-field 15s linear infinite; }
.invite-card.effect-petals::after { background:radial-gradient(ellipse at 12% 5%,rgba(255,255,255,.3),transparent 30%),radial-gradient(ellipse at 95% 45%,rgba(255,103,156,.19),transparent 32%); animation:petal-card-glow 7s ease-in-out infinite alternate; }
.invite-card.effect-aurora::after { background:linear-gradient(125deg,rgba(70,248,207,.18),transparent 31%,rgba(137,81,255,.18) 62%,rgba(255,95,161,.14)); background-size:180% 180%; animation:aurora-card 8s ease-in-out infinite alternate; }
@keyframes soft-card-glow { to{opacity:1;transform:scale(1.04)} }
@keyframes star-field { to{background-position:84px 42px,-52px 85px} }
@keyframes petal-card-glow { to{transform:translate3d(-2%,2%,0) scale(1.08)} }
@keyframes aurora-card { to{background-position:100% 100%;filter:hue-rotate(18deg)} }

.meta-pill,.select-card label,.reaction button { transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease; }
.meta-pill:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(46,25,54,.12); }
.select-card label:hover { transform:translateY(-2px); border-color:rgba(51,29,57,.3); box-shadow:0 8px 20px rgba(46,25,54,.09); }
.select-card input:checked + label { animation:option-selected .38s cubic-bezier(.2,.9,.25,1.25); }
@keyframes option-selected { 50%{transform:scale(1.035)} }
.reaction button:hover { transform:translateY(-3px) scale(1.06); }
.reaction button.active { box-shadow:0 10px 28px rgba(44,24,49,.2); }
.invite-primary-action { position:relative; overflow:hidden; isolation:isolate; box-shadow:0 12px 30px rgba(44,24,49,.19); }
.invite-primary-action::before { content:""; position:absolute; inset:-35% auto -35% -55%; width:38%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-18deg); animation:primary-shine 4.4s ease-in-out infinite; z-index:-1; }
.invite-primary-action:hover { transform:translateY(-2px); box-shadow:0 17px 38px rgba(44,24,49,.25); }
.invite-primary-action.is-celebrating { animation:yes-celebrate .65s cubic-bezier(.2,.9,.25,1.35); }
@keyframes primary-shine { 0%,58%{left:-55%}82%,100%{left:130%} }
@keyframes yes-celebrate { 35%{transform:scale(1.06) rotate(-1deg)}70%{transform:scale(.985) rotate(1deg)} }
.invite-burst { position:fixed; z-index:9999; pointer-events:none; color:#ff679b; font-style:normal; font-size:18px; text-shadow:0 0 12px rgba(255,255,255,.8); animation:invite-burst-fly 1.05s cubic-bezier(.16,.8,.25,1) forwards; }
@keyframes invite-burst-fly { from{opacity:1;transform:translate(-50%,-50%) scale(.55) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) scale(1.25) rotate(var(--burst-r))} }

@media (max-width:760px) {
  .effect-grid { grid-template-columns:1fr; }
  .effect-choice { min-height:78px; }
  .invite-card { transform:none !important; }
  .invite-card-sheen { opacity:.55; }
  .invite-page { padding:20px 12px; }
}

@media (prefers-reduced-motion:reduce) {
  .invite-shell,.invite-reveal,.invite-photo,.invite-card-sheen,.invite-aurora,.invite-aurora i,.invite-bg .atmosphere-particle,.live-effect-layer i,.live-card.effect-aurora .live-effect-layer,.invite-primary-action::before { animation:none !important; }
  .invite-reveal { opacity:1 !important; transform:none !important; filter:none !important; }
  .invite-card { transform:none !important; transition:none !important; }
}

/* Lumora 1.8.1 — tiered Light and Cinema effect library */
.effect-catalog { display:grid; gap:16px; margin-top:10px; }
.effect-tier { padding:13px; border:1px solid rgba(255,255,255,.075); border-radius:21px; background:rgba(255,255,255,.018); }
.effect-tier-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 2px 10px; }
.effect-tier-head strong { font-size:12px; letter-spacing:.02em; }
.effect-tier-head span { color:var(--muted); font-size:10px; }
.effect-tier-basic { box-shadow:inset 0 1px 0 rgba(255,213,144,.05); }
.effect-tier-pro { box-shadow:inset 0 1px 0 rgba(210,142,255,.07); }
.effect-tier-max { border-color:rgba(255,107,157,.13); box-shadow:inset 0 1px 0 rgba(255,107,157,.07); }
.effect-plan-help { margin:6px 0 0; }
.effect-choice em { display:inline-flex; margin-top:7px; padding:4px 7px; border-radius:999px; background:rgba(255,255,255,.065); color:rgba(255,255,255,.66); font-size:9px; font-style:normal; line-height:1.2; }
.effect-choice-upgrade em { color:#ffbfda; background:rgba(255,79,135,.11); }
.effect-choice-upgrade:not(:has(input:checked)) { border-style:dashed; }
.effect-heartbeat { --effect-glow:rgba(255,75,128,.28); }
.effect-fireflies { --effect-glow:rgba(255,202,91,.27); }
.effect-ripples { --effect-glow:rgba(121,190,255,.25); }
.effect-neon { --effect-glow:rgba(89,255,228,.27); }
.effect-cosmos { --effect-glow:rgba(115,116,255,.31); }
.effect-heartbeat .effect-choice-icon { animation:effect-heartbeat-icon 1.65s ease-in-out infinite; }
.effect-fireflies .effect-choice-icon { box-shadow:0 0 23px rgba(255,203,91,.18); animation:effect-firefly-icon 2.8s ease-in-out infinite alternate; }
.effect-ripples .effect-choice-icon::after { content:""; position:absolute; inset:6px; border:1px solid currentColor; border-radius:50%; animation:effect-ripple-icon 2s ease-out infinite; }
.effect-neon .effect-choice-icon { color:#98ffe8; text-shadow:0 0 12px currentColor; animation:effect-neon-icon 2.4s steps(1,end) infinite; }
.effect-cosmos .effect-choice-icon { animation:effect-cosmos-icon 4s linear infinite; }
@keyframes effect-heartbeat-icon { 0%,45%,100%{transform:scale(1)}12%{transform:scale(1.13)}24%{transform:scale(.98)}34%{transform:scale(1.08)} }
@keyframes effect-firefly-icon { to{box-shadow:0 0 30px rgba(255,203,91,.48);filter:brightness(1.2)} }
@keyframes effect-ripple-icon { from{opacity:.8;transform:scale(.35)}to{opacity:0;transform:scale(1.55)} }
@keyframes effect-neon-icon { 0%,92%,100%{opacity:1}94%{opacity:.3}96%{opacity:1}98%{opacity:.55} }
@keyframes effect-cosmos-icon { to{transform:rotate(360deg)} }

/* Builder live preview: every effect has its own motion language. */
.live-card.effect-heartbeat { animation:live-heartbeat-card 2.2s ease-in-out infinite; }
.live-card.effect-heartbeat .live-effect-layer i { width:auto;height:auto;background:none;box-shadow:none;color:rgba(255,73,132,.58);font-size:13px;animation:live-heart-rise 4.5s ease-in-out infinite; }
.live-card.effect-heartbeat .live-effect-layer i::before { content:"♥"; }
.live-card.effect-fireflies .live-effect-layer i { width:5px;height:5px;background:#ffd976;box-shadow:0 0 14px #ffd976,0 0 28px rgba(255,209,102,.45);animation:live-firefly 5.2s ease-in-out infinite; }
.live-card.effect-ripples .live-effect-layer::before,.live-card.effect-ripples .live-effect-layer::after { content:"";position:absolute;left:50%;top:46%;width:45%;aspect-ratio:1;border:1px solid rgba(166,216,255,.36);border-radius:50%;transform:translate(-50%,-50%) scale(.2);animation:live-ripple 3.4s ease-out infinite; }
.live-card.effect-ripples .live-effect-layer::after { animation-delay:1.7s; }
.live-card.effect-ripples .live-effect-layer i { display:none; }
.live-card.effect-neon { box-shadow:inset 0 0 0 1px rgba(109,255,228,.42),0 0 26px rgba(91,255,229,.14);animation:live-neon-border 3s steps(1,end) infinite; }
.live-card.effect-neon .live-effect-layer { background:linear-gradient(110deg,transparent 30%,rgba(102,255,226,.15),transparent 65%);background-size:220% 100%;animation:live-neon-scan 4.5s linear infinite; }
.live-card.effect-cosmos .live-effect-layer { background:radial-gradient(circle at 50% 42%,rgba(104,83,255,.2),transparent 45%); }
.live-card.effect-cosmos .live-effect-layer i { clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);animation:live-cosmos-star 4.8s ease-in-out infinite; }
.live-card.effect-cosmos .live-effect-layer::after { content:"";position:absolute;width:70%;height:1px;left:-70%;top:20%;background:linear-gradient(90deg,transparent,#fff,transparent);transform:rotate(-18deg);animation:live-meteor 5.5s ease-in infinite; }
@keyframes live-heartbeat-card { 0%,46%,100%{box-shadow:0 30px 80px rgba(38,22,45,.18)}12%{box-shadow:0 30px 88px rgba(255,69,128,.27)}26%{box-shadow:0 30px 80px rgba(38,22,45,.18)}34%{box-shadow:0 30px 84px rgba(255,69,128,.2)} }
@keyframes live-heart-rise { 0%,100%{opacity:.1;transform:translateY(10px) scale(.7)}50%{opacity:.68;transform:translateY(-18px) scale(1.08)} }
@keyframes live-firefly { 0%,100%{opacity:.14;transform:translate3d(-5px,7px,0) scale(.65)}35%{opacity:1;transform:translate3d(15px,-11px,0) scale(1.25)}70%{opacity:.35;transform:translate3d(-10px,-20px,0) scale(.8)} }
@keyframes live-ripple { 0%{opacity:.65;transform:translate(-50%,-50%) scale(.18)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.55)} }
@keyframes live-neon-border { 0%,90%,100%{filter:none}92%{filter:brightness(.55)}94%{filter:brightness(1.45)}96%{filter:brightness(.8)} }
@keyframes live-neon-scan { to{background-position:-220% 0} }
@keyframes live-cosmos-star { 0%,100%{opacity:.17;transform:scale(.55) rotate(0)}48%{opacity:1;transform:scale(1.2) rotate(80deg)} }
@keyframes live-meteor { 0%,68%{opacity:0;transform:translateX(0) rotate(-18deg)}72%{opacity:1}100%{opacity:0;transform:translateX(250%) rotate(-18deg)} }

/* Lite — Heartbeat */
.invite-page.effect-heartbeat { background:radial-gradient(circle at 50% -5%,rgba(255,75,128,.25),transparent 44%),#140a13; }
.invite-page.effect-heartbeat .atmosphere-particle { color:#ff7ea8;animation-name:heartbeat-float; }
.invite-card.effect-heartbeat::after { content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.3),transparent 28%),radial-gradient(circle at 50% 55%,rgba(255,82,139,.18),transparent 48%);animation:heartbeat-card 2.15s ease-in-out infinite; }
.invite-page.effect-heartbeat .invite-primary-action { animation:heartbeat-button 2.15s ease-in-out infinite; }
@keyframes heartbeat-float { 0%,100%{opacity:.12;transform:translateY(8px) scale(.6)}16%{opacity:.7;transform:translateY(-3px) scale(1.06)}42%{opacity:.2;transform:translate(9px,-17px) scale(.8)} }
@keyframes heartbeat-card { 0%,45%,100%{opacity:.52;transform:scale(1)}12%{opacity:.88;transform:scale(1.012)}25%{opacity:.55;transform:scale(1)}34%{opacity:.75;transform:scale(1.007)} }
@keyframes heartbeat-button { 0%,45%,100%{box-shadow:0 12px 30px rgba(44,24,49,.19)}12%{box-shadow:0 15px 38px rgba(255,64,128,.36);transform:scale(1.012)}25%{transform:none}34%{transform:scale(1.006)} }

/* Lite — Fireflies */
.invite-page.effect-fireflies { background:radial-gradient(circle at 50% -10%,rgba(255,187,72,.2),transparent 45%),#100d0a; }
.invite-page.effect-fireflies .atmosphere-particle { color:#ffd66f;text-shadow:0 0 8px #ffd66f,0 0 24px rgba(255,204,92,.8);animation-name:firefly-drift; }
.invite-page.effect-fireflies .p-1,.invite-page.effect-fireflies .p-4 { color:#fff1b9; }
.invite-card.effect-fireflies::after { content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 20% 25%,rgba(255,221,120,.42) 0 2px,transparent 3px),radial-gradient(circle at 76% 18%,rgba(255,241,188,.4) 0 2px,transparent 3px),radial-gradient(circle at 83% 72%,rgba(255,203,72,.35) 0 2px,transparent 3px);animation:firefly-card-glow 5s ease-in-out infinite alternate; }
@keyframes firefly-drift { 0%,100%{opacity:.08;transform:translate3d(-12px,12px,0) scale(.45)}30%{opacity:1;transform:translate3d(15px,-9px,0) scale(1.1)}65%{opacity:.25;transform:translate3d(-6px,-30px,0) scale(.7)} }
@keyframes firefly-card-glow { to{filter:brightness(1.25);opacity:.95;transform:translateY(-3px)} }

/* Lite — Light ripples */
.invite-page.effect-ripples { background:radial-gradient(circle at 50% 12%,rgba(100,179,255,.22),transparent 44%),#090f18; }
.invite-page.effect-ripples .atmosphere-particle { color:#9bd7ff;animation-name:ripple-particle; }
.invite-card.effect-ripples::after { content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;background:repeating-radial-gradient(circle at 50% 38%,transparent 0 34px,rgba(116,197,255,.12) 35px 36px,transparent 37px 62px);animation:ripple-card-field 7s linear infinite; }
.invite-ripple { position:fixed;z-index:9999;width:24px;height:24px;border:2px solid rgba(143,214,255,.9);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(.2);box-shadow:0 0 20px rgba(113,199,255,.5);animation:invite-ripple-expand 1s ease-out forwards; }
@keyframes ripple-particle { 0%,100%{opacity:.08;transform:scale(.4)}50%{opacity:.52;transform:scale(1.25)} }
@keyframes ripple-card-field { to{transform:rotate(8deg) scale(1.06)} }
@keyframes invite-ripple-expand { to{opacity:0;transform:translate(-50%,-50%) scale(6)} }

/* Neon */
.invite-page.effect-neon { background:radial-gradient(circle at 50% -10%,rgba(0,255,211,.16),transparent 38%),radial-gradient(circle at 90% 45%,rgba(255,31,155,.14),transparent 35%),#060914; }
.invite-page.effect-neon .atmosphere-particle { color:#6dffe0;text-shadow:0 0 8px currentColor,0 0 18px currentColor;animation-name:neon-particle; }
.invite-page.effect-neon .p-1,.invite-page.effect-neon .p-5 { color:#ff5fbd; }
.invite-card.effect-neon { box-shadow:0 0 0 1px rgba(98,255,226,.45),0 0 34px rgba(75,255,222,.2),0 35px 100px rgba(0,0,0,.45);animation:neon-card-flicker 4.6s steps(1,end) infinite; }
.invite-card.effect-neon::before { content:"";position:absolute;inset:5px;z-index:3;border:1px solid rgba(255,72,187,.36);border-radius:33px;pointer-events:none;box-shadow:inset 0 0 16px rgba(255,72,187,.13); }
.invite-card.effect-neon::after { content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 26%,rgba(99,255,226,.19) 43%,transparent 58%);background-size:240% 100%;animation:neon-card-scan 5s linear infinite; }
.invite-page.effect-neon .invite-primary-action { box-shadow:0 0 22px rgba(68,255,219,.34),0 12px 30px rgba(44,24,49,.2); }
@keyframes neon-particle { 0%,100%{opacity:.12;transform:translateY(6px) scale(.5)}50%{opacity:.95;transform:translateY(-20px) scale(1.15)} }
@keyframes neon-card-flicker { 0%,88%,92%,100%{filter:none}89%{filter:brightness(.65)}90%{filter:brightness(1.22)}94%{filter:brightness(.82)} }
@keyframes neon-card-scan { to{background-position:-240% 0} }

/* Cosmos */
.invite-page.effect-cosmos { background:radial-gradient(circle at 50% 5%,rgba(78,65,203,.34),transparent 38%),radial-gradient(circle at 15% 72%,rgba(181,64,255,.17),transparent 35%),#040612; }
.invite-page.effect-cosmos .atmosphere-particle { color:#d8e1ff;text-shadow:0 0 13px currentColor;animation-name:cosmos-star; }
.invite-page.effect-cosmos .p-3,.invite-page.effect-cosmos .p-6 { animation-name:cosmos-meteor;color:#fff; }
.invite-card.effect-cosmos::before { content:"";position:absolute;left:50%;top:34%;width:78%;aspect-ratio:1;z-index:0;border:1px solid rgba(177,181,255,.19);border-radius:50%;transform:translate(-50%,-50%) rotate(-14deg);pointer-events:none;animation:cosmos-orbit 18s linear infinite;box-shadow:0 0 45px rgba(105,91,255,.08); }
.invite-card.effect-cosmos::after { content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.85) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(160,178,255,.72) 0 1px,transparent 1.8px);background-size:47px 47px,73px 73px;background-position:0 0,17px 26px;animation:cosmos-field 20s linear infinite; }
.invite-card.effect-cosmos .invite-photo { animation:cosmos-photo 7s ease-in-out infinite alternate; }
@keyframes cosmos-star { 0%,100%{opacity:.08;transform:scale(.42) rotate(0)}48%{opacity:1;transform:scale(1.25) rotate(110deg)} }
@keyframes cosmos-meteor { 0%,70%{opacity:0;transform:translate3d(-80px,-50px,0) rotate(-25deg)}75%{opacity:1}100%{opacity:0;transform:translate3d(180px,140px,0) rotate(-25deg)} }
@keyframes cosmos-orbit { to{transform:translate(-50%,-50%) rotate(346deg)} }
@keyframes cosmos-field { to{background-position:94px 47px,-56px 146px} }
@keyframes cosmos-photo { to{transform:scale(1.03) translateY(-3px);filter:saturate(1.08)} }

@media (max-width:760px) {
  .effect-tier { padding:10px; }
  .effect-tier-head { align-items:flex-start;flex-direction:column;gap:3px; }
}
@media (prefers-reduced-motion:reduce) {
  .invite-ripple { display:none !important; }
  .effect-choice-icon,.live-card.effect-heartbeat,.live-card.effect-neon,.invite-card.effect-heartbeat,.invite-card.effect-fireflies,.invite-card.effect-ripples,.invite-card.effect-neon,.invite-card.effect-cosmos,.invite-card.effect-cosmos::before { animation:none !important; }
}

/* Lumora 1.8.3 — photo overlays, simplified final review and mobile-first builder */
.mobile-preview { display:none; }
.legal-consent-card { margin-top:18px; align-items:center; background:linear-gradient(135deg,rgba(255,79,135,.09),rgba(138,92,255,.08)); border-color:rgba(255,130,171,.26); }
.legal-consent-card input { flex:0 0 auto; }
.legal-consent-card > span { display:grid; gap:4px; }
.legal-consent-card > span > span { display:block; line-height:1.45; }
.consent-links { margin-top:3px; font-size:11px !important; }
.consent-links a { color:var(--pink-2); text-decoration:underline; text-underline-offset:3px; }
.final-review { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.final-review > div { min-height:102px; display:flex; flex-direction:column; justify-content:space-between; gap:14px; padding:18px; border:1px solid var(--line); border-radius:19px; background:rgba(255,255,255,.035); }
.final-review .final-review-main { grid-column:1/-1; min-height:116px; background:linear-gradient(135deg,rgba(255,79,135,.14),rgba(138,92,255,.13)); }
.final-review span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.final-review strong { font-size:15px; line-height:1.45; }

.live-photo,.invite-media-wrap { position:relative; isolation:isolate; }
.live-photo > img,.live-photo-placeholder,.invite-media-wrap > .invite-photo { position:relative; z-index:1; }
.live-photo-placeholder { display:grid; place-items:center; width:100%; height:100%; }
.photo-effect-layer { position:absolute; inset:0; z-index:4; overflow:hidden; pointer-events:none; border-radius:inherit; }
.photo-effect-layer::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); pointer-events:none; }
.photo-effect-sheen { position:absolute; inset:-30%; opacity:.62; transform:translateX(-58%) rotate(14deg); background:linear-gradient(90deg,transparent 34%,rgba(255,255,255,.34) 48%,transparent 62%); animation:photo-sheen 6.4s ease-in-out infinite; }
.photo-effect-layer i { position:absolute; left:var(--fx-left,15%); top:var(--fx-top,20%); width:7px; height:7px; border-radius:50%; opacity:.7; }
.photo-effect-layer i:nth-of-type(1){--fx-left:9%;--fx-top:18%;animation-delay:-.4s}
.photo-effect-layer i:nth-of-type(2){--fx-left:24%;--fx-top:72%;animation-delay:-1.7s}
.photo-effect-layer i:nth-of-type(3){--fx-left:38%;--fx-top:28%;animation-delay:-3.1s}
.photo-effect-layer i:nth-of-type(4){--fx-left:52%;--fx-top:82%;animation-delay:-.9s}
.photo-effect-layer i:nth-of-type(5){--fx-left:65%;--fx-top:16%;animation-delay:-2.4s}
.photo-effect-layer i:nth-of-type(6){--fx-left:76%;--fx-top:60%;animation-delay:-4.2s}
.photo-effect-layer i:nth-of-type(7){--fx-left:88%;--fx-top:29%;animation-delay:-1.2s}
.photo-effect-layer i:nth-of-type(8){--fx-left:17%;--fx-top:45%;animation-delay:-3.6s}
.photo-effect-layer i:nth-of-type(9){--fx-left:57%;--fx-top:47%;animation-delay:-2.8s}
.photo-effect-layer i:nth-of-type(10){--fx-left:91%;--fx-top:84%;animation-delay:-.2s}
@keyframes photo-sheen { 0%,28%{transform:translateX(-65%) rotate(14deg)}70%,100%{transform:translateX(65%) rotate(14deg)} }

/* Light photo scenes */
.photo-effect-soft { background:radial-gradient(circle at 78% 12%,rgba(255,255,255,.22),transparent 30%),linear-gradient(to top,rgba(43,16,51,.08),transparent 45%); }
.photo-effect-soft i { background:#fff; box-shadow:0 0 13px rgba(255,255,255,.85); animation:photo-soft-dot 4.8s ease-in-out infinite; }
@keyframes photo-soft-dot { 0%,100%{opacity:.12;transform:scale(.55)}50%{opacity:.75;transform:translateY(-8px) scale(1)} }
.photo-effect-heartbeat { background:radial-gradient(circle at 50% 52%,rgba(255,56,125,.18),transparent 46%); }
.photo-effect-heartbeat b { position:absolute; left:50%; top:50%; width:72px; height:64px; transform:translate(-50%,-50%); opacity:.24; filter:drop-shadow(0 0 18px rgba(255,65,135,.65)); animation:photo-heart-pulse 2.15s ease-in-out infinite; }
.photo-effect-heartbeat b::before { content:"♥"; color:#ff5a91; font-size:64px; line-height:1; }
.photo-effect-heartbeat i { width:auto; height:auto; background:none; color:rgba(255,210,224,.85); font-style:normal; animation:photo-heart-rise 4.6s ease-in-out infinite; }
.photo-effect-heartbeat i::before { content:"♥"; font-size:12px; }
@keyframes photo-heart-pulse { 0%,100%{transform:translate(-50%,-50%) scale(.86)}14%{transform:translate(-50%,-50%) scale(1.08)}28%{transform:translate(-50%,-50%) scale(.94)}42%{transform:translate(-50%,-50%) scale(1.04)} }
@keyframes photo-heart-rise { 0%,100%{opacity:0;transform:translateY(14px) scale(.6)}30%{opacity:.85}70%{opacity:.5}100%{transform:translateY(-38px) scale(1.05)} }
.photo-effect-fireflies i { background:#ffe083; box-shadow:0 0 8px #ffe083,0 0 22px rgba(255,211,90,.68); animation:photo-firefly 5.2s ease-in-out infinite; }
@keyframes photo-firefly { 0%,100%{opacity:.12;transform:translate(0,5px) scale(.55)}45%{opacity:1;transform:translate(10px,-13px) scale(1.15)}72%{opacity:.45;transform:translate(-5px,-22px) scale(.75)} }
.photo-effect-ripples b,.photo-effect-ripples em { position:absolute; left:50%; top:52%; width:42%; aspect-ratio:1; border:1.5px solid rgba(171,222,255,.72); border-radius:50%; transform:translate(-50%,-50%) scale(.12); box-shadow:0 0 20px rgba(118,201,255,.22); animation:photo-ripple 3.5s ease-out infinite; }
.photo-effect-ripples em { animation-delay:1.75s; }
.photo-effect-ripples i { display:none; }
@keyframes photo-ripple { 0%{opacity:.75;transform:translate(-50%,-50%) scale(.12)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.5)} }

/* Wow photo scenes */
.photo-effect-sparkles i { background:#fff; clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%); box-shadow:0 0 12px #fff; animation:photo-star 4.1s ease-in-out infinite; }
.photo-effect-sparkles i:nth-of-type(3n) { background:#ffe179; }
@keyframes photo-star { 0%,100%{opacity:.08;transform:scale(.35) rotate(0)}48%{opacity:1;transform:scale(1.35) rotate(105deg)} }
.photo-effect-petals i { width:auto; height:auto; background:none; color:rgba(255,166,194,.9); font-style:normal; animation:photo-petal 5.5s linear infinite; }
.photo-effect-petals i::before { content:"♥"; font-size:13px; }
@keyframes photo-petal { 0%{opacity:0;transform:translate(-8px,-30px) rotate(-20deg)}15%{opacity:.85}100%{opacity:0;transform:translate(32px,120px) rotate(280deg)} }
.photo-effect-aurora { background:radial-gradient(circle at 18% 18%,rgba(75,255,210,.22),transparent 38%),radial-gradient(circle at 86% 72%,rgba(137,82,255,.25),transparent 42%); background-size:135% 135%; animation:photo-aurora 7s ease-in-out infinite alternate; mix-blend-mode:screen; }
.photo-effect-aurora i { background:#c8fff1; box-shadow:0 0 14px currentColor; animation:photo-soft-dot 4.7s ease-in-out infinite; }
@keyframes photo-aurora { to{background-position:100% 100%;filter:hue-rotate(20deg) saturate(1.25)} }

.photo-effect-neon { box-shadow:inset 0 0 0 2px rgba(83,255,220,.48),inset 0 0 25px rgba(255,54,177,.14); }
.photo-effect-neon .photo-effect-sheen { opacity:.8; background:linear-gradient(90deg,transparent 34%,rgba(76,255,222,.45) 49%,transparent 63%); animation-duration:4s; }
.photo-effect-neon i { width:5px; height:5px; background:#64ffe1; box-shadow:0 0 12px currentColor; animation:photo-neon-blink 3.7s steps(1,end) infinite; }
.photo-effect-neon i:nth-of-type(2n){background:#ff63c0;}
@keyframes photo-neon-blink { 0%,78%,100%{opacity:.12}82%{opacity:1;transform:scale(1.3)}88%{opacity:.35}92%{opacity:.9} }
.photo-effect-cosmos { background:radial-gradient(circle at 50% 45%,rgba(84,70,255,.17),transparent 46%); }
.photo-effect-cosmos i { width:5px; height:5px; background:#e6ebff; clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%); filter:drop-shadow(0 0 7px #c6d0ff); animation:photo-star 4.8s ease-in-out infinite; }
.photo-effect-cosmos b { position:absolute; width:62%; height:1px; left:-70%; top:23%; background:linear-gradient(90deg,transparent,#fff,transparent); transform:rotate(-18deg); animation:photo-meteor 5.8s ease-in infinite; }
.photo-effect-cosmos em { position:absolute; left:50%; top:50%; width:74%; aspect-ratio:1; border:1px solid rgba(193,202,255,.28); border-radius:50%; transform:translate(-50%,-50%) rotate(-15deg); animation:photo-orbit 14s linear infinite; }
@keyframes photo-meteor { 0%,68%{opacity:0;transform:translate(-20px,-10px) rotate(-18deg)}74%{opacity:1}100%{opacity:0;transform:translate(190%,110px) rotate(-18deg)} }
@keyframes photo-orbit { to{transform:translate(-50%,-50%) rotate(345deg)} }

@media (max-width:620px) {
  .app-page { padding-bottom:calc(92px + env(safe-area-inset-bottom)); }
  .app-header { position:sticky; top:0; z-index:45; min-height:64px; padding:8px 0; background:rgba(16,10,23,.90); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
  .app-header .logo { font-size:17px; }
  .app-header #resetBuilder { min-height:38px; padding:8px 10px; font-size:11px; }
  .progress-wrap { width:min(47vw,210px); }
  .progress-meta { margin-bottom:5px; font-size:10px; }
  .builder-layout { width:100%; padding:12px 12px 0; gap:0; }
  .builder-panel { min-height:0; padding:20px 16px 32px; border-radius:22px; }
  .builder-panel h1 { font-size:clamp(27px,9vw,38px); line-height:1.08; margin-bottom:10px; }
  .builder-sub { margin-bottom:23px; font-size:14px; }
  .input,.textarea,.select { min-height:52px; padding:14px; border-radius:14px; font-size:16px; }
  .textarea { min-height:118px; }
  .field { gap:7px; }
  .field label { font-size:14px; }
  .form-grid { gap:15px; }
  .inline-add,.map-search-row { grid-template-columns:1fr; }
  .inline-add > .btn,.map-search-row > .btn { width:100%; min-height:48px; }
  .date-input-control .input { padding-right:64px; }
  .date-picker-button { width:44px; height:44px; right:7px; top:50%; }
  .chips-editor { gap:7px; }
  .chip { min-height:42px; padding:9px 12px; }
  .upload-box { min-height:138px; padding:17px; }
  .upload-box img { height:180px; }
  .audio-box { flex-wrap:wrap; padding:14px; }
  .audio-box > div { flex-basis:calc(100% - 30px) !important; }
  .audio-box .btn,.audio-box label.btn { flex:1 1 120px; min-height:46px; }
  .theme-grid { gap:8px; }
  .theme-swatch { min-height:72px; }
  .effect-grid { grid-template-columns:1fr; }
  .effect-choice { min-height:82px; padding:13px; }
  .choice-grid { gap:10px; }
  .choice label { min-height:104px; padding:16px; }
  .toggle { padding:15px; border-radius:16px; }
  .toggle input { width:24px; height:24px; margin-top:1px; }
  .legal-consent-card { margin-top:16px; }
  .consent-links { font-size:12px !important; }
  .final-review { grid-template-columns:1fr; }
  .final-review .final-review-main { grid-column:auto; }
  .final-review > div { min-height:88px; padding:16px; }
  .yandex-map-shell,.yandex-map { min-height:260px; height:260px; }
  .mobile-preview { display:block; margin-top:24px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.025); overflow:hidden; }
  .mobile-preview summary { list-style:none; cursor:pointer; min-height:54px; display:flex; align-items:center; justify-content:space-between; padding:14px 16px; font-size:13px; font-weight:800; }
  .mobile-preview summary::-webkit-details-marker { display:none; }
  .mobile-preview summary::after { content:"⌄"; font-size:20px; color:var(--pink-2); transition:transform .2s ease; }
  .mobile-preview[open] summary::after { transform:rotate(180deg); }
  .mobile-preview-inner { padding:0 10px 10px; }
  .mobile-preview .live-card { min-height:440px; padding:22px; border-radius:25px; }
  .mobile-preview .live-card h3 { font-size:21px; }
  .mobile-preview .live-photo { margin:14px 0; }
  .builder-actions { position:fixed; z-index:60; left:0; right:0; bottom:0; margin:0; padding:11px 12px calc(11px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:minmax(104px,.42fr) minmax(0,1fr); gap:9px; background:rgba(15,9,22,.94); border-top:1px solid rgba(255,255,255,.11); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); box-shadow:0 -16px 38px rgba(0,0,0,.28); }
  .builder-actions .btn { width:100%; min-height:50px; padding:12px 10px; }
  .builder-actions #nextStep { box-shadow:0 10px 28px rgba(255,79,135,.22); }
  .invite-page { padding:16px 10px calc(20px + env(safe-area-inset-bottom)); align-items:start; }
  .invite-shell { width:100%; }
  .invite-top { padding:0 4px; margin-bottom:10px; }
  .invite-card { padding:18px; border-radius:25px; }
  .invite-media-wrap { border-radius:19px; }
  .invite-photo { max-height:300px; border-radius:19px; }
  .invite-card h1 { margin-top:22px; font-size:clamp(27px,9vw,38px); }
  .invite-message { font-size:15px; }
  .meta-pill { min-height:42px; display:inline-flex; align-items:center; }
  .select-card label { min-height:50px; display:flex; align-items:center; padding:13px 14px; }
  .reaction { overflow-x:auto; justify-content:flex-start; padding-bottom:4px; }
  .reaction button { flex:0 0 46px; width:46px; height:46px; }
  .invite-actions .btn { min-height:52px; }
}
@media (max-width:380px) {
  .app-header #resetBuilder { max-width:74px; overflow:hidden; text-overflow:ellipsis; }
  .progress-wrap { width:43vw; }
  .builder-layout { padding-inline:8px; }
  .builder-panel { padding-inline:13px; }
  .builder-actions { grid-template-columns:96px minmax(0,1fr); padding-inline:8px; }
  .builder-actions .btn { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .photo-effect-layer,.photo-effect-layer * { animation:none !important; }
  .photo-effect-sheen { display:none; }
}
@media (max-width:620px) {
  body:has(.app-page) .language-switcher { top:72px; right:10px; bottom:auto; z-index:44; }
  body:has(.app-page) .toast { bottom:calc(92px + env(safe-area-inset-bottom)); }
}

/* Lumora 1.8.4 — Russian, English and Kazakh public interface */


/* Lumora 1.9.0 — расширенная административная аналитика */
.admin-quick-nav { display:flex; align-items:center; gap:5px; padding:5px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.025); border-radius:999px; }
.admin-quick-nav a { color:var(--muted); text-decoration:none; font-size:10px; font-weight:800; padding:8px 11px; border-radius:999px; }
.admin-quick-nav a:hover { color:var(--text); background:rgba(255,255,255,.07); }
.admin-overview-metrics { grid-template-columns:repeat(7,minmax(0,1fr)); }
.admin-metric > div { display:flex; justify-content:space-between; align-items:flex-end; gap:8px; min-height:17px; }
.admin-metric-change { font-size:10px; font-style:normal; font-weight:900; padding:4px 7px; border-radius:999px; }
.admin-metric-change.up { color:#83e8b8; background:rgba(58,205,135,.12); }
.admin-metric-change.down { color:#ff9bad; background:rgba(255,102,124,.12); }
.admin-metric-change.flat { color:var(--muted); background:rgba(255,255,255,.06); }
.admin-metric.success { border-color:rgba(58,205,135,.18); }
.admin-metric.revenue { border-color:rgba(166,119,255,.25); background:linear-gradient(145deg,rgba(151,78,255,.1),rgba(255,255,255,.025)); }
.admin-overview-grid { grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr); }
.admin-svg-chart { min-height:300px; display:grid; gap:10px; }
.admin-svg-chart svg { width:100%; height:280px; overflow:visible; }
.admin-svg-chart .grid line { stroke:rgba(255,255,255,.07); stroke-width:1; }
.admin-svg-chart .grid text { fill:rgba(235,225,240,.42); font-size:9px; }
.admin-svg-chart .series { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 7px rgba(255,255,255,.08)); }
.admin-svg-chart .series.views { stroke:#ff6fa4; }
.admin-svg-chart .series.visitors { stroke:#9e7cff; }
.admin-svg-chart .series.invitations { stroke:#70dfb0; }
.admin-svg-chart .point { stroke:none; }
.admin-svg-chart .point.views { fill:#ff8ab6; }
.admin-chart-legend { display:flex; gap:16px; flex-wrap:wrap; color:var(--muted); font-size:10px; }
.admin-chart-legend span::before { content:""; display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:6px; }
.admin-chart-legend .views::before { background:#ff6fa4; }
.admin-chart-legend .visitors::before { background:#9e7cff; }
.admin-chart-legend .invitations::before { background:#70dfb0; }
.admin-payments { margin-bottom:14px; padding:0; overflow:hidden; }
.admin-payments > .admin-panel-head { padding:22px 22px 0; align-items:flex-start; }
.admin-payment-filters { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.admin-payment-filters .select { width:auto; min-width:125px; }
.admin-payment-filters .input { width:190px; }
.admin-payment-metrics { padding:18px 22px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.admin-payment-analytics { padding:0 22px 20px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:12px; }
.admin-payment-analytics > article { min-width:0; border:1px solid rgba(255,255,255,.08); border-radius:20px; background:rgba(255,255,255,.02); padding:16px; }
.admin-subhead { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.admin-subhead h3 { margin:0; font-size:14px; }
.admin-payment-legend { display:flex; gap:12px; color:var(--muted); font-size:9px; }
.admin-payment-legend span::before { content:""; display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:5px; background:#ff6fa4; }
.admin-payment-legend span + span::before { background:#9e7cff; }
.admin-payment-chart { height:230px; display:flex; align-items:stretch; gap:4px; overflow-x:auto; padding:5px 2px 0; }
.admin-payment-day { min-width:12px; flex:1; display:grid; grid-template-rows:1fr 26px; gap:6px; align-items:end; }
.admin-payment-bars { height:100%; display:flex; align-items:end; justify-content:center; gap:2px; border-bottom:1px solid rgba(255,255,255,.09); }
.admin-payment-bars i,.admin-payment-bars b { width:38%; min-height:2px; border-radius:5px 5px 2px 2px; transition:filter .2s ease; }
.admin-payment-bars i { background:linear-gradient(180deg,#ff83b1,#ff4f87); }
.admin-payment-bars b { background:linear-gradient(180deg,#b39aff,#7a5cff); }
.admin-payment-day small { color:rgba(235,225,240,.42); font-size:8px; transform:rotate(-45deg); transform-origin:center; white-space:nowrap; }
.admin-plan-breakdown { display:grid; gap:18px; }
.admin-plan-breakdown > div { display:grid; gap:7px; }
.admin-plan-breakdown header { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:11px; }
.admin-plan-breakdown header strong { font-size:12px; }
.admin-plan-breakdown small { color:var(--muted); font-size:9px; }
.admin-plan-progress { height:9px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden; }
.admin-plan-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#ff4f87,#a46eff); }
.admin-payment-table { min-width:920px; }
.admin-payment-table code { color:#ff9fc2; font-size:10px; }
.admin-action-danger { color:#ff94a8; border-color:rgba(255,102,124,.34); background:rgba(255,102,124,.055); }
.admin-action-danger:hover { color:#fff; border-color:rgba(255,102,124,.6); background:rgba(255,102,124,.16); }
.admin-id { opacity:.55; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; max-width:145px; overflow:hidden; text-overflow:ellipsis; }

@media (max-width:1200px) {
  .admin-overview-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .admin-payment-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-quick-nav { display:none; }
}
@media (max-width:820px) {
  .admin-overview-metrics,.admin-payment-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-overview-grid,.admin-payment-analytics { grid-template-columns:1fr; }
  .admin-payment-filters { width:100%; justify-content:stretch; }
  .admin-payment-filters .select,.admin-payment-filters .input,.admin-payment-filters .btn { width:100%; }
  .admin-payments > .admin-panel-head { flex-direction:column; }
  .admin-payment-chart { min-width:620px; }
  .admin-payment-analytics > article:first-child { overflow-x:auto; }
}
@media (max-width:520px) {
  .admin-overview-metrics,.admin-payment-metrics { grid-template-columns:1fr; }
  .admin-payment-metrics { padding:14px; }
  .admin-payment-analytics { padding:0 14px 14px; }
  .admin-svg-chart { overflow-x:auto; }
  .admin-svg-chart svg { min-width:680px; }
}

/* Lumora 1.10.0 — каталог идей для свиданий */
.nav .is-current { color:var(--text); }
.builder-ideas-link { display:inline-flex; align-items:center; gap:8px; margin:-3px 0 18px; color:#ffd2e1; font-size:13px; font-weight:800; text-decoration:none; }
.builder-ideas-link:hover { color:#fff; }
.date-ideas-page { padding-bottom:78px; }
.date-ideas-hero { position:relative; padding:58px 0 34px; overflow:hidden; }
.date-ideas-hero::before { content:""; position:absolute; width:520px; height:520px; left:-180px; top:-270px; border-radius:50%; background:radial-gradient(circle,rgba(255,79,135,.22),transparent 68%); pointer-events:none; }
.date-ideas-hero .container { position:relative; }
.date-ideas-hero h1 { max-width:820px; margin:18px 0 14px; font-family:"Arial Black",Inter,system-ui,sans-serif; font-size:clamp(42px,7vw,82px); line-height:.98; letter-spacing:-.055em; }
.date-ideas-hero > .container > p { max-width:760px; color:var(--muted); font-size:18px; line-height:1.65; }
.date-ideas-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:30px; }
.date-ideas-toolbar label { width:min(540px,100%); }
.date-ideas-toolbar .input { min-height:54px; padding-left:20px; }
.date-ideas-toolbar > span { color:var(--muted); font-size:13px; white-space:nowrap; }
.date-ideas-filters { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.date-ideas-filters button { min-height:40px; border:1px solid var(--line); border-radius:999px; padding:8px 13px; color:var(--muted); background:rgba(255,255,255,.035); cursor:pointer; font-weight:800; font-size:12px; }
.date-ideas-filters button small { margin-left:5px; opacity:.58; }
.date-ideas-filters button:hover,.date-ideas-filters button.is-active { color:#fff; border-color:rgba(255,105,157,.42); background:linear-gradient(100deg,rgba(255,79,135,.2),rgba(138,92,255,.16)); }
.date-ideas-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.date-idea-card { min-width:0; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.11); border-radius:26px; background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.028)); box-shadow:0 18px 55px rgba(0,0,0,.2); overflow:hidden; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.date-idea-card:hover { transform:translateY(-5px); border-color:rgba(255,120,164,.34); box-shadow:0 26px 68px rgba(0,0,0,.3); }
.date-idea-cover { position:relative; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,rgba(255,79,135,.3),rgba(138,92,255,.25)); }
.date-idea-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(12,7,18,.56),transparent 48%); pointer-events:none; }
.date-idea-cover img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.date-idea-card:hover .date-idea-cover img { transform:scale(1.045); }
.date-idea-cover > span { position:absolute; inset:0; display:grid; place-items:center; font-size:58px; }
.date-idea-cover b { position:absolute; z-index:2; top:14px; left:14px; padding:7px 10px; border-radius:999px; color:white; background:rgba(20,10,27,.7); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px); font-size:10px; letter-spacing:.03em; }
.date-idea-body { flex:1; display:flex; flex-direction:column; padding:20px; }
.date-idea-meta { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.date-idea-meta span { color:#efb7cc; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.075em; }
.date-idea-meta strong { color:#fff; font-size:12px; white-space:nowrap; }
.date-idea-body h2 { margin:0 0 10px; font-size:22px; letter-spacing:-.025em; line-height:1.12; }
.date-idea-body > p { flex:1; color:var(--muted); font-size:13px; line-height:1.58; margin-bottom:17px; }
.date-idea-place { display:flex; align-items:flex-start; gap:8px; min-height:38px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.045); color:#ded4e1; font-size:12px; line-height:1.35; }
.date-idea-place > span:first-child { color:var(--pink-2); font-size:17px; line-height:1; }
.date-idea-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:14px; }
.date-idea-actions .btn-primary { margin-left:auto; }
.date-idea-site-link { color:#f3c8d7; font-size:11px; font-weight:800; text-decoration:none; }
.date-ideas-empty { grid-column:1/-1; padding:70px 24px; border:1px dashed var(--line); border-radius:24px; text-align:center; color:var(--muted); }

/* Admin: отдельная вкладка идей */
.admin-quick-nav a.is-current { color:#fff; background:rgba(255,255,255,.09); }
.admin-ideas-main { max-width:1480px; }
.admin-idea-form { display:grid; gap:22px; }
.admin-idea-form-grid { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr); gap:20px; }
.admin-idea-cover-editor,.admin-idea-settings { display:grid; align-content:start; gap:14px; }
.admin-idea-upload { position:relative; min-height:270px; display:grid; place-items:center; overflow:hidden; border:1px dashed rgba(255,255,255,.2); border-radius:22px; background:linear-gradient(135deg,rgba(255,79,135,.09),rgba(138,92,255,.08)); cursor:pointer; }
.admin-idea-upload:hover { border-color:rgba(255,121,165,.5); }
.admin-idea-upload img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.admin-idea-upload::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(11,7,16,.45),transparent 45%); pointer-events:none; }
.admin-idea-upload > span { position:relative; z-index:2; display:grid; justify-items:center; gap:6px; color:var(--muted); text-align:center; }
.admin-idea-upload > span:first-letter { font-size:34px; }
.admin-idea-upload strong { color:var(--text); }
.admin-idea-upload small { font-size:10px; }
.admin-idea-cover-editor label,.admin-idea-settings label,.admin-idea-locale label { display:grid; gap:7px; color:var(--muted); font-size:11px; font-weight:800; }
.admin-idea-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-idea-settings > label:nth-of-type(4),.admin-idea-settings > label:nth-of-type(5),.admin-idea-switches { grid-column:1/-1; }
.admin-idea-switches { display:flex; gap:16px; flex-wrap:wrap; }
.admin-idea-locales { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.admin-idea-locale { min-width:0; margin:0; padding:15px; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.02); display:grid; gap:12px; }
.admin-idea-locale legend { padding:0 7px; color:#ffc0d6; font-size:11px; font-weight:900; }
.admin-idea-locale .textarea { min-height:150px; resize:vertical; }
.admin-ideas-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.admin-idea-card { min-width:0; border:1px solid rgba(255,255,255,.09); border-radius:20px; background:rgba(255,255,255,.025); overflow:hidden; }
.admin-idea-card.is-disabled { opacity:.62; }
.admin-idea-card-image { position:relative; aspect-ratio:16/9; overflow:hidden; background:rgba(255,255,255,.04); }
.admin-idea-card-image img { width:100%; height:100%; object-fit:cover; }
.admin-idea-card-image span,.admin-idea-card-image b { position:absolute; top:10px; padding:6px 9px; border-radius:999px; font-size:9px; font-weight:900; background:rgba(13,7,18,.74); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(8px); }
.admin-idea-card-image span { left:10px; }
.admin-idea-card-image b { right:10px; color:#ffc0d7; }
.admin-idea-card-body { display:grid; gap:12px; padding:15px; }
.admin-idea-card-body h3 { margin:0 0 7px; font-size:16px; }
.admin-idea-card-body p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.admin-idea-card-meta { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.admin-idea-card-meta strong { font-size:13px; }
.admin-idea-card-meta span { color:var(--muted); font-size:9px; text-align:right; }
.admin-idea-card-place { padding:9px 10px; border-radius:12px; background:rgba(255,255,255,.04); color:var(--muted); font-size:10px; }
.admin-idea-card-actions { display:flex; gap:7px; flex-wrap:wrap; }
.admin-idea-card-actions .danger { color:#ff9aae; border-color:rgba(255,103,126,.3); }

@media (max-width:1050px) {
  .date-ideas-grid,.admin-ideas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-idea-locales { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .date-ideas-hero { padding-top:30px; }
  .date-ideas-toolbar { align-items:stretch; flex-direction:column; }
  .date-ideas-toolbar > span { align-self:flex-start; }
  .date-ideas-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; margin-right:-20px; padding-right:20px; }
  .date-ideas-filters button { flex:0 0 auto; }
  .date-ideas-grid { grid-template-columns:1fr; gap:14px; }
  .date-idea-card { border-radius:22px; }
  .date-idea-cover { aspect-ratio:16/9; }
  .date-idea-body { padding:17px; }
  .date-idea-actions { display:grid; grid-template-columns:1fr; }
  .date-idea-actions .btn,.date-idea-actions .btn-primary { width:100%; margin-left:0; }
  .date-idea-site-link { text-align:center; padding:6px; }
  .admin-idea-form-grid { grid-template-columns:1fr; }
  .admin-idea-settings { grid-template-columns:1fr; }
  .admin-idea-settings > label,.admin-idea-switches { grid-column:auto !important; }
  .admin-ideas-grid { grid-template-columns:1fr; }
  .admin-idea-upload { min-height:230px; }
}
@media (max-width:520px) {
  .date-ideas-topbar .nav a:not(.btn) { display:none; }
  .date-ideas-hero h1 { font-size:42px; }
  .date-ideas-hero > .container > p { font-size:15px; }
  .date-ideas-page { padding-bottom:38px; }
  .admin-idea-locales { gap:9px; }
  .admin-idea-locale { padding:12px; }
  .admin-idea-card-actions .btn { width:100%; }
}

/* Lumora — расширенный подбор идей */
.field-help { display:block; margin-top:8px; color:var(--muted); font-size:11px; line-height:1.45; }

.activity-builder-field .inline-add { align-items:flex-start; flex-wrap:wrap; }
.activity-input-wrap { position:relative; flex:1 1 280px; min-width:0; }
.activity-autocomplete { position:absolute; z-index:65; top:calc(100% + 7px); left:0; right:0; max-height:310px; overflow:auto; padding:7px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(23,16,31,.98); box-shadow:0 22px 55px rgba(0,0,0,.45); backdrop-filter:blur(24px); }
.activity-autocomplete[hidden] { display:none; }
.activity-autocomplete button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 12px; border:0; border-radius:11px; color:var(--text); background:transparent; cursor:pointer; text-align:left; }
.activity-autocomplete button:hover,.activity-autocomplete button:focus-visible { background:rgba(255,255,255,.08); outline:none; }
.activity-autocomplete span { font-size:13px; font-weight:800; }
.activity-autocomplete small { color:var(--muted); font-size:10px; white-space:nowrap; }
.activity-picker-overlay { position:fixed; z-index:180; inset:0; display:grid; place-items:center; padding:24px; background:rgba(7,4,11,.74); backdrop-filter:blur(13px); }
.activity-picker-sheet { width:min(960px,100%); max-height:min(780px,calc(100vh - 48px)); display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:28px; background:linear-gradient(155deg,#201428,#120d19); box-shadow:0 35px 100px rgba(0,0,0,.55); }
.activity-picker-head { display:flex; justify-content:space-between; gap:18px; padding:24px 25px 15px; }
.activity-picker-head h2 { margin:6px 0 4px; font-size:25px; }
.activity-picker-head p { margin:0; color:var(--muted); font-size:13px; }
.activity-picker-close { flex:0 0 42px; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; color:#fff; background:rgba(255,255,255,.06); cursor:pointer; font-size:25px; }
.activity-picker-tools { display:grid; gap:13px; padding:0 25px 17px; }
.activity-picker-categories { display:flex; gap:7px; overflow-x:auto; padding-bottom:3px; scrollbar-width:thin; }
.activity-picker-categories button { flex:0 0 auto; min-height:36px; padding:7px 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:rgba(255,255,255,.035); cursor:pointer; font-size:11px; font-weight:850; }
.activity-picker-categories button.is-active { color:#fff; border-color:rgba(255,100,152,.5); background:linear-gradient(100deg,rgba(255,79,135,.28),rgba(138,92,255,.23)); }
.activity-picker-grid { min-height:0; overflow:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:9px; padding:2px 25px 22px; }
.activity-suggestion-card { position:relative; min-height:88px; display:grid; align-content:center; gap:7px; padding:15px 43px 15px 15px; border:1px solid rgba(255,255,255,.09); border-radius:17px; color:var(--text); background:rgba(255,255,255,.035); cursor:pointer; text-align:left; transition:.18s ease; }
.activity-suggestion-card:hover { transform:translateY(-2px); border-color:rgba(255,125,169,.34); background:rgba(255,255,255,.06); }
.activity-suggestion-card.is-selected { border-color:rgba(255,102,156,.67); background:linear-gradient(130deg,rgba(255,79,135,.19),rgba(138,92,255,.16)); }
.activity-suggestion-card span { font-size:13px; line-height:1.3; font-weight:850; }
.activity-suggestion-card small { color:var(--muted); font-size:10px; }
.activity-suggestion-card i { position:absolute; right:13px; top:50%; transform:translateY(-50%); width:25px; height:25px; display:grid; place-items:center; border-radius:50%; color:#fff; background:rgba(255,255,255,.09); font-style:normal; font-weight:900; }
.activity-suggestion-card.is-selected i { background:linear-gradient(135deg,var(--pink),var(--violet)); }
.activity-picker-footer { display:flex; align-items:center; justify-content:flex-end; gap:17px; padding:14px 25px calc(14px + env(safe-area-inset-bottom)); border-top:1px solid rgba(255,255,255,.08); background:rgba(10,7,14,.48); }
.activity-picker-footer > span { color:var(--muted); font-size:12px; font-weight:800; }


.social-admin-chart { height:260px; display:flex; align-items:stretch; gap:5px; overflow-x:auto; padding:7px 3px 0; }
.social-chart-day { min-width:16px; flex:1; display:grid; grid-template-rows:1fr 27px; gap:6px; align-items:end; }
.social-chart-bars { height:100%; display:flex; align-items:end; justify-content:center; gap:2px; border-bottom:1px solid rgba(255,255,255,.09); }
.social-chart-bars i { width:28%; min-height:3px; border-radius:5px 5px 1px 1px; }
.social-chart-bars .instagram { background:linear-gradient(180deg,#ff8c74,#d83ac8); }
.social-chart-bars .threads { background:linear-gradient(180deg,#fff,#85828c); }
.social-chart-bars .sent { background:linear-gradient(180deg,#c8a6ff,#7257ff); }
.social-chart-day > span { color:rgba(235,225,240,.44); font-size:8px; transform:rotate(-45deg); white-space:nowrap; }
.social-legend { display:inline-flex; align-items:center; gap:5px; margin-right:10px; color:var(--muted); font-size:9px; }
.social-legend::before { content:""; width:8px; height:8px; border-radius:3px; background:#d83ac8; }
.social-legend.threads::before { background:#d9d8dd; }
.social-legend.sent::before { background:#805fff; }
.social-provider-badge { display:inline-flex; padding:6px 9px; border-radius:999px; font-size:9px; font-weight:900; }
.social-provider-badge.instagram { background:linear-gradient(105deg,rgba(252,69,107,.22),rgba(131,58,180,.22)); color:#ffc4dd; }
.social-provider-badge.threads { background:rgba(255,255,255,.09); color:#fff; }
.social-config-list { display:grid; gap:10px; }
.social-config-list > span { display:flex; justify-content:space-between; gap:12px; padding:11px 12px; border-radius:13px; background:rgba(255,255,255,.035); color:var(--muted); font-size:11px; }
.social-config-list b { color:#fff; }
.social-config-list small { color:var(--muted); font-size:9px; line-height:1.5; }
.admin-table td > small { display:block; margin-top:3px; color:var(--muted); }

@media (max-width:1100px) {
}
@media (max-width:760px) {
  .activity-builder-field .inline-add { display:grid; grid-template-columns:1fr 1fr; }
  .activity-input-wrap { grid-column:1/-1; width:100%; }
  .activity-picker-overlay { align-items:end; padding:0; }
  .activity-picker-sheet { width:100%; max-height:92dvh; border-radius:25px 25px 0 0; border-bottom:0; }
  .activity-picker-head { padding:20px 18px 13px; }
  .activity-picker-tools { padding:0 18px 13px; }
  .activity-picker-grid { grid-template-columns:1fr 1fr; padding:2px 18px 18px; }
  .activity-picker-footer { padding-inline:18px; }
  .social-admin-chart { min-width:620px; }
  .admin-panel-wide:has(.social-admin-chart) { overflow-x:auto; }
}
@media (max-width:480px) {
  .activity-picker-grid { grid-template-columns:1fr; }
  .activity-suggestion-card { min-height:70px; }
  .activity-picker-footer { justify-content:space-between; }
  .activity-picker-footer .btn { padding-inline:16px; }
}


/* ==========================================================================\n   Lumora 1.12.0 — premium product redesign\n   ========================================================================== */
:root {
  --bg: #0b0810;
  --bg-soft: #120d18;
  --surface: rgba(255,255,255,.072);
  --surface-strong: rgba(255,255,255,.115);
  --text: #fffafc;
  --muted: #bdb3c2;
  --line: rgba(255,255,255,.12);
  --pink: #ff4f83;
  --pink-2: #ff91b3;
  --violet: #9270ff;
  --lime: #dfff8d;
  --shadow: 0 30px 90px rgba(0,0,0,.42);
  --radius-xl: 40px;
  --radius-lg: 28px;
  --radius-md: 18px;
}
html { background:#0b0810; }
body {
  background:
    radial-gradient(circle at 14% -12%,rgba(255,79,131,.17),transparent 34rem),
    radial-gradient(circle at 92% 5%,rgba(146,112,255,.13),transparent 32rem),
    linear-gradient(180deg,#0b0810 0%,#0c0911 52%,#09070c 100%);
}
body::before {
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.13;
  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='.18'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}
.container { width:min(1240px,calc(100% - 48px)); }
.logo { gap:11px; font-family:Inter,Manrope,system-ui,sans-serif; font-weight:950; letter-spacing:.13em; font-size:13px; }
.logo-mark { width:34px; height:34px; border-radius:11px; font-size:14px; background:linear-gradient(145deg,#ff5c8e,#8d68ff); border:1px solid rgba(255,255,255,.26); box-shadow:0 11px 32px rgba(255,79,131,.2); }
.btn { min-height:46px; padding:13px 21px; border-radius:16px; font-size:13px; letter-spacing:-.01em; box-shadow:none; transition:transform .18s ease,filter .18s ease,border-color .18s ease,background .18s ease; }
.btn-primary { background:linear-gradient(105deg,#ff4e82,#f462a8 48%,#8d69ff); box-shadow:0 16px 38px rgba(255,79,131,.19); }
.btn-secondary { background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.13); }
.btn-dark { background:#fff; color:#1b111d; }
.input,.textarea,.select { background:rgba(5,3,8,.54); border-color:rgba(255,255,255,.12); border-radius:16px; }
.input:focus,.textarea:focus,.select:focus { border-color:rgba(255,101,153,.7); box-shadow:0 0 0 4px rgba(255,79,135,.08); }
.builder-panel,.sheet,.manage-panel,.account-panel,.account-profile-head,.admin-panel,.legal article { border-color:rgba(255,255,255,.095); background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.022)); box-shadow:0 25px 70px rgba(0,0,0,.13); }

/* Landing shell */
.landing-page { position:relative; isolation:isolate; }
.landing-topbar { position:sticky; top:14px; z-index:70; min-height:66px; margin-top:14px; padding:0 10px 0 16px; border:1px solid rgba(255,255,255,.105); border-radius:21px; background:rgba(12,8,16,.7); backdrop-filter:blur(22px) saturate(150%); box-shadow:0 16px 55px rgba(0,0,0,.16); }
.landing-nav { gap:27px; }
.landing-nav a { color:#b9afbd; font-size:12px; font-weight:700; }
.landing-top-actions { display:flex; align-items:center; gap:8px; }
.landing-top-actions .account-nav-link { color:#d8cfdc; text-decoration:none; font-size:12px; font-weight:750; padding:10px 12px; }
.landing-create-button { min-height:42px; border-radius:14px; padding-inline:16px; }

.landing-hero { position:relative; min-height:760px; padding:74px 0 118px; overflow:hidden; }
.landing-hero::before { content:""; position:absolute; inset:80px 0 auto; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent); }
.landing-glow { position:absolute; border-radius:50%; filter:blur(2px); pointer-events:none; }
.landing-glow-one { width:520px; height:520px; left:-280px; top:120px; background:radial-gradient(circle,rgba(255,76,127,.2),transparent 68%); }
.landing-glow-two { width:650px; height:650px; right:-300px; top:30px; background:radial-gradient(circle,rgba(134,95,255,.18),transparent 68%); }
.landing-hero-grid { grid-template-columns:minmax(0,1fr) minmax(430px,.88fr); gap:82px; min-height:610px; }
.landing-hero-copy { position:relative; z-index:3; padding-top:30px; }
.landing-hero .eyebrow { padding:8px 12px; border-color:rgba(255,255,255,.11); background:rgba(255,255,255,.04); color:#dfd2df; font-size:11px; letter-spacing:.035em; }
.landing-hero h1 { max-width:760px; margin:26px 0 26px; font-family:Inter,Manrope,system-ui,sans-serif; font-size:clamp(54px,6.2vw,92px); font-weight:950; line-height:.93; letter-spacing:-.078em; }
.landing-hero .gradient-text { background:linear-gradient(105deg,#fff 2%,#ffc1d5 38%,#ff769d 67%,#ad95ff 100%); -webkit-background-clip:text; color:transparent; }
.landing-hero .hero-copy { max-width:625px; color:#bfb4c2; font-size:18px; line-height:1.66; }
.landing-hero .hero-actions { margin:32px 0 26px; }
.landing-primary-cta { min-height:54px; padding-inline:25px; border-radius:17px; font-size:14px; }
.landing-hero .hero-actions .btn-secondary { min-height:54px; border-radius:17px; }
.landing-trust-row { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.landing-trust-row span { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:8px 11px; border:1px solid rgba(255,255,255,.085); border-radius:12px; color:#cfc4d0; background:rgba(255,255,255,.028); font-size:11px; font-weight:750; }
.landing-trust-row b { color:#ff91b3; font-size:9px; letter-spacing:.07em; }
.landing-microproof { max-width:610px; color:#958a9b; font-size:11px; line-height:1.5; }
.landing-microproof .avatar-stack span { width:27px; height:27px; margin-left:-7px; border-color:#0b0810; background:linear-gradient(145deg,#3a273e,#8d5c83); font-size:9px; font-weight:900; }

/* Hero product art */
.experience-stage { position:relative; min-height:650px; display:grid; place-items:center; perspective:1200px; }
.experience-halo { position:absolute; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle at 50% 45%,rgba(255,100,154,.25),rgba(127,91,255,.1) 42%,transparent 68%); filter:blur(12px); }
.experience-halo::before,.experience-halo::after { content:""; position:absolute; inset:43px; border:1px solid rgba(255,255,255,.07); border-radius:50%; }
.experience-halo::after { inset:98px; border-style:dashed; opacity:.62; animation:spin 34s linear infinite reverse; }
.invite-device { position:relative; z-index:3; width:min(390px,86vw); min-height:624px; padding:9px; border:1px solid rgba(255,255,255,.2); border-radius:43px; background:linear-gradient(150deg,#362c39,#0f0b12 42%,#221725); box-shadow:0 45px 120px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.06); transform:rotate(2.2deg) translateY(4px); }
.invite-device-bar { height:35px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; color:#d8cdd8; font-size:9px; font-weight:850; }
.invite-device-bar i { width:90px; height:22px; border-radius:20px; background:#08060a; }
.invite-device-screen { min-height:570px; padding:19px; border-radius:33px; color:#2a172b; background:linear-gradient(160deg,#fff9fa 0%,#ffe8f0 48%,#efe5ff 100%); overflow:hidden; position:relative; }
.invite-device-screen::before { content:""; position:absolute; width:290px; height:290px; right:-150px; top:230px; border-radius:50%; background:rgba(187,141,255,.22); filter:blur(4px); }
.invite-demo-header { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; }
.invite-demo-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:11px; color:white; background:#28152a; font-size:11px; font-weight:950; }
.invite-demo-photo { position:relative; height:185px; margin:14px 0 20px; border-radius:25px; overflow:hidden; background:linear-gradient(180deg,#5f4a86 0%,#c76b9b 58%,#ffb49e 100%); box-shadow:0 18px 34px rgba(88,49,92,.18); }
.demo-moon { position:absolute; width:60px; height:60px; right:34px; top:24px; border-radius:50%; background:#fff3d3; box-shadow:0 0 45px rgba(255,237,203,.55); }
.demo-city { position:absolute; left:0; right:0; bottom:0; height:68px; background:linear-gradient(90deg,#3d2440 0 9%,transparent 9% 12%,#4a2845 12% 24%,transparent 24% 28%,#2d1b33 28% 42%,transparent 42% 46%,#4e2b49 46% 60%,transparent 60% 64%,#38213d 64% 77%,transparent 77% 80%,#4b2948 80%); opacity:.88; }
.invite-demo-photo > span { position:absolute; left:28px; bottom:25px; width:46px; height:46px; display:grid; place-items:center; border-radius:16px; color:white; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(12px); font-size:21px; }
.invite-demo-overline { margin:0 0 7px !important; color:#9d647a !important; font-size:8px !important; font-weight:950; letter-spacing:.18em; }
.invite-device-screen h3 { position:relative; z-index:2; max-width:300px; margin:0 0 8px; font-family:Inter,system-ui,sans-serif; font-size:25px; line-height:1.02; letter-spacing:-.045em; }
.invite-device-screen > p:not(.invite-demo-overline) { position:relative; z-index:2; margin-bottom:0; color:#725d73; font-size:12px; line-height:1.48; }
.invite-demo-options { margin-top:14px; }
.invite-demo-options .preview-option { background:rgba(255,255,255,.68); border:1px solid rgba(85,48,86,.08); }
.invite-demo-voice { position:relative; z-index:2; display:grid; grid-template-columns:31px 1fr auto; align-items:center; gap:9px; margin-top:10px; padding:9px 11px; border:1px solid rgba(74,42,78,.08); border-radius:15px; background:rgba(255,255,255,.58); }
.invite-demo-voice button { width:31px; height:31px; border:0; border-radius:11px; color:white; background:#311c35; font-size:10px; }
.invite-demo-voice > span { color:#7b667c; font-size:9px; font-weight:800; }
.demo-wave { height:28px; display:flex; align-items:center; gap:2px; overflow:hidden; }
.demo-wave i { width:2px; border-radius:3px; background:linear-gradient(#f25e91,#8c6af7); }
.invite-demo-answer { margin-top:10px; }
.invite-demo-answer button { min-height:42px; border-radius:13px; font-size:10px; }
.invite-demo-voice.is-playing { border-color:rgba(255,91,145,.45); box-shadow:0 0 0 4px rgba(255,91,145,.08); }
.invite-demo-voice.is-playing .demo-wave i { animation:demo-wave-pulse .62s ease-in-out infinite alternate; }
.invite-device-screen.demo-replay .invite-demo-photo { animation:demo-photo-in .7s cubic-bezier(.2,.8,.2,1) both; }
.invite-device-screen.demo-replay .invite-demo-options,.invite-device-screen.demo-replay .invite-demo-voice,.invite-device-screen.demo-replay .invite-demo-answer { animation:demo-content-in .6s cubic-bezier(.2,.8,.2,1) both; }
.invite-device-screen.demo-replay .invite-demo-options { animation-delay:.12s; }
.invite-device-screen.demo-replay .invite-demo-voice { animation-delay:.2s; }
.invite-device-screen.demo-replay .invite-demo-answer { animation-delay:.28s; }
.hero-response-state { display:grid; gap:6px; padding:12px; border-radius:14px; color:#3a1731; background:linear-gradient(120deg,#ffe3ef,#e9dcff); text-align:center; }
.hero-response-state span { font-size:22px; }
.hero-response-state strong { font-size:12px; }
.hero-response-state small { font-size:9px; color:#765c76; }
.hero-response-state a { margin-top:3px; color:#7e3e94; font-size:10px; font-weight:800; text-decoration:none; }
@keyframes demo-photo-in { from { opacity:.35; transform:scale(1.08) translateY(8px); } to { opacity:1; transform:none; } }
@keyframes demo-content-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes demo-wave-pulse { from { transform:scaleY(.65); opacity:.55; } to { transform:scaleY(1.18); opacity:1; } }
.btn:focus-visible,.input:focus-visible,.select:focus-visible,.invite-demo-voice button:focus-visible,.invite-demo-answer button:focus-visible { outline:3px solid rgba(255,151,186,.78); outline-offset:3px; }
@media (prefers-reduced-motion: reduce) {
  .invite-device-screen.demo-replay .invite-demo-photo,.invite-device-screen.demo-replay .invite-demo-options,.invite-device-screen.demo-replay .invite-demo-voice,.invite-device-screen.demo-replay .invite-demo-answer,.invite-demo-voice.is-playing .demo-wave i { animation:none; }
}
.experience-note { position:absolute; z-index:5; min-width:190px; display:grid; grid-template-columns:35px 1fr; gap:10px; align-items:center; padding:12px 14px; border:1px solid rgba(255,255,255,.14); border-radius:17px; color:#f8f2f8; background:rgba(24,16,29,.77); backdrop-filter:blur(18px); box-shadow:0 20px 60px rgba(0,0,0,.28); }
.experience-note > span { width:35px; height:35px; display:grid; place-items:center; border-radius:12px; background:rgba(255,255,255,.08); }
.experience-note strong,.experience-note small { display:block; }
.experience-note strong { font-size:11px; margin-bottom:2px; }
.experience-note small { color:#9d909f; font-size:8px; }
.note-top { top:94px; right:-25px; transform:rotate(-3deg); }
.note-bottom { bottom:95px; left:-40px; transform:rotate(4deg); }
.note-bottom > span { color:#dfff8d; background:rgba(223,255,141,.1); }
.experience-mini-card { position:absolute; z-index:6; right:-10px; bottom:15px; min-width:205px; display:grid; grid-template-columns:39px 1fr auto; gap:11px; align-items:center; padding:12px 13px; border-radius:18px; color:#261426; background:#fff8fb; box-shadow:0 22px 60px rgba(0,0,0,.27); transform:rotate(-2deg); }
.experience-mini-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:13px; color:white; background:linear-gradient(145deg,#ff5a8c,#8a66fb); font-size:20px; }
.experience-mini-card small,.experience-mini-card strong { display:block; }
.experience-mini-card small { color:#8b768a; font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
.experience-mini-card strong { margin-top:2px; font-size:15px; }
.experience-mini-arrow { color:#9a8498; }

.landing-signal-strip { position:relative; z-index:4; border-block:1px solid rgba(255,255,255,.075); background:rgba(255,255,255,.018); }
.landing-signal-grid { min-height:72px; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; }
.landing-signal-grid span { display:flex; align-items:center; justify-content:center; gap:9px; min-height:34px; border-right:1px solid rgba(255,255,255,.07); color:#9f94a3; font-size:10px; font-weight:800; letter-spacing:.035em; }
.landing-signal-grid span:last-child { border-right:0; }
.landing-signal-grid i { color:#ff8eaf; font-style:normal; }

/* Shared landing section typography */
.landing-page .section { padding:120px 0; }
.landing-section-heading { max-width:790px; }
.landing-section-heading.center { max-width:850px; }
.landing-page .kicker { color:#ff91b3; font-size:10px; letter-spacing:.18em; }
.landing-page .section h2,.landing-product-copy h2 { font-family:Inter,Manrope,system-ui,sans-serif; font-size:clamp(38px,5vw,68px); font-weight:930; line-height:.98; letter-spacing:-.063em; }
.landing-page .section-heading p,.landing-product-copy > p { color:#a99dab; font-size:16px; }

/* Three-step storytelling */
.landing-story-section { background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0)); }
.landing-steps { display:grid; grid-template-columns:1.07fr .93fr; gap:16px; }
.landing-step { position:relative; min-height:390px; padding:30px; border:1px solid rgba(255,255,255,.09); border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); overflow:hidden; }
.landing-step:first-child { grid-row:span 2; min-height:796px; }
.landing-step-copy { position:relative; z-index:2; max-width:420px; }
.landing-step-number { display:inline-flex; margin-bottom:44px; color:#ff8bad; font-size:10px; font-weight:950; letter-spacing:.15em; }
.landing-step h3 { margin:0 0 10px; font-size:27px; letter-spacing:-.035em; }
.landing-step p { max-width:360px; color:#a99ead; line-height:1.55; font-size:13px; }
.landing-step-art { position:absolute; z-index:1; }
.profile-art { left:55px; right:55px; bottom:55px; min-height:380px; padding:28px; border-radius:30px; background:linear-gradient(155deg,#ffedf4,#decfff); color:#321d35; transform:rotate(-2deg); box-shadow:0 30px 80px rgba(0,0,0,.22); }
.profile-art-photo { height:230px; display:grid; place-items:center; margin-bottom:20px; border-radius:23px; color:#fff; background:linear-gradient(145deg,#8b6bdd,#e477a4 60%,#f4b486); font-size:50px; }
.profile-art > div:nth-child(2) { display:grid; gap:7px; }
.profile-art i { display:block; height:12px; border-radius:10px; background:rgba(51,29,54,.12); }
.profile-art i:nth-child(2){width:78%}.profile-art i:nth-child(3){width:58%}
.profile-art > span { position:absolute; right:22px; top:22px; padding:7px 9px; border-radius:999px; background:rgba(255,255,255,.68); font-size:9px; font-weight:900; }
.choice-art { right:28px; left:48%; bottom:40px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.choice-art > span { min-height:94px; display:grid; place-items:center; align-content:center; gap:4px; border:1px solid rgba(255,255,255,.09); border-radius:18px; color:#8f8392; background:rgba(255,255,255,.04); font-size:8px; font-weight:900; }
.choice-art > span b { color:white; font-size:22px; }
.choice-art > span.active { color:#351d32; background:#ffe9f1; transform:translateY(-9px); }
.choice-art > span.active b { color:#351d32; }
.choice-art em { grid-column:1/-1; padding:13px; border-radius:15px; color:#fff; background:linear-gradient(100deg,#fa5789,#976eff); text-align:center; font-style:normal; font-size:12px; font-weight:900; }
.send-art { left:48%; right:28px; bottom:50px; }
.send-art div { display:flex; align-items:center; min-height:56px; padding:14px; border:1px solid rgba(255,255,255,.11); border-radius:17px; color:#d7cdd9; background:rgba(4,3,7,.4); font-size:10px; }
.send-art div b { color:#ff95b5; }
.send-art > span { position:absolute; right:10px; top:10px; width:36px; height:36px; display:grid; place-items:center; border-radius:12px; color:#251324; background:#fff; }
.send-art small { display:block; margin-top:10px; color:#8dffbd; font-size:9px; }

/* Dashboard showcase */
.landing-product-section { border-block:1px solid rgba(255,255,255,.065); background:radial-gradient(circle at 75% 45%,rgba(137,98,255,.12),transparent 32rem),rgba(255,255,255,.012); }
.landing-product-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:85px; align-items:center; }
.landing-product-copy h2 { max-width:530px; margin:14px 0 18px; }
.landing-product-copy > p { max-width:460px; line-height:1.6; }
.landing-feature-list { display:grid; gap:6px; margin-top:34px; }
.landing-feature-list article { display:grid; grid-template-columns:36px 1fr; gap:13px; padding:16px 0; border-top:1px solid rgba(255,255,255,.075); }
.landing-feature-list article > span { color:#ff91b3; font-size:9px; font-weight:950; letter-spacing:.12em; }
.landing-feature-list h3 { margin:0 0 4px; font-size:14px; }
.landing-feature-list p { margin:0; color:#978b9b; font-size:11px; line-height:1.5; }
.landing-dashboard-demo { position:relative; min-height:560px; padding:24px; border:1px solid rgba(255,255,255,.11); border-radius:34px; background:linear-gradient(145deg,#17101d,#0e0a12); box-shadow:0 45px 110px rgba(0,0,0,.28); transform:rotate(1deg); overflow:hidden; }
.landing-dashboard-demo::before { content:""; position:absolute; width:350px; height:350px; right:-150px; top:-130px; border-radius:50%; background:rgba(159,101,255,.12); filter:blur(5px); }
.dashboard-demo-top { position:relative; display:flex; align-items:center; justify-content:space-between; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.075); }
.dashboard-demo-top div span,.dashboard-demo-top div small { display:block; }
.dashboard-demo-top div span { font-size:11px; font-weight:950; letter-spacing:.15em; }
.dashboard-demo-top div small { margin-top:4px; color:#887e8d; font-size:8px; }
.dashboard-demo-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(145deg,#ff5d90,#8d68ff); font-size:11px; font-weight:950; }
.dashboard-demo-stats { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:18px 0; }
.dashboard-demo-stats article { padding:14px; border:1px solid rgba(255,255,255,.07); border-radius:16px; background:rgba(255,255,255,.028); }
.dashboard-demo-stats small,.dashboard-demo-stats strong { display:block; }
.dashboard-demo-stats small { color:#817686; font-size:8px; }
.dashboard-demo-stats strong { margin-top:6px; font-size:24px; }
.dashboard-demo-card { position:relative; display:grid; grid-template-columns:72px 1fr auto; gap:14px; align-items:center; margin-top:9px; padding:13px; border:1px solid rgba(255,255,255,.08); border-radius:19px; background:rgba(255,255,255,.035); }
.dashboard-demo-thumb { width:72px; height:72px; display:grid; place-items:center; border-radius:15px; background:linear-gradient(145deg,#8e65cc,#e974a1); font-size:22px; }
.dashboard-demo-thumb.second { background:linear-gradient(145deg,#625384,#3e2b54); }
.dashboard-demo-card small,.dashboard-demo-card strong,.dashboard-demo-card span { display:block; }
.dashboard-demo-card small { color:#ff8eaf; font-size:7px; font-weight:900; letter-spacing:.1em; }
.dashboard-demo-card strong { margin:4px 0; font-size:12px; }
.dashboard-demo-card span { color:#8dffbd; font-size:8px; }
.dashboard-demo-card > b { color:#918794; font-size:13px; }
.dashboard-demo-card.faded { opacity:.58; }
.dashboard-demo-card.faded span { color:#9b8fa0; }
.dashboard-demo-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; padding:15px 16px; border-radius:17px; color:#291628; background:linear-gradient(105deg,#ffe8f0,#e8dcff); }
.dashboard-demo-footer span { font-size:8px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; }
.dashboard-demo-footer strong { font-size:10px; }

/* Bento */
.landing-bento-section { padding-top:110px !important; }
.landing-bento-grid { grid-template-columns:1.15fr .85fr .85fr; grid-auto-rows:260px; }
.landing-bento-card { padding:29px; border-color:rgba(255,255,255,.085); border-radius:29px; background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018)); }
.landing-bento-card.large { min-height:auto; background:linear-gradient(150deg,rgba(255,79,131,.14),rgba(143,103,255,.07)); }
.landing-bento-card h3 { max-width:500px; font-size:21px; letter-spacing:-.025em; }
.landing-bento-card p { color:#9e939f; font-size:12px; }
.bento-symbol { display:grid; place-items:center; width:38px; height:38px; margin-bottom:22px; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:rgba(255,255,255,.05); }
.bento-editor-art { position:absolute; left:28px; right:28px; bottom:28px; display:flex; align-items:flex-end; gap:7px; }
.bento-editor-art > span { padding:8px 10px; border:1px solid rgba(255,255,255,.09); border-radius:11px; color:#9e929f; font-size:8px; font-weight:850; }
.bento-editor-art > span.active { color:#241323; background:#ffe9f2; }
.bento-editor-art > div { margin-left:auto; width:130px; height:120px; border-radius:20px; background:linear-gradient(145deg,#8c67cd,#f27fa6); transform:rotate(6deg); box-shadow:0 15px 40px rgba(0,0,0,.18); }
.bento-map { display:grid; grid-template-columns:1fr 260px; gap:28px; align-items:center; }
.bento-map-art { position:relative; height:170px; border-radius:23px; overflow:hidden; background:linear-gradient(145deg,#ede2ed,#cdc0da); }
.bento-map-art::before,.bento-map-art::after,.bento-map-art i { content:""; position:absolute; height:8px; border-radius:10px; background:#a99aab; transform:rotate(-24deg); }
.bento-map-art::before { width:330px; left:-60px; top:45px; }
.bento-map-art::after { width:300px; left:10px; top:105px; transform:rotate(28deg); }
.bento-map-art i:nth-child(1){width:250px;left:50px;top:12px;transform:rotate(54deg)}
.bento-map-art i:nth-child(2){width:220px;left:-20px;top:130px;transform:rotate(8deg)}
.bento-map-art i:nth-child(3){width:190px;right:-70px;top:82px;transform:rotate(-52deg)}
.bento-map-art span { position:absolute; z-index:3; left:50%; top:50%; width:44px; height:44px; display:grid; place-items:center; transform:translate(-50%,-50%); border-radius:15px; color:white; background:linear-gradient(145deg,#ff5a8c,#8966f8); box-shadow:0 10px 25px rgba(99,55,104,.22); font-size:20px; }

/* Pricing */
.landing-pricing-section { background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.018)); }
.landing-pricing { gap:14px; }
.landing-pricing .price-card { position:relative; min-height:520px; padding:28px; border-color:rgba(255,255,255,.09); border-radius:31px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.016)); overflow:hidden; }
.landing-pricing .price-card::after { content:""; position:absolute; width:240px; height:240px; right:-170px; top:-150px; border-radius:50%; background:rgba(255,255,255,.06); }
.landing-pricing .price-card.featured { border-color:rgba(255,102,155,.4); background:linear-gradient(145deg,rgba(255,79,131,.17),rgba(128,92,255,.1)); box-shadow:0 35px 90px rgba(88,37,92,.2); transform:translateY(-9px); }
.price-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; min-height:73px; }
.landing-pricing .price-card h3 { margin:13px 0 0; font-family:Inter,system-ui,sans-serif; font-size:29px; letter-spacing:-.045em; }
.plan-label { color:#8e8291; font-size:8px; font-weight:950; letter-spacing:.18em; }
.plan-index { color:#6f6573; font-size:9px; font-weight:950; letter-spacing:.12em; }
.landing-pricing .plan-badge { padding:6px 9px; color:#2b1b29; background:#dfff8d; font-size:8px; letter-spacing:.08em; }
.landing-pricing .price { margin:25px 0 26px; font-family:Inter,system-ui,sans-serif; font-size:47px; font-weight:920; letter-spacing:-.06em; }
.landing-pricing .price-card ul { gap:13px; color:#c5bbc8; font-size:11px; line-height:1.45; }
.landing-pricing .price-card li::before { color:#ff8eaf; }
.landing-pricing .price-card .btn { border-radius:15px; }

/* Final CTA + footer */
.landing-final-section { padding-top:75px !important; }
.landing-cta { min-height:480px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:72px; border-radius:42px; color:white; background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.2),transparent 24rem),linear-gradient(120deg,#ed4e80,#9c5ed1 62%,#6f56d7); box-shadow:0 45px 110px rgba(93,43,112,.25); }
.landing-cta::after { content:""; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.14); border-radius:31px; pointer-events:none; }
.landing-cta-kicker { position:relative; z-index:2; margin-bottom:20px; font-size:9px; font-weight:950; letter-spacing:.22em; opacity:.75; }
.landing-cta h2 { position:relative; z-index:2; max-width:900px; font-size:clamp(42px,5.6vw,73px) !important; }
.landing-cta p,.landing-cta .btn { position:relative; z-index:2; }
.landing-cta .btn { min-height:50px; padding-inline:23px; border-radius:15px; }
.landing-cta-orbit { position:absolute; inset:0; pointer-events:none; }
.landing-cta-orbit span { position:absolute; display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.landing-cta-orbit span:nth-child(1){left:9%;top:23%;transform:rotate(-11deg)}
.landing-cta-orbit span:nth-child(2){right:12%;top:19%}
.landing-cta-orbit span:nth-child(3){right:8%;bottom:18%;transform:rotate(12deg)}
.landing-footer { padding-top:15px; }

/* Reveal motion */
[data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity:1; transform:none; }

/* Builder polish without changing behavior */
.app-header { min-height:80px; }
.builder-layout { gap:24px; }
.builder-panel { border-radius:32px; }
.builder-panel h1 { font-family:Inter,Manrope,system-ui,sans-serif; font-weight:920; letter-spacing:-.055em; }
.choice label,.effect-choice,.upload-box,.yandex-map-shell { border-color:rgba(255,255,255,.09); background:rgba(255,255,255,.028); }
.admin-topbar { background:rgba(10,7,13,.78); }

@media (max-width:1100px) {
  .landing-nav { gap:17px; }
  .landing-nav a { font-size:11px; }
  .landing-hero-grid { grid-template-columns:1fr 420px; gap:40px; }
  .note-top { right:0; }
  .note-bottom { left:0; }
  .landing-product-grid { gap:45px; }
}
@media (max-width:920px) {
  .container { width:min(100% - 32px,1240px); }
  .landing-topbar { top:10px; margin-top:10px; }
  .landing-nav { display:none; }
  .landing-hero { padding-top:52px; }
  .landing-hero-grid { grid-template-columns:1fr; gap:28px; }
  .landing-hero-copy { text-align:center; padding-top:12px; }
  .landing-hero .hero-copy,.landing-microproof { margin-inline:auto; }
  .landing-hero .hero-actions,.landing-trust-row,.landing-microproof { justify-content:center; }
  .experience-stage { min-height:660px; }
  .landing-signal-grid { grid-template-columns:repeat(3,1fr); padding:12px 0; }
  .landing-signal-grid span { border-right:0; }
  .landing-steps { grid-template-columns:1fr; }
  .landing-step:first-child { grid-row:auto; min-height:620px; }
  .landing-step { min-height:380px; }
  .landing-product-grid { grid-template-columns:1fr; }
  .landing-product-copy { max-width:700px; }
  .landing-dashboard-demo { max-width:720px; width:100%; margin-inline:auto; }
  .landing-bento-grid { grid-template-columns:1fr 1fr; }
  .landing-bento-card.large { grid-column:span 2; min-height:390px; }
  .landing-bento-card.wide { grid-column:span 2; }
  .landing-pricing .price-card.featured { transform:none; }
}
@media (max-width:620px) {
  .container { width:min(100% - 22px,1240px); }
  .landing-topbar { width:calc(100% - 20px); min-height:60px; padding-left:12px; border-radius:18px; }
  .landing-topbar .logo-mark { width:31px; height:31px; }
  .landing-topbar .logo { font-size:11px; }
  .landing-create-button { min-height:38px; padding:8px 11px !important; font-size:10px !important; }
  .landing-hero { min-height:auto; padding:46px 0 78px; }
  .landing-hero h1 { font-size:clamp(46px,15vw,68px); }
  .landing-hero .hero-copy { font-size:15px; line-height:1.6; }
  .landing-hero .hero-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .landing-hero .hero-actions .btn { width:100%; }
  .landing-trust-row { gap:6px; }
  .landing-trust-row span { flex:1 1 calc(50% - 6px); justify-content:center; min-width:140px; }
  .landing-microproof { flex-direction:column; align-items:center; gap:8px; }
  .experience-stage { min-height:600px; transform:scale(.92); margin:-8px 0 -30px; }
  .invite-device { width:min(365px,96vw); }
  .experience-note,.experience-mini-card { display:none; }
  .landing-signal-grid { grid-template-columns:1fr 1fr; min-height:auto; }
  .landing-signal-grid span:last-child { grid-column:1/-1; }
  .landing-page .section { padding:82px 0; }
  .landing-page .section h2,.landing-product-copy h2 { font-size:clamp(36px,11.5vw,52px); }
  .landing-step { min-height:350px; padding:23px; border-radius:25px; }
  .landing-step:first-child { min-height:570px; }
  .landing-step-number { margin-bottom:28px; }
  .profile-art { left:23px; right:23px; bottom:24px; min-height:330px; padding:18px; }
  .profile-art-photo { height:195px; }
  .choice-art,.send-art { left:23px; right:23px; bottom:25px; }
  .landing-product-grid { gap:38px; }
  .landing-dashboard-demo { min-height:500px; padding:17px; border-radius:27px; transform:none; }
  .dashboard-demo-card { grid-template-columns:58px 1fr auto; }
  .dashboard-demo-thumb { width:58px; height:58px; }
  .dashboard-demo-footer { align-items:flex-start; flex-direction:column; }
  .landing-bento-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .landing-bento-card,.landing-bento-card.large,.landing-bento-card.wide { grid-column:span 1; min-height:265px; }
  .landing-bento-card.large { min-height:390px; }
  .bento-editor-art > div { width:105px; height:105px; }
  .bento-map { grid-template-columns:1fr; min-height:455px !important; }
  .bento-map-art { height:200px; }
  .landing-pricing { grid-template-columns:1fr; }
  .landing-pricing .price-card { min-height:auto; }
  .landing-cta { min-height:510px; padding:56px 23px; border-radius:30px; }
  .landing-cta::after { inset:10px; border-radius:22px; }
  .landing-cta-orbit span { display:none; }
  .landing-footer .footer-legal-links { text-align:left; justify-content:flex-start; }
}
@media (max-width:390px) {
  .landing-topbar .logo span:last-child { display:none; }
  .landing-hero h1 { font-size:45px; }
  .experience-stage { transform:scale(.86); margin:-35px -18px -66px; }
  .landing-trust-row span { min-width:100%; }
  .dashboard-demo-stats { gap:5px; }
  .dashboard-demo-stats article { padding:11px 9px; }
}
@media (prefers-reduced-motion:reduce) {
  [data-reveal] { opacity:1; transform:none; transition:none; }
  .experience-halo::after { animation:none; }
}


/* ==========================================================================
   Lumora 1.13.0 — premium product experience: studio, account, ideas
   ========================================================================== */

/* Builder studio */
.builder-studio-page { background:radial-gradient(circle at 78% 8%,rgba(150,91,255,.13),transparent 30rem),radial-gradient(circle at 18% 22%,rgba(255,78,139,.08),transparent 26rem),#0b080e; }
.builder-studio-header { position:sticky; z-index:70; top:0; width:100%; min-height:82px; padding-inline:0; background:rgba(11,8,14,.78); backdrop-filter:blur(22px) saturate(135%); }
.builder-logo-link { text-decoration:none; }
.builder-header-actions { display:flex; align-items:center; gap:12px; }
.builder-autosave { display:flex; align-items:center; gap:7px; color:#847986; font-size:10px; font-weight:780; letter-spacing:.02em; }
.builder-autosave i { width:6px; height:6px; border-radius:50%; background:#c7f37c; box-shadow:0 0 0 4px rgba(199,243,124,.08); }
.builder-studio { display:grid; grid-template-columns:178px minmax(0,1fr) minmax(330px,390px); gap:18px; padding:28px 0 76px; align-items:start; }
.builder-step-rail { position:sticky; top:110px; display:grid; gap:5px; padding:4px 0; }
.builder-rail-label { margin:0 0 12px 10px; color:#6f6573; font-size:8px; font-weight:950; letter-spacing:.18em; }
.builder-step-item,.builder-rail-ideas { display:grid; grid-template-columns:28px 1fr; align-items:center; gap:10px; min-height:56px; padding:8px 9px; border:1px solid transparent; border-radius:16px; color:#726876; text-decoration:none; transition:.2s ease; }
.builder-step-item > span,.builder-rail-ideas > span { width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(255,255,255,.025); font-size:8px; font-weight:900; }
.builder-step-item strong,.builder-rail-ideas strong { display:block; margin-bottom:3px; color:inherit; font-size:11px; }
.builder-step-item small,.builder-rail-ideas small { display:block; color:#655b68; font-size:8px; line-height:1.3; }
.builder-step-item.is-current { color:#fff; border-color:rgba(255,106,158,.24); background:linear-gradient(110deg,rgba(255,79,135,.12),rgba(139,91,255,.08)); }
.builder-step-item.is-current > span { color:#fff; border-color:rgba(255,117,166,.38); background:linear-gradient(135deg,#f05483,#8e62e8); box-shadow:0 8px 20px rgba(121,60,139,.2); }
.builder-step-item.is-current small { color:#b8abbc; }
.builder-step-item.is-done { color:#b9adb9; }
.builder-step-item.is-done > span { color:#dffc9b; border-color:rgba(199,243,124,.18); background:rgba(199,243,124,.06); }
.builder-rail-ideas { margin-top:12px; border-color:rgba(255,255,255,.07); background:rgba(255,255,255,.022); color:#d9cedd; }
.builder-rail-ideas:hover { border-color:rgba(255,100,153,.28); background:rgba(255,80,138,.07); }
.builder-panel { min-height:690px; padding:0; overflow:hidden; border-radius:26px; border-color:rgba(255,255,255,.09); background:linear-gradient(155deg,rgba(255,255,255,.052),rgba(255,255,255,.018)); box-shadow:0 25px 70px rgba(0,0,0,.16); }
.builder-panel-inner { padding:34px 36px 20px; }
.builder-panel .kicker { display:inline-flex; margin-bottom:12px; color:#f6b6cc; background:rgba(255,84,144,.08); border:1px solid rgba(255,93,149,.12); border-radius:999px; padding:7px 10px; }
.builder-panel h1 { max-width:640px; margin:0 0 11px; font-size:clamp(34px,4vw,51px); line-height:.98; }
.builder-sub { max-width:660px; margin-bottom:28px; color:#9b909e; font-size:13px; }
.builder-panel .form-grid { gap:14px; }
.builder-panel .field { gap:7px; }
.builder-panel .field label { color:#d8cedb; font-size:11px; letter-spacing:.01em; }
.builder-panel .input,.builder-panel .textarea,.builder-panel .select { min-height:49px; border-radius:13px; border-color:rgba(255,255,255,.085); background:rgba(7,5,10,.46); font-size:13px; }
.builder-panel .textarea { min-height:120px; }
.builder-panel .input:focus,.builder-panel .textarea:focus,.builder-panel .select:focus { border-color:rgba(255,101,156,.5); background:rgba(9,6,12,.62); box-shadow:0 0 0 3px rgba(255,79,135,.06); }
.builder-panel .upload-box { min-height:190px; border-radius:18px; background:radial-gradient(circle at center,rgba(255,79,135,.07),transparent 60%),rgba(255,255,255,.018); }
.builder-panel .choice label,.builder-panel .effect-choice,.builder-panel .toggle { border-radius:15px; background:rgba(255,255,255,.022); }
.builder-panel .choice input:checked + label { background:linear-gradient(120deg,rgba(255,79,135,.11),rgba(137,91,255,.06)); }
.builder-panel .chip { border-color:rgba(255,255,255,.09); background:rgba(255,255,255,.045); }
.builder-actions { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin:24px 0 0; padding:18px 36px; border-top:1px solid rgba(255,255,255,.07); background:rgba(8,6,11,.26); }
.builder-actions .btn { min-height:46px; border-radius:14px; }
.builder-step-caption { justify-self:center; color:#716775; font-size:9px; font-weight:760; }
.preview-pane { top:110px; }
.preview-label { margin:0 8px 10px; color:#756a78; font-size:8px; font-weight:900; letter-spacing:.09em; }
.preview-label > span:first-child { display:flex; align-items:center; gap:7px; color:#b6a9b8; }
.preview-live-dot { width:6px; height:6px; border-radius:50%; background:#c7f37c; box-shadow:0 0 0 4px rgba(199,243,124,.08); }
.preview-device-shell { position:relative; padding:24px 9px 18px; border:1px solid rgba(255,255,255,.12); border-radius:42px; background:linear-gradient(145deg,#27212c,#0d0a10 65%); box-shadow:0 34px 80px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.04); }
.preview-device-top { position:absolute; z-index:8; top:8px; left:21px; right:21px; display:flex; justify-content:space-between; align-items:center; color:#b8adb9; font-size:7px; }
.preview-device-top i { position:absolute; left:50%; top:-1px; width:72px; height:15px; transform:translateX(-50%); border-radius:999px; background:#050407; }
.preview-device-top b { width:16px; height:5px; border-radius:10px; background:linear-gradient(90deg,#7d7480 45%,transparent 45% 60%,#7d7480 60%); opacity:.7; }
.preview-device-shell .live-card { min-height:574px; border-radius:32px; padding:25px; box-shadow:none; }
.preview-device-shell .live-photo { margin:16px 0; border-radius:19px; }
.preview-device-shell .live-card h3 { font-family:Inter,system-ui,sans-serif; font-size:22px; font-weight:900; }
.preview-device-shell .live-card p { font-size:12px; }
.preview-device-home { width:95px; height:4px; margin:10px auto -8px; border-radius:9px; background:#7f7782; opacity:.55; }
.preview-note { display:flex; gap:10px; margin:12px 8px 0; padding:11px 12px; border:1px solid rgba(255,255,255,.06); border-radius:14px; background:rgba(255,255,255,.018); color:#796e7c; font-size:9px; line-height:1.45; }
.preview-note > span { color:#ff8caf; }
.preview-note p { margin:0; }.preview-note strong { color:#b8acbb; }

/* Editorial date ideas */
.date-ideas-page { padding-bottom:90px; }
.date-ideas-hero { padding:72px 0 38px; }
.date-ideas-hero::before { width:700px; height:700px; left:-250px; top:-400px; background:radial-gradient(circle,rgba(255,79,135,.17),transparent 68%); }
.date-ideas-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:50px; align-items:end; }
.date-ideas-hero h1 { max-width:790px; margin:17px 0 0; font-family:Inter,system-ui,sans-serif; font-weight:950; font-size:clamp(52px,7.3vw,95px); line-height:.87; letter-spacing:-.075em; }
.date-ideas-hero-aside { display:grid; gap:13px; padding-bottom:7px; }
.date-ideas-hero-aside > span,.date-feature-index { color:#817583; font-size:8px; font-weight:950; letter-spacing:.17em; }
.date-ideas-hero-aside p { margin:0; color:#a297a5; font-size:13px; line-height:1.65; }
.date-ideas-hero-aside > div { display:flex; align-items:end; gap:9px; margin-top:6px; }
.date-ideas-hero-aside b { font-size:31px; letter-spacing:-.05em; }.date-ideas-hero-aside small { padding-bottom:4px; color:#756b79; font-size:9px; }
.date-ideas-feature { min-height:470px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr); overflow:hidden; margin-top:22px; margin-bottom:18px; border:1px solid rgba(255,255,255,.1); border-radius:34px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.016)); box-shadow:0 35px 90px rgba(0,0,0,.18); }
.date-ideas-feature-media { position:relative; min-height:470px; overflow:hidden; background:radial-gradient(circle at 50% 30%,#ffacc7,#8d5af0 72%); }
.date-ideas-feature-media img { width:100%; height:100%; min-height:470px; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }.date-ideas-feature:hover img { transform:scale(1.025); }
.date-ideas-feature-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 65%,rgba(12,8,15,.5)); }
.date-ideas-feature-media > span { position:absolute; z-index:2; top:20px; left:20px; padding:8px 11px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#fff; background:rgba(13,8,16,.48); backdrop-filter:blur(10px); font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.date-ideas-feature-placeholder { width:100%; min-height:470px; display:grid; place-items:center; color:rgba(255,255,255,.7); font-size:90px; }
.date-ideas-feature-copy { display:flex; flex-direction:column; justify-content:center; padding:44px; }
.date-ideas-feature-copy h2 { margin:16px 0 15px; font-size:clamp(35px,4.2vw,57px); line-height:.94; letter-spacing:-.06em; }
.date-ideas-feature-copy > p { margin:0; color:#aaa0ad; font-size:13px; line-height:1.7; }
.date-feature-facts { display:flex; flex-wrap:wrap; gap:7px; margin:23px 0; }.date-feature-facts span,.date-feature-facts strong { padding:8px 10px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:rgba(255,255,255,.03); color:#d4c8d7; font-size:9px; }.date-feature-facts strong { color:#fff; }
.date-feature-actions { display:flex; gap:9px; flex-wrap:wrap; }.date-feature-actions .btn { min-height:46px; border-radius:14px; }
.date-ideas-controls { position:sticky; z-index:25; top:8px; margin-bottom:18px; padding:13px; border:1px solid rgba(255,255,255,.09); border-radius:22px; background:rgba(13,9,16,.78); backdrop-filter:blur(20px) saturate(140%); box-shadow:0 18px 55px rgba(0,0,0,.2); }
.date-ideas-toolbar { margin:0; }.date-ideas-toolbar label { position:relative; width:min(560px,100%); }.date-search-icon { position:absolute; z-index:2; left:15px; top:50%; transform:translateY(-50%); color:#766b79; font-size:18px; }.date-ideas-toolbar .input { min-height:46px; padding-left:43px; border-radius:13px; background:rgba(6,4,8,.45); }.date-ideas-toolbar > span { padding-right:5px; font-size:9px; }
.date-ideas-filters { margin-top:10px; gap:6px; }.date-ideas-filters button { min-height:34px; padding:7px 11px; border-radius:11px; font-size:9px; }.date-ideas-filters button:hover,.date-ideas-filters button.is-active { border-color:rgba(255,105,157,.28); background:rgba(255,79,135,.09); }
.date-ideas-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.date-idea-card { overflow:hidden; border-radius:23px; border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.02); box-shadow:none; transition:transform .3s ease,border-color .3s ease,background .3s ease; }.date-idea-card:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.035); }
.date-idea-cover { aspect-ratio:1.18; min-height:0; border-radius:0; }.date-idea-cover::after { display:none; }.date-idea-cover img { transition:transform .6s cubic-bezier(.2,.7,.2,1); }.date-idea-card:hover .date-idea-cover img { transform:scale(1.035); }
.date-idea-cover-shade { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(8,5,10,.05),rgba(8,5,10,.08) 42%,rgba(8,5,10,.83)); }
.date-idea-cover-top { position:absolute; z-index:3; top:13px; left:13px; right:13px; display:flex; justify-content:space-between; gap:10px; align-items:center; }.date-idea-cover-top b,.date-idea-cover-top strong { position:static; padding:6px 8px; border:1px solid rgba(255,255,255,.16); border-radius:999px; color:#fff; background:rgba(12,8,15,.46); backdrop-filter:blur(10px); font-size:8px; font-weight:850; }.date-idea-cover-top strong { font-size:9px; }
.date-idea-cover-title { position:absolute; z-index:3; left:17px; right:17px; bottom:15px; }.date-idea-cover-title small { display:block; margin-bottom:7px; color:#e8bdce; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.date-idea-cover-title h2 { margin:0; color:#fff; font-size:23px; line-height:1.02; letter-spacing:-.04em; }
.date-idea-body { padding:16px; }.date-idea-body > p { min-height:60px; margin:0 0 14px; font-size:11px; line-height:1.55; }.date-idea-meta { display:none; }
.date-idea-place { min-height:auto; padding:8px 9px; border-radius:11px; font-size:9px; }.date-idea-place > span:first-child { font-size:13px; }
.date-idea-actions { min-height:38px; margin-top:12px; }.date-idea-place-link,.date-idea-site-link { color:#c7b9ca; font-size:9px; font-weight:800; text-decoration:none; }.date-idea-place-link:hover,.date-idea-site-link:hover { color:#fff; }.date-idea-actions .btn-primary { min-height:36px; padding:8px 11px; border-radius:11px; font-size:9px; }.date-idea-actions .btn-primary span { margin-left:4px; font-size:12px; }

/* Premium account */
.account-dashboard { padding:28px 0 90px; }
.account-hero { min-height:215px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(190px,.55fr) auto; align-items:center; gap:28px; margin-bottom:14px; padding:30px; overflow:hidden; position:relative; border:1px solid rgba(255,255,255,.095); border-radius:30px; background:radial-gradient(circle at 75% 10%,rgba(141,92,255,.15),transparent 24rem),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); }
.account-hero::after { content:""; position:absolute; width:260px; height:260px; right:-160px; bottom:-190px; border:40px solid rgba(255,255,255,.025); border-radius:50%; }
.account-profile-block { display:flex; align-items:center; gap:17px; min-width:0; }.account-avatar { width:78px; height:78px; flex:0 0 78px; border-radius:25px; box-shadow:0 18px 45px rgba(113,62,148,.2); }.account-overline { display:block; margin-bottom:7px; color:#7f7481; font-size:8px; font-weight:950; letter-spacing:.15em; text-transform:uppercase; }.account-profile-block h1 { margin:0 0 9px; font-size:clamp(29px,4vw,45px); line-height:.95; letter-spacing:-.055em; }
.account-hero-message { display:grid; align-content:center; padding:20px 24px; border-left:1px solid rgba(255,255,255,.07); }.account-hero-message small { color:#847886; font-size:9px; }.account-hero-message strong { margin:5px 0; font-size:46px; line-height:1; letter-spacing:-.06em; }.account-hero-message span { color:#897e8c; font-size:9px; }
.account-hero-actions { position:relative; z-index:2; display:grid; gap:8px; justify-items:end; }.account-hero-actions .btn { white-space:nowrap; border-radius:14px; }
.account-stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:10px; }.account-stat-grid article { min-height:115px; position:relative; padding:17px; border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.014)); }.account-stat-grid article > span { position:absolute; top:13px; right:14px; color:#5e5561; font-size:8px; font-weight:900; }.account-stat-grid strong { margin:23px 0 6px; font-size:36px; letter-spacing:-.055em; }.account-stat-grid small { color:#8c818f; font-size:9px; }
.account-secondary-stats { display:flex; flex-wrap:wrap; gap:0; margin-bottom:18px; padding:10px 14px; border:1px solid rgba(255,255,255,.065); border-radius:16px; background:rgba(255,255,255,.016); }.account-secondary-stats > span { display:flex; align-items:center; gap:6px; min-height:22px; padding:0 15px; border-right:1px solid rgba(255,255,255,.065); color:#776d7a; font-size:9px; }.account-secondary-stats > span:first-child { padding-left:0; }.account-secondary-stats > span:last-child { border-right:0; }.account-secondary-stats b { color:#cfc3d1; font-size:11px; }
.account-dashboard-grid { grid-template-columns:minmax(0,1fr) 310px; gap:14px; }.account-panel { padding:20px; border-radius:23px; background:linear-gradient(145deg,rgba(255,255,255,.032),rgba(255,255,255,.012)); }.account-invitations-panel { padding:22px; }.account-panel-head { align-items:flex-start; margin-bottom:18px; }.account-panel-head > div { display:grid; grid-template-columns:auto 1fr; column-gap:11px; }.account-panel-head h2 { grid-column:2; margin:0 0 4px; font-size:21px; letter-spacing:-.03em; }.account-panel-head p { grid-column:2; max-width:600px; font-size:9px; line-height:1.5; }.account-panel-head > a { color:#cbbdce; font-size:9px; font-weight:800; text-decoration:none; }.account-section-index { grid-row:1/3; width:25px; height:25px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); border-radius:8px; color:#736978; font-size:7px; font-weight:900; }
.account-invitation-list { gap:9px; }.account-invitation-card { grid-template-columns:112px minmax(0,1fr) 120px; gap:15px; min-height:108px; padding:9px; border-radius:18px; border-color:rgba(255,255,255,.065); background:rgba(255,255,255,.016); transition:.25s ease; }.account-invitation-card:hover { transform:translateY(-2px); border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.028); }
.account-invitation-media { position:relative; width:112px; height:90px; overflow:hidden; border-radius:13px; }.account-invitation-media > img,.account-invitation-media .account-invitation-placeholder { width:100%; height:100%; border-radius:0; object-fit:cover; }.account-invitation-media > span { position:absolute; left:7px; bottom:7px; max-width:calc(100% - 14px); padding:5px 7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:#fff; background:rgba(9,6,11,.65); backdrop-filter:blur(8px); font-size:7px; font-weight:850; }.account-invitation-card.is-yes .account-invitation-media > span { background:rgba(58,102,56,.68); }.account-invitation-card.is-no .account-invitation-media > span { background:rgba(99,76,84,.72); }
.account-invitation-content { min-width:0; align-self:center; }.account-invitation-from { display:block; margin-bottom:6px; color:#a797a8; font-size:8px; font-weight:800; }.account-invitation-content h3 { margin:0 0 9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:17px; letter-spacing:-.03em; }.account-invitation-chips { display:flex; gap:5px; flex-wrap:wrap; }.account-invitation-chips span { max-width:160px; padding:5px 7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:999px; background:rgba(255,255,255,.035); color:#817685; font-size:7px; }
.account-invitation-action { align-self:stretch; display:flex; align-items:stretch; }.account-open-link { width:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:12px; border:1px solid rgba(255,255,255,.07); border-radius:13px; color:#d9cedd; background:rgba(255,255,255,.022); text-decoration:none; font-size:8px; font-weight:850; transition:.2s; }.account-open-link b { align-self:flex-end; font-size:17px; font-weight:400; }.account-open-link:hover { color:#fff; border-color:rgba(255,103,158,.25); background:rgba(255,79,135,.06); }.account-closed-label { align-self:center; padding:10px; font-size:8px; }
.account-side { gap:10px; }.account-side .account-panel { padding:18px; }.account-side .account-panel > .account-section-index { margin-bottom:14px; }.account-side .account-panel h2 { margin:0 0 8px; font-size:17px; }.account-side .account-panel > p { margin:0 0 13px; color:#786e7b; font-size:9px; line-height:1.5; }.account-popular-list { gap:5px; }.account-popular-list span { display:grid; grid-template-columns:22px 1fr auto; align-items:center; gap:6px; padding:8px 0; border-radius:0; border-bottom:1px solid rgba(255,255,255,.055); background:transparent; }.account-popular-list span:last-child { border-bottom:0; }.account-popular-list i { color:#635a66; font-size:7px; font-style:normal; }.account-popular-list em { overflow:hidden; color:#9c909f; font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }.account-popular-list b { min-width:22px; height:22px; display:grid; place-items:center; border-radius:7px; background:rgba(255,255,255,.035); font-size:8px; }.account-danger { opacity:.8; }
.account-empty .btn { margin-top:11px; }

@media (max-width:1180px) {
  .builder-studio { grid-template-columns:145px minmax(0,1fr) 340px; gap:12px; }
  .builder-step-item,.builder-rail-ideas { grid-template-columns:25px 1fr; padding-inline:6px; }.builder-step-item > span,.builder-rail-ideas > span { width:25px; height:25px; }.builder-step-item small,.builder-rail-ideas small { display:none; }
  .builder-panel-inner { padding-inline:28px; }.builder-actions { padding-inline:28px; }
  .account-dashboard-grid { grid-template-columns:minmax(0,1fr) 280px; }
}
@media (max-width:980px) {
  .builder-studio { grid-template-columns:minmax(0,1fr) minmax(320px,370px); }.builder-step-rail { display:none; }
  .builder-autosave { display:none; }
  .date-ideas-feature { grid-template-columns:1fr; }.date-ideas-feature-media,.date-ideas-feature-media img,.date-ideas-feature-placeholder { min-height:390px; }.date-ideas-feature-media::after { background:linear-gradient(180deg,transparent 65%,rgba(12,8,15,.6)); }.date-ideas-feature-copy { padding:32px; }
  .date-ideas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-hero { grid-template-columns:1fr auto; }.account-hero-message { display:none; }.account-dashboard-grid { grid-template-columns:1fr; }.account-side { grid-template-columns:repeat(3,minmax(0,1fr)); }.account-side-feature { min-width:0; }
}
@media (max-width:760px) {
  .builder-studio-header { min-height:72px; }.builder-studio-header .progress-wrap { width:150px; }.builder-studio-header .progress-meta span:first-child { max-width:95px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.builder-header-actions .btn { padding-inline:8px; font-size:9px; }
  .builder-studio { display:block; padding-top:16px; }.builder-panel { min-height:0; border-radius:23px; }.builder-panel-inner { padding:25px 20px 12px; }.builder-panel h1 { font-size:36px; }.builder-actions { grid-template-columns:1fr 1fr; padding:14px 20px; }.builder-step-caption { display:none; }.builder-actions .btn { width:100%; }.preview-pane { display:none; }
  .date-ideas-hero { padding-top:50px; }.date-ideas-hero-grid { grid-template-columns:1fr; gap:24px; }.date-ideas-hero h1 { font-size:clamp(48px,14vw,74px); }.date-ideas-hero-aside { max-width:520px; }.date-ideas-feature { margin-top:5px; border-radius:25px; }.date-ideas-feature-media,.date-ideas-feature-media img,.date-ideas-feature-placeholder { min-height:310px; }.date-ideas-feature-copy { padding:26px 22px; }.date-ideas-feature-copy h2 { font-size:38px; }.date-ideas-controls { top:5px; border-radius:17px; }.date-ideas-toolbar { align-items:stretch; flex-direction:column; gap:8px; }.date-ideas-toolbar > span { align-self:flex-end; }.date-ideas-filters { overflow-x:auto; flex-wrap:nowrap; padding-bottom:2px; }.date-ideas-filters button { flex:0 0 auto; }.date-ideas-grid { grid-template-columns:1fr; }
  .account-dashboard { padding-top:18px; }.account-hero { grid-template-columns:1fr; gap:20px; min-height:0; padding:22px; }.account-hero-actions { justify-items:stretch; grid-template-columns:1fr auto; }.account-hero-actions .btn { width:100%; }.account-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.account-secondary-stats { display:grid; grid-template-columns:1fr 1fr; }.account-secondary-stats > span { padding:7px 10px; border-right:0; }.account-side { grid-template-columns:1fr; }.account-invitation-card { grid-template-columns:88px minmax(0,1fr); }.account-invitation-media { width:88px; height:82px; }.account-invitation-action { grid-column:1/-1; }.account-open-link { min-height:44px; flex-direction:row; align-items:center; padding:10px 12px; }.account-open-link b { align-self:center; }
}
@media (max-width:460px) {
  .builder-studio-header .logo span:last-child { display:none; }.builder-studio-header .progress-wrap { width:125px; }.builder-studio-header .progress-meta { font-size:8px; }.builder-panel h1 { font-size:32px; }.builder-panel .form-grid { grid-template-columns:1fr; }.builder-panel .form-grid .full { grid-column:auto; }.builder-actions { padding-inline:14px; }.builder-actions .btn { padding-inline:10px; font-size:10px; }
  .date-ideas-feature-media,.date-ideas-feature-media img,.date-ideas-feature-placeholder { min-height:260px; }.date-feature-actions { display:grid; grid-template-columns:1fr; }.date-feature-actions .btn { width:100%; }.date-idea-cover-title h2 { font-size:21px; }
  .account-profile-block { align-items:flex-start; }.account-avatar { width:58px; height:58px; flex-basis:58px; border-radius:19px; }.account-profile-block h1 { font-size:31px; }.account-hero-actions { grid-template-columns:1fr; }.account-stat-grid article { min-height:98px; }.account-stat-grid strong { margin-top:17px; font-size:31px; }.account-secondary-stats { grid-template-columns:1fr; }.account-invitation-card { grid-template-columns:72px minmax(0,1fr); gap:11px; }.account-invitation-media { width:72px; height:76px; }.account-invitation-content h3 { font-size:15px; }.account-invitation-chips span:nth-child(n+2) { display:none; }
}


/* Lumora v1.14.0 bright motion update */
body {
 background:
 radial-gradient(circle at 15% 20%, rgba(255,143,179,.20), transparent 35%),
 radial-gradient(circle at 85% 10%, rgba(181,140,255,.18), transparent 32%),
 radial-gradient(circle at 50% 90%, rgba(255,179,107,.16), transparent 35%);
}
button,.btn,.cta {
 transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
button:hover,.btn:hover,.cta:hover {
 transform:translateY(-4px) scale(1.03);
 box-shadow:0 18px 45px rgba(255,143,179,.35);
}
.card,.invite-card,.hero-card {
 animation:lumoraFloat 6s ease-in-out infinite;
}
@keyframes lumoraFloat {
 0%,100%{transform:translateY(0)}
 50%{transform:translateY(-8px)}
}
.gradient-accent {
 background:linear-gradient(120deg,#ff8fb3,#ffb36b,#b58cff);
 background-size:200% 200%;
 animation:gradientMove 8s ease infinite;
}
@keyframes gradientMove {
 0%{background-position:0% 50%}
 50%{background-position:100% 50%}
 100%{background-position:0% 50%}
}


/* Lumora v1.15 Premium Interface */
.lumora-reveal {
 opacity:0;
 transform:translateY(25px);
 animation:fadeUp .8s forwards;
}
@keyframes fadeUp {
 from {opacity:0; transform:translateY(25px)}
 to {opacity:1; transform:translateY(0)}
}
.invite-preview {
 position:relative;
 overflow:hidden;
}
.invite-preview::after {
 content:"";
 position:absolute;
 inset:-100%;
 background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);
 animation:shine 6s infinite;
}
@keyframes shine {
 0%,75% {transform:translateX(-60%)}
 100% {transform:translateX(60%)}
}


/* Lumora v1.16 Invitation Studio */
.invitation-studio {
    position: relative;
    isolation: isolate;
}

.phone-preview {
    border-radius: 42px;
    overflow: hidden;
    animation: phoneFloat 5s ease-in-out infinite;
    box-shadow: 0 30px 80px rgba(0,0,0,.25);
}

.invitation-choice {
    transition: transform .25s ease, box-shadow .25s ease;
}

.invitation-choice:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(255,140,180,.25);
}

.accept-button {
    animation: pulseLumora 2.8s infinite;
}

@keyframes phoneFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

@keyframes pulseLumora {
    0%,100% { box-shadow: 0 0 0 rgba(255,140,180,0); }
    50% { box-shadow: 0 0 35px rgba(255,140,180,.45); }
}

.reveal-heart {
    animation: heartAppear .8s ease forwards;
}

@keyframes heartAppear {
    from { opacity:0; transform:scale(.7); }
    to { opacity:1; transform:scale(1); }
}


/* Lumora v1.17 Cinematic Invitation */
.invitation-open {
    position: relative;
    min-height: 100vh;
    overflow:hidden;
}

.envelope-reveal {
    animation: envelopeOpen 1.2s cubic-bezier(.2,.8,.2,1);
}

.invitation-card-cinematic {
    animation: invitationAppear 1s ease forwards;
    transform-origin:center;
}

.date-details {
    animation: detailsFade .9s .4s ease both;
}

.choice-button {
    transition: transform .25s ease, box-shadow .25s ease;
}

.choice-button:hover {
    transform:translateY(-5px);
}

.choice-yes {
    animation: yesGlow 2.5s infinite;
}

@keyframes envelopeOpen {
    from {
        opacity:0;
        transform:translateY(50px) rotateX(20deg);
    }
    to {
        opacity:1;
        transform:translateY(0) rotateX(0);
    }
}

@keyframes invitationAppear {
    from {
        opacity:0;
        scale:.92;
    }
    to {
        opacity:1;
        scale:1;
    }
}

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

@keyframes yesGlow {
    0%,100% {
        box-shadow:0 0 0 rgba(255,140,180,0);
    }
    50% {
        box-shadow:0 0 35px rgba(255,140,180,.45);
    }
}


/* Lumora v1.18 Magic Experience */

.lumora-envelope {
    perspective:1200px;
    animation: envelopeFloat 4s ease-in-out infinite;
}

.lumora-open-stage {
    animation: stageReveal 1.2s ease both;
}

.lumora-particle {
    position:absolute;
    pointer-events:none;
    animation: particleMove 6s linear infinite;
}

.lumora-music-toggle {
    transition:.3s ease;
}

.lumora-music-toggle:hover {
    transform:scale(1.08);
}

.lumora-success-screen {
    animation: successReveal 1s cubic-bezier(.2,.8,.2,1);
}

@keyframes envelopeFloat {
    0%,100% {transform:translateY(0);}
    50% {transform:translateY(-12px);}
}

@keyframes stageReveal {
    from {
        opacity:0;
        transform:scale(.92) translateY(40px);
    }
    to {
        opacity:1;
        transform:scale(1) translateY(0);
    }
}

@keyframes particleMove {
    from {
        transform:translateY(40px) rotate(0deg);
        opacity:0;
    }
    20% {opacity:1;}
    to {
        transform:translateY(-500px) rotate(360deg);
        opacity:0;
    }
}

@keyframes successReveal {
    from {
        opacity:0;
        transform:scale(.8);
    }
    to {
        opacity:1;
        transform:scale(1);
    }
}


/* Lumora v1.19 Romantic Experience */

.story-section {
    animation: storyFade .9s ease both;
}

.parallax-romantic {
    transform-style: preserve-3d;
    transition: transform .5s ease;
}

.photo-gallery-card {
    border-radius: 36px;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(80,40,50,.18);
}

.timeline-love {
    position:relative;
}

.timeline-love::before {
    content:"";
    position:absolute;
    left:50%;
    top:0;
    bottom:0;
    width:2px;
    background:rgba(255,140,180,.35);
}

.countdown-card {
    backdrop-filter:blur(18px);
    animation:softPulse 4s infinite;
}

.share-story-button {
    transition:.3s ease;
}

.share-story-button:hover {
    transform:translateY(-5px);
}

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

@keyframes softPulse {
    0%,100% {
        box-shadow:0 0 0 rgba(255,140,180,0);
    }
    50% {
        box-shadow:0 0 45px rgba(255,140,180,.25);
    }
}

/* Hide old cinema film theme */
.cinema-film-theme,
.film-strip-template,
.template-cinema-film {
    display:none !important;
}


/* Lumora v1.20 Canva Style Template Gallery */

.template-gallery {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:24px;
}

.template-card {
    position:relative;
    border-radius:34px;
    overflow:hidden;
    cursor:pointer;
    transition:.35s ease;
    transform:translateY(0);
}

.template-card:hover {
    transform:translateY(-10px);
    box-shadow:0 30px 80px rgba(255,120,160,.25);
}

.template-card.active {
    outline:3px solid rgba(255,140,180,.8);
}

.template-preview {
    aspect-ratio:9/16;
    border-radius:32px;
    overflow:hidden;
}

.template-elegant {
    background:linear-gradient(160deg,#fff4f1,#d9b6a8);
}

.template-sunset {
    background:linear-gradient(160deg,#ffd7a8,#ff8fa3);
}

.template-luxury {
    background:linear-gradient(160deg,#24191d,#b88b55);
}

.template-minimal {
    background:linear-gradient(160deg,#ffffff,#eeeeee);
}

.template-nature {
    background:linear-gradient(160deg,#d8efd8,#89b98a);
}

.template-cute {
    background:linear-gradient(160deg,#ffe0ef,#ffc1d8);
}

.template-live-preview {
    animation:previewAppear .7s ease both;
}

@keyframes previewAppear {
    from {
        opacity:0;
        transform:scale(.96);
    }
    to {
        opacity:1;
        transform:scale(1);
    }
}


/* Lumora v1.21 Canva Editor Experience */

.editor-workspace {
    display:grid;
    grid-template-columns:280px minmax(320px,1fr) 320px;
    gap:24px;
}

.editor-panel {
    border-radius:28px;
    backdrop-filter:blur(20px);
    animation:panelIn .6s ease both;
}

.canvas-phone {
    border-radius:48px;
    overflow:hidden;
    box-shadow:0 40px 100px rgba(60,35,45,.22);
    transition:.35s ease;
}

.canvas-phone:hover {
    transform:translateY(-8px);
}

.drag-element {
    cursor:grab;
    transition:.2s ease;
}

.drag-element:active {
    cursor:grabbing;
    scale:1.04;
}

.color-picker-card,
.font-picker-card,
.background-picker-card {
    transition:.25s ease;
}

.color-picker-card:hover,
.font-picker-card:hover,
.background-picker-card:hover {
    transform:translateY(-5px);
}

.save-template-button {
    animation:savePulse 3s infinite;
}

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

@keyframes savePulse {
    0%,100% {
        box-shadow:0 0 0 rgba(255,140,180,0);
    }
    50% {
        box-shadow:0 0 35px rgba(255,140,180,.35);
    }
}

@media(max-width:900px){
    .editor-workspace{
        grid-template-columns:1fr;
    }
}

/* Lumora v1.22 True Canva Editor */
.editor-canvas-live{min-height:500px;position:relative;}
.element-selected{outline:2px solid rgba(255,140,180,.8);}
.layer-item{cursor:pointer;transition:.2s;}
.layer-item:hover{transform:translateX(5px);}


/* Lumora v1.23 Drag Drop Photo Studio */

.editor-canvas-object {
    position: relative;
    cursor: move;
    user-select: none;
    transition: transform .2s ease, outline .2s ease;
}

.editor-canvas-object:hover {
    outline: 2px dashed rgba(255,140,180,.75);
}

.editor-canvas-object.selected {
    outline: 3px solid #ff8fb3;
}

.photo-upload-zone {
    border: 2px dashed rgba(255,140,180,.55);
    border-radius: 28px;
    transition: .3s ease;
}

.photo-upload-zone.dragover {
    background: rgba(255,140,180,.12);
    transform: scale(1.02);
}

.layer-item {
    cursor: pointer;
    transition: .2s ease;
}

.layer-item:hover {
    transform: translateX(6px);
}

.animation-preview {
    animation: editorPreview .8s ease both;
}

@keyframes editorPreview {
    from {
        opacity:0;
        transform:scale(.96);
    }
    to {
        opacity:1;
        transform:scale(1);
    }
}


/* Lumora v1.24 Mobile First Editor */

.editor-workspace {
    display:grid;
    grid-template-columns:280px minmax(320px,1fr) 320px;
    gap:24px;
}

.mobile-toolbar {
    display:none;
}

.mobile-canvas {
    touch-action:none;
}

.editor-canvas-object {
    touch-action:none;
}

.mobile-bottom-panel {
    transition:transform .35s ease;
}

@media (max-width: 900px) {

    .editor-workspace {
        display:flex;
        flex-direction:column;
        gap:16px;
    }

    .editor-sidebar,
    .editor-settings {
        width:100%;
        order:3;
    }

    .editor-canvas-area {
        order:1;
        width:100%;
        display:flex;
        justify-content:center;
    }

    .canvas-phone {
        width:min(92vw,420px);
        max-height:none;
    }

    .mobile-toolbar {
        display:flex;
        position:sticky;
        bottom:12px;
        z-index:20;
        margin:12px;
        padding:12px;
        border-radius:24px;
        backdrop-filter:blur(20px);
        gap:10px;
        justify-content:center;
    }

    .mobile-toolbar button {
        min-height:48px;
        min-width:48px;
        border-radius:50%;
    }

    .template-gallery {
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .template-card {
        border-radius:22px;
    }

    .phone-preview {
        border-radius:34px;
    }

    .photo-upload-zone {
        min-height:120px;
    }

}

@media (max-width:480px) {

    .template-gallery {
        grid-template-columns:1fr;
    }

    .editor-panel {
        border-radius:22px;
        padding:14px;
    }

    .canvas-phone {
        width:96vw;
    }

}


/* Lumora v1.25 Real Mobile Editor */

.editor-canvas {
    position:relative;
    overflow:hidden;
    touch-action:none;
}

.canvas-element {
    position:absolute;
    touch-action:none;
    user-select:none;
    transform-origin:center;
}

.canvas-element.active {
    outline:2px solid #ff8fb3;
    border-radius:12px;
}

.resize-handle {
    width:18px;
    height:18px;
    border-radius:50%;
    background:#ff8fb3;
    position:absolute;
}

.text-editor-popover {
    animation:popoverIn .25s ease;
    backdrop-filter:blur(18px);
}

.photo-filter-card {
    transition:.25s ease;
}

.photo-filter-card:hover {
    transform:translateY(-4px);
}

.sticker-item {
    cursor:pointer;
    transition:.2s ease;
}

.sticker-item:hover {
    transform:scale(1.1);
}

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

@media(max-width:900px){
    .canvas-element {
        touch-action:none;
    }

    .resize-handle {
        width:24px;
        height:24px;
    }

    .text-editor-popover {
        position:fixed;
        bottom:90px;
        left:12px;
        right:12px;
    }
}


/* Lumora v1.26 Studio Experience */

.studio-object {
    position:absolute;
    touch-action:none;
    user-select:none;
    transition:box-shadow .2s ease;
}

.studio-object.selected {
    box-shadow:0 0 0 3px rgba(255,143,179,.8);
}

.studio-rotate-handle,
.studio-scale-handle {
    position:absolute;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#ff8fb3;
}

.studio-toolbar {
    display:flex;
    gap:12px;
    backdrop-filter:blur(20px);
    border-radius:28px;
}

.animation-choice {
    transition:.25s ease;
}

.animation-choice:hover {
    transform:translateY(-5px);
}

.music-control {
    animation:musicPulse 3s infinite;
}

@keyframes musicPulse {
    0%,100% {
        box-shadow:0 0 0 rgba(255,143,179,0);
    }
    50% {
        box-shadow:0 0 35px rgba(255,143,179,.35);
    }
}

@media(max-width:900px){
    .studio-toolbar {
        position:fixed;
        bottom:16px;
        left:16px;
        right:16px;
        justify-content:center;
        z-index:50;
    }
}


/* Lumora v1.27 App Like Experience */

.lumora-app-shell {
    min-height:100vh;
    overscroll-behavior:none;
}

.install-app-banner {
    border-radius:28px;
    backdrop-filter:blur(22px);
    animation:appBannerIn .8s ease both;
}

.pwa-card {
    transition:.3s ease;
}

.pwa-card:hover {
    transform:translateY(-8px);
}

.touch-canvas {
    touch-action:none;
}

.gesture-hint {
    animation:gestureFloat 3s infinite;
}

.story-transition {
    animation:storyTransition .7s ease both;
}

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

@keyframes gestureFloat {
    0%,100% {
        transform:translateY(0);
    }
    50% {
        transform:translateY(-8px);
    }
}

@keyframes storyTransition {
    from {
        opacity:0;
        filter:blur(10px);
    }
    to {
        opacity:1;
        filter:blur(0);
    }
}

@media(max-width:900px){
    .lumora-app-shell {
        padding-bottom:90px;
    }
}


/* Lumora v1.28 Music Experience */

.music-library {
    border-radius:32px;
    backdrop-filter:blur(20px);
}

.music-track-card {
    transition:.3s ease;
    cursor:pointer;
}

.music-track-card:hover,
.music-track-card.active {
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(255,143,179,.25);
}

.invitation-music-player {
    display:flex;
    align-items:center;
    gap:14px;
    border-radius:28px;
    backdrop-filter:blur(20px);
}

.music-cover {
    width:54px;
    height:54px;
    border-radius:50%;
    animation:musicRotate 8s linear infinite;
}

.music-playing .music-cover {
    animation-play-state:running;
}

.music-locked {
    opacity:.8;
}

.open-invitation-button {
    animation:openPulse 2.5s infinite;
}

@keyframes musicRotate {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}

@keyframes openPulse {
    0%,100% {
        box-shadow:0 0 0 rgba(255,143,179,0);
    }
    50% {
        box-shadow:0 0 35px rgba(255,143,179,.45);
    }
}

@media(max-width:900px){
    .invitation-music-player {
        position:fixed;
        bottom:16px;
        left:16px;
        right:16px;
        z-index:50;
    }
}


/* Lumora v1.29 Music Visual Experience */

.music-wave {
    display:flex;
    gap:5px;
    align-items:center;
    height:40px;
}

.music-wave span {
    width:5px;
    height:18px;
    border-radius:10px;
    background:linear-gradient(180deg,#ff8fb3,#b58cff);
    animation:waveMove 1s infinite ease-in-out;
}

.music-wave span:nth-child(2){animation-delay:.15s;height:28px}
.music-wave span:nth-child(3){animation-delay:.3s;height:38px}
.music-wave span:nth-child(4){animation-delay:.45s;height:24px}

.music-scene-transition {
    animation:musicScene .8s ease both;
}

.music-fade-in {
    animation:volumeFade 2s ease both;
}

@keyframes waveMove {
    0%,100%{transform:scaleY(.5)}
    50%{transform:scaleY(1.2)}
}

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

@keyframes volumeFade {
    from{opacity:.2}
    to{opacity:1}
}


/* Lumora v1.30 Story Video Experience */

.story-mode {
    overflow:hidden;
    position:relative;
}

.story-scene {
    opacity:0;
    transform:translateY(30px) scale(.98);
    animation:sceneReveal .9s ease forwards;
}

.story-photo {
    animation:photoZoom 8s ease-in-out infinite alternate;
}

.voice-message-card {
    border-radius:30px;
    backdrop-filter:blur(20px);
}

.voice-wave {
    display:flex;
    gap:5px;
    align-items:center;
}

.voice-wave span {
    width:5px;
    height:24px;
    border-radius:10px;
    background:#ff8fb3;
    animation:waveMove 1s infinite ease-in-out;
}

.music-particles {
    position:absolute;
    animation:particleRise 6s linear infinite;
}

.video-export-card {
    border-radius:32px;
    animation:exportAppear .7s ease both;
}

@keyframes sceneReveal {
    to {
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@keyframes photoZoom {
    from {
        transform:scale(1);
    }
    to {
        transform:scale(1.08);
    }
}

@keyframes waveMove {
    0%,100% {
        height:14px;
    }
    50% {
        height:38px;
    }
}

@keyframes particleRise {
    from {
        transform:translateY(50px);
        opacity:0;
    }
    30% {
        opacity:1;
    }
    to {
        transform:translateY(-300px);
        opacity:0;
    }
}

@keyframes exportAppear {
    from {
        opacity:0;
        transform:scale(.94);
    }
    to {
        opacity:1;
        transform:scale(1);
    }
}


/* Lumora v1.31 AI Love Assistant */

.ai-assistant-panel {
    border-radius:32px;
    backdrop-filter:blur(22px);
    animation:aiPanelIn .7s ease both;
}

.ai-suggestion-card {
    cursor:pointer;
    transition:.3s ease;
}

.ai-suggestion-card:hover {
    transform:translateY(-6px);
    box-shadow:0 25px 60px rgba(181,140,255,.25);
}

.ai-thinking {
    display:flex;
    gap:6px;
}

.ai-thinking span {
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ff8fb3;
    animation:thinkingPulse 1.2s infinite;
}

.ai-thinking span:nth-child(2){
    animation-delay:.2s;
}

.ai-thinking span:nth-child(3){
    animation-delay:.4s;
}

.love-result-card {
    animation:resultReveal .8s ease both;
}

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

@keyframes thinkingPulse {
    0%,100% {
        transform:scale(.7);
        opacity:.5;
    }
    50% {
        transform:scale(1.2);
        opacity:1;
    }
}

@keyframes resultReveal {
    from {
        opacity:0;
        transform:scale(.96);
    }
    to {
        opacity:1;
        transform:scale(1);
    }
}


/* Lumora v1.32 Smart Couple Experience */

.couple-profile-card {
    border-radius:34px;
    backdrop-filter:blur(22px);
    animation:coupleReveal .8s ease both;
}

.love-timeline {
    position:relative;
}

.love-memory-card {
    transition:.3s ease;
}

.love-memory-card:hover {
    transform:translateY(-8px);
    box-shadow:0 25px 60px rgba(255,143,179,.25);
}

.special-message-card {
    animation:messageFloat 4s ease-in-out infinite;
}

.anniversary-countdown {
    border-radius:30px;
    animation:countPulse 3s infinite;
}

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

@keyframes messageFloat {
    0%,100% {
        transform:translateY(0);
    }
    50% {
        transform:translateY(-8px);
    }
}

@keyframes countPulse {
    0%,100% {
        box-shadow:0 0 0 rgba(255,143,179,0);
    }
    50% {
        box-shadow:0 0 40px rgba(255,143,179,.3);
    }
}
.invite-page .invite-card{animation:inviteCardFade .9s cubic-bezier(.2,.8,.2,1) both;will-change:transform,opacity}
.invite-page .invite-card.opening-fade{animation-name:inviteCardFade}
.invite-page .invite-card.opening-zoom{animation-name:inviteCardZoom}
.invite-page .invite-card.opening-flip{animation-name:inviteCardFlip}
.invite-page .invite-card.opening-rise{animation-name:inviteCardRise}
.invite-page .invite-card.opening-envelope{animation-name:inviteCardEnvelope}
.invite-page .invite-card.opening-polaroid{animation-name:inviteCardPolaroid}
.invite-page .invite-card.opening-stars{animation-name:inviteCardStars}
@keyframes inviteCardFade{from{opacity:0;transform:translateY(24px) scale(.97);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes inviteCardZoom{from{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}
@keyframes inviteCardFlip{from{opacity:0;transform:perspective(900px) rotateY(-18deg) translateX(-18px)}to{opacity:1;transform:none}}
@keyframes inviteCardRise{from{opacity:0;transform:translateY(70px)}to{opacity:1;transform:none}}
@keyframes inviteCardEnvelope{from{opacity:0;transform:perspective(900px) rotateX(-22deg) translateY(-26px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes inviteCardPolaroid{from{opacity:0;transform:rotate(-8deg) translateY(42px) scale(.82)}to{opacity:1;transform:rotate(0) translateY(0) scale(1)}}
@keyframes inviteCardStars{from{opacity:0;transform:scale(.86);filter:brightness(1.8) blur(9px)}55%{opacity:1;transform:scale(1.02);filter:brightness(1.15) blur(0)}to{transform:scale(1);filter:none}}

.landing-mini-builder{padding-top:22px!important;padding-bottom:118px!important}
.mini-builder-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.018));box-shadow:0 30px 90px rgba(0,0,0,.22);overflow:hidden}
.mini-builder-copy h2{max-width:560px;margin:12px 0 12px;font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-.06em}
.mini-builder-copy p{max-width:520px;color:#a99dab;line-height:1.6}
.mini-builder-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0 20px}.mini-builder-fields label{display:grid;gap:7px;color:#b8aebe;font-size:11px;font-weight:800}.mini-builder-fields .mini-builder-mood{grid-column:1/-1}.mini-builder-fields input,.mini-builder-fields select{background:rgba(0,0,0,.2);border-color:rgba(255,255,255,.13);color:#fff}
.mini-builder-preview{position:relative;min-height:330px;padding:29px;border-radius:28px;background:radial-gradient(circle at 50% 18%,rgba(255,159,189,.34),transparent 32%),linear-gradient(145deg,#391e3c,#161121);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:background .5s,transform .5s;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.mini-builder-preview.midnight{background:radial-gradient(circle at 50% 18%,rgba(98,131,255,.38),transparent 32%),linear-gradient(145deg,#151b46,#090a18)}.mini-builder-preview.sunset{background:radial-gradient(circle at 50% 18%,rgba(255,198,115,.4),transparent 32%),linear-gradient(145deg,#6c2d41,#251020)}.mini-builder-preview.mint{background:radial-gradient(circle at 50% 18%,rgba(116,255,210,.35),transparent 32%),linear-gradient(145deg,#16484a,#101d2a)}
.mini-builder-preview .preview-chip{align-self:flex-start;background:rgba(255,255,255,.12);color:#fff}.mini-builder-preview p{margin:0 0 8px;color:rgba(255,255,255,.68);font-size:12px}.mini-builder-preview strong{font-size:28px;letter-spacing:-.045em}.mini-builder-preview small{margin-top:10px;color:rgba(255,255,255,.5)}.mini-builder-preview>i{position:absolute;right:24px;top:25px;color:#ffd9ea;font-style:normal;animation:miniTwinkle 2.8s ease-in-out infinite}.mini-preview-orbit{position:absolute;right:34%;top:27%;font-size:64px;color:#ff9fbe;filter:drop-shadow(0 0 25px rgba(255,103,157,.8));animation:miniFloat 4s ease-in-out infinite}.hero-response-state{display:grid;gap:5px;text-align:center;padding:8px 0}.hero-response-state span{font-size:28px}.hero-response-state strong{font-size:13px}.hero-response-state small{color:var(--muted);font-size:10px}.hero-response-state a{margin-top:5px;color:#ff8faf;font-size:10px;font-weight:800;text-decoration:none}.demo-answered .invite-demo-photo{animation:demoPulse 1.8s ease-in-out infinite}.invite-demo-voice.is-muted{opacity:.45}
.invite-success-card{overflow:hidden}.success-scene{position:relative;text-align:center;padding:48px 8px 25px}.success-kicker{display:block;color:var(--muted);font-size:9px;letter-spacing:.18em;font-weight:800;margin:14px 0}.success-scene h1{margin:0 auto 10px;max-width:540px}.success-details{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px 0;color:var(--muted);font-size:12px}.success-details span{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.05)}.success-note{display:block;margin-top:20px;color:var(--muted);font-size:11px}.success-music{display:grid;gap:8px;max-width:360px;margin:20px auto 0;text-align:left}.success-music span{color:var(--muted);font-size:11px}.success-music audio{width:100%;height:34px}.success-orbit{position:absolute;inset:0;pointer-events:none}.success-orbit i{position:absolute;color:#ff9ab9;font-style:normal;animation:successOrbit 5s linear infinite}.success-orbit i:nth-child(1){left:14%;top:20%}.success-orbit i:nth-child(2){right:15%;top:32%;animation-delay:-1.4s}.success-orbit i:nth-child(3){left:23%;bottom:20%;animation-delay:-2.7s}
@keyframes miniTwinkle{0%,100%{opacity:.35;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.25) rotate(18deg)}}@keyframes miniFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-12px) rotate(8deg)}}@keyframes demoPulse{50%{transform:scale(1.03);filter:saturate(1.35)}}@keyframes successOrbit{0%{transform:translateY(4px) rotate(0);opacity:.35}50%{transform:translateY(-12px) rotate(18deg);opacity:1}100%{transform:translateY(4px) rotate(36deg);opacity:.35}}
@media (max-width:760px){.mini-builder-shell{grid-template-columns:1fr;padding:23px;border-radius:26px}.mini-builder-preview{min-height:280px}.mini-builder-fields{grid-template-columns:1fr}.mini-builder-fields .mini-builder-mood{grid-column:auto}.landing-mini-builder{padding-bottom:78px!important}}
.compact-upload{min-height:64px;padding:14px 18px}
