:root{--bg: #0c1219;--bg-soft: #0a0f15;--card: #111a24;--card-soft: #0e151d;--border: #223140;--border-soft: #1a2432;--fg: #d9e2ec;--fg-dim: #93a6ba;--fg-faint: #5f7288;--accent: #4f8cff;--accent-hover: #3f7cf5;--accent-text: #7db1ff;--ok: #4cb782;--warn: #d9a441;--warn-bg: rgba(217, 164, 65, .09);--warn-border: rgba(217, 164, 65, .35);--prompt-dim: #5c7288;--radius: 10px;--mono: "Cascadia Mono", Consolas, "Courier New", monospace;--sans: "Segoe UI", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}h1,h2,h3,h4{line-height:1.3;margin:0 0 .5em;font-weight:700;letter-spacing:.01em}code,pre,.mono{font-family:var(--mono)}.container{max-width:1080px;margin:0 auto;padding:0 24px}.section{padding:72px 0}.section+.section{padding-top:0}.kicker{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--fg-faint);text-transform:uppercase;margin-bottom:12px}.section h2{font-size:30px;margin-bottom:10px}.section .section-lead{color:var(--fg-dim);max-width:640px;margin:0 0 36px}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:11px 22px;font-size:15px;font-weight:600;font-family:var(--sans);border:1px solid transparent;cursor:pointer;line-height:1.4;white-space:nowrap}.btn:hover{text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{border-color:var(--border);color:var(--fg);background:transparent}.btn-ghost:hover{border-color:var(--fg-faint)}.btn-sm{padding:6px 14px;font-size:13px;border-radius:7px}.site-header{position:sticky;top:0;z-index:50;background:#0b0e14d1;backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft)}.header-inner{display:flex;align-items:center;gap:28px;height:60px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:var(--fg)}.brand:hover{text-decoration:none}.brand img{border-radius:6px}.brand em{font-style:normal;color:var(--fg-dim);font-weight:500;margin-left:2px}.site-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.site-nav a{color:var(--fg-dim);font-size:14px;padding:6px 12px;border-radius:7px}.site-nav a:hover{color:var(--fg);background:var(--card-soft);text-decoration:none}.site-nav a.active{color:var(--fg);background:var(--card)}.header-actions{display:flex;align-items:center;gap:12px}.version-pill{font-family:var(--mono);font-size:12.5px;color:var(--fg-dim);border:1px solid var(--border);border-radius:999px;padding:3px 11px;white-space:nowrap}.menu-button{display:none;background:none;border:1px solid var(--border);color:var(--fg);border-radius:7px;font-size:16px;padding:4px 10px;cursor:pointer}@media(max-width:860px){.site-nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg-soft);border-bottom:1px solid var(--border-soft);padding:10px 16px 14px;gap:2px}.site-nav.open{display:flex}.site-nav a{padding:10px 12px;font-size:15px}.menu-button{display:inline-block}.version-pill{display:none}}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.grid-2,.grid-3{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:24px}.card h3{font-size:17px;margin-bottom:8px}.card p{color:var(--fg-dim);font-size:14.5px;margin:0}.num{font-family:var(--mono);font-size:13px;color:var(--accent-text);display:block;margin-bottom:10px}.shot{margin:0}.shot-window{background:var(--card-soft);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 24px 60px #00000073}.shot-titlebar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--card);border-bottom:1px solid var(--border-soft)}.shot-titlebar i{width:11px;height:11px;border-radius:50%;background:var(--border)}.shot-titlebar i:first-child{background:#e5695e}.shot-titlebar i:nth-child(2){background:#e2b34e}.shot-titlebar i:nth-child(3){background:#3ecf8e}.shot-titlebar span{margin-left:8px;font-size:12.5px;color:var(--fg-faint);font-family:var(--mono)}.shot-body{padding:18px 18px 14px;font-family:var(--mono);font-size:13.5px;line-height:1.9;min-height:220px}.shot-line{color:var(--fg-dim);white-space:pre-wrap;overflow-wrap:anywhere}.shot-note{margin-top:22px;font-size:12px;color:var(--fg-faint);font-family:var(--sans)}.shot figcaption{text-align:center;color:var(--fg-faint);font-size:13.5px;margin-top:12px}.dl-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;background:var(--card-soft);border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 20px;margin-bottom:28px;font-size:14.5px;color:var(--fg-dim)}.dl-banner .cur{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--ok)}.dl-banner strong{color:var(--fg);font-size:16px}.dl-card{background:var(--card);border:1px solid var(--border-soft);border-radius:12px;padding:28px}.dl-card.primary{border-color:#2f66d88c;box-shadow:0 0 0 1px #2f66d840,0 18px 50px #00000059}.dl-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.dl-head h3{margin:0;font-size:19px}.tag{font-size:12px;font-weight:600;color:#fff;background:var(--accent);border-radius:999px;padding:2px 10px}.dl-desc{color:var(--fg-dim);margin:0 0 16px;font-size:14.5px}.dl-bullets{list-style:none;margin:0 0 20px;padding:0;color:var(--fg-dim);font-size:14.5px}.dl-bullets li{padding-left:20px;position:relative;margin-bottom:6px}.dl-bullets li:before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--ok)}.dl-meta{color:var(--fg-faint);font-size:13px;margin:14px 0 0}.hash-block{display:flex;align-items:center;gap:12px;background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:8px;padding:10px 14px;margin-top:16px}.hash-label{flex:none;font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--fg-faint)}.hash-value{font-size:12.5px;color:var(--fg-dim);word-break:break-all;line-height:1.5}.copy-btn{flex:none;margin-left:auto;background:var(--card);border:1px solid var(--border);color:var(--fg-dim);font-size:12.5px;border-radius:6px;padding:4px 12px;cursor:pointer;font-family:var(--sans)}.copy-btn:hover{color:var(--fg);border-color:var(--fg-faint)}.copy-btn.done{color:var(--ok);border-color:#3ecf8e80}.codeblock{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:8px;padding:14px 16px;overflow-x:auto}.codeblock code{font-size:13.5px;color:var(--fg-dim);white-space:pre}.warn-box{display:flex;gap:12px;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;padding:14px 18px;color:var(--fg-dim);font-size:14.5px}.warn-box strong{color:var(--warn)}.table-wrap{overflow-x:auto;border:1px solid var(--border-soft);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}th,td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--border-soft);color:var(--fg-dim)}th{color:var(--fg-faint);font-size:12.5px;font-weight:600;letter-spacing:.06em;background:var(--card-soft)}tr:last-child td{border-bottom:none}td .mono{font-size:12.5px}.empty-note{color:var(--fg-faint);font-size:14px;padding:18px 16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:step}@media(max-width:720px){.steps{grid-template-columns:1fr}}.step{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:20px 22px}.step .step-no{font-family:var(--mono);font-size:13px;color:var(--accent-text);display:block;margin-bottom:8px}.step h3{font-size:16px;margin-bottom:6px}.step p{margin:0;color:var(--fg-dim);font-size:14px}.site-footer{border-top:1px solid var(--border-soft);background:var(--bg-soft);padding:48px 0 32px;margin-top:72px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}@media(max-width:720px){.footer-grid{grid-template-columns:1fr}}.footer-brand{color:var(--fg-dim);font-size:14px;max-width:300px}.footer-col h4{font-size:13px;letter-spacing:.1em;color:var(--fg-faint);margin-bottom:14px;font-weight:600}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin-bottom:9px}.footer-col a{color:var(--fg-dim);font-size:14px}.footer-col a:hover{color:var(--fg)}.footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid var(--border-soft);color:var(--fg-faint);font-size:13px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}.docs-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}@media(max-width:860px){.docs-layout{grid-template-columns:1fr}.docs-toc{position:static}}.docs-toc{position:sticky;top:84px;border-left:1px solid var(--border-soft);padding-left:18px;display:flex;flex-direction:column;gap:4px}.docs-toc a{color:var(--fg-dim);font-size:13.5px;padding:4px 0}.docs-toc a:hover{color:var(--fg);text-decoration:none}.docs-body h2{font-size:23px;margin-top:44px;padding-top:8px}.docs-body h2:first-child{margin-top:0}.docs-body h3{font-size:17px;margin-top:26px}.docs-body p,.docs-body li{color:var(--fg-dim);font-size:15px}.docs-body ul{padding-left:22px}.docs-body li{margin-bottom:6px}.docs-body strong{color:var(--fg)}.docs-body .key{font-family:var(--mono);font-size:13px;background:var(--card-soft);border:1px solid var(--border-soft);border-radius:5px;padding:1px 7px;color:var(--fg);white-space:nowrap}.faq-item{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--card);padding:20px 24px;margin-bottom:14px}.faq-item h3{font-size:16px;margin-bottom:8px}.faq-item p{margin:0;color:var(--fg-dim);font-size:14.5px}.log-entry{border:1px solid var(--border-soft);border-radius:12px;background:var(--card);padding:26px 28px;margin-bottom:20px}.log-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;flex-wrap:wrap}.log-head h3{margin:0;font-family:var(--mono);font-size:19px}.log-head time{color:var(--fg-faint);font-size:13.5px}.log-sec{margin-bottom:12px}.log-sec h4{font-size:13.5px;color:var(--accent-text);margin:0 0 6px;letter-spacing:.04em}.log-sec ul{margin:0;padding-left:20px;color:var(--fg-dim);font-size:14.5px}.log-sec li{margin-bottom:4px}.hero{padding:84px 0 64px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero-badge{display:inline-block;font-size:13px;color:var(--fg-dim);border:1px solid var(--border);border-radius:999px;padding:5px 14px;margin-bottom:22px;background:var(--card-soft)}.hero h1{font-size:44px;margin-bottom:16px}.hero .hero-sub{color:var(--fg-dim);font-size:17.5px;max-width:480px;margin:0 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-note{margin-top:18px;font-size:13.5px;color:var(--fg-faint)}.kicker{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ok);margin-bottom:12px}.kicker:before{content:"root@ops:~$ ";color:var(--prompt-dim)}.sec-cmd{font-family:var(--mono);font-size:13px;color:var(--ok);margin-bottom:10px}.sec-cmd .p{color:var(--prompt-dim)}h2 em,h1 em{font-style:normal;border-bottom:3px solid var(--ok);padding-bottom:3px}.hero h1 .u,.page-title .u{display:inline-block;position:relative}.hero h1 .u:after,.page-title .u:after{content:"";position:absolute;left:2px;right:6px;bottom:4px;height:5px;background:var(--ok);border-radius:2px;opacity:.9}.hero-cmd{font-family:var(--mono);font-size:13px;color:var(--ok);margin-bottom:16px}.hero-cmd .p{color:var(--prompt-dim)}.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(900px 400px at 85% -10%,rgba(18,48,73,.45),transparent),radial-gradient(600px 300px at -10% 110%,rgba(15,39,56,.42),transparent);pointer-events:none}.hero .container{position:relative}.card{transition:border-color .15s,transform .15s}.card:hover{border-color:#2f4a63;transform:translateY(-2px)}.ov-card h3:before{content:"› ";color:var(--ok);font-weight:800}.off-card{border-left:3px solid var(--ok)}.off-card:nth-child(2){border-left-color:var(--accent)}.off-card:nth-child(3){border-left-color:var(--warn)}.off-card:nth-child(4){border-left-color:#8f6fd8}.num{color:#3d5269}.site-nav a.active{background:transparent;color:#fff;font-weight:600}.version-pill{color:var(--ok);border-color:#2a5a43}.shot-window{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:10px;box-shadow:0 18px 50px #0006}.shot-titlebar{background:var(--card-soft);border-bottom:1px solid var(--border-soft)}.shot-titlebar i{width:9px;height:9px;border-radius:50%;background:#243447}.shot-titlebar i:first-child,.shot-titlebar i:nth-child(2),.shot-titlebar i:nth-child(3){background:#243447}.shot-body{color:#aebfcd;font-size:12.5px;min-height:200px}.shot-line{color:#aebfcd}.shot-line:first-child{color:var(--fg)}.shot-line .g-p{color:var(--ok)}.shot-line .g-b{color:var(--accent-text)}.shot-line .g-a{color:var(--warn)}.shot-line .g-f,.shot-note{color:var(--fg-faint)}.shot figcaption{color:var(--fg-dim)}.shot-real .shot-imgwrap{border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;background:var(--bg-soft);box-shadow:0 18px 50px #0006;aspect-ratio:3 / 4}.shot-real img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.shot-real img.left{object-position:left top}.dl-card.primary{border-color:#4f8cff8c;box-shadow:0 0 0 1px #4f8cff40,0 18px 50px #00000059}.site-footer{background:transparent}.appwin{border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--card-soft);box-shadow:0 30px 80px #0000008c;font-size:12px;line-height:1.6}.appwin .aw-title{display:flex;align-items:center;height:34px;padding:0 12px;background:var(--card);border-bottom:1px solid var(--border-soft);color:var(--fg-dim);font-size:12px}.appwin .aw-title .dotw{width:16px;height:16px;background:#f4f6f8;border-radius:4px;color:#111;font-weight:800;font-size:9px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;font-family:var(--mono);position:relative}.appwin .aw-title .dotw:after{content:"";position:absolute;left:3px;right:3px;bottom:2px;height:1.5px;background:#111}.appwin .aw-title .winctl{margin-left:auto;display:flex;gap:14px;color:var(--fg-faint);font-family:var(--mono);font-size:11px}.appwin .aw-tabs{display:flex;gap:4px;padding:6px 10px 0;background:var(--card-soft);border-bottom:1px solid var(--border-soft)}.appwin .aw-tab{font-size:11px;padding:5px 12px;border-radius:6px 6px 0 0;color:var(--fg-dim);border:1px solid transparent;border-bottom:none}.appwin .aw-tab.on{background:var(--bg-soft);color:var(--fg);border-color:var(--border-soft)}.appwin .aw-tab .st{color:var(--ok)}.appwin .aw-body{display:grid;grid-template-columns:150px 1fr 170px;min-height:310px}.appwin .aw-files{border-right:1px solid var(--border-soft);padding:10px 0;font-family:var(--mono);font-size:11px;color:var(--fg-dim)}.appwin .aw-files .fh{padding:4px 12px;color:var(--fg-faint);font-size:10px;letter-spacing:.5px}.appwin .aw-files .fr{padding:4px 12px;display:flex;gap:6px;white-space:nowrap}.appwin .aw-files .fr.dir{color:var(--warn)}.appwin .aw-term{padding:12px 14px;font-family:var(--mono);font-size:11.5px;line-height:1.85;color:#aebfcd;background:var(--bg-soft);overflow:hidden}.appwin .aw-term .cur{display:inline-block;width:7px;height:13px;background:var(--ok);vertical-align:-2px;animation:aw-blink 1.1s steps(1) infinite}@keyframes aw-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.appwin .aw-term .cur{animation:none}}.appwin .g-p{color:var(--ok)}.appwin .g-b{color:var(--accent-text)}.appwin .g-a{color:var(--warn)}.appwin .g-f{color:var(--fg-faint)}.appwin .aw-mon{border-left:1px solid var(--border-soft);padding:10px;font-size:10.5px;color:var(--fg-dim)}.appwin .aw-mon .mc{background:var(--card);border:1px solid var(--border-soft);border-radius:7px;padding:8px 9px;margin-bottom:8px}.appwin .aw-mon .mc b{color:var(--fg);font-size:12px;font-family:var(--mono);font-weight:600}.appwin .bar{height:4px;background:#1a2734;border-radius:2px;margin-top:6px;overflow:hidden}.appwin .bar i{display:block;height:100%;border-radius:2px}@media(max-width:900px){.appwin .aw-mon{display:none}.appwin .aw-body{grid-template-columns:140px 1fr}}@media(max-width:620px){.appwin .aw-files{display:none}.appwin .aw-body{grid-template-columns:1fr}}
