/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-serif:"Iowan Old Style", Georgia, "Songti SC", "Noto Serif SC", "Source Han Serif SC", STSong, "Microsoft YaHei", serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000d, 0 1px 2px #0000000a;--shadow-lg:0 12px 32px #00000014, 0 2px 6px #0000000a;--color-surface-0:#f5f5f3;--color-surface-1:#fafaf8;--color-surface-2:#fff;--color-surface-3:#fff;--color-popover:#fff;--color-fg:#151515;--color-fg-body:#2b2b29;--color-fg-2:#525252;--color-fg-3:#6b6b69;--color-ink-1:#0000000b;--color-ink-2:#00000014;--color-ink-3:#0000001f;--color-ink-4:#0000002e;--color-hairline:#00000017;--color-clay:#d97757;--color-clay-hover:#c4633f;--color-clay-fill:#b9573a;--color-clay-text:#b4532f;--color-clay-soft:#f7e8e1;--color-on-clay:#fff;--color-danger:#c93a3a;--color-danger-soft:#fbeaea;--color-on-danger:#fff;--color-success:#2f6f4f;--color-success-soft:#e7f1ea;--color-warning:#8a5a0b;--color-warning-soft:#f6ecd8;--shadow-composer:0 4px 20px #00000009;--shadow-popover:0 0 0 var(--hairline) var(--color-hairline), 0 12px 32px #0000001a, 0 2px 6px #0000000a;--shadow-focus:inset 0 0 0 1px var(--color-surface-1), 0 0 0 1.5px var(--color-clay), 0 0 6px 1px #d9775740;--radius-panel:10px;--radius-code:12px;--radius-dialog:16px;--radius-composer:20px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-press:cubic-bezier(.2, 0, 0, 1);--color-selection:#d9775738;--ease-spring-bouncy:linear(0, .0234, .0846, .1719, .275, .3855, .4967, .6033, .7019, .7898, .8659, .9295, .9808, 1.0205, 1.0497, 1.0696, 1.0816, 1.087, 1.0873, 1.0835, 1.077, 1.0686, 1.0592, 1.0494, 1.0398, 1.0307, 1.0225, 1.0152, 1.0091, 1.004, 1, .9969, .9947, .9933, .9926, .9923, .9925, .9929, .9936, .9944, 1);--spring-bouncy-duration:.37s;--ease-spring-snappy:linear(0, .0153, .0554, .1131, .1822, .2579, .3364, .4146, .4904, .5621, .6287, .6895, .7441, .7926, .8351, .8717, .903, .9293, .9511, .9688, .9831, .9943, 1.0028, 1.0092, 1.0137, 1.0166, 1.0184, 1.0192, 1.0192, 1.0186, 1.0177, 1.0165, 1.0151, 1.0136, 1.0121, 1.0106, 1.0091, 1.0078, 1.0066, 1.0055, 1);--spring-snappy-duration:.41s;--ease-spring-gentle:linear(0, .0389, .1401, .2813, .4426, .6071, .762, .8979, 1.0093, 1.0936, 1.151, 1.1836, 1.1948, 1.1889, 1.1703, 1.1434, 1.1123, 1.0801, 1.0496, 1.0226, 1.0004, .9833, .9716, .9647, .9621, .9629, .9663, .9714, .9774, .9837, .9897, .995, .9995, 1.0029, 1.0053, 1.0068, 1.0074, 1.0073, 1.0067, 1.0057, 1);--spring-gentle-duration:.6s;--ease-spring-heavy:linear(0, .1079, .2196, .3173, .4028, .4776, .543, .6003, .6503, .6941, .7324, .7659, .7953, .8209, .8433, .863, .8801, .8951, .9083, .9198, .9298, .9386, .9463, .953, .9589, .964, .9685, .9725, .9759, .9789, .9816, .9839, .9859, .9877, .9892, .9906, .9917, .9928, .9937, .9945, 1);--spring-heavy-duration:.35s}}@layer base{:root{--hairline:1px}@media (min-resolution:2x){:root{--hairline:.5px}}.dark,:root[data-theme=dark]{--color-surface-0:#0f0f0e;--color-surface-1:#161615;--color-surface-2:#1a1a19;--color-surface-3:#20201e;--color-popover:#222220;--color-fg:#f2f1ee;--color-fg-body:#dad8d2;--color-fg-2:#a9a7a1;--color-fg-3:#8b8984;--color-ink-1:#ffffff0d;--color-ink-2:#ffffff17;--color-ink-3:#ffffff24;--color-ink-4:#fff3;--color-hairline:#ffffff17;--color-clay-hover:#e28a6c;--color-clay-fill:#d97757;--color-clay-text:#e08264;--color-clay-soft:#d9775726;--color-on-clay:#1a0f0a;--color-danger:#f87171;--color-danger-soft:#f8717124;--color-on-danger:#1f0b0b;--color-success:#8fcfae;--color-success-soft:#8fcfae1f;--color-warning:#e8c27a;--color-warning-soft:#e8c27a21;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 10px #00000059, 0 1px 2px #0000004d;--shadow-lg:0 16px 40px #00000073, 0 2px 6px #0000004d;--shadow-composer:0 4px 24px #00000059;--shadow-popover:0 0 0 var(--hairline) var(--color-hairline), 0 16px 40px #00000080;--shadow-focus:inset 0 0 0 1px var(--color-surface-1), 0 0 0 1.5px var(--color-clay), 0 0 8px 2px #d9775759;--color-selection:#d977574d}:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc),:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) *{box-sizing:border-box}:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) :is(p,ul,ol){margin:0;padding:0}:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) ul{list-style:none}:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) svg{flex-shrink:0;display:block}:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) a{color:inherit;text-decoration:none}:is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) kbd{font-family:var(--font-mono)}}:root{--site-header-height:3.5rem}@media (max-width:767px){:root{--site-header-height:3.25rem}}@layer components{.site-header{z-index:40;background-color:#f5f5f3d1;width:100%;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background-color:color-mix(in srgb, var(--color-surface-0) 82%, transparent)}}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 calc(-1 * var(--hairline)) 0 var(--color-hairline)}@supports (animation-timeline:scroll()){.site-header{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:#0000;animation:linear both site-header-scrolled;animation-timeline:scroll(root);animation-range:0 24px;box-shadow:inset 0 -1px #0000}}@keyframes site-header-scrolled{to{background-color:color-mix(in srgb, var(--color-surface-0) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 calc(-1 * var(--hairline)) 0 var(--color-hairline)}}.site-header-inner{height:var(--site-header-height);justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;padding-inline:1.5rem;display:flex}.site-route-pending{--route-pending-top:calc(var(--site-header-height) + 1.5rem);width:100cqw;margin-left:50%;padding-inline:1.5rem;translate:-50%}.site-shell{--route-pending-overflow:visible clip}html.is-route-pending .site-shell:has(>main>.route-pending){overflow-x:clip;container-type:inline-size}.wordmark{color:var(--color-fg);letter-spacing:-.01em;border-radius:6px;align-items:center;gap:.5625rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-mark{background-color:var(--color-clay);border-radius:2px;width:7px;height:7px}.wordmark:focus-visible{box-shadow:var(--shadow-focus);outline:none}.site-nav{isolation:isolate;align-items:center;gap:2px;display:flex}.nav-item{color:var(--color-fg-2);font:inherit;white-space:nowrap;cursor:pointer;transition:color .15s var(--ease-out-expo), background-color .15s var(--ease-out-expo);background:0 0;border:0;border-radius:999px;align-items:center;padding:.375rem .8125rem;font-size:.875rem;text-decoration:none;display:inline-flex;position:relative}.nav-item:hover,.nav-item[data-vt-pressed]{color:var(--color-fg)}.nav-item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.nav-item[aria-current=page]{color:var(--color-fg)}.nav-indicator{z-index:-1;border-radius:inherit;background-color:var(--color-surface-2);box-shadow:0 0 0 var(--hairline) var(--color-hairline), var(--shadow-sm);position:absolute;inset:0}.dark .nav-indicator{background-color:var(--color-surface-3)}.site-actions{align-items:center;gap:.5rem;display:flex}.search-trigger{background-color:var(--color-ink-1);height:2rem;color:var(--color-fg-3);font:inherit;cursor:pointer;transition:background-color .15s var(--ease-out-expo), color .15s var(--ease-out-expo);border:0;border-radius:8px;align-items:center;gap:.5rem;padding:0 .375rem 0 .625rem;font-size:.8125rem;line-height:1;text-decoration:none;display:inline-flex}.search-trigger:hover{background-color:var(--color-ink-2);color:var(--color-fg-2)}.search-trigger:focus-visible{box-shadow:var(--shadow-focus);outline:none}.search-trigger>span{transform:translateY(.5px)}.search-trigger>kbd{background-color:var(--color-surface-2);height:1.25rem;box-shadow:0 0 0 var(--hairline) var(--color-hairline);font-family:var(--font-mono);color:var(--color-fg-3);border-radius:5px;justify-content:center;align-items:center;padding:1px 6px 0;font-size:.6875rem;line-height:1;display:inline-flex}.search-trigger[aria-current=page]{background-color:var(--color-ink-2);color:var(--color-fg)}.touch-icon{width:2.75rem;height:2.75rem;color:var(--color-fg-2);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:none}.touch-icon:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (max-width:767px){.site-header-inner{padding-inline:1rem .5rem}.site-nav,.site-actions>.theme-seg,.site-actions>.search-trigger{display:none}.touch-icon{display:grid}}html.sheet-open{overflow:hidden}.sheet-scrim{z-index:60;animation:listbox-fade .2s var(--ease-out-expo) both;background-color:#1c1a163d;position:fixed;inset:0}.dark .sheet-scrim{background-color:#0000008c}.sheet{z-index:61;max-height:85dvh;padding:.5rem 1rem max(1.75rem, env(safe-area-inset-bottom));background-color:var(--color-popover);box-shadow:0 calc(-1 * var(--hairline)) 0 var(--color-hairline), 0 -12px 40px #0000001a;animation:sheet-in var(--spring-heavy-duration) var(--ease-spring-heavy) both;touch-action:pan-y;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet[data-dragging=true]{transition:none;animation:none}.sheet[data-closing=true]{animation:sheet-out .2s var(--ease-out-expo) both}.sheet-scrim[data-closing=true]{animation:listbox-fade .2s var(--ease-out-expo) reverse both}.sheet-handle{cursor:grab;touch-action:none;background:0 0;border:0;width:100%;height:1.5rem;display:block}.sheet-handle:before{content:"";background-color:var(--color-ink-2);border-radius:999px;width:2.25rem;height:4px;margin:0 auto;display:block}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}.sheet-nav-item{width:100%;height:3rem;color:var(--color-fg-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;padding:0 .875rem;font-size:1rem;text-decoration:none;display:flex}.sheet-nav-item[aria-current=page]{background-color:var(--color-ink-1);color:var(--color-fg);font-weight:500}.sheet-nav-item[aria-current=page]:after{content:"";background-color:var(--color-clay);border-radius:50%;width:6px;height:6px}.sheet-nav-item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.sheet-row{color:var(--color-fg-2);justify-content:space-between;align-items:center;padding:.25rem .25rem 0;font-size:.875rem;display:flex}.sheet-row>.theme-seg{flex:1;min-width:0}.sheet-row .segmented-wrap{justify-content:flex-end;display:flex}.sheet-links{flex-wrap:wrap;gap:1rem;padding:1.125rem .25rem 0;font-size:.8125rem;display:flex}.sheet-links a{color:var(--color-fg-3);text-decoration:none}.site-footer{box-shadow:inset 0 var(--hairline) 0 var(--color-hairline);margin-top:auto}.site-footer-inner{color:var(--color-fg-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-inline:auto;padding:1.75rem 1.5rem 2.75rem;font-size:.8125rem;display:flex}.site-footer-links{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;display:flex}.site-footer a,.site-footer button{color:var(--color-fg-3);font:inherit;cursor:pointer;transition:color .15s var(--ease-out-expo);background:0 0;border:0;border-radius:4px;align-items:center;gap:.25rem;padding:0;text-decoration:none;display:inline-flex}.site-footer a:hover,.site-footer button:hover{color:var(--color-fg)}.site-footer a:focus-visible,.site-footer button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.route-progress{z-index:70;pointer-events:none;opacity:0;height:2px;position:fixed;inset:0 0 auto;overflow:hidden}.route-progress[data-active]{opacity:1;transition:opacity .15s}.route-progress span{background-color:var(--color-clay);border-radius:999px;width:40%;height:100%;display:block;transform:translate(-100%)}.route-progress[data-active] span{animation:1.1s ease-in-out infinite route-progress-slide}@keyframes route-progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet[data-closing=true]{animation:.15s linear both listbox-fade}.route-progress span,.route-progress[data-active] span{width:100%;animation:none;transform:none}}.auth{background-color:var(--color-surface-0);flex-direction:column;align-items:center;min-height:100vh;padding:2.5rem 1.5rem 3.5rem;display:flex}.auth-wordmark{color:var(--color-fg);border-radius:6px;align-items:center;gap:.5625rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.auth-panel{border-radius:var(--radius-dialog);background-color:var(--color-popover);width:100%;max-width:26rem;box-shadow:var(--shadow-popover);margin-top:3rem;padding:2rem;position:relative}.auth-mascot{width:5.5rem;height:5.5rem;display:grid;position:absolute;top:-5rem;right:1.25rem}.auth-mascot-img{width:100%;height:100%;transition:opacity .15s var(--ease-out-expo);grid-area:1/1}.auth-mascot-upset{opacity:0}.auth-mascot.is-upset .auth-mascot-upset{opacity:1}.auth-mascot.is-upset .auth-mascot-img:not(.auth-mascot-upset){opacity:0}.auth-title{font-family:var(--font-serif);margin:0;font-size:1.75rem;font-weight:500}.auth-subtitle{color:var(--color-fg-3);margin:.375rem 0 0;font-size:.875rem}.auth-note{border-radius:var(--radius-panel);background-color:var(--color-clay-soft);color:var(--color-fg);align-items:center;gap:.5rem;margin:.75rem 0 0;padding:.5625rem .75rem;font-size:.84375rem;display:flex}.auth-note-dot{background-color:var(--color-clay);border-radius:50%;flex-shrink:0;width:6px;height:6px}.auth-form{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.auth-label{color:var(--color-fg-2);justify-content:space-between;margin-bottom:.375rem;font-size:.8125rem;display:flex}.auth-hint{color:var(--color-fg-3)}.auth-input{border-radius:var(--radius-panel);align-items:center;gap:.5rem;height:2.625rem;padding:0 .75rem;display:flex}.auth-input.has-action{padding-right:.375rem}.auth-input input{min-width:0;height:100%;color:var(--color-fg);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.9375rem}.auth-eye{width:2rem;height:2rem;color:var(--color-fg-3);cursor:pointer;transition:color .15s var(--ease-out-expo), background-color .15s var(--ease-out-expo);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.auth-eye:hover{background-color:var(--color-ink-1);color:var(--color-fg)}.auth-eye:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-error{color:var(--color-danger);margin:.375rem 0 0;font-size:.78125rem}.auth-alert{margin:0}.auth-alert a{color:inherit;font-weight:600}.auth-submit{width:100%;margin-top:.25rem}.auth-switch{color:var(--color-fg-3);text-align:center;margin:1.375rem 0 0;font-size:.84375rem}.auth-switch a{color:var(--color-clay-text);border-radius:4px;font-weight:500;text-decoration:none}.auth-home{color:var(--color-fg-3);border-radius:4px;align-items:center;gap:.375rem;margin-top:2.5rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.auth-home:hover{color:var(--color-fg)}:is(.auth-wordmark,.auth-switch a,.auth-home):focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (max-width:480px){.auth-panel{margin-top:2rem;padding:1.5rem}.auth-mascot{width:4.5rem;height:4.5rem;top:-4rem;right:.75rem}}.post-toc{display:contents}.toc-progress-line{display:none}.toc-pill{z-index:40;background-color:var(--color-popover);width:min(22.5rem,100vw - 2rem);height:3rem;box-shadow:var(--shadow-popover);color:var(--color-fg);font:inherit;cursor:pointer;transition:transform .15s var(--ease-press);border:0;border-radius:14px;align-items:center;gap:.625rem;padding:0 .875rem;font-size:.875rem;display:flex;position:fixed;bottom:1.25rem;right:1.5rem}.toc-pill:active{transform:scale(.98)}.toc-pill:focus-visible{box-shadow:var(--shadow-popover), var(--shadow-focus);outline:none}.toc-pill-ring{fill:none;width:22px;height:22px;stroke:var(--color-ink-2);stroke-width:2.5px;flex-shrink:0}.toc-pill-ring-value{stroke:var(--color-clay);stroke-linecap:round;stroke-dasharray:calc(var(--toc-progress,0) * 100) 100;transform-origin:50%;transform:rotate(-90deg)}.toc-pill-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.toc-pill-title{color:var(--color-fg-3)}.toc-pill-current:not(:empty):before{content:" · ";color:var(--color-fg-3)}.toc-pill-percent{color:var(--color-fg-3);font-size:.78125rem}.toc-scrim{z-index:45;opacity:0;visibility:hidden;transition:opacity .2s var(--ease-out-expo), visibility 0s linear .2s;background-color:#1c1a163d;position:fixed;inset:0}.dark .toc-scrim{background-color:#0000008c}.post-toc.is-open .toc-scrim{opacity:1;visibility:visible;transition:opacity .2s var(--ease-out-expo)}.toc-sidebar{z-index:46;border-radius:var(--radius-dialog);background-color:var(--color-popover);width:min(22.5rem,100vw - 2rem);max-height:min(60vh,32rem);box-shadow:var(--shadow-popover);opacity:0;visibility:hidden;transform-origin:100% 100%;transition:opacity .15s var(--ease-out-expo), transform .15s var(--ease-out-expo), visibility 0s linear .15s;outline:none;flex-direction:column;padding:.75rem .5rem;display:flex;position:fixed;bottom:5rem;right:1.5rem;transform:translateY(8px)scale(.98)}.post-toc.is-open .toc-sidebar{opacity:1;visibility:visible;transition:opacity .2s var(--ease-out-expo), transform var(--spring-snappy-duration) var(--ease-spring-snappy);transform:none}.toc-sidebar-head{justify-content:space-between;align-items:center;gap:.75rem;padding:0 .25rem .5rem .75rem;display:flex}.toc-sidebar-title{color:var(--color-fg);font-size:.9375rem;font-weight:600}.toc-sidebar-body{flex:1;min-height:0;padding:0 .25rem}.toc-sidebar-body ul{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.toc-sidebar-body ul ul{padding-left:.9375rem}.toc-sidebar-body a{color:var(--color-fg-2);transition:background-color .15s var(--ease-out-expo), color .15s var(--ease-out-expo);border-radius:10px;align-items:flex-start;gap:.625rem;padding:.5625rem .625rem;font-size:.9375rem;line-height:1.5;text-decoration:none;display:flex}.toc-sidebar-body ul ul a{font-size:.875rem}.toc-sidebar-body a:before{content:"";width:5px;height:5px;transition:background-color .15s var(--ease-out-expo);background-color:#0000;border-radius:50%;flex-shrink:0;margin-top:.6em}.toc-sidebar-body a:hover{color:var(--color-fg)}.toc-sidebar-body a.active{background-color:var(--color-ink-1);color:var(--color-fg);font-weight:500}.toc-sidebar-body a.active:before{background-color:var(--color-clay)}.toc-sidebar-body a:focus-visible{box-shadow:var(--shadow-focus);outline:none}.toc-sidebar-progress{box-shadow:inset 0 var(--hairline) 0 var(--color-hairline);margin:.75rem .75rem 0;padding-top:.75rem}.toc-sidebar-progress-text{color:var(--color-fg-3);justify-content:space-between;font-size:.75rem;display:flex}.toc-sidebar-progress-track{background-color:var(--color-ink-2);border-radius:2px;height:2px;margin-top:.5rem;overflow:hidden}.toc-sidebar-progress-bar{background-color:var(--color-clay);width:100%;height:100%;transform:scaleX(var(--toc-progress,0));transform-origin:0}@media (max-width:767px){.toc-progress-line{z-index:39;top:var(--site-header-height);background-color:var(--color-clay);width:100%;height:2px;transform:scaleX(var(--toc-progress,0));transform-origin:0;pointer-events:none;display:block;position:fixed;left:0}.toc-pill{width:auto;left:1rem;right:1rem}.toc-sidebar{width:auto;max-height:70vh;padding-bottom:calc(1rem + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;bottom:0;left:0;right:0;transform:translateY(100%)}.toc-sidebar-body a{align-items:center;min-height:44px}.toc-sidebar-body a:before{margin-top:0}}@media (min-width:1100px){.post-layout>.post-toc{top:calc(var(--site-header-height) + 2.5rem);grid-column:3;align-self:start;max-width:13.75rem;margin-top:12rem;display:block;position:sticky}.post-layout>.post-toc :is(.toc-pill,.toc-scrim,.toc-progress-line,.toc-sidebar-close){display:none}.post-layout>.post-toc .toc-sidebar{width:auto;max-height:calc(100vh - var(--site-header-height) - 5rem);box-shadow:none;opacity:1;visibility:visible;background:0 0;border-radius:0;padding:0;transition:none;position:static;transform:none}.post-layout>.post-toc .toc-sidebar-head{padding:0 0 .875rem}.post-layout>.post-toc .toc-sidebar-title{color:var(--color-fg-3);letter-spacing:.06em;font-size:.75rem;font-weight:400}.post-layout>.post-toc .toc-sidebar-body{padding:0}.post-layout>.post-toc .toc-sidebar-body ul{gap:.375rem}.post-layout>.post-toc .toc-sidebar-body ul ul{margin-top:.375rem}.post-layout>.post-toc .toc-sidebar-body a{color:var(--color-fg-3);border-radius:4px;padding:.125rem 0;font-size:.84375rem;font-weight:400}.post-layout>.post-toc .toc-sidebar-body ul ul a{font-size:.78125rem}.post-layout>.post-toc .toc-sidebar-body a:hover,.post-layout>.post-toc .toc-sidebar-body a.active{color:var(--color-fg);background:0 0}.post-layout>.post-toc .toc-sidebar-progress{margin:1.5rem 0 0;padding-top:1rem}}@media (prefers-reduced-motion:reduce){.toc-sidebar,.post-toc.is-open .toc-sidebar{transition:opacity .15s linear,visibility 0s linear .15s;transform:none}.post-toc.is-open .toc-sidebar{transition:opacity .15s linear}}}:root:is([data-theme=light],[data-theme=dark],:not([data-theme])){--font-family:var(--font-sans);--font-family-code:var(--font-mono);--code-block-border-radius:var(--radius-code);--main-background-color:var(--color-surface-0);--main-color:var(--color-fg-body);--sidebar-background-color:var(--color-surface-1);--sidebar-background-color-hover:var(--color-ink-1);--sidebar-border-color:var(--color-hairline);--sidebar-link-color:var(--color-fg-2);--sidebar-current-link-background-color:var(--color-ink-1);--code-block-background-color:var(--color-surface-1);--codeblock-link-background:var(--color-ink-1);--headings-border-bottom-color:var(--color-hairline);--border-color:var(--color-ink-2);--button-background-color:var(--color-surface-2);--right-side-color:var(--color-fg-3);--code-attribute-color:var(--color-fg-3);--toggles-color:var(--color-fg-3);--copy-path-button-color:var(--color-fg-3);--code-example-button-color:var(--color-fg-3);--code-example-button-hover-color:var(--color-fg-2);--warning-border-color:var(--color-warning);--link-color:var(--color-clay-text);--mod-link-color:var(--color-clay-text);--keyword-link-color:var(--color-clay-text);--attribute-link-color:var(--color-clay-text);--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:var(--color-ink-3);--scrollbar-color:var(--color-ink-3) transparent;--settings-input-color:var(--color-clay-fill);--settings-input-border-color:var(--color-ink-4);--settings-button-border-focus:var(--color-clay);--search-input-focused-border-color:var(--color-clay);--search-color:var(--color-fg);--search-result-link-focus-background-color:var(--color-ink-1);--search-result-border-color:var(--color-hairline);--search-error-code-background-color:var(--color-danger-soft);--search-results-alias-color:var(--color-fg);--search-results-grey-color:var(--color-fg-3);--search-tab-title-count-color:var(--color-fg-3);--search-tab-button-not-selected-border-top-color:transparent;--search-tab-button-not-selected-background:var(--color-ink-1);--search-tab-button-selected-border-top-color:var(--color-clay);--search-tab-button-selected-background:var(--color-surface-2);--stab-background-color:var(--color-warning-soft);--stab-code-color:var(--color-warning);--src-line-numbers-span-color:var(--color-fg-3);--src-line-number-highlighted-background-color:var(--color-clay-soft);--target-background-color:var(--color-clay-soft);--target-border-color:var(--color-clay);--kbd-color:var(--color-fg);--kbd-background:var(--color-surface-2);--kbd-box-shadow-color:var(--color-ink-3);--crate-search-hover-border:var(--color-ink-4);--src-sidebar-background-selected:var(--color-ink-2);--src-sidebar-background-hover:var(--color-ink-1);--table-alt-row-background-color:var(--color-ink-1);--scrape-example-code-wrapper-background-start:var(--color-surface-1);--scrape-example-code-wrapper-background-end:transparent;--sidebar-resizer-hover:var(--color-clay);--sidebar-resizer-active:var(--color-clay-hover)}:root:is([data-theme=light],:not([data-theme])){--type-link-color:#3e3e3e;--trait-link-color:#3e3e3e;--assoc-item-link-color:#b4532f;--function-link-color:#b4532f;--macro-link-color:#4f4f4f;--code-highlight-kw-color:#4f4f4f;--code-highlight-kw-2-color:#4f4f4f;--code-highlight-self-color:#4f4f4f;--code-highlight-question-mark-color:#6a6a6a;--code-highlight-lifetime-color:#4f4f4f;--code-highlight-number-color:#3e3e3e;--code-highlight-literal-color:#3e3e3e;--code-highlight-string-color:#56433c;--code-highlight-prelude-color:#3e3e3e;--code-highlight-prelude-val-color:#3e3e3e;--code-highlight-macro-color:#4f4f4f;--code-highlight-attribute-color:#4f4f4f;--code-highlight-comment-color:#5c5c5c;--code-highlight-doc-comment-color:#5c5c5c}:root[data-theme=dark]{--type-link-color:#bebebe;--trait-link-color:#bebebe;--assoc-item-link-color:#e08264;--function-link-color:#e08264;--macro-link-color:#a7a7a7;--code-highlight-kw-color:#a7a7a7;--code-highlight-kw-2-color:#a7a7a7;--code-highlight-self-color:#a7a7a7;--code-highlight-question-mark-color:#898989;--code-highlight-lifetime-color:#a7a7a7;--code-highlight-number-color:#bebebe;--code-highlight-literal-color:#bebebe;--code-highlight-string-color:#c2afa8;--code-highlight-prelude-color:#bebebe;--code-highlight-prelude-val-color:#bebebe;--code-highlight-macro-color:#a7a7a7;--code-highlight-attribute-color:#a7a7a7;--code-highlight-comment-color:#989898;--code-highlight-doc-comment-color:#989898}:root:is([data-theme=light],[data-theme=dark],:not([data-theme])) ::selection{background-color:var(--color-selection)}:root :is(.site-header,.site-footer,.sheet,.sheet-scrim,.post-toc) :is(a,button,kbd,nav,ul,ol,li,p,span,div,svg,input){all:revert-layer}@layer doc{.segmented{background-color:var(--color-ink-1);border-radius:999px;padding:2px;display:inline-flex;position:relative}.segmented-item{z-index:1;height:1.875rem;color:var(--color-fg-2);font:inherit;white-space:nowrap;cursor:pointer;transition:color .15s var(--ease-out-expo);background:0 0;border:0;border-radius:999px;align-items:center;gap:.375rem;padding:0 .875rem;font-size:.8125rem;display:inline-flex;position:relative}.segmented-item:hover{color:var(--color-fg)}.segmented-item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.segmented-sm .segmented-item{height:1.75rem;padding:0 .75rem;font-size:.78125rem}.segmented-icon-only .segmented-item{justify-content:center;min-width:1.75rem;padding:0 .4375rem}html[data-theme-mode=light] .theme-seg .segmented-item[data-theme-choice=light],html[data-theme-mode=dark] .theme-seg .segmented-item[data-theme-choice=dark],html[data-theme-mode=system] .theme-seg .segmented-item[data-theme-choice=system]{background-color:var(--color-surface-2);color:var(--color-fg);box-shadow:0 0 0 var(--hairline) var(--color-hairline), var(--shadow-sm);font-weight:500}html.dark[data-theme-mode=light] .theme-seg .segmented-item[data-theme-choice=light],html.dark[data-theme-mode=dark] .theme-seg .segmented-item[data-theme-choice=dark],html.dark[data-theme-mode=system] .theme-seg .segmented-item[data-theme-choice=system]{background-color:var(--color-surface-3)}.doc-header .site-header-inner,.site-footer-inner{max-width:calc(var(--doc-sidebar-width) + var(--doc-main-max) + 3rem);width:100%}.doc-sheet-nav{flex-direction:column;gap:2px;display:flex}.doc-sheet-divider{height:var(--hairline);background:var(--color-hairline);margin:.75rem .25rem}.touch-icon[data-doc-action=sidebar]{display:none}@media (max-width:700px){.touch-icon[data-doc-action=sidebar]{display:grid}}.sheet[hidden],.sheet-scrim[hidden]{display:none}@keyframes listbox-fade{0%{opacity:0}}.toc-sidebar-close{width:1.75rem;height:1.75rem;color:var(--color-fg-3);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:background-color .15s,color .15s}.toc-sidebar-close:hover{background:var(--color-ink-1);color:var(--color-fg)}.toc-sidebar-close:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media (max-width:1099.98px){.toc-sidebar-close{display:inline-grid}}}:root body.rustdoc{--doc-sidebar-width:15rem;--doc-main-max:64rem}:root [id]{scroll-margin-top:calc(var(--site-header-height) + 1rem)}:root body.rustdoc .width-limiter{max-width:46rem;margin:0}@media (min-width:701px){:root body.rustdoc{grid-template-columns:minmax(1.5rem, 1fr) var(--doc-sidebar-width) minmax(0, var(--doc-main-max)) minmax(1.5rem, 1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"header header header header"".sidebar main.""footer footer footer footer";min-height:100dvh;display:grid}:root body.rustdoc>.site-header{grid-area:header}:root body.rustdoc>nav.sidebar{top:var(--site-header-height);height:calc(100dvh - var(--site-header-height));background:0 0;border-right:0;grid-area:sidebar;width:auto;padding:2rem 1.25rem 2rem 0;position:sticky;overflow-y:auto}:root body.rustdoc>main{grid-area:main;padding:2.5rem 0 4rem 3rem}:root body.rustdoc>.site-footer{grid-area:footer}:root body.rustdoc>:is(.sidebar-resizer,rustdoc-topbar){display:none}:root body.rustdoc.src{grid-template-columns:minmax(1.5rem,1fr) auto minmax(0,79rem) minmax(1.5rem,1fr)}:root html:not(.src-sidebar-expanded) .src .sidebar{display:none}:root html.src-sidebar-expanded .src .sidebar{width:17.5rem}:root html.src-sidebar-expanded body.rustdoc.src>main{padding-left:2rem}:root html:not(.src-sidebar-expanded) body.rustdoc.src>main{padding-left:0}}@media (max-width:700px){:root html{--topbar-height:var(--site-header-height)}:root body.rustdoc{grid-template:"header""main"1fr"footer"/minmax(0,1fr);min-height:100dvh;display:grid}:root body.rustdoc>.site-header{grid-area:header}:root body.rustdoc>main{grid-area:main;padding:1.5rem 1rem 3rem}:root body.rustdoc>.site-footer{grid-area:footer}:root body.rustdoc>rustdoc-topbar{display:none}:root body.rustdoc>nav.sidebar{top:var(--site-header-height);background:var(--color-surface-0);padding:1.25rem 1rem}}:root body.rustdoc :is(.sidebar,rustdoc-topbar,.rustdoc-breadcrumbs,.sub-heading,a.src,rustdoc-toolbar,summary.hideme,.search-switcher,.search-results .result-name,.item-table dt>a,ul.all-items,#crate-search,.search-input){font-family:var(--font-sans)}:root body.rustdoc #rustdoc-toc{display:none}:root body.rustdoc .sidebar{--sidebar-elems-left-padding:0px}:root body.rustdoc .sidebar :is(.sidebar-elems,.sidebar-crate,.sidebar-crate h2){padding-left:0}:root body.rustdoc .sidebar .sidebar-crate{margin:0 0 1rem;display:block}:root body.rustdoc .sidebar .sidebar-elems{margin-top:0}:root body.rustdoc .sidebar :is(.current,li){background:0 0}:root body.rustdoc .sidebar :where(#rustdoc-modnav,.sidebar-elems) li>a{background:0 0;margin:0}:root body.rustdoc .sidebar .sidebar-crate h2{align-items:baseline;gap:.5rem;margin:0 0 1rem;display:flex}:root body.rustdoc .sidebar .sidebar-crate h2>a{font-family:var(--font-serif);color:var(--color-fg);background:0 0;margin:0;padding:0;font-size:1.125rem;font-weight:500}:root body.rustdoc .sidebar-crate .version{font-family:var(--font-mono);color:var(--color-fg-3);box-shadow:0 0 0 var(--hairline) var(--color-hairline);border-radius:999px;margin:0;padding:0 .375rem;font-size:.6875rem}:root body.rustdoc .doc-filter{background-color:var(--color-surface-2);height:34px;box-shadow:0 0 0 var(--hairline) var(--color-hairline);color:var(--color-fg-3);transition:box-shadow .2s var(--ease-out-expo);border-radius:8px;align-items:center;gap:.5rem;margin:0 0 .5rem;padding:0 .625rem;display:flex}:root body.rustdoc .doc-filter:focus-within{box-shadow:var(--shadow-focus)}:root body.rustdoc .doc-filter input{min-width:0;height:auto;box-shadow:none;color:var(--color-fg);font:inherit;background:0 0;border:0;border-radius:0;outline:0;flex:1;margin:0;padding:0;font-size:.8125rem}:root body.rustdoc .doc-filter input::placeholder{color:var(--color-fg-3)}.doc-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root body.rustdoc .sidebar :is([hidden],li[hidden],ul[hidden],h3[hidden]){display:none}:root body.rustdoc .sidebar #rustdoc-modnav :is(h2,h3){color:var(--color-fg-3);letter-spacing:.06em;border:0;margin:1.25rem 0 .375rem .625rem;padding:0;font-size:.6875rem;font-weight:400}:root body.rustdoc .sidebar :is(#rustdoc-modnav ul,.sidebar-elems>ul.block){flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}:root body.rustdoc .sidebar :is(#rustdoc-modnav li,.sidebar-elems>ul.block>li)>a{min-height:2rem;color:var(--color-fg-2);border-radius:8px;align-items:center;padding:0 .625rem;font-size:.875rem;transition:background-color .15s,color .15s;display:flex}:root body.rustdoc .sidebar :is(#rustdoc-modnav li,.sidebar-elems>ul.block>li)>a:hover{background:var(--color-ink-1);color:var(--color-fg)}:root body.rustdoc .sidebar li.current>a{background:var(--color-surface-2);box-shadow:0 0 0 var(--hairline) var(--color-hairline), var(--shadow-sm);color:var(--color-fg);font-weight:500}:root.dark body.rustdoc .sidebar li.current>a{background:var(--color-surface-3)}:root body.rustdoc .sidebar ul.doc-subnav{box-shadow:inset var(--hairline) 0 0 var(--color-hairline);margin:2px 0 .375rem .625rem;padding-left:.5rem}:root body.rustdoc .sidebar ul.doc-subnav li>a{min-height:1.75rem;color:var(--color-fg-3);font-size:.8125rem}:root body.rustdoc .main-heading{border:0;margin-bottom:2rem;padding-bottom:0}:root body.rustdoc .rustdoc-breadcrumbs{font-size:0}:root body.rustdoc .rustdoc-breadcrumbs a{color:var(--color-fg-3);font-size:.8125rem}:root body.rustdoc .rustdoc-breadcrumbs a:hover{color:var(--color-fg)}:root body.rustdoc .rustdoc-breadcrumbs a:not(:first-of-type):before{content:"/";color:var(--color-ink-4);margin:0 .4375rem;display:inline-block}:root body.rustdoc .main-heading h1{font-family:var(--font-serif);color:var(--color-fg);font-size:1.75rem;font-weight:500}:root body.rustdoc:is(.crate,.mod:not(.crate):not(.sys),.struct,.enum,.fn,.constant,.static,.type,.macro,.trait,.union) .main-heading h1{border:0;margin:0;padding:0;font-size:0}:root body.rustdoc:is(.crate,.mod:not(.crate):not(.sys),.struct,.enum,.fn,.constant,.static,.type,.macro,.trait,.union) .main-heading h1>span{color:var(--color-fg);font-size:2.25rem;line-height:1.25}:root body.rustdoc:is(.crate,.mod:not(.crate):not(.sys),.struct,.enum,.fn,.constant,.static,.type,.macro,.trait,.union) .main-heading h1:before{width:fit-content;font:500 .6875rem/1.6 var(--font-sans);letter-spacing:.04em;color:var(--color-clay-text);box-shadow:0 0 0 var(--hairline) #d9775773;border-radius:999px;margin-bottom:.75rem;padding:.125rem .5rem;display:block}@supports (color:color-mix(in lab, red, red)){:root body.rustdoc:is(.crate,.mod:not(.crate):not(.sys),.struct,.enum,.fn,.constant,.static,.type,.macro,.trait,.union) .main-heading h1:before{box-shadow:0 0 0 var(--hairline) color-mix(in srgb, var(--color-clay) 45%, transparent)}}:root body.rustdoc.crate .main-heading h1:before{content:"Crate"}:root body.rustdoc.mod:not(.crate):not(.sys) .main-heading h1:before{content:"模块"}:root body.rustdoc.struct .main-heading h1:before{content:"结构体"}:root body.rustdoc.enum .main-heading h1:before{content:"枚举"}:root body.rustdoc.fn .main-heading h1:before{content:"函数"}:root body.rustdoc.constant .main-heading h1:before{content:"常量"}:root body.rustdoc.static .main-heading h1:before{content:"静态变量"}:root body.rustdoc.type .main-heading h1:before{content:"类型别名"}:root body.rustdoc.macro .main-heading h1:before{content:"宏"}:root body.rustdoc.trait .main-heading h1:before{content:"Trait"}:root body.rustdoc.union .main-heading h1:before{content:"联合体"}:root body.rustdoc .main-heading h1 #copy-path{vertical-align:middle;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;font-size:0;display:inline-flex}:root body.rustdoc .main-heading h1 #copy-path:hover{background:var(--color-ink-1)}:root body.rustdoc .sub-heading{color:var(--color-fg-3);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}:root body.rustdoc .sub-heading .doc-src-meta{font-family:var(--font-mono);font-size:.75rem}:root body.rustdoc .sub-heading .doc-src-meta+a.src:before{content:"·";color:var(--color-ink-4);margin-right:.5rem}:root body.rustdoc a.src{color:var(--color-fg-3)}:root body.rustdoc a.src:hover{color:var(--color-clay-text)}:root body.rustdoc .main-heading rustdoc-toolbar{align-self:start;gap:2px;min-height:0;margin:0}:root body.rustdoc .main-heading rustdoc-toolbar #search-button,:root body.rustdoc .main-heading rustdoc-toolbar span.label{display:none}:root body.rustdoc .main-heading rustdoc-toolbar :is(.settings-menu>a,.help-menu>a,#toggle-all-docs){background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:flex}:root body.rustdoc .main-heading rustdoc-toolbar :is(.settings-menu>a,.help-menu>a,#toggle-all-docs):is(:hover,:focus-visible){background:var(--color-ink-1)}:root body.rustdoc .main-heading rustdoc-toolbar :is(.settings-menu>a,.help-menu>a,#toggle-all-docs):focus-visible{box-shadow:var(--shadow-focus)}:root body.rustdoc.crate .main-heading h1>span{font-size:2.75rem}:root body.rustdoc.crate .main-heading .doc-hero-meta{color:var(--color-fg-3);grid-area:main-heading-breadcrumbs;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.8125rem;display:flex}:root body.rustdoc.crate .main-heading .doc-hero-meta:before{content:"";background:var(--color-clay);border-radius:50%;width:6px;height:6px}:root body.rustdoc.crate .top-doc .docblock>p:first-child{color:var(--color-fg-2);font-size:1.125rem}:root #main-content h2.section-header{border:0;border-bottom:var(--hairline) solid var(--color-hairline);color:var(--color-fg);font-family:var(--font-serif);margin:3rem 0 1rem;padding:0 0 .625rem;font-size:1.375rem;font-weight:500}:root #main-content h2.section-header .doc-count,:root #main-content .doc-module-group h3 .doc-count{color:var(--color-fg-3);font-family:var(--font-sans);margin-left:.5rem;font-size:.8125rem;font-weight:400}:root #main-content .item-table{grid-template-columns:minmax(9rem,max-content) minmax(0,1fr);column-gap:0;margin:0 -.75rem;display:grid}:root #main-content .item-table>:is(dt,dd){border-top:var(--hairline) solid var(--color-hairline);margin:0;padding:.625rem .75rem}:root #main-content .item-table>:is(dt,dd):nth-child(-n+2){border-top:0}:root #main-content .item-table>dt{border-radius:8px 0 0 8px}:root #main-content .item-table>dd{-webkit-line-clamp:2;color:var(--color-fg-2);border-bottom:.625rem solid #0000;border-radius:0 8px 8px 0;-webkit-box-orient:vertical;padding-bottom:0;font-size:.875rem;display:-webkit-box;overflow:hidden}:root #main-content .item-table>dt>a{color:var(--color-fg);font-family:var(--font-mono);font-size:.875rem}:root #main-content .item-table>dt:hover,:root #main-content .item-table>dt:hover+dd,:root #main-content .item-table>dt:has(+dd:hover),:root #main-content .item-table>dd:hover{background:var(--color-ink-1)}@media (max-width:700px){:root #main-content .item-table{grid-template-columns:minmax(0,1fr)}:root #main-content .item-table>:is(dt,dd){grid-column:1}:root #main-content .item-table>dd{border-top:0;border-radius:0 0 8px 8px;padding-top:0}:root #main-content .item-table>dt{border-radius:8px 8px 0 0}:root #main-content .item-table>dt:hover+dd,:root #main-content .item-table>dt:has(+dd:hover){background:var(--color-ink-1)}}:root #main-content .item-table>dt>span[title=Restricted\ Visibility]{display:none}:root #main-content .item-table>dt:not(:has(>span[title=Restricted\ Visibility]))>a:after{content:"pub";background:var(--color-success-soft);color:var(--color-success);font:500 .625rem/1.6 var(--font-mono);vertical-align:.125rem;border-radius:999px;margin-left:.5rem;padding:0 .375rem}:root #main-content .doc-module-groups{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem;display:grid}:root #main-content .doc-module-group{border-radius:var(--radius-panel);background:var(--color-surface-2);box-shadow:0 0 0 var(--hairline) var(--color-hairline), var(--shadow-sm);padding:1rem 1.25rem .5rem}:root #main-content .doc-module-group h3{color:var(--color-fg-3);font-family:var(--font-sans);border:0;margin:0 0 .25rem;padding:0;font-size:.8125rem;font-weight:500}:root #main-content .doc-module-group .item-table{grid-template-columns:minmax(0,1fr);margin:0}:root #main-content .doc-module-group .item-table>:is(dt,dd){grid-column:1}:root #main-content .doc-module-group .item-table>dt{border-top:0;border-radius:0;padding:.375rem 0 0}:root #main-content .doc-module-group .item-table>dd{color:var(--color-fg-3);white-space:nowrap;text-overflow:ellipsis;border-top:0;border-bottom:0;border-radius:0;padding:0 0 .375rem;font-size:.8125rem;display:block;overflow:hidden}:root #main-content .doc-module-group .item-table>dd code{white-space:nowrap}:root #main-content .doc-module-group .item-table>:is(dt,dd):hover,:root #main-content .doc-module-group .item-table>dt:hover+dd,:root #main-content .doc-module-group .item-table>dt:has(+dd:hover){background:0 0}:root #main-content pre.item-decl{border-radius:var(--radius-code);background:var(--color-surface-1);box-shadow:inset 0 0 0 var(--hairline) var(--color-hairline);padding:1rem 1.25rem;font-size:.875rem;line-height:1.7}:root #main-content>span.structfield,:root #main-content .variants>section.variant{border-top:var(--hairline) solid var(--color-hairline);font-family:var(--font-mono);margin:0;padding:.625rem 0;font-size:.875rem;display:block}:root #main-content>span.structfield+.docblock,:root #main-content .variants>section.variant+.docblock{color:var(--color-fg-2);margin:-.25rem 0 .5rem;padding:0;font-size:.875rem}:root #main-content :is(#implementations-list,#blanket-implementations-list)>details.implementors-toggle,:root #main-content #trait-implementations-list>details[open]{border-radius:var(--radius-panel);background:var(--color-surface-2);box-shadow:0 0 0 var(--hairline) var(--color-hairline), var(--shadow-sm);margin:0 0 .75rem;padding:.875rem 1.25rem}:root #main-content :is(#implementations-list,#blanket-implementations-list,#trait-implementations-list)>details summary h3.code-header{color:var(--color-fg-3);font-size:.875rem;font-weight:500}:root #main-content .impl-items h4.code-header{color:var(--color-fg);font-size:.875rem}:root #main-content .impl-items .docblock{color:var(--color-fg-2);font-size:.9375rem}:root #main-content :is(#implementations-list,#blanket-implementations-list,#trait-implementations-list) a.src.rightside{opacity:0}:root #main-content :is(#implementations-list,#blanket-implementations-list,#trait-implementations-list) section:is(:hover,:focus-within) a.src.rightside{opacity:1}@media (hover:none){:root #main-content :is(#implementations-list,#blanket-implementations-list,#trait-implementations-list) a.src.rightside{opacity:1}}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list){flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>details:not([open])>summary{margin:0;padding:0;display:block}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>details:not([open])>summary:before{display:none}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>section.impl,:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>details:not([open])>summary>section.impl{background:var(--color-surface-2);box-shadow:0 0 0 var(--hairline) var(--color-hairline);color:var(--color-fg-2);font:.8125rem var(--font-mono);cursor:pointer;border-radius:999px;margin:0;padding:.25rem .75rem;display:inline-flex}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>section.impl{cursor:default}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>details:not([open])>summary>section.impl>*,:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>section.impl>*{display:none}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>details:not([open])>summary>section.impl:after,:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>section.impl:after{content:attr(data-short)}:root #main-content :is(#trait-implementations-list,#synthetic-implementations-list)>details[open]{flex-basis:100%}:root #main-content details.doc-more-impls{interpolate-size:allow-keywords;margin-top:3rem}:root #main-content details.doc-more-impls>summary{color:var(--color-fg-2);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.875rem;list-style:none;display:flex}:root #main-content details.doc-more-impls>summary::-webkit-details-marker{display:none}:root #main-content details.doc-more-impls>summary:hover{background:var(--color-ink-1)}:root #main-content details.doc-more-impls .doc-more-chevron{transition:transform var(--spring-snappy-duration) var(--ease-spring-snappy)}:root #main-content details.doc-more-impls[open]>summary .doc-more-chevron{transform:rotate(90deg)}:root #main-content details.doc-more-impls::details-content{block-size:0;transition:block-size var(--spring-snappy-duration) var(--ease-spring-snappy), content-visibility var(--spring-snappy-duration) allow-discrete;overflow:clip}:root #main-content details.doc-more-impls[open]::details-content{block-size:auto}:root #main-content details.doc-more-impls[data-instant]::details-content{transition:none}@media (prefers-reduced-motion:reduce){:root #main-content details.doc-more-impls .doc-more-chevron{transition:none}:root #main-content details.doc-more-impls::details-content{transition:none}}:root ul.all-items{columns:3 14rem;font:.8125rem var(--font-mono);padding:0;list-style:none}:root #main-content h3:has(+ul.all-items){font-family:var(--font-serif);font-size:1.125rem}:root #main-content .docblock{color:var(--color-fg-body);overflow-wrap:anywhere;line-height:1.8}:root #main-content .top-doc .docblock{font-size:1rem}:root #main-content .docblock :is(h1,h2,h3,h4){color:var(--color-fg);font-family:var(--font-serif);letter-spacing:0;border:0;margin:2em 0 .75em;padding:0;font-weight:500;line-height:1.4}:root #main-content .docblock h1{font-size:1.5em}:root #main-content .docblock h2{font-size:1.35em}:root #main-content .docblock h3{font-size:1.15em}:root #main-content .docblock h4{font-size:1em}:root #main-content .docblock>:first-child{margin-top:0}:root #main-content .docblock p{margin:0 0 1em}:root #main-content .docblock p:last-child{margin-bottom:0}:root #main-content .docblock a:not(.anchor){color:var(--color-clay-text);-webkit-text-decoration:underline #d9775766;text-decoration:underline #d9775766}@supports (color:color-mix(in lab, red, red)){:root #main-content .docblock a:not(.anchor){-webkit-text-decoration-color:color-mix(in srgb, var(--color-clay) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--color-clay) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--color-clay) 40%, transparent)}}:root #main-content .docblock a:not(.anchor){text-underline-offset:4px;text-decoration-thickness:1px}:root #main-content .docblock a:not(.anchor):hover{text-decoration-color:currentColor}:root #main-content .docblock strong{color:var(--color-fg);font-weight:600}:root #main-content .docblock em{text-emphasis:dot;text-emphasis-position:under;text-emphasis-color:var(--color-clay);font-style:normal}:root #main-content .docblock :not(pre)>code{background:var(--color-ink-1);color:var(--color-fg);font-family:var(--font-mono);border-radius:5px;padding:.14em .42em;font-size:.84em}:root #main-content .docblock a>code{color:inherit}:root #main-content .docblock blockquote{box-shadow:inset 2px 0 0 var(--color-clay);color:var(--color-fg-2);font-family:var(--font-serif);border:0;margin:0 0 1.2em;padding:.1em 0 .1em 1.1em}:root #main-content .docblock :is(ul,ol){margin:0 0 1em;padding-left:1.4em}:root #main-content .docblock li+li{margin-top:.25em}:root #main-content .docblock li::marker{color:var(--color-fg-3)}:root #main-content .docblock table{border-collapse:separate;border-spacing:0;box-shadow:0 0 0 var(--hairline) var(--color-hairline);border-radius:10px;font-size:.875em}:root #main-content .docblock th{background:var(--color-surface-1);color:var(--color-fg-3);font-weight:500}:root #main-content .docblock :is(th,td){border:0;border-bottom:var(--hairline) solid var(--color-hairline);padding:.6em .9em}:root #main-content .docblock .example-wrap>pre{border-radius:var(--radius-code);background:var(--color-surface-1);box-shadow:inset 0 0 0 var(--hairline) var(--color-hairline);padding:1em 1.15em;font-size:.82em;line-height:1.75}:root #main-content .docblock>.warning{background:var(--color-warning-soft);color:var(--color-fg-body);border:0;border-radius:10px;padding:.75rem 1rem}:root body.rustdoc>main:has(.post-layout){padding-bottom:70dvh}@media (min-width:1100px){:root body.rustdoc .width-limiter.post-layout{grid-template-columns:minmax(0,1fr) 13.75rem;align-items:start;column-gap:3rem;max-width:none;display:grid}:root body.rustdoc .width-limiter.post-layout:has(>#main-content.hidden){grid-template-columns:minmax(0,1fr)}:root .width-limiter.post-layout>:is(#main-content,#alternative-display){grid-column:1}:root .width-limiter.post-layout>.post-toc{grid-area:1/2;margin-top:0}}:root .width-limiter:has(>#main-content.hidden)>.post-toc{display:none}:root:is([data-theme=light],[data-theme=dark],:not([data-theme])) .search-input{border-radius:var(--radius-composer);background-color:var(--color-surface-2);box-shadow:0 0 0 var(--hairline) var(--color-ink-3), var(--shadow-composer);border:0;padding:8px 16px}:root:is([data-theme=light],[data-theme=dark],:not([data-theme])) .search-input:focus{box-shadow:var(--shadow-focus)}:root body.rustdoc #search-tabs{background:var(--color-ink-1);border-radius:999px;gap:0;margin:1rem 0;padding:2px;display:inline-flex}:root body.rustdoc #search-tabs>button{height:2rem;color:var(--color-fg-2);font-family:var(--font-sans);background:0 0;border:0;border-radius:999px;margin:0;padding:0 .875rem;font-size:.8125rem}:root body.rustdoc #search-tabs>button.selected{background:var(--color-surface-2);color:var(--color-fg);box-shadow:0 0 0 var(--hairline) var(--color-hairline), var(--shadow-sm);font-weight:500}:root.dark body.rustdoc #search-tabs>button.selected{background:var(--color-surface-3)}:root body.rustdoc #search-tabs>button .count{color:var(--color-fg-3)}:root body.rustdoc .search-results>a{border:0;border-radius:8px;grid-template-columns:5.5rem minmax(0,1fr);gap:.125rem 1rem;padding:.625rem .75rem;display:grid}:root body.rustdoc .search-results>a .result-name{display:contents}:root body.rustdoc .search-results>a .typename{color:var(--color-fg-3);grid-area:1/1;font-size:.75rem}:root body.rustdoc .search-results>a .path{color:var(--color-fg-3);font-family:var(--font-mono);grid-area:1/2;font-size:.8125rem}:root body.rustdoc .search-results>a .path>span:last-child{color:var(--color-fg);font-weight:600}:root body.rustdoc .search-results>a .desc{-webkit-line-clamp:2;line-clamp:2;color:var(--color-fg-2);-webkit-box-orient:vertical;grid-area:2/2;margin:0;padding:0;font-size:.8125rem;display:-webkit-box;overflow:hidden}:root body.rustdoc .search-results>a:is(:hover,:focus){background:var(--color-ink-1);box-shadow:inset 2px 0 0 var(--color-clay);outline:none}:root body.rustdoc .search-switcher{color:var(--color-fg-3);font-size:.8125rem}:root body.rustdoc #crate-search{box-shadow:0 0 0 var(--hairline) var(--color-hairline);border:0;border-radius:8px}:root .popover{border-radius:var(--radius-dialog);background:var(--color-popover);box-shadow:var(--shadow-popover);border:0;padding:1rem}:root #settings input{accent-color:var(--color-clay-fill)}:root #settings :is(#theme,#preferred-light-theme,#preferred-dark-theme),:root #settings .setting-line:has(:is(#hide-sidebar,#hide-toc,#hide-modnav,#sans-serif-fonts)){display:none}:root body.rustdoc #search-tabs{flex-wrap:nowrap;width:max-content;max-width:100%}:root body.rustdoc #search-tabs>button{white-space:nowrap;flex:none}:root body.src #src-sidebar{background:0 0;border:0}:root body.src #src-sidebar details.dir-entry>summary{min-height:1.75rem;color:var(--color-fg-2);border-radius:6px;font-size:.8125rem}:root body.src #src-sidebar details.dir-entry>summary:hover{background:var(--color-ink-1)}:root body.src #src-sidebar .files>a{color:var(--color-fg-2);border-radius:6px;padding:.25rem .5rem;font-size:.8125rem;display:block}:root body.src #src-sidebar .files>a:hover{background:var(--color-ink-1)}:root body.src #src-sidebar a.selected{background:var(--color-surface-2);color:var(--color-fg);box-shadow:0 0 0 var(--hairline) var(--color-hairline), var(--shadow-sm);font-weight:500}:root.dark body.src #src-sidebar a.selected{background:var(--color-surface-3)}:root body.src .src-sidebar-title h2{color:var(--color-fg-3);letter-spacing:.06em;font-size:.6875rem}:root body.src .main-heading{align-items:center;gap:.75rem;display:flex}:root body.src .main-heading h1{font-family:var(--font-serif);font-size:1.25rem}:root body.src .main-heading rustdoc-toolbar{margin-left:auto}:root body.src #sidebar-button{background:0 0;border:0;border-radius:8px;width:2rem;height:2rem;margin:0;display:flex;position:static}:root body.src #sidebar-button:hover{background:var(--color-ink-1)}:root body.rustdoc.src .example-wrap{border-radius:var(--radius-code);background:var(--color-surface-1);box-shadow:inset 0 0 0 var(--hairline) var(--color-hairline);font-size:.8125rem}:root body.rustdoc.src .example-wrap a[data-nosnippet]{color:var(--color-fg-3)}:root body.rustdoc.src>main{min-width:0;height:auto}:root body.rustdoc.src .example-wrap{overflow-x:auto}