/* ---------- HERO: the clock ---------- */
.hero{position:relative;padding-top:clamp(120px,13vw,160px);padding-bottom:clamp(40px,5vw,64px);overflow:hidden}
#field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:clamp(28px,4vw,48px);flex-wrap:wrap}
.live{display:inline-flex;align-items:center;gap:10px;font:600 .7rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--violet)}
.live i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--violet)}
.live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--violet);animation:ping 1.6s var(--ease) infinite}
@keyframes ping{to{transform:scale(2.8);opacity:0}}
.live .sep{width:18px;height:1px;background:var(--accent-line)}
.replay{font:600 .7rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);padding:10px 14px;border-radius:999px;border:1px solid var(--line-2);background:rgba(5,5,8,.5)}
.replay:hover{color:var(--fg);background:rgba(255,255,255,.06)}
.hero h1{font-size:clamp(2.7rem,5.3vw,4.6rem);line-height:.98;letter-spacing:-.045em;margin-block:22px 26px}
html.ja .hero h1{font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.12}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .ln>span{display:inline-block}
.hero h1 .acc{color:var(--accent);position:relative}
.hero .lede{max-width:44ch;margin-bottom:34px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.fine{margin-top:18px;font-size:.82rem;color:var(--fg-3)}
.fine b{color:var(--fg-2);font-weight:500}

/* dial */
.dial{position:relative;aspect-ratio:1;max-width:560px;width:100%;margin-left:auto}
.dial svg.ring{position:absolute;inset:0;width:100%;height:100%}
.dial .tk{stroke:rgba(255,255,255,.14);stroke-width:2;stroke-linecap:round;transition:stroke .2s}
.dial .tk.major{stroke:rgba(255,255,255,.28);stroke-width:2.5}
.dial .tk.on{stroke:var(--accent)}
.dial .tk.beat{stroke:var(--gold)}
.dial .arc-bg{fill:none;stroke:rgba(255,255,255,.05);stroke-width:1}
.dial .arc{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(110,85,244,.8))}
.dial .hand{stroke:var(--violet);stroke-width:1.5;stroke-linecap:round}
.dial-center{position:absolute;inset:18%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.readout{display:flex;align-items:baseline;gap:4px;font-family:var(--f-mono);font-variant-numeric:tabular-nums;line-height:.85}
.readout .s{font-size:clamp(5rem,11vw,9.2rem);font-weight:200;letter-spacing:-.07em;color:#fff}
.readout .ms{font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:300;color:var(--fg-3)}
.readout .of{font-size:.78rem;letter-spacing:.18em;color:var(--fg-3);margin-left:6px;text-transform:uppercase}
.beat-card{min-height:84px;max-width:300px;display:grid;justify-items:center}
.beat-card>div{display:grid;gap:6px;justify-items:center}
.beat-card .at{font:500 .66rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.beat-card .t{font-weight:600;font-size:1rem;letter-spacing:-.01em}
.beat-card .d{font-size:.8rem;color:var(--fg-2);line-height:1.45}
.beat-card.done .t{color:var(--green)}
.again{font-size:.8rem;color:var(--violet);border:0;background:none;padding:4px}
.median{font:500 .66rem/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);text-align:center;margin-top:6px}

/* rail */
.rail-wrap{position:relative;z-index:1;margin-top:clamp(28px,4vw,52px)}
.rail{position:relative;height:3px;border-radius:9px;background:rgba(255,255,255,.07)}
.rail .fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:9px;background:linear-gradient(90deg,var(--accent),var(--violet) 80%,var(--gold))}
.beats{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:18px}
.beat{display:grid;gap:6px;padding-top:12px;border-top:1px solid transparent;opacity:.45;transition:opacity .4s,border-color .4s}
.beat .ts{font:500 .7rem/1 var(--f-mono);color:var(--fg-3)}
.beat .bl{font-size:.82rem;font-weight:600;line-height:1.3}
.beat.passed{opacity:1}
.beat.current{border-top-color:var(--gold)}
.beat.current .ts{color:var(--gold)}
.hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(36px,5vw,64px);border-top:1px solid var(--line)}
.hero-stats>div{padding:20px 0 0;display:grid;gap:6px}
.hero-stats>div+div{padding-left:20px;border-left:1px solid var(--line)}
.hero-stats b{font:500 1.25rem/1 var(--f-mono);letter-spacing:-.02em}
.hero-stats>div>span{font-size:.78rem;color:var(--fg-3)}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .dial{margin:0 auto;max-width:440px}
  .beats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-stats>div:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:520px){.beats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- SHOWCASE: the app window ---------- */
.showcase{padding-block:clamp(40px,6vw,80px) clamp(80px,10vw,140px);perspective:1600px}
.show-stage{transform-style:preserve-3d;will-change:transform}
.app{display:grid;grid-template-columns:200px minmax(0,1.15fr) minmax(0,1fr);height:min(620px,72vw);min-height:440px;font-size:11px;color:rgba(255,255,255,.82)}
.app-side{background:#1a1a1d;border-right:1px solid rgba(255,255,255,.07);padding:10px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.app-search{background:rgba(255,255,255,.06);border-radius:8px;padding:6px 9px;color:rgba(255,255,255,.3);font-size:10px}
.app-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.app-tabs span{font-size:7.5px;text-align:center;padding:5px 1px;border-radius:7px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.35);border:.5px solid rgba(255,255,255,.07)}
.app-tabs span.on{background:rgba(75,79,212,.18);color:#8f93ff;border-color:rgba(75,79,212,.4);font-weight:600}
.app-h{font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.3);padding:6px 4px 2px}
.doc{padding:6px 8px;border-radius:7px;display:grid;gap:2px}
.doc.on{background:rgba(10,132,255,.12)}
.doc .r{display:flex;justify-content:space-between;gap:6px}
.doc .id{font-weight:600}
.doc .cl{color:rgba(255,255,255,.45);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc .amt{font-size:10px;font-weight:600;color:#0a84ff}
.st{font-size:8.5px;padding:1px 6px;border-radius:4px}
.st.sent{color:#0a84ff;background:rgba(10,132,255,.15)}.st.paid{color:#32d74b;background:rgba(50,215,75,.12)}.st.draft{color:rgba(255,255,255,.35);background:rgba(255,255,255,.06)}.st.ok{color:#32d74b;background:rgba(50,215,75,.12)}
.app-form{background:#1e1e21;overflow-y:auto;padding:16px 18px;scrollbar-width:thin;display:flex;flex-direction:column;gap:14px}
.app-form .sec{font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fl{display:grid;gap:3px}
.fl i{font-style:normal;font-size:8.5px;color:rgba(255,255,255,.35)}
.fl div{background:rgba(255,255,255,.055);border:.5px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 8px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl div.focus{border-color:rgba(75,79,212,.7);box-shadow:0 0 0 3px rgba(75,79,212,.18)}
.seg{display:flex;gap:4px}
.seg span{padding:4px 11px;border-radius:6px;font-size:9px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.4)}
.seg span.on{background:#ef4444;border-color:#ef4444;color:#fff}
.items{display:grid;gap:4px}
.items .row{display:grid;grid-template-columns:2.4fr .5fr .8fr .8fr;gap:6px;font-size:9.5px;padding:6px 8px;border-radius:6px;background:rgba(255,255,255,.035)}
.items .row.h{background:none;font-size:8px;color:rgba(255,255,255,.35);font-weight:700;letter-spacing:.06em}
.items .row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.totals{display:grid;gap:3px;font-size:10px}
.totals div{display:flex;justify-content:space-between;color:rgba(255,255,255,.5)}
.totals .gt{color:#fff;font-weight:700;font-size:12px;padding-top:5px;border-top:1px solid rgba(255,255,255,.1)}
.app-prev{background:#2a2a2e;padding:16px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.prev-h{display:flex;justify-content:space-between;font-size:8.5px;color:rgba(255,255,255,.4)}
.paper{flex:1;background:#fff;color:#1f2937;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.4);overflow:hidden;display:flex;flex-direction:column;font-size:8px}
.paper .ph{background:#4B4FD4;color:#fff;padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-start}
.paper .ph b{font-size:13px;letter-spacing:-.02em}
.paper .pb{padding:12px 14px;display:flex;flex-direction:column;gap:10px;flex:1}
.paper .two{display:grid;grid-template-columns:1fr 1fr;gap:10px;color:#6b7280;line-height:1.45}
.paper .two strong{color:#111;display:block;font-size:7px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.paper table{width:100%;border-collapse:collapse;font-size:7.5px}
.paper th{background:#4B4FD4;color:#fff;text-align:left;padding:4px 5px;font-size:6.5px;letter-spacing:.04em}
.paper td{padding:4px 5px;border-bottom:1px solid #eee}
.paper td:not(:first-child),.paper th:not(:first-child){text-align:right}
.paper .pt{margin-left:auto;width:55%;display:grid;gap:2px;color:#6b7280}
.paper .pt div{display:flex;justify-content:space-between}
.paper .pt .g{color:#4B4FD4;font-weight:700;font-size:10px}
.paper .qr{display:flex;gap:8px;align-items:center;margin-top:auto;color:#6b7280}
.paper .qr i{width:34px;height:34px;background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 0 0/6px 6px;border:2px solid #111}
.cursor{display:inline-block;width:1px;height:1em;background:#8f93ff;vertical-align:middle;margin-left:1px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.show-cap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px}
@media (max-width:900px){.app{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:520px}.app-side{display:none}}
@media (max-width:600px){.app{grid-template-columns:1fr;height:auto;min-height:0}.app-form{max-height:360px}.app-prev{display:none}}

/* ---------- STATS + TRUST ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.stats>div{padding:clamp(28px,4vw,48px) clamp(12px,2vw,28px);display:grid;gap:10px;align-content:start}
.stats>div+div{border-left:1px solid var(--line)}
.stats b{font:300 clamp(2.6rem,5.4vw,4.4rem)/.9 var(--f-mono);letter-spacing:-.06em}
.stats>div>span{font-size:.84rem;color:var(--fg-3)}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(3){border-left:0}.stats>div:nth-child(n+3){border-top:1px solid var(--line)}}
.marquee{overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface);-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-track{display:flex;width:max-content;animation:mq 42s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.tb{display:flex;align-items:center;gap:12px;padding:22px 34px;border-right:1px solid var(--line)}
.tb .ic{width:34px;height:34px;border-radius:10px;border:1px solid var(--line-2);display:grid;place-items:center;background:rgba(255,255,255,.03)}
.tb .ic svg{width:16px;height:16px}
.tb b{display:block;font-size:.86rem;font-weight:600;white-space:nowrap}
.tb small{display:block;font-size:.74rem;color:var(--fg-3);white-space:nowrap}

/* ---------- INTRO (FIG cards) ---------- */
.intro-h{font-size:clamp(1.9rem,3.8vw,3.2rem);max-width:22ch;letter-spacing:-.04em;line-height:1.08}
.intro-h .dim{color:var(--fg-3)}
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(48px,6vw,80px)}
.fig{padding:28px;display:grid;gap:14px;align-content:start;min-height:280px}
.fig .art{height:96px;margin-bottom:10px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);position:relative;overflow:hidden}
.fig h3{font-size:1.18rem;letter-spacing:-.02em}
.fig p{font-size:.9rem;color:var(--fg-2)}
@media (max-width:860px){.figs{grid-template-columns:1fr}.fig{min-height:0}}
/* fig art */
.art-keys{display:flex;gap:6px;align-items:center;justify-content:center;height:100%}
.art-keys kbd{font:500 .8rem/1 var(--f-mono);padding:9px 11px;border-radius:8px;background:linear-gradient(#25252c,#1a1a20);border:1px solid rgba(255,255,255,.12);box-shadow:0 2px 0 rgba(0,0,0,.6);color:var(--fg-2)}
.art-keys kbd.on{color:#fff;border-color:var(--accent-line);transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.6),0 0 18px -4px var(--accent)}
.art-tax{display:grid;grid-template-columns:repeat(3,1fr);height:100%}
.art-tax div{display:grid;place-content:center;text-align:center;gap:4px;border-left:1px solid var(--line)}
.art-tax div:first-child{border-left:0}
.art-tax b{font:400 1.3rem/1 var(--f-mono)}
.art-tax small{font-size:.66rem;color:var(--fg-3)}
.art-speed{display:flex;align-items:flex-end;gap:5px;height:100%;padding:16px 18px}
.art-speed i{flex:1;background:var(--accent-soft);border-top:2px solid var(--accent);border-radius:3px 3px 0 0;transform-origin:bottom}

/* ---------- AUDIENCE ---------- */
.aud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.aud-card{padding:clamp(24px,3vw,36px);display:grid;gap:24px;align-content:start}
.aud-card.jp{background:linear-gradient(160deg,rgba(110,85,244,.26),rgba(110,85,244,.12));border-color:var(--accent-line)}
.aud-head{display:flex;gap:14px;align-items:center}
.aud-head .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid var(--accent-line);flex:none}
.aud-head b{display:block;font-size:1.05rem}
.aud-head small{font-size:.78rem;color:var(--fg-3)}
.aud-card.jp small{color:rgba(255,255,255,.55)}
.aud-card.jp .ticks li{color:rgba(255,255,255,.78)}
.ribbon{position:absolute;top:18px;right:18px;font:700 .6rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;background:var(--accent);color:#fff;padding:6px 9px;border-radius:999px}
.aud-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:40px}
@media (max-width:760px){.aud{grid-template-columns:1fr}}

/* ---------- COMPARE ---------- */
.split-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
@media (max-width:860px){.split-head{grid-template-columns:1fr}}
.cmp-scroll{overflow-x:auto;border-radius:var(--r-l);border:1px solid var(--line);background:rgba(255,255,255,.015)}
.cmp{width:100%;min-width:640px;border-collapse:collapse;font-size:.88rem}
.cmp th,.cmp td{padding:15px 18px;border-top:1px solid var(--line);text-align:center;vertical-align:middle}
.cmp thead th{border-top:0;vertical-align:top;font-weight:600;padding-block:22px}
.cmp tbody th{text-align:left;font-weight:500;color:var(--fg-2)}
.cmp td+td,.cmp th+td,.cmp th+th{border-left:1px solid var(--line)}
.cmp .us{background:rgba(110,85,244,.07)}
.cmp thead .us{background:rgba(110,85,244,.14)}
.cmp .brandpill{display:inline-flex;align-items:center;gap:8px;color:#d6cfff;font-weight:700}
.cmp .brandpill i{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.cmp .note{display:block;font-size:.72rem;font-weight:400;color:var(--fg-3);margin-top:6px;line-height:1.4;max-width:24ch;margin-inline:auto}
.cmp .yes svg{width:20px;height:20px;color:var(--green)}
.cmp .no svg{width:18px;height:18px;color:rgba(255,255,255,.16)}
.cmp .yes path{stroke-dasharray:24;stroke-dashoffset:0}
.cmp.draw .yes path{animation:draw .6s var(--ease) both}
@keyframes draw{from{stroke-dashoffset:24}}
.cmp tfoot td,.cmp tfoot th{background:rgba(110,85,244,.16);padding-block:18px}
.cmp tfoot th{font:700 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
.cmp tfoot a.ext{font-size:.8rem;color:var(--fg-3)}
.cmp tfoot a.ext:hover{color:var(--fg)}

/* ---------- FEATURES: sticky index + stage ---------- */
.feat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);margin-top:clamp(48px,6vw,88px)}
.feat-list{display:grid;gap:0}
.fi{padding:26px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:44px 1fr;gap:4px 12px;min-height:38vh;align-content:start;transition:opacity .4s}
.fi:first-child{border-top:0}
.fi .n{font:500 .78rem/1.6 var(--f-mono);color:var(--fg-3)}
.fi h3{font-size:clamp(1.3rem,2vw,1.65rem);letter-spacing:-.025em;line-height:1.15}
.fi p{grid-column:2;color:var(--fg-2);font-size:.98rem;margin-top:10px;max-width:46ch}
.fi .vis-m{display:none;grid-column:1/-1;margin-top:20px}
.feat.js .fi{opacity:.4}
.feat.js .fi.active{opacity:1}
.fi.active .n{color:var(--violet)}
.feat-stage{position:sticky;top:calc(env(safe-area-inset-top,0px) + 110px);height:min(560px,70vh);align-self:start}
.fv{position:absolute;inset:0;opacity:0;transform:translateY(16px) scale(.985);transition:opacity .6s var(--ease),transform .8s var(--ease);pointer-events:none}
.fv.active{opacity:1;transform:none;pointer-events:auto}
.fv .win{height:100%;display:flex;flex-direction:column}
.win .body{flex:1;overflow:hidden;position:relative}
.win .body.pad{padding:18px}
.fv img.shot{width:100%;height:100%;object-fit:cover;object-position:top left}
@media (max-width:900px){
  .feat{grid-template-columns:1fr}
  .feat-stage{display:none}
  .fi{min-height:0}
  .feat.js .fi{opacity:1}
  .fi .vis-m{display:block}
  .fi .vis-m .win{display:flex;flex-direction:column}
  .fi .vis-m .body.pad{padding:14px}
  .fi .vis-m img.shot{height:auto}
}
/* feature visuals */
.v-rates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.v-rate{border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(255,255,255,.03);display:grid;gap:6px}
.v-rate small{font-size:.68rem;color:var(--fg-3);line-height:1.3}
.v-rate b{font:400 1.7rem/1 var(--f-mono);letter-spacing:-.04em}
.v-rate.wh b{color:var(--violet)}
.v-tbl{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.78rem}
.v-tbl div{display:grid;grid-template-columns:2fr .8fr .8fr .8fr;padding:10px 12px;border-top:1px solid var(--line);gap:6px}
.v-tbl div:first-child{border-top:0;font:600 .62rem/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);background:rgba(255,255,255,.03)}
.v-tbl span:not(:first-child){text-align:right;font-family:var(--f-mono);font-size:.74rem}
.v-tnum{margin-top:14px;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:.8rem}
.v-tnum b{font:500 .85rem/1 var(--f-mono);color:#d6cfff}
.v-pay{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v-pay span{display:grid;place-items:center;text-align:center;padding:12px 4px;font-size:.72rem;font-weight:600;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--fg-2)}
.v-pay span.on{border-color:var(--accent-line);background:var(--accent-soft);color:#fff}
.v-qr{display:flex;gap:16px;align-items:center;margin-top:16px;padding:14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#111}
.v-qr canvas{width:84px;height:84px;image-rendering:pixelated;flex:none}
.v-qr small{color:#555;font-size:.72rem}
.v-tpl{display:grid;gap:8px}
.v-tpl div{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:.88rem}
.v-tpl div.on{border-color:var(--accent-line);background:var(--accent-soft)}
.v-tpl i{font-style:normal;font:500 .68rem/1 var(--f-mono);color:var(--fg-3)}
.v-bank{max-width:360px;margin:0 auto;display:grid;gap:10px}
.v-bank .amt{text-align:center;padding:10px 0 4px}
.v-bank .amt b{display:block;font:300 2.2rem/1 var(--f-mono);letter-spacing:-.04em}
.v-bank .row{display:flex;justify-content:space-between;font-size:.8rem;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.04)}
.v-bank .row span:first-child{color:var(--fg-3)}
.v-bank .paid{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--green);padding:10px;border-radius:10px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.25)}
.v-imp{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;height:100%}
.v-file{border:1px dashed var(--line-2);border-radius:14px;padding:22px 14px;text-align:center;display:grid;gap:8px;justify-items:center}
.v-file b{font-size:.86rem}
.v-file small{font:500 .7rem/1 var(--f-mono);color:var(--fg-3)}
.v-file.out{border-style:solid;border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.05)}
.v-arrow{width:44px;height:2px;background:linear-gradient(90deg,var(--line-2),var(--accent));position:relative}
.v-arrow::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:var(--accent)}
.v-prog{grid-column:1/-1;height:4px;border-radius:9px;background:rgba(255,255,255,.06);overflow:hidden}
.v-prog i{display:block;height:100%;width:72%;background:var(--accent);border-radius:9px}
.v-ac{max-width:380px;margin:20px auto 0;display:grid;gap:8px}
.v-ac .fld{border:1px solid rgba(75,79,212,.6);background:rgba(75,79,212,.08);border-radius:10px;padding:10px 12px;font-size:.9rem}
.v-ac .dd{border-radius:12px;background:#232327;border:1px solid var(--line-2);overflow:hidden;box-shadow:0 20px 40px -10px rgba(0,0,0,.6)}
.v-ac .dd>small{display:block;font:600 .6rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);padding:9px 12px;background:#2b2b30}
.v-ac .opt{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid rgba(255,255,255,.05)}
.v-ac .opt.on{background:rgba(75,79,212,.16)}
.v-ac .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;background:#333}
.v-ac .opt.on .av{background:var(--mac)}
.v-ac .opt b{display:block;font-size:.82rem}
.v-ac .opt.on b{color:#8f93ff}
.v-ac .opt small{font-size:.7rem;color:var(--fg-3)}
.v-ac .opt em{font-style:normal;font:500 .72rem/1 var(--f-mono);color:var(--fg-2)}
.v-inv{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:100%}
.v-inv .paper{font-size:7.5px}
.v-themes{display:flex;gap:6px;flex-wrap:wrap}
.v-themes i{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .3s var(--ease)}
.v-themes i.on{border-color:#fff;transform:scale(1.12)}

/* ---------- HOW IT WORKS ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);margin-top:clamp(48px,6vw,80px)}
.steps-line{position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.steps-line i{position:absolute;inset:0 auto 0 0;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--p,1))}
.step{padding-top:32px;display:grid;gap:14px;align-content:start;position:relative}
.step::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1.5px solid var(--accent)}
.step-vis{height:160px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.02);display:grid;place-items:center;overflow:hidden;padding:12px}
.step-meta{display:flex;align-items:center;gap:10px}
.step-meta .n{font:500 .8rem/1 var(--f-mono);color:var(--violet)}
.step h3{font-size:1.2rem;letter-spacing:-.02em}
.step p{font-size:.92rem;color:var(--fg-2)}
@media (max-width:860px){.steps{grid-template-columns:1fr}.steps-line{display:none}.step{border-top:1px solid var(--line)}}
.sv-store{display:grid;justify-items:center;gap:8px;text-align:center}
.sv-store img{width:56px;height:56px;border-radius:14px;box-shadow:0 10px 30px -8px rgba(110,85,244,.6)}
.sv-store p{font-size:.74rem;color:var(--fg-2)}
.sv-client{width:100%;display:grid;gap:5px;font-size:.6rem}
.sv-client .fld{border:1px solid rgba(75,79,212,.55);background:rgba(75,79,212,.08);border-radius:7px;padding:5px 8px;font-size:.72rem}
.sv-client .dd{border-radius:8px;background:#2a2a2e;border:1px solid var(--line);overflow:hidden}
.sv-client .dd>small{display:block;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);padding:4px 8px;background:#323236}
.sv-client .o{display:grid;grid-template-columns:16px 1fr auto;gap:6px;align-items:center;padding:4px 8px;border-top:1px solid rgba(255,255,255,.04)}
.sv-client .o.on{background:rgba(75,79,212,.14)}
.sv-client .o i{width:16px;height:16px;border-radius:50%;background:#333;display:grid;place-items:center;font-style:normal;font-size:.5rem;font-weight:700}
.sv-client .o.on i{background:var(--mac)}
.sv-client .o b{display:block;font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-client .o.on b{color:#8f93ff}
.sv-client .o small{display:block;font-size:.5rem;color:var(--fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-client .o em{font-style:normal;font-size:.55rem;color:var(--fg-3)}
.sv-pay{display:grid;justify-items:center;gap:12px}
.sv-pay .m{display:flex;gap:12px}
.sv-pay .m div{display:grid;justify-items:center;gap:4px;font-size:.62rem;color:var(--fg-3)}
.sv-pay .m b{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:.72rem}
.sv-pay .ok{display:inline-flex;align-items:center;gap:6px;font-size:.66rem;font-weight:600;color:var(--green);padding:5px 10px;border-radius:999px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.22)}
.sv-pay .ok i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}

/* ---------- PRICING ---------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.plan{padding:clamp(24px,3vw,32px);display:flex;flex-direction:column;gap:0}
.plan .tag{align-self:flex-start;margin-bottom:18px}
.plan .pn{font:600 .72rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px}
.price{display:flex;align-items:baseline;gap:2px;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.price .cur{font-size:1.1rem;color:var(--fg-3);font-weight:300}
.price .int{font-size:3rem;font-weight:300;letter-spacing:-.06em;line-height:1}
.price .dec{font-size:1.4rem;font-weight:300}
.price .per{font-size:.82rem;color:var(--fg-3);margin-left:4px;font-family:var(--f-sans)}
.plan .bill{font-size:.8rem;color:var(--fg-3);margin:8px 0 24px}
.plan hr{border:0;height:1px;background:var(--line);margin:0 0 22px}
.plan .ticks{flex:1;margin-bottom:28px;align-content:start}
.plan.pop{background:linear-gradient(170deg,rgba(110,85,244,.28),rgba(110,85,244,.10) 60%);border-color:var(--accent-line);box-shadow:0 30px 80px -40px rgba(110,85,244,.6)}
.plan.pop .pn{color:var(--violet)}
.plan.pop hr{background:var(--accent-line)}
.plan.pop .ticks li{color:rgba(255,255,255,.8)}
.plan.pop .ticks li:first-child{color:rgba(255,255,255,.45)}
.plan.ann .ticks li.save{color:var(--gold);font-weight:600}
.plan-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:28px;font-size:.8rem;color:var(--fg-3)}
.plan-foot>span::before{content:"+ ";color:var(--violet)}
@media (max-width:900px){.plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
.faq{max-width:760px;margin:clamp(64px,8vw,104px) auto 0}
.faq h3{font-size:1.3rem;margin-bottom:22px;letter-spacing:-.02em}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 2px;font-weight:600;font-size:.98rem}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);position:relative;transition:transform .4s var(--ease),background .3s}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--fg-2);transform:translate(-50%,-50%)}
.qa summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.qa[open] summary i{background:var(--accent-soft);border-color:var(--accent-line)}
.qa[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.qa p{padding:0 44px 22px 2px;color:var(--fg-2);font-size:.94rem}

/* ---------- FINAL CTA ---------- */
.final{position:relative;overflow:hidden;text-align:center;padding-block:clamp(110px,14vw,200px)}
#field2{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.final .wrap{position:relative;z-index:1;display:grid;justify-items:center;gap:22px}
.final h2{max-width:18ch}
.final .lede{margin-inline:auto}

/* feature visuals (cont.) */
.v-timer{display:grid;grid-template-columns:minmax(0,1.6fr) auto auto auto auto;gap:10px;align-items:center;padding:12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.v-timer .fld{border:1.5px solid rgba(239,68,68,.7);border-radius:8px;padding:8px 10px;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-timer .who,.v-timer .rate{font-size:.74rem;color:var(--fg-3)}
.v-timer b{font-size:1.25rem;font-weight:500;color:#ef4444;letter-spacing:-.02em}
.v-timer button{padding:8px 14px;border-radius:8px;border:0;background:#34c759;color:#fff;font-weight:600;font-size:.8rem}
.v-timer button.stop{background:#ef4444}
.v-timer small{grid-column:1/-1;font-size:.72rem;color:var(--green)}
.v-entries{margin-top:14px;display:grid}
.v-entries>div{display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line);font-size:.8rem}
.v-entries .day{font-size:.66rem;color:var(--fg-3)}
.v-entries b{display:block;font-weight:600}
.v-entries small{font-size:.7rem;color:var(--fg-3)}
.v-pl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v-pl>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:rgba(255,255,255,.03);display:grid;gap:4px;min-width:0}
.v-pl small{font-size:.66rem;color:var(--fg-3)}
.v-pl b{font-size:.98rem;letter-spacing:-.03em;white-space:nowrap}
.v-chart{margin-top:18px;display:grid;gap:9px}
.v-chart .bar{display:grid;grid-template-columns:80px 1fr 38px;gap:10px;align-items:center;font-size:.76rem;color:var(--fg-2)}
.v-chart .tr{height:8px;border-radius:9px;background:rgba(255,255,255,.05);overflow:hidden}
.v-chart .tr i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--accent),var(--violet));transform-origin:left}
.v-chart .bar:first-of-type .tr i{background:linear-gradient(90deg,#ff453a,#ff8a80)}
.v-chart .mono{text-align:right;color:var(--fg-3)}
.v-csv{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.76rem;color:var(--fg-3)}
.v-tpl2{display:flex;flex-wrap:wrap;gap:6px}
.v-tpl2 button{font-size:.78rem;padding:8px 12px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--fg-2)}
.v-tpl2 button.on{background:var(--accent-soft);border-color:var(--accent-line);color:#fff}
.v-tpl-out{margin-top:16px;border-radius:12px;border:1px solid var(--line);overflow:hidden;border-top:4px solid var(--tc,var(--accent));transition:border-color .4s}
.v-tpl-out>div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid var(--line);font-size:.82rem}
.v-tpl-out>div:first-child{border-top:0}
.v-tpl-out .mono{color:var(--fg-2);white-space:nowrap}
.v-tpl-out .tt{font-weight:700;background:rgba(255,255,255,.03)}
.v-tpl-out .tt .mono{color:var(--tc,#fff)}
.v-inv .paper .ph span{text-align:right;font-size:7px;line-height:1.4}
@media (max-width:520px){.v-pl{grid-template-columns:1fr 1fr}.v-timer{grid-template-columns:1fr auto auto}.v-timer .who,.v-timer .rate{display:none}.v-inv{grid-template-columns:1fr}.v-rates{grid-template-columns:1fr}}
.stats b .unit{font-size:.5em;letter-spacing:0;color:var(--fg-3);margin-left:4px}

/* ---------- v2: app UI mounts ---------- */
.demo-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.show-stage [data-app=full]{border-radius:12px}
@media (min-width:901px){.feat{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:clamp(28px,4vw,56px)!important}}
.feat-stage{height:min(640px,78vh)!important;top:calc(env(safe-area-inset-top,0px) + 96px)!important}
.fv{display:flex;align-items:center}
.fv>[data-app]{width:100%;height:100%}
.fi{min-height:48vh!important}
@media (max-width:900px){.fi{min-height:0!important}.fi .vis-m{display:block;margin-top:22px}}
.fx-hint{display:flex;align-items:center;gap:8px;margin-top:14px;font:500 .72rem/1.3 var(--f-mono);letter-spacing:.04em;color:var(--fg-3)}
.fx-hint i{width:6px;height:6px;border-radius:50%;background:var(--violet);animation:ping 2s var(--ease) infinite;position:relative}

.fitbox.scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.fitbox.scrollx .fit-in{position:relative!important;transform:none!important;left:0!important}
.swipe-hint{display:none;font:500 .7rem/1 var(--f-mono);color:var(--fg-3);margin-top:10px}
@media (max-width:700px){.swipe-hint{display:block}}
