@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-BCNrxLz_.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-normal-maQnHeKB.woff)format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-normal-DehAIUv0.woff2)format("woff2"),url(/assets/eb-garamond-latin-500-normal-DZU8xF9o.woff)format("woff")}:root{--bg:#fbfcfb;--panel:#eef3f1;--panel-active:#dce7e3;--ink:#22313a;--body:#3c4b53;--muted:#5b6b70;--border:#d5e0dc;--rule:#e6edea;--pre-bg:#f3f7f5;--pre-border:#dde6e2;--link:#b4502a;--link-hover:#8e3d1f;--accent:#e0703a;--selection:#f7dccb;--note:#2f6a9a;--note-bg:#ebf0f3;--on-ink-muted:#dce4e3;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-heading:"Songti SC", STSong, "Noto Serif CJK SC", "Source Han Serif SC", serif;--heading-weight:600}html[lang=en]{--font-heading:"EB Garamond", Georgia, serif;--heading-weight:500}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.75}html[lang=en] body{line-height:1.65}::selection{background:var(--selection)}a{color:var(--link)}a:hover{color:var(--link-hover)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}h1,h2,h3{color:var(--ink);margin:0}h1,h2{font-family:var(--font-heading);font-weight:var(--heading-weight)}.container{max-width:1120px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}.lead{max-width:34em;color:var(--body);margin:16px 0 0}.muted{color:var(--muted)}section{padding:88px 0}.section-title{font-size:36px;line-height:1.35}html[lang=en] .section-title{font-size:44px;line-height:1.15}.site-header{border-bottom:1px solid var(--rule)}.nav{flex-wrap:wrap;align-items:center;gap:12px 32px;padding-top:18px;padding-bottom:18px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{width:32px;height:32px}.wordmark{letter-spacing:.01em;font-family:EB Garamond,Georgia,serif;font-size:26px}.nav-links{flex-wrap:wrap;align-items:center;gap:8px 28px;margin-left:auto;font-size:15px;display:flex}.nav-links a{color:var(--ink);text-decoration:none}.nav-links a:hover{color:var(--link)}.nav-links .btn,.nav-links .btn:hover{color:#fff}.lang{color:var(--muted);gap:6px;display:flex}.lang a{color:var(--muted)}.lang [aria-current]{color:var(--ink);font-weight:500}.btn{background:var(--ink);color:#fff;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:0 18px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{color:#fff;background:#2d3f49}.btn-large{border-radius:12px;min-height:52px;padding:0 26px;font-size:17px}.btn-light{color:var(--ink);background:#fff;font-weight:600}.btn-light:hover{background:var(--panel);color:var(--ink)}.btn svg{flex:none;width:18px;height:18px}.hero{flex-wrap:wrap;align-items:center;gap:56px;padding-top:96px;padding-bottom:72px;display:flex}.hero-copy{flex:380px;min-width:0}.hero h1{letter-spacing:.02em;font-size:56px;line-height:1.25}html[lang=en] .hero h1{letter-spacing:-.01em;font-size:64px;line-height:1.08}.hero h1 .line{display:block}.ink-line{width:min(320px,80%);height:24px;margin-top:14px;display:block;overflow:visible}.ink-line path{fill:none;stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.ink-line circle{fill:var(--accent)}.hero .lead{max-width:30em;margin-top:20px;font-size:19px}.cta-row{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:36px;display:flex}.cta-note{color:var(--muted);font-size:14px}.hero-visual{flex:520px;min-width:0}.win{border:1px solid var(--border);background:var(--bg);border-radius:14px;overflow:hidden;box-shadow:0 24px 48px -24px #22313a40}.win-bar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 14px;display:flex}.win-bar .dot{background:var(--border);border-radius:50%;width:12px;height:12px}.win-title{color:var(--muted);margin-left:12px;font-size:13px}.win-body{min-height:360px;display:flex}.win-side{background:var(--panel);border-right:1px solid var(--border);flex:0 0 30%;padding:14px 10px;font-size:13px;line-height:1.6}.win-side div{color:var(--muted);padding:4px 8px 4px 20px}.win-side .folder{padding-left:8px}.win-side .active{background:var(--panel-active);color:var(--ink);border-radius:6px}.win-main{flex:auto;min-width:0;padding:22px 26px;font-size:14px;line-height:1.75}.win-h1{border-bottom:1px solid var(--rule);padding-bottom:6px;font-size:22px;font-weight:600}.win-main p{margin:12px 0 0}.fake-link{color:var(--link);text-decoration:underline}.selected{background:var(--selection)}.caret{vertical-align:-3px;background:var(--accent);width:2px;height:16px;margin-left:1px;display:inline-block}.callout{background:var(--note-bg);border-radius:6px;margin-top:12px;padding:8px 12px;font-size:13px}.callout b{color:var(--note);font-weight:600}.mini-table{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px;font-size:13px;display:grid;overflow:hidden}.mini-table div{padding:6px 10px}.mini-table .th{border-bottom:1px solid var(--border);font-weight:600}.mini-table .stripe{background:var(--pre-bg)}.band{background:var(--panel)}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px;margin-top:48px;display:grid}.grid-3 svg{fill:none;width:28px;height:28px;stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.grid-3 h3{margin-top:14px;font-size:19px;font-weight:600}.grid-3 p{color:var(--body);margin:8px 0 0;font-size:16px}.compare{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px;display:grid}.compare figure{margin:0}.compare figcaption{color:var(--muted);margin-bottom:10px;font-size:14px}.source{border:1px solid var(--pre-border);background:var(--pre-bg);font-family:var(--font-mono);border-radius:12px;margin:0;padding:20px 22px;font-size:14px;line-height:1.8;overflow-x:auto}.source .ln{white-space:pre-wrap;border-radius:4px;margin:0 -6px;padding:0 6px;display:block}.rendered{border:1px solid var(--border);background:#fff;border-radius:12px;padding:20px 24px;font-size:16px}.rendered>*{border-radius:4px}.frontmatter{border:1px dashed var(--pre-border);font-family:var(--font-mono);color:var(--muted);padding:2px 10px;font-size:13px;display:inline-block}.r-h1{border-bottom:1px solid var(--rule);margin-top:10px;padding-bottom:4px;font-size:24px;font-weight:600}.rendered p{margin:12px 0 0}.rendered .callout{font-size:16px}.rendered .callout b{font-size:14px}.tag{color:var(--muted)}mark{color:inherit;background:#fef08a;border-radius:2px;padding:0 2px}.pair-hl{isolation:isolate;position:relative}.pair-hl:before{content:"";background:var(--selection);opacity:var(--hl,0);pointer-events:none;z-index:-1;border-radius:6px;position:absolute;inset:-2px -6px}.features{border-top:1px solid var(--rule)}.feature-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px 40px;margin:40px 0 0;padding:0;list-style:none;display:grid}.feature-list b{font-weight:600;display:block}.feature-list span{color:var(--body);font-size:16px}.story{text-align:center}.swim{width:100%;max-width:640px;height:auto;margin:0 auto;display:block;overflow:visible}.swim .trail{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linecap:round;opacity:.55}.story h2{margin-top:12px;font-size:30px}html[lang=en] .story h2{font-size:36px}.story-text{font-family:var(--font-heading);margin:20px 0 0;font-size:19px;line-height:2}html[lang=en] .story-text{font-size:22px;line-height:1.7}.faq-list{border-top:1px solid var(--border);margin-top:32px}.faq-list details{border-bottom:1px solid var(--border);padding:18px 0}.faq-list summary{cursor:pointer;min-height:28px;font-weight:600}.faq-list p{color:var(--body);margin:10px 0 0;font-size:16px}.download{background:var(--ink);color:#fff}.download .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.download h2{color:#fff}.download p{color:var(--on-ink-muted);margin:12px 0 0}.download .small{margin-top:4px;font-size:14px}.site-footer{color:var(--muted);flex-wrap:wrap;gap:12px 32px;padding-top:32px;padding-bottom:48px;font-size:14px;display:flex}.site-footer a{color:var(--muted)}.site-footer .end{margin-left:auto}.motion [data-reveal],.motion .hero h1 .line,.motion .hero .lead,.motion .hero .cta-row,.motion .ink-line,.motion .swim .koi{opacity:0}.ink-line circle{transform-box:fill-box;transform-origin:50%}@media (width<=640px){section{padding:64px 0}.hero{padding-top:56px}.hero h1{font-size:42px}html[lang=en] .hero h1{font-size:46px}.section-title,html[lang=en] .section-title{font-size:30px}.win-side,.nav-links>a:not(.btn){display:none}.nav-links{gap:16px}.site-footer .end{margin-left:0}}
