@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-ui:"Figtree Variable", Figtree, system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans CJK JP", "PingFang SC", "Microsoft YaHei", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", var(--font-ui);--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--v-pink:#ff4d6d;--v-yellow:#ffd23f;--v-teal:#2ec4b6;--v-violet:#7b5cff;--v-orange:#ff8a3d;--v-blue:#3d8bff;--v-navy:#14213d;--ground:#e9ebef;--ground-2:#d9dde5;--panel:#fff;--panel-2:#f3f4f8;--line:#c5cad4;--line-soft:#e2e5eb;--ctl-line:#8992a8;--ink:#14213d;--muted:#4a5573;--accent:#5a3ff0;--focus:#5a3ff0;--select:#d9d1ff;--ok:#0a6f66;--ok-bg:#dcf5f2;--err:#b8153a;--err-bg:#ffe5ea;--warn:#6f5200;--warn-bg:#fff3c4;--bar:#14213d;--bar-ink:#fff;--bar-muted:#c3cbdf;--bar-line:#4a5880;--bar-field:#1e2c4f;--cat-time:var(--v-pink);--cat-encoding:var(--v-violet);--cat-hashing:var(--ink);--cat-text:var(--v-yellow);--cat-data:var(--v-teal);--cat-graphics:var(--v-orange);--cat-network:var(--v-blue);--sticker-shadow:drop-shadow(0 2px 1px #14213d4d);--lift:0 1px 2px #14213d0f, 0 8px 24px -12px #14213d40;--r-panel:14px;--r-ctl:8px;--ease:cubic-bezier(.16, 1, .3, 1);--gutter:24px;--rail:340px}:root[data-theme=dark]{color-scheme:dark;--ground:#161b27;--ground-2:#1e2534;--panel:#232b3c;--panel-2:#1b2230;--line:#3b4662;--line-soft:#2d364b;--ctl-line:#6b7896;--ink:#eef1f7;--muted:#aeb8cd;--accent:#b9abff;--focus:#ffd23f;--select:#4a3d99;--ok:#6fe3d6;--ok-bg:#123f3b;--err:#ff93a7;--err-bg:#4a1827;--warn:#ffd96a;--warn-bg:#3f340d;--bar:#0d1320;--bar-line:#36415c;--bar-field:#1a2338;--sticker-shadow:drop-shadow(0 2px 1px #0000008c);--lift:0 1px 2px #0000004d, 0 10px 28px -14px #000000b3}@media (width<=720px){:root{--gutter:16px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--ctl-line) transparent;scrollbar-gutter:stable}body{background:var(--ground);min-height:100vh;color:var(--ink);font:400 15px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;accent-color:var(--accent);caret-color:var(--accent)}::selection{background:var(--select);color:var(--ink)}img,svg,canvas,video{max-width:100%;display:block}ul,ol{padding:0;list-style:none}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;font-weight:800;line-height:1.15}h1{font-size:clamp(1.6rem,1.25rem + 1.2vw,2rem)}h2{font-size:1.3rem}h3{font-size:1.05rem;font-weight:700}p{text-wrap:pretty}code,kbd,samp,pre,.mono{font-family:var(--font-mono);font-variant-ligatures:none;font-size:.93em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--v-yellow);color:var(--v-navy);border-radius:var(--r-ctl);padding:8px 14px;font-weight:700;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.muted{color:var(--muted)}.tnum{font-variant-numeric:tabular-nums}.stk{width:64px;height:64px;filter:var(--sticker-shadow);rotate:var(--tilt,0deg);transition:rotate .5s var(--ease), translate .5s var(--ease);flex:none;overflow:visible}.k-p{fill:var(--v-pink)}.k-y{fill:var(--v-yellow)}.k-t{fill:var(--v-teal)}.k-v{fill:var(--v-violet)}.k-o{fill:var(--v-orange)}.k-b{fill:var(--v-blue)}.k-n{fill:var(--v-navy)}.k-w{fill:#fff}.k-cut{stroke:#fff;stroke-width:9px;stroke-linejoin:round;paint-order:stroke}.k-s{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.k-s2{stroke-width:2.6px}.k-s6{stroke-width:6px}.k-butt{stroke-linecap:butt}.k-cut-s{stroke:#fff;stroke-width:15px;fill:#fff}.k-sn{stroke:var(--v-navy)}.k-sw{stroke:#fff}.k-sy{stroke:var(--v-yellow)}.k-sv{stroke:var(--v-violet)}.k-st{stroke:var(--v-teal)}.k-mx{mix-blend-mode:multiply}.k-l{font:800 26px var(--font-display);text-anchor:middle;letter-spacing:-.02em}.bar{z-index:30;background:var(--bar);color:var(--bar-ink);border-bottom:1px solid var(--bar-line);position:sticky;top:0}.bar__in{min-height:64px;padding:10px var(--gutter);align-items:center;gap:12px 16px;max-width:1680px;margin-inline:auto;display:flex}.wm{font:800 1.3rem/1 var(--font-display);letter-spacing:-.02em;white-space:nowrap;color:var(--bar-ink);text-decoration:none}.wm:hover{color:var(--bar-ink)}.wm span{color:var(--v-yellow)}.bar :focus-visible{outline-color:var(--v-yellow)}.omni{flex:1;min-width:0;max-width:760px;position:relative}.omni__field{border-radius:var(--r-ctl);height:40px;color:var(--v-navy);background:#fff;align-items:center;gap:8px;padding-left:12px;display:flex}.omni__field:focus-within{outline:2px solid var(--v-yellow);outline-offset:2px}.omni__field svg{color:#4a5573;flex:none}.omni input{min-width:0;height:100%;color:var(--v-navy);caret-color:var(--v-violet);font:500 .87rem var(--font-mono);background:0 0;border:0;outline:none;flex:1;padding-right:12px}.omni input::placeholder{font-family:var(--font-ui);color:#4a5573;opacity:1;font-size:.93rem}.omni{gap:8px;display:flex}.omni__field{flex:1;min-width:0}.omni__k{border:1px solid var(--bar-line);border-radius:var(--r-ctl);background:var(--bar-field);height:40px;color:var(--bar-ink);font:500 .78rem var(--font-mono);white-space:nowrap;flex:none;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.omni__k:hover{border-color:var(--bar-muted)}.omni__pop{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--lift);max-height:min(70vh,460px);padding:6px;position:absolute;inset:calc(100% + 8px) 0 auto;overflow:auto}.omni__hint{color:var(--muted);padding:8px 10px 6px;font-size:.8rem}.omni__opt{border-radius:var(--r-ctl);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:6px 10px;scroll-margin-block:34px 6px;text-decoration:none;display:flex}.cmd-lead{border-radius:var(--r-ctl);background:var(--panel-2);border:1px solid var(--line-soft);flex:none;place-items:center;width:36px;height:36px;display:grid}.cmd-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.omni__opt .stk{width:36px;height:36px}.omni__opt b{font-weight:600;display:block}.omni__opt small{color:var(--muted);font-size:.8rem;display:block}.omni__opt[aria-selected=true]{background:var(--ground);color:var(--ink)}.omni__opt[aria-selected=true] .cmd-lead{background:var(--panel);border-color:var(--line)}.omni__opt[aria-selected=true] .stk{translate:0 -2px;rotate:0deg}.omni__empty{color:var(--muted);padding:14px 10px}.bar__tools{align-items:center;gap:8px;margin-left:auto;display:flex}.bar select,.bar .ibtn{border:1px solid var(--bar-line);border-radius:var(--r-ctl);background:var(--bar-field);height:40px;color:var(--bar-ink);font-weight:500}.bar select{color-scheme:dark;max-width:132px;padding:0 8px}.bar .ibtn{place-items:center;width:40px;display:grid}.bar select:hover,.bar .ibtn:hover{border-color:var(--bar-muted)}.ibtn .i-sun{display:none}:root[data-theme=dark] .ibtn .i-sun{display:block}:root[data-theme=dark] .ibtn .i-moon{display:none}@media (width<=720px){.bar__in{flex-wrap:wrap}.omni{flex-basis:100%;order:3;max-width:none}.omni__k span{display:none}.omni__k{justify-content:center;width:40px;padding:0}.wm{font-size:1.15rem}.bar select{max-width:112px}}.cmdk{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--panel);width:min(640px,100vw - 24px);max-height:none;color:var(--ink);margin:12vh auto 0;padding:0;overflow:hidden;box-shadow:0 24px 60px -20px #0d13208c,0 2px 6px #0d13201f}.cmdk::backdrop{background:#0d132080}.cmdk[open]{animation:cmdk-in .18s var(--ease);flex-direction:column;display:flex}@keyframes cmdk-in{0%{opacity:0;translate:0 -8px}}.cmdk__field{border-bottom:1px solid var(--line-soft);color:var(--muted);align-items:center;gap:10px;padding:0 16px;display:flex}.cmdk__field input{min-width:0;height:54px;color:var(--ink);text-overflow:ellipsis;background:0 0;border:0;outline:none;flex:1;font-size:1rem}.cmdk__field input::placeholder{color:var(--muted);opacity:1}.cmdk__list{overscroll-behavior:contain;max-height:min(56vh,480px);padding:6px;scroll-padding-block:34px 6px;overflow-y:auto}.cmdk__list .omni__hint{z-index:1;background:var(--panel);margin:0 -6px;padding:10px 16px 6px;position:sticky;top:-6px}.cmdk__foot{border-top:1px solid var(--line-soft);background:var(--panel-2);color:var(--muted);flex-wrap:wrap;gap:6px 18px;padding:9px 16px;font-size:.78rem;display:flex}.cmdk__foot span{align-items:center;gap:5px;display:inline-flex}.cmdk kbd{border:1px solid var(--line);background:var(--panel);min-width:20px;height:20px;color:var(--ink);font:500 .7rem var(--font-mono);border-radius:5px;place-items:center;padding:0 5px;display:inline-grid}.cmdk kbd svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}@media (width<=560px){.cmdk{margin-top:8px}.cmdk__list{max-height:calc(100dvh - 150px)}.cmdk__foot{display:none}.cmdk .omni__opt small{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.offline{background:var(--v-yellow);height:24px;color:var(--v-navy);white-space:nowrap;border-radius:6px;align-items:center;padding:0 9px;font-size:.75rem;font-weight:700;display:inline-flex}.install{z-index:40;inset:auto var(--gutter) 16px auto;width:min(var(--rail), calc(100vw - 32px));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-panel);animation:install-in .32s var(--ease);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px;padding:16px;display:grid;position:fixed;box-shadow:0 18px 44px -18px #0d132080,0 2px 6px #0d13201a}@keyframes install-in{0%{opacity:0;translate:0 14px}}.install img{border-radius:10px}.install h2{font-size:1.05rem}.install p{color:var(--muted);margin-top:2px;font-size:.9rem}.install__actions{grid-column:1/-1;gap:8px;display:flex}.install__actions .btn{flex:1}@media (width<=560px){.install{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;width:auto;padding:12px;inset:auto 8px 8px}.install img{display:none}.install h2{font-size:.95rem}.install p{font-size:.8rem}.install__actions{flex-direction:column;grid-column:auto;gap:6px}.install__actions .btn{flex:none;height:30px;padding:0 10px;font-size:.8rem}}@media print{.install,.bar,.ad,.foot,.lid{display:none!important}}.page{max-width:1680px;padding:20px var(--gutter) 56px;margin-inline:auto}.cols{grid-template-columns:minmax(0, 1fr) var(--rail);align-items:start;gap:24px;display:grid}.cols>*{min-width:0}.rail{gap:20px;display:grid;position:sticky;top:88px}@media (width<=1180px){.cols{grid-template-columns:minmax(0,1fr)}.rail{position:static}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-panel)}.panel--pad{padding:20px}@media (width<=720px){.panel--pad{padding:16px}}.lid{background:var(--ground-2);border-radius:var(--r-panel);align-items:center;gap:16px;min-height:104px;margin-bottom:20px;padding:12px 20px;display:flex}.lid__head{flex:none;width:200px}.lid__head h2{font-size:1.25rem}.lid__head p{color:var(--muted);margin-top:2px;font-size:.8rem}.lid__pins{scrollbar-width:none;flex:1;gap:4px;min-width:0;padding:6px 2px;display:flex;overflow-x:auto}.lid__pins::-webkit-scrollbar{display:none}.lid__pins a{text-align:center;flex-direction:column;flex:none;align-items:center;gap:6px;width:96px;font-size:.78rem;font-weight:500;line-height:1.2;text-decoration:none;display:flex}.lid__pins .stk{width:56px;height:56px}.lid__pins a:hover{color:var(--ink)}.lid__pins a:hover .stk{translate:0 -2px;rotate:0deg}.lid__pins a[aria-current=page]{font-weight:700}.lid__empty{color:var(--muted);align-self:center;padding-left:4px;font-size:.9rem}.lid--slim{min-height:0;padding:8px 16px}.lid--slim .lid__head{width:auto}.lid--slim .lid__head p{display:none}.lid--slim .lid__head h2{font-size:1rem}.lid--slim .lid__pins .stk{width:40px;height:40px}.lid--slim .lid__pins a{gap:4px;width:84px;font-size:.72rem}@media (width<=720px){.lid{flex-direction:column;align-items:stretch;gap:4px;padding:12px 16px}.lid__head{width:auto}.lid--slim .lid__head{display:none}}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;align-items:stretch;gap:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{height:42px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;align-items:center;gap:7px;margin-bottom:-1px;padding:0 13px;font-weight:500;text-decoration:none;display:flex}.tabs a:hover,.tabs button:hover{color:var(--ink)}.tabs [aria-current=true],.tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.tabs__count{color:var(--muted);white-space:nowrap;align-self:center;margin-left:auto;padding-left:12px;font-size:.8rem}.dot{background:var(--c,var(--muted));border-radius:50%;flex:none;width:9px;height:9px}[data-cat=time]{--c:var(--cat-time)}[data-cat=encoding]{--c:var(--cat-encoding)}[data-cat=hashing]{--c:var(--cat-hashing)}[data-cat=text]{--c:var(--cat-text)}[data-cat=data]{--c:var(--cat-data)}[data-cat=graphics]{--c:var(--cat-graphics)}[data-cat=network]{--c:var(--cat-network)}.sheet{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:4px 8px;padding-top:16px;display:grid}.sheet__group{font:700 1.05rem var(--font-display);grid-column:1/-1;align-items:center;gap:8px;margin:22px 0 2px;display:flex}.sheet__group:first-child{margin-top:0}.tile{border-radius:var(--r-panel);border:2px solid #0000;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;display:flex;position:relative}.tile__link{text-align:center;flex-direction:column;align-items:center;gap:10px;text-decoration:none;display:flex}.tile__link:after{content:"";position:absolute;inset:0 0 44px}.tile .stk{width:88px;height:88px}.tile__name{justify-content:center;align-items:center;gap:6px;min-height:2.5em;font-size:.87rem;font-weight:600;line-height:1.25;display:flex}.tile:hover .tile__link{color:var(--ink)}.tile:hover .stk{translate:0 -3px;rotate:0deg}.tile:active .stk{transition-duration:80ms;translate:0 1px}.tile[aria-current=page],.tile.is-open{border-color:var(--ink);background:var(--ground-2)}.tile.is-match{border-color:var(--accent)}.tile.is-dim{opacity:.32}.pin{border:1px solid var(--ctl-line);background:var(--panel);white-space:nowrap;border-radius:6px;height:26px;padding:0 10px;font-size:.78rem;font-weight:600;position:relative}.pin:hover{border-color:var(--ink)}.pin[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ground)}.pin .pin__on,.pin[aria-pressed=true] .pin__off{display:none}.pin[aria-pressed=true] .pin__on{display:inline}@media (width<=480px){.sheet{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 4px}.tile .stk{width:68px;height:68px}.tile__name{font-size:.8rem}.tile__name .dot{display:none}}.stk--fly{z-index:60;pointer-events:none;will-change:transform;margin:0;transition:none;position:fixed}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:.85rem;display:flex}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs li{align-items:center;gap:6px;display:flex}.crumbs li+li:before{content:"/";color:var(--line)}.tool__head{align-items:center;gap:16px;margin-bottom:18px;display:flex}.tool__head .stk{width:64px;height:64px}.tool__head>div{flex:1;min-width:0}.tool__tag{color:var(--muted);max-width:70ch;margin-top:4px}.tool__foot{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:20px;padding-top:14px;font-size:.87rem;display:flex}.engine{align-items:center;gap:8px;display:inline-flex}.engine svg{flex:none}.engine--server{color:var(--warn)}@media (width<=560px){.tool__head{align-items:flex-start;gap:12px}.tool__head .stk{width:48px;height:48px}.tool__head .pin{display:none}}.stack{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.stack--tight{gap:10px}.row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.row>.grow{flex:1;min-width:180px}.row>.grow:empty{min-width:0}.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=860px){.split{grid-template-columns:minmax(0,1fr)}}.field{align-content:start;gap:5px;min-width:0;display:grid}.field>label:not(.check),.field__top>label:not(.check),.label{font-size:.82rem;font-weight:600}.field__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;min-height:28px;display:flex}.hint{color:var(--muted);font-size:.82rem}.input,.select,.textarea{border:1px solid var(--ctl-line);border-radius:var(--r-ctl);background:var(--panel);width:100%;min-width:0;color:var(--ink);padding:0 12px}.input,.select{height:40px}.select{padding-right:8px}.textarea{resize:vertical;min-height:132px;line-height:1.5;font-family:var(--font-mono);tab-size:2;padding:10px 12px;font-size:.87rem;display:block}.input.mono,.textarea{font-variant-ligatures:none}@supports (field-sizing:content){.textarea{field-sizing:content;max-height:24rem}}.input.mono{font-size:.93rem;font-weight:500}.input--lg{height:46px;font-size:1.05rem!important}.input::placeholder,.textarea::placeholder{color:var(--muted);opacity:.85}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-radius:var(--r-ctl)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--err);background:var(--err-bg)}.input[aria-invalid=true]::placeholder,.textarea[aria-invalid=true]::placeholder{opacity:1}.textarea[readonly],.input[readonly]{background:var(--panel-2)}input[type=color].input{width:56px;padding:3px}input[type=range]{width:100%;height:40px}.btn{border:1px solid var(--ctl-line);border-radius:var(--r-ctl);background:var(--panel);height:36px;color:var(--ink);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.87rem;font-weight:600;text-decoration:none;transition:translate 80ms;display:inline-flex}.btn:hover{border-color:var(--ink);color:var(--ink)}.btn:active{translate:0 1px}.btn--primary{background:var(--ink);border-color:var(--ink);color:var(--ground)}.btn--primary:hover{color:var(--ground);filter:brightness(1.15)}.btn--sm{border-radius:6px;height:28px;padding:0 10px;font-size:.78rem}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn.is-done{border-color:var(--ok);color:var(--ok)}:where(.row:has(>.field,>.seg,>.input,>.select))>.btn:where(:not(.btn--sm)){height:40px}.seg{border:1px solid var(--ctl-line);border-radius:var(--r-ctl);background:var(--panel);flex-wrap:wrap;max-width:100%;display:inline-flex;overflow:hidden}.seg label{border-top:1px solid var(--line);border-left:1px solid var(--line);flex:auto;margin:-1px 0 0 -1px;display:block;position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg span{white-space:nowrap;place-items:center;min-width:42px;height:38px;padding:0 12px;font-size:.87rem;font-weight:500;display:grid}.seg input:checked+span{background:var(--ink);color:var(--ground)}.seg input:focus-visible+span{outline:2px solid var(--focus);outline-offset:-3px}.seg input:checked:focus-visible+span{outline-color:var(--ground)}.seg--mono span{font-family:var(--font-mono)}.field>.seg{justify-self:start}.check{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.check input{width:17px;height:17px;margin:0}.check input[aria-invalid=true]{outline:2px solid var(--err);outline-offset:1px}.check input[aria-invalid=true]:focus-visible{outline-color:var(--focus);outline-offset:2px}.checks{flex-wrap:wrap;gap:8px 20px;display:flex}.outs{border-top:1px solid var(--line-soft)}.out{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:10px 0;display:grid}.out__label{color:var(--muted);grid-column:1;font-size:.8rem}.out__value{font-family:var(--font-mono);overflow-wrap:anywhere;font-variant-ligatures:none;grid-column:1;min-height:1.5em;font-size:.9rem;font-weight:500}.out .btn{grid-area:1/2/span 2}.out__value:empty:before{content:"—";color:var(--muted)}.note{border-radius:var(--r-ctl);background:var(--panel-2);overflow-wrap:anywhere;gap:10px;padding:10px 12px;font-size:.9rem;display:flex}.note--ok{background:var(--ok-bg);color:var(--ok)}.note--err{background:var(--err-bg);color:var(--err)}.note--warn{background:var(--warn-bg);color:var(--warn)}.note:empty,.stack>.hint:empty,.field>.hint:empty{padding:0;position:absolute}.badge{background:var(--panel-2);border:1px solid var(--line-soft);white-space:nowrap;border-radius:6px;align-items:center;height:22px;padding:0 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge--ok{background:var(--ok-bg);color:var(--ok);border-color:#0000}.badge--err{background:var(--err-bg);color:var(--err);border-color:#0000}.drop{border:2px dashed var(--ctl-line);border-radius:var(--r-panel);background:var(--panel);text-align:center;cursor:pointer;place-items:center;gap:6px;min-height:132px;padding:20px;display:grid}.drop:hover,.drop.is-over{border-color:var(--accent);background:var(--panel-2)}.drop input{opacity:0;width:1px;height:1px;position:absolute}.drop:focus-within{outline:2px solid var(--focus);outline-offset:2px}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:8px 10px}.table th{color:var(--muted);font-size:.8rem;font-weight:600}.table td.mono,.table td code{overflow-wrap:anywhere}.scroll-x{position:relative;overflow-x:auto}@media (width<=600px){.table--stack,.table--stack caption,.table--stack tbody,.table--stack tr,.table--stack th,.table--stack td{display:block}.table--stack thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table--stack tbody tr{border-bottom:1px solid var(--line-soft);padding:8px 0}.table--stack tbody th,.table--stack tbody td{border-bottom:0;min-width:0;padding:1px 0}}.prose{gap:12px;max-width:72ch;display:grid}.prose h2{margin-top:20px}.prose h3{margin-top:10px}.prose ul{gap:6px;padding-left:1.2em;list-style:outside;display:grid}.prose code{background:var(--panel-2);border:1px solid var(--line-soft);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px}.faq{gap:8px;display:grid}.faq details{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--panel)}.faq summary{cursor:pointer;padding:12px 14px;font-weight:600}.faq details p{color:var(--muted);max-width:70ch;padding:0 14px 14px}.below{gap:28px;margin-top:28px;display:grid}.ad{background:var(--ground-2);border-radius:var(--r-panel);justify-items:center;gap:6px;padding:12px 0 16px;display:grid}.ad__label{width:min(100%, var(--ad-w));letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-inline:2px;font-size:.7rem;font-weight:600}.ad__slot{width:min(100%, var(--ad-w));height:var(--ad-h);overflow:hidden}.ad--rect{--ad-w:300px;--ad-h:250px}.ad--wide{--ad-w:728px;--ad-h:90px}@media (width<=800px){.ad--wide{--ad-w:320px;--ad-h:100px}}.house{background:var(--panel);border:1px solid var(--line);height:100%;color:var(--ink);text-decoration:none;display:flex}.house:hover{color:var(--ink);border-color:var(--ink)}.house img{background:#fff;border-radius:12px;flex:none;padding:4px}.house b{font:800 1.9rem/1 var(--font-display);letter-spacing:-.02em}.house span{font-size:.95rem}.house small{font:500 .8rem var(--font-mono);color:var(--muted)}.ad--rect .house{flex-direction:column;justify-content:center;gap:8px;padding:26px}.ad--rect .house img{width:56px;height:56px;margin-bottom:6px}.ad--wide .house{align-items:center;gap:16px;padding:0 20px}.ad--wide .house img{width:52px;height:52px}.ad--wide .house b{font-size:1.4rem}.ad--wide .house small{margin-left:auto}@media (width<=800px){.ad--wide .house small{display:none}.ad--wide .house span{font-size:.85rem}}.foot{border-top:1px solid var(--line);margin-top:40px}.foot__in{max-width:1680px;padding:28px var(--gutter) 40px;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:20px;margin-inline:auto;font-size:.9rem;display:grid}.foot h2{margin-bottom:8px;font-size:.95rem}.foot ul{color:var(--muted);gap:6px;display:grid}.foot p{color:var(--muted);max-width:46ch}.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}.foot .foot__langs{flex-wrap:wrap;gap:6px 14px;display:flex}@media (width<=800px){.foot__in{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}html[data-pins=custom] [data-lid]{visibility:hidden}
