:root{--bg:#fff;--bg-page:#f5fafc;--bg-tint:#eaf5f9;--ink:#0e1c22;--ink-dim:#45565e;--ink-faint:#6f8189;--line:#e2eef2;--line-strong:#c9dde5;--accent:#0a7c96;--accent-d:#08657a;--accent-tint:#e0f5f9;--ok:#12805f;--ok-tint:#e8f6f1;--danger:#b42318;--radius:12px;--shadow:0 1px 2px #093c4a0d, 0 6px 18px -12px #093c4a2e;--shadow-hover:0 2px 6px #093c4a12, 0 16px 32px -18px #093c4a4d;--wrap:1440px}.g1{--ic:#0a7c96;--icbg:#def4f9}.g2{--ic:#2258b8;--icbg:#e5eefc}.g3{--ic:#6a44c6;--icbg:#eee9fc}.g4{--ic:#ab5f08;--icbg:#fdefdd}.g5{--ic:#157f52;--icbg:#e2f6eb}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--ink);background:var(--bg-page);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;line-height:1.7}a{color:var(--accent-d);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}.nav-progress{z-index:50;pointer-events:none;opacity:0;height:3px;transition:opacity .12s linear;position:fixed;top:0;left:0;right:0}.nav-progress.on{opacity:1}.nav-progress:after{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:38%;height:100%;animation:1.05s ease-in-out infinite a5l-navrun;display:block}@keyframes a5l-navrun{0%{transform:translate(-100%)}to{transform:translate(295%)}}.site-header{z-index:20;-webkit-backdrop-filter:saturate(150%)blur(10px);backdrop-filter:saturate(150%)blur(10px);border-bottom:1px solid var(--line);background:#ffffffdb;position:sticky;top:0}.site-header .wrap{align-items:center;gap:14px;height:64px;display:flex}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand .mark{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:8px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:800;display:grid}.brand .ver{color:var(--ink-faint);background:var(--bg-tint);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600}.site-nav{gap:18px;margin-left:auto;font-size:14px;display:flex}.site-nav a{color:var(--ink-dim)}.site-nav a:hover{color:var(--accent-d)}@media (max-width:640px){.site-header .wrap{gap:10px}.brand{font-size:15px}.brand .ver{display:none}.site-nav{gap:12px;font-size:13px}.ls-cur{display:none}}:root{--foot-h:46px}.site-footer{height:var(--foot-h);border-top:1px solid var(--line);background:var(--bg-tint);align-items:center;display:flex}.foot-bar{flex-wrap:nowrap;align-items:center;gap:10px 22px;width:100%;font-size:13px;display:flex;overflow:hidden}.foot-brand{color:var(--ink);align-items:center;gap:8px;font-weight:700;display:inline-flex}.foot-brand .mark{background:var(--accent);color:#fff;border-radius:7px;place-items:center;width:24px;height:24px;font-size:9px;font-weight:800;display:grid}.foot-brand:hover{text-decoration:none}.foot-nav{gap:16px;display:flex}.foot-nav a{color:var(--ink-dim)}.foot-nav a:hover{color:var(--accent-d)}.foot-note{color:var(--ink-faint);margin-left:auto}.hero{text-align:center;background:linear-gradient(180deg, #e9f6fa 0%, var(--bg-page) 100%);padding:62px 0 54px;position:relative}.hero .badge{color:var(--accent-d);background:#fff;border:1px solid #d5ecf2;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.hero .badge:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.hero h1{letter-spacing:-.022em;font-size:40px;font-weight:800;line-height:1.22}.hero p{max-width:660px;color:var(--ink-dim);margin:18px auto 0;font-size:16px;line-height:1.75}.hero-left{text-align:left}.hero-left .wrap p{margin-left:0}.trust{flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:28px;list-style:none;display:flex}.trust li{color:var(--ink-dim);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.trust .trust-ico{width:16px;height:16px;color:var(--accent);flex:none}.hero-left .trust{justify-content:flex-start}.crumb{color:var(--ink-faint);padding:20px 0 0;font-size:13px}.crumb a{color:var(--ink-faint)}.hero .crumb{padding:0 0 16px}section.block{margin-top:48px}section.block>h2{margin-bottom:14px;font-size:20px}section.block>h2 .sub{color:var(--ink-faint);margin-left:8px;font-size:13px;font-weight:400}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow);color:var(--ink);padding:17px 17px 16px;transition:border-color .15s,box-shadow .15s,transform .18s cubic-bezier(.22,.61,.36,1);display:block}.card:hover{box-shadow:var(--shadow-hover);border-color:#a9d5e1;text-decoration:none}.card:hover .ci{background:var(--ic,var(--accent));color:#fff}.card .ctop{align-items:center;gap:11px;display:flex}.card .ci{background:var(--icbg,var(--accent-tint));width:34px;height:34px;color:var(--ic,var(--accent));border-radius:9px;flex:none;place-items:center;transition:background .15s,color .15s,transform .18s cubic-bezier(.22,.61,.36,1);display:grid}.card .ci .gic{width:18px;height:18px}.card h3{color:var(--ink);margin:0;font-size:15.5px;font-weight:700;line-height:1.45}.card p{color:var(--ink-faint);margin-top:8px;font-size:13px;line-height:1.65}.gic{vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;-webkit-user-select:none;user-select:none;width:1.08em;height:1.08em;display:inline-block}.gic-txt{font-size:20px;line-height:1}.section-head{align-items:center;gap:12px;margin:48px 0 16px;display:flex}.section-head h2{letter-spacing:-.012em;flex:none;font-size:21px;font-weight:700}.section-head .cnt{color:var(--ic,var(--accent-d));background:var(--icbg,var(--accent-tint));border-radius:999px;flex:none;padding:2px 10px;font-size:12.5px;font-weight:600}.section-head:after{content:"";background:var(--line);flex:1;height:1px}.cta{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:11px 20px;font-size:14.5px;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px -8px #093c4a80}.btn-primary:hover{background:var(--accent-d);text-decoration:none}.btn-ghost{color:var(--ink-dim);border-color:var(--line-strong);background:#fff}.btn-ghost:hover{color:var(--accent-d);border-color:var(--accent);background:var(--accent-tint);text-decoration:none}.wb-section{background:#fff;height:100vh;min-height:520px;overflow:hidden}.wb-section>.wb,.wb,.tool-stage,.tool-root{height:100%}.tool-stage{position:relative}@media (max-width:1000px){.wb-section{height:auto;min-height:0;overflow:visible}.wb,.tool-stage,.tool-root{height:auto}.site-footer{height:auto;padding:12px 0}.foot-bar{flex-wrap:wrap;overflow:visible}}.tool-veil{color:var(--ink-faint);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.tool-veil.err{color:var(--danger);background:#fffbfa}.tool-veil.err .tip{color:var(--ink-faint);font-size:12.5px}.spin{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite a5l-spin;display:inline-block}@keyframes a5l-spin{to{transform:rotate(360deg)}}.prose p{color:var(--ink-dim);margin-top:10px;font-size:15px}.prose{max-width:900px}.dropbox{box-shadow:var(--shadow);background:#fff;border:1.5px dashed #b6dbe6;border-radius:14px;margin:40px 0 0;transition:border-color .15s,background .15s,box-shadow .15s,transform .2s cubic-bezier(.22,.61,.36,1);position:relative}.dropbox:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.dropbox.drag{border-style:solid;border-color:var(--accent);background:var(--accent-tint)}.dropbox.db-ready{border-style:solid;border-color:#b7e2d2}.db-open{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:20px;padding:24px 26px;display:flex}.db-ico{background:var(--accent-tint);width:52px;height:52px;color:var(--accent);border-radius:14px;flex:none;place-items:center;display:grid}.db-ico.ok{background:var(--ok-tint);color:var(--ok)}.db-ico .gic{stroke-width:1.9px;width:24px;height:24px}.db-txt{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.db-title{color:var(--ink);letter-spacing:-.015em;font-size:20px;font-weight:800}.db-hint{color:var(--ink-dim);font-size:14px}.db-priv{max-width:46%;color:var(--ink-faint);flex:none;align-items:center;gap:7px;font-size:12.5px;line-height:1.5;display:inline-flex}.db-lock{width:14px;height:14px;color:var(--accent);flex:none}.db-state{text-align:left;align-items:center;gap:20px;padding:22px 26px;display:flex}.db-name{color:var(--ink);word-break:break-all;font-size:17px;font-weight:700}.db-meta{color:var(--ink-faint);font-size:13px;line-height:1.6}.db-pages{color:var(--ok);font-weight:700}.db-bad{color:var(--danger)}.db-again{font:inherit;color:var(--ink-dim);border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:10px;flex:none;margin-left:auto;padding:9px 18px;font-size:13.5px;font-weight:600;transition:border-color .15s,color .15s}.db-again:hover{color:var(--accent-d);border-color:var(--accent)}@media (max-width:760px){.db-open,.db-state{flex-wrap:wrap}.db-priv{flex-basis:100%;max-width:none}.db-again{margin-left:0}}.lang-switch{display:inline-flex;position:relative}.ls-btn{font:inherit;color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:13.5px;transition:border-color .15s,color .15s;display:inline-flex}.ls-btn:hover{border-color:var(--line-strong);color:var(--ink)}.ls-btn[aria-expanded=true]{border-color:var(--accent);color:var(--ink)}.ls-globe{width:15px;height:15px;color:var(--accent);flex:none}.ls-cur{font-weight:600}.ls-caret{opacity:.6;border-top:4.5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.ls-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:176px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 36px -18px #0f1b2159}.ls-head{color:var(--ink-faint);letter-spacing:.04em;padding:6px 10px 8px;font-size:11.5px;font-weight:700}.ls-item{color:var(--ink-dim);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}a.ls-item:hover{background:var(--accent-tint);color:var(--accent-d);text-decoration:none}.ls-item.cur{color:var(--ink);font-weight:700}.ls-tick{color:var(--accent);font-size:12px}.site-header .ls-menu,.topbar .ls-menu{left:auto;right:0}.prose ul{color:var(--ink-dim);margin:10px 0 0 20px;font-size:15px}.prose li{margin:5px 0}.jump{margin-top:30px}@keyframes a5l-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes a5l-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.hero .badge{animation:.42s cubic-bezier(.22,.61,.36,1) backwards a5l-rise}.hero h1{animation:.42s cubic-bezier(.22,.61,.36,1) 50ms backwards a5l-rise}.hero p{animation:.42s cubic-bezier(.22,.61,.36,1) .11s backwards a5l-rise}.trust{animation:.42s cubic-bezier(.22,.61,.36,1) .17s backwards a5l-rise}.dropbox{animation:.45s cubic-bezier(.22,.61,.36,1) .12s backwards a5l-rise}.section-head{animation:.42s cubic-bezier(.22,.61,.36,1) backwards a5l-rise}.card{animation:a5l-rise .42s cubic-bezier(.22, .61, .36, 1) calc(var(--i,0) * 26ms + 70ms) backwards}.card:hover{transform:translateY(-2px)}.card:hover .ci{transform:translateY(-1px)scale(1.05)}.db-demo{z-index:2;pointer-events:none;width:0;height:0;position:absolute;top:50%;left:52px}.db-demo-ring{border:2px solid var(--accent);opacity:0;border-radius:50%;width:30px;height:30px;animation:7.5s cubic-bezier(.22,.61,.36,1) infinite a5l-ripple;position:absolute;top:-15px;left:-15px}.db-demo-arrow{transform-origin:16px 7.5px;color:#fff;filter:drop-shadow(.8px 0 #93a3ab)drop-shadow(-.8px 0 #93a3ab)drop-shadow(0 .8px #93a3ab)drop-shadow(0 -.8px #93a3ab)drop-shadow(0 2px 3px #093c4a38);width:32px;height:32px;animation:7.5s cubic-bezier(.22,.61,.36,1) infinite a5l-tap;position:absolute;top:-7.5px;left:-16px}.dropbox:not(.db-idle) .db-demo,.dropbox:hover .db-demo,.dropbox.drag .db-demo{display:none}@keyframes a5l-tap{0%,3%{opacity:0;transform:translate(20px,24px)scale(1)}12%{opacity:1;transform:translate(12px,15px)scale(1)}26%{opacity:1;transform:translate(0)scale(1)}31%{opacity:1;transform:translateY(-5px)scale(.8)}37%{opacity:1;transform:translateY(3px)scale(1.1)}43%{opacity:1;transform:translate(0)scale(1)}50%{opacity:0;transform:translate(0)scale(1)}to{opacity:0;transform:translate(20px,24px)scale(1)}}@keyframes a5l-ripple{0%,27%{opacity:0;transform:scale(.35)}31%{opacity:.5;transform:scale(.72)}56%{opacity:0;transform:scale(2.3)}to{opacity:0;transform:scale(.35)}}@keyframes a5l-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes a5l-pop-in{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.db-ico{transition:transform .2s cubic-bezier(.22,.61,.36,1)}.dropbox:hover .db-ico{transform:translateY(-2px)scale(1.03)}.dropbox.drag .db-ico{transform:translateY(-3px)scale(1.08)}.dropbox.drag .db-ico .gic{animation:.9s ease-in-out infinite a5l-bounce}.dropbox.db-ready .db-ico.ok{animation:.42s cubic-bezier(.22,.61,.36,1) a5l-pop-in}.ls-menu{animation:.14s ease-out backwards a5l-pop}.btn,.db-again,.ls-btn{transition:background .15s,border-color .15s,color .15s,transform .12s}.btn:active,.db-again:active,.ls-btn:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.db-demo{display:none!important}.hero .badge,.hero h1,.hero p,.trust,.dropbox,.section-head,.card,.ls-menu,.dropbox.drag .db-ico .gic,.dropbox.db-ready .db-ico.ok{animation:none!important}.card:hover,.card:hover .ci,.dropbox:hover,.dropbox:hover .db-ico,.dropbox.drag .db-ico,.btn:active,.db-again:active,.ls-btn:active{transform:none!important}}
