@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400..800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI Variable Text", "Segoe UI", "Microsoft YaHei UI", sans-serif;--font-display:"Bricolage Grotesque", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg:#f6f0e7;--bg-alt:#efe6d9;--bg-stage:#ece2d3;--paper:#fbf8f3;--panel:#f1eadf;--glass:#ffffff8c;--glass-strong:#ffffffc7;--ink:#2f2419;--ink-2:#4e4134;--ink-3:#5f5246;--body:#3a2e22;--muted:#6c6157;--placeholder:#6a5e53;--accent:#b45309;--accent-ink:#9a4508;--accent-deep:#7a3606;--accent-press:#8a3f06;--accent-wash:#b453091f;--accent-wash-soft:#b4530914;--accent-line:#b4530980;--selection:#b4530929;--success:#166534;--success-wash:#1665341f;--warning:#854d0e;--warning-wash:#854d0e24;--info:#1e4e8c;--info-ink:#24364d;--info-wash:#1e4e8c12;--line:#8e7e6a33;--line-2:#8e7e6a4d;--line-3:#8e7e6a66;--tint:#8e7e6a24;--umber:#2a2017;--umber-2:#2f2419;--umber-key:#4a3a2a;--umber-line:#e7ded124;--on-umber:#f7f1e8;--on-umber-2:#cdbfae;--on-umber-3:#b8a996;--on-umber-faint:#8e7e6a;--scrollbar-thumb:#8e7e6a61;--scrollbar-thumb-on-umber:#e7ded138;--s-key:#e9a866;--s-str:#b5d69b;--s-fn:#f3d7a8;--s-com:#8e7e6a;--s-prop:#a9ccda;--s-num:#e9a866;--strata-1:#efe4d3;--strata-2:#e8d8c2;--strata-3:#e0cbb0;--strata-4:#d6bb9b;--strata-5:#cba984;--strata-6:#bf9670;--shadow-sm:0 2px 6px #2f24190f;--shadow-md:0 20px 50px #2f24191f;--shadow-lg:0 30px 70px #2f24192e, 0 2px 8px #2f241914;--shadow-accent:0 1px 0 #ffffff40 inset, 0 10px 24px #b453093d;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--page-max:1240px;--gutter:24px;--nav-h:72px}*{box-sizing:border-box}html{color:var(--ink);font-family:var(--font);scroll-behavior:smooth;background-color:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;line-height:1.6}body{min-height:100vh;color:var(--ink);background-color:var(--bg);margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent-ink);text-decoration:none}a:hover{color:var(--accent-deep)}img,svg{display:block}code,kbd,pre{font-family:var(--mono)}::selection{background:var(--selection)}body *{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}body ::-webkit-scrollbar{width:8px;height:8px}body ::-webkit-scrollbar-track{background:0 0}body ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb) padding-box;border:2px solid #0000;border-radius:999px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}}.site-shell{background:var(--bg);min-width:0;overflow-x:clip}.wrap{max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto}.wrap--narrow{max-width:1040px}.sec{background:var(--bg);padding:112px 0}.sec--alt{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sec-head{flex-direction:column;gap:14px;max-width:760px;display:flex}.sec-head--center{text-align:center;align-items:center;margin:0 auto}.sec-head--split{flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;max-width:none}.eyebrow{font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0}.h-display,.h-section{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0;font-weight:700}.h-display{font-size:clamp(42px,5.4vw,72px);line-height:1.12}.h-section{font-size:clamp(30px,3.6vw,46px);line-height:1.16}.lead{color:var(--ink-3);text-wrap:pretty;margin:0;font-size:17px;line-height:1.7}.lead--lg{font-size:18px}.btn{border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 22px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn .ico{width:17px;height:17px}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:var(--accent-press);color:#fff}.btn-ghost{border-color:var(--line-3);background:var(--glass);color:var(--ink)}.btn-ghost:hover{background:var(--glass-strong);color:var(--ink)}.btn-dark{background:var(--umber-2);color:var(--on-umber)}.btn-dark:hover{color:var(--on-umber);background:#3d3023}.btn-on-dark{color:var(--on-umber);border-color:#e7ded14d}.btn-on-dark:hover{color:var(--on-umber);background:#e7ded114}.btn-lg{min-height:52px;padding:0 26px;font-size:16px}.btn[disabled]{opacity:.55;cursor:default;transform:none}.link-arrow{align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:600;display:inline-flex}.link-arrow .ico{width:16px;height:16px}.ico{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.pill{border:1px solid var(--line-2);background:var(--glass);color:var(--ink-3);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:5px 14px 5px 5px;font-size:13px;display:inline-flex}.pill-tag{background:var(--ink);color:var(--on-umber);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.keycap{border:1px solid var(--line-3);background:var(--paper);min-width:48px;height:48px;box-shadow:0 3px 0 var(--line-3);color:var(--ink);font:600 18px/1 var(--font);border-radius:10px;justify-content:center;align-items:center;padding:0 12px;transition:transform .15s,box-shadow .15s,color .2s,border-color .2s;display:inline-flex}.keycap--sm{min-width:0;height:32px;box-shadow:0 2px 0 var(--line-3);border-radius:8px;padding:0 10px;font-size:15px}.keycap.is-pressed{box-shadow:0 1px 0 var(--line-3);border-color:var(--accent);color:var(--accent-ink);transform:translateY(2px)}.check-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.check-list li{align-items:flex-start;gap:12px;display:flex}.check-list .check{background:var(--accent-wash);width:24px;height:24px;color:var(--accent-ink);border-radius:999px;flex:none;place-items:center;margin-top:1px;display:grid}.check-list--ok .check{background:var(--success-wash);color:var(--success)}.check-list .check .ico{stroke-width:2.2px;width:14px;height:14px}.check-list strong{font-size:16px;font-weight:650;display:block}.check-list span{color:var(--ink-3);font-size:15px}.inline-code{font:500 .88em var(--mono);background:#8e7e6a29;border-radius:5px;padding:1px 6px}.strata{pointer-events:none;height:420px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.strata svg{stroke:#785c3e29;stroke-width:1px;width:200%;height:100%}.strata--drift svg{animation:120s linear infinite strata-drift}@keyframes strata-drift{0%{transform:translate(0)}to{transform:translate(-50%)}}.demo-stage{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg-stage);padding:32px 32px 40px;position:relative}.is-download-pending{opacity:.72}.download-toast{z-index:60;background:var(--ink);max-width:min(90vw,420px);color:var(--on-umber);text-align:center;box-shadow:var(--shadow-md);border-radius:999px;padding:12px 22px;font-size:.92rem;font-weight:600;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.download-toast-enter-active,.download-toast-leave-active{transition:opacity .2s,transform .2s}.download-toast-enter-from,.download-toast-leave-to{opacity:0;transform:translate(-50%,8px)}[data-reveal]{opacity:0;transition:opacity .68s cubic-bezier(.2, .7, 0, 1) var(--reveal-delay,0s), transform .68s cubic-bezier(.2, .7, 0, 1) var(--reveal-delay,0s);transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}@media (width<=720px){.sec{padding:80px 0}.demo-stage{border-radius:var(--radius-lg);padding:16px 12px 28px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
