/* Base reset (the prototype relied on the artifact host for these) */
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}

/* Layout: bright, airy canvas with pastel bubbles; the waveform is the recurring motif and each scene turns sound into text, text into decisions. Single light look by choice. */
:root{
  color-scheme:light;
  --night:#FFFFFF; --night-2:#F4F6FC; --night-3:#EAEEFA; --line:#E1E6F3;
  --ink:#141826; --dim:#525A73; --faint:#8A90A6;
  --accent:#4553E6; --accent-2:#5865F2; --rec:#E5484D;
  --s1:#5865F2; --s2:#1FAF6B; --s3:#E08E0B; --s4:#E5559A;
  --peach:#FFD9C2; --blue:#C4E1FF; --mint:#BFEFD5; --lav:#E3D5FF; --butter:#FFEFB5;
  --sky:#EEF3FF;
  --dc:#313338; --dc-2:#2B2D31; --dc-ink:#DBDEE1;
  --f-display:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;
  --f-body:"Noto Sans JP",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{overflow-x:clip}
body{background:var(--night);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
h1,h2,h3{font-family:var(--f-display);font-weight:700;letter-spacing:-0.01em;text-wrap:balance;margin:0}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.d-short{display:none}
.free-m{display:none}
.dc-top,.dc-voice,.dc-input{display:none}
.nb{display:inline-block}
.ico svg{width:100%;height:100%;display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:9999px;background:var(--ink);color:var(--night);text-decoration:none;font-weight:700;font-size:16px;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s}
.btn:hover{transform:translateY(-2px);background:#2A2F45}
.btn .ico{width:18px;height:18px}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-line:hover{background:var(--night-3)}
.kicker{font-family:var(--f-mono);font-size:13px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}
.sec-title{font-size:clamp(30px,4.4vw,56px);line-height:1.3;margin-top:14px}
.sec-desc{margin-top:16px;color:var(--dim);font-size:17px;max-width:560px}
.av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;flex:none;font-style:normal}

/* Nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
.nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(225,230,243,.8)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:19px}
.logo svg{width:28px;height:24px}
.nav-links{display:flex;gap:28px;font-size:14px}
.nav-links a{text-decoration:none;color:var(--dim)}
.nav-links a:hover{color:var(--ink)}
.nav .btn{min-height:40px;padding:0 18px;font-size:14px}

/* Hero */
.hero{position:relative;padding-top:150px;overflow:hidden;text-align:center;background:linear-gradient(180deg,#F8FAFF 0%,var(--sky) 100%)}
.rec{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;border-radius:9999px;background:rgba(229,72,77,.1);color:#B4262C;font-size:13px}
.rec i{width:9px;height:9px;border-radius:50%;background:var(--rec);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,90,96,.6)}70%{box-shadow:0 0 0 9px rgba(255,90,96,0)}100%{box-shadow:0 0 0 0 rgba(255,90,96,0)}}
.hero h1{margin-top:24px;font-size:clamp(38px,6.4vw,86px);line-height:1.16;position:relative;z-index:3}
.hero h1 .ph{display:inline-block}
.stack{display:inline-flex;vertical-align:middle;margin-right:.18em;transform:translateY(-.06em)}
.stack span{width:.86em;height:.86em;border-radius:50%;display:grid;place-items:center;margin-left:-.22em;box-shadow:0 0 0 .06em #fff}
.stack span:first-child{margin-left:0}
.stack .ico{width:.44em;height:.44em;color:var(--ink)}
.switch{display:inline-block;position:relative;height:1.2em;vertical-align:bottom;overflow:hidden;color:var(--accent);text-align:left}
.switch span{position:absolute;left:0;top:0;white-space:nowrap}
.switch span:first-child{position:relative}
.bub{position:absolute;border-radius:50%;z-index:2;will-change:transform}
.bub .ico{width:44%;height:44%;color:var(--ink)}
.bub-in{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;animation:bob 6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(4deg)}}
.mascot{position:relative;z-index:3;width:132px;height:132px;margin:44px auto -66px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 20px 40px -14px rgba(69,83,230,.35)}
.mascot svg{width:80px;height:68px;overflow:visible}
.eq{transform-box:fill-box;transform-origin:center;animation:eq 1.1s ease-in-out infinite}
.eq.b2{animation-delay:-.35s;animation-duration:.9s}
.eq.b3{animation-delay:-.7s;animation-duration:1.25s}
@keyframes eq{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln > span{display:inline-block}
.hero h1 .accent{color:var(--accent)}
.hero-desc{margin:24px auto 0;max-width:600px;color:var(--dim);font-size:18px;position:relative;z-index:3}
.hero-cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;position:relative;z-index:3}
.hero-note{margin-top:14px;font-size:13px;color:var(--dim);position:relative;z-index:3;display:flex;justify-content:center;gap:6px 16px;flex-wrap:wrap}
.hero-note span{display:inline-flex;align-items:center;gap:6px}
.hero-note .ico{width:15px;height:15px;color:var(--s2)}
.ai-badge{position:absolute;z-index:4;left:50%;margin-left:96px;bottom:150px;display:flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:9999px;background:#fff;color:var(--ink);text-decoration:none;text-align:left;box-shadow:0 14px 28px -10px rgba(40,52,170,.25)}
.ai-badge .ib{width:40px;height:40px;flex:none;border-radius:50%;background:var(--lav);display:grid;place-items:center}
.ai-badge .ib .ico{width:20px;height:20px;color:#4A3A86}
.ai-badge b{display:block;font-size:15px;line-height:1.3}
.ai-badge small{display:block;font-size:12px;color:var(--faint)}
.ai-badge:hover{transform:translateY(-2px)}
.ai-badge{transition:transform .2s}
.free-tag{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:9999px;background:var(--mint);color:#0E5A37;font-size:12px;font-weight:700;vertical-align:2px}
.plan-free{margin:12px -14px 4px;padding:18px 14px !important;border-radius:18px;background:#F1FBF5;border-top:0 !important}
.plan-free + .plan{border-top:0}
.plan-free a{display:inline-flex;margin-top:8px;font-size:14px;font-weight:700;color:#0E7A4A;text-decoration:none}
.plan-free a:hover{text-decoration:underline}
.wave-band{position:relative;margin-top:0;height:220px}
.wave-band canvas{position:absolute;inset:0;width:100%;height:100%}
.legend{position:absolute;left:0;right:0;bottom:-6px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--dim)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;border-radius:3px}

/* Signature: sound becomes text */
.conv{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;background:var(--night)}
.conv-in{width:100%}
.conv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.phases{display:flex;gap:6px;padding:6px;border-radius:9999px;background:var(--night-2);font-size:14px}
.phases span{padding:6px 14px;border-radius:9999px;color:var(--faint);transition:background .3s,color .3s}
.phases span.on{background:var(--accent-2);color:#fff}
.conv-body{margin-top:36px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.vrows{display:flex;flex-direction:column;gap:10px}
.vrow{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--night-2);transition:opacity .3s}
.spk{display:flex;align-items:center;gap:10px;min-width:0}
.spk b{font-size:14px;display:block;line-height:1.3}
.spk time{font-size:11px;color:var(--faint)}
.vbox{position:relative;height:44px}
.bars{position:absolute;inset:0;display:flex;align-items:center;gap:3px}
.bars i{flex:1;max-width:5px;border-radius:3px;background:var(--c);transform-origin:center}
.vtext{position:absolute;inset:0;display:flex;align-items:center;font-size:17px;clip-path:inset(0 100% 0 0)}
.vtext mark{background:transparent;color:inherit;border-radius:6px;padding:0 3px;margin:0 -3px;transition:background .3s,color .3s}
.conv.summed .vtext mark{background:rgba(88,101,242,.14);color:#3B47D6}
.summary{border-radius:24px;padding:24px;background:linear-gradient(180deg,var(--night-3),var(--night-2));box-shadow:inset 0 0 0 1px var(--line)}
.summary h3{font-size:15px;display:flex;align-items:center;gap:8px;color:var(--accent)}
.summary h3 .ico{width:18px;height:18px}
.sum-k{margin-top:18px;font-size:12px;color:var(--faint);font-family:var(--f-mono);letter-spacing:.06em}
.sum-v{margin-top:6px;font-size:16px;line-height:1.6}
.sum-v small{display:block;color:var(--dim);font-size:13px}

/* Record page */
.rec-page{position:relative;height:100vh;min-height:720px;display:flex;align-items:center;background:linear-gradient(180deg,#fff 0%,var(--sky) 100%)}
.rp-head{text-align:center}
.rp-head .sec-desc{margin-left:auto;margin-right:auto}
.frame{margin-top:36px;border-radius:24px;padding:1px;background:linear-gradient(180deg,#A9B1FF,var(--accent-2) 90%);padding:3px;box-shadow:0 40px 80px -40px rgba(88,101,242,.45)}
.ui{border-radius:21px;background:#fff;display:grid;grid-template-columns:200px minmax(0,1fr) 260px;overflow:hidden;min-height:430px}
.ui-side{padding:18px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.ui-side .d{font-size:11px;color:var(--faint);padding:6px 8px;font-family:var(--f-mono)}
.ui-item{padding:10px;border-radius:12px;font-size:12px;color:var(--dim)}
.ui-item b{display:block;font-size:14px;color:var(--ink)}
.ui-item.on{background:var(--accent-2);color:rgba(255,255,255,.85)}
.ui-item.on b{color:#fff}
.ui-main{padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}
.ui-title{font-family:var(--f-display);font-size:22px;font-weight:700}
.ui-meta{font-size:12px;color:var(--faint)}
.player{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:var(--night-2)}
.play{width:30px;height:30px;border-radius:50%;background:var(--ink);display:grid;place-items:center;flex:none}
.track{flex:1;height:28px;display:flex;align-items:center;gap:2px}
.track i{flex:1;border-radius:2px;background:var(--line);transition:background .2s}
.track i.done{background:var(--accent)}
.ui-time{font-size:12px;color:var(--dim)}
.lines{display:flex;flex-direction:column;gap:2px}
.line{display:flex;gap:10px;padding:8px 10px;border-radius:12px;transition:background .3s,box-shadow .3s}
.line b{font-size:13px}
.line small{color:var(--faint);font-size:11px;margin-left:6px;font-weight:400}
.line p{font-size:14px;color:var(--dim);line-height:1.6}
.line.on{background:rgba(124,134,255,.14);box-shadow:inset 3px 0 var(--accent)}
.line.on p{color:var(--ink)}
.txt-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:var(--night-3);color:var(--dim);font-size:10px;font-weight:700;vertical-align:1px}
.ui-sum{border-left:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;gap:10px;background:#F8F9FE}
.ui-sum h4{margin:0;font-size:13px;color:var(--accent)}
.ui-sum .k{font-size:11px;color:var(--faint);font-family:var(--f-mono);margin-top:6px}
.ui-sum .v{font-size:13px;line-height:1.55;padding:10px 12px;border-radius:12px;background:var(--night-2);opacity:.3;transition:opacity .4s}
.ui-sum .v.on{opacity:1}

/* Discord flow */
.flow{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;background:var(--sky)}
.flow-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.steps{margin:28px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.steps li{display:flex;gap:14px;padding:12px 0;color:var(--faint);transition:color .3s}
.steps li .mono{font-size:13px;padding-top:3px}
.steps li.on{color:var(--ink)}
.steps li.on .mono{color:var(--accent)}
.dc{border-radius:20px;background:var(--dc);color:var(--dc-ink);display:grid;grid-template-columns:minmax(0,1fr) 190px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(20,24,60,.45)}
.dc-chat{padding:16px 18px;display:flex;flex-direction:column;gap:14px;min-height:420px}
.dc-ch{font-size:14px;font-weight:700;color:#F2F3F5;padding-bottom:10px;border-bottom:1px solid #3F4147}
.dc-ch span{color:#80848E;margin-right:4px}
.msg{display:flex;gap:12px}
.msg .av{width:36px;height:36px;font-size:13px}
.msg b{font-size:14px;color:#F2F3F5}
.msg small{color:#949BA4;font-size:11px;margin-left:6px}
.msg p{font-size:14px;line-height:1.55}
.bt{display:inline-block;margin-left:4px;padding:0 5px;border-radius:4px;background:var(--accent-2);color:#fff;font-size:10px;font-weight:700;vertical-align:1px}
.cmd{color:#C9CDFB;background:rgba(88,101,242,.3);padding:0 4px;border-radius:4px}
.divider{display:flex;align-items:center;gap:10px;font-size:11px;color:#949BA4}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:#3F4147}
.embed{margin-top:6px;padding:12px 14px;border-radius:6px;background:var(--dc-2);box-shadow:inset 4px 0 var(--accent-2)}
.embed strong{display:block;color:#F2F3F5;font-size:14px}
.embed span{font-size:13px;color:#B5BAC1}
.open{margin-top:10px;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;background:var(--accent-2);color:#fff;font-size:13px;font-weight:500}
.open .ico{width:13px;height:13px}
.dc-mem{background:var(--dc-2);padding:16px 12px;display:flex;flex-direction:column;gap:10px}
.dc-mem .h{font-size:11px;font-weight:700;color:#949BA4}
.mem{display:flex;align-items:center;gap:8px;font-size:13px;color:#B5BAC1}
.mem .av{width:26px;height:26px;font-size:11px}
.mem.bot b{color:#F2F3F5;font-weight:500}
.mem .dot{width:8px;height:8px;border-radius:50%;background:var(--rec);animation:pulse 1.6s infinite;flex:none}
[data-step]{will-change:transform}

/* Privacy */
.privacy{padding-block:140px 40px}
.p-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pc{border-radius:24px;padding:28px;background:var(--night-2);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:22px}
.pc h3{font-size:20px;line-height:1.4}
.pc p{margin-top:8px;color:var(--dim);font-size:15px}
.pc-vis{height:88px;display:flex;align-items:center;gap:8px}
.who{display:flex}
.who .av{width:40px;height:40px;font-size:14px;margin-right:-8px;box-shadow:0 0 0 3px var(--night-2)}
.who .out{background:var(--night-3);color:var(--faint)}
.lock{width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--night);display:grid;place-items:center;margin-left:18px}
.lock .ico{width:20px;height:20px}
.days{display:flex;gap:6px}
.days i{width:30px;height:44px;border-radius:8px;background:var(--s2);display:grid;place-items:center;font-style:normal;font-size:12px;color:#fff;font-family:var(--f-mono)}
.nick{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:12px;background:var(--dc-2);color:#F2F3F5;font-size:15px}
.nick .dot{width:9px;height:9px;border-radius:50%;background:var(--rec);animation:pulse 1.6s infinite}

/* AI */
.ai{padding-block:120px 40px}
.ai-card{border-radius:32px;padding:56px;background:radial-gradient(70% 90% at 100% 0%,var(--lav) 0%,var(--night-2) 65%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.chat{display:flex;flex-direction:column;gap:12px}
.q{align-self:flex-end;max-width:88%;padding:12px 16px;border-radius:20px 20px 6px 20px;background:var(--accent-2);color:#fff;font-size:15px;min-height:48px}
.a{max-width:94%;padding:16px 18px;border-radius:20px 20px 20px 6px;background:var(--ink);color:var(--night);font-size:15px;line-height:1.7;min-height:120px}
.a small{display:block;font-size:12px;font-weight:700;color:#A4AACB}
.caret{display:inline-block;width:2px;height:1em;background:currentColor;vertical-align:-2px;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* Pricing */
.price{padding-block:140px 40px}
.price-head{text-align:center}
.price-head .sec-desc{margin-left:auto;margin-right:auto}
.price-grid{margin:48px auto 0;max-width:980px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px}
.plus{border-radius:28px;padding:1.5px;background:linear-gradient(180deg,var(--accent),var(--line))}
.plus-in{border-radius:27px;background:var(--night-2);padding:32px;height:100%;display:flex;flex-direction:column;gap:14px}
.plus-top{display:flex;justify-content:space-between;align-items:center}
.plus-top b{font-size:18px}
.badge{padding:4px 12px;border-radius:9999px;background:var(--accent-2);color:#fff;font-size:12px;font-weight:700}
.amt{font-family:var(--f-display);font-size:56px;font-weight:700;line-height:1.1}
.amt small{font-size:16px;color:var(--dim);margin-left:4px;font-weight:500}
.plus ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px}
.plus li{display:flex;gap:10px;align-items:center}
.plus li .ico{width:18px;height:18px;color:var(--s2)}
.plus .btn{margin-top:auto}
.plans{border-radius:28px;padding:8px 28px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column}
.plan{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.plan:first-child{border-top:0}
.plan b{display:block;font-size:17px}
.plan span{font-size:13px;color:var(--faint)}
.plan .pv{font-family:var(--f-display);font-size:24px;font-weight:700;white-space:nowrap}
.plan .pv small{font-size:13px;color:var(--faint);font-weight:500}
.price-note{margin-top:20px;text-align:center;font-size:13px;color:var(--faint)}

/* FAQ */
.faq{padding-block:140px 40px}
.faq-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;max-width:980px;margin:0 auto}
.faq h2{font-size:36px}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-weight:500;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--faint);font-size:22px;line-height:1;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:10px;color:var(--dim);font-size:15px}

/* Final */
.final{position:relative;padding-top:160px;text-align:center;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--sky) 100%)}
.final h2{font-size:clamp(34px,5.4vw,72px);line-height:1.2}
.final p{margin-top:16px;color:var(--dim);font-size:17px}
.final .btn{margin-top:28px}
.final .wave-band{margin-top:0;height:180px}
.big-mark{position:relative;z-index:3;width:200px;height:200px;margin:56px auto -100px;border-radius:50%;background:var(--accent-2);display:grid;place-items:center;box-shadow:0 30px 60px -24px rgba(69,83,230,.6)}
.big-mark svg{width:120px;height:102px;overflow:visible}
footer{padding-block:32px 48px;border-top:1px solid var(--line)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:14px;color:var(--dim)}
.foot nav{display:flex;gap:24px;flex-wrap:wrap}
.foot a{color:var(--dim)}

@media (max-width:900px){
  .nav-links{display:none}
  .ai-badge{position:relative;left:auto;bottom:auto;margin:20px auto 0;width:max-content;max-width:100%}
  .conv-body{grid-template-columns:minmax(0,1fr)}
  .ui{grid-template-columns:minmax(0,1fr)}
  .ui-side{display:none}
  .ui-sum{border-left:0;border-top:1px solid var(--line)}
  .flow-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .dc{grid-template-columns:minmax(0,1fr)}
  .dc-mem{display:none}
  .p-grid,.price-grid{grid-template-columns:minmax(0,1fr)}
  .ai-card{grid-template-columns:minmax(0,1fr);padding:32px}
  .faq-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .conv,.rec-page,.flow{height:auto;min-height:100vh;padding-block:96px 48px}
}
@media (max-width:600px){
  .hero{padding-top:120px}
  .hero-desc{font-size:16px}
  .wave-band{height:150px}
  .bub{display:none}
  .mascot{width:104px;height:104px;margin-bottom:-52px}
  .mascot svg{width:62px;height:53px}
  .big-mark{width:150px;height:150px;margin-bottom:-75px}
  .big-mark svg{width:90px;height:77px}
  .vrow{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 14px}
  .vtext{font-size:15px}
  .vbox{height:52px}
  .summary{padding:20px}
  .ui-sum{display:none}
  .ui-main{padding:16px}
  .steps{display:none}
  .dc-chat{min-height:0}
  .ai-card{padding:24px;border-radius:24px}
  .plus-in{padding:24px}
  .plans{padding:4px 20px}
  .phases{font-size:12px}
  .phases span{padding:5px 10px}
}
@media (max-width:900px){
  .free-m{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;border-radius:24px;padding:22px;background:#F1FBF5;box-shadow:inset 0 0 0 1.5px var(--mint)}
  .free-m b{display:block;font-size:17px}
  .free-m span{font-size:13px;color:var(--dim)}
  .free-m .pv{font-family:var(--f-display);font-size:28px;font-weight:700}
  .free-m .btn{grid-column:1/-1;min-height:46px;margin-top:6px;background:transparent;color:#0E5A37;box-shadow:inset 0 0 0 1.5px #0E7A4A}
  .free-m .btn:hover{background:rgba(31,175,107,.1)}
  .plan-free{display:none !important}
  .plan-free + .plan{border-top:0}
}
@media (max-width:600px){
  .hero{padding-top:104px}
  .hero h1{margin-top:18px}
  .hero-desc{margin-top:16px}
  .d-long{display:none}
  .d-short{display:inline}
  .hide-sm{display:none !important}
  .hero-cta{margin-top:22px}
  .hero-cta .btn{width:100%;max-width:340px}
  .ai-badge{margin-top:16px}
  .mascot{margin-top:28px}
  /* Discord mobile app */
  .dc{border-radius:30px;background:#1A1B1F;box-shadow:0 0 0 6px #fff,0 0 0 7px var(--line),0 30px 60px -30px rgba(20,24,60,.45)}
  .dc-chat{padding:0;gap:0;min-height:0}
  .dc-ch{display:none}
  .dc-top{display:flex;align-items:center;gap:12px;padding:14px 14px 12px;background:#1A1B1F;border-bottom:1px solid #2A2B31;color:#B5BAC1}
  .dc-top svg{width:22px;height:22px;flex:none}
  .dc-top div{flex:1;min-width:0}
  .dc-top b{display:block;color:#F2F3F5;font-size:16px;line-height:1.3}
  .dc-top b span{color:#80848E}
  .dc-top small{font-size:11px;color:#949BA4}
  .dc-voice{display:flex;align-items:center;gap:8px;margin:10px 12px 4px;padding:10px 12px;border-radius:14px;background:#232428;font-size:12px;color:#B5BAC1}
  .dc-voice > svg{width:16px;height:16px;color:#23A55A;flex:none}
  .dc-voice .vname{color:#F2F3F5;font-weight:700;white-space:nowrap}
  .dc-voice .vbot{display:inline-flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dc-voice .vbot b{font-weight:500;color:#DBDEE1}
  .dc-voice .dot{width:7px;height:7px;border-radius:50%;background:var(--rec);flex:none}
  .dc-voice .vav{margin-left:auto;display:flex}
  .dc-voice .vav .av{width:20px;height:20px;font-size:9px;margin-left:-5px;box-shadow:0 0 0 2px #232428}
  .msg{padding:10px 14px}
  .msg .av{width:40px;height:40px;font-size:14px}
  .msg b{font-size:15px}
  .msg p{font-size:15px}
  .divider{padding:4px 14px}
  .embed{border-radius:8px;background:#232428}
  .open{display:flex;justify-content:center;padding:10px 14px;border-radius:10px;font-size:14px}
  .dc-input{display:flex;align-items:center;gap:10px;padding:10px 12px 14px;margin-top:6px}
  .dc-input .plusb{width:34px;height:34px;border-radius:50%;background:#2A2B31;color:#B5BAC1;display:grid;place-items:center;font-size:20px;flex:none}
  .dc-input .ph{flex:1;min-width:0;padding:9px 14px;border-radius:9999px;background:#2A2B31;color:#80848E;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (prefers-reduced-motion:reduce){
  .rec i,.mem .dot,.nick .dot,.caret,.eq,.bub-in{animation:none}
}
