/* Harvester — landing page styles */
body{margin:0;background:#161616}
a{color:#1BE7D5;text-decoration:none}
a:hover{color:#A4F7EF}
.hv{--sans:'Geist','Noto Sans SC','PingFang SC','Microsoft YaHei',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--mono:'Geist Mono','Noto Sans SC',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--sans);color:#F2F2EE;background:#161616;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
.hv *,.hv *::before,.hv *::after{box-sizing:border-box}
.hv h1,.hv h2,.hv h3,.hv h4,.hv p,.hv ol,.hv ul,.hv dl,.hv dd,.hv figure,.hv blockquote{margin:0}
.hv strong{font-weight:650}
.hv-mono{font-family:var(--mono)}
.hv-wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 40px}
.hv-sec{padding-top:150px;scroll-margin-top:68px}
.hv-label{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#A6A6A1}
.hv-label::after{content:"";flex:1;height:1px;background:#2C2C2C}
.hv-num{color:#1BE7D5}
.hv-h1{font-size:clamp(32px,3.3vw,50px);line-height:1.06;letter-spacing:-.035em;font-weight:600;text-wrap:balance}
.hv-h2{font-size:clamp(34px,4.6vw,64px);line-height:1.02;letter-spacing:-.04em;font-weight:640;text-wrap:balance}
.hv-h3l{font-size:clamp(26px,2.7vw,40px);line-height:1.08;letter-spacing:-.032em;font-weight:620;text-wrap:balance}
.hv-h3{display:block;font-size:21px;line-height:1.22;letter-spacing:-.02em;font-weight:620}
.hv-p{display:block;font-size:15.5px;line-height:1.55;color:#B4B4AF}
.hv-lede{font-size:clamp(17px,1.45vw,20px);line-height:1.5;color:#B4B4AF;max-width:780px}
.hv-k{display:block;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#A3A39E}
.hv-t{color:#1BE7D5}
.hv-card{background:#1F1F1F;border:1px solid #2E2E2E;border-radius:16px}
.hv-light{background:#EFF2F1;color:#141414;border-radius:16px}
.hv-light .hv-p{color:#474745}
.hv-light .hv-k{color:#585855}
.hv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;background:#1BE7D5;color:#0D0D0D;font-weight:600;font-size:15px;letter-spacing:-.01em;border:1px solid #1BE7D5;white-space:nowrap;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.hv-btn:hover{color:#0D0D0D;background:#62F1E4;border-color:#62F1E4;transform:translateY(-1px)}
.hv-btn svg{width:18px;height:18px}
.hv-ghost{background:transparent;color:#F2F2EE;border-color:#3A3A3A}
.hv-ghost:hover{background:#232323;color:#FFFFFF;border-color:#555555}
.hv-sm{min-height:44px;padding:0 18px;font-size:14px}
.hv-nl{color:#B9B9B4;white-space:nowrap}
.hv-nl:hover{color:#FFFFFF}
.hv-logo{display:block;width:138px;flex:none}
.hv-langwrap{position:relative;display:inline-flex;align-items:center;flex:none}
.hv-langwrap svg{position:absolute;width:16px;height:16px;color:#B9B9B4;pointer-events:none}
.hv-lang{appearance:none;-webkit-appearance:none;height:44px;padding:0 34px 0 36px;border-radius:999px;border:1px solid #3A3A3A;background:#1C1C1C;color:#F2F2EE;font:inherit;font-size:14px;cursor:pointer}
.hv-lang:hover{border-color:#5A5A5A}
.hv-lang option{background:#1C1C1C;color:#F2F2EE}
.hv-ico{flex:none;width:44px;height:44px;border-radius:12px;background:#2A2A2A;color:#D8D8D3;display:inline-flex;align-items:center;justify-content:center}
.hv-ico svg{width:22px;height:22px}
.hv a:focus-visible,.hv button:focus-visible,.hv summary:focus-visible,.hv input:focus-visible,.hv select:focus-visible{outline:2px solid #1BE7D5;outline-offset:3px}
.hv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hv-dot{width:8px;height:8px;border-radius:50%;background:#F2F2EE;display:inline-block}
.hv-live{width:7px;height:7px;border-radius:50%;background:#1BE7D5;display:inline-block;animation:hvLive 1.6s ease-in-out infinite}
@keyframes hvLive{50%{opacity:.25}}
.hv-stage{position:relative;height:600px;border:1px solid #2A2A2A;border-radius:20px;background:#141414;overflow:hidden}
.hv-hud{position:absolute;margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#96968F;pointer-events:none}
.hv-stat{background:#171717;padding:22px 24px;display:flex;flex-direction:column;gap:12px}
.hv-v{display:block;font-size:clamp(28px,2.6vw,38px);font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.hv-sim{margin-left:6px;padding:1px 6px;border:1px solid #3A3A3A;border-radius:4px;font-size:9.5px;color:#96968F}
.hv-draw{stroke-dasharray:1;stroke-dashoffset:0;animation:hvDraw 1.15s cubic-bezier(.65,0,.25,1) backwards}
@keyframes hvDraw{from{stroke-dashoffset:1}}
.hv-cellin{animation:hvFade .7s ease backwards}
@keyframes hvFade{from{opacity:0}}
.hv-blink{opacity:0;animation:hvBlink 5s ease-in-out infinite}
@keyframes hvBlink{0%,40%{opacity:0}52%{opacity:.95}68%,100%{opacity:0}}
.hv-scan{opacity:0;animation:hvScan 6.5s cubic-bezier(.45,0,.2,1) 1.8s infinite}
@keyframes hvScan{0%{transform:translateX(0);opacity:0}6%{opacity:.85}55%{transform:translateX(412px);opacity:.85}56%,100%{transform:translateX(412px);opacity:0}}
.hv-hglow{filter:drop-shadow(0 0 3px rgba(27,231,213,.55))}
.hv-marq{display:flex;width:max-content;animation:hvMarq 80s linear infinite}
.hv-marq:hover{animation-play-state:paused}
@keyframes hvMarq{to{transform:translateX(-50%)}}
.hv-mq{display:flex;list-style:none;margin:0;padding:0}
.hv-mqi{display:flex;align-items:center;gap:14px;padding:22px 34px;border-right:1px solid #262626;white-space:nowrap;font-size:16px;color:#E4E4DF}
.hv-mqs{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#96968F}
.hv-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#1BE7D5;border:1px solid rgba(27,231,213,.45);white-space:nowrap}
.hv-vis{margin-top:auto;background:#181818;border:1px solid #2A2A2A;border-radius:12px;padding:18px;min-height:140px}
.hv-qchip{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;border:1px solid #3A3A3A;color:#A3A39E;font-size:14px;animation:hvQ 3.6s ease-in-out infinite}
@keyframes hvQ{0%,28%{border-color:#1BE7D5;color:#F2F2EE;background:rgba(27,231,213,.10)}38%,100%{border-color:#3A3A3A;color:#A3A39E;background:rgba(27,231,213,0)}}
.hv-tw{animation:hvTw 3.2s ease-in-out infinite}
@keyframes hvTw{0%,100%{opacity:.25}50%{opacity:1}}
.hv-decay{height:100%;width:100%;background:#1BE7D5;border-radius:99px;animation:hvDecay 7s cubic-bezier(.2,.7,.3,1) infinite}
@keyframes hvDecay{0%{width:100%}82%,100%{width:3%}}
.hv-track{position:relative;height:2px;background:#2C2C2C;border-radius:2px;overflow:hidden;margin-bottom:18px}
.hv-track span{position:absolute;top:0;left:-16%;height:100%;width:16%;background:#1BE7D5;animation:hvTrack 3.6s linear infinite}
@keyframes hvTrack{from{left:-16%}to{left:100%}}
.hv-ping{animation:hvPing 3.6s ease-out infinite}
@keyframes hvPing{0%{background:#1BE7D5;color:#0D0D0D;box-shadow:0 0 0 0 rgba(27,231,213,.55)}18%{box-shadow:0 0 0 12px rgba(27,231,213,0)}32%,100%{background:#2A2A2A;color:#D8D8D3;box-shadow:0 0 0 0 rgba(27,231,213,0)}}
.hv-op{font-family:var(--mono);font-size:13px;color:#1BE7D5}
.hv-dir{display:flex;flex-direction:column;gap:12px;text-align:left;padding:28px;background:#1F1F1F;border:1px solid #2E2E2E;border-radius:16px;color:#F2F2EE;font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.hv-dir:hover{border-color:#4A4A4A}
.hv-dir-on{border-color:#1BE7D5;background:#1C2322}
.hv-dir-on:hover{border-color:#1BE7D5}
.hv-comm{display:block;margin-top:auto;padding-top:16px;border-top:1px solid #333;font-size:14px;color:#C9C9C4}
.hv-step{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:14px;background:#262626;border:1px solid #333;animation:hvIn .5s ease backwards}
@keyframes hvIn{from{opacity:0;transform:translateY(10px)}}
.hv-step-l{background:#EFF2F1;border-color:#EFF2F1;color:#141414}
.hv-role{align-self:flex-start;padding:3px 10px;border-radius:999px;background:#333;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#C2C2BD}
.hv-step-l .hv-role{background:#5A5A5A;color:#F2F2EE}
.hv-sn{display:block;font-size:36px;font-weight:600;letter-spacing:-.04em;color:#8C8C88;line-height:1;margin-top:6px}
.hv-step-l .hv-sn{color:#6B6B68}
.hv-st{display:block;font-size:17px;font-weight:620;letter-spacing:-.01em;line-height:1.25}
.hv-sd{display:block;font-size:14.5px;color:#B4B4AF;line-height:1.5}
.hv-step-l .hv-sd{color:#3F3F3D}
.hv-row{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;border-radius:14px;background:#262626;border:1px solid #333;animation:hvIn .5s ease backwards}
.hv-row .hv-sn{font-size:24px;margin-top:2px}
.hv-row-l{background:#EFF2F1;border-color:#EFF2F1;color:#141414}
.hv-row-l .hv-sd{color:#3F3F3D}
.hv-row-l .hv-sn{color:#6B6B68}
.hv-sweep{transform-origin:200px 200px;animation:hvSpin 6s linear infinite}
@keyframes hvSpin{to{transform:rotate(360deg)}}
.hv-hit{transform-box:fill-box;transform-origin:center;opacity:0;animation:hvHit 6s ease-out infinite}
@keyframes hvHit{0%{opacity:.9;transform:scale(.7)}22%{opacity:0;transform:scale(2.4)}100%{opacity:0;transform:scale(2.4)}}
.hv-fld{padding:22px 24px;display:flex;flex-direction:column;gap:6px}
.hv-fld-on{border-color:#1BE7D5;background:#232828}
.hv-fchip{display:inline-flex;align-items:center;justify-content:center;width:52px;height:26px;border-radius:6px;background:#FFFFFF;border:1px solid #D2D8D6;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;color:#2A2A2A}
.hv-srow{display:block;height:7px;border-radius:4px;background:#E1E6E4;overflow:hidden}
.hv-srow span{display:block;height:100%;width:0;background:#2A2A2A;border-radius:4px;animation:hvFill 5.5s ease-in-out infinite}
@keyframes hvFill{0%{width:0}35%,85%{width:var(--w)}100%{width:0}}
.hv-table{width:100%;min-width:760px;border-collapse:collapse}
.hv-table th{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#A3A39E;text-align:left;font-weight:500;padding:16px 22px;background:#222222;border-bottom:1px solid #2E2E2E}
.hv-table td{padding:18px 22px;border-bottom:1px solid #2A2A2A;vertical-align:top;color:#C9C9C4;font-size:15px;line-height:1.5}
.hv-table tr:last-child td{border-bottom:0}
.hv-table td:first-child{color:#F2F2EE;font-weight:600}
.hv-table tbody tr{transition:background .2s}
.hv-table tbody tr:hover{background:#1C2322}
.hv-flowline{stroke-dasharray:3 9;animation:hvFlow 1.4s linear infinite}
@keyframes hvFlow{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}
.hv-ring{transform-box:fill-box;transform-origin:center;animation:hvRing 3s ease-out infinite}
@keyframes hvRing{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(2.3)}}
.hv-tab{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #3A3A3A;background:transparent;color:#C9C9C4;font:inherit;font-size:14px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.hv-tab:hover{border-color:#5A5A5A;color:#FFFFFF}
.hv-tab-on{background:#F2F2EE;color:#111111;border-color:#F2F2EE}
.hv-tab-on:hover{color:#111111;border-color:#F2F2EE}
.hv-panel{animation:hvIn .45s ease backwards}
.hv-post{background:#262626;border:1px solid #343434;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.hv-av{width:34px;height:34px;border-radius:50%;background:#3A3A3A;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#D8D8D3;flex:none}
.hv-dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px 18px;align-items:baseline}
.hv-dl dt{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#A3A39E}
.hv-dl dd{font-size:15px;color:#D0D0CB;line-height:1.5}
.hv-dl dd strong{color:#FFFFFF}
.hv-tl{list-style:none;padding:0;margin:0;position:relative;display:flex;flex-direction:column;gap:30px}
.hv-tl::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:2px;background:#333}
.hv-tlfill{position:absolute;z-index:1;left:9px;top:10px;width:2px;height:0;background:#1BE7D5;animation:hvTlFill 6s ease-in-out infinite}
@keyframes hvTlFill{0%{height:0}75%,100%{height:calc(100% - 20px)}}
.hv-tli{position:relative;padding-left:40px}
.hv-tld{position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:#1BE7D5;box-shadow:0 0 0 4px #1F1F1F;animation:hvTlD 6s ease-out infinite}
@keyframes hvTlD{0%{box-shadow:0 0 0 4px #1F1F1F,0 0 0 4px rgba(27,231,213,.6)}25%,100%{box-shadow:0 0 0 4px #1F1F1F,0 0 0 18px rgba(27,231,213,0)}}
.hv-nv{display:block;font-size:24px;font-weight:650;letter-spacing:-.02em;line-height:1.15}
.hv-num4{background:#EFF2F1;color:#141414;padding:20px 24px;display:flex;flex-direction:column;gap:6px}
.hv-num4 .hv-k{color:#585855}
.hv-bar{display:flex;height:50px;border-radius:12px;overflow:hidden;background:#3A3A3A;font-size:13.5px;font-weight:600}
.hv-bar span{display:flex;align-items:center;padding:0 12px;white-space:nowrap;overflow:hidden}
.hv-range{accent-color:#1BE7D5;height:28px;cursor:pointer;min-width:0}
.hv-srow2{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:22px 0;border-top:1px solid #2E2E2E}
.hv-faq{border-bottom:1px solid #2E2E2E}
.hv-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:600;letter-spacing:-.01em;min-height:44px}
.hv-faq summary::-webkit-details-marker{display:none}
.hv-plus{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid #3A3A3A;display:inline-flex;align-items:center;justify-content:center;color:#D8D8D3;transition:transform .25s,background .25s,border-color .25s}
.hv-faq[open] .hv-plus{transform:rotate(45deg);background:#1BE7D5;border-color:#1BE7D5;color:#111111}
.hv-faq p{padding:0 48px 24px 0;color:#B4B4AF}
.hv-cbox{border:1px dashed #4A4A4A;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.hv-n{flex:none;width:30px;height:30px;border-radius:50%;background:#1BE7D5;color:#0D0D0D;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:650}
.hv:lang(zh){line-height:1.7}
.hv:lang(zh) .hv-h1,.hv:lang(zh) .hv-h2,.hv:lang(zh) .hv-h3l{letter-spacing:-.005em;line-height:1.24}
.hv:lang(zh) .hv-h3,.hv:lang(zh) .hv-st,.hv:lang(zh) .hv-faq summary{letter-spacing:0}
.hv:lang(zh) .hv-label,.hv:lang(zh) .hv-k,.hv:lang(zh) .hv-hud,.hv:lang(zh) .hv-mqs,.hv:lang(zh) .hv-role,.hv:lang(zh) .hv-dl dt,.hv:lang(zh) .hv-chip,.hv:lang(zh) .hv-nl{letter-spacing:.06em}
@supports (animation-timeline: view()){
.hv-reveal{animation:hvRise linear both;animation-timeline:view();animation-range:entry 0% cover 20%}
}
@keyframes hvRise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media (max-width:1180px){.hv-navlinks{display:none!important}}
@media (max-width:960px){.hv-stage{height:480px}.hv-sec{padding-top:110px}}
@media (max-width:600px){.hv-wrap{padding:0 20px}.hv-stage{height:360px}.hv-sec{padding-top:88px}.hv-track{display:none}.hv-hint{display:none}.hv-dl{grid-template-columns:minmax(0,1fr);gap:4px}.hv-dl dd{margin-bottom:10px}.hv-faq p{padding-right:0}.hv-navcta{display:none}.hv-logo{width:116px}.hv-hudfig{display:none}}
@media (prefers-reduced-motion:reduce){.hv *,.hv *::before,.hv *::after{animation:none!important;transition:none!important}}

html{scroll-behavior:smooth;background:#161616}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none!important}
