@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/outfit-latin-variable.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--friend-logo-filter:brightness(0);--background-100:#f6f8fb;--background-200:#edf1f6;--background-300:#e0e7f0;--gray-200:#edf1f6;--gray-300:#e0e7f0;--gray-400:#d1dce8;--gray-900:#43566f;--gray-1000:#10243f;--amber-100:#faf3e3;--amber-700:#e6b450;--amber-800:#dca73e;--amber-900:#785000;--brand-700:#10243f;--rounded-sm:8px;--rounded-md:12px;--rounded-lg:20px;--rounded-full:9999px;--font:Outfit,"PingFang SC","Microsoft YaHei",sans-serif;--layer-media:1;--layer-navigation:10}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--friend-logo-filter:brightness(0) invert(1);--background-100:#0c1b2e;--background-200:#10243f;--background-300:#172f4c;--gray-200:#172f4c;--gray-300:#203c5b;--gray-400:#304c6a;--gray-900:#c0ccda;--gray-1000:#f1f5fa;--amber-100:#29251d;--amber-800:#f0c571;--amber-900:#f0c571}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--friend-logo-filter:brightness(0) invert(1);--background-100:#0c1b2e;--background-200:#10243f;--background-300:#172f4c;--gray-200:#172f4c;--gray-300:#203c5b;--gray-400:#304c6a;--gray-900:#c0ccda;--gray-1000:#f1f5fa;--amber-100:#29251d;--amber-800:#f0c571;--amber-900:#f0c571}}*{box-sizing:border-box}html{scroll-padding-top:32px}body{background:var(--background-100);color:var(--gray-1000);font:400 16px/1.7 var(--font);-webkit-font-smoothing:antialiased;margin:0}main{width:100%;max-width:100%;overflow-x:clip}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,.product-panel:focus-visible{outline:3px solid var(--amber-900);outline-offset:4px}img{max-width:100%;height:auto;display:block}p,h1,h2,h3,h4{margin:0}p{color:var(--gray-900)}h1,h2,h3,h4{font-weight:600}h2{letter-spacing:-.025em;font-size:clamp(32px,3.6vw,48px);line-height:1.15}h3{letter-spacing:-.015em;font-size:24px;line-height:1.3}h4{font-size:17px;line-height:1.4}html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3{letter-spacing:0;line-height:1.25}::selection{background:var(--amber-700);color:var(--brand-700)}.container{width:min(100% - 96px,1280px);margin-inline:auto}.section{padding-block:160px}.icon{width:20px;height:20px;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;background:currentColor;flex:none;display:inline-block}.skip-link{border-radius:var(--rounded-sm);background:var(--amber-700);color:var(--brand-700);z-index:var(--layer-navigation);padding:12px 20px;position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--gray-400);align-items:center;gap:40px;height:72px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:12px;min-height:44px;font-size:19px;font-weight:600;display:inline-flex}.brand-mark{width:var(--mark-size);height:var(--mark-size);flex:none;display:inline-flex;position:relative}.brand-mark>img{outline:1px solid var(--gray-400);border-radius:20%;width:100%;height:100%}.inspector-badge{background:var(--amber-700);border:2px solid var(--background-200);border-radius:var(--rounded-full);place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:-5px;right:-7px}.inspector-badge img{width:16px;height:16px}.language-switch{background:var(--background-200);border:1px solid var(--gray-400);border-radius:var(--rounded-sm);gap:0;margin-left:auto;padding:3px;font-size:14px;display:flex}.language-switch a{white-space:nowrap;border-radius:5px;place-items:center;min-height:38px;padding:0 12px;display:grid}.language-switch a[aria-current]{background:var(--background-100);box-shadow:0 1px 3px #10243f10}.language-switch a:hover{color:var(--amber-900)}.hero{isolation:isolate;align-items:center;min-height:660px;padding-block:64px 80px;display:flex;position:relative}.hero-copy{z-index:var(--layer-media);width:720px;max-width:64%;position:relative}.eyebrow{color:var(--amber-900);margin-bottom:24px;font-size:14px;font-weight:500}.hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:720px;font-size:64px;line-height:1.12}.hero-intro{max-width:470px;margin-top:28px;font-size:20px;line-height:1.6}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;display:flex}.button{border-radius:var(--rounded-sm);white-space:nowrap;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:12px 20px;font-size:16px;font-weight:600;line-height:1.25;transition:transform .16s,background .16s;display:inline-flex}.button.primary{color:var(--brand-700);background:var(--amber-700)}.button.primary:hover{background:var(--amber-800)}.button.secondary{color:var(--gray-1000);background:var(--background-200);border:1px solid var(--gray-400)}.button.secondary:hover{background:var(--gray-300)}.button:active{transform:scale(.98)}.hero-visual{z-index:0;border-radius:0 var(--rounded-lg) var(--rounded-lg) 0;width:50%;position:absolute;top:70px;bottom:44px;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000014 8%,#00000059 18%,#000000b8 30%,#000 44%);mask-image:linear-gradient(90deg,#0000 0%,#00000014 8%,#00000059 18%,#000000b8 30%,#000 44%)}.hero-visual img{object-fit:cover;object-position:67% center;width:100%;height:100%}.hero-intro{max-width:450px}.product-rail{border-top:1px solid var(--gray-400);border-bottom:1px solid var(--gray-400);grid-template-columns:1fr 1fr;display:grid}.product-rail a{letter-spacing:-.025em;justify-content:space-between;align-items:center;gap:16px;padding:28px 32px 28px 0;font-size:clamp(20px,2.3vw,32px);transition:transform .2s;display:flex}.product-rail a+a{border-left:1px solid var(--gray-400);padding-left:32px}.rail-suffix{color:var(--gray-900);font-weight:400}.product-rail a:hover .icon{transform:translate(4px)}.icon{transition:transform .2s}.section-heading{max-width:760px;margin-bottom:48px}.section-heading p{max-width:65ch;margin-top:20px;font-size:20px}.product-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;transition:grid-template-columns .24s;display:grid}.product-panel{border-radius:var(--rounded-lg);background:var(--background-200);border:1px solid var(--gray-400);flex-direction:column;min-width:0;padding:40px;scroll-margin-top:32px;display:flex}.product-name{align-items:center;gap:20px;display:flex}.product-name p{margin-bottom:4px;font-size:13px}.product-name h3{font-size:22px}.product-pitch{letter-spacing:-.02em;color:var(--gray-1000);max-width:450px;margin-top:40px;font-size:30px;font-weight:500;line-height:1.25}.product-description{max-width:65ch;margin-top:20px}.feature-list{gap:24px;margin-block:36px;display:grid}.feature-list p{margin-top:8px;font-size:14px;line-height:1.7}.feature-list h4{font-size:16px}.text-link{text-underline-offset:5px;min-height:44px;color:var(--amber-900);align-self:start;align-items:center;gap:12px;margin-top:auto;font-weight:500;text-decoration:underline;display:inline-flex}.text-link:hover .icon{transform:translate(2px,-2px)}.approach{padding-top:0}.disclosure-product{color:var(--amber-900);margin-bottom:8px;font-size:12px;font-weight:500}.closing{border-top:1px solid var(--gray-400);padding-top:80px}.closing-heading{max-width:800px}.closing h2{margin-top:32px}.closing-heading>p{margin-top:20px;font-size:20px}.repo-links{grid-template-columns:1fr 1fr;gap:32px;margin-top:64px;display:grid}.repo-link{border-bottom:1px solid var(--gray-400);flex-direction:column;gap:20px;padding-block:24px;display:flex}.repo-name{letter-spacing:-.025em;font-size:36px;line-height:1.2}.repo-action{color:var(--amber-900);align-items:center;gap:12px;font-weight:500;display:flex}.repo-action .icon:last-child{margin-left:auto}.repo-link:hover .repo-action .icon:last-child{transform:translate(4px,-4px)}@media (width>=1280px){.hero-copy{max-width:62%}.hero h1{max-width:650px}}@media (width<=1279px){.container{width:calc(100% - 64px)}.hero{min-height:590px}.hero h1{max-width:480px;font-size:48px}.hero-copy{max-width:56%}.hero-visual{width:45%;top:64px;bottom:56px;right:0}.site-header{gap:28px}.product-panel{padding:32px}.product-pitch{font-size:26px}.product-name{gap:16px}.product-name h3{font-size:20px}.section{padding-block:128px}.approach{padding-top:0}.repo-name{font-size:32px}}@media (width<=1023px){.site-header{gap:20px}.hero{min-height:530px}.hero-copy{max-width:56%}.hero-intro{max-width:360px;font-size:18px}.hero-visual{width:42%}.product-panel{padding:28px}.product-name{align-items:flex-start}.product-name h3{font-size:18px}.product-pitch{font-size:25px}}@media (width<=767px){.container{width:calc(100% - 40px)}.section{padding-block:96px}.site-header{gap:12px;height:64px}.wordmark{gap:8px;font-size:16px}.site-header .brand-mark{width:28px;height:28px}.language-switch{margin-left:auto;font-size:12px}.language-switch a{min-height:38px;padding:0 8px}.hero{min-height:0;padding-block:40px 32px;display:block}.hero-copy{width:100%;max-width:100%}.hero-copy:before{display:none}.hero h1{max-width:520px;font-size:32px}.eyebrow{margin-bottom:20px;font-size:13px}.hero-intro{max-width:440px;margin-top:20px;font-size:17px}.actions{margin-top:24px}.button{gap:12px;padding-inline:16px;font-size:14px}.hero-visual{aspect-ratio:3/2;border-radius:var(--rounded-lg);width:100%;height:auto;margin-top:32px;position:relative;top:auto;bottom:auto;right:auto;-webkit-mask-image:none;mask-image:none}.hero-visual img{object-fit:cover;object-position:center}.product-rail a{letter-spacing:-.015em;gap:8px;padding:20px 12px 20px 0;font-size:16px}.product-rail a+a{padding-left:12px}.product-rail .icon{width:16px;height:16px}.rail-suffix{display:block}.section-heading{margin-bottom:32px}.section-heading p{margin-top:16px;font-size:17px}.product-grid{grid-template-columns:1fr;gap:16px}.product-panel{padding:28px 24px}.product-name{align-items:center}.product-name h3{font-size:20px}.product-pitch{margin-top:28px;font-size:26px}.product-description{font-size:15px}.feature-list{gap:24px;margin-block:28px}.approach{padding-top:0}.closing{padding-top:64px}.closing-heading>p{font-size:17px}.repo-links{grid-template-columns:1fr;gap:16px;margin-top:32px}.repo-name{font-size:28px}.repo-link{gap:16px}}@media (height<=720px) and (width>=768px){.hero{min-height:480px;padding-block:32px 48px}.hero-visual{top:32px;bottom:32px}.hero-intro{margin-top:20px}.actions{margin-top:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero-clause{white-space:nowrap;display:inline-block}.approach-layout{gap:40px;display:grid}.approach-title{max-width:880px}.approach-title h2{max-width:820px}.approach-title>p{max-width:72ch;margin-top:24px}.approach-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.support-media{border-radius:var(--rounded-lg);aspect-ratio:4/3;background:var(--background-200);overflow:hidden}.support-media img{object-fit:cover;width:100%;height:100%}.approach-details{min-width:0}.disclosure-rail{gap:8px;display:grid}.disclosure-rail details{background:var(--background-200);border-radius:var(--rounded-sm);min-width:0;padding:16px 24px}.disclosure-rail summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:44px;font-size:17px;font-weight:500;line-height:1.4;list-style:none;display:flex}.disclosure-rail summary::-webkit-details-marker{display:none}.disclosure-rail details[open] summary .icon{transform:rotate(45deg)}.disclosure-body{margin-top:12px;padding-bottom:8px;font-size:14px}.independence{max-width:65ch;margin-top:24px;font-size:14px;line-height:1.7}.site-footer{border-top:1px solid var(--gray-400);grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;padding-block:40px;font-size:14px;display:grid}.footer-brand .wordmark{font-size:16px}.footer-brand>p{margin-top:12px}.footer-links-area{text-align:right;min-width:0}.friend-links h2{letter-spacing:0;font-size:14px;line-height:1.7}.friend-links ul{flex-direction:column;align-items:flex-end;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.friend-links a{text-underline-offset:4px;max-width:100%;min-height:44px;color:var(--gray-900);align-items:center;gap:8px;text-decoration:underline;display:inline-flex}.friend-logo{width:28px;height:auto;filter:var(--friend-logo-filter);opacity:.75;flex:none}.friend-links a:hover{color:var(--amber-900)}@media (width<=1023px){.approach-content{gap:24px}.disclosure-rail details{padding:12px 16px}}@media (width<=767px){.approach-layout{gap:32px}.approach-content{grid-template-columns:1fr;gap:24px}.approach-title>p{margin-top:20px}.disclosure-body{font-size:15px}.site-footer{grid-template-columns:1fr;gap:32px;padding-block:32px}.footer-brand{text-align:center}.footer-links-area{display:none}}@media (width>=768px){.product-grid:has(.harness-panel:focus-within),.product-grid:not(:has(.product-panel:focus-within)):has(.harness-panel:target){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.product-grid:has(.inspector-panel:focus-within),.product-grid:not(:has(.product-panel:focus-within)):has(.inspector-panel:target){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.header-controls{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.theme-switch{border:1px solid var(--gray-400);border-radius:var(--rounded-sm);background:var(--background-200);width:44px;height:44px;color:var(--gray-1000);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-switch[hidden]{display:none}.theme-switch:hover{color:var(--amber-900)}.theme-switch:focus-visible{outline:3px solid var(--amber-900);outline-offset:4px}.theme-switch [data-theme-icon]{display:none}.theme-switch[data-mode=light] [data-theme-icon=light],.theme-switch[data-mode=dark] [data-theme-icon=dark],.theme-switch[data-mode=system] [data-theme-icon=system]{display:flex}@media (width<=380px){.site-header{gap:8px}.site-header .wordmark{gap:6px;font-size:14px}.site-header .brand-mark{width:24px;height:24px}.header-controls{gap:4px}.language-switch a{padding-inline:5px}}
