@font-face{font-family:Inter;src:url(fonts/Inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/GeistMono.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--fs-body:16px;--fs-small:14px;--fs-lead:18px;--ink:#0d1530;--ink-2:#454e66;--ink-3:#5d6678;--line:#e7eaf0;--line-2:#d8dde6;--bg:#fff;--tint:#f5f8fc;--tint-2:#eef3f9;
--graphite:#0e0f12;--silver:#c9ced8;--g9:#14482d;--g7:#1f6b43;--g5:#2f8a59;--g2:#d7efdf;--g1:#ecf7ef;--g0:#f5fbf6;
--r:16px;--r-lg:24px;--mono:"Geist Mono",ui-monospace,Menlo,monospace;--max:1200px;
--sh:0 1px 2px rgba(13,21,48,.05),0 8px 24px -10px rgba(13,21,48,.14);--sh-lg:0 1px 1px rgba(13,21,48,.04),0 24px 64px -24px rgba(13,21,48,.32)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"cv11","ss01","ss03";color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid #3b6fd8;outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:12px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}
h1{font-size:clamp(46px,7.2vw,92px);letter-spacing:-.05em;line-height:.98}
h2{font-size:clamp(34px,4.4vw,54px);letter-spacing:-.04em}
h3{font-size:20px;letter-spacing:-.02em;line-height:1.25}
p{margin:0;text-wrap:pretty}
.dim{color:#8a93a8}
.label{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.i{width:18px;height:18px;flex:none;stroke-width:1.75}

/* nav */
.nav{position:fixed;top:14px;left:0;right:0;z-index:50;pointer-events:none}
.nav-in{pointer-events:auto;max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:20px;height:58px;padding:0 10px 0 14px;border-radius:999px;background:rgba(255,255,255,.62);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(255,255,255,.75);box-shadow:0 6px 24px -10px rgba(9,26,50,.25);transition:background .25s}
.nav.scrolled .nav-in{background:rgba(255,255,255,.86);border-color:var(--line)}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.02em;font-size:17px;text-decoration:none}
.logo img{width:32px;height:32px}
.nav ul{display:flex;gap:2px;list-style:none;margin:0 0 0 auto;padding:0}
.nav ul a{text-decoration:none;font-size:14.5px;color:var(--ink-2);padding:8px 13px;border-radius:999px;transition:background .15s,color .15s}
.nav ul a:hover,.nav ul a[aria-current=page]{color:var(--ink);background:rgba(13,21,48,.06)}
.menu-btn{display:none;margin-left:auto;background:none;border:0;width:42px;height:42px;cursor:pointer;border-radius:50%}
.menu-btn span{display:block;width:17px;height:1.6px;background:var(--ink);margin:4px auto}
/* buttons */
.btn{--h:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 22px;border-radius:999px;font:inherit;font-size:15.5px;font-weight:550;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s,background .15s,border-color .15s,box-shadow .2s;white-space:nowrap;letter-spacing:-.01em}
.btn:active{transform:translateY(1px)}
.btn .i{width:17px;height:17px}
.btn-dark{background:linear-gradient(180deg,#24262c,#0e0f12);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 1px #0e0f12,0 8px 18px -8px rgba(0,0,0,.55)}
.btn-dark:hover{background:linear-gradient(180deg,#30333a,#15161a)}
.btn-glass{background:rgba(255,255,255,.7);border-color:rgba(255,255,255,.9);color:var(--ink);backdrop-filter:blur(10px);box-shadow:0 4px 14px -6px rgba(9,26,50,.25)}
.btn-glass:hover{background:#fff}
.btn-line{background:#fff;border-color:var(--line-2);color:var(--ink)}.btn-line:hover{border-color:#bcc3d0}
.btn-sm{--h:40px;padding:0 16px;font-size:14.5px}
.soon{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#d8dbe2;margin-left:2px}
.btn-glass .soon,.btn-line .soon{background:var(--tint-2);border-color:var(--line-2);color:var(--ink-3)}
/* hero */
.hero{position:relative;padding:150px 0 0;text-align:center;background:#87d1ed url(hero-sky.webp) center 30%/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.5) 26%,rgba(255,255,255,.08) 52%,rgba(255,255,255,0) 70%,rgba(255,255,255,.0) 88%,#fff 100%)}
.hero>.wrap{position:relative}
.hero h1{font-size:clamp(36px,5.4vw,64px);letter-spacing:-.05em;line-height:1.08}
.tagpill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(10px);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#2a3553;box-shadow:0 4px 14px -6px rgba(9,26,50,.2);margin-bottom:28px}
.tagpill i{width:6px;height:6px;border-radius:50%;background:#2f8a59}
.hero h1 .dim{color:#55688e;display:block}
.hero .lede{font-size:clamp(16px,1.4vw,18px);color:#2e3955;max-width:960px;margin:26px auto 0;line-height:1.6;text-wrap:balance}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.oses{margin-top:18px;font-size:13.5px;color:#3b4766;display:flex;gap:18px;justify-content:center;align-items:center}
.oses span{display:inline-flex;gap:7px;align-items:center}.oses .i{width:15px;height:15px}
.oses a{color:#2a3553;text-underline-offset:3px}
/* desktop scene */
.scene{position:relative;max-width:1080px;margin:70px auto 0;padding-bottom:70px}
.win{background:#fff;border-radius:14px;box-shadow:0 0 0 1px rgba(13,21,48,.08),0 40px 90px -30px rgba(9,26,50,.5);overflow:hidden;text-align:left}
.win-bar{height:40px;display:flex;align-items:center;gap:10px;padding:0 0 0 14px;background:#f3f5f8;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.win-bar .ctl{margin-left:auto;display:flex}
.win-bar .ctl span{width:44px;height:40px;display:grid;place-items:center;color:#59627a}
.win-bar .ctl .i{width:14px;height:14px}
.mailapp{display:grid;grid-template-columns:210px 1fr;min-height:430px}
.mail-side{background:#f8f9fb;border-right:1px solid var(--line);padding:16px 12px;font-size:13.5px;color:var(--ink-2)}
.compose-btn{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-weight:550;color:var(--ink);margin-bottom:12px;box-shadow:var(--sh)}
.mail-side div.it{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px}
.mail-side div.it.on{background:#e8edf6;color:var(--ink);font-weight:550}
.mail-main{padding:22px 30px 26px}
.fld{display:flex;gap:12px;font-size:14px;color:var(--ink-3);padding:9px 0;border-bottom:1px solid var(--line)}
.fld b{color:var(--ink);font-weight:500}
.typed{padding-top:18px;font-size:16px;line-height:1.75;min-height:190px;color:#1b2340}
.typed .w{opacity:0;transition:opacity .2s}.typed .w.on{opacity:1}
.typed .f{color:#b2b9c8;text-decoration:line-through;text-decoration-color:#d26d4f}
.caret{display:inline-block;width:2px;height:1.1em;background:#1b2340;vertical-align:-3px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.mail-tools{display:flex;gap:8px;align-items:center;margin-top:10px}
.send{background:#2557c9;color:#fff;font-size:13.5px;font-weight:550;padding:8px 18px;border-radius:999px}
/* dictation pill (Cursor Flow overlay) */
.cfpill{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 16px 0 7px;border-radius:999px;background:#0e0f12;color:#e9ebef;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 18px 40px -12px rgba(0,0,0,.55);font-size:13px}
.cfpill img{width:34px;height:34px;border-radius:9px}
.cfpill .bars{display:flex;gap:2.5px;align-items:center;height:22px}
.cfpill .bars i{width:2.5px;border-radius:2px;background:linear-gradient(#fff,#aab1bd);height:30%;animation:wv 1s ease-in-out infinite}
@keyframes wv{0%,100%{height:22%}50%{height:100%}}
.cfpill .t{font-family:var(--mono);font-size:12px;color:#9aa1ad}
.cfpill .src{display:inline-flex;gap:6px;align-items:center;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.08);font-size:12px}
.cfpill .src .i{width:13px;height:13px}
.scene .cfpill{position:absolute;left:50%;bottom:44px;transform:translateX(-50%)}
/* phone screen card (Android app) */
.droid{width:228px;border-radius:32px;background:#fff;box-shadow:0 0 0 1.5px #3a404b,0 0 0 4px #1a1d24,0 30px 70px -24px rgba(9,26,50,.5);padding:20px 11px 8px;text-align:left;font-size:12.5px;position:relative}
.droid .sb{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--ink);padding:0 6px 10px}
.droid .hd{display:flex;align-items:center;gap:9px;padding:6px 4px 12px;border-bottom:1px solid var(--line)}
.droid .hd img{width:28px;height:28px;border-radius:8px}
.droid .hd b{font-size:13.5px;letter-spacing:-.01em}
.conn{display:flex;align-items:center;gap:8px;margin:12px 0;padding:10px;border-radius:12px;background:var(--g1);color:var(--g9);font-size:12px}
.conn .i{width:15px;height:15px}
.conn small{display:block;color:var(--g7);font-size:11px}
.bigmic{width:84px;height:84px;margin:22px auto 12px;border-radius:50%;background:var(--g7);display:grid;place-items:center;color:#fff;box-shadow:0 0 0 10px var(--g1),0 0 0 20px var(--g0)}
.bigmic .i{width:30px;height:30px}
.droid .cap{text-align:center;color:var(--ink-3);font-size:11.5px}
.droid .seg{display:flex;background:var(--tint-2);border-radius:10px;padding:3px;margin-top:14px}
.droid .seg span{flex:1;text-align:center;padding:6px 0;border-radius:8px;font-size:11.5px;color:var(--ink-3)}
.droid .seg span.on{background:#fff;color:var(--ink);font-weight:550;box-shadow:var(--sh)}
.scene .droid{position:absolute;right:12px;bottom:96px;transform:rotate(2.5deg);z-index:3}@media (min-width:981px){.scene .mail-main{padding-right:110px}.scene{overflow:visible}}
/* works with */
.apps-strip{padding:26px 0 0;text-align:center}
.apps-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.apps-row span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff}
/* sections */
section{padding:130px 0}
.head{max-width:720px;margin-bottom:60px}
.head .label{display:block;margin-bottom:18px}
.head p{font-size:18.5px;color:var(--ink-2);margin-top:18px;max-width:600px}
.head.c{text-align:center;margin-left:auto;margin-right:auto}.head.c p{margin-left:auto;margin-right:auto}
/* three moments */
.moments{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mo{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;display:flex;flex-direction:column}
.mo .stagebox{height:230px;background:var(--tint);border-bottom:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.mo .txt{padding:24px 26px 28px}
.mo .txt p{color:var(--ink-2);font-size:15.5px;margin-top:8px}
.mo .label{display:block;margin-bottom:10px}
.xfer{width:250px;background:#fff;border-radius:14px;box-shadow:var(--sh-lg);padding:14px;font-size:12.5px}
.xfer .row{display:flex;align-items:center;gap:10px}
.thumb{width:40px;height:40px;border-radius:9px;background:linear-gradient(135deg,#dfe7f1,#c4d1e2);display:grid;place-items:center;color:#5a6a85}
.thumb .i{width:18px;height:18px}
.xfer b{font-weight:550;display:block}
.xfer small{color:var(--ink-3);font-family:var(--mono);font-size:10.5px}
.prog{height:5px;background:var(--tint-2);border-radius:5px;margin:12px 0 8px;overflow:hidden}
.prog i{display:block;height:100%;width:64%;background:var(--g7);border-radius:5px;animation:pg 3s ease-in-out infinite}
@keyframes pg{0%{width:8%}80%,100%{width:100%}}
.xfer .ft{display:flex;justify-content:space-between;color:var(--ink-3);font-size:11px}
/* dictate rows */
.rows{display:grid;gap:30px}
.rowx{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.rowx h3{font-size:26px;letter-spacing:-.03em}
.rowx p{color:var(--ink-2);margin-top:12px;max-width:420px}
.panel{position:relative;border-radius:var(--r-lg);height:330px;overflow:hidden;display:grid;place-items:center;isolation:isolate}
.panel::before{content:"";position:absolute;inset:-30px;background:url(hero-sky-800.webp) center 20%/cover;filter:blur(18px) saturate(1.05);opacity:.9;z-index:-2}
.panel::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.35);z-index:-1}
.bub{position:relative;width:min(86%,420px)}
.said{display:flex;gap:12px;background:#fff;border-radius:16px;padding:14px 16px;font-size:14.5px;line-height:1.55;box-shadow:var(--sh-lg);position:relative;z-index:2;margin-left:12%;color:#2a3350}
.said .i{width:18px;height:18px;color:var(--ink-3);margin-top:2px}
.said s{text-decoration:none;background:#fde3d9;color:#a2462c;border-radius:4px;padding:0 3px;text-decoration:line-through}
.said mark{background:#e3ebfb;color:#2c4f9c;border-radius:4px;padding:0 3px}
.got{background:var(--g1);border:1px solid var(--g2);border-radius:16px;padding:30px 18px 16px;margin-top:-16px;font-size:14.5px;font-weight:500;color:#13311f;width:88%}
.got .label{color:var(--g7);display:block;margin-bottom:4px;font-size:10px}
.wakebox{text-align:center}
.wakebox .q{display:inline-block;background:#fff;border-radius:16px;padding:12px 18px;font-size:16px;font-weight:500;box-shadow:var(--sh-lg);margin-bottom:16px}
/* app window recreation */
.appwin{display:grid;grid-template-columns:220px 1fr;background:#f2f6f2;min-height:470px}
.aside{background:#fff;margin:12px;border-radius:18px;padding:14px 12px;display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:#354039;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.aside .brand{display:flex;align-items:center;gap:9px;padding:4px 6px 14px;font-weight:650;font-size:14.5px;letter-spacing:-.01em;color:#111}
.aside .brand img{width:32px;height:32px;border-radius:8px}
.aside .brand em{font-style:normal;font-size:10px;font-weight:600;background:var(--g1);color:var(--g7);padding:2px 7px;border-radius:999px;margin-left:auto}
.aside a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;text-decoration:none}
.aside a.on{background:var(--g7);color:#fff}
.aside .i{width:16px;height:16px}
.aside .sec{font-size:10px;letter-spacing:.1em;color:#8b968e;padding:12px 10px 4px;font-weight:600}
.aside .relay{margin-top:auto;background:var(--g1);border-radius:12px;padding:10px;font-size:11.5px;color:var(--g9);display:flex;gap:8px}
.aside .relay b{display:block;font-size:12px}
.amain{padding:22px 22px 22px 10px;font-size:13px;color:#2c352f}
.atop{display:flex;align-items:center;gap:10px}
.atop .h4{margin:0;font-weight:600;font-size:22px;letter-spacing:-.02em;color:#111}
.atop .sub{font-size:12px;color:#77837b}
.online{margin-left:auto;display:inline-flex;gap:6px;align-items:center;background:#fff;border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:600}
.online i{width:7px;height:7px;border-radius:50%;background:#22a05a}
.asearch{display:flex;gap:8px;align-items:center;background:#fff;border-radius:999px;padding:7px 12px;color:#8b968e;font-size:12px;width:200px}
.asearch .i{width:14px;height:14px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.kpi{background:#fff;border-radius:14px;padding:12px 14px}
.kpi.on{background:var(--g9);color:#fff}
.kpi small{display:block;font-size:11px;opacity:.75}
.kpi b{font-size:22px;letter-spacing:-.03em}
.tbl{background:#fff;border-radius:14px;overflow:hidden}
.tr{display:grid;grid-template-columns:28px 1fr 120px 70px 60px;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid #eef1ee;font-size:12.5px}
.tr.th{border-top:0;font-size:10px;letter-spacing:.08em;color:#8b968e;font-weight:600;text-transform:uppercase}
.tr .ic{width:26px;height:26px;border-radius:8px;background:var(--g1);color:var(--g7);display:grid;place-items:center}
.tr .ic .i{width:14px;height:14px}
.tr b{font-weight:600;color:#111;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr small{color:#8b968e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.st{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--g1);color:var(--g7);margin-left:6px}
/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;overflow:hidden}
.card p{color:var(--ink-2);font-size:15.5px;margin-top:8px}
.card .viz{margin-top:auto;padding-top:26px}
.s3{grid-column:span 3}.s2{grid-column:span 2}.s4{grid-column:span 4}
.set{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.set .r{display:flex;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid var(--line);font-size:14px}
.set .r:first-child{border-top:0}
.set .r .i{width:17px;height:17px;color:var(--ink-3)}
.set .r small{display:block;color:var(--ink-3);font-size:12px}
.tg{margin-left:auto;width:36px;height:21px;border-radius:999px;background:#d5dae3;position:relative;flex:none}
.tg::after{content:"";position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .2s}
.tg.on{background:var(--g7)}.tg.on::after{left:17.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:13px;padding:6px 11px;border-radius:9px;background:var(--tint);border:1px solid var(--line);color:var(--ink-2);display:inline-flex;gap:6px;align-items:center}
.chips span.add{border-style:dashed;color:var(--ink-3);background:#fff}
.langs{display:grid;gap:8px}
.langs div{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:14px}
.langs div.on{border-color:var(--g5);background:var(--g0)}
.langs small{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.kb{background:#e9ecf1;border-radius:14px;padding:10px 8px 12px}
.kb .sug{display:flex;justify-content:space-around;font-size:12.5px;color:var(--ink-2);padding:2px 0 9px}
.kb .rw{display:flex;gap:4px;justify-content:center;margin-bottom:5px}
.kb .rw span{flex:1;max-width:26px;height:32px;background:#fff;border-radius:6px;box-shadow:0 1px 0 #b9c0cc;font-size:12px;display:grid;place-items:center;color:#2a3350}
.kb .rw span.w{max-width:none;flex:3}
.kb .rw span.m{background:var(--g7);color:#fff;max-width:44px}
.kb .rw span.m .i{width:15px;height:15px}
.timer{font-family:var(--mono);font-size:46px;letter-spacing:-.04em;font-weight:500;line-height:1}
.timer small{font-size:14px;color:var(--ink-3);letter-spacing:0}
.track{height:6px;border-radius:6px;background:var(--tint-2);margin-top:14px;overflow:hidden}
.track i{display:block;height:100%;width:58%;background:var(--ink);border-radius:6px}
/* privacy */
.priv{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pv{padding:26px 24px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.pv .ico{width:40px;height:40px;border-radius:11px;background:var(--tint);border:1px solid var(--line);display:grid;place-items:center;margin-bottom:22px}
.pv .ico .i{width:19px;height:19px}
.pv h3{font-size:17px}.pv p{font-size:14.5px;color:var(--ink-2);margin-top:8px}
/* founder */
.founder{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;max-width:900px;margin:0 auto;padding:44px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--tint)}
.founder blockquote{margin:0;font-size:clamp(20px,2.2vw,26px);line-height:1.4;letter-spacing:-.02em;font-weight:500}
.founder .by{margin-top:18px;font-size:14.5px;color:var(--ink-3)}
.founder .by b{color:var(--ink);font-weight:600}
.founder .by a{color:var(--ink);text-underline-offset:3px}
.mono-av{width:84px;height:84px;border-radius:50%;background:#0e0f12;color:#e6e8ec;display:grid;place-items:center;font-weight:600;font-size:24px;letter-spacing:-.02em;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--line-2)}
/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;display:flex;flex-direction:column}
.plan.feat{border-color:#0e0f12;box-shadow:0 0 0 1px #0e0f12,var(--sh-lg)}
.badge{position:absolute;top:-12px;left:28px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;background:#0e0f12;color:#fff;padding:4px 10px;border-radius:999px}
.badge.lt{background:#fff;color:var(--ink-2);border:1px solid var(--line-2)}
.plan h2{font-size:19px}.plan .who{font-size:14.5px;color:var(--ink-3);margin-top:4px}
.price{display:flex;align-items:baseline;gap:6px;margin:24px 0 4px}
.price b{font-size:50px;font-weight:600;letter-spacing:-.05em;line-height:1}
.price span{color:var(--ink-3);font-size:15px}
.math{font-family:var(--mono);font-size:12px;color:var(--ink-2);min-height:18px}
.plan ul{list-style:none;padding:0;margin:24px 0 28px;display:grid;gap:11px;font-size:15px;color:var(--ink-2)}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li .i{width:17px;height:17px;margin-top:3px;color:var(--g7)}
.plan .btn{margin-top:auto;width:100%}
.fine{font-size:14px;color:var(--ink-3);text-align:center;margin-top:26px}
.regular{margin-top:54px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.regular table{width:100%;border-collapse:collapse;font-size:15px}
.regular th,.regular td{text-align:left;padding:17px 24px;border-bottom:1px solid var(--line)}
.regular th{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--tint)}
.regular tr:last-child td{border-bottom:0}
/* faq */
.faq{max-width:800px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-size:18px;font-weight:550;letter-spacing:-.015em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{position:absolute;right:4px;top:50%;margin-top:-9px;color:var(--ink-3);transition:transform .25s}
.faq details[open] summary .i{transform:rotate(180deg)}
.faq .ans{padding:0 44px 24px 0;color:var(--ink-2);font-size:16px}
/* end cta */
.endcta{position:relative;text-align:center;padding:140px 0 150px;background:#87d1ed url(hero-sky.webp) center 70%/cover;overflow:hidden}
.endcta::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.55) 30%,rgba(255,255,255,.25) 100%)}
.endcta>.wrap{position:relative}
.endcta p{color:#2e3955;font-size:18.5px;margin:18px auto 0;max-width:520px}
/* page hero */
.phero{padding:170px 0 50px;background:linear-gradient(180deg,#e9f5fb,#fff)}
.phero p{font-size:19px;color:var(--ink-2);margin-top:20px;max-width:620px}
.phero.c{text-align:center}.phero.c p{margin-left:auto;margin-right:auto}
.phero .label{display:block;margin-bottom:18px}
/* download */
.dl{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dlc{border:1px solid var(--line);border-radius:var(--r-lg);padding:34px;background:#fff;display:flex;flex-direction:column}
.dlc .top{display:flex;align-items:center;gap:14px}
.dlc .osb{width:48px;height:48px;border-radius:13px;background:var(--tint);border:1px solid var(--line);display:grid;place-items:center}
.dlc .osb .i{width:22px;height:22px}
.dlc h2{font-size:24px}
.dlc>p{color:var(--ink-2);margin-top:14px}
.status{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--tint);border:1px solid var(--line-2);color:var(--ink-2)}
.spec{margin:24px 0;border-top:1px solid var(--line)}
.spec div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.spec span:first-child{color:var(--ink-3)}
.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}
.dlc .btn{margin-top:auto;align-self:flex-start}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.steps3 div{border:1px solid var(--line);border-radius:var(--r);padding:22px;font-size:15px;color:var(--ink-2)}
.steps3 b{display:block;color:var(--ink);margin:10px 0 4px;font-size:16px}
/* legal */
.legal{max-width:760px;margin:0 auto;padding:160px 28px 120px}
.legal h1{font-size:clamp(34px,4.4vw,48px);letter-spacing:-.035em;line-height:1.08}
.legal h2{font-size:22px;letter-spacing:-.02em;line-height:1.25;margin:40px 0 12px}
.legal p,.legal li{color:var(--ink-2);font-size:var(--fs-body);line-height:1.75}
.legal p+p{margin-top:12px}
.legal ol,.legal ul{padding-left:22px;display:grid;gap:10px}
.ph{background:#fff4d6;color:#7a4b00;border:1px dashed #e9b949;border-radius:6px;padding:1px 6px;font-family:var(--mono);font-size:.8em;white-space:nowrap}
.draft{border:1px solid #f1d58a;background:#fffaeb;border-radius:12px;padding:14px 16px;font-size:14.5px;color:#7a4b00;margin:24px 0 8px}
/* footer */
footer{border-top:1px solid var(--line);padding:64px 0 28px;font-size:14.5px;color:var(--ink-3)}
.fgrid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr;gap:36px}
footer h2{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer a{text-decoration:none;color:var(--ink-3)}footer a:hover{color:var(--ink)}
.fbot{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;flex-wrap:wrap}

.fblog{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.fblog h2{margin-bottom:14px}
.fblog-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 28px}
@media(max-width:900px){.fblog-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.fblog-list{grid-template-columns:1fr}}
.tiny{font-size:11px;color:var(--ink-3);margin-top:14px}
/* reveal */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.typed .w{opacity:1}}
@media (max-width:1400px) and (min-width:981px){.scene .droid{right:8px;width:210px}.scene .mail-main{padding-right:200px}}
@media (max-width:1180px) and (min-width:981px){.scene .droid{right:0;width:190px;bottom:88px}}
@media (max-width:980px){
 .scene .droid{display:none}.mailapp{grid-template-columns:1fr}.mail-side{display:none}
 .moments,.plans,.priv,.steps3,.dl{grid-template-columns:1fr 1fr}
 .rowx{grid-template-columns:1fr;gap:24px}
 .bento{grid-template-columns:1fr 1fr}.s2,.s3,.s4{grid-column:span 1}.s4{grid-column:span 2}
 .appwin{grid-template-columns:minmax(0,1fr)}.aside{display:none}.amain{padding:18px}
 .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
 body{font-size:16px}.wrap{padding:0 20px}
 .nav{top:10px;padding:0 10px}.nav-in{height:54px}
 .nav ul{display:none;position:absolute;top:62px;left:10px;right:10px;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--sh-lg)}
 .nav.open ul{display:flex}.nav ul a{display:block;padding:12px 14px}
 .menu-btn{display:block}.nav-in>.btn{display:none}
 .hero{padding:120px 0 0}
 .ctas .btn{width:100%}
 .scene{margin-top:44px;padding-bottom:90px}.mail-main{padding:16px 18px}.typed{font-size:15px;min-height:220px}
 .scene .cfpill{bottom:30px;max-width:92%}.cfpill .t,.cfpill .src{display:none}.asearch{display:none}.kpi{min-width:0}.kpi b{font-size:18px}.amain{min-width:0}.atop{flex-wrap:wrap}
 section{padding:90px 0}
 .moments,.plans,.priv,.steps3,.dl,.bento{grid-template-columns:1fr}.s4{grid-column:span 1}
 .panel{height:300px}
 .kpis{grid-template-columns:1fr 1fr}.tr{grid-template-columns:26px 1fr 60px}.tr>:nth-child(3),.tr>:nth-child(5){display:none}
 .founder{grid-template-columns:1fr;padding:28px;gap:22px}
 .regular th,.regular td{padding:13px 14px;font-size:14px}
 .fgrid{grid-template-columns:1fr}
 .phero{padding:130px 0 40px}
}
/* ---- v2 live scenes ---- */
.trust{list-style:none;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:0;margin:14px 0 0;font-size:13.5px;color:#34405e}
.trust li{display:inline-flex;gap:6px;align-items:center}.trust .i{width:15px;height:15px;color:var(--g7)}
.thread{padding:26px 30px 90px;min-height:430px;display:grid;gap:22px;align-content:start}
.msg{display:flex;gap:14px}
.msg .av{width:38px;height:38px;border-radius:50%;flex:none;background:#e6ebf3;color:#3a4766;display:grid;place-items:center;font-size:13px;font-weight:600}
.msg .av.lg{background:none}.msg .av.lg img{width:38px;height:38px;border-radius:10px}
.msg b{font-size:14.5px;font-weight:600}
.msg p{font-size:15px;color:#475069;margin-top:4px;max-width:560px;line-height:1.6}
.replybox{margin-top:8px;border:1px solid var(--line);border-radius:12px;min-height:130px;padding:14px 16px;font-size:15.5px;line-height:1.65;color:#151c33}
.out .w{animation:wIn .18s ease-out both}
@keyframes wIn{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
.out .w.gone{transition:opacity .45s,filter .45s;opacity:0;filter:blur(2px)}
.out .w.f{color:#b0b7c6}
.out .w.err{background:#fde8e1;border-radius:4px;color:#a2462c;transition:background .3s,color .3s}
.out .w.ok{background:var(--g1);color:var(--g9);border-radius:4px;transition:background 1.2s}
.cfpill.live{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);max-width:min(92%,560px);transition:opacity .3s,transform .3s}
.cfpill.live.off{opacity:0;transform:translateX(-50%) translateY(8px)}
.cfpill .ptext{white-space:nowrap;overflow:hidden;text-overflow:clip;direction:rtl;text-align:left;max-width:380px;color:#e4e7ec;font-size:13.5px}
.cfpill .ptext:empty::before{content:"Listening…";color:#8f97a6;direction:ltr}
.cfpill.idle .bars i{animation-play-state:paused;height:22%!important}
.scene .cfpill.live{bottom:38px}
/* predict */
.split2{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.body{font-size:18px;color:var(--ink-2);margin-top:18px}
.why{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.why li{padding-left:18px;border-left:2px solid var(--line-2);color:var(--ink-2);font-size:15.5px}
.why b{color:var(--ink);font-weight:600}
[data-scene="predict"]{position:relative}
.doc{padding:30px 34px 110px;min-height:380px;background:#fff}
.doc-h{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-bottom:14px}
.doc-p{font-size:17px;line-height:1.75;color:#1b2340}
.ghost{color:#b4bccb;transition:opacity .4s}
.ghost.fade{opacity:0}
.ghost .gw{transition:color .25s}
.pstat{display:flex;gap:8px;margin-top:22px}
.chip-s{display:inline-flex;gap:6px;align-items:center;font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-3);opacity:.45;transition:all .3s}
.chip-s .i{width:13px;height:13px}
.chip-s.on[data-k=match]{opacity:1;background:var(--g1);border-color:var(--g2);color:var(--g9)}
.chip-s.on[data-k=drop]{opacity:1;background:#fbf0ec;border-color:#f3d6cb;color:#9a4a33}
/* scenes grid */
.scenes{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sc{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.sc-ui{position:relative;height:330px;padding:26px;isolation:isolate;overflow:hidden}
.sc-ui::before{content:"";position:absolute;inset:-30px;background:url(hero-sky-800.webp) center 25%/cover;filter:blur(20px);opacity:.75;z-index:-2}
.sc-ui::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.4);z-index:-1}
.sc-t{padding:22px 26px 26px;border-top:1px solid var(--line)}
.sc-t .label{display:block;margin-bottom:8px}.sc-t p{color:var(--ink-2);font-size:15.5px;margin-top:6px}
.mini{background:#fff;border-radius:12px;box-shadow:0 0 0 1px rgba(13,21,48,.07),0 20px 50px -24px rgba(9,26,50,.45);overflow:hidden;flex:1;min-width:0}
.mini .win-bar{height:32px;font-size:11.5px}.mini .win-bar .ctl span{width:32px;height:32px}
.mini-b{padding:14px 16px;font-size:14px;line-height:1.6;min-height:120px;color:#1b2340}
.mini-b.big{min-height:170px;font-size:15px}
.sc-ui .cfpill.live{bottom:18px;height:42px;font-size:12px}
.sc-ui .cfpill img{width:30px;height:30px}
.sc-ui .cfpill .ptext{max-width:250px;font-size:12.5px}
.say{position:absolute;right:30px;top:72px;background:#0e0f12;color:#fff;font-size:13px;padding:8px 12px;border-radius:12px 12px 2px 12px;opacity:0;transform:translateY(6px);transition:all .3s}
.say.on{opacity:1;transform:none}
.hstat{position:absolute;left:26px;bottom:22px;display:flex;gap:8px;align-items:center;font-size:12px;color:#34405e;background:rgba(255,255,255,.85);padding:6px 11px;border-radius:999px;transition:opacity .3s}
.hstat .dot{width:7px;height:7px;border-radius:50%;background:#9aa3b5}
.hstat.act .dot{background:#22a05a;box-shadow:0 0 0 4px rgba(34,160,90,.18)}
.chat{padding:12px 14px;min-height:120px;display:grid;gap:8px;align-content:start;font-size:13px}
.bubble{background:var(--tint-2);padding:8px 11px;border-radius:12px 12px 12px 3px;max-width:80%}
.sent{justify-self:end;background:#3b4a8f;color:#fff;padding:8px 11px;border-radius:12px 12px 3px 12px;max-width:80%;opacity:0;transform:translateY(6px);transition:all .35s}
.sent.on{opacity:1;transform:none}
.composer{display:flex;align-items:center;gap:6px;margin:0 12px 12px;border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;font-size:13px;min-height:38px;transition:border-color .2s,box-shadow .2s}
.composer.focus{border-color:#5b6fd6;box-shadow:0 0 0 3px rgba(91,111,214,.15)}
.composer .out{flex:1;min-width:0}
.sendb{margin-left:auto;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:#5b6fd6;transition:background .15s}
.sendb.press{background:#e3e7fb}.sendb .i{width:15px;height:15px}
.mcur{position:absolute;width:22px;height:22px;left:80%;top:80%;transition:left .9s cubic-bezier(.5,0,.2,1),top .9s cubic-bezier(.5,0,.2,1),transform .12s;z-index:5;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
.mcur.click{transform:scale(.82)}
.mbtn{position:absolute;right:22px;top:20px;display:inline-flex;gap:6px;align-items:center;font-family:var(--mono);font-size:11px;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid var(--line-2);color:var(--ink-3);transition:all .2s;z-index:4}
.mbtn .i{width:13px;height:13px}.mbtn.on{background:#0e0f12;color:#fff;border-color:#0e0f12}
.sc-ui .composer .caret,.sc-ui .mini-b .caret{opacity:0}.sc-ui .typing .caret{opacity:1}
.p2p{display:flex;align-items:center;gap:14px;height:100%}
.ph-mini{width:148px;flex:none;background:#fff;border-radius:24px;padding:18px 9px 6px;box-shadow:0 0 0 1.5px #3a404b,0 0 0 3.5px #1a1d24,0 20px 50px -24px rgba(9,26,50,.5);font-size:11.5px;min-height:250px;display:flex;flex-direction:column;position:relative}
.phh{display:flex;gap:7px;align-items:center;font-weight:600;font-size:11.5px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.phh img{width:20px;height:20px;border-radius:5px}.phh i{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#22a05a}
.ph-tr{flex:1;padding:10px 2px;color:#2a3350;line-height:1.5;font-size:12px}
.ph-mic{width:48px;height:48px;border-radius:50%;margin:0 auto;background:var(--g7);color:#fff;display:grid;place-items:center;transition:box-shadow .3s}
.ph-mic.on{box-shadow:0 0 0 7px var(--g1),0 0 0 14px var(--g0)}.ph-mic .i{width:20px;height:20px}
.arrowline{width:34px;height:2px;background:repeating-linear-gradient(90deg,#9aa3b5 0 4px,transparent 4px 8px);position:relative;flex:none}
.arrowline span{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--g7);opacity:0}
.arrowline.go span{animation:dotgo .7s linear infinite}
@keyframes dotgo{from{left:0;opacity:1}to{left:28px;opacity:.2}}
.ph-files{flex:1;display:grid;gap:7px;padding:10px 0;align-content:start}
.pf{display:flex;gap:7px;align-items:center;padding:6px;border-radius:9px;border:1px solid var(--line);font-size:11px}
.pf small{display:block;color:var(--ink-3);font-size:10px}
.pf .thumb{width:28px;height:28px}.pf .thumb .i{width:14px;height:14px}
.pf.sel.on{border-color:var(--g5);background:var(--g0)}
.ph-send{text-align:center;background:#0e0f12;color:#fff;border-radius:9px;padding:7px;font-weight:600;transition:transform .12s}
.ph-send.press{transform:scale(.94)}
.recv{padding:12px 14px;display:grid;gap:8px;font-size:12.5px;min-height:150px}
.rrow{display:flex;gap:10px;align-items:center}
.rrow b{font-weight:550;display:block}.rrow small{color:var(--ink-3);font-size:11px}
.rrow .thumb{width:32px;height:32px}
.rrow.done{opacity:.6}
.recv .prog{margin:0}.recv .prog i{animation:none;width:0;transition:width 1.6s ease-in-out}
.aitag{display:flex;gap:7px;align-items:center;margin:0 14px 14px;font-size:12px;color:var(--ink-3);transition:color .3s}
.aitag .i{width:14px;height:14px}.aitag b{font-weight:600}
.aitag.on{color:var(--g7)}
@media (max-width:980px){.split2{grid-template-columns:1fr;gap:36px}.scenes{grid-template-columns:1fr}}
@media (max-width:760px){.thread{padding:18px 16px 80px}.msg p{font-size:14px}.doc{padding:20px 18px 100px}.sc-ui{height:310px;padding:16px}.ph-mini{width:120px}.arrowline{width:18px}.cfpill .ptext{max-width:170px}.sc-ui .cfpill .ptext{max-width:150px}.trust{gap:10px;font-size:12.5px}}
.static .out .w{animation:none}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mode{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.mode-ui{position:relative;height:300px;padding:20px;background:var(--tint);display:flex;flex-direction:column;gap:14px}
.mode-ui .mini-b{min-height:96px;font-size:13.5px}
.ctrl{display:flex;align-items:center;gap:12px;padding-left:4px}
.mouse{width:40px;height:60px}
.mouse rect{transition:fill .15s}
.mode-ui.down .mb-l,.mode-ui.down .mb-s{fill:#0e0f12}
.cl{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:4px 9px;border:1px solid var(--line-2);border-radius:999px;background:#fff;transition:all .2s}
.mode-ui.down .cl,.mode-ui.act .cl{background:#0e0f12;color:#fff;border-color:#0e0f12}
.mode-ui .say{position:static;opacity:0}
.mode-ui .say.on{opacity:1}
.mode-ui .cfpill.live{bottom:16px;height:40px;font-size:12px}
.mode-ui .cfpill img{width:28px;height:28px}.mode-ui .cfpill .ptext{max-width:170px;font-size:12px}
.eot{position:absolute;right:16px;top:14px}
.mode-t{padding:20px 22px 24px;border-top:1px solid var(--line)}
.mode-t .label{display:block;margin-bottom:8px}.mode-t p{color:var(--ink-2);font-size:15px;margin-top:6px}
@media (max-width:980px){.modes{grid-template-columns:1fr}}
.pst{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.1);color:#cfd4dc;white-space:nowrap}
.pst[data-s=Processing]{color:#f3d48a}.pst[data-s=Typed]{color:#8fe0b0}
.preds{display:flex;gap:8px;align-items:center;margin-top:22px;min-height:30px}
.preds .pl{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);opacity:0;transition:opacity .25s}
.pc{font-size:13px;padding:4px 11px;border-radius:999px;background:var(--tint);border:1px solid var(--line);color:#7a8296;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s,background .2s,color .2s}
.preds.on .pc,.preds.on .pl{opacity:1;transform:none}
.pc:empty{display:none}
.pc.hit{background:var(--g1);border-color:var(--g2);color:var(--g9)}
.fstage .fw,.safe .fw{position:absolute;background:#fff;border-radius:12px;box-shadow:0 0 0 1px rgba(13,21,48,.08),0 16px 40px -20px rgba(9,26,50,.45);overflow:hidden;transition:box-shadow .25s,transform .25s}
.fstage .fw .win-bar,.safe .fw .win-bar{height:30px;font-size:11.5px}.fw .win-bar .ctl span{width:30px;height:30px}
.fw .mini-b{min-height:96px;font-size:13px}
.fstage .gm{left:5%;top:9%;width:60%;z-index:1}
.fstage .sl{right:5%;top:30%;width:56%;z-index:2}
.fstage .fw.front{z-index:3;box-shadow:0 0 0 2px #5b6fd6,0 22px 50px -20px rgba(9,26,50,.5)}
.lk{display:none;gap:4px;align-items:center;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#0e0f12;padding:2px 7px;border-radius:999px;margin-left:6px}
.lk .i{width:11px;height:11px}.fw.locked .lk{display:inline-flex}
.note,.hold{position:absolute;left:50%;top:12px;transform:translateX(-50%);font-size:12px;background:#fff;border:1px solid var(--line-2);padding:5px 11px;border-radius:999px;color:var(--ink-2);opacity:0;transition:opacity .25s;white-space:nowrap;z-index:6}
.note.on,.hold.on{opacity:1}
.hold.warn{background:#fff8e8;border-color:#f1d58a;color:#7a4b00}
.safe .desk{position:absolute;left:24px;top:22px;display:grid;gap:14px}
.dicon{display:grid;justify-items:center;gap:4px;font-size:11px;color:#2a3350;width:70px}
.dicon .i{width:30px;height:30px;padding:6px;background:rgba(255,255,255,.8);border-radius:9px}
.safe .notes{left:22%;top:16%;width:40%;z-index:2}
.safe .login{right:4%;top:20%;width:30%;z-index:2}
.safe .fw.front{box-shadow:0 0 0 2px #5b6fd6,0 22px 50px -20px rgba(9,26,50,.5)}
.lg-b{padding:12px;display:grid;gap:9px;font-size:11.5px;color:var(--ink-3)}
.inp{display:block;margin-top:3px;border:1px solid var(--line-2);border-radius:7px;padding:6px 8px;color:var(--ink);font-size:12px}
.inp.focus{border-color:#5b6fd6;box-shadow:0 0 0 3px rgba(91,111,214,.15)}
@media (max-width:760px){.safe .desk{display:none}.safe .notes{left:4%;width:56%}.safe .login{width:36%}.fstage .gm{width:76%}.fstage .sl{width:72%}}
@media (min-width:981px){.scene .thread{padding-right:170px}}
.mode-ui{height:350px}.mode-ui .mini-b{min-height:84px}
.mode-ui .ctrl{position:absolute;left:22px;bottom:70px}
.fstage .note{top:auto;bottom:68px}
.mode-ui .mini{flex:none}
/* === v2.1 additions === */
.logokb{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;max-width:880px;margin:20px auto 0;padding:14px;border-radius:20px;background:linear-gradient(#eef1f6,#e3e7ee);box-shadow:inset 0 1px 0 #fff,0 18px 40px -24px rgba(9,26,50,.35)}
.lk{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 8px;border-radius:12px;background:#fff;box-shadow:0 1px 0 rgba(13,21,48,.08),0 3px 0 #d3d8e1;color:var(--c)}
.lk svg{width:26px;height:26px}.lk small{font-size:10.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (max-width:700px){.logokb{grid-template-columns:repeat(4,1fr)}}
.droid.dk{background:#0d1117;color:#e8ecf3;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 70px -24px rgba(9,26,50,.6)}
.droid.dk .sb{color:#e8ecf3}.droid.dk .hd{border-color:rgba(255,255,255,.08)}
.droid.dk .hd b{white-space:nowrap;font-size:12.5px}.droid.dk .dot-on{margin-left:auto;font-size:10px;color:#4ade80}.droid.dk .dot-on:before{content:"● "}
.droid.dk .bigmic{background:radial-gradient(circle,#2b3442,#161c25);color:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.04)}
.droid.dk .cap{color:#8b95a5}
.droid.dk .draft{background:#161c25;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:9px 10px;margin-top:10px}
.droid.dk .draft small{color:#8b95a5;font-size:10px}.droid.dk .draft p{margin:3px 0 8px;font-size:11.5px;color:#cfd6e2}
.droid.dk .att{display:flex;gap:6px}.droid.dk .att span{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#a9b2c1;background:#1f2631;border-radius:7px;padding:4px 6px}
.droid.dk .att svg,.droid.dk .sendrow svg,.droid.dk .tabs svg{width:11px;height:11px}
.droid.dk .sendrow{display:flex;justify-content:space-between;margin-top:9px}
.droid.dk .lang{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#a9b2c1;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:5px 8px}
.droid.dk .snd{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;background:#e8ecf3;color:#0d1117;border-radius:8px;padding:5px 10px}
.droid.dk .tabs{display:flex;margin-top:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
.droid.dk .tabs span{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9.5px;color:#6b7585}.droid.dk .tabs span.on{color:#fff}
.vkb{background:#f4f6f9;border-radius:16px;padding:12px;margin-top:16px;border:1px solid var(--line)}
.vkb .vt{display:flex;justify-content:space-between;align-items:center}
.vkb .br{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.vkb .br img{width:18px;height:18px;border-radius:5px}
.vkb .vtg{display:flex;background:#e6e9ef;border-radius:8px;padding:2px}.vkb .vtg i{font-style:normal;font-size:10.5px;padding:3px 7px;border-radius:6px;color:var(--ink-3);display:flex;align-items:center}.vkb .vtg i.on{background:#fff;color:var(--ink)}.vkb .vtg svg{width:12px;height:12px}
.vkb .wave{display:flex;align-items:center;justify-content:center;gap:3px;height:36px;margin-top:10px}.vkb .wave b{width:3px;border-radius:2px;background:var(--ink-2);opacity:.7}
.vkb .tts{text-align:center;font-size:11px;color:var(--ink-3);margin:4px 0 10px}
.vkb .vrow{display:flex;justify-content:space-between;align-items:center}.vkb .vrow span{width:36px;height:36px;border-radius:10px;background:#fff;display:grid;place-items:center;box-shadow:0 1px 0 #d3d8e1}.vkb .vrow svg{width:16px;height:16px}
.vkb .vrow .micp{width:84px;border-radius:999px;background:#0d1117;color:#fff}.vkb .vrow .sd{background:var(--ink);color:#fff}
.vkb .vfoot{display:flex;justify-content:space-between;margin-top:10px;color:var(--ink-3)}.vkb .vfoot svg{width:14px;height:14px}
.evx{display:flex;flex-direction:column;gap:10px}
.ev-say,.ev-ed{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:var(--sh)}
.ev-say small,.ev-ed small{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}.ev-say small svg{width:13px;height:13px}
.ev-say .raw{margin:8px 0 10px;color:var(--ink-3);font-style:italic;font-size:15px}
.kw{display:flex;gap:6px;flex-wrap:wrap}.kw span{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--tint-2);color:var(--ink);font-weight:550}
.ev-arrow{display:grid;place-items:center;color:var(--ink-3)}.ev-arrow svg{width:18px;height:18px}
.ev-ed .eh{display:flex;justify-content:space-between;align-items:center}
.ready{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:#15803d;background:#dcfce7;border-radius:999px;padding:4px 10px;opacity:0;transition:opacity .4s}.ready svg{width:12px;height:12px}.ready.on{opacity:1}
.ev-ed .tb{display:flex;gap:4px;margin:12px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.ev-ed .tb>*{width:28px;height:26px;display:grid;place-items:center;border-radius:6px;font-size:13px;color:var(--ink-2);background:var(--tint)}.ev-ed .tb svg{width:13px;height:13px}
.ev-ed .out{min-height:48px;font-size:15.5px;color:var(--ink)}
.ev-ed .ef{display:flex;justify-content:flex-end}.ev-ed .snd{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center}.ev-ed .snd svg{width:15px;height:15px}
.dash{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--sh);max-width:960px;margin:0 auto}
.dash .dh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.dash .dh small{color:var(--ink-3);font-size:12px}.dash h3{font-size:22px;margin-top:2px}
.trial{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--tint-2);border-radius:999px;padding:6px 12px}.trial svg{width:13px;height:13px}
.kp{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.kp div{background:var(--tint);border-radius:14px;padding:14px}.kp small{font-size:11.5px;color:var(--ink-3)}.kp b{display:block;font-size:24px;letter-spacing:-.02em;margin-top:4px}.kp em{font-style:normal;font-size:12px;color:var(--ink-3)}
.dg{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:12px}.dash .dpanel{background:var(--tint);border-radius:14px;padding:14px}.dash .dpanel>small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);margin-bottom:10px}.dash .dpanel>small svg{width:13px;height:13px;color:#f97316}
.dbar{display:grid;grid-template-columns:90px 1fr 36px;align-items:center;gap:8px;font-size:12.5px;margin-top:6px}.dbar i{height:8px;border-radius:4px;background:var(--ink-2)}.dbar em{font-style:normal;color:var(--ink-3);font-size:11.5px}
.dhm{display:grid;grid-template-columns:repeat(7,22px);gap:5px}.dhm i{aspect-ratio:1;border-radius:4px;background:#e3e7ee}.dhm .l1{background:#c7d0dc}.dhm .l2{background:#94a3b8}.dhm .l3{background:#475569}.dhm .l4{background:#0f172a}
@media (max-width:700px){.kp{grid-template-columns:1fr 1fr}.dg{grid-template-columns:1fr}}
.adv{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:var(--sh)}
.adv .ah{display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.adv .ah svg{width:16px;height:16px}
.adv .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.adv .row b{display:block;font-size:14px}.adv .row small{font-size:12px;color:var(--ink-3)}
.dd{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;border:1px solid var(--line);border-radius:9px;padding:6px 10px;white-space:nowrap}.dd svg{width:13px;height:13px}
.tgl{width:38px;height:22px;border-radius:999px;background:#cbd5e1;position:relative;flex:none}.tgl i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff}.tgl.on{background:var(--ink)}.tgl.on i{left:18px}
.ml{padding-top:12px}.ml>small{font-size:11.5px;color:var(--ink-3)}.ml .m{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;margin-top:8px}.ml .m.sel{border-color:var(--ink)}
.ml .m span{display:grid;grid-template-columns:18px 1fr;column-gap:8px}.ml .m svg{width:16px;height:16px;grid-row:span 2;align-self:center}.ml .m b{font-size:13px}.ml .m small{font-size:11.5px;color:var(--ink-3)}.ml .m em{font-style:normal;font-size:11.5px;color:var(--ink-3)}
.evg{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.eyb{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;border:1px solid var(--ink-2);border-radius:6px;padding:4px 8px;color:var(--ink-2)}
.every .btn svg{width:15px;height:15px;flex:none;display:block}
.also{margin-top:12px;font-size:13px;color:var(--ink-3)}.also a{text-decoration:underline}
.evpanel{position:relative;height:520px;border-radius:24px;background:linear-gradient(135deg,#efeefe,#e4e6fb 60%,#eef0fb);overflow:hidden}
.evpc{position:absolute;left:22px;top:60px;width:270px;background:#fff;border-radius:12px;box-shadow:0 20px 50px -20px rgba(30,30,80,.35);overflow:hidden;font-size:12.5px}
.evpc .wb{display:flex;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid var(--line)}.evpc .lg svg{width:14px;height:14px;display:block}.evpc .dots{margin-left:auto;color:var(--ink-3);font-size:11px}
.evpc .pcb{padding:14px}.evpc .pm{display:flex;gap:8px}.evpc .av{width:24px;height:24px;border-radius:6px;background:var(--tint-2);display:grid;place-items:center;font-size:10px;font-weight:600;flex:none}.evpc .pm p{margin:2px 0 0}
.evpc .pin{margin-top:14px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;min-height:54px}
.evpc.got .pin{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.every .phone{position:absolute;right:34px;top:28px;width:228px;height:auto;min-height:460px;border-radius:32px;background:#0d1117;color:#e8ecf3;padding:20px 11px 8px;box-shadow:0 0 0 1.5px #3a404b,0 0 0 4px #1a1d24,0 30px 60px -20px rgba(20,20,60,.5);font-size:12px;display:flex;flex-direction:column}
.every .notch{display:none}
.every .phone .sb{display:flex;justify-content:space-between;font-size:11px;padding:0 8px 8px}
.every .phone .hd{display:flex;align-items:center;gap:8px;padding:4px 2px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.every .phone .hd img{width:24px;height:24px;border-radius:7px}.every .phone .hd b{font-size:12.5px;white-space:nowrap}
.every .dot-on{margin-left:auto;font-size:10px;color:#4ade80}.every .dot-on:before{content:"● "}
.every .bigmic{width:84px;height:84px;border-radius:50%;margin:22px auto 8px;display:grid;place-items:center;background:radial-gradient(circle,#2b3442,#161c25);box-shadow:0 0 0 8px rgba(255,255,255,.04);transition:box-shadow .3s,background .3s}.every .bigmic svg{width:28px;height:28px}
.every .bigmic.on{background:radial-gradient(circle,#4f46e5,#312e81);box-shadow:0 0 0 10px rgba(99,102,241,.25),0 0 0 22px rgba(99,102,241,.1)}
.every .cap{text-align:center;color:#8b95a5;font-size:11.5px}
.every .draft{background:#161c25;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px;margin-top:16px;min-height:96px}.every .draft small{color:#8b95a5;font-size:10px}.every .dr{margin:4px 0 0;font-size:12px;color:#e8ecf3}
.every .sendrow{display:flex;justify-content:space-between;margin-top:10px}.every .sendrow svg{width:11px;height:11px}
.every .lang{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#a9b2c1;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:5px 8px}
.every .snd{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;background:#e8ecf3;color:#0d1117;border-radius:8px;padding:5px 10px;transition:transform .2s}.every .snd.tap{transform:scale(.9);background:#a5b4fc}
.every .sentn{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:14px;font-size:11px;color:#4ade80;opacity:0;transition:opacity .3s}.every .sentn svg{width:12px;height:12px}.every .sentn.on{opacity:1}
@media (max-width:980px){.evg{grid-template-columns:1fr;gap:32px}.evpanel{height:620px;padding-bottom:12px}.evpc{left:14px;right:14px;width:auto;top:auto;bottom:16px}.every .phone{right:50%;transform:translateX(50%) scale(.82);transform-origin:top center;top:12px;height:auto;min-height:0;max-height:none;overflow:visible;width:220px}}

.evw{position:relative;padding-bottom:78px}.evw .cfpill.live{bottom:0}
.evmail{padding:16px 20px 22px}.evmail .to{font-size:12.5px;color:var(--ink-3);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:12px}.evmail .to span{margin-right:8px}
.evmail .out{font-size:15px;line-height:1.6;min-height:96px;color:var(--ink)}
.out .del{text-decoration:line-through;color:#b0b7c6;transition:opacity .5s}.out .del.x{opacity:0}
.out .ins{background:#e0e7ff;color:#3730a3;border-radius:4px;transition:background 1.4s,color 1.4s}.out .ins.done{background:transparent;color:inherit}

/* nav balance fix */
.nav-in{box-sizing:border-box;width:calc(100% - 32px);padding:0 9px;gap:16px}
.nav-in .logo{padding-left:2px}.nav-in .logo img{width:40px;height:40px;border-radius:10px;image-rendering:auto}
.nav-in>nav{flex:1;display:flex;justify-content:center}.nav ul{margin:0}
.nav-in .btn-sm{flex:none;--h:40px;margin:0}
@media (max-width:1100px) and (min-width:981px){.nav ul a{padding:8px 10px;font-size:14px}}
@media (max-width:980px){.nav-in{width:100%;padding:0 7px 0 9px}.nav-in>nav{flex:0}.nav-in .logo{margin-right:auto}}

.fphoto{width:132px;height:132px;border-radius:50%;object-fit:cover;border:1px solid var(--line);box-shadow:0 10px 30px -14px rgba(9,26,50,.4);background:#f4f6fa}
/* interactivity */
.tg,.tgl{cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1)}.tgl i{transition:left .25s cubic-bezier(.4,0,.2,1),transform .15s}.tg::after{transition:left .25s cubic-bezier(.4,0,.2,1)}
.tg:active::after,.tgl:active i{transform:scaleX(1.15)}
.swl{font-style:normal;font-size:11px;color:var(--ink-3);width:24px;text-align:right;margin-left:auto;margin-right:8px;flex:none}.set .r .swl+.tg{margin-left:0}
.set .r,.adv .row{cursor:pointer}
:is(.tg,.tgl,.dd,.vkb [role=button],.ddm li,.vx,.vadd input,.vadd button):focus-visible{outline:2px solid #6366f1;outline-offset:2px}
.ddw{position:relative;display:inline-block}.dd{cursor:pointer;background:#fff;transition:border-color .15s}.dd:hover{border-color:var(--ink-3)}
.ddm{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:210px;list-style:none;margin:0;padding:5px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -16px rgba(9,26,50,.35);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .16s,transform .16s}
.ddw.open .ddm{opacity:1;transform:none;pointer-events:auto}
.ddm li{font-size:13px;padding:8px 10px;border-radius:8px;cursor:pointer}.ddm li:hover,.ddm li:focus{background:var(--tint)}.ddm li.sel{font-weight:600}.ddm li.sel:after{content:" ✓"}
.chips .vw{transition:opacity .2s,transform .2s}.chips .vw.in{animation:vin .3s cubic-bezier(.2,.8,.3,1.2)}.chips .vw.out{opacity:0;transform:scale(.8)}
@keyframes vin{from{opacity:0;transform:scale(.7)}}
.vx{border:0;background:none;padding:0 0 0 2px;font-size:14px;line-height:1;color:var(--ink-3);cursor:pointer}.vx:hover{color:#b42318}
.vadd{display:inline-flex;gap:4px}.vadd input{width:128px;font:inherit;font-size:13px;padding:5px 9px;border:1px dashed var(--line-2,#cbd2dc);border-radius:9px;background:#fff}
.vadd button{font:inherit;font-size:12.5px;font-weight:600;padding:0 11px;border:0;border-radius:9px;background:var(--ink);color:#fff;cursor:pointer}.vadd button:active{transform:scale(.95)}
.vkb .vdraft{min-height:20px;height:40px;overflow:hidden;margin:6px 2px 0;font-size:12.5px;color:var(--ink);transition:opacity .35s,transform .35s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vkb .vdraft.fly{opacity:0;transform:translateY(-14px)}
.vkb [role=button]{cursor:pointer;transition:transform .12s,background .15s}.vkb .pr{animation:kpr .22s}
@keyframes kpr{40%{transform:scale(.88)}}
.vkb .vtg i{cursor:pointer}
.vkb.rec .wave b{animation:vw .7s ease-in-out infinite alternate;opacity:1}.vkb.rec .wave b:nth-child(3n){animation-delay:.15s}.vkb.rec .wave b:nth-child(3n+1){animation-delay:.3s}
@keyframes vw{from{transform:scaleY(.35)}to{transform:scaleY(1.15)}}
.vkb.rec .micp{background:#4f46e5;box-shadow:0 0 0 6px rgba(79,70,229,.18)}
.vkb.editing .vrow span:nth-child(2){background:var(--ink);color:#fff}

/* ===== v24: docs, help, blog typography (Inter; bold heads, small muted body) ===== */
.doc{max-width:760px;margin:0 auto;padding:150px 28px 110px}
.doc.wide{max-width:1080px}
.doc .label{display:block;margin-bottom:14px}
.doc h1{font-size:clamp(32px,4.2vw,46px);letter-spacing:-.035em;line-height:1.08;font-weight:650}
.doc .lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ink-2);margin-top:16px;max-width:640px}
.dmeta{font-size:13px;color:var(--ink-3);margin-top:14px}.dmeta a{color:var(--ink-2)}
.bc ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 26px;padding:0;font-size:13px;color:var(--ink-3)}
.bc li+li:before{content:"/";margin-right:6px;color:var(--line-2)}.bc a{color:var(--ink-3);text-decoration:none}.bc a:hover{color:var(--ink)}
.prose{margin-top:34px;border-top:1px solid var(--line);padding-top:6px}
.prose h2,.dfaq h2,.drel h2{font-size:21px;font-weight:650;letter-spacing:-.02em;line-height:1.3;margin:38px 0 10px;color:var(--ink)}
.prose h3,.dfaq h3{font-size:16.5px;font-weight:600;letter-spacing:-.01em;line-height:1.4;margin:24px 0 6px}
.prose p,.prose li,.dfaq p{font-size:var(--fs-body);line-height:1.75;color:var(--ink-2)}
.prose p+p{margin-top:12px}.prose ul,.prose ol{padding-left:20px;margin:10px 0;display:grid;gap:7px}
.prose b{color:var(--ink);font-weight:600}.prose a,.dfaq a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--line-2)}
.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:var(--fs-small);display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.prose th{font-weight:600;color:var(--ink);background:var(--tint);font-size:13px}
.tldr{margin-top:28px;border:1px solid var(--line);background:var(--tint);border-radius:14px;padding:16px 20px}
.tldr b{font-size:13px;letter-spacing:.02em}.tldr ul{margin:8px 0 0;padding-left:18px;display:grid;gap:5px}.tldr li{font-size:15px;color:var(--ink-2);line-height:1.6}
.toc{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-small);margin:22px 0 6px;padding:14px 16px;border:1px solid var(--line);border-radius:14px}
.toc b{width:100%;font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:500}.toc a{color:var(--ink-2);text-decoration:none}.toc a:hover{color:var(--ink)}
.dfaq{margin-top:46px;border-top:1px solid var(--line)}
.drel{margin-top:40px}.drel ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.drel a{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);font-size:15px}.drel a:hover{border-color:var(--line-2);background:var(--tint)}.drel .i{width:16px;height:16px;color:var(--ink-3)}
.dcta{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:20px 22px;border-radius:16px;background:var(--ink);color:#fff}
.dcta span{color:#aab1c2;font-size:14px;flex:1}.dcta .btn{background:#fff;color:var(--ink)}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 8px}
.ccard{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink)}.ccard:hover{background:var(--tint)}
.ccard .i{width:20px;height:20px;color:var(--ink-2);margin-bottom:6px}.ccard b{font-size:15.5px}.ccard span{font-size:14px;color:var(--ink-2);line-height:1.55}
.rel{padding:6px 0 18px;border-bottom:1px solid var(--line)}.rel-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.rel-h h2{margin-top:30px}
.rel .tag{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:999px;background:var(--ink);color:#fff}.rel-d{font-size:13px;color:var(--ink-3)}
.rel ul{list-style:none;padding:0}.rel li{display:grid;grid-template-columns:86px 1fr;gap:10px}
.k{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;padding:3px 0;color:var(--ink-3)}.k-new{color:#1f7a4d}.k-improved{color:#2b5fb8}
.bgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px}
.bcard{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.bcard:hover{border-color:var(--line-2);box-shadow:var(--sh)}.bcard h2{font-size:20px;font-weight:650;letter-spacing:-.02em;line-height:1.3}.bcard p{font-size:15px;color:var(--ink-2);line-height:1.6;flex:1}
.bcard .more{font-size:14px;display:flex;gap:6px;align-items:center}.bcard .more .i{width:15px;height:15px}
.sysreq{margin-top:56px}.sysreq h2{font-size:30px;letter-spacing:-.03em}
.reqg{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.reqg>div{border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.reqg h3{font-size:17px;display:flex;gap:8px;align-items:center}.reqg h3 .i{width:16px;height:16px}
.reqg dl{display:grid;grid-template-columns:130px 1fr;gap:10px 14px;margin:16px 0 0;font-size:14px}.reqg dt{color:var(--ink-3)}.reqg dd{margin:0;color:var(--ink-2)}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}.reqg,.bgrid,.cards2{grid-template-columns:1fr}.doc{padding-top:120px}.rel li{grid-template-columns:1fr;gap:2px}.reqg dl{grid-template-columns:1fr}}
/* v25 docs layout */
.docs{max-width:1180px;margin:0 auto;padding:130px 28px 100px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px}
.dside{position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;font-size:14px;padding-right:8px}
.dside-h{display:block;font-weight:650;color:var(--ink);text-decoration:none;font-size:15px;margin-bottom:18px}
.dgrp{display:grid;gap:2px;margin-bottom:20px}.dgrp b{font-family:var(--mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);margin-bottom:6px}
.dgrp a{color:var(--ink-2);text-decoration:none;padding:5px 10px;border-radius:8px;border-left:2px solid transparent}.dgrp a:hover{color:var(--ink);background:var(--tint)}
.dgrp a[aria-current=page]{color:var(--ink);font-weight:600;background:var(--tint-2)}
.dmain{max-width:740px}.dmain .label{display:block;margin-bottom:12px}.dmain h1{font-size:clamp(30px,3.6vw,40px);letter-spacing:-.035em;line-height:1.1;font-weight:650}
.dmain .lead{font-size:17px;color:var(--ink-2);margin-top:12px;line-height:1.6}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:48px}.pn a{border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px}
.pn a:hover{border-color:var(--line-2);background:var(--tint)}.pn small{display:block;font-weight:400;font-size:12.5px;color:var(--ink-3);margin-bottom:2px}.pn .nx{text-align:right}
.dhelp{font-size:13px;color:var(--ink-3);margin-top:28px}.dhelp a{color:var(--ink-2)}
.cards2.c3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.docs{grid-template-columns:1fr;gap:24px;padding-top:110px}.dside{position:static;max-height:none;border:1px solid var(--line);border-radius:14px;padding:16px}.cards2.c3{grid-template-columns:1fr}}
/* v27 mobile fit */
@media (max-width:700px){.logokb{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}.lk{min-width:0}
 .dlc{min-width:0;padding:24px 20px}.fw .win-bar,.mini .win-bar{overflow:hidden;min-width:0}.fw .win-bar .ctl span,.mini .win-bar .ctl span{width:24px}
 .win-bar .ctl span{width:34px}h1{overflow-wrap:break-word}pre,table{max-width:100%}pre{overflow-x:auto}}
@media (max-width:380px){.logokb{gap:6px;padding:8px}.lk{padding:10px 2px 6px}.lk svg{width:22px;height:22px}.lk small{font-size:10.5px}
 .nav-in{gap:10px}.nav-in .theme-btn{margin-right:-4px}.dlc{padding:20px 16px}.win-bar .ctl span{width:28px}}
@media (max-width:760px){.safe .login .win-bar .ctl,.p2p .mini .win-bar .ctl{display:none}.vx{min-width:24px;min-height:24px;padding:0 4px;margin:-5px -4px -5px 0}}
@media (max-width:380px){.p2p{gap:6px}.ph-mini{width:104px;padding:10px}.arrowline{width:12px}.p2p .mini{flex:1;min-width:0}.recv{padding:10px 8px;font-size:11.5px}.rrow{gap:6px;min-width:0}.rrow>*{min-width:0}.rrow .thumb{width:24px;height:24px;flex:none}.rrow b,.rrow small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recv small.rs{display:block;white-space:normal;overflow-wrap:anywhere;font-size:10px}}
@media (max-width:520px){.prose table{font-size:12.5px;line-height:1.4}.prose th,.prose td{padding:8px 6px;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}.prose th{font-size:11.5px}.prose td:first-child,.prose th:first-child{padding-left:0}}
/* v28 homepage */
section.tight{padding-top:0}
.bstrip{padding:8px 0 0}.bstrip .bl{font-size:14.5px;gap:10px 26px;color:var(--ink-2)}
.priv.uc{grid-template-columns:repeat(4,1fr)}
.who{text-align:center;color:var(--ink-2);font-size:15px;margin:28px auto 0;max-width:640px}
.fine2{font-size:13px;color:var(--ink-3);margin-top:14px}
.tr2{margin-top:26px;color:var(--ink-2)}
.cmp{max-width:820px;margin:0 auto}.cmp table{display:table}.cmp th,.cmp td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.cmp tbody th{font-weight:600}
@media (max-width:900px){.priv.uc{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.priv.uc{grid-template-columns:1fr}.cmp table{font-size:13px}.cmp th,.cmp td{padding:9px 5px}}
.oses a{display:inline-flex;gap:7px;align-items:center}
.bstrip{padding:6px 0 0}

.dkphone{max-width:292px;margin:0 auto;padding:20px 12px 8px;border-radius:32px;background:#fff;box-shadow:0 0 0 1.5px #3a404b,0 0 0 4px #1a1d24,0 30px 60px -20px rgba(20,20,60,.45);position:relative}
.dkchat{padding:6px 6px 0;font-size:13px}.dkh{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}.dkh .lg svg{width:20px;height:20px}
.dkchat p{margin:10px 0 0;padding:8px 11px;border-radius:12px;max-width:80%;line-height:1.4}.dkchat .in{background:#f1f3f6}.dkchat .me{margin-left:auto;background:#dcf8c6;color:#0b2a12}
#android-keyboard .logokb .lk svg{color:var(--c)}
@media (max-width:820px){.hero,.endcta{background-image:url(hero-sky-800.webp)}}
.prose figure,.prose figure.figwrap{margin:28px 0}.prose figure svg{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:16px;background:var(--tint);overflow:visible}.prose figure.figwrap{overflow:visible}
.prose figcaption{font-size:13px;color:var(--ink-3);margin-top:8px;line-height:1.5}
.fig .ln{stroke:var(--ink-3);fill:none;stroke-width:1.5}.fig .ink{fill:var(--ink)}.fig .mut{fill:var(--ink-3)}.fig .card{fill:var(--bg,#fff);stroke:var(--line-2)}.fig .acc{fill:#2f7cf6}.fig .accl{stroke:#2f7cf6;fill:none;stroke-width:2}.fig text{font-family:Inter,system-ui,sans-serif;font-size:15px}.fig .sm{font-size:13px}.fig .b{font-weight:650}
.prose blockquote{margin:20px 0;padding:4px 0 4px 18px;border-left:3px solid var(--ink);font-size:17px;line-height:1.6;color:var(--ink)}
.prose blockquote cite{display:block;font-size:13px;font-style:normal;color:var(--ink-3);margin-top:6px}
.bio{display:flex;gap:14px;align-items:flex-start;margin-top:40px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--tint)}.bio img{border-radius:50%;flex:none;object-fit:cover}.bio b{display:block;font-size:15px}.bio span{font-size:14px;line-height:1.6;color:var(--ink-2)}
.prose .src{font-size:13px;color:var(--ink-3)}.prose .src li{font-size:13px;line-height:1.5}
@media (max-width:640px){.prose figure{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.prose figure svg{min-width:min(100%,640px);max-width:none}}

/* Android phone chrome (punch-hole, status bar, gesture bar) */
.aphone{position:relative}
.ph-hole{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:#0a0a0a;box-shadow:inset 0 0 0 1.5px #22262e,0 0 0 1px #3a404b;z-index:4;pointer-events:none}
.asb{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:650;letter-spacing:.02em;padding:2px 8px 10px;color:inherit;opacity:.92}
.asb.light{color:var(--ink)}
.asb-r{display:inline-flex;align-items:center;gap:5px;color:inherit}
.asb-r svg{display:block;flex:none}
.ph-nav{display:block;width:72px;height:4px;border-radius:4px;background:rgba(255,255,255,.38);margin:10px auto 2px;flex:none}
.ph-nav.dark{background:rgba(13,17,23,.35)}
.droid.dk{padding-top:18px}
.droid .asb,.phone .asb,.ph-mini .asb,.dkphone .asb{margin:0}
.droid .sb{display:none}
.phone .sb{display:none}
.ph-mini .phh{margin-top:2px}
.ph-mini .ph-nav{margin-top:auto}
.dkphone .dkchat{margin-top:2px}
.dkphone .ph-nav{margin-top:8px}
@media (max-width:760px){.ph-mini{width:124px;padding:14px 8px 6px}.ph-mini .ph-hole{width:7px;height:7px;top:5px}}
@media (max-width:380px){.ph-mini{width:108px}}
/* cfx: premium animated sections */
.cfx-mqs{margin-top:22px;display:grid;gap:12px}
.cfx-mq{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);padding:4px 0}
.cfx-tr{display:flex;gap:12px;width:max-content;animation:cfxsl 60s linear infinite;will-change:transform}.cfx-tr.cfx-r{animation-direction:reverse;animation-duration:68s}
.cfx-dup{display:contents}.cfx-mq:hover .cfx-tr{animation-play-state:paused}
@keyframes cfxsl{to{transform:translateX(calc(-50% - 6px))}}
.cfx-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px 9px 11px;font-weight:600;font-size:14.5px;display:inline-flex;gap:10px;align-items:center;white-space:nowrap;box-shadow:var(--sh);color:var(--ink)}
.cfx-chip svg{width:20px;height:20px;display:block}
.cfx-mas{columns:3;column-gap:18px;margin-top:36px}
.cfx-card{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:18px;overflow:hidden;box-shadow:var(--sh)}
.cfx-ch{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}.cfx-ch svg{width:16px;height:16px;display:block}.cfx-ch .t{color:var(--ink-3);font-weight:500;margin-left:auto}
.cfx-cb{padding:16px;font-size:14.5px;line-height:1.55;min-height:90px}.cfx-meta{color:var(--ink-3);font-size:12px;margin-bottom:8px}
.cfx-ty .w{opacity:.08;transition:opacity .3s cubic-bezier(.2,.8,.3,1)}.cfx-ty .w.s{opacity:1}
.cfx-pill{display:inline-flex;align-items:center;gap:8px;background:var(--graphite);color:#fff;border-radius:999px;padding:7px 14px 7px 10px;font-size:12px;font-weight:600;margin:0 16px 16px}
.cfx-bars{display:inline-flex;gap:2px;align-items:center;height:14px}.cfx-bars i{width:3px;height:4px;background:currentColor;border-radius:2px;animation:cfxbar 1s cubic-bezier(.2,.8,.3,1) infinite}
.cfx-bars i:nth-child(2){animation-delay:.15s}.cfx-bars i:nth-child(3){animation-delay:.3s}.cfx-bars i:nth-child(4){animation-delay:.45s}@keyframes cfxbar{0%,100%{height:4px}50%{height:14px}}
.cfx-code{font-family:var(--mono);font-size:12.5px;background:#0f1117;color:#c9d1d9}.cfx-code .k{color:#ff7b72}.cfx-code .cm{color:#8b949e}
.cfx-bub{background:#dcf8c6;border-radius:12px 12px 2px 12px;padding:10px 12px;margin-left:24px}
.cfx-fill .f{transition:opacity .8s cubic-bezier(.2,.8,.3,1),max-width .8s cubic-bezier(.2,.8,.3,1);display:inline-block;max-width:90px;overflow:hidden;vertical-align:bottom;white-space:pre;color:var(--ink-3)}
.cfx-fill.go .f{opacity:0;max-width:0}
.cfx-tone{position:relative;height:420px;margin-top:30px}.cfx-ln{position:absolute;inset:0;width:100%;height:100%}
.cfx-ln path{fill:none;stroke:var(--silver);stroke-width:1.5;stroke-dasharray:6 6;animation:cfxdash 1.2s linear infinite;vector-effect:non-scaling-stroke}@keyframes cfxdash{to{stroke-dashoffset:-12}}
.cfx-vp{position:absolute;left:0;top:50%;transform:translateY(-50%);max-width:33%;background:var(--graphite);color:#fff;border-radius:999px;padding:14px 22px;display:flex;gap:10px;align-items:center;font-weight:600;font-size:15px;box-shadow:var(--sh-lg)}
.cfx-out{position:absolute;right:0;width:46%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;font-size:14.5px;box-shadow:var(--sh)}
.cfx-out b{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}
.cfx-out.o1{top:20px}.cfx-out.o2{top:50%;transform:translateY(-50%)}.cfx-out.o3{bottom:20px}
.cfx-tabs{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px;width:max-content;margin:24px auto}
.cfx-tabs button{border:0;background:none;padding:10px 20px;border-radius:999px;font-weight:600;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);transition:background .3s cubic-bezier(.2,.8,.3,1),color .3s}.cfx-tabs .on{background:var(--graphite);color:#fff}
.cfx-br{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center}
.cfx-st{padding:0;margin:0}.cfx-st li{list-style:none;padding:14px 16px;border-radius:14px;margin-bottom:6px;border:1px solid transparent;opacity:.45;transition:all .45s cubic-bezier(.2,.8,.3,1);display:flex;gap:12px}
.cfx-st li.on{opacity:1;background:#fff;border-color:var(--line);box-shadow:var(--sh)}.cfx-st .n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--g1);color:var(--g7);display:grid;place-items:center;font-size:12px;font-weight:700}
.cfx-st b{display:block;font-size:15px}.cfx-st span:not(.n){color:var(--ink-3);font-size:13px;line-height:1.4}
.cfx-scene{position:relative;height:460px;border-radius:28px;background:radial-gradient(circle at 50% 40%,#fff,var(--tint-2));border:1px solid var(--line);overflow:hidden}
.cfx-dev{position:absolute;top:50%}.cfx-dev.L{left:5%}.cfx-dev.R{right:5%}
.cfx-phone{width:170px;height:340px;transform:translateY(-50%);background:#111;border-radius:34px;padding:9px;box-shadow:0 30px 60px -30px #000c}
.cfx-phone .sc{width:100%;height:100%;border-radius:26px;background:linear-gradient(#f4f6ff,#fff);position:relative;overflow:hidden}
.cfx-phone .sc:before{content:"";position:absolute;top:8px;left:50%;width:56px;height:16px;background:#111;border-radius:10px;transform:translateX(-50%)}
.cfx-phone .gal{position:absolute;top:40px;left:10px;right:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.cfx-phone .gal i{aspect-ratio:1;border-radius:5px;background:#dfe3ee}
.cfx-phone .gal i:nth-child(1){background:linear-gradient(135deg,#ffb36b,#ff5f8a)}.cfx-phone .gal i:nth-child(5){background:linear-gradient(135deg,#7dd3fc,#2f5bff)}.cfx-phone .gal i:nth-child(8){background:linear-gradient(135deg,#86efac,#16a34a)}
.cfx-lap{width:380px;transform:translateY(-55%)}.cfx-lap .lid{background:#1a1a1a;border-radius:14px 14px 4px 4px;padding:10px;height:240px}
.cfx-lap .sc{background:#f7f7f9;border-radius:6px;height:100%;position:relative;overflow:hidden}.cfx-lap .base{height:14px;background:linear-gradient(#d4d4d8,#a1a1aa);border-radius:0 0 14px 14px;margin:0 -24px;position:relative}
.cfx-lap .base:after{content:"";position:absolute;top:0;left:50%;width:70px;height:5px;background:#8b8b92;border-radius:0 0 6px 6px;transform:translateX(-50%)}
.cfx-lap .win{position:absolute;inset:0}.cfx-lap .tb{height:22px;background:#ececf0;display:flex;gap:5px;align-items:center;padding:0 8px}.cfx-lap .tb i{width:8px;height:8px;border-radius:50%;background:#d4d4d8}
.cfx-lap .fl{padding:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cfx-lap .fl i{height:40px;border-radius:6px;background:#e4e4e9}
.cfx-curve{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cfx-curve path{fill:none;stroke:var(--g5);stroke-width:2;stroke-dasharray:4 8;opacity:0;transition:opacity .4s}
.cfx-curve.on path{opacity:.6;animation:cfxdash .8s linear infinite}
.cfx-fc{position:absolute;left:0;top:0;width:150px;background:#fff;border-radius:14px;padding:8px;display:flex;gap:8px;align-items:center;box-shadow:0 20px 40px -16px #0005;opacity:0;offset-rotate:0deg;offset-distance:0%;transition:offset-distance 1.6s cubic-bezier(.2,.8,.3,1),opacity .4s;z-index:5}
.cfx-fc .th{width:38px;height:38px;border-radius:8px;flex:none;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700}.cfx-fc small{display:block;color:var(--ink-3);font-size:11px}.cfx-fc b{font-size:12px}
.cfx-fc .ring{width:22px;height:22px;margin-left:auto;flex:none}.cfx-fc circle{fill:none;stroke-width:3}.cfx-fc .bg{stroke:#e5e7eb}.cfx-fc .fg{stroke:var(--g5);stroke-dasharray:57;stroke-dashoffset:57;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.6s linear}
.cfx-fc.go .fg{stroke-dashoffset:0}.cfx-fc .lockb{position:absolute;top:-10px;left:-10px;width:24px;height:24px;border-radius:50%;background:var(--graphite);color:#fff;display:grid;place-items:center;font-size:11px}
.cfx-enc{position:absolute;top:22px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;white-space:nowrap;z-index:6}
.cfx-enc .d{width:8px;height:8px;border-radius:50%;background:var(--g5);box-shadow:0 0 0 4px var(--g2)}
.cfx-toast{position:absolute;left:8px;right:8px;top:30px;background:#fff;border-radius:12px;padding:8px 10px;box-shadow:0 12px 30px -10px #0004;font-size:11px;display:flex;gap:8px;align-items:center;transform:translateY(-140%);opacity:0;transition:all .5s cubic-bezier(.2,.8,.3,1);z-index:3;line-height:1.3}
.cfx-lap .cfx-toast{left:auto;right:10px;top:auto;bottom:10px;width:200px;transform:translateX(120%)}
.cfx-toast.on{transform:none!important;opacity:1}.cfx-toast .ck{flex:none;width:22px;height:22px;border-radius:50%;background:var(--g5);color:#fff;display:grid;place-items:center;font-size:12px}.cfx-toast small{display:block;color:var(--ink-3)}
@media (max-width:980px){.cfx-mas{columns:2}.cfx-br{grid-template-columns:1fr}.cfx-st{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cfx-st li{margin:0}}
@media (max-width:700px){.cfx-mas{columns:1}.cfx-chip{font-size:13px;padding:7px 14px 7px 9px}.cfx-chip svg{width:17px;height:17px}
.cfx-tone{height:auto;display:grid;gap:12px}.cfx-ln{display:none}.cfx-vp,.cfx-out{position:static;transform:none!important;max-width:none;width:auto}.cfx-vp{border-radius:18px}
.cfx-scene{height:380px}.cfx-phone{width:118px;height:236px;border-radius:26px;padding:6px}.cfx-phone .sc{border-radius:20px}.cfx-lap{width:190px}.cfx-lap .lid{height:130px;padding:6px}.cfx-lap .fl i{height:20px}.cfx-dev.L{left:4%}.cfx-dev.R{right:4%}
.cfx-fc{width:128px;padding:6px}.cfx-fc .th{width:30px;height:30px}.cfx-enc{font-size:11px;padding:6px 10px}.cfx-lap .cfx-toast{width:160px;right:6px;bottom:6px}.cfx-st{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cfx-tr{animation:none!important;flex-wrap:wrap;width:auto;justify-content:center}.cfx-dup{display:none}.cfx-mq{-webkit-mask:none;mask:none}.cfx-ty .w{opacity:1}}
/* cfx2 */
.cfx-ed{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch;max-width:980px;margin:40px auto 0}
.cfx-ed-live,.cfx-ed-out{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh)}
.cfx-ed-top{display:flex;align-items:center;gap:8px;font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.cfx-ed-s{font-size:21px;line-height:1.5;color:var(--ink);margin:0}
.cfx-ed-s .w{display:inline-block;margin-right:.26em;opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s,max-width .5s .2s,margin .5s .2s;max-width:12em;white-space:nowrap;vertical-align:bottom;overflow:hidden}
.cfx-ed-s .w.in{opacity:1;transform:none}
.cfx-ed-s .w.x{opacity:.18;filter:blur(1.5px);transition:opacity .6s,filter .6s,max-width .5s .5s,margin .5s .5s}
.cfx-ed-s .w.x.gone{max-width:0;margin-right:0;opacity:0}
.cfx-ed-arrow{align-self:center;font-size:22px;color:var(--ink-3)}
.cfx-ed-out{opacity:.35;transition:opacity .5s}
.cfx-ed-out.on{opacity:1}
.cfx-ed-out p{font-size:21px;line-height:1.5;color:var(--ink);margin:0 0 18px}
.cfx-ed-chips{display:flex;flex-wrap:wrap;gap:8px}
.cfx-ed-chips span{font-size:13px;padding:6px 11px;border-radius:99px;background:var(--tint);border:1px solid var(--line);color:var(--ink-2)}
.cfx-ed-chips span:before{content:"✓ ";color:var(--g5)}
.cfx-bars{display:inline-flex;gap:2px;align-items:center;height:14px}
.cfx-bars i{width:3px;height:6px;border-radius:2px;background:var(--g5);animation:cfxb 1s ease-in-out infinite}
.cfx-bars i:nth-child(2){animation-delay:.15s}.cfx-bars i:nth-child(3){animation-delay:.3s}.cfx-bars i:nth-child(4){animation-delay:.45s}
@keyframes cfxb{50%{height:14px}}
.cfx-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.cfx-bx{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column}
.cfx-bx.w2{grid-column:span 2}
.cfx-bx-viz{min-height:96px;background:var(--tint);border:1px solid var(--line);border-radius:12px;margin-bottom:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:14px}
.cfx-bx h3{font-size:18px;margin:0 0 6px;color:var(--ink)}
.cfx-bx p{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin:0}
.cfx-vocab{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.cfx-vocab span,.cfx-seg span{font-size:13px;padding:5px 10px;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.cfx-vocab .add{border-style:dashed;color:var(--ink-3)}
.cfx-seg{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:3px}
.cfx-seg span{border:0}.cfx-seg .on{background:var(--ink);color:#fff}
.cfx-hint{width:100%;text-align:center;color:var(--ink-3);font-size:12px}
.cfx-wake{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:14px;color:var(--ink)}
.cfx-mini-ph{width:30px;height:52px;border:2px solid var(--ink);border-radius:8px;position:relative}
.cfx-mini-ph span{position:absolute;left:50%;top:4px;width:6px;height:2px;margin-left:-3px;background:var(--ink);border-radius:2px}
.cfx-mini-pc{width:66px;height:44px;border:2px solid var(--ink);border-radius:5px;border-bottom-width:6px}
.cfx-dots{display:flex;gap:5px}.cfx-dots i{width:5px;height:5px;border-radius:50%;background:var(--g5);animation:cfxd 1.2s infinite}
.cfx-dots i:nth-child(2){animation-delay:.2s}.cfx-dots i:nth-child(3){animation-delay:.4s}
@keyframes cfxd{50%{opacity:.2}}
.cfx-off{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--ink)}
.cfx-off .tg{width:34px;height:20px;border-radius:99px;background:var(--g5);position:relative}
.cfx-off .tg:after{content:"";position:absolute;right:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff}
.cfx-fb{display:flex;align-items:center;gap:10px;width:100%;justify-content:center;font-size:13px}
.cfx-fb span.f1,.cfx-fb span.f2{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:var(--ink-2)}
.cfx-fb .f2{color:var(--g5)!important}
.cfx-fb .ln{flex:0 1 120px;height:2px;background:linear-gradient(90deg,var(--line),var(--g5),var(--line));background-size:200% 100%;animation:cfxl 1.6s linear infinite}
@keyframes cfxl{to{background-position:-200% 0}}
@media(max-width:980px){.cfx-bento{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.cfx-ed{grid-template-columns:1fr}.cfx-ed-arrow{transform:rotate(90deg);justify-self:center}.cfx-bento{grid-template-columns:1fr}.cfx-bx.w2{grid-column:auto}.cfx-ed-s,.cfx-ed-out p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.cfx-bars i,.cfx-dots i,.cfx-fb .ln{animation:none}.cfx-ed-out{opacity:1}}
.cfx-tabs button:not(.on){color:var(--ink-2)!important}.cfx-tabs{opacity:1!important;transform:none!important}
/* duo */
.cfx-duo-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.cfx-duo-l{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.cfx-duo-l li{padding-left:22px;position:relative;color:var(--ink-2);line-height:1.55;font-size:15.5px}
.cfx-duo-l li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--g5)}
.cfx-duo-l b{color:var(--ink)}
.cfx-stage{position:relative;padding:10px 0 0;display:flex;align-items:flex-end;gap:0}
.cfx-lp2{flex:1;min-width:0;max-width:600px}
.cfx-scr{position:relative;background:#121418;border-radius:16px 16px 4px 4px;padding:14px 12px 12px;box-shadow:0 0 0 1px #2a2d33,var(--sh-lg)}
.cfx-scr .cam{position:absolute;top:5px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#2c3038;box-shadow:inset 0 0 0 1.5px #1b1e23}
.cfx-desk{position:relative;aspect-ratio:16/10;border-radius:3px;overflow:hidden;background:linear-gradient(160deg,#e9e6df,#d9dde3 60%,#cfd5dc)}
.cfx-app{position:absolute;left:5%;top:5%;right:5%;bottom:15%;background:#fff;border-radius:7px;box-shadow:0 10px 30px rgba(13,21,48,.18);display:flex;flex-direction:column;overflow:hidden;font-size:11px}
.cfx-app .ab{display:flex;align-items:center;gap:7px;padding:6px 9px;border-bottom:1px solid #eceef2;color:var(--ink)}
.cfx-app .ab .lg{width:14px;height:14px;display:inline-flex}.cfx-app .ab .lg svg,.cfx-app .ab .lg img{width:14px;height:14px}
.cfx-app .wc{margin-left:auto;display:flex;gap:6px}.cfx-app .wc i{width:8px;height:8px;border-radius:2px;background:#e3e6eb}
.cfx-app .ac{flex:1;display:flex;min-height:0}
.cfx-app .side{width:26%;background:#f4f3f0;border-right:1px solid #eceef2;padding:8px 6px;display:flex;flex-direction:column;gap:3px;color:var(--ink-3);font-size:10px}
.cfx-app .side span{padding:3px 6px;border-radius:4px;white-space:nowrap;overflow:hidden}.cfx-app .side .on{background:#e4e2dc;color:var(--ink)}
.cfx-app .ch{flex:1;display:flex;flex-direction:column;padding:8px 10px;min-width:0}
.cfx-app .msgs{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;overflow:hidden}
.cfx-app .m{display:flex;gap:7px;animation:cfxin .35s}.cfx-app .m p{margin:1px 0 0;color:var(--ink-2);line-height:1.4}
.cfx-app .m b{font-size:10.5px;color:var(--ink)}.cfx-app .m small{color:var(--ink-3);font-weight:400}
.cfx-app .av{flex:none;width:20px;height:20px;border-radius:5px;background:#d8dde6;color:var(--ink);font:600 8px/20px sans-serif;text-align:center}.cfx-app .av.me{font-size:6px;background:var(--ink);color:#fff}
@keyframes cfxin{from{opacity:0;transform:translateY(4px)}}
.cfx-app .cmp{margin-top:7px;border:1px solid #dcdfe5;border-radius:6px;padding:6px 8px;min-height:30px;display:flex;align-items:flex-start;color:var(--ink);line-height:1.4}
.cfx-app .cmp .tx:empty+.cfx-caret{margin-left:0}
.cfx-caret{display:inline-block;width:1.5px;height:13px;background:var(--ink);margin:1px 0 0 1px;animation:cfxbl 1s steps(1) infinite}
@keyframes cfxbl{50%{opacity:0}}
.cfx-app .sd{margin-left:auto;color:#b6bcc6;padding-left:8px}.cfx-stage.s-sent .cfx-app .sd{color:var(--g5)}
.cfx-pcpill{position:absolute;left:50%;top:9%;transform:translate(-50%,8px);opacity:0;transition:.3s;display:flex;gap:7px;align-items:center;background:#16181d;color:#fff;font-size:10px;padding:5px 11px;border-radius:99px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.cfx-stage.s-pc .cfx-pcpill{opacity:1;transform:translate(-50%,0)}
.cfx-tb{position:absolute;left:0;right:0;bottom:0;height:9%;background:rgba(246,246,244,.92);border-top:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;gap:8px}
.cfx-tb .st{display:grid;grid-template-columns:1fr 1fr;gap:1px;width:11px}.cfx-tb .st i{height:5px;background:#3d6fb6;border-radius:1px}
.cfx-tb .ti{width:13px;height:13px;border-radius:3px;background:#cfd3da}.cfx-tb .ti.on{background:var(--ink);box-shadow:0 5px 0 -3px var(--ink-3)}
.cfx-tb .ck{position:absolute;right:10px;font-size:9px;color:var(--ink-2)}
.cfx-hinge{height:5px;margin:0 1.5%;background:linear-gradient(#3a3d44,#8b9099)}
.cfx-deck{height:12px;margin:0 -5%;background:linear-gradient(#e2e4e8,#b9bdc4);border-radius:0 0 14px 14px;position:relative;box-shadow:0 14px 24px -10px rgba(13,21,48,.35)}
.cfx-deck span{position:absolute;left:50%;top:0;width:16%;height:5px;margin-left:-8%;background:#c5c9cf;border-radius:0 0 6px 6px}
.cfx-sigl{position:relative;width:46px;flex:none;align-self:center;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 4px,transparent 4px 8px);margin:0 -4px}
.cfx-sig{position:absolute;right:0;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--g5);opacity:0;box-shadow:0 0 0 4px rgba(47,138,89,.15)}
.cfx-sig.go{animation:cfxsg .7s ease-in forwards}
@keyframes cfxsg{0%{right:0;opacity:1}100%{right:100%;opacity:0}}
.cfx-and{order:3;flex:none;width:150px;background:#1a1c20;border-radius:24px;padding:6px;box-shadow:0 0 0 1px #34373d,var(--sh-lg);margin-left:0;margin-bottom:-10px}
.cfx-ands{position:relative;background:#fbfaf8;border-radius:19px;height:290px;padding:20px 10px 10px;display:flex;flex-direction:column;gap:8px;overflow:hidden;font-size:10px;color:var(--ink)}
.cfx-ands .ho{position:absolute;top:7px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#1a1c20}
.cfx-ands .sb{position:absolute;top:6px;left:12px;right:12px;display:flex;justify-content:space-between;font-size:8px;color:var(--ink-2)}
.cfx-ands .hd{display:flex;justify-content:space-between;align-items:baseline}.cfx-ands .hd small{color:var(--g5);font-size:8.5px}
.cfx-ands .dr{background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 8px;min-height:62px}
.cfx-ands .dr small{color:var(--ink-3);font-size:8.5px}.cfx-ands .dr p{margin:3px 0 0;line-height:1.4;font-size:10px}
.cfx-ands .lis{display:flex;gap:6px;align-items:center;justify-content:center;color:var(--ink-2);opacity:0;transition:.3s}
.cfx-stage.s-ph .cfx-ands .lis{opacity:1}
.cfx-ands .mic{margin:auto auto 6px;width:48px;height:48px;border-radius:50%;background:var(--ink);display:grid;place-items:center;transition:.3s;position:relative}
.cfx-ands .mic svg{width:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.cfx-stage.s-ph .cfx-ands .mic{background:var(--g5);box-shadow:0 0 0 8px rgba(47,138,89,.15)}
.cfx-stage.s-tap .cfx-ands .mic{transform:scale(.9)}
.cfx-ands .kb{position:absolute;left:0;right:0;bottom:0;background:#eceae6;padding:6px 3px 10px;display:grid;gap:4px;transform:translateY(100%);transition:.4s}
.cfx-stage.s-kb .cfx-ands .kb{transform:none}
.cfx-ands .kr{display:flex;justify-content:center;gap:2px}
.cfx-ands .kr i{font-style:normal;width:11px;height:17px;border-radius:3px;background:#fff;font-size:7.5px;display:grid;place-items:center;color:var(--ink-2);transition:background .1s}
.cfx-ands .kr i.hit{background:var(--ink);color:#fff}
.cfx-ands .sn{position:absolute;left:10px;right:10px;bottom:70px;text-align:center;background:var(--ink);color:#fff;border-radius:99px;padding:5px;font-size:9px;opacity:0;transform:translateY(6px);transition:.3s}
.cfx-stage.s-sp .cfx-ands .sn{opacity:1;transform:none}
.cfx-stage.s-pc .cfx-and{opacity:.45;filter:grayscale(1);transition:.4s}
.cfx-steps2{display:flex;justify-content:center;gap:6px;margin-top:30px}
.cfx-steps2 button{font:inherit;font-size:13px;padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer;position:relative;overflow:hidden}
.cfx-steps2 button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:980px){.cfx-duo-g{grid-template-columns:1fr;gap:36px}}
@media(max-width:700px){.cfx-and{width:110px}.cfx-ands{height:216px;padding:16px 7px 7px;gap:5px}.cfx-ands .kr i{width:8.5px;height:13px;font-size:6px}.cfx-ands .mic{width:36px;height:36px}.cfx-ands .dr{min-height:46px}.cfx-ands .dr p{font-size:8.5px}.cfx-sigl{width:18px}.cfx-app{font-size:8.5px}.cfx-app .side{display:none}.cfx-scr{padding:9px 7px 7px;border-radius:10px 10px 3px 3px}.cfx-steps2 button{font-size:12px;padding:6px 10px}.cfx-ands .sn{bottom:52px}}
@media(prefers-reduced-motion:reduce){.cfx-caret{animation:none}}
@media(max-width:700px){.cfx-pcpill{font-size:8px;padding:3px 8px}}
@media(max-width:700px){.cfx-ands .hd small{display:none}.cfx-app .cmp{min-height:20px;padding:3px 6px;margin-top:4px}.cfx-app .m:first-child{display:none}.cfx-app .msgs{gap:4px}}
.cfx-pcpill{white-space:nowrap}
/* cfb file bridge v2 */
.cfb-tabs{display:flex;justify-content:center;gap:4px;margin:28px auto 0;background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px;width:max-content}
.cfb-tabs button{font:inherit;font-size:14px;font-weight:500;padding:8px 18px;border-radius:99px;border:0;background:transparent;color:var(--ink-2);cursor:pointer}
.cfb-tabs button.on{background:var(--ink);color:#fff}
.cfb-g{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center;margin-top:36px}
.cfb-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:cfb}
.cfb-steps li{counter-increment:cfb;position:relative;padding:12px 14px 12px 46px;border-radius:12px;border:1px solid transparent;transition:.3s;opacity:.5}
.cfb-steps li:before{content:counter(cfb);position:absolute;left:14px;top:12px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:var(--ink-3);background:#fff}
.cfb-steps li b{display:block;font-size:14.5px;color:var(--ink)}.cfb-steps li span{font-size:13px;color:var(--ink-3);line-height:1.45}
.cfb-steps li.on{opacity:1;background:#fff;border-color:var(--line);box-shadow:var(--sh)}
.cfb-steps li.on:before,.cfb-steps li.dn:before{background:var(--ink);color:#fff;border-color:var(--ink)}
.cfb-steps li.dn{opacity:.8}
.cfb-steps li.hid{display:none}
.cfb-stage{position:relative;display:flex;align-items:flex-end}
.cfb-ph{order:0!important;margin:0 0 -10px!important}
.cfb-path{flex:none;width:60px}
.cfb-lp{flex:1;min-width:0}
.cfb-pS{gap:0!important;padding:20px 0 0!important}
.cfb-gal,.cfb-files{position:absolute;inset:20px 0 0;display:flex;flex-direction:column;transition:opacity .35s}
.cfb-gal .t,.cfb-files .t{padding:2px 9px 6px;display:flex;flex-direction:column}.cfb-gal .t b,.cfb-files .t b{font-size:12px}.cfb-gal .t small,.cfb-files .t small{font-size:8px;color:var(--ink-3)}
.cfb-gal .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:0 2px}
.cfb-gal .g{position:relative;aspect-ratio:1;overflow:hidden;display:block}.cfb-photo{width:100%;height:100%;display:block}
.cfb-gal .g.sel:after{content:"✓";position:absolute;right:3px;top:3px;width:13px;height:13px;border-radius:50%;background:#fff;color:var(--ink);font-size:8px;display:grid;place-items:center;opacity:0;transition:.2s}
.cfb-gal .g.sel{transition:transform .25s}
.cfb-stage[data-k="1"] .cfb-gal .g.sel,.cfb-stage[data-k="2"] .cfb-gal .g.sel{transform:scale(.86);outline:2px solid var(--ink);outline-offset:-2px}
.cfb-stage[data-k="1"] .cfb-gal .g.sel:after,.cfb-stage[data-k="2"] .cfb-gal .g.sel:after{opacity:1}
.cfb-share{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:14px 14px 0 0;box-shadow:0 -6px 20px rgba(0,0,0,.12);padding:9px 8px 14px;transform:translateY(105%);transition:transform .4s}
.cfb-share small{font-size:8.5px;color:var(--ink-3)}
.cfb-share .apps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:7px}
.cfb-share .apps span{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:6.5px;color:var(--ink-2);text-align:center;padding:3px 0;border-radius:6px;transition:.2s}
.cfb-share .apps i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;overflow:hidden}
.cfb-share .apps i svg,.cfb-share .apps i img{width:24px;height:24px}
.cfb-share .o1{background:#d6e4f5}.cfb-share .o2{background:#e3eadf}.cfb-share .o3{background:#ece4f2}
.cfb-stage[data-k="2"] .cfb-share{transform:none}
.cfb-stage[data-k="2"] .cfb-share .cf{background:var(--tint);outline:1.5px solid var(--ink)}
.cfb-lock{position:absolute;inset:0;background:rgba(250,250,248,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;opacity:0;transition:.35s;text-align:center;padding:10px}
.cfb-lock svg,.cfb-fly small svg{width:26px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.cfb-lock b{font-size:11px}.cfb-lock small{font-size:8px;color:var(--ink-3)}
.cfb-stage[data-d="p2c"][data-k="3"] .cfb-lock{opacity:1}
.cfb-files{opacity:0}.cfb-stage[data-d="c2p"] .cfb-files{opacity:1}.cfb-stage[data-d="c2p"] .cfb-gal{opacity:0}
.cfb-files .fr{display:flex;gap:7px;align-items:center;padding:6px 9px;border-bottom:1px solid #eeeae4}
.cfb-files .fr span{display:flex;flex-direction:column;min-width:0}.cfb-files .fr b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfb-files .fr small{font-size:7.5px;color:var(--ink-3)}
.cfb-files .fr .cfb-fi{width:18px;flex:none}.cfb-files .fr .cfb-photo{width:20px;height:20px;border-radius:3px;flex:none}
.cfb-files .fr.new{max-height:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;transition:.4s;background:var(--tint)}
.cfb-stage[data-d="c2p"][data-k="4"] .cfb-files .fr.new{max-height:40px;padding-top:6px;padding-bottom:6px;opacity:1}
.cfb-nt{position:absolute;left:5px;right:5px;top:-14px;background:#fff;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.16);padding:7px 8px;display:flex;gap:6px;align-items:center;transform:translateY(-130%);transition:.4s}
.cfb-nt .lg,.cfb-toast .lg,.cfb-app .ab .lg{width:16px;height:16px;flex:none;display:inline-flex}.cfb-nt .lg svg,.cfb-toast .lg svg,.cfb-app .lg svg,.cfb-nt .lg img,.cfb-toast .lg img,.cfb-app .lg img{width:16px;height:16px}
.cfb-nt span,.cfb-toast span{display:flex;flex-direction:column}.cfb-nt b{font-size:8.5px}.cfb-nt small{font-size:7.5px;color:var(--ink-2)}
.cfb-stage[data-d="c2p"][data-k="4"] .cfb-nt{transform:none}
.cfb-fly{position:absolute;z-index:5;top:34%;left:4%;width:170px;display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:var(--sh-lg);opacity:0;transition:left 1.4s cubic-bezier(.5,0,.3,1),opacity .3s}
.cfb-fly .th,.cfb-fly .tf{width:32px;height:32px;border-radius:6px;overflow:hidden;flex:none;display:grid;place-items:center}.cfb-fly .tf .cfb-fi{width:24px}
.cfb-stage[data-d="p2c"] .cfb-fly .tf,.cfb-stage[data-d="c2p"] .cfb-fly .th{display:none}
.cfb-fly .tx{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.cfb-fly b{font-size:11px;color:var(--ink)}
.cfb-fly small{font-size:9.5px;color:var(--ink-3);display:flex;gap:3px;align-items:center}.cfb-fly small svg{width:10px}
.cfb-fly .pb{height:3px;border-radius:2px;background:var(--line);overflow:hidden}.cfb-fly .pb i{display:block;height:100%;width:0;background:var(--g5);transition:width 1.4s linear}
.cfb-stage[data-k="3"] .cfb-fly{opacity:1}
.cfb-stage[data-k="3"] .cfb-fly .pb i{width:100%}
.cfb-stage[data-d="p2c"][data-k="3"] .cfb-fly.go{left:calc(100% - 330px)}
.cfb-stage[data-d="c2p"] .cfb-fly{left:calc(100% - 330px)}
.cfb-stage[data-d="c2p"][data-k="3"] .cfb-fly.go{left:4%}
.cfb-ex,.cfb-app{position:absolute;left:4%;top:4%;right:4%;bottom:13%;background:#fff;border-radius:7px;box-shadow:0 10px 30px rgba(13,21,48,.18);overflow:hidden;font-size:9.5px;color:var(--ink-2);transition:opacity .35s,transform .35s}
.cfb-ex .ab,.cfb-app .ab{display:flex;align-items:center;gap:7px;padding:6px 9px;border-bottom:1px solid #eceef2;color:var(--ink);font-size:10.5px}
.cfb-ex .fo{width:14px;height:11px;background:#e9b949;border-radius:2px}
.cfb-ex .wc,.cfb-app .wc{margin-left:auto;display:flex;gap:6px}.cfb-ex .wc i,.cfb-app .wc i{width:8px;height:8px;border-radius:2px;background:#e3e6eb}
.cfb-ex .bc{padding:5px 10px;background:#f7f7f6;border-bottom:1px solid #eceef2;font-size:9px}
.cfb-ex .hd,.cfb-ex .r{display:grid;grid-template-columns:18px 2.2fr 1fr 1fr .6fr;gap:8px;align-items:center;padding:4px 10px;white-space:nowrap}
.cfb-ex .hd{font-size:8.5px;color:var(--ink-3);border-bottom:1px solid #eceef2}
.cfb-ex .r .n{color:var(--ink);overflow:hidden;text-overflow:ellipsis}.cfb-ex .r .cfb-fi{width:14px}.cfb-ex .r .cfb-photo{width:16px;height:16px;border-radius:2px}
.cfb-ex .r em{font-style:normal;color:var(--g5);font-size:8.5px;margin-left:4px}
.cfb-ex .r.new{max-height:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;transition:.45s;background:#eef4ef}
.cfb-stage[data-d="p2c"][data-k="4"] .cfb-ex .r.new{max-height:30px;padding-top:4px;padding-bottom:4px;opacity:1}
.cfb-app{opacity:0;transform:scale(.97)}.cfb-stage[data-d="c2p"] .cfb-app{opacity:1;transform:none}.cfb-stage[data-d="c2p"] .cfb-ex{opacity:0}
.cfb-app .bd{display:flex;height:calc(100% - 27px)}.cfb-app .sd{width:24%;background:#f4f3f0;padding:8px 6px;display:flex;flex-direction:column;gap:3px}.cfb-app .sd span{padding:3px 6px;border-radius:4px}.cfb-app .sd .on{background:#e4e2dc;color:var(--ink)}
.cfb-app .mn{flex:1;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cfb-app .mn b{font-size:11px;color:var(--ink)}.cfb-app .mn b small{color:var(--g5);font-weight:500;font-size:8.5px}
.cfb-app .dz{flex:1;border:1.5px dashed #c9ced6;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-2);transition:.3s}
.cfb-app .dz small{font-size:8px;color:var(--ink-3)}.cfb-app .dzi{width:22px;height:22px;border-radius:50%;background:var(--tint);display:grid;place-items:center}
.cfb-stage[data-d="c2p"][data-k="2"] .cfb-app .dz{border-color:var(--ink);background:var(--tint)}
.cfb-drag{position:absolute;left:8%;top:62%;display:flex;gap:5px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 7px;font-size:9px;color:var(--ink);box-shadow:0 8px 20px rgba(0,0,0,.18);opacity:0;transition:left 1.1s ease,top 1.1s ease,opacity .3s}
.cfb-drag .cfb-fi{width:13px}.cfb-drag .cur{position:absolute;right:-9px;bottom:-11px;width:14px}
.cfb-stage[data-d="c2p"][data-k="1"] .cfb-drag{opacity:1;left:52%;top:42%}
.cfb-toast{position:absolute;right:3%;bottom:12%;width:44%;background:#fff;border-radius:8px;box-shadow:0 10px 26px rgba(0,0,0,.2);padding:8px 9px;display:flex;gap:7px;align-items:center;transform:translateX(120%);transition:.45s}
.cfb-toast b{font-size:10px;color:var(--ink)}.cfb-toast small{font-size:8.5px;color:var(--ink-3)}
.cfb-stage[data-d="p2c"][data-k="4"] .cfb-toast{transform:none}
@media(max-width:980px){.cfb-g{grid-template-columns:1fr}.cfb-steps{grid-template-columns:repeat(2,1fr);order:2}}
@media(max-width:700px){.cfb-path{width:14px}.cfb-fly{width:130px;padding:6px;top:30%}.cfb-fly .th,.cfb-fly .tf{width:24px;height:24px}.cfb-fly b{font-size:9.5px}
.cfb-stage[data-d="p2c"][data-k="3"] .cfb-fly.go,.cfb-stage[data-d="c2p"] .cfb-fly{left:calc(100% - 150px)}
.cfb-ex .hd,.cfb-ex .r{grid-template-columns:14px 1fr .8fr;font-size:7px;gap:5px;padding:3px 6px}.cfb-ex .hd span:nth-child(n+4),.cfb-ex .r span:nth-child(n+4){display:none}.cfb-ex .r .cfb-fi{width:11px}.cfb-ex .r .cfb-photo{width:12px;height:12px}
.cfb-app .sd{display:none}.cfb-ex,.cfb-app{font-size:7.5px}.cfb-toast{width:70%}.cfb-steps{grid-template-columns:1fr}.cfb-steps li{padding:9px 12px 9px 44px}.cfb-tabs button{font-size:13px;padding:7px 14px}}
@media(prefers-reduced-motion:reduce){.cfb-fly,.cfb-drag,.cfb-share,.cfb-toast,.cfb-nt{transition:none}}
/* ckb android keyboard demo */
.ckb-wrap{display:flex;justify-content:center}
.ckb-ph{position:relative;width:300px;height:610px;border-radius:44px;background:#16171a;padding:11px;box-shadow:0 30px 60px rgba(13,21,48,.22),inset 0 0 0 2px #2c2d31}
.ckb-cam{position:absolute;top:22px;left:50%;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:#000;z-index:3}
.ckb-scr{position:relative;height:100%;border-radius:34px;overflow:hidden;background:#f7f5f1;display:flex;flex-direction:column}
.ckb-sb{display:flex;justify-content:space-between;padding:10px 22px 4px;font-size:11px;font-weight:600;color:var(--ink)}
.ckb-app{flex:1;display:flex;flex-direction:column;min-height:0;transition:opacity .35s,transform .35s}
.ckb-app.sw{opacity:0;transform:translateX(-24px)}
.ckb-ah{display:flex;align-items:center;gap:9px;padding:8px 14px;border-bottom:1px solid #e9e5de;background:#fff}
.ckb-al{display:none;width:24px;height:24px}.ckb-al svg{width:24px;height:24px}
.ckb-ph[data-app=wa] .ckb-al[data-a=wa],.ckb-ph[data-app=gm] .ckb-al[data-a=gm],.ckb-ph[data-app=ig] .ckb-al[data-a=ig]{display:block}
.ckb-at{display:flex;flex-direction:column;line-height:1.15}.ckb-at b{font-size:13px;color:var(--ink)}.ckb-at small{font-size:10px;color:var(--ink-3)}
.ckb-body{flex:1;overflow:hidden;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;gap:7px}
.ckb-b{max-width:82%;padding:7px 10px;border-radius:12px;font-size:12px;line-height:1.4;color:var(--ink);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.06);align-self:flex-start;animation:ckbIn .4s both}
.ckb-b.ckb-me{align-self:flex-end;background:#e2efe4}
.ckb-ph[data-app=gm] .ckb-b{max-width:100%;align-self:stretch;border-radius:8px;font-size:11.5px}
.ckb-ph[data-app=gm] .ckb-b small{display:block;color:var(--ink-3);font-size:10px;margin-bottom:3px}
.ckb-ph[data-app=gm] .ckb-b.ckb-me{background:#eef1f6}
.ckb-ig{align-self:stretch;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06);animation:ckbIn .4s both}
.ckb-ig .cfb-photo,.ckb-ig svg{width:100%;height:150px;display:block}
.ckb-ig p{margin:0;padding:7px 10px;font-size:11.5px;color:var(--ink);min-height:16px}.ckb-ig p b{margin-right:4px}
@keyframes ckbIn{from{opacity:0;transform:translateY(10px)}}
.ckb-inp{display:flex;align-items:flex-end;gap:6px;margin:6px 10px;padding:8px 10px 8px 13px;background:#fff;border-radius:20px;border:1px solid #e3dfd7;min-height:36px;font-size:12.5px;line-height:1.4;color:var(--ink)}
.ckb-tx{flex:1;min-width:0}.ckb-tx:empty:before{content:attr(data-ph);color:var(--ink-3)}
.ckb-tx .ckb-w{animation:ckbW .25s both}.ckb-tx .f{color:var(--ink-3);transition:opacity .5s,max-width .5s,margin .5s;display:inline-block;max-width:40px;overflow:hidden;vertical-align:bottom;white-space:nowrap}
.ckb-tx .f.out{opacity:0;max-width:0}
.ckb-tx .p{display:inline-block;max-width:0;opacity:0;transition:.35s}.ckb-tx.ckb-pn .p{max-width:10px;opacity:1}
@keyframes ckbW{from{opacity:0;filter:blur(3px)}}
.ckb-car{width:1.5px;height:15px;background:var(--ink);animation:ckbC 1s steps(1) infinite;align-self:center}
@keyframes ckbC{50%{opacity:0}}
.ckb-send{width:22px;height:22px;flex:none;border-radius:50%;background:#d8d5cf;color:#fff;font-size:10px;display:grid;place-items:center;transition:.25s}
.ckb-ph.rdy .ckb-send{background:var(--ink)}.ckb-ph.tap .ckb-send{transform:scale(.8)}
.ckb-kb{background:#e9e7e2;padding:7px 5px 6px;position:relative}
.ckb-top{display:flex;align-items:center;gap:8px;padding:0 4px 7px}
.ckb-chip{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:99px;background:#fff;color:var(--ink);transition:.3s;min-width:22px;text-align:center}
.ckb-chip.bn{background:var(--ink);color:#fff}
.ckb-st{flex:1;font-size:10.5px;color:var(--ink-3)}
.ckb-mic{width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:.25s;position:relative}
.ckb-mic svg{width:16px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.ckb-ph.ls .ckb-mic{background:var(--ink)}.ckb-ph.ls .ckb-mic svg{stroke:#fff}
.ckb-ph.ls .ckb-mic:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--ink);opacity:.3;animation:ckbP 1.2s infinite}
@keyframes ckbP{to{transform:scale(1.35);opacity:0}}
.ckb-ph.mt .ckb-mic{transform:scale(.85)}
.ckb-keys{transition:opacity .3s}.ckb-row{display:flex;justify-content:center;gap:3px;margin-bottom:5px}
.ckb-row i{font-style:normal;flex:0 0 24px;height:32px;border-radius:5px;background:#fff;display:grid;place-items:center;font-size:12px;color:var(--ink);box-shadow:0 1px 0 #c9c6bf}
.ckb-row i.w{flex:0 0 46px;font-size:10px;background:#d6d3cc}.ckb-row i.sp{flex:0 0 140px;font-size:10px;color:var(--ink-3)}
.ckb-wave{position:absolute;left:0;right:0;top:46px;bottom:0;display:flex;align-items:center;justify-content:center;gap:3px;opacity:0;transition:opacity .3s;background:#e9e7e2;flex-wrap:wrap;align-content:center}
.ckb-wave i{width:3px;height:6px;border-radius:2px;background:var(--ink)}
.ckb-wave small{flex:0 0 100%;text-align:center;font-size:11px;color:var(--ink-2);margin-top:10px}
.ckb-ph.ls .ckb-wave{opacity:1}.ckb-ph.ls .ckb-keys{opacity:0}
.ckb-ph.ls .ckb-wave i{animation:ckbV .9s ease-in-out infinite alternate}
.ckb-wave i:nth-child(3n){animation-delay:-.3s!important}.ckb-wave i:nth-child(3n+1){animation-delay:-.6s!important}.ckb-wave i:nth-child(4n){animation-duration:.7s!important}.ckb-wave i:nth-child(5n){animation-duration:1.1s!important}
@keyframes ckbV{from{height:5px}to{height:34px}}
.ckb-nav{display:block;width:90px;height:4px;border-radius:2px;background:#2b2b2b;margin:5px auto 6px}
@media(max-width:700px){.ckb-ph{width:280px;height:570px}.ckb-row i{flex-basis:22px;height:29px}.ckb-row i.sp{flex-basis:124px}}
@media(prefers-reduced-motion:reduce){.ckb-ph *{animation:none!important;transition:none!important}}
/* cwp word suggestions laptop */
.cwp-wrap{display:flex;justify-content:center}.cwp-lp{width:100%;max-width:560px}
.cwp-win{position:absolute;left:5%;top:5%;right:5%;bottom:14%;background:#fff;border-radius:7px;box-shadow:0 10px 30px rgba(13,21,48,.18);overflow:hidden;display:flex;flex-direction:column}
.cwp-ab{display:flex;align-items:center;gap:7px;padding:6px 10px;font-size:10.5px;color:var(--ink);border-bottom:1px solid #eceef2}
.cwp-ic{width:14px;height:14px;border-radius:3px;background:#3b6fd8;color:#fff;font-size:8px;font-weight:700;display:grid;place-items:center}
.cwp-wc{margin-left:auto;display:flex;gap:6px}.cwp-wc i{width:8px;height:8px;border-radius:2px;background:#e3e6eb}
.cwp-mb{display:flex;gap:12px;padding:4px 10px;font-size:9px;color:var(--ink-3);background:#f8f8f7;border-bottom:1px solid #eceef2}
.cwp-doc{flex:1;padding:14px 18px;position:relative}
.cwp-h{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ink)}
.cwp-p{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-2);min-height:40px}
.cwp-p .cwp-w{animation:ckbW .25s both}.cwp-p .cwp-nw{background:#eef1f6;border-radius:3px}
.cwp-car{display:inline-block;width:1.5px;height:14px;background:var(--ink);vertical-align:-2px;margin-left:1px;animation:ckbC 1s steps(1) infinite}
.cwp-ch{display:flex;align-items:center;gap:6px;margin-top:16px;padding-top:10px;border-top:1px dashed #e3e3e0;opacity:0;transform:translateY(4px);transition:opacity .45s,transform .45s}
.cwp-ch.on{opacity:1;transform:none}
.cwp-ch small{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-right:2px}
.cwp-ch span{font-size:11px;padding:3px 10px;border-radius:99px;border:1px solid #dcdcd8;color:var(--ink-2);background:#fafaf9;transition:.3s}
.cwp-ch span.hit{border-color:var(--ink);color:var(--ink);background:#fff}
.cwp-pill{position:absolute;left:50%;bottom:16%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#16171a;color:#fff;border-radius:99px;padding:6px 13px;font-size:10.5px;box-shadow:0 8px 20px rgba(0,0,0,.25);white-space:nowrap}
.cwp-pill b{font-weight:500}.cwp-dot{width:7px;height:7px;border-radius:50%;background:#e5484d}
.cwp-pill.ps .cwp-dot{background:#9a9a9a}
.cwp-wv{display:flex;gap:2px;align-items:center;height:14px}.cwp-wv i{width:2px;height:4px;border-radius:1px;background:#fff;animation:ckbV2 .8s ease-in-out infinite alternate}
.cwp-wv i:nth-child(2n){animation-delay:-.3s}.cwp-wv i:nth-child(3n){animation-delay:-.55s;animation-duration:.6s}
.cwp-pill.ps .cwp-wv i{animation:none;height:3px;opacity:.5}
@keyframes ckbV2{from{height:3px}to{height:14px}}
@media(max-width:700px){.cwp-doc{padding:10px 12px}.cwp-p{font-size:10.5px}.cwp-h{font-size:11px}.cwp-ch{margin-top:8px;padding-top:6px;gap:4px}.cwp-ch span{font-size:9.5px;padding:2px 7px}.cwp-ch small{display:none}.cwp-pill{font-size:9px;padding:4px 10px;bottom:2.5%}}
@media(prefers-reduced-motion:reduce){.cwp-lp *{animation:none!important;transition:none!important}}
/* phone demo showcase */
.pd{max-width:1040px;margin:0 auto}
.pd-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px}
.pd-tab{font:inherit;font-size:14px;padding:9px 16px;border-radius:999px;border:1px solid var(--line-2);background:#fff;color:var(--ink-2);cursor:pointer}
.pd-tab[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.pd-tab:focus-visible{outline:2px solid #3b6cf6;outline-offset:2px}
.pd-cap{text-align:center;color:var(--ink-2);max-width:620px;margin:0 auto 26px;min-height:3em}
.pd-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;padding:40px 32px;border-radius:var(--r-lg);background:linear-gradient(180deg,#e6f0fb,#f5f8fc);border:1px solid var(--line);overflow:hidden}
.pd .ico,.pd svg{width:15px;height:15px;flex:none}
.pdp{position:relative;width:250px;height:470px;flex:none;border-radius:34px;background:#f2f2f6;border:7px solid #111;box-shadow:0 30px 70px -25px rgba(9,26,50,.55);padding:10px 12px;font-size:12px;color:#111;overflow:hidden;display:flex;flex-direction:column;gap:9px}
.pdp-sb{display:flex;justify-content:space-between;font-size:10.5px;font-weight:600;padding:0 4px}
.pdp-sb svg{width:11px;height:11px}
.pdp-hd{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:13px}
.pdp-row{display:grid;grid-template-columns:1.6fr 1fr;gap:7px}
.pdp-row span{display:flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:999px;background:#e4e4ea;font-weight:700;font-size:12.5px}
.pdp-mic{display:flex;justify-content:center;padding:4px 0}
.pdp-mic span{width:62px;height:62px;border-radius:50%;background:#1b1b1f;color:#fff;display:grid;place-items:center;box-shadow:0 0 0 9px #e3ecfa,0 0 0 16px #eff4fc}
.pdp-mic svg{width:22px;height:22px}
.pdp-card{background:#fff;border-radius:20px;padding:11px;display:flex;flex-direction:column;gap:8px;border:1px solid #e3e3ea;flex:1}
.pdp-card>b{display:flex;gap:6px;align-items:center;font-size:13px}
.pdp-box{position:relative;background:#efeff4;border:1px solid #ddd;border-radius:12px;padding:9px;min-height:92px;flex:1;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.pdp-box .pdph{color:#777}
.pdp-cnt{position:absolute;right:8px;bottom:6px;font-size:9.5px;color:#666}
.pdp-tools{display:flex;justify-content:space-around;border-top:1px solid #eee;padding-top:8px;font-size:11px;font-weight:600}
.pdp-tools span{display:flex;align-items:center;gap:4px;padding:4px 5px;border-radius:8px}
.pdc{display:inline-block;width:1.5px;height:1em;background:#3b6cf6;vertical-align:-2px;margin-left:1px;animation:pdb 1s steps(1) infinite}
@keyframes pdb{50%{opacity:0}}
.tap{animation:pdtap .45s ease}
@keyframes pdtap{0%{box-shadow:0 0 0 0 rgba(59,108,246,.55);transform:scale(1)}40%{transform:scale(.93);background:#d6e2ff}100%{box-shadow:0 0 0 14px rgba(59,108,246,0);transform:scale(1)}}
.pdp-ov{position:absolute;inset:0;display:none;z-index:3}
.pdp-ov.on{display:block}
.pdp-ov.cam{background:#2a2c31;display:grid;place-items:center}
.rcpt{width:150px;background:#fbfaf6;padding:12px;font:10px/1.6 var(--mono);color:#222;display:flex;flex-direction:column;transform:rotate(-3deg);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.pdp-ov .frame{position:absolute;inset:110px 30px;border:2px solid #fff;border-radius:12px}
.scanl{position:absolute;left:34px;right:34px;top:112px;height:2px;background:#5ad38a;box-shadow:0 0 12px #5ad38a;animation:pdscan 1.6s ease-in-out infinite alternate}
@keyframes pdscan{to{top:345px}}
.pdp-ov.pick{top:auto;height:55%;background:#fff;border-radius:20px 20px 0 0;padding:14px;box-shadow:0 -10px 30px rgba(0,0,0,.15);animation:pdup .35s ease}
.pdp-ov.pick .g{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.pdp-ov.pick .g i{height:70px;border-radius:10px;background:#dfe3ea}
.pdp-ov .wb.pk{outline:3px solid #3b6cf6}
@keyframes pdup{from{transform:translateY(100%)}}
.wb{display:block;background:#fff linear-gradient(transparent 30%,transparent 31%) !important;background-image:linear-gradient(#e5484d,#e5484d),linear-gradient(#3b6cf6,#3b6cf6),linear-gradient(#222,#222),linear-gradient(#222,#222)!important;background-size:40% 3px,30% 3px,55% 2px,45% 2px!important;background-position:15% 25%,20% 50%,20% 70%,20% 82%!important;background-repeat:no-repeat!important;border:1px solid #ccd!important}
.pdp-ov.sms{top:12px;bottom:auto;padding:0 10px;animation:pddown .35s ease}
.smsb{background:#fff;border-radius:16px;padding:11px;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:12px;line-height:1.45;position:relative}
.smsb small{display:block;color:#777;margin-bottom:3px}
.smsb .cp{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;background:#e9eefb;color:#2448b8;font-weight:600}
@keyframes pddown{from{transform:translateY(-120%)}}
.pdp-toast{position:absolute;left:14px;right:14px;bottom:16px;background:#111;color:#fff;border-radius:12px;padding:9px;text-align:center;font-size:11.5px;opacity:0;transform:translateY(10px);transition:.3s;z-index:4}
.pdp-toast.on{opacity:1;transform:none}
.pd-link{display:flex;gap:6px}
.pd-link i{width:7px;height:7px;border-radius:50%;background:#3b6cf6;opacity:.25;animation:pdl 1.2s infinite}
.pd-link i:nth-child(2){animation-delay:.2s}.pd-link i:nth-child(3){animation-delay:.4s}
@keyframes pdl{50%{opacity:1}}
.pdw{flex:1;max-width:560px;min-width:0}
.pdw-body{height:330px;position:relative;font-size:13px;color:var(--ink)}
.pdchat{padding:16px;display:flex;flex-direction:column;gap:12px;height:262px;overflow:hidden;background:#f7f7fb}
.pdm{display:flex;gap:9px;max-width:85%}
.pdm .av{width:28px;height:28px;border-radius:50%;background:#6b5bd6;color:#fff;font-size:11px;display:grid;place-items:center;flex:none}
.pdm>div{background:#fff;border-radius:10px;padding:8px 11px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.pdm b{font-size:11.5px;color:var(--ink-3)}.pdm p{margin:2px 0 0}
.pdm.me{align-self:flex-end}.pdm.me>div{background:#e8ebfa}
.pdin{position:absolute;left:14px;right:14px;bottom:14px;height:44px;border:1px solid var(--line-2);border-radius:8px;display:flex;align-items:center;padding:0 10px;background:#fff;gap:2px;border-bottom:2px solid #5b5fc7}
.pdin-t{white-space:nowrap;overflow:hidden;text-overflow:clip;direction:ltr}
.pdsend{margin-left:auto;font-size:12px;color:#5b5fc7;font-weight:600}
.pop{animation:pdpop .4s ease}
@keyframes pdpop{from{opacity:0;transform:translateY(8px) scale(.97)}}
.pdxl{padding:10px;font-size:12px}
.pdxl .r{display:grid;grid-template-columns:28px 1.6fr 1fr 1fr;border-bottom:1px solid #e3e6ec}
.pdxl .r>*{padding:8px;border-right:1px solid #e3e6ec;min-height:34px}
.pdxl .r>:first-child,.pdxl .h>*{background:#f1f3f5;color:#667;text-align:center}
.pdxl .sel>*:not(:first-child){background:#eef8f1}
.pdxl .sel .c1{outline:2px solid #1f7a45;outline-offset:-2px}
.pdsl{display:grid;grid-template-columns:1fr 170px;height:100%}
.slide{margin:18px;border:1px solid var(--line-2);border-radius:6px;padding:16px;background:#fff;box-shadow:var(--sh);display:flex;flex-direction:column;gap:10px}
.slide b{font-size:18px}
.drop{flex:1;border:2px dashed #cfd6e2;border-radius:8px;display:grid;place-items:center;overflow:hidden}
.drop .big{width:88%;height:85%;border-radius:6px}
.recv{background:#f5f7fa;border-left:1px solid var(--line);padding:14px 10px;font-size:11.5px}
.recv small{color:var(--ink-3)}
.ritem{display:flex;gap:8px;align-items:center;margin-top:10px;transition:.5s}
.ritem .wb{width:44px;height:34px;border-radius:5px;flex:none}
.ritem em{font-style:normal;color:var(--ink-3);font-size:10.5px}
.ritem.fly{opacity:.35;transform:translateX(-30px)}
.pdotp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;height:100%;background:#fafbfd}
.pdotp .boxes{display:flex;gap:8px}
.pdotp .boxes i{width:38px;height:46px;border:1.5px solid var(--line-2);border-radius:8px;background:#fff;display:grid;place-items:center;font:600 18px var(--mono);font-style:normal}
.pdotp .boxes i.f{border-color:#3b6cf6}
.vbtn{padding:9px 30px;border-radius:8px;background:#ccd3e0;color:#fff;font-weight:600}
.vbtn.ok{background:#1f7a45}
.pd-tip{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(13,21,48,.86);color:#fff;font-size:12.5px;padding:6px 14px;border-radius:999px;opacity:0;transition:opacity .3s;white-space:nowrap}
.pd-tip.on{opacity:1}
@media (max-width:820px){.pd-stage{flex-direction:column;padding:24px 14px 50px;gap:16px}.pd-link{transform:rotate(90deg)}.pdw{width:100%}.pdw-body{height:300px}.pdsl{grid-template-columns:1fr 130px}}
@media (prefers-reduced-motion:reduce){.pd *{animation:none!important;transition:none!important}}

/* Release verification stays readable and selectable on narrow screens. */
.download-verification{margin:14px 0 22px;padding:14px;border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.6;text-align:left;min-width:0}
.download-verification p{margin:0 0 8px;font-size:inherit;overflow-wrap:anywhere}
.download-verification p:last-child{margin-bottom:0}
.download-verification code{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word;user-select:all;font-size:12px}
.install-notice{margin:14px 0 22px;text-align:left}
.plan-refund{font-size:12px;line-height:1.5;margin:12px 0 0;color:var(--ink-3)}
.plan-refund a{text-decoration:underline;text-underline-offset:2px}

/* Real Android Home screenshot. Keep the complete UI visible on every viewport. */
.android-home-figure{margin:0;min-width:0;text-align:center}
.android-home-shot{display:block;width:100%;height:auto;max-width:320px;margin:0 auto;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 48px -24px rgba(9,26,50,.35)}
.android-home-figure figcaption{font-size:12px;line-height:1.5;color:var(--ink-3);margin:14px auto 0;max-width:320px}
.scene.real-home-scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:28px 40px;align-items:center;padding-bottom:0;margin-top:44px}
.real-home-scene>.win{grid-column:1;grid-row:1;min-width:0;align-self:end}
.real-home-scene>.android-home-figure{grid-column:2;grid-row:1 / 3}
.scene.real-home-scene .thread{padding:26px 24px;min-height:340px}
.scene.real-home-scene>.cfpill.live{position:relative;left:auto;bottom:auto;transform:none;grid-column:1;grid-row:2;justify-self:center;align-self:start;max-width:100%}
.real-home-workflow{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:80px;align-items:center;max-width:1000px;margin:auto}
.real-home-copy h3{font-size:30px;line-height:1.2;margin:0 0 20px}
.real-home-copy p{color:var(--ink-2);font-size:17px;line-height:1.7}
.real-home-copy .why{padding-left:22px;list-style:decimal}
.real-home-copy .why li{display:list-item;padding-left:6px}
.real-home-copy a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 .scene.real-home-scene,.real-home-workflow{grid-template-columns:minmax(0,1fr);gap:28px}
 .real-home-scene>.android-home-figure{grid-column:1;grid-row:1}
 .real-home-scene>.win{grid-column:1;grid-row:2;width:100%}
 .scene.real-home-scene>.cfpill.live{grid-column:1;grid-row:3}
 .android-home-shot{width:82vw;max-width:min(320px,100%)}
 .scene.real-home-scene .thread{padding:20px 16px;min-height:300px}
 .real-home-copy h3{font-size:26px}
}

/* v34: mobile header, hero CTAs, 3-step, trust links, beta tag */
.theme-m{display:block;width:100%;text-align:left;padding:12px 14px;background:none;border:0;font:inherit;color:inherit;cursor:pointer;border-radius:12px}
@media (max-width:760px){.nav-in>.theme-btn{visibility:hidden;position:absolute;width:1px;height:1px;overflow:hidden}.nav.open .m-theme{display:block;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}}
.tp-sep{font-weight:400;opacity:.5;margin:0 2px}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.product-hunt-badge{display:flex;justify-content:center;margin:18px auto 0;min-height:54px}
.product-hunt-badge a{display:inline-flex;line-height:0;border-radius:10px;transition:transform .15s,box-shadow .2s}
.product-hunt-badge a:hover{transform:translateY(-1px);box-shadow:0 8px 18px -12px rgba(0,0,0,.55)}
.product-hunt-badge img{display:block;max-width:100%;height:auto}
.btn-line{background:rgba(255,255,255,.8);color:#141820;border:1px solid rgba(20,24,32,.18)}
.btn-line .i{width:17px;height:17px}
.hero-links{margin:14px 0 0;font-size:13.5px;text-align:center}.hero-links a{color:#2a3553;text-underline-offset:3px;white-space:nowrap}
.steps-mini{list-style:none;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;padding:0;margin:18px auto 0;font-size:13.5px;color:#2a3553}
.steps-mini li{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.steps-mini b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#141820;color:#fff;font-size:11px;font-family:var(--mono)}
.sm-arr{opacity:.45}
.trust a{display:inline-flex;gap:6px;align-items:center;color:inherit;text-decoration:none;white-space:nowrap}.trust a:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{width:100%;justify-content:center}
 .product-hunt-badge{margin-top:16px}
 .steps-mini{flex-direction:column;gap:6px}.sm-arr{transform:rotate(90deg);line-height:1}
 .trust{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;text-align:left;max-width:360px;margin-left:auto;margin-right:auto}.trust a{white-space:normal}}
@media (max-width:360px){.trust{grid-template-columns:1fr}}
[data-theme=dark] .btn-line{background:rgba(20,24,32,.6);color:#f3f5f8;border-color:rgba(255,255,255,.2)}
[data-theme=dark] .steps-mini,[data-theme=dark] .hero-links a{color:#d6dbe6}[data-theme=dark] .steps-mini b{background:#f3f5f8;color:#141820}

/* v34: Android keyboard demo matches the real Cursor Flow keyboard */
.ckb-real{background:#eef0f3;padding:9px 10px 8px}
.ckb-real .ckb-top{gap:6px;padding:0 0 6px}
.ckb-brand{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:650;color:#141820;margin-right:auto}.ckb-brand img{width:15px;height:15px;border-radius:4px}
.ckb-real .ckb-chip{background:#dfe2e7;font-size:10px;padding:3px 8px}.ckb-real .ckb-chip:after{content:" ▾";font-size:8px}
.ckb-tg{display:inline-flex;background:#dfe2e7;border-radius:99px;padding:2px}.ckb-tg b,.ckb-tg em{display:grid;place-items:center;height:18px;min-width:26px;border-radius:99px;font-style:normal;font-size:9.5px;font-weight:700;color:#141820}
.ckb-tg b{background:#1b1d22}.ckb-tg svg{width:12px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.ckb-real .ckb-st{display:block;text-align:center;font-size:10.5px;color:#141820;margin:2px 0 7px}
.ckb-pad{display:grid;grid-template-columns:34px 1fr 34px;grid-template-rows:34px 34px;gap:8px 14px;align-items:center;justify-items:center}
.ckb-rb{width:32px;height:32px;border-radius:50%;background:#1b1d22;display:grid;place-items:center}.ckb-rb svg{width:14px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ckb-real .ckb-mic{width:92px;height:40px;border-radius:99px;background:#1b1d22;display:grid;place-items:center}
.ckb-real .ckb-mic:after{border-radius:99px}
.ckb-bars{display:flex;gap:2.5px;align-items:center;height:18px}.ckb-bars i{width:2.5px;height:8px;border-radius:2px;background:#fff}.ckb-bars i:nth-child(2),.ckb-bars i:nth-child(4){height:13px}.ckb-bars i:nth-child(3){height:18px}
.ckb-ph.ls .ckb-bars i{animation:ckbV2 .8s ease-in-out infinite alternate}.ckb-ph.ls .ckb-bars i:nth-child(2n){animation-delay:-.4s}
.ckb-bot{display:grid;grid-template-columns:24px 1fr 24px;gap:10px;align-items:center;margin-top:7px;font-size:13px;color:#141820;text-align:center}.ckb-space{height:16px;border-radius:99px;background:#dfe2e7}
@keyframes ckbV2{from{height:5px}to{height:18px}}
.byi{margin-bottom:28px}.byi .hash code{overflow-wrap:anywhere;font-size:12px}.byi dd a{text-underline-offset:3px}
.tp-n{white-space:nowrap}@media (max-width:420px){.tagpill{height:auto;min-height:30px;padding:6px 12px;letter-spacing:.08em;font-size:10px;gap:6px}}

/* Real Android Home screenshot inside a phone frame matching the keyboard demo (.ckb-ph) */
.ahf-ph{position:relative;display:block;width:100%;max-width:300px;margin:0 auto;border-radius:44px;background:#16171a;padding:32px 11px 11px;box-shadow:0 30px 60px rgba(13,21,48,.22),inset 0 0 0 2px #2c2d31;box-sizing:border-box}
.ahf-cam{position:absolute;top:11px;left:50%;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:#000;box-shadow:inset 0 0 0 1.5px #2a2b30}
.ahf-scr{display:block;border-radius:34px;overflow:hidden;background:#f7f5f1}
.ahf-scr .android-home-shot{width:100%;max-width:none;height:auto;border:0;border-radius:0;box-shadow:none;margin:0}
@media (max-width:700px){.ahf-ph{max-width:min(280px,100%)}}

[data-theme=dark] .nav-in{background:rgba(22,27,38,.62);border:1px solid rgba(255,255,255,0.26)}[data-theme=dark] .nav.scrolled .nav-in{background:rgba(22,27,38,.86)}[data-theme=dark] .btn-glass{background:rgba(22,27,38,.7);border-color:rgba(255,255,255,0.32)}[data-theme=dark] .btn-glass:hover{background:#11141a}[data-theme=dark] .btn-line{background:#11141a}[data-theme=dark] .btn-line:hover{border-color:#2a303c}[data-theme=dark] .soon{background:rgba(22,27,38,.14);border:1px solid rgba(255,255,255,0.08)}[data-theme=dark] .tagpill{background:rgba(22,27,38,.75);border:1px solid rgba(255,255,255,0.32);color:#bac3dc}[data-theme=dark] .oses{color:#b0bad1}[data-theme=dark] .oses a{color:#bac3dc}[data-theme=dark] .win{background:#11141a}[data-theme=dark] .win-bar{background:#161d26}[data-theme=dark] .mail-side{background:#131822}[data-theme=dark] .compose-btn{background:#11141a}[data-theme=dark] .mail-side div.it.on{background:#172031}[data-theme=dark] .typed{color:#c3cae6}[data-theme=dark] .droid{background:#11141a}[data-theme=dark] .droid .seg span.on{background:#11141a}[data-theme=dark] .apps-row span{background:#11141a}[data-theme=dark] .mo{background:#11141a}[data-theme=dark] .xfer{background:#11141a}[data-theme=dark] .thumb{background:linear-gradient(135deg,#1c2939,#223144);color:#a1acbf}[data-theme=dark] .panel::after{background:rgba(22,27,38,.35)}[data-theme=dark] .said{background:#11141a;color:#bcc3dc}[data-theme=dark] .said s{background:#36221a;color:#d6a293}[data-theme=dark] .said mark{background:#172031;color:#95aad7}[data-theme=dark] .got{color:#caebd7}[data-theme=dark] .wakebox .q{background:#11141a}[data-theme=dark] .appwin{background:#1a251a}[data-theme=dark] .aside{background:#11141a;color:#c8d2cc}[data-theme=dark] .aside .brand{color:#e4e4e4}[data-theme=dark] .amain{color:#ced7d1}[data-theme=dark] .atop .h4{color:#e4e4e4}[data-theme=dark] .online{background:#11141a}[data-theme=dark] .asearch{background:#11141a}[data-theme=dark] .kpi{background:#11141a}[data-theme=dark] .tbl{background:#11141a}[data-theme=dark] .tr{border-top:1px solid #2e382e}[data-theme=dark] .tr b{color:#e4e4e4}[data-theme=dark] .card{background:#11141a}[data-theme=dark] .set{background:#11141a}[data-theme=dark] .tg{background:#29303d}[data-theme=dark] .tg::after{background:#11141a}[data-theme=dark] .chips span.add{background:#11141a}[data-theme=dark] .kb{background:#1d242e}[data-theme=dark] .kb .rw span{background:#11141a;color:#bcc3dc}[data-theme=dark] .pv{background:#11141a}[data-theme=dark] .plan{background:#11141a}[data-theme=dark] .badge.lt{background:#11141a}[data-theme=dark] .dlc{background:#11141a}@media (max-width:760px){[data-theme=dark] .nav ul{background:#11141a}}[data-theme=dark] .trust{color:#b4bed6}[data-theme=dark] .msg .av{background:#192334;color:#b0bad2}[data-theme=dark] .msg p{color:#b0b7ca}[data-theme=dark] .replybox{color:#cad1e9}[data-theme=dark] .out .w.err{background:#311e17;color:#d6a293}[data-theme=dark] .doc{background:#11141a}[data-theme=dark] .doc-p{color:#c3cae6}[data-theme=dark] .chip-s.on[data-k=drop]{background:#2b1b15;border-color:#422c24;color:#d6a293}[data-theme=dark] .sc{background:#11141a}[data-theme=dark] .sc-ui::after{background:rgba(22,27,38,.4)}[data-theme=dark] .mini{background:#11141a}[data-theme=dark] .mini-b{color:#c3cae6}[data-theme=dark] .hstat{color:#b4bed6;background:rgba(22,27,38,.85)}[data-theme=dark] .hstat .dot{background:#2b303b}[data-theme=dark] .sendb{color:#7281ca}[data-theme=dark] .sendb.press{background:#171c31}[data-theme=dark] .mbtn{background:#11141a}[data-theme=dark] .arrowline{background:repeating-linear-gradient(90deg,#2b303b 0 4px,transparent 4px 8px)}[data-theme=dark] .mode{background:#11141a}[data-theme=dark] .mode-ui.down .mb-l,[data-theme=dark] .mode-ui.down .mb-s{fill:#e1e3e8}[data-theme=dark] .cl{background:#11141a}[data-theme=dark] .pst{background:rgba(22,27,38,.1)}[data-theme=dark] .fstage .fw,[data-theme=dark] .safe .fw{background:#11141a}[data-theme=dark] .note,[data-theme=dark] .hold{background:#11141a}[data-theme=dark] .hold.warn{background:#2b2415;border-color:#423a24;color:#e3d1b4}[data-theme=dark] .dicon{color:#bcc3dc}[data-theme=dark] .dicon .i{background:rgba(22,27,38,.8)}[data-theme=dark] .logokb{background:linear-gradient(#171f2c,#202734)}[data-theme=dark] .lk{background:#11141a}[data-theme=dark] .vkb{background:#151c26}[data-theme=dark] .vkb .vtg{background:#1f2531}[data-theme=dark] .vkb .vtg i.on{background:#11141a}[data-theme=dark] .vkb .vrow span{background:#11141a}[data-theme=dark] .ev-say,[data-theme=dark] .ev-ed{background:#11141a}[data-theme=dark] .ready{color:#aadfbd;background:#193423}[data-theme=dark] .dash{background:#11141a}[data-theme=dark] .dhm i{background:#202734}[data-theme=dark] .dhm .l1{background:#27313f}[data-theme=dark] .dhm .l2{background:#29313d}[data-theme=dark] .adv{background:#11141a}[data-theme=dark] .tgl{background:#253241}[data-theme=dark] .tgl i{background:#11141a}[data-theme=dark] .evpanel{background:linear-gradient(135deg,#151328,#171930 60%,#14182a)}[data-theme=dark] .evpc{background:#11141a}[data-theme=dark] .every .phone .hd{border-bottom:1px solid rgba(255,255,255,0.03)}[data-theme=dark] .every .lang{border:1px solid rgba(255,255,255,0.03)}[data-theme=dark] .every .snd{background:#1a2231;color:#dce2eb}[data-theme=dark] .every .snd.tap{background:#1f2647}[data-theme=dark] .out .ins{background:#171d30;color:#9591d5}[data-theme=dark] .fphoto{background:#131a27}[data-theme=dark] .dd{background:#11141a}[data-theme=dark] .ddm{background:#11141a}[data-theme=dark] .vx:hover{color:#d69894}[data-theme=dark] .vadd input{border:1px dashed var(--line-2,#29313d);background:#11141a}[data-theme=dark] .k-new{color:#a8dec3}[data-theme=dark] .k-improved{color:#8ba5d3}[data-theme=dark] .dkphone{background:#11141a}[data-theme=dark] .dkchat .in{background:#191f27}[data-theme=dark] .dkchat .me{background:#304421;color:#d0edd7}[data-theme=dark] .cfx-chip{background:#11141a}[data-theme=dark] .cfx-card{background:#11141a}[data-theme=dark] .cfx-bub{background:#304421}[data-theme=dark] .cfx-out{background:#11141a}[data-theme=dark] .cfx-tabs{background:#11141a}[data-theme=dark] .cfx-st li.on{background:#11141a}[data-theme=dark] .cfx-scene{background:radial-gradient(circle at 50% 40%,#11141a,var(--tint-2))}[data-theme=dark] .cfx-phone .sc{background:linear-gradient(#111524,#11141a)}[data-theme=dark] .cfx-phone .gal i{background:#1e2539}[data-theme=dark] .cfx-phone .gal i:nth-child(1){background:linear-gradient(135deg,#47321f,#ff5f8a)}[data-theme=dark] .cfx-phone .gal i:nth-child(5){background:linear-gradient(135deg,#1f3a47,#2f5bff)}[data-theme=dark] .cfx-phone .gal i:nth-child(8){background:linear-gradient(135deg,#21452e,#16a34a)}[data-theme=dark] .cfx-lap .sc{background:#181820}[data-theme=dark] .cfx-lap .base{background:linear-gradient(#282e3e,#303036)}[data-theme=dark] .cfx-lap .tb{background:#212129}[data-theme=dark] .cfx-lap .tb i{background:#282e3e}[data-theme=dark] .cfx-lap .fl i{background:#272730}[data-theme=dark] .cfx-fc{background:#11141a}[data-theme=dark] .cfx-enc{background:#11141a}[data-theme=dark] .cfx-toast{background:#11141a}[data-theme=dark] .cfx-ed-live,[data-theme=dark] .cfx-ed-out{background:#11141a}[data-theme=dark] .cfx-bx{background:#11141a}[data-theme=dark] .cfx-vocab span,[data-theme=dark] .cfx-seg span{background:#11141a}[data-theme=dark] .cfx-seg{background:#11141a}[data-theme=dark] .cfx-wake{background:#11141a}[data-theme=dark] .cfx-off .tg:after{background:#11141a}[data-theme=dark] .cfx-fb span.f1,[data-theme=dark] .cfx-fb span.f2{background:#11141a}[data-theme=dark] .cfx-desk{background:linear-gradient(160deg,#363125,#2b313b 60%,#2b323b)}[data-theme=dark] .cfx-app{background:#11141a}[data-theme=dark] .cfx-app .ab{border-bottom:1px solid #29303d}[data-theme=dark] .cfx-app .wc i{background:#242932}[data-theme=dark] .cfx-app .side{background:#27241c;border-right:1px solid #29303d}[data-theme=dark] .cfx-app .side .on{background:#38352b}[data-theme=dark] .cfx-app .av{background:#272f3e}[data-theme=dark] .cfx-app .cmp{border:1px solid #2b303b}[data-theme=dark] .cfx-tb{background:rgba(22,27,38,.92)}[data-theme=dark] .cfx-tb .ti{background:#2c313a}[data-theme=dark] .cfx-hinge{background:linear-gradient(#3a3d44,#303236)}[data-theme=dark] .cfx-deck{background:linear-gradient(#282b32,#2f3237)}[data-theme=dark] .cfx-deck span{background:#2e3238}[data-theme=dark] .cfx-ands{background:#221d13}[data-theme=dark] .cfx-ands .dr{background:#11141a}[data-theme=dark] .cfx-ands .kb{background:#2f2b24}[data-theme=dark] .cfx-ands .kr i{background:#11141a}[data-theme=dark] .cfx-steps2 button{background:#11141a}[data-theme=dark] .cfb-tabs{background:#11141a}[data-theme=dark] .cfb-steps li:before{background:#11141a}[data-theme=dark] .cfb-steps li.on{background:#11141a}[data-theme=dark] .cfb-gal .g.sel:after{background:#11141a}[data-theme=dark] .cfb-share{background:#11141a}[data-theme=dark] .cfb-share .o1{background:#1d2b3c}[data-theme=dark] .cfb-share .o2{background:#2b3724}[data-theme=dark] .cfb-share .o3{background:#2a1a36}[data-theme=dark] .cfb-lock{background:rgba(22,27,38,.94)}[data-theme=dark] .cfb-files .fr{border-bottom:1px solid #3f3527}[data-theme=dark] .cfb-nt{background:#11141a}[data-theme=dark] .cfb-fly{background:#11141a}[data-theme=dark] .cfb-ex,[data-theme=dark] .cfb-app{background:#11141a}[data-theme=dark] .cfb-ex .ab,[data-theme=dark] .cfb-app .ab{border-bottom:1px solid #29303d}[data-theme=dark] .cfb-ex .fo{background:#473b1f}[data-theme=dark] .cfb-ex .wc i,[data-theme=dark] .cfb-app .wc i{background:#242932}[data-theme=dark] .cfb-ex .bc{background:#171a24;border-bottom:1px solid #29303d}[data-theme=dark] .cfb-ex .hd{border-bottom:1px solid #29303d}[data-theme=dark] .cfb-ex .r.new{background:#1b2a1d}[data-theme=dark] .cfb-app .sd{background:#27241c}[data-theme=dark] .cfb-app .sd .on{background:#38352b}[data-theme=dark] .cfb-app .dz{border:1.5px dashed #2c313a}[data-theme=dark] .cfb-drag{background:#11141a}[data-theme=dark] .cfb-toast{background:#11141a}[data-theme=dark] .ckb-scr{background:#282217}[data-theme=dark] .ckb-ah{border-bottom:1px solid #3d3629;background:#11141a}[data-theme=dark] .ckb-b{background:#11141a}[data-theme=dark] .ckb-b.ckb-me{background:#1e3622}[data-theme=dark] .ckb-ph[data-app=gm] .ckb-b.ckb-me{background:#171f2c}[data-theme=dark] .ckb-ig{background:#11141a}[data-theme=dark] .ckb-inp{background:#11141a;border:1px solid #3c362a}[data-theme=dark] .ckb-send{background:#38352e}[data-theme=dark] .ckb-kb{background:#332f27}[data-theme=dark] .ckb-chip{background:#11141a}[data-theme=dark] .ckb-mic{background:#11141a}[data-theme=dark] .ckb-row i{background:#11141a}[data-theme=dark] .ckb-row i.w{background:#39352d}[data-theme=dark] .ckb-wave{background:#332f27}[data-theme=dark] .cwp-win{background:#11141a}[data-theme=dark] .cwp-ab{border-bottom:1px solid #29303d}[data-theme=dark] .cwp-wc i{background:#242932}[data-theme=dark] .cwp-mb{background:#161a23;border-bottom:1px solid #29303d}[data-theme=dark] .cwp-p .cwp-nw{background:#171f2c}[data-theme=dark] .cwp-ch{border-top:1px dashed #363630}[data-theme=dark] .cwp-ch span{border:1px solid #363630;background:#1d1d18}[data-theme=dark] .cwp-ch span.hit{background:#11141a}[data-theme=dark] .cwp-pill.ps .cwp-dot{background:#333333}[data-theme=dark] .cwp-wv i{background:#11141a}[data-theme=dark] .pd-tab{background:#11141a}[data-theme=dark] .pd-stage{background:linear-gradient(180deg,#17222f,#121a25)}[data-theme=dark] .pdp{background:#1a1a25;color:#e4e4e4}[data-theme=dark] .pdp-row span{background:#262631}[data-theme=dark] .pdp-card{background:#11141a;border:1px solid #2c2c3a}[data-theme=dark] .pdp-box{background:#1c1c28;border:1px solid #333333}[data-theme=dark] .pdp-cnt{color:#b5b5b5}[data-theme=dark] .pdp-tools{border-top:1px solid #333333}[data-theme=dark] .rcpt{background:#252112;color:#dadada}[data-theme=dark] .pdp-ov .frame{border:2px solid #333333}[data-theme=dark] .scanl{background:#1f472f}[data-theme=dark] .pdp-ov.pick{background:#11141a}[data-theme=dark] .pdp-ov.pick .g i{background:#242b37}[data-theme=dark] .wb{background:#11141a linear-gradient(transparent 30%,transparent 31%) !important;border:1px solid #29293d!important}[data-theme=dark] .smsb{background:#11141a}[data-theme=dark] .smsb .cp{background:#161c2d;color:#8d9fd4}[data-theme=dark] .pdchat{background:#121224}[data-theme=dark] .pdm>div{background:#11141a}[data-theme=dark] .pdm.me>div{background:#161a2e}[data-theme=dark] .pdin{background:#11141a}[data-theme=dark] .pdsend{color:#7276ca}[data-theme=dark] .pdxl .r{border-bottom:1px solid #29303d}[data-theme=dark] .pdxl .r>*{border-right:1px solid #29303d}[data-theme=dark] .pdxl .r>:first-child,[data-theme=dark] .pdxl .h>*{background:#1b2026;color:#aaaab6}[data-theme=dark] .pdxl .sel>*:not(:first-child){background:#152c1c}[data-theme=dark] .slide{background:#11141a}[data-theme=dark] .drop{border:2px dashed #263040}[data-theme=dark] .recv{background:#131b26}[data-theme=dark] .pdotp{background:#13161e}[data-theme=dark] .pdotp .boxes i{background:#11141a}[data-theme=dark] .vbtn{background:#272f3f}[data-theme=dark] .btn-line{background:rgba(22,27,38,.8);color:#d7dce6}[data-theme=dark] .steps-mini{color:#bac3dc}[data-theme=dark] [data-theme=dark] .btn-line{border-color:rgba(255,255,255,0.07)}[data-theme=dark] [data-theme=dark] .steps-mini b{background:#161d26;color:#d7dce6}[data-theme=dark] .ckb-real{background:#1d2229}[data-theme=dark] .ckb-brand{color:#d7dce6}[data-theme=dark] .ckb-real .ckb-chip{background:#282d36}[data-theme=dark] .ckb-tg{background:#282d36}[data-theme=dark] .ckb-tg b,[data-theme=dark] .ckb-tg em{color:#d7dce6}[data-theme=dark] .ckb-real .ckb-st{color:#d7dce6}[data-theme=dark] .ckb-bars i{background:#11141a}[data-theme=dark] .ckb-bot{color:#d7dce6}[data-theme=dark] .ckb-space{background:#282d36}[data-theme=dark] .ahf-scr{background:#282217}
/* ===== Dark theme (hand-tuned; generated colour remaps are appended by build.py) ===== */
[data-theme=dark]{color-scheme:dark;--ink:#e9ecf3;--ink-2:#aeb6c8;--ink-3:#8a93a8;--line:#1f2533;--line-2:#2c3445;--bg:#0b0e14;--tint:#111621;--tint-2:#171d2a;
--silver:#3a4150;--g9:#bfe8cf;--g7:#7fd3a2;--g5:#4fbf83;--g2:#173826;--g1:#10261a;--g0:#0d1c14;
--sh:0 1px 2px rgba(0,0,0,.4),0 8px 24px -10px rgba(0,0,0,.6);--sh-lg:0 1px 1px rgba(0,0,0,.4),0 24px 64px -24px rgba(0,0,0,.75)}
[data-theme=dark] body{background:var(--bg);color:var(--ink)}
[data-theme=dark] ::selection{background:#2b3a66;color:#fff}
/* primary button inverts */
[data-theme=dark] .btn-dark{background:#eef1f7;color:#0b0e14;border-color:#eef1f7}
[data-theme=dark] .btn-dark:hover{background:#fff}
[data-theme=dark] .btn-dark .soon{background:#dde2ec;border-color:#cfd5e1;color:#4a5368}
/* night sky hero + end CTA */
[data-theme=dark] .hero,[data-theme=dark] .endcta{background-color:#16244a;background-blend-mode:multiply}
[data-theme=dark] .hero::before{background:radial-gradient(1.2px 1.2px at 12% 14%,rgba(255,255,255,.75),transparent 60%),radial-gradient(1px 1px at 27% 8%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.4px 1.4px at 46% 18%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 63% 6%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1.2px 1.2px at 78% 15%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 90% 9%,rgba(255,255,255,.5),transparent 60%),linear-gradient(180deg,rgba(7,11,24,.72) 0%,rgba(7,11,24,.45) 30%,rgba(7,11,24,.15) 55%,rgba(7,11,24,0) 72%,var(--bg) 100%)}
[data-theme=dark] .endcta::before{background:linear-gradient(180deg,var(--bg) 0%,rgba(7,11,24,.55) 22%,rgba(7,11,24,.55) 100%)!important}
[data-theme=dark] .hero h1,[data-theme=dark] .endcta h2{color:#f2f5fb}
[data-theme=dark] .hero h1 .dim,[data-theme=dark] .endcta .dim{color:#9fb2dc}
[data-theme=dark] .hero p,[data-theme=dark] .endcta p{color:#c9d2e6}
[data-theme=dark] .panel::before{filter:blur(18px) brightness(.35) saturate(.8)}
[data-theme=dark] .phero{background:linear-gradient(180deg,#0f1830,var(--bg))}
/* brand marks */
[data-theme=dark] img[src*="/brand/logo"]{box-shadow:0 0 0 1px rgba(255,255,255,.16);border-radius:24%}
[data-theme=dark] .lk[style*="000000"],[data-theme=dark] .lk[style*="181717"],[data-theme=dark] .lk[style*="4A154B"],[data-theme=dark] .lk[style*="0e0f12"]{--c:#e6e9f0!important}
[data-theme=dark] .mcur path{fill:#f2f4f8;stroke:#0b0e14}
/* placeholders / callouts */
[data-theme=dark] .ph{background:#3a2c08;color:#f5d27a;border-color:#8a6a1c}
[data-theme=dark] .draft{background:#241c08;color:#f0cf7a;border-color:#5c4a17}
[data-theme=dark] .dcta{background:#141a26;border:1px solid var(--line-2)}
[data-theme=dark] .dcta .btn{background:#eef1f7;color:#0b0e14}
[data-theme=dark] .rel .tag{background:#eef1f7;color:#0b0e14}
[data-theme=dark] .k-new{color:#5fd391}[data-theme=dark] .k-improved{color:#7fa8f5}
[data-theme=dark] .prose th{background:var(--tint-2)}
[data-theme=dark] .skip{background:#eef1f7;color:#0b0e14}
/* theme toggle */
.theme-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;flex:none;transition:background .15s,color .15s}
.theme-btn:hover{background:rgba(13,21,48,.06);color:var(--ink)}[data-theme=dark] .theme-btn:hover{background:rgba(255,255,255,.08)}
.theme-btn svg{width:17px;height:17px}.theme-btn .moon{display:none}[data-theme=dark] .theme-btn .sun{display:none}[data-theme=dark] .theme-btn .moon{display:block}
.theme-btn:focus-visible{outline:2px solid #5b6fd6;outline-offset:2px}
.nav-in .theme-btn{margin-right:-10px}
