/* Pop: coming-soon page. Syne + DM Sans, self-hosted. */
@font-face{font-family:"Syne";src:url(/assets/fonts/syne-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Syne";src:url(/assets/fonts/syne-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#fff6ec;--bg-2:#ffeede;--card:#ffffff;--ink:#231040;--ink-2:#4b3a66;--muted:#6c5d82;
  --pink:#ff4d8d;--pink-ink:#c2185b;--lemon:#ffde59;--mint:#7ee0c3;--lilac:#d9ccff;--line:#ecdcca;
  --pill-bg:#231040;--pill-fg:#fff6ec;
  --display:"Syne",ui-sans-serif,system-ui,sans-serif;--body:"DM Sans",ui-sans-serif,system-ui,sans-serif;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#170a2c;--bg-2:#21113d;--card:#2a1850;--ink:#fff6ec;--ink-2:#e3d6f5;--muted:#b9a8d6;
  --pink-ink:#ff8ab4;--line:#3b2766;--pill-bg:#ff4d8d;--pill-fg:#1b0b33;
}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);overflow-x:hidden}
a{color:var(--pink-ink);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--display);line-height:1.02;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-weight:800;font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.04}
h2{font-weight:800;font-size:clamp(1.8rem,4.4vw,3rem)}
h3{font-weight:700;font-size:1.3rem;line-height:1.15}
p{margin:0 0 1em}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 14px;z-index:9}
.skip:focus{left:8px}

.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:22px 24px}
.mark{display:inline-flex;align-items:flex-start;color:var(--ink);text-decoration:none}
.mark-word{font:800 2rem/1 var(--display);letter-spacing:-.04em}
.mark-dot{display:inline-block;width:.42em;height:.42em;border-radius:50%;background:var(--pink);margin-left:3px;margin-top:2px}
.mark .mark-dot{width:13px;height:13px}

.pill{display:inline-block;background:var(--pill-bg);color:var(--pill-fg);font:700 1.02rem/1 var(--body);padding:17px 26px;border-radius:999px;text-decoration:none;box-shadow:0 6px 0 var(--pink);transition:transform .12s,box-shadow .12s}
@media (prefers-color-scheme:dark){.pill{box-shadow:0 6px 0 var(--lemon)}}
.pill:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--pink)}
.pill:active{transform:translateY(6px);box-shadow:0 0 0 var(--pink)}
.pill-sm{padding:11px 18px;font-size:.92rem;box-shadow:0 4px 0 var(--pink)}
.pill-big{font-size:clamp(1rem,3.6vw,1.35rem);padding:20px 30px;word-break:break-all}

.kick{display:inline-flex;align-items:center;gap:10px;font:700 .82rem/1 var(--body);text-transform:uppercase;letter-spacing:.16em;background:var(--lemon);color:#231040;padding:9px 14px;border-radius:999px;margin-bottom:22px}
.blink{width:9px;height:9px;border-radius:50%;background:var(--pink);animation:blink 1.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.lead{font-size:clamp(1.08rem,2vw,1.25rem);color:var(--ink-2);max-width:56ch}

/* hero */
.hero{max-width:1200px;margin:0 auto;padding:36px 24px 88px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr);gap:56px;align-items:center;position:relative}
.hero::before{content:"";position:absolute;width:min(520px,90vw);height:min(520px,90vw);right:0;top:-60px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--lilac),transparent 70%);z-index:-1;opacity:.8}
@media (prefers-color-scheme:dark){.hero::before{background:radial-gradient(circle at 35% 35%,#4a2a8a,transparent 70%)}}
.cta{margin-top:30px}
.cta-note{margin-top:20px;color:var(--muted);font-size:.95rem}

.phone{background:var(--ink);border-radius:38px;padding:16px;max-width:340px;justify-self:center;width:100%;box-shadow:16px 16px 0 var(--pink);transform:rotate(2.5deg)}
@media (prefers-color-scheme:dark){.phone{background:#0d0519;box-shadow:16px 16px 0 var(--pink);border:1px solid #3b2766}}
.phone-top{display:flex;align-items:center;gap:10px;padding:6px 8px 12px;color:#fff6ec;font-weight:700;font-size:.9rem}
.ph-av{width:28px;height:28px;border-radius:50%;background:conic-gradient(var(--pink),var(--lemon),var(--mint),var(--pink))}
.post-card{background:#fff6ec;border-radius:20px;padding:10px;color:#231040}
.post-art{height:120px;border-radius:14px;background:linear-gradient(135deg,#5b8cff 0 40%,#9bb8ff 40% 60%,#ffde59 60%)}
.cm{font-size:.82rem;margin:8px 4px 0}
.chat{display:flex;flex-direction:column;gap:8px;padding:14px 4px 6px}
.msg{max-width:82%;margin:0;padding:9px 13px;border-radius:18px;font-size:.86rem;line-height:1.35}
.msg.in{align-self:flex-start;background:#3b2766;color:#fff6ec;border-bottom-left-radius:5px}
.msg.out{align-self:flex-end;background:var(--pink);color:#1b0b33;font-weight:500;border-bottom-right-radius:5px}
.chat .msg{animation:pop .45s cubic-bezier(.2,1.6,.4,1) both}
.b1{animation-delay:.3s!important}.b2{animation-delay:1s!important}.b3{animation-delay:1.8s!important}.b4{animation-delay:2.5s!important}
@keyframes pop{from{opacity:0;transform:scale(.6) translateY(8px)}to{opacity:1;transform:none}}

/* sections */
.feat,.flow,.for,.qa,.early{max-width:1200px;margin:0 auto;padding:72px 24px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}
.tile{border-radius:28px;padding:26px 22px;color:#231040;min-width:0}
.tile p{margin:0;font-size:.98rem}
.t-pink{background:#ffc2d8}.t-lemon{background:var(--lemon)}.t-violet{background:var(--lilac)}.t-mint{background:var(--mint)}
.tile:nth-child(even){transform:translateY(22px)}
.tile-ic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#231040;color:#fff6ec;font:800 1rem/1 var(--display);margin-bottom:18px}

.flow{background:var(--ink);color:var(--bg);border-radius:40px;max-width:1152px;padding:60px 48px}
@media (prefers-color-scheme:dark){.flow{background:var(--bg-2);color:var(--ink);border:1px solid var(--line)}}
.steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;counter-reset:s}
.steps li{position:relative;padding-top:6px}
.steps .n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--pink);color:#1b0b33;font:800 1.2rem/1 var(--display);margin-bottom:14px}
.steps li:not(:last-child)::after{content:"";position:absolute;top:29px;left:58px;right:-12px;border-top:3px dotted var(--lemon)}
.steps p{margin:0;font-size:1rem}

.for-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:16px}
.for-grid>div{border-top:4px solid var(--ink);padding-top:16px}
.for-grid p{color:var(--ink-2)}

.qa-list{max-width:820px}
.qa details{background:var(--card);border:2px solid var(--line);border-radius:22px;padding:2px 22px;margin-bottom:12px}
.qa summary{cursor:pointer;font:700 1.12rem/1.3 var(--display);padding:18px 30px 18px 0;list-style:none;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:0;top:13px;font-size:1.6rem;color:var(--pink-ink)}
.qa details[open] summary::after{content:"–"}
.qa details p{color:var(--ink-2);margin:0 0 18px}

.early{text-align:center;padding-bottom:96px}
.early p{max-width:52ch;margin:0 auto 30px;color:var(--ink-2);font-size:1.1rem}

/* inner pages */
.sheet{max-width:760px;margin:0 auto;padding:24px 24px 80px}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:22px}
.crumbs a{color:var(--muted)}
.sheet h1{font-size:clamp(2.2rem,6vw,3.6rem)}
.prose h2{font-size:1.6rem;margin-top:1.6em}
.prose li{margin:6px 0}
.byline{color:var(--muted);font-size:.92rem}
.postlist{list-style:none;padding:0}
.postlist li{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid var(--line);padding:14px 0}
.lost{padding-top:60px;min-height:55vh}

/* footer */
.foot{background:var(--ink);color:#e9ddf7}
@media (prefers-color-scheme:dark){.foot{background:#0d0519;border-top:1px solid var(--line)}}
.foot-in{max-width:1200px;margin:0 auto;padding:44px 24px 36px}
.foot-mark{font:800 1.6rem/1 var(--display);color:#fff6ec}
.foot-mark .mark-dot{width:9px;height:9px}
.foot-small{font-size:.88rem;color:#cbbde3;max-width:70ch}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;font-weight:700}
.foot a{color:#ffc2d8}
.foot a:hover{color:#fff}

@media (max-width:980px){
  .hero{grid-template-columns:1fr;gap:56px;padding-bottom:64px}
  .tiles{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .steps li::after{display:none}
  .flow{border-radius:30px;margin:0 16px;padding:48px 28px}
}
@media (max-width:640px){
  body{font-size:16px}
  .bar{padding:16px}
  .hero,.feat,.for,.qa,.early,.sheet{padding-left:16px;padding-right:16px}
  .hero{padding-top:20px}
  .hero::before{top:-20px}
  .phone{transform:none;box-shadow:10px 10px 0 var(--pink);max-width:300px}
  .tiles,.steps,.for-grid{grid-template-columns:1fr}
  .tile:nth-child(even){transform:none}
  .feat,.for,.qa,.early{padding-top:56px;padding-bottom:56px}
  .flow{padding:40px 20px;margin:0 12px}
}
@media (prefers-reduced-motion:reduce){.blink,.chat .msg{animation:none}.pill{transition:none}}
