:root{--bg:#fff;--bg-soft:#f5f5f7;--bg-inset:#fbfbfd;--elev:#fff;--ink:#1d1d1f;--ink-mid:#4a4a4f;--ink-soft:#86868b;--line:#d2d2d7;--line-soft:#e8e8ed;--accent:#0071e3;--accent-hover:#0077ed;--ok:#1a8451;--warn:#a86a12;--err:#c93400;--err-bg:#fff2ef;--add-bg:#e9f6ee;--del-bg:#fdece9;--mark-bg:#fff3c4;--radius-xl:22px;--radius-lg:18px;--radius:12px;--radius-sm:8px;--shadow-xs:0 1px 2px #0000000a;--shadow:0 3px 14px #0000000f;--shadow-lift:0 10px 34px #00000017;--nav-bg:#ffffffb8;--mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,"Courier New",monospace;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--measure:1180px}:root[data-theme=dark]{--bg:#000;--bg-soft:#1c1c1e;--bg-inset:#161618;--elev:#1d1d1f;--ink:#f5f5f7;--ink-mid:#c6c6cb;--ink-soft:#8f8f95;--line:#3a3a3c;--line-soft:#2a2a2c;--accent:#2997ff;--accent-hover:#4dabff;--ok:#4fd18c;--warn:#e0b25c;--err:#ff8a6b;--err-bg:#2a1512;--add-bg:#0f2a1c;--del-bg:#2a1512;--mark-bg:#3a3010;--nav-bg:#000000ad;--shadow-xs:0 1px 2px #0006;--shadow:0 3px 18px #00000080;--shadow-lift:0 14px 44px #000000a6}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:400 17px/1.5 var(--sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;padding-top:52px}h1,h2,h3{letter-spacing:-.025em;margin:0;font-weight:600;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea,select{font:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}svg.ico{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15em;height:1.15em}.mono{font-family:var(--mono);font-size:.92em}.wrap{width:100%;max-width:var(--measure);margin:0 auto;padding:0 24px}.wrap-wide{width:100%;max-width:1440px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}.skip{position:absolute;left:-9999px}.skip:focus{z-index:99;background:var(--accent);color:#fff;border-radius:999px;padding:8px 14px;top:12px;left:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.nav{z-index:50;background:var(--nav-bg);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line-soft);height:52px;position:fixed;inset:0 0 auto}.nav-inner{align-items:center;gap:28px;height:52px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:9px;font-size:17px;font-weight:600;display:flex}.brand-mark{background:var(--ink);width:26px;height:26px;color:var(--bg);font-family:var(--mono);border-radius:7px;place-items:center;font-size:13px;font-weight:600;display:grid}.nav-links{color:var(--ink-mid);align-items:center;gap:26px;font-size:14px;display:flex}.nav-links a:hover{color:var(--ink)}.nav-links a[aria-current]{color:var(--ink);font-weight:500}.nav-right{align-items:center;gap:10px;margin-left:auto;display:flex}.nav-search{border:1px solid var(--line);height:30px;color:var(--ink-soft);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:13px;transition:background .2s,border-color .2s;display:flex}.nav-search:hover{background:var(--bg-soft);border-color:var(--ink-soft)}.theme-btn{width:30px;height:30px;color:var(--ink-mid);border-radius:50%;place-items:center;display:grid}.theme-btn:hover{background:var(--bg-soft);color:var(--ink)}.hero{text-align:center;padding:76px 0 54px}.hero-slim{padding:60px 0 30px}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:13px;font-weight:600}.display{letter-spacing:-.035em;max-width:16em;margin:0 auto;font-size:clamp(38px,6vw,64px);font-weight:600;line-height:1.06}.display-sm{letter-spacing:-.03em;font-size:clamp(32px,4.4vw,48px)}.lede{color:var(--ink-mid);max-width:34em;margin:20px auto 0;font-size:clamp(17px,2vw,21px);line-height:1.5}.hero .search{max-width:560px;margin:34px auto 0}.search{background:var(--bg-soft);border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;height:48px;padding:0 16px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.search:focus-within{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.search .ico{color:var(--ink-soft)}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.search input::placeholder{color:var(--ink-soft)}.search input::-webkit-search-cancel-button{display:none}.search-kbd{font-family:var(--mono);color:var(--ink-soft);border:1px solid var(--line);background:var(--bg);border-radius:5px;padding:2px 6px;font-size:12px}.quick{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;font-size:14px;display:flex}.quick-label{align-self:center}.quick-link{color:var(--accent);border-radius:999px;padding:3px 10px;transition:background .2s}.quick-link:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.anchors{z-index:30;background:var(--bg);border-bottom:1px solid var(--line-soft);position:sticky;top:52px}.anchors-inner{scrollbar-width:none;gap:6px;padding:11px 24px;display:flex;overflow-x:auto}.anchors-inner::-webkit-scrollbar{display:none}.anchor{white-space:nowrap;color:var(--ink-soft);border-radius:999px;padding:6px 13px;font-size:13px;transition:all .2s}.anchor:hover{color:var(--ink);background:var(--bg-soft)}.anchor.is-active{color:var(--ink);background:var(--bg-soft);font-weight:500}.group{padding:40px 0 8px;scroll-margin-top:110px}.group-head{align-items:center;gap:12px;margin-bottom:14px;font-size:20px;display:flex}.group-head h2{font-size:20px}.group-head .count{color:var(--ink-soft);font-size:13px;font-family:var(--mono)}.group-head .rule{background:var(--line-soft);flex:1;height:1px}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.card{background:var(--bg-inset);border:1px solid var(--line-soft);border-radius:14px;align-items:flex-start;gap:11px;padding:13px 14px;transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,background .2s,border-color .2s;display:flex;position:relative}.card:hover{background:var(--elev);box-shadow:var(--shadow);border-color:#0000;transform:translateY(-2px)}.card-icon{background:var(--bg-soft);width:30px;height:30px;color:var(--ink);border:1px solid var(--line-soft);border-radius:9px;flex:none;place-items:center;display:grid}.card-icon .ico{width:16px;height:16px}.card:hover .card-icon{background:var(--ink);color:var(--bg);border-color:#0000}.card-body{flex:1;min-width:0}.card h3{letter-spacing:-.01em;font-size:15px;line-height:1.3}.card p{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.card.is-hidden,.group.is-hidden{display:none}.empty-note{text-align:center;color:var(--ink-soft);padding:40px 0 60px;font-size:15px}.promise{background:var(--bg-soft);margin-top:40px;padding:56px 0}.promise-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.promise-item h3{margin-bottom:8px;font-size:18px}.promise-item p{color:var(--ink-mid);font-size:15px;line-height:1.5}.kbd{font-family:var(--mono);background:var(--bg);border:1px solid var(--line);color:var(--ink-mid);border-radius:5px;padding:1px 6px;font-size:12px}.foot{border-top:1px solid var(--line-soft);margin-top:20px;padding:34px 0 44px}.foot-inner{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:20px;font-size:13px;display:flex}.foot-links{gap:20px;margin-left:auto;display:flex}.foot-links a:hover{color:var(--ink)}.cmdk{z-index:80;background:color-mix(in srgb,var(--ink) 22%,transparent);backdrop-filter:blur(6px);justify-content:center;padding:12vh 20px 20px;display:flex;position:fixed;inset:0}.cmdk[hidden]{display:none}.cmdk-box{background:var(--elev);border:1px solid var(--line-soft);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:66vh;box-shadow:var(--shadow-lift);overflow:auto}.cmdk-input{border-bottom:1px solid var(--line-soft);background:var(--elev);align-items:center;gap:10px;padding:14px 18px;display:flex;position:sticky;top:0}.cmdk-input input{background:0 0;border:0;outline:none;flex:1;font-size:16px}.cmdk-row{cursor:pointer;align-items:center;gap:12px;padding:10px 18px;display:flex}.cmdk-row[data-active]{background:var(--bg-soft)}.cmdk-row .g{color:var(--ink-soft);margin-left:auto;font-size:12px}.cmdk-row b{font-size:15px;font-weight:500}.cmdk-row small{color:var(--ink-soft);font-size:12px;display:block}.cmdk-foot{color:var(--ink-soft);border-top:1px solid var(--line-soft);gap:14px;padding:10px 18px;font-size:12px;display:flex}.crumbs{color:var(--ink-soft);align-items:center;gap:8px;padding:20px 0 6px;font-size:13px;display:flex}.crumbs a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.crumb-sep{opacity:.5}.crumbs [aria-current]{color:var(--ink)}.tool-layout{grid-template-columns:238px minmax(0,1fr);align-items:start;gap:32px;padding-bottom:60px;display:grid}.tool-side{max-height:calc(100vh - 96px);padding-right:6px;position:sticky;top:72px;overflow:auto}.side-head{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);padding:0 0 10px;font-size:12px;font-weight:600}.side-list li+li{margin-top:2px}.side-list a{color:var(--ink-mid);border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;transition:all .15s;display:flex}.side-list a:hover{background:var(--bg-soft);color:var(--ink)}.side-list a[aria-current]{background:var(--ink);color:var(--bg);font-weight:500}.tool-main{min-width:0}.tool-head{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:14px;margin-bottom:24px;padding:10px 0 22px;display:flex}.tool-head-icon{background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.tool-head-icon .ico{width:22px;height:22px}.tool-head-text{flex:1;min-width:0}.tool-head-text h1{letter-spacing:-.03em;font-size:28px}.tool-head-text p{color:var(--ink-soft);margin-top:6px;font-size:15px}.stage{flex-direction:column;gap:16px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.panes{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panes.single,.panes.stack{grid-template-columns:1fr}.panes.stack textarea{min-height:170px}.panes.stack .out{min-height:190px;max-height:min(58vh,540px)}.panes.tbl .out{min-height:220px;max-height:none}.pane .in-line{width:100%;height:46px;font:400 13.5px/1.6 var(--mono);letter-spacing:0;color:var(--ink);background:0 0;border:0;outline:none;padding:0 16px;display:block}.pane .in-line::placeholder{color:var(--ink-soft);opacity:.75;font-family:var(--sans);font-size:14px}.pane{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--bg-inset);flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.pane:focus-within{border-color:var(--line);box-shadow:var(--shadow)}.pane-head{border-bottom:1px solid var(--line-soft);background:var(--elev);align-items:center;gap:8px;min-height:42px;padding:10px 14px;display:flex}.pane-title{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:600}.pane-meta{font-family:var(--mono);color:var(--ink-soft);margin-left:auto;font-size:11px}.pane-body{flex:1;position:relative}.pane textarea{resize:vertical;width:100%;min-height:320px;font:400 13.5px/1.6 var(--mono);letter-spacing:0;color:var(--ink);white-space:pre;background:0 0;border:0;outline:none;padding:14px 16px;display:block;overflow:auto}.pane textarea::placeholder{color:var(--ink-soft);opacity:.75;font-family:var(--sans);font-size:14px}.pane .out{min-height:320px;font:400 13.5px/1.6 var(--mono);letter-spacing:0;white-space:pre-wrap;word-break:break-word;max-height:520px;margin:0;padding:14px 16px;overflow:auto}.pane .out.plain{font-family:var(--sans);white-space:normal;font-size:14px;line-height:1.55}.pane .out:empty:before{content:attr(data-empty);color:var(--ink-soft);font-family:var(--sans);letter-spacing:-.01em;font-size:14px}.pane .out mark{background:color-mix(in srgb,var(--accent) 18%,transparent);color:inherit;border-radius:3px;padding:0 1px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{background:var(--bg-soft);height:36px;color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:500;transition:background .2s,transform .1s,opacity .2s;display:inline-flex}.btn:hover{background:color-mix(in srgb,var(--ink) 10%,var(--bg-soft))}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff}:root[data-theme=dark] .btn-primary{color:#000}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{border:1px solid var(--line);background:0 0}.btn-ghost:hover{background:var(--bg-soft)}.btn-sm{height:30px;padding:0 12px;font-size:13px}.btn .ico{width:15px;height:15px}.seg{background:var(--bg-soft);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink-mid);border-radius:8px;padding:5px 13px;font-size:13px;transition:all .18s}.seg button[aria-pressed=true]{background:var(--elev);color:var(--ink);box-shadow:var(--shadow-xs);font-weight:500}.opt{color:var(--ink-mid);align-items:center;gap:8px;font-size:13px;display:flex}.switch{background:var(--line);border-radius:999px;flex:none;width:38px;height:22px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .22s cubic-bezier(.2,.7,.3,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:var(--ok)}.switch[aria-checked=true]:after{transform:translate(16px)}.field-num{color:var(--ink-mid);align-items:center;gap:6px;font-size:13px;display:flex}.field-num input{border:1px solid var(--line);background:var(--bg);width:64px;height:30px;font-family:var(--mono);border-radius:8px;padding:0 8px;font-size:13px}.field-text{color:var(--ink-mid);align-items:center;gap:6px;font-size:13px;display:flex}.field-text input{border:1px solid var(--line);background:var(--bg);width:132px;height:30px;color:var(--ink);border-radius:8px;padding:0 8px;font-size:13px}.field-text input.mono{font-family:var(--mono)}.hint-row{color:var(--ink-soft);border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:8px 18px;margin-top:28px;padding-top:18px;font-size:13px;display:flex}.tool-foot .rel{margin-top:20px}.rel h4{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin:0 0 10px;font-size:12px;font-weight:600}.rel-list{flex-wrap:wrap;gap:8px;display:flex}.rel-chip{background:var(--bg-soft);color:var(--ink-mid);border-radius:999px;padding:6px 12px;font-size:13px;transition:all .2s}.rel-chip:hover{background:var(--ink);color:var(--bg)}.banner{border-radius:var(--radius);overflow-wrap:anywhere;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.banner .ico{width:17px;height:17px;margin-top:2px}.banner.err{background:var(--err-bg);color:var(--err)}.banner.note{background:var(--bg-soft);color:var(--ink-mid)}.banner code{font-family:var(--mono);font-size:12.5px}.stats{color:var(--ink-soft);flex-wrap:wrap;gap:22px;font-size:13px;display:flex}.stats b{font-family:var(--mono);color:var(--ink);font-size:15px;font-weight:500;display:block}.tree{font:400 13.5px/1.7 var(--mono);letter-spacing:0;max-height:520px;margin:0;padding:14px 16px;overflow:auto}.tree .row,.tree details>summary{border-left:1px solid var(--line-soft);margin-left:2px;padding-left:14px}.out.html{white-space:normal;padding:8px 10px}.tree .branch{margin-left:1px}.out .k,.tree .k{color:var(--accent)}.out .s,.tree .s{color:var(--ok)}.out .n,.tree .n{color:var(--warn)}.out .b,.tree .b{color:var(--err)}.out .null,.tree .null{color:var(--ink-soft)}.out .cnt,.tree .cnt{color:var(--ink-soft);font-size:12px}.tree details>summary{cursor:pointer;list-style:none}.tree summary::-webkit-details-marker{display:none}.tree summary:before{content:"";border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);width:7px;height:7px;margin-right:8px;transition:transform .2s;display:inline-block;transform:rotate(-45deg)}.tree details[open]>summary:before{transform:rotate(45deg)}.out:not(.tree) .row{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:12px;padding:8px 6px;display:flex}.out:not(.tree) .row:last-child{border-bottom:0}.out:not(.tree) .row code{font-family:var(--mono);word-break:break-all;color:var(--ink);font-size:13.5px;line-height:1.55}.out .kk{width:86px;font-family:var(--sans);color:var(--ink-soft);flex:none;font-size:12px}.out .row.sel{background:var(--bg-soft);border-bottom-color:#0000;border-radius:9px}.out .row.sel .kk{color:var(--ink)}.sep{background:var(--line-soft);height:1px;margin:14px 0}table.kv{border-collapse:collapse;width:100%;font-size:13.5px}.kv th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line);padding:4px 10px 8px;font-size:11px;font-weight:600}.kv td{border-bottom:1px solid var(--line-soft);vertical-align:top;font-family:var(--mono);word-break:break-all;padding:9px 10px;font-size:13px;line-height:1.5}.kv tr:last-child td{border-bottom:0}.kv td.i{text-align:right;width:32px;color:var(--ink-soft)}.kv td.k{color:var(--accent);word-break:break-all}.kv td.note{font-family:var(--sans);color:var(--ink-soft);font-size:12px}.kv tr.sel td{background:var(--bg-soft)}.structure{margin:2px 0 16px;padding:0 6px}.rx-line{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--bg-inset);align-items:center;gap:8px;padding:11px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.rx-line:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.rx-slash{font-family:var(--mono);color:var(--ink-soft);font-size:16px}.rx-pattern{min-width:0;font:500 15px/1.4 var(--mono);color:var(--ink);background:0 0;border:0;outline:none;flex:1}.rx-pattern::placeholder{color:var(--ink-soft);opacity:.7;font-weight:400}.rx-flags{font-family:var(--mono);color:var(--accent);font-size:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);height:30px;color:var(--ink-mid);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;transition:all .18s;display:inline-flex}.chip code{font-family:var(--mono);color:var(--ink);font-size:12px}.chip:hover{background:var(--bg-soft)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:#0000}.chip[aria-pressed=true] code{color:var(--bg)}.note-chip{color:var(--ink-soft);border-style:dashed}.rx-replace{align-items:center;gap:10px;display:flex}.rx-input{border:1px solid var(--line);background:var(--bg);min-width:0;height:34px;font:400 13.5px/1 var(--mono);border-radius:9px;flex:1;padding:0 12px}.rx-input:focus{border-color:var(--accent);outline:none}.mlist{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-inset);max-height:420px;overflow:auto}.mlist:empty{display:none}.m-row{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:12px;padding:9px 12px;font-size:13px;display:flex}.m-row:last-child{border-bottom:0}.m-row:hover{background:var(--bg-soft)}.m-i{text-align:right;width:26px;font-family:var(--mono);color:var(--ink-soft);flex:none;font-size:11px}.m-range{width:78px;font-family:var(--mono);color:var(--ink-soft);flex:none;font-size:11px}.m-hit{font-family:var(--mono);color:var(--ok);word-break:break-all;font-size:13px}.m-groups{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto;display:flex}.m-groups .g{font-family:var(--mono);color:var(--ink-mid);background:var(--bg-soft);border-radius:6px;align-items:baseline;gap:5px;padding:2px 7px;font-size:11.5px;display:inline-flex}.m-groups .g i{color:var(--ink-soft);font-style:normal}.diff-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.stage-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.stage-toolbar label{color:var(--ink-soft);align-items:center;gap:6px;font-size:12.5px;display:flex}.stage-toolbar select,.stage-toolbar input[type=text],.stage-toolbar input[type=number]{font-family:var(--mono);color:var(--ink);background:var(--bg-inset);border:1px solid var(--line-soft);border-radius:8px;padding:5px 8px;font-size:13px}table.diff{border-collapse:collapse;table-layout:fixed;width:100%;font-family:var(--mono);font-size:13px;line-height:1.55}.diff td{border-bottom:1px solid var(--line-soft);vertical-align:top;white-space:pre-wrap;word-break:break-all;padding:3px 8px}.diff td.ln{text-align:right;width:36px;color:var(--ink-soft);user-select:none;border-right:1px solid var(--line-soft);padding-right:6px;font-size:11.5px}.diff td.sign{text-align:center;width:20px;color:var(--ink-soft)}.diff tr.add td.txt{background:var(--add-bg)}.diff tr.del td.txt{background:var(--del-bg)}.diff tr.add td.sign{color:var(--ok)}.diff tr.del td.sign{color:var(--err)}.diff .w ins,.diff .w del{background:var(--mark-bg);border-radius:3px;padding:0 1px;text-decoration:none}.diff .w del{background:var(--del-bg)}.diff-summary{color:var(--ink-soft);flex-wrap:wrap;gap:18px;margin:0 0 12px;font-size:13px;display:flex}.diff-summary b{font-family:var(--mono);color:var(--ink);font-weight:500}.doc-body{border-top:1px solid var(--line-soft);max-width:820px;margin-top:52px;padding-top:32px}.doc-body h2{margin:34px 0 12px;font-size:22px}.doc-body h3{margin:24px 0 8px;font-size:17px}.doc-body p{color:var(--ink-mid);overflow-wrap:anywhere;margin:0 0 12px;font-size:15.5px;line-height:1.7}.doc-body ul{margin:0 0 14px;padding-left:20px;list-style:outside}.doc-body li{color:var(--ink-mid);overflow-wrap:anywhere;margin-bottom:6px;font-size:15.5px;line-height:1.7}.doc-body code{font-family:var(--mono);background:var(--bg-soft);border-radius:5px;padding:1px 5px;font-size:.9em}.doc-body pre{background:var(--bg-soft);border-radius:var(--radius);padding:14px 16px;font-size:13px;line-height:1.6;overflow:auto}.doc-body pre code{background:0 0;padding:0}.faq{margin-top:40px}.faq details{border-bottom:1px solid var(--line-soft);padding:14px 0}.faq summary{cursor:pointer;align-items:center;gap:10px;font-size:16px;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";font-family:var(--mono);color:var(--accent);font-size:18px;line-height:1}.faq details[open] summary:before{content:"−"}.faq p{color:var(--ink-mid);overflow-wrap:anywhere;margin:10px 0 0 28px;font-size:15px;line-height:1.7}.doc{padding:24px 0 70px}.doc h2{margin:52px 0 18px;font-size:24px}.doc h2:first-child{margin-top:20px}.doc-p{color:var(--ink-mid);font-size:16px;line-height:1.65}.principles li{border-top:1px solid var(--line-soft);gap:20px;padding:22px 0;display:flex}.principles .num{font-family:var(--mono);color:var(--ink-soft);padding-top:3px;font-size:13px}.principles h3{margin-bottom:7px;font-size:19px}.principles p{color:var(--ink-mid);font-size:15px;line-height:1.6}.inventory{gap:8px;display:grid}.inv-head{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin-top:18px;font-size:12px;font-weight:600}.inv-row{border:1px solid var(--line-soft);border-radius:var(--radius);align-items:center;gap:14px;padding:12px 14px;font-size:14px;display:flex}.inv-row .g{color:var(--ink-soft);font-size:12px;font-family:var(--mono);margin-left:auto}.inv-row .en{color:var(--ink-soft);font-size:12.5px}.inv-row a{font-weight:500}.inv-row a:hover{text-underline-offset:3px;text-decoration:underline}.cta-inline{border-radius:var(--radius-lg);background:var(--bg-soft);flex-wrap:wrap;align-items:center;gap:18px;margin-top:44px;padding:24px;display:flex}.cta-inline p{flex:1;min-width:200px;font-size:16px}.nf{text-align:center;padding:80px 0 90px}.nf .lede{margin:18px auto 0}.nf-code{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-soft);font-size:13px}.nf-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;display:flex}.nf .rel{max-width:520px;margin:44px auto 0}@media (width<=900px){.tool-layout{grid-template-columns:minmax(0,1fr)}.tool-side{border-bottom:1px solid var(--line-soft);max-height:none;padding-bottom:12px;position:static;overflow:visible}.side-list{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.side-list::-webkit-scrollbar{display:none}.side-list li+li{margin:0}.side-list a{white-space:nowrap;background:var(--bg-soft);border-radius:999px}.side-list a[aria-current]{background:var(--ink);color:var(--bg)}.side-head{display:none}.promise-grid{grid-template-columns:1fr;gap:24px}.nav-links{display:none}}@media (width<=680px){body{font-size:16px}.hero{padding:48px 0 36px}.panes{grid-template-columns:1fr}.tool-head{flex-wrap:wrap}.wrap,.wrap-wide{padding:0 18px}.pane textarea,.pane .out{min-height:200px}.panes.stack textarea{min-height:130px}.panes.stack .out{min-height:170px}.rx-line{flex-wrap:wrap}.diff-grid{grid-template-columns:1fr}.out .kk{width:70px}.m-row{flex-wrap:wrap}.m-groups{justify-content:flex-start;width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}.theme-btn[data-astro-cid-wpvy4v7s] .only-light{display:block}.theme-btn[data-astro-cid-wpvy4v7s] .only-dark,[data-theme=dark] .theme-btn[data-astro-cid-wpvy4v7s] .only-light{display:none}[data-theme=dark] .theme-btn[data-astro-cid-wpvy4v7s] .only-dark{display:block}.beian[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}
