:root{--bg: #f5f6fa;--surface: #ffffff;--text: #0b1222;--text-2: #3a4356;--muted: #6b7386;--line: rgba(15, 23, 42, .09);--teal: #0e93a3;--indigo: #3f48b8;--blue: #2f6df6;--gold: #ffc54d;--red: #ff5a5f;--grad: linear-gradient(115deg, #0e93a3 0%, #2f6df6 52%, #5a4fd0 100%);--dark: #060a15;--dark-2: #0c1222;--radius: 22px;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 32px -12px rgba(15, 23, 42, .16);--shadow-lg: 0 2px 6px rgba(15, 23, 42, .05), 0 40px 80px -24px rgba(23, 37, 84, .28);--sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--mono: "SF Mono", ui-monospace, Menlo, monospace;--pad: clamp(1.25rem, 4vw, 2.5rem);--wrap: min(1200px, calc(100% - var(--pad) * 2));color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}a{color:inherit}button,input{font:inherit;color:inherit}img{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::selection{background:#2f6df633}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:1rem;top:-4rem;z-index:50;padding:.6rem 1rem;border-radius:10px;background:var(--text);color:#fff}.skip:focus{top:1rem}.icon{width:1em;height:1em;fill:currentColor;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:48px;padding:0 1.4rem;border-radius:999px;background:var(--text);color:#fff;font-weight:600;font-size:1rem;text-decoration:none;box-shadow:0 8px 20px -8px #0b122280;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px -10px #0b12228c}.btn.ghost{background:#ffffffb3;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.btn.ghost:hover{background:#fff}.btn.small{min-height:36px;padding:0 1rem;font-size:.9rem}.nav{position:sticky;top:0;z-index:40;background:#f5f6fab8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}.nav-inner{width:var(--wrap);margin:0 auto;height:60px;display:flex;align-items:center;gap:2rem}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.brand img{border-radius:8px}.brand em{font-style:normal;font-weight:500;color:var(--muted);margin-left:.15rem}.nav nav{display:flex;gap:1.6rem;margin-left:auto}.nav nav a{text-decoration:none;color:var(--text-2);font-size:.95rem;transition:color .2s}.nav nav a:hover,.nav nav a.on{color:var(--text)}.nav nav a.on{font-weight:600}main{position:relative}main:before{content:"";position:absolute;inset:-60px 0 auto 0;height:900px;z-index:-1;background:radial-gradient(600px 420px at 12% 18%,rgba(14,147,163,.16),transparent 70%),radial-gradient(720px 520px at 88% 10%,rgba(90,79,208,.16),transparent 70%),radial-gradient(560px 380px at 70% 70%,rgba(47,109,246,.1),transparent 70%)}.hero{width:var(--wrap);margin:0 auto;padding:clamp(3.5rem,9vh,6.5rem) 0 clamp(3rem,7vh,5rem);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}.hero-eyebrow{color:var(--muted);font-size:.95rem;font-weight:500;letter-spacing:.04em}.nowrap{white-space:nowrap}.hero h1{margin-top:1.25rem;font-size:clamp(2.6rem,5vw,4.25rem);line-height:1.16;letter-spacing:-.02em;font-weight:600;color:var(--text)}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lede{margin-top:1.5rem;max-width:30rem;color:var(--muted);text-wrap:balance;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem;margin-top:2.2rem}.link{display:inline-flex;align-items:center;gap:.35rem;min-height:48px;color:var(--text);font-weight:500;text-decoration:none}.link span{transition:transform .2s ease}.link:hover span{transform:translate(3px)}.hero-actions.center{justify-content:center}.hero-meta{margin-top:1.2rem;color:var(--muted);font-size:.9rem}.demo{position:relative}.demo:before{content:"";position:absolute;top:8%;right:-4%;bottom:-6%;left:-4%;z-index:-1;border-radius:40px;background:var(--grad);filter:blur(60px);opacity:.28}.window{position:relative;border-radius:16px;background:#ffffffeb;box-shadow:var(--shadow-lg),inset 0 0 0 1px #fff9;overflow:visible;-webkit-user-select:none;user-select:none}.titlebar{display:flex;align-items:center;gap:.8rem;height:48px;padding:0 .9rem 0 1rem;border-bottom:1px solid var(--line);border-radius:16px 16px 0 0;background:linear-gradient(#fbfbfd,#f3f4f8)}.lights{display:flex;gap:8px}.lights i{width:12px;height:12px;border-radius:50%;background:#ff5f57}.lights i:nth-child(2){background:#febc2e}.lights i:nth-child(3){background:#28c840}.window-title{font-size:.86rem;font-weight:600;color:var(--text-2)}.doc{position:relative;min-height:290px;padding:1.8rem 1.6rem 1.6rem}.line{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.4;min-height:1.4em;letter-spacing:.01em}.preedit{font-family:var(--mono);font-size:.82em;color:var(--text);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:6px;white-space:pre}.caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--blue);animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}.candbar{position:absolute;left:1.2rem;top:5.3rem;max-width:calc(100% - 2.4rem);display:flex;gap:2px;padding:6px;border-radius:999px;background:#f4f5f9b8;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:0 0 0 1px #ffffffb3 inset,0 0 0 1px #0f172a12,0 18px 40px -14px #0f172a59;opacity:0;transform:translateY(-6px) scale(.98);transform-origin:left top;transition:opacity .18s ease,transform .18s ease;overflow:hidden}.candbar.shown{opacity:1;transform:none}.candbar>span{display:inline-flex;align-items:baseline;gap:.35rem;padding:.45rem .85rem;border-radius:999px;font-size:1.15rem;white-space:nowrap}.candbar .idx{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.candbar>span.picked{background:var(--blue);color:#fff;box-shadow:0 6px 14px -6px #2f6df6cc}.candbar>span.picked .idx{color:#fffc}.stats{width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.stat{padding:1.8rem 1.6rem;display:grid;gap:.3rem}.stat+.stat{border-left:1px solid var(--line)}.stat strong{font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.1;letter-spacing:-.03em;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stat span{color:var(--muted);font-size:.92rem}.section{width:var(--wrap);margin:0 auto;padding:clamp(5rem,13vh,8.5rem) 0 0}.section-head{max-width:46rem;margin:0 auto;text-align:center}.eyebrow{display:inline-block;margin-bottom:.9rem;font-size:.86rem;font-weight:700;letter-spacing:.12em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.section-head h2{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.2;letter-spacing:-.02em;font-weight:600}.section-lede{margin-top:1.1rem;color:var(--text-2);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.75}.privacy-grid{margin-top:3.5rem;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:1.2rem}.perm-card{padding:2rem;border-radius:var(--radius);background:linear-gradient(160deg,#0d1a33,#11224a 55%,#1b1f5e);color:#fff;box-shadow:var(--shadow-lg)}.perm-title{font-weight:700;font-size:1.1rem;margin-bottom:1.2rem}.perms{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.perms li{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:14px;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff14;font-size:.95rem}.perm-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:14px}.perms .denied .perm-mark{background:#ff5a5f2e;color:#ff8b8e}.perms .denied>span:nth-child(2){color:#ffffffd1}.perms .granted{background:#0e93a333;box-shadow:inset 0 0 0 1px #50dceb4d}.perms .granted .perm-mark{background:#50dceb40;color:#8ff0fa}.perm-state{margin-left:auto;font-size:.8rem;color:#ffffff8c}.perms .granted .perm-state{color:#8ff0fa}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.card,.feature{padding:1.8rem;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}.card:hover,.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--grad);color:#fff;font-size:22px;box-shadow:0 10px 20px -10px #2f6df6b3}.card h3,.feature h3{margin-top:1.1rem;font-size:1.15rem;letter-spacing:-.01em}.card p,.feature p{margin-top:.5rem;color:var(--text-2);font-size:.97rem;line-height:1.7}.section.dark{width:100%;margin-top:clamp(5rem,13vh,8.5rem);padding:clamp(5rem,12vh,8rem) 0;background:radial-gradient(700px 400px at 15% 0%,rgba(14,147,163,.22),transparent 70%),radial-gradient(800px 500px at 90% 100%,rgba(90,79,208,.25),transparent 70%),var(--dark);color:#fff}.dark-inner{width:var(--wrap);margin:0 auto}.dark .section-lede{color:#ffffffb3}.iso{margin:4rem 0 0;display:grid;grid-template-columns:minmax(130px,1fr) minmax(80px,.75fr) minmax(170px,1.1fr) minmax(80px,.75fr) minmax(290px,1.6fr);align-items:center}.iso-node{position:relative;display:grid;justify-items:center;text-align:center;gap:.25rem;padding:1.5rem 1rem;border-radius:20px;background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.iso-node>.icon{width:46px;height:46px;padding:11px;border-radius:14px;background:#ffffff1a;margin-bottom:.4rem}.iso-node.app>.icon{background:var(--grad)}.iso-node.ime>.icon{background:linear-gradient(135deg,#ffb340,#ff7a59)}.iso-node strong{font-size:1rem}.iso-node span{font-size:.8rem;color:#fff9}.seal{margin-top:.5rem;display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;background:#28c87829;color:#6ff0a8;font-style:normal;font-size:.75rem;font-weight:600}.iso-link{position:relative;padding:0 .6rem}.iso-label{display:block;margin-bottom:.7rem;text-align:center;font-size:.78rem;color:#ffffffb3;white-space:nowrap}.track{position:relative;display:block;height:2px;background:repeating-linear-gradient(90deg,rgba(120,220,230,.55) 0 6px,transparent 6px 12px)}.pkt{position:absolute;top:50%;left:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#7ff3ff;box-shadow:0 0 0 4px #7ff3ff2e,0 0 18px 4px #7ff3ff8c;animation:flow-x 2.6s linear infinite}.pkt.late{animation-delay:1.3s}.pkt.slow{animation-duration:3.4s;animation-delay:.6s}@keyframes flow-x{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}to{left:100%;opacity:0}}.sandbox{position:relative;display:grid;grid-template-rows:1fr auto 1fr;gap:1rem;padding:2.4rem 1.4rem 1.4rem;border-radius:26px;border:1.5px dashed rgba(255,197,77,.55);background:linear-gradient(160deg,#ffc54d12,#ff7a590a)}.sandbox-tag{position:absolute;top:-.85rem;left:1.2rem;display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .75rem;border-radius:999px;background:var(--dark);box-shadow:inset 0 0 0 1px #ffc54d8c;color:var(--gold);font-size:.78rem;font-weight:700}.sb-row{display:grid;align-content:center;gap:.55rem;min-height:96px}.blocked{position:relative;display:flex;align-items:center;height:26px}.wall{width:4px;height:26px;border-radius:2px;background:var(--red);box-shadow:0 0 14px #ff5a5fcc}.lane{position:relative;flex:1;height:2px;margin-left:6px;background:repeating-linear-gradient(90deg,rgba(255,90,95,.4) 0 5px,transparent 5px 10px)}.pkt.bad{background:#ff8b8e;box-shadow:0 0 0 4px #ff5a5f33,0 0 16px 4px #ff5a5f8c;animation:bounce-back 2.8s ease-in infinite}@keyframes bounce-back{0%{left:100%;opacity:0}10%{opacity:1}55%{left:0;opacity:1;transform:scale(1)}62%{left:0;opacity:0;transform:scale(2.2)}to{left:0;opacity:0}}.bang{position:absolute;left:-9px;top:50%;display:grid;place-items:center;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--red);color:#fff;font-size:12px;opacity:0;animation:bang 2.8s ease-in infinite}@keyframes bang{0%,52%{opacity:0;transform:scale(.4)}58%{opacity:1;transform:scale(1.15)}75%{opacity:1;transform:scale(1)}92%,to{opacity:0;transform:scale(1)}}.blocked-label,.keyflow-label{font-size:.78rem;color:#fff9;text-align:center}.blocked-label{color:#ff9b9e}.keyflow{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.8rem;border-radius:16px;background:#ffffff0d}.keys{display:flex;gap:4px}.keys kbd{display:grid;place-items:center;width:26px;height:28px;border-radius:7px;background:#ffffff1f;box-shadow:inset 0 -2px #00000059;font-family:var(--mono);font-size:.8rem;animation:keypress 3s ease infinite;animation-delay:calc(var(--i) * .18s)}@keyframes keypress{0%,30%,to{background:#ffffff1f;transform:none}8%{background:#7ff3ff73;transform:translateY(1px)}}.arrow{color:#ffffff80}.out{font-size:1.25rem;font-weight:600;animation:appear 3s ease infinite}@keyframes appear{0%,30%{opacity:.15}42%,90%{opacity:1}to{opacity:.15}}.steps{list-style:none;margin:4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.step{padding:1.6rem;border-radius:20px;background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff17}.step-n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--grad);font-weight:700;font-size:.9rem}.step h3{margin-top:1rem;font-size:1.05rem}.step p{margin-top:.45rem;font-size:.92rem;line-height:1.7;color:#ffffffad}.acc-grid{margin-top:3.5rem;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:1.2rem}.acc-hero,.acc-chart{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.acc-hero{padding:2.4rem 2rem;display:flex;flex-direction:column;justify-content:center}.acc-number{font-size:clamp(4.2rem,9vw,7.5rem);line-height:1;font-weight:800;letter-spacing:-.05em;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.acc-number span{font-size:.45em;letter-spacing:0;margin-left:.12em}.acc-caption{margin-top:.6rem;font-size:1.35rem;font-weight:700}.acc-sub{margin-top:.3rem;color:var(--muted);font-size:.92rem}.acc-chip{margin-top:1.8rem;padding:1rem 1.1rem;border-radius:16px;background:linear-gradient(135deg,#0e93a31a,#5a4fd01a);box-shadow:inset 0 0 0 1px #2f6df626;display:grid;gap:.2rem}.acc-chip strong{font-size:1.05rem}.acc-chip span{color:var(--text-2);font-size:.86rem}.acc-chart{padding:2rem;display:grid;gap:1.6rem}.legend{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-size:.85rem;color:var(--text-2)}.legend .key{display:inline-flex;align-items:center;gap:.45rem}.legend .key:before{content:"";width:12px;height:12px;border-radius:4px}.legend .ours:before{background:var(--grad)}.legend .apple:before{background:#9aa3b5}.legend .rime:before{background:#d6dae4}.bar-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.7rem;flex-wrap:wrap}.bar-head h3{font-size:1.05rem}.bar-head span{color:var(--muted);font-size:.85rem}.bar{position:relative;height:40px;margin-top:.45rem;border-radius:12px;background:#0f172a0a;overflow:hidden}.fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:12px;transition:width 1.3s cubic-bezier(.22,1,.36,1) .15s}.bar.ours .fill{background:var(--grad)}.bar.apple .fill{background:#9aa3b5}.bar.rime .fill{background:#d6dae4}.reveal.in .fill{width:calc(var(--v) * 1%)}.value{position:absolute;top:50%;transform:translateY(-50%);left:.9rem;font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums}.bar.ours .value{color:#fff}.bar.apple .value{color:var(--text)}.bar.rime .value{color:var(--text-2)}.delta{margin-top:.55rem;font-size:.88rem;color:var(--text-2)}.delta strong{font-size:1rem;color:var(--blue)}.delta-note{margin-top:.25rem;font-size:.82rem;color:var(--muted)}.source{font-size:.78rem;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:1.1rem}.source code{font-family:var(--mono);font-size:.95em}.feature-grid{margin-top:3.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.feature-tag{display:inline-block;padding:.18rem .6rem;border-radius:999px;background:#2f6df614;color:var(--blue);font-size:.78rem;font-weight:700}.feature-sample{margin-top:1.1rem!important;padding:.6rem .8rem;border-radius:12px;background:var(--bg);font-family:var(--mono);font-size:.88rem!important;color:var(--text)!important}.cta{width:var(--wrap);margin:clamp(5rem,13vh,8.5rem) auto 0;padding:clamp(3rem,7vw,4.5rem) var(--pad);border-radius:32px;text-align:center;background:radial-gradient(500px 260px at 20% 0%,rgba(14,147,163,.18),transparent 70%),radial-gradient(500px 260px at 80% 100%,rgba(90,79,208,.18),transparent 70%),var(--surface);box-shadow:var(--shadow-lg);display:grid;justify-items:center}.cta img{border-radius:18px;box-shadow:0 16px 30px -12px #2f6df699}.cta h2{margin-top:1.4rem;font-size:clamp(1.8rem,3.6vw,2.7rem);letter-spacing:-.02em;font-weight:600}.cta p{margin-top:.8rem;color:var(--text-2)}.footer{margin-top:4rem;border-top:1px solid var(--line)}.footer-inner{width:var(--wrap);margin:0 auto;padding:1.6rem 0 2.4rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem;color:var(--muted);font-size:.86rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay, 0ms)}.reveal.in{opacity:1;transform:none}@media(max-width:1020px){.hero{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-lede{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.privacy-grid,.acc-grid{grid-template-columns:1fr}.steps,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.iso{grid-template-columns:minmax(0,420px);justify-content:center;gap:0}.iso-link{height:78px;padding:0;display:flex;align-items:center;justify-content:center}.iso-label{position:absolute;left:calc(50% + 18px);top:50%;transform:translateY(-50%);margin:0}.track{width:2px;height:100%;background:repeating-linear-gradient(180deg,rgba(120,220,230,.55) 0 6px,transparent 6px 12px)}.pkt{left:50%;top:0;animation-name:flow-y}.pkt.bad{top:50%}@keyframes flow-y{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}to{top:100%;opacity:0}}}@media(max-width:720px){body{font-size:16px}.nav nav{display:none}.nav-inner{justify-content:space-between}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.cards,.feature-grid,.steps{grid-template-columns:1fr}.doc{min-height:250px;padding:1.4rem 1.1rem}.candbar{left:.7rem;max-width:calc(100% - 1.4rem);overflow-x:auto}.candbar>span{padding:.4rem .65rem;font-size:1.05rem}.acc-chart,.acc-hero,.perm-card,.card,.feature{padding:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.fill{transition:none}.reveal .fill,.fill{width:calc(var(--v) * 1%)}.pkt,.bang,.keys kbd,.out,.caret{animation:none}.pkt{opacity:0}.bang,.out{opacity:1}}
