@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f4f6;--surface: #ffffff;--surface-2: #fafafb;--fg: #16171c;--fg-muted: #555863;--line: rgba(15, 16, 20, .09);--line-strong: rgba(15, 16, 20, .16);--dot: rgba(15, 16, 20, .12);--hero: #ffe6cc;--hero-2: #ffd2a6;--hero-fg: #2a1408;--hero-muted: #6b3a17;--hero-dot: rgba(42, 20, 8, .16);--brand: #e8590c;--brand-text: #a63a0d;--accent: #4f5fe8;--accent-text: #3f4fd4;--accent-soft: rgba(79, 95, 232, .12);--btn: #2a1408;--btn-fg: #fff1e3;--btn-hover: #4a2410;--focus: #4f5fe8;--danger: #c62828;--bezel: #1b1c22;--face-top: #e9eaee;--face-left: #c9ccd4;--face-right: #dcdee4;--edge: #6b6f7c;--radius: 22px;--radius-sm: 12px;--shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 18px 50px -20px rgba(15, 16, 20, .22);--font: "Geist Variable", -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--gutter: clamp(16px, 4vw, 40px);--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light dark}:root[data-theme=light]{color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b0c0f;--surface: #15161b;--surface-2: #1b1c22;--fg: #ececef;--fg-muted: #a3a6b0;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--dot: rgba(255, 255, 255, .09);--hero: #2a1408;--hero-2: #3d1d0b;--hero-fg: #ffe1c2;--hero-muted: #f0b98a;--hero-dot: rgba(255, 174, 94, .16);--brand: #f26b1d;--brand-text: #ff9a5a;--accent: #7c8cff;--accent-text: #b9c2ff;--accent-soft: rgba(124, 140, 255, .16);--btn: #ffae5e;--btn-fg: #2a1408;--btn-hover: #ffc286;--focus: #9aa6ff;--danger: #ff8a80;--bezel: #000;--face-top: #40444f;--face-left: #23262d;--face-right: #2e323b;--edge: #8c91a0;--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 24px 64px -24px rgba(0, 0, 0, .7)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0c0f;--surface: #15161b;--surface-2: #1b1c22;--fg: #ececef;--fg-muted: #a3a6b0;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--dot: rgba(255, 255, 255, .09);--hero: #2a1408;--hero-2: #3d1d0b;--hero-fg: #ffe1c2;--hero-muted: #f0b98a;--hero-dot: rgba(255, 174, 94, .16);--brand: #f26b1d;--brand-text: #ff9a5a;--accent: #7c8cff;--accent-text: #b9c2ff;--accent-soft: rgba(124, 140, 255, .16);--btn: #ffae5e;--btn-fg: #2a1408;--btn-hover: #ffc286;--focus: #9aa6ff;--danger: #ff8a80;--bezel: #000;--face-top: #40444f;--face-left: #23262d;--face-right: #2e323b;--edge: #8c91a0;--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 24px 64px -24px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:1rem;line-height:1.55;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;background-image:radial-gradient(var(--dot) 1px,transparent 1.4px);background-size:28px 28px;pointer-events:none}img,svg{display:block;max-width:100%}a{color:inherit}ul,ol{padding:0;list-style:none}h1,h2,h3{font-weight:500;text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}.skip{position:absolute;left:16px;top:-100px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--btn);color:var(--btn-fg);text-decoration:none;font-weight:500}.skip:focus{top:12px}.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:24px;padding:14px var(--gutter);transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}.site-header.is-stuck{background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}.brand{display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:1.05rem;letter-spacing:-.02em;text-decoration:none;min-height:44px}.site-nav{display:flex;gap:4px;margin-inline:auto}.site-nav a,.lang{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;text-decoration:none;font-size:.92rem;color:var(--fg-muted);transition:background-color .15s var(--ease),color .15s var(--ease)}.site-nav a:hover,.lang:hover{background:var(--line);color:var(--fg)}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.site-nav+.header-actions{margin-left:0}.lang{min-width:44px;justify-content:center;font-weight:500;color:var(--fg)}.site-header:not(.is-stuck) .brand,.site-header:not(.is-stuck) .lang,.site-header:not(.is-stuck) .site-nav a{color:var(--hero-fg)}.site-header:not(.is-stuck) .site-nav a:hover,.site-header:not(.is-stuck) .lang:hover{background:color-mix(in srgb,var(--hero-fg) 10%,transparent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.theme-switch{display:none;margin:0;padding:2px;border:1px solid var(--line);border-radius:999px;gap:2px;min-width:0}.js .theme-switch{display:inline-flex}.theme-switch label{position:relative;display:grid;place-items:center;width:32px;height:32px;border-radius:999px;color:var(--fg-muted);cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease)}.theme-switch input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.theme-switch label:hover{color:var(--fg)}.theme-switch label:has(input:checked){background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #0f10141f}.theme-switch label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.site-header:not(.is-stuck) .theme-switch{border-color:color-mix(in srgb,var(--hero-fg) 18%,transparent)}.site-header:not(.is-stuck) .theme-switch label{color:color-mix(in srgb,var(--hero-fg) 70%,transparent)}.site-header:not(.is-stuck) .theme-switch label:has(input:checked){background:color-mix(in srgb,var(--hero-fg) 12%,transparent);color:var(--hero-fg);box-shadow:none}@media(max-width:900px){.site-nav{display:none}.site-nav+.header-actions{margin-left:auto}}@media(max-width:440px){.site-header .btn{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:0;font:inherit;font-weight:550;font-size:.95rem;text-decoration:none;cursor:pointer;transition:background-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:var(--btn);color:var(--btn-fg);box-shadow:0 8px 24px -12px #2a140899}.btn-primary:hover{background:var(--btn-hover)}.btn-ghost{background:transparent;color:var(--hero-fg);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--hero-fg) 30%,transparent)}.btn-ghost:hover{background:color-mix(in srgb,var(--hero-fg) 8%,transparent)}.btn-lg{min-height:52px;padding:0 26px;font-size:1rem}.btn-sm{min-height:40px;padding:0 16px;font-size:.88rem}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:grid;align-items:center;padding:120px var(--gutter) 96px;color:var(--hero-fg);background:radial-gradient(var(--hero-dot) 1px,transparent 1.4px) 0 0 / 28px 28px,radial-gradient(120% 80% at 20% 30%,var(--hero-2),transparent 70%),linear-gradient(var(--hero) 0 70%,var(--bg))}.hero-inner{width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(24px,4vw,64px);align-items:start}.hero-mark{grid-column:1 / -1;display:flex;align-items:center;gap:.06em;font-size:min(calc((100vw - 2 * var(--gutter)) / 4.75),17rem)}.hero-launch{width:.95em;height:.95em;flex:none;overflow:visible}.wordmark{font-size:1em;font-weight:720;letter-spacing:-.06em;line-height:.82;animation:word-in .5s ease-out 1.9s both}@keyframes word-in{0%{opacity:0;transform:translateY(.04em)}to{opacity:1;transform:none}}.eyebrow,.kicker,.mono-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.eyebrow{margin-top:28px;color:var(--hero-muted)}.hero-copy{margin-top:24px}.lede{font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.35;letter-spacing:-.012em;max-width:30ch}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.scroll-cue{position:absolute;left:50%;bottom:24px;translate:-50% 0;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;color:var(--hero-fg)}@media(max-width:820px){.hero{padding-bottom:104px}.hero-inner{grid-template-columns:1fr}.eyebrow{margin-top:20px}.lede{max-width:34ch}}.launch-mark path{transform-box:view-box}.hero-launch path.facet{transform-origin:var(--o);animation:facet-in .95s cubic-bezier(.22,.9,.3,1) var(--d) both,sweep .38s ease-in-out var(--s)}.hero-launch path.stem{transform-origin:71px 50px;animation:stem-in .28s ease-out var(--d) both,sweep .38s ease-in-out var(--s)}.hero-launch path.leaf{transform-origin:71.4px 47.9px;animation:leaf-in .44s cubic-bezier(.3,.9,.4,1) var(--d) both,sweep .38s ease-in-out var(--s)}@keyframes facet-in{0%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--r)) scale(.55)}to{opacity:1;transform:none}}@keyframes stem-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}@keyframes leaf-in{0%{opacity:0;transform:rotate(var(--r)) scale(.15)}70%{opacity:1;transform:rotate(0) scale(1.07)}to{opacity:1;transform:none}}@keyframes sweep{50%{filter:brightness(1.32)}}.js .is-in .final-launch path{animation:sweep .38s ease-in-out calc(var(--s) - 1.1s)}.section{padding:clamp(88px,13vw,168px) var(--gutter) 0}.narrow{max-width:760px;margin:0 auto}.wide{max-width:1160px;margin-inline:auto}.center{text-align:center}.kicker{color:var(--fg-muted);margin-bottom:18px}h2{font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.04;letter-spacing:-.032em;font-weight:500}.body-lg{margin-top:22px;font-size:clamp(1.02rem,1.4vw,1.15rem);color:var(--fg-muted);max-width:62ch}.center .body-lg{margin-inline:auto}h3{font-size:1.08rem;letter-spacing:-.012em;line-height:1.3}.statement{text-align:center}.statement .narrow{margin-bottom:clamp(48px,7vw,88px)}.card{background:var(--surface);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border:1px solid var(--line)}.card p{margin-top:10px;color:var(--fg-muted);font-size:.96rem}.steps,.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}.step{padding-top:24px}.step-n{display:block;font-family:var(--mono);font-size:2.6rem;letter-spacing:-.04em;line-height:1;color:var(--fg);margin-bottom:40px}.feature-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bg);color:var(--fg);margin-bottom:28px;flex:none}@media(max-width:900px){.steps,.grid-3{grid-template-columns:1fr 1fr}}@media(max-width:620px){.steps,.grid-3{grid-template-columns:1fr}.step-n{margin-bottom:24px}}.point-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:center}.point-copy .body-lg{margin-inline:0}.point-compare{margin-top:28px;display:grid;gap:12px}.point-compare>div{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:12px;align-items:baseline}.point-compare dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}.point-compare dd{font-size:1rem}.point-without{color:var(--fg-muted)}.point-demo{margin:0;display:grid;gap:12px;padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.point-stage{border-radius:var(--radius-sm);background:radial-gradient(circle at 50% 45%,var(--surface-2),color-mix(in srgb,var(--bg) 70%,var(--face-left)));padding:18px}.point-model{width:100%;overflow:visible}.point-model .face{stroke:var(--edge);stroke-width:.5;stroke-linejoin:round}.point-model .face-top{fill:var(--face-top)}.point-model .face-left{fill:var(--face-left)}.point-model .face-right{fill:var(--face-right)}.point-model .hole{fill:var(--face-left);stroke:var(--edge);stroke-width:.4}.point-model .hole-picked,.point-model .hole-selected{transform-box:view-box;transform:scale(1.34)}.point-model .hole-selected{fill:var(--accent-soft);stroke:var(--accent);stroke-width:.8}.point-model .click-ring{fill:none;stroke:var(--accent);stroke-width:.6;opacity:0;transform-box:fill-box;transform-origin:center}.point-model .pointer path{fill:var(--fg);stroke:var(--surface);stroke-width:.6;stroke-linejoin:round}.point-model .pointer{transform-box:view-box}.point-composer{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);min-height:48px}.point-message{flex:1;min-width:0;font-size:.92rem}.point-send{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--fg);color:var(--surface)}.point-status{min-height:20px;margin:0 4px}.js .is-in .point-demo .seq{animation:seq-in .32s ease-out var(--t) both}.js .is-in .point-model .pointer{animation:pointer-in .8s cubic-bezier(.3,.7,.2,1) var(--t) both}.js .is-in .point-model .click-ring{animation:ring .5s ease-out var(--t)}.js .is-in .point-model .hole-picked{animation:grow .42s cubic-bezier(.3,.9,.4,1) var(--g) both}.js .is-in .point-model .hole-selected{animation:seq-fade .2s linear var(--t) both,grow .42s cubic-bezier(.3,.9,.4,1) var(--g) both}.js .is-in .point-send{animation:press .32s ease-out var(--t)}@keyframes pointer-in{0%{transform:translate(34px,26px);opacity:0}25%{opacity:1}to{transform:none;opacity:1}}@keyframes ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.2)}}@keyframes grow{0%{transform:scale(1)}to{transform:scale(1.34)}}@keyframes seq-fade{0%{opacity:0}}@keyframes press{50%{transform:scale(.86);background:var(--accent)}}.mock-caption{margin-top:16px;text-align:center;font-size:.88rem;color:var(--fg-muted)}@media(max-width:900px){.point-split{grid-template-columns:1fr}}.sources{margin-top:56px;display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px}.source-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.source-group .mono-label{color:var(--fg-muted);font-weight:400;margin-bottom:16px}.pills{display:flex;flex-wrap:wrap;gap:8px}.pills li{padding:8px 14px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:.95rem;font-weight:500}.trust{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.trust li{display:flex;gap:16px;align-items:flex-start;padding:24px;border-radius:var(--radius);border:1px dashed var(--line-strong)}.trust .feature-icon{margin:0}.trust p{margin-top:6px;color:var(--fg-muted);font-size:.95rem}@media(max-width:900px){.sources{grid-template-columns:1fr 1fr}.sources .source-group:last-child{grid-column:1 / -1}}@media(max-width:620px){.sources,.trust{grid-template-columns:1fr}}.example{padding:0;overflow:hidden}.example-art{height:clamp(200px,22vw,260px);display:grid;place-items:center;padding:24px;background:radial-gradient(var(--dot) 1px,transparent 1.4px) 0 0 / 16px 16px,var(--surface-2);border-bottom:1px solid var(--line)}.example h3{padding:22px 26px 0}.example p{padding:0 26px 26px}.art{width:100%;height:100%;min-height:0;overflow:visible}.art .face{stroke:var(--edge);stroke-width:.6;stroke-linejoin:round}.art .face-top{fill:var(--face-top)}.art .face-left{fill:var(--face-left)}.art .face-right{fill:var(--face-right)}.art .line{fill:none;stroke:var(--edge);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}.art .line-accent{stroke:var(--fg)}.exports{margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line-strong)}.export{padding:26px 24px 28px 0;border-bottom:1px solid var(--line)}.export dt{font-size:clamp(1.4rem,2.4vw,1.9rem);letter-spacing:-.03em;font-weight:500}.export dd{margin-top:6px;color:var(--fg-muted);font-size:.95rem}.export-bambu{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;align-items:baseline}@media(max-width:900px){.exports{grid-template-columns:1fr 1fr}}@media(max-width:620px){.exports{grid-template-columns:1fr}.export-bambu{grid-template-columns:1fr;gap:0}}.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:56px;max-width:820px}.plan h3{font-size:1rem;color:var(--fg-muted);font-weight:500}.plan-price{margin-top:10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.plan-price span{font-size:clamp(2.2rem,4vw,2.8rem);letter-spacing:-.03em;font-weight:550;color:var(--fg)}.plan-price small{font-size:.92rem;color:var(--fg-muted)}.plan-features{margin-top:22px;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:20px}.plan-features li{display:flex;gap:10px;align-items:flex-start;color:var(--fg);font-size:.96rem}.plan-features svg{flex:none;margin-top:3px;color:var(--fg-muted)}.plan-main{border-color:var(--line-strong);box-shadow:var(--shadow),0 0 0 1px var(--line-strong)}.plans-note{max-width:820px;margin-top:14px;text-align:center;font-size:.85rem;color:var(--fg-muted)}.waitlist{max-width:820px;margin-top:40px;padding:28px;border-radius:var(--radius);border:1px dashed var(--line-strong);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:start;scroll-margin-top:96px}.waitlist p{margin-top:6px;color:var(--fg-muted);font-size:.96rem}.waitlist-action{display:grid;justify-items:start;align-content:center}.waitlist-message{min-height:1.4em;margin-top:10px;font-size:.88rem}@media(max-width:720px){.plans,.waitlist{grid-template-columns:1fr}}.final{position:relative;isolation:isolate;overflow:hidden;text-align:center;color:var(--hero-fg);margin-top:clamp(96px,14vw,180px);padding:clamp(120px,18vw,220px) var(--gutter);background:radial-gradient(var(--hero-dot) 1px,transparent 1.4px) 0 0 / 28px 28px,linear-gradient(var(--bg),var(--hero) 45%,var(--hero-2))}.final-inner{max-width:640px;margin:0 auto;display:grid;justify-items:center}.final-launch{width:72px;height:72px;overflow:visible;margin-bottom:28px}.final h2{font-size:clamp(2.4rem,6vw,4.4rem)}.final .body-lg{color:var(--hero-muted);margin-bottom:32px}.site-footer{padding:72px var(--gutter) 40px;background:var(--hero-2);color:var(--hero-fg)}.footer-row{display:grid;gap:12px;max-width:1280px;margin:0 auto;font-size:.92rem;color:var(--hero-muted)}.footer-row .brand{justify-self:start;min-height:0;color:var(--hero-fg)}.footer-links{display:flex;flex-wrap:wrap;column-gap:20px}.footer-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--hero-fg);text-decoration:none}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-row .fine{max-width:75ch;font-size:.8rem}.footer-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 32px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--hero-fg) 14%,transparent)}.footer-more>span{grid-column:1 / -1}.footer-more a{display:flex;align-items:flex-start;gap:12px;padding-block:12px;color:var(--hero-muted);font-size:.88rem;line-height:1.5;text-decoration:none}.footer-more img{flex:none;width:40px;height:40px}.footer-more a>span{display:grid;gap:2px;text-wrap:pretty}.footer-more strong{color:var(--hero-fg);font-size:.95rem;font-weight:650}.footer-more a:hover strong{text-decoration:underline;text-underline-offset:4px}.legal-head{padding:clamp(120px,16vw,176px) var(--gutter) clamp(40px,6vw,64px);color:var(--hero-fg);background:radial-gradient(var(--hero-dot) 1px,transparent 1.4px) 0 0 / 28px 28px,linear-gradient(var(--hero) 0 60%,var(--bg))}.legal-head .legal-doc{display:grid;gap:16px}.legal-head h1{font-size:clamp(2.4rem,6vw,4rem);font-weight:650;letter-spacing:-.04em;line-height:1.02}:lang(zh-Hant-TW) .legal-head h1{letter-spacing:0}.legal-head .mono-label{color:var(--hero-muted)}.legal-doc{max-width:720px;margin-inline:auto}.prose{padding:0 var(--gutter) clamp(88px,12vw,144px);box-sizing:content-box;color:var(--fg-muted)}.prose>*+*{margin-top:16px}.prose h2{margin-top:48px;font-size:1.35rem;font-weight:600;letter-spacing:-.015em;color:var(--fg)}.prose h2+*{margin-top:12px}.prose ul{padding-left:1.25em;list-style:disc}.prose li+li,.prose li>ul{margin-top:8px}.prose li>p{margin-top:8px}.prose strong{color:var(--fg);font-weight:600}.prose a{color:var(--fg);text-underline-offset:3px}.mock{margin:0}.mock-window{background:var(--bezel);border-radius:30px;padding:12px;text-align:left;box-shadow:0 40px 80px -40px #0f101480}.mock-bar{display:flex;align-items:center;gap:16px;padding:4px 10px 12px;color:#c9ccd4;font-size:.8rem}.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:#3a3c45}.mock-tab{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#2a2c34}.mock-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);background:var(--surface);border-radius:20px;overflow:hidden;min-height:440px}.mock-chat{display:flex;flex-direction:column;gap:12px;padding:20px;border-right:1px solid var(--line);font-size:.86rem}.mock-title{font-weight:600;font-size:.82rem;color:var(--fg-muted)}.msg{line-height:1.45}.msg-user{align-self:flex-end;max-width:88%;padding:10px 14px;border-radius:16px 16px 4px;background:var(--bg)}.msg-agent{display:flex;gap:10px}.msg-agent>div{min-width:0}.msg-agent p+p{margin-top:8px}.msg-avatar{flex:none;margin-top:2px}.msg-q{font-weight:600}.msg-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.opt{padding:6px 12px;border-radius:999px;border:1px solid var(--line-strong);font-size:.8rem}.opt-pick{border-color:var(--fg);background:var(--fg);color:var(--surface)}.chip{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent-text);font-weight:550}.mock-phases{display:grid;margin-top:auto;min-height:20px;color:var(--brand-text);font-size:.8rem;font-weight:500}.mock-phase{grid-area:1 / 1;display:flex;align-items:center;gap:8px;opacity:0}.mock-view{position:relative;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 50% 45%,var(--surface-2),color-mix(in srgb,var(--bg) 70%,var(--face-left)))}.mock-model{width:min(100%,460px);overflow:visible}.mock-model .face{stroke:var(--edge);stroke-width:.5;stroke-linejoin:round}.mock-model .face-top{fill:var(--face-top)}.mock-model .face-left{fill:var(--face-left)}.mock-model .face-right{fill:var(--face-right)}.mock-model .face-selected{fill:color-mix(in srgb,var(--accent) 22%,var(--face-top));fill-opacity:.85;stroke:var(--accent);stroke-width:1.2;stroke-linejoin:round}.mock-model .hole{fill:var(--face-left);stroke:var(--edge);stroke-width:.4}.mock-model .dim{stroke:var(--fg-muted);stroke-width:.5;fill:none}.mock-model .dim-label{font-family:var(--mono);font-size:5.5px;fill:var(--fg-muted)}.mock-versions{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:.75rem;color:var(--fg-muted)}.mock-versions b{font-family:var(--mono);font-weight:500;padding:2px 7px;border-radius:6px}.mock-versions b.is-current{background:var(--fg);color:var(--surface)}@media(max-width:760px){.mock-window{border-radius:22px;padding:8px}.mock-body{grid-template-columns:minmax(0,1fr);min-height:0}.mock-view{order:-1;aspect-ratio:4 / 3;padding:20px}.mock-chat{border-right:0;border-top:1px solid var(--line)}.mock-ref .mock-view{order:1}.mock-size{top:16px;bottom:auto}.mock-ref .replay{left:auto;right:14px}.mock-ref .mock-chat{border-top:0;border-bottom:1px solid var(--line)}}.ref-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(28px,4vw,56px);align-items:center}.ref-copy .body-lg{margin-inline:0}@media(max-width:900px){.ref-split{grid-template-columns:1fr}.ref-copy{text-align:center}.ref-copy .body-lg{margin-inline:auto}}.mock-ref .mock-body{min-height:400px}.mock-ref .mock-view{padding-bottom:64px}.ref-stage{position:relative;width:min(100%,440px);aspect-ratio:4 / 3}.ref-stage .mock-solid{display:block;width:100%;height:100%}.mock-solid .face{vector-effect:non-scaling-stroke;stroke-width:1px}.mock-solid .face-smooth{stroke-width:.5px}@media(min-resolution:2dppx){.mock-solid .face{stroke-width:.5px}.mock-solid .face-smooth{stroke-width:.25px}}.viewer{display:none;position:absolute;inset:0;cursor:grab;visibility:hidden}.viewer.is-mounted{display:block}.viewer canvas{display:block;width:100%;height:100%}.viewer.is-dragging{cursor:grabbing}.viewer:focus-visible{outline-offset:-4px}.has-viewer .viewer{visibility:visible}.viewer-only .mock-solid{visibility:hidden}.viewer-hint{display:none}.has-viewer .viewer-hint{display:block}.viewer-hint{position:absolute;top:14px;right:14px;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.72rem;color:var(--fg-muted)}.msg-attach{display:grid;gap:8px}.attachment{display:inline-flex;align-items:center;gap:8px;justify-self:end;padding:4px 10px 4px 4px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-family:var(--mono);font-size:.72rem;color:var(--fg-muted)}.attachment img{width:40px;height:40px;border-radius:8px}.msg-note{align-self:center;max-width:92%;padding:6px 12px;border-radius:999px;border:1px dashed var(--line-strong);color:var(--fg-muted);font-size:.75rem;text-align:center}.mock-size{position:absolute;left:16px;bottom:16px;font-family:var(--mono);font-size:.72rem;color:var(--fg-muted)}.js .is-in .mock .seq{animation:seq-in .32s ease-out var(--t) both}@keyframes seq-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.js .is-in .mock .opt-pick{animation:pick 1ms linear var(--t) both}@keyframes pick{0%{border-color:var(--line-strong);background:transparent;color:var(--fg)}to{border-color:var(--fg);background:var(--fg);color:var(--surface)}}.js .is-in .mock-phase{animation:phase var(--len) linear var(--t)}@keyframes phase{0%,to{opacity:1}}.js .is-in .mock-model .face{stroke-dasharray:1;animation:edges .38s cubic-bezier(.33,1,.68,1) var(--edges) both,faces .34s linear var(--faces) both}.js .is-in .mock-model .hole,.js .is-in .mock-model .dims{animation:fade .34s linear var(--faces) both}@keyframes edges{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes faces{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes fade{0%{opacity:0}}.js .is-in .mock-ref .mock-model .face{stroke-dasharray:1;animation:edges .32s cubic-bezier(.33,1,.68,1) var(--d) both,faces .28s linear calc(var(--d) + .22s) both,sweep .38s ease-in-out var(--s)}.js .is-in .mock-ref .mock-model .face.leaf{stroke-dasharray:none;transform-box:view-box;transform-origin:var(--o);animation:leaf-in .5s cubic-bezier(.3,.9,.4,1) var(--d) both,sweep .38s ease-in-out var(--s)}@property --lines{syntax: "<integer>"; inherits: false; initial-value: 0;}.mock-lines{--lines: var(--lines-to);counter-reset:lines var(--lines);font-family:var(--mono);color:var(--fg-muted);font-weight:400}.mock-lines:after{content:" · " counter(lines) attr(data-unit);white-space:pre}.js .is-in .mock-ref .mock-lines{animation:lines-tick var(--len) cubic-bezier(.3,.6,.4,1) var(--t) both}@keyframes lines-tick{0%{--lines: 0}to{--lines: var(--lines-to)}}.replay{display:none;position:absolute;left:14px;top:14px;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font:inherit;font-size:.75rem;color:var(--fg-muted);cursor:pointer}.replay:hover{color:var(--fg);border-color:var(--line-strong)}.js .mock-ref .replay{display:inline-flex}@media(prefers-reduced-motion:reduce){.js .mock-ref .replay{display:none}}.brand-mark-think path{animation:brand-think 2.6s ease-in-out infinite}@keyframes brand-think{0%,60%,to{filter:none}30%{filter:brightness(1.22)}}.brand-mark-write path{animation:brand-write 1.9s ease-in-out infinite}@keyframes brand-write{0%,to{opacity:.28}35%{opacity:1}}.brand-mark-build path{fill-opacity:0;stroke-dasharray:1;stroke-dashoffset:1;animation:brand-build 2.6s ease-in-out infinite}@keyframes brand-build{0%{stroke-dashoffset:1;fill-opacity:0}40%{stroke-dashoffset:0;fill-opacity:0}65%,85%{stroke-dashoffset:0;fill-opacity:1}to{stroke-dashoffset:0;fill-opacity:0}}.js .is-in .art .line,.js .is-in .art .face{stroke-dasharray:1;animation:edges 1.1s ease-in-out calc(var(--i, 0) * .12s + .15s) both}.js .is-in .art .face{animation:edges 1.1s ease-in-out calc(var(--i, 0) * .12s + .15s) both,faces .4s linear calc(var(--i, 0) * .12s + .9s) both}.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i, 0) * 70ms)}.js [data-reveal].is-in{opacity:1;transform:none}:lang(zh-Hant-TW) h2,:lang(zh-Hant-TW) h3,:lang(zh-Hant-TW) .lede{letter-spacing:0}:lang(zh-Hant-TW) h2{line-height:1.2;word-break:keep-all;overflow-wrap:anywhere}:lang(zh-Hant-TW) .lede{line-height:1.55}:lang(zh-Hant-TW) .body-lg,:lang(zh-Hant-TW) .card p{line-height:1.75}:lang(zh-Hant-TW) .kicker,:lang(zh-Hant-TW) .eyebrow,:lang(zh-Hant-TW) .mono-label{letter-spacing:.08em}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;animation-timing-function:var(--ease)}.theme-fading,.theme-fading *,.theme-fading *:before,.theme-fading *:after{transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),fill .3s var(--ease),stroke .3s var(--ease),box-shadow .3s var(--ease)!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}[class*=brand-mark-] path{opacity:1;fill-opacity:1;stroke-dashoffset:0}}
