:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--fs-xs:12px;--fs-sm:14px;--fs-base:16px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:32px;--z-nav:20;--z-toast:60;--wrap:1120px;--gutter:clamp(20px, 5vw, 48px);--measure:68ch;--radius:14px;--tap:44px;--nav-h:60px;--mono:"Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace}:root,html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070b14;--bg-soft:#0b1220;--panel:#111c31;--panel-2:#16233c;--line:#1e2d4a;--line-soft:#17243d;--line-control:#576f9c;--line-control-soft:#576f9c73;--text:#e6edf7;--text-dim:#9aa9c2;--text-mute:#75869f;--cyan:#38bdf8;--amber:#fbbf24;--green:#34d399;--red:#f87171;--on-cyan:#04131f;--on-amber:#1c1200;--btn-count-bg:#00000038;--nav-bg:#070b14db;--foot-bg:#05080f;--code-bg:#060a12;--row-hover:#38bdf80d;--shadow:0 12px 34px #00000080;--poster-bg:radial-gradient(120% 120% at 50% 0%, #38bdf829, transparent 60%), linear-gradient(160deg, #0d1526, #060a12);--toast-mark-ring:#fbbf248c}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-soft:#f4f7fc;--panel:#f8fafd;--panel-2:#eaf0f8;--line:#dde5f0;--line-soft:#e8eef7;--line-control:#75859f;--line-control-soft:#75859f80;--text:#0e1729;--text-dim:#47536b;--text-mute:#5f6b83;--cyan:#0369a1;--amber:#8a5300;--green:#067647;--red:#b42318;--on-cyan:#fff;--on-amber:#fff;--btn-count-bg:#ffffff3d;--nav-bg:#ffffffe0;--foot-bg:#eef3fa;--code-bg:#f1f5fb;--row-hover:#0369a10f;--shadow:0 12px 30px #0f172924;--poster-bg:radial-gradient(120% 120% at 50% 0%, #0369a124, transparent 60%), linear-gradient(160deg, #eaf2fb, #dbe6f5);--toast-mark-ring:#8a530080}html.avd-hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html.avd-hide-scrollbar body::-webkit-scrollbar{width:0;height:0;display:none}html.avd-hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,system-ui,-apple-system,sans-serif;font-size:var(--fs-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.75}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}code{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--line-soft);border-radius:5px;padding:1px 6px;font-size:.92em}.badge b,.cmd-text,.flow-n,.video-cap strong,code,table{font-variant-numeric:tabular-nums}.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.app,.shell{flex-direction:column;min-height:100dvh;display:flex}.main{flex:1}.nav{z-index:var(--z-nav);border-bottom:1px solid var(--line-soft);background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:var(--sp-2) var(--sp-4);padding-top:var(--sp-2);padding-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.nav-brand{align-items:center;gap:var(--sp-2);min-height:var(--tap);color:var(--text);letter-spacing:.2px;font-weight:700;display:inline-flex}.nav-brand:hover{color:var(--cyan);text-decoration:none}.nav-dot{background:var(--amber);width:9px;height:9px;box-shadow:0 0 12px var(--amber);border-radius:50%}.nav-links{gap:var(--sp-5);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.nav-links a{min-height:var(--tap);color:var(--text-dim);align-items:center;display:inline-flex}.nav-links a:hover{color:var(--cyan);text-decoration:none}.nav-ext{color:var(--cyan)!important}.nav-tools .nav-ext{min-height:var(--tap);font-size:var(--fs-sm);align-items:center;display:inline-flex}.nav-tools{align-items:center;gap:var(--sp-2);display:flex}.icon-btn{width:var(--tap);height:var(--tap);border:1px solid var(--line-control);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.icon-btn:hover{border-color:var(--cyan);color:var(--cyan)}.icon-btn svg{width:18px;height:18px;display:block}.hero{padding:var(--sp-9) 0 var(--sp-5)}.hero-inner{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);display:grid}.hero-badges{gap:var(--sp-2);flex-wrap:wrap;margin:0;display:flex}.badge{align-items:center;gap:var(--sp-2);border:1px solid var(--line-control-soft);background:var(--bg-soft);color:var(--text-dim);font-size:var(--fs-xs);padding:var(--sp-2) var(--sp-3);border-radius:999px;line-height:1;display:inline-flex}.badge-key{color:var(--text-mute)}.badge b{color:var(--text);font-weight:600}.hero h1{margin:var(--sp-2) 0 0;letter-spacing:-.4px;font-size:clamp(30px,4.6vw,50px);line-height:1.16}.hero h1 em{color:var(--cyan);font-style:normal}.hero-tagline{color:var(--text);font-size:clamp(var(--fs-lg),1.6vw,20px);font-weight:600}.hero-intro,.hero-tagline{max-width:var(--measure);margin:0}.hero-intro{color:var(--text-dim)}.hero-actions{gap:var(--sp-3);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);font-family:inherit;font-size:var(--fs-base);cursor:pointer;border:1px solid #0000;border-radius:10px;font-weight:600;line-height:1;transition:transform .15s,background .18s,border-color .18s,color .18s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{background:var(--cyan);color:var(--on-cyan)}.btn-primary:hover{filter:brightness(1.1)}.btn-ghost{border-color:var(--line-control);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}.btn-sm{padding:0 var(--sp-4);font-size:var(--fs-sm)}.btn.is-armed{background:var(--amber);border-color:var(--amber);color:var(--on-amber);animation:1s ease-in-out infinite avd-pulse}.btn-count{background:var(--btn-count-bg);font-family:var(--mono);border-radius:4px;padding:2px 5px;font-size:11px}@keyframes avd-pulse{0%,to{box-shadow:0 0 0 0 var(--toast-mark-ring)}50%{box-shadow:0 0 0 7px #0000}}.block{padding:var(--sp-8) 0;border-top:1px solid var(--line-soft)}section[id]{scroll-margin-top:calc(var(--nav-h) + var(--sp-5))}.block-head{margin-bottom:var(--sp-6)}.block-kicker{margin:0 0 var(--sp-2);color:var(--amber);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:1.4px;text-transform:uppercase}.block-title{margin:0 0 var(--sp-3);letter-spacing:-.2px;font-size:clamp(21px,2.4vw,27px)}.block-lead{max-width:var(--measure);color:var(--text-dim);margin:0}.video{margin:0}.video-frame{border:1px solid var(--line-control-soft);border-radius:var(--radius);aspect-ratio:16/9;background:#000;position:relative;overflow:hidden}.video-el{background:#000;width:100%;height:100%;display:block}.video-poster{justify-content:center;align-items:center;gap:var(--sp-3);height:100%;padding:var(--sp-5);background:var(--poster-bg);text-align:center;flex-direction:column;display:flex}.video-poster-kicker{color:var(--amber);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:1.4px;margin:0}.video-poster-title{margin:0;font-size:clamp(19px,2.2vw,25px);font-weight:700}.video-poster-note{margin:0 0 var(--sp-2);max-width:52ch}.video-cap,.video-poster-note{color:var(--text-dim);font-size:var(--fs-sm)}.video-cap{gap:var(--sp-1);margin-top:var(--sp-4);flex-direction:column;display:flex}.video-cap strong{color:var(--text)}.grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(268px,100%),1fr));display:grid}.card{border:1px solid var(--line-control-soft);border-radius:var(--radius);background:var(--panel);padding:var(--sp-5)}.card h3{margin:0 0 var(--sp-2);font-size:var(--fs-lg)}.card p{color:var(--text-dim);font-size:var(--fs-sm);margin:0}.table-wrap{border:1px solid var(--line-control-soft);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}td,th{border-bottom:1px solid var(--line-soft);padding:var(--sp-3) var(--sp-4);text-align:center}th{background:var(--panel-2);color:var(--text);white-space:nowrap;font-weight:600}td{color:var(--text-dim)}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--row-hover)}.td-strong{color:var(--text);font-weight:600}.flow{gap:var(--sp-3);display:grid}.flow-row{gap:var(--sp-4);border:1px solid var(--line-soft);background:var(--bg-soft);padding:var(--sp-3) var(--sp-4);border-radius:12px;grid-template-columns:44px minmax(0,1fr);align-items:start;display:grid}.flow-n{background:var(--panel-2);width:32px;height:32px;color:var(--cyan);font-family:var(--mono);font-size:var(--fs-sm);border-radius:9px;place-items:center;display:grid}.flow-name{color:var(--text);font-weight:600}.flow-desc{color:var(--text-dim);font-size:var(--fs-sm)}.cmd{align-items:center;gap:var(--sp-3);border:1px solid var(--line-soft);background:var(--code-bg);max-width:100%;padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-4);border-radius:10px;display:flex}.cmd-text{min-width:0;color:var(--text);white-space:pre;background:0 0;border:0;flex:1;padding:0;overflow-x:auto}.cmd-copy,.cmd-text{font-size:var(--fs-sm)}.cmd-copy{min-height:var(--tap);border:1px solid var(--line-control);background:var(--panel-2);color:var(--text-dim);padding:0 var(--sp-4);cursor:pointer;border-radius:8px;flex:none;font-family:inherit;transition:border-color .18s,color .18s}.cmd-copy:hover{border-color:var(--cyan);color:var(--cyan)}.cmd-stack{gap:var(--sp-4);display:grid}.cmd-stack>*{min-width:0}.cmd-item h4{margin:0 0 var(--sp-1);font-size:var(--fs-base)}.cmd-item p{margin:0 0 var(--sp-3);color:var(--text-mute);font-size:var(--fs-sm)}.notes{gap:var(--sp-3);display:grid}.note{border-left:3px solid var(--cyan);background:var(--bg-soft);padding:var(--sp-3) var(--sp-5);border-radius:0 10px 10px 0}.note strong{color:var(--text)}.note span{color:var(--text-dim);font-size:var(--fs-sm)}.foot{margin-top:var(--sp-8);border-top:1px solid var(--line-soft);background:var(--foot-bg);padding:var(--sp-7) 0 var(--sp-8)}.foot-inner{gap:var(--sp-2);display:grid}.foot-author{color:var(--text);margin:0;font-weight:600}.foot-meta{color:var(--text-mute);font-size:var(--fs-sm);margin:0}.foot-sep{margin:0 var(--sp-2);color:var(--line)}.toast-layer{right:var(--gutter);bottom:var(--sp-5);z-index:var(--z-toast);gap:var(--sp-2);pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:fixed}.toast{align-items:center;gap:var(--sp-3);border:1px solid var(--line-control);background:var(--panel);max-width:min(88vw,420px);color:var(--text);font-family:inherit;font-size:var(--fs-sm);text-align:left;padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow);cursor:pointer;pointer-events:auto;border-radius:11px;display:inline-flex}.toast-mark{background:var(--cyan);border-radius:50%;flex:none;width:8px;height:8px}.toast-ok .toast-mark{background:var(--green)}.toast-warn .toast-mark{background:var(--red)}.toast-enter-active,.toast-leave-active{transition:opacity .22s,transform .22s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}@media (width>=1024px){.flow,.notes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1023px){.nav-brand{font-size:var(--fs-sm)}.nav-links{gap:var(--sp-3);font-size:var(--fs-xs)}}@media (width<=767px){.nav-links{gap:var(--sp-4);font-size:var(--fs-xs);scrollbar-width:none;flex-wrap:nowrap;flex:100%;order:3;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{flex:none}section[id]{scroll-margin-top:calc(var(--nav-h) + var(--sp-7))}.hero{padding-top:var(--sp-6)}.block{padding:var(--sp-7) 0}.hero-badges .badge:nth-child(n+3),.nav-tools .nav-ext{display:none}.video-poster{gap:var(--sp-2);padding:var(--sp-4)}.video-poster-note{margin-bottom:0}}@media (width<=400px){.flow-row{gap:var(--sp-3);padding:var(--sp-3);grid-template-columns:28px minmax(0,1fr)}.flow-n{width:28px;height:28px;font-size:var(--fs-xs)}.video-poster{padding:var(--sp-3)}.video-poster-title{font-size:var(--fs-base)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover{transform:none}}
