.sf [data-hub-item][hidden],.sf [data-hub-section][hidden],.sf [data-hub-hide-filtered][hidden]{display:none!important}kbd{font-family:var(--sf-mono)}.sf .sf-search-btn{border:1px solid var(--sf-line-warm);background:var(--sf-paper);height:40px;color:var(--sf-ink-3);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 11px;font-size:14px;font-weight:600;display:inline-flex}.sf .sf-search-btn:hover{background:var(--sf-white);border-color:var(--sf-green-line);color:var(--sf-ink)}.sf .sf-search-btn svg{flex:none;width:16px;height:16px}.sf .sf-search-btn-kbd{border:1px solid var(--sf-line-warm);background:var(--sf-white);color:var(--sf-ink-7);border-radius:6px;padding:2px 6px;font-size:11px}@media (max-width:1180px){.sf .sf-search-btn-label,.sf .sf-search-btn-kbd{display:none}.sf .sf-search-btn{justify-content:center;width:40px;padding:0}}.sf .sf-search{background:var(--sf-white);width:min(640px,100vw - 24px);max-height:min(620px,100vh - 96px);color:var(--sf-ink);border:0;border-radius:20px;margin:72px auto auto;padding:0;overflow:hidden;box-shadow:0 24px 80px #102e2447,0 0 0 1px #102e240f}.sf .sf-search::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102e2461}.sf .sf-search-box{max-height:inherit;flex-direction:column;display:flex}.sf .sf-search-field{border-bottom:1px solid var(--sf-line);align-items:center;gap:10px;padding:14px 16px;display:flex}.sf .sf-search-field>svg{width:20px;height:20px;color:var(--sf-ink-7);flex:none}.sf .sf-search-field input{min-width:0;font:inherit;color:var(--sf-ink);background:0 0;border:0;outline:0;flex:1;font-size:17px}.sf .sf-search-field input::-webkit-search-cancel-button{display:none}.sf .sf-search-esc{font:inherit;font-family:var(--sf-mono);border:1px solid var(--sf-line-warm);background:var(--sf-paper);color:var(--sf-ink-7);cursor:pointer;border-radius:6px;padding:3px 8px;font-size:11px}.sf .sf-search-label{font-family:var(--sf-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sf-ink-7);margin:0;padding:12px 20px 4px;font-size:11px}.sf .sf-search-list{margin:0;padding:4px 8px 8px;list-style:none;overflow-y:auto}.sf .sf-search-hit{color:var(--sf-ink);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.sf .sf-search-hit-on{background:var(--sf-green-tint)}.sf .sf-search-hit>svg{width:16px;height:16px;color:var(--sf-ink-8);opacity:0;flex:none}.sf .sf-search-hit-on>svg{opacity:1;color:var(--sf-green)}.sf .sf-search-kind{text-align:center;background:var(--sf-tile-3);width:74px;color:var(--sf-ink-4);border-radius:999px;flex:none;padding:3px 0;font-size:11px;font-weight:700}.sf .sf-search-kind[data-kind=Help]{background:var(--sf-green-tint-2);color:var(--sf-green-deep)}.sf .sf-search-kind[data-kind=Tool]{background:var(--sf-accent-tint);color:var(--sf-accent-ink)}.sf .sf-search-text{flex-direction:column;flex:1;min-width:0;display:flex}.sf .sf-search-title{font-size:15px;font-weight:650;line-height:1.3}.sf .sf-search-desc{color:var(--sf-ink-5);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.sf .sf-search-empty{color:var(--sf-ink-4);margin:0;padding:18px 22px 22px;font-size:15px}.sf .sf-search-foot{border-top:1px solid var(--sf-line);background:var(--sf-paper);color:var(--sf-ink-7);margin:0;padding:10px 20px;font-size:12px}.sf .sf-search-foot kbd{border:1px solid var(--sf-line-warm);background:var(--sf-white);border-radius:5px;padding:1px 5px;font-size:11px}@media (max-width:640px){.sf .sf-search{width:calc(100vw - 16px);max-height:calc(100vh - 24px);margin-top:12px}.sf .sf-search-kind,.sf .sf-search-foot{display:none}}.sf .sf-hub-bar{z-index:6;border:1px solid var(--sf-line-warm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-radius:20px;margin:0 0 28px;padding:12px;position:sticky;top:12px;box-shadow:0 8px 28px #102e2414}.sf .sf-hub-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.sf .sf-hub-field{border:1px solid var(--sf-line-warm);background:var(--sf-white);border-radius:14px;flex:280px;align-items:center;gap:10px;height:46px;padding:0 14px;display:flex}.sf .sf-hub-field:focus-within{border-color:var(--sf-green);box-shadow:0 0 0 3px var(--sf-green-tint-2)}.sf .sf-hub-field>svg{width:18px;height:18px;color:var(--sf-ink-7);flex:none}.sf .sf-hub-field input{min-width:0;font:inherit;color:var(--sf-ink);background:0 0;border:0;outline:0;flex:1;font-size:15px}.sf .sf-hub-field input::-webkit-search-cancel-button{display:none}.sf .sf-hub-x{background:var(--sf-tile-3);width:26px;height:26px;color:var(--sf-ink-4);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.sf .sf-hub-x svg{width:14px;height:14px}.sf .sf-hub-seg{background:var(--sf-tile-3);border-radius:12px;padding:3px;display:inline-flex}.sf .sf-hub-seg button{font:inherit;color:var(--sf-ink-4);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 14px;font-size:13.5px;font-weight:650}.sf .sf-hub-seg button[aria-pressed=true]{background:var(--sf-white);color:var(--sf-ink);box-shadow:0 1px 3px #102e2424}.sf .sf-hub-count{color:var(--sf-ink-5);white-space:nowrap;margin:0 4px 0 auto;font-size:13px}.sf .sf-hub-chips{scrollbar-width:none;gap:8px;margin-top:10px;padding-bottom:2px;display:flex;overflow-x:auto}.sf .sf-hub-chips::-webkit-scrollbar{display:none}.sf .sf-hub-chip{border:1px solid var(--sf-line-warm);background:var(--sf-white);color:var(--sf-ink-3);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 13px;font-size:13.5px;font-weight:600;display:inline-flex}.sf .sf-hub-chip span{background:var(--sf-tile-3);color:var(--sf-ink-5);border-radius:999px;padding:1px 7px;font-size:11.5px}.sf .sf-hub-chip:hover{border-color:var(--sf-green-line);background:var(--sf-green-tint)}.sf .sf-hub-chip[aria-current=true]{background:var(--sf-ink);border-color:var(--sf-ink);color:var(--sf-white)}.sf .sf-hub-chip[aria-current=true] span{color:var(--sf-white);background:#ffffff2e}.sf .sf-hub-reset{font:inherit;color:var(--sf-accent-ink);cursor:pointer;background:0 0;border:0;flex:none;padding:7px 10px;font-size:13.5px;font-weight:650;text-decoration:underline}.sf .sf-hub-empty{color:var(--sf-ink-4);margin:12px 4px 2px;font-size:14.5px}.sf .sf-hub-empty kbd{border:1px solid var(--sf-line-warm);background:var(--sf-white);border-radius:5px;padding:1px 6px;font-size:12px}.sf .sf-gd-foot{margin-top:40px}.sf .sf-progress{z-index:40;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.sf .sf-progress>div{background:linear-gradient(90deg, var(--sf-green-live), var(--sf-accent));transform-origin:0;height:100%;transform:scaleX(0)}.sf .sf-ar-topicline{color:var(--sf-ink-5);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin:18px auto 0;font-size:14px;display:flex}.sf .sf-ar-topicline a{background:var(--sf-white);border:1px solid var(--sf-green-line);border-radius:999px;padding:4px 12px;font-weight:700}.sf .sf-ar-hero-left .sf-ar-topicline{justify-content:flex-start;margin-left:0}.sf .sf-series{grid-template-columns:1fr 1fr;gap:14px;margin:56px 0 8px;display:grid}.sf .sf-series-link{border:1px solid var(--sf-line-warm);background:var(--sf-paper);color:var(--sf-ink);border-radius:16px;flex-direction:column;gap:6px;padding:18px 20px;transition:border-color .15s,background .15s,transform .15s;display:flex}.sf .sf-series-link:hover{border-color:var(--sf-green-line);background:var(--sf-green-tint);color:var(--sf-ink)}.sf .sf-series-next{text-align:right;align-items:flex-end}.sf .sf-series-dir{color:var(--sf-green);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:inline-flex}.sf .sf-series-dir svg{width:14px;height:14px}.sf .sf-series-title{font-size:16.5px;font-weight:700;line-height:1.35}@media (max-width:640px){.sf .sf-series{grid-template-columns:1fr}.sf .sf-series-next{text-align:left;align-items:flex-start}}.sf .sf-doc-shot{margin:24px 0 30px}.sf .sf-doc-shot img{border:1px solid var(--sf-line-warm);background:var(--sf-paper);border-radius:14px;box-shadow:0 14px 40px #102e241a,0 2px 6px #102e240d}.sf .sf-doc-shot figcaption{gap:8px;margin:12px 4px 0;display:flex}.sf .sf-doc-shot figcaption:before{content:"↑";color:var(--sf-green);font-weight:700}.sf .dx{grid-template-columns:minmax(0,1fr);gap:28px 56px;max-width:1260px;margin:0 auto;display:grid}@media (min-width:1024px){.sf .dx{grid-template-columns:268px minmax(0,1fr)}}@media (min-width:1360px){.sf .dx{grid-template-columns:268px minmax(0,1fr) 200px}}.sf .dx-main{min-width:0;max-width:760px}.sf .dx-head{margin-bottom:28px}.sf .dx-crumbs{color:var(--sf-ink-5);flex-wrap:wrap;gap:4px 8px;margin:0 0 18px;padding:0;font-size:13.5px;list-style:none;display:flex}.sf .dx-crumbs li+li:before{content:"›";color:var(--sf-ink-8);margin-right:8px}.sf .dx-crumbs [aria-current]{color:var(--sf-ink);font-weight:600}.sf .dx-pill{background:var(--sf-green-tint-2);color:var(--sf-green-deep);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 8px;font-size:12.5px;font-weight:700;display:inline-flex}.sf .dx-pill svg{width:15px;height:15px}.sf .dx-h1{letter-spacing:-.02em;color:var(--sf-ink);margin:14px 0 12px;font-size:clamp(30px,4vw,42px);font-weight:750;line-height:1.12}.sf .dx-lead{color:var(--sf-ink-4);margin:0 0 14px;font-size:18px;line-height:1.55}.sf .dx-meta{color:var(--sf-ink-7);margin:0;font-size:13.5px}.sf .dx-side{min-width:0}@media (min-width:1024px){.sf .dx-side{scrollbar-width:thin;align-self:start;max-height:calc(100vh - 40px);padding-right:6px;position:sticky;top:20px;overflow-y:auto}}.sf .dx-nav-toggle{border:1px solid var(--sf-line-warm);background:var(--sf-paper);width:100%;color:var(--sf-ink);font:inherit;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:15px;font-weight:650;display:flex}.sf .dx-nav-toggle b{font-weight:700}.sf .dx-nav-toggle span{color:var(--sf-ink-5);font-size:13.5px;font-weight:500}.sf .dx-nav-body{margin-top:10px;display:none}.sf .dx-nav[data-open=true] .dx-nav-body{display:block}@media (min-width:1024px){.sf .dx-nav-toggle{display:none}.sf .dx-nav-body{margin-top:0;display:block}}.sf .dx-home{color:var(--sf-green-deep);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.sf .dx-home svg{width:15px;height:15px}.sf .dx-find{border:1px solid var(--sf-line-warm);background:var(--sf-white);border-radius:12px;align-items:center;gap:8px;height:40px;margin-bottom:14px;padding:0 12px;display:flex}.sf .dx-find:focus-within{border-color:var(--sf-green);box-shadow:0 0 0 3px var(--sf-green-tint-2)}.sf .dx-find svg{width:15px;height:15px;color:var(--sf-ink-7);flex:none}.sf .dx-find input{min-width:0;font:inherit;color:var(--sf-ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.sf .dx-find input::-webkit-search-cancel-button{display:none}.sf .dx-group{border-radius:12px;margin:0 0 4px}.sf .dx-group>summary{color:var(--sf-ink);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;font-size:14.5px;font-weight:700;list-style:none;display:flex}.sf .dx-group>summary::-webkit-details-marker{display:none}.sf .dx-group>summary:hover{background:var(--sf-tile-3)}.sf .dx-group>summary svg:first-child{width:17px;height:17px;color:var(--sf-green);flex:none}.sf .dx-group>summary .dx-caret{width:14px;height:14px;color:var(--sf-ink-8);margin-left:auto;transition:transform .15s}.sf .dx-group[open]>summary .dx-caret{transform:rotate(90deg)}.sf .dx-group ul,.sf .dx-results{border-left:1px solid var(--sf-line-warm);margin:2px 0 8px 18px;padding:0 0 0 12px;list-style:none}.sf .dx-results{border-left:0;margin-left:0;padding-left:0}.sf .dx-link{color:var(--sf-ink-3);border-radius:9px;padding:7px 10px;font-size:14px;line-height:1.35;display:block}.sf .dx-link:hover{background:var(--sf-tile-3);color:var(--sf-ink)}.sf .dx-link[aria-current=page]{background:var(--sf-green-tint-2);color:var(--sf-green-deep);font-weight:700}.sf .dx-link small{color:var(--sf-ink-7);margin-top:1px;font-size:12px;font-weight:500;display:block}.sf .dx-none{color:var(--sf-ink-5);margin:4px 2px;font-size:14px}.sf .dx-toc{display:none}@media (min-width:1360px){.sf .dx-toc{align-self:start;display:block;position:sticky;top:20px}}.sf .dx-toc-h{font-family:var(--sf-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sf-ink-7);margin:0 0 10px;font-size:11px}.sf .dx-toc ol{border-left:1px solid var(--sf-line-warm);margin:0;padding:0;list-style:none}.sf .dx-toc a{color:var(--sf-ink-5);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;font-size:13.5px;line-height:1.4;display:block}.sf .dx-toc a:hover{color:var(--sf-ink)}.sf .dx-toc a[aria-current=true]{border-left-color:var(--sf-accent);color:var(--sf-ink);font-weight:650}.sf .dx-main .sf-ar-prose h2{scroll-margin-top:24px}.sf .dx-end{border:1px solid var(--sf-green-line);background:var(--sf-green-tint-3);border-radius:18px;margin-top:40px;padding:22px 24px}.sf .dx-end p{color:var(--sf-ink-3);margin:0;font-size:15.5px;line-height:1.6}.sf .dxh{max-width:1160px;margin:0 auto;padding:0 22px 72px}.sf .dxh-hero{text-align:center;max-width:760px;margin:0 auto;padding:18px 0 8px}.sf .dxh-hero .sf-hub-bar{text-align:left;margin:26px 0 0;position:static}.sf .dxh-pop{color:var(--sf-ink-5);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:16px 0 0;font-size:13.5px;display:flex}.sf .dxh-pop a{background:var(--sf-white);border:1px solid var(--sf-line-warm);border-radius:999px;padding:5px 12px;font-weight:600}.sf .dxh-h{letter-spacing:-.015em;color:var(--sf-ink);margin:48px 0 6px;font-size:26px;line-height:1.2}.sf .dxh-sub{color:var(--sf-ink-5);margin:0 0 20px;font-size:16px}.sf .dxh-start{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.sf .dxh-step{background:var(--sf-white);border:1px solid var(--sf-line-warm);color:var(--sf-ink);counter-increment:step;border-radius:20px;flex-direction:column;gap:6px;padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.sf .dxh-step:before{content:counter(step);background:var(--sf-ink);width:30px;height:30px;color:var(--sf-white);border-radius:50%;place-items:center;margin-bottom:8px;font-size:14px;font-weight:750;display:grid}.sf .dxh-step:hover{border-color:var(--sf-green-line);color:var(--sf-ink);transform:translateY(-2px);box-shadow:0 14px 34px #102e241a}.sf .dxh-step strong{font-size:17.5px;line-height:1.3}.sf .dxh-step span{color:var(--sf-ink-5);font-size:14.5px;line-height:1.5}.sf .dxh-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.sf .dxh-card{background:var(--sf-white);border:1px solid var(--sf-line-warm);border-radius:22px;flex-direction:column;padding:24px;display:flex}.sf .dxh-card-head{align-items:center;gap:12px;margin-bottom:6px;display:flex}.sf .dxh-ico{background:var(--sf-green-tint-2);width:42px;height:42px;color:var(--sf-green-deep);border-radius:13px;flex:none;place-items:center;display:grid}.sf .dxh-ico svg{width:21px;height:21px}.sf .dxh-card h3{color:var(--sf-ink);margin:0;font-size:18px;line-height:1.25}.sf .dxh-card-n{background:var(--sf-tile-3);color:var(--sf-ink-5);border-radius:999px;margin-left:auto;padding:2px 9px;font-size:12px;font-weight:700}.sf .dxh-card>p{color:var(--sf-ink-5);margin:0 0 12px;font-size:14.5px;line-height:1.5}.sf .dxh-card ul{margin:0;padding:0;list-style:none}.sf .dxh-card li a{color:var(--sf-ink);border-radius:10px;align-items:flex-start;gap:8px;margin:0 -10px;padding:9px 10px;font-size:15px;font-weight:600;line-height:1.35;display:flex}.sf .dxh-card li a:before{content:"→";color:var(--sf-ink-8);flex:none;transition:transform .15s,color .15s}.sf .dxh-card li a:hover{background:var(--sf-green-tint);color:var(--sf-ink)}.sf .dxh-card li a:hover:before{color:var(--sf-green);transform:translate(2px)}.sf .dxh-help{background:var(--sf-ink);color:var(--sf-white);border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;margin-top:48px;padding:26px 30px;display:flex}.sf .dxh-help p{color:#ffffffd1;max-width:560px;margin:0;font-size:16px;line-height:1.55}.sf .dxh-help strong{color:var(--sf-white);margin-bottom:4px;font-size:19px;display:block}.sf .dxh-help p a{color:inherit;text-decoration:underline}.sf .dxh-help>a{background:var(--sf-white);color:var(--sf-ink);white-space:nowrap;border-radius:999px;padding:12px 20px;font-weight:700}.sf .dxh-help>a:hover{background:var(--sf-green-tint-2);color:var(--sf-ink)}@media (max-width:640px){.sf .dxh{padding:0 16px 56px}.sf .dxh-grid{grid-template-columns:1fr}}
