:root{--paper:#f5f4ef;--ink:#202820;--muted:#626b62;--line:#dcded4;--accent:#d74d2d;--green:#46634a;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,pre:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{cursor:wait}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.site-header{height:104px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:32px}.brand{font-size:27px;font-weight:750;letter-spacing:-1.2px;display:inline-flex;align-items:center;white-space:nowrap}.brand svg{width:29px;height:29px;margin-right:11px;fill:var(--accent);stroke:var(--accent);stroke-width:2}.brand svg path{fill:none}.brand-dot{color:var(--accent)}nav{display:flex;gap:32px;margin-left:auto;font-size:14px}nav a:hover,.text-link:hover,footer a:hover{color:var(--accent)}.header-actions{display:flex;gap:22px;align-items:center}#language{border:0;background:none;padding:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}.github-link{padding:11px 16px;border:1px solid #bdc3b7;border-radius:4px;font-size:13px;font-weight:600}.github-link span{margin-left:12px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding-top:86px;padding-bottom:80px}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:1.7px;font-weight:500;margin:0 0 27px;display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}h1{font-size:clamp(48px,5.4vw,76px);line-height:1.17;letter-spacing:-3px;font-weight:650;margin:0 0 27px}html[lang=en] h1{font-size:clamp(44px,4.8vw,65px);letter-spacing:-2.6px}.hero-description{font-size:15px;line-height:1.95;color:var(--muted);margin:0;max-width:460px}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 23px;border-radius:4px;font-size:14px;font-weight:550}.primary{color:#fff;background:var(--accent);transition:background .2s,transform .2s}.primary:hover{background:#bd3e22;transform:translateY(-2px)}.text-link{font-size:13px;font-weight:550;display:inline-flex;gap:15px;align-items:center}.hero-note{font-size:11px;display:flex;align-items:center;gap:10px;margin-top:37px;color:var(--muted)}.mini-mark{font:14px var(--mono);color:var(--green)}.vector-lab{border:1px solid #ced2c5;border-radius:8px;background:#eeefe7;padding:20px 22px 14px;box-shadow:0 15px 45px #263d1d05;transform:rotate(-1deg)}.lab-top{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:1px;color:var(--muted)}.lab-top>span:first-child{display:flex;align-items:center;gap:7px;color:var(--ink)}#vector-map{width:100%;height:auto;display:block;margin:15px 0 5px;overflow:visible}.axis-label{font:10px var(--mono);fill:#7e8577}.point-label{font:10px var(--mono);fill:#3b553f}.query-label{font:bold 10px var(--mono);fill:var(--accent)}.lab-controls,.lab-controls>div{display:flex;align-items:center;gap:14px}.lab-controls{justify-content:space-between;border-top:1px solid #d4d8ca;padding-top:15px}.control-label{font-size:11px;color:var(--muted)}.query-buttons{display:flex;gap:6px}.query-buttons button{font:11px var(--mono);background:transparent;border:1px solid #cad0c1;border-radius:3px;width:29px;height:28px;color:var(--green)}.query-buttons button[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.neighbors-label{font:10px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:8px}select{color:var(--ink);background:transparent;border:1px solid #bdc5b5;padding:4px;border-radius:3px}.lab-result{display:flex;justify-content:space-between;align-items:center;gap:10px;font:10px var(--mono);color:var(--green);margin-top:16px}.legend{display:flex;align-items:center;gap:6px;font-family:inherit}.legend i{height:5px;width:5px;background:var(--accent);border-radius:50%}.legend i:nth-of-type(2){margin-left:6px;background:var(--green)}.lab-caption{font-size:9px;color:var(--muted);margin:12px 0 0;line-height:1.7}.stack-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stack-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 0;font:15px var(--mono);color:#525b4f}.stack-inner>span:first-child{font:10px var(--mono);letter-spacing:1px;color:#6a7366}.section{padding-top:85px;padding-bottom:85px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:42px}h2{font-size:36px;line-height:1.35;letter-spacing:-1px;font-weight:600;margin:0}.section-heading .eyebrow,.architecture-grid .eyebrow,.start-grid .eyebrow{color:var(--muted);margin-bottom:20px}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.9;margin:0 0 4px}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.features article{padding:30px 31px 30px 0;position:relative;display:flex;flex-direction:column}.features article+article{padding-left:31px;border-left:1px solid var(--line)}.feature-icon{font:35px var(--mono);height:50px;color:var(--green)}.feature-number{position:absolute;right:30px;top:35px;font:10px var(--mono);color:#7c8576}h3{font-size:20px;letter-spacing:-.4px;margin:20px 0 14px;font-weight:600}.features p{color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 23px}.features a{margin-top:auto}.architecture-section{background:#e9ece2;border-block:1px solid #e1e4d9;padding:70px 0}.architecture-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.section-description{font-size:14px;line-height:1.95;color:var(--muted);max-width:380px;margin:22px 0}.architecture-diagram{border:1px solid #c7cdbd;border-radius:5px;padding:22px 27px;background:#f0f1e9}.diagram-top{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:1.4px;color:var(--muted);margin-bottom:24px}.diagram-node{padding:17px 10px;text-align:center;border:1px solid #bbc5af;border-radius:4px;background:var(--paper);font:15px var(--mono);position:relative}.diagram-node.entry{background:#344c38;color:#fff;border-color:#344c38}.diagram-node small{display:block;font:8px var(--mono);letter-spacing:1.3px;margin-top:8px;color:var(--muted)}.diagram-node.entry small{color:#c4d0c2}.node-divider{color:#a1aa97;margin:0 8px}.connector{height:23px;width:1px;background:#b1bda6;margin:auto}.diagram-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fork{height:24px;position:relative}.fork:after{content:"";width:230px;height:12px;position:absolute;left:50%;transform:translateX(-50%);top:12px;border:1px solid #b1bda6;border-bottom:0}.architecture-diagram>p{font-size:9px;color:var(--muted);text-align:center;margin:20px 0 0}.start-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:center}.environment-tag{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);font:11px var(--mono);border-radius:3px;margin:3px 0}.environment-tag .status-dot{background:var(--green)}.build-note{font-size:11px;line-height:1.8;color:var(--muted);max-width:330px;margin:17px 0 23px}.terminal{min-width:0;border-radius:7px;background:#202a23;color:#dee5d7;overflow:hidden;box-shadow:0 14px 35px #263d1d0c}.terminal-top{display:flex;align-items:center;padding:15px 18px;border-bottom:1px solid #3c453c;gap:14px;font:10px var(--mono);color:#c2cabd}.terminal-dots{display:flex;gap:5px}.terminal-dots i{width:6px;height:6px;border-radius:50%;background:#687462}.terminal-dots i:first-child{background:#dd795c}.terminal-top button{margin-left:auto;background:none;border:1px solid #677660;padding:5px 9px;color:#e4e9e0;border-radius:3px;font-size:10px}.terminal pre{overflow-x:auto;margin:0;padding:25px 24px;font:11px/1.95 var(--mono);tab-size:2}.code-comment{color:#9baf8e}.terminal-bottom{border-top:1px solid #3c453c;padding:13px 23px;font-size:10px;color:#acbca2}.terminal-bottom>span:first-child{color:#a1c488;margin-right:7px}.resources-section{padding-bottom:80px}.resources-intro{border-top:1px solid var(--line);padding-top:50px;display:flex;justify-content:space-between;align-items:center;gap:30px}.resources-intro .eyebrow{margin:0;color:var(--muted)}.resources-intro h2{font-size:25px}.resources{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.resources>a{position:relative;border:1px solid var(--line);border-radius:4px;padding:23px;transition:border-color .2s,background .2s}.resources>a:hover{border-color:var(--green);background:#eeefe7}.resource-label{font:9px var(--mono);letter-spacing:1.3px;color:var(--muted)}.resources h3{font-size:17px;margin:17px 0 10px}.resources p{font-size:12px;color:var(--muted);line-height:1.8;max-width:245px;padding-right:15px;margin:0}.resource-arrow{position:absolute;right:20px;top:19px;font-size:20px;color:var(--green)}footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:28px 0 34px}footer .brand{font-size:22px}footer p{font-size:11px;color:var(--muted)}footer>a:not(.brand){margin-left:auto;font:11px var(--mono)}footer>span{font:10px var(--mono);color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-100px;left:16px;z-index:10;padding:12px;background:var(--ink);color:white}.skip-link:focus{top:15px}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:100px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:30px;padding-block:60px}h1{font-size:52px}.eyebrow{font-size:9px;letter-spacing:1px}.hero-description{font-size:14px}.architecture-grid,.start-grid{gap:40px}.stack-inner{font-size:12px;gap:15px}.vector-lab{padding:16px}.lab-top{font-size:8px}.lab-caption{font-size:8px}.section{padding-block:65px}.features article{padding-right:22px}.features article+article{padding-left:22px}h2{font-size:31px}.fork:after{width:175px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{height:77px;gap:12px;flex-wrap:wrap}.brand{font-size:23px}.brand svg{width:24px;height:24px;margin-right:7px}nav{display:none}.header-actions{margin-left:auto;gap:9px}.github-link{padding:9px 12px;font-size:11px}.hero{grid-template-columns:1fr;padding:48px 0 35px;gap:43px}.hero h1{font-size:53px;letter-spacing:-2px}html[lang=en] h1{font-size:49px}.hero .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:24px}.hero-description{max-width:460px;font-size:14px}.hero-note{margin-top:27px}.vector-lab{transform:none;max-width:550px;width:100%;margin:auto;padding:18px}.lab-top{font-size:9px}.lab-caption{font-size:9px}.stack-inner{flex-wrap:wrap;justify-content:flex-start;gap:18px 24px;padding-block:22px;font-size:12px}.stack-inner>span:first-child{width:100%;font-size:9px}.section{padding-block:49px}.section-heading{align-items:flex-start;flex-direction:column;gap:21px;margin-bottom:29px}h2{font-size:30px}.section-heading>p{font-size:13px}.features{grid-template-columns:1fr}.features article{padding:24px 0!important}.features article+article{border-left:0;border-top:1px solid var(--line)}.features h3{margin-top:10px}.features p{max-width:500px}.feature-icon{height:37px}.feature-number{right:5px;top:29px}.architecture-section{padding-block:45px}.architecture-grid,.start-grid{grid-template-columns:1fr;gap:30px}.architecture-diagram{padding:20px}.section-description{max-width:500px}.fork:after{width:180px}.terminal pre{font-size:10px;padding:20px 16px}.terminal-top{padding:13px}.resources-section{padding-bottom:45px}.resources-intro{padding-top:32px;align-items:flex-start;flex-direction:column;gap:18px}.resources-intro h2{font-size:25px}.resources{grid-template-columns:1fr;gap:12px}.resources>a{padding:21px}.resources p{max-width:none}.resources h3{margin-block:12px 8px}footer{flex-wrap:wrap;gap:14px 20px;padding-block:24px}footer p{order:4;width:100%;margin:0}footer>a:not(.brand){margin-left:auto}footer>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
