@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.article-prose ::selection{color:#164b2b!important;text-shadow:none!important;background:0 0!important}.selection-markers{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.selection-markers i{opacity:.42;transform-origin:50%;background:#8fdb82;border-radius:3px 10px 4px 8px;display:block;position:absolute;box-shadow:0 1px #438d4a55}.selection-markers i:before{content:"";opacity:.62;clip-path:polygon(0 18%,8% 7%,24% 13%,42% 4%,59% 11%,78% 3%,100% 14%,98% 82%,84% 93%,67% 87%,49% 97%,31% 89%,12% 96%,1% 83%);background:#b8ed9f;border-radius:6px 5px 8px 4px;position:absolute;inset:-2px 3px 1px -2px;transform:rotate(-1.2deg)}.selection-markers i:after{content:"";background:#efffe9bb;border-radius:50%;height:1px;position:absolute;top:2px;left:6px;right:8px;transform:rotate(-1deg)}html.dark .article-prose ::selection{color:#f0fff2!important;text-shadow:0 1px 1px #102918!important}html.dark .selection-markers i{opacity:.5;background:#5daf69;box-shadow:0 1px #b8f5c066}html.dark .selection-markers i:before{opacity:.52;background:#8edb91}html.dark .selection-markers i:after{background:#eaffea99}:root{--ink:#31363a;--muted:#858b90;--line:#eaedef;--panel:#fff;--bg:#f8f9fa}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);margin:0;font-family:LXGW WenKai Screen,Microsoft YaHei,Arial,sans-serif;font-size:13px}a{color:inherit;text-decoration:none}.blog-shell{grid-template-columns:210px 618px 216px;gap:32px;width:1090px;min-height:100vh;margin:0 auto;padding:28px 0 18px;display:grid}.sidebar{flex-direction:column;min-height:calc(100vh - 56px);display:flex;position:sticky;top:28px}.profile{align-items:center;gap:10px;height:52px;margin-bottom:16px;display:flex}.profile-icon{color:#58adf5;background:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:26px;font-weight:700;display:grid;box-shadow:0 3px 12px #ccd1d755}.profile b{letter-spacing:.5px;font-size:18px;display:block}.profile small{color:#a5a9ae;white-space:nowrap;margin-top:3px;font-size:10px;display:block}.search{border:1px solid var(--line);color:#a5aaae;text-align:left;cursor:pointer;background:#fff;border-radius:5px;align-items:center;gap:7px;width:100%;height:30px;padding:0 9px;display:flex}.search span{font-size:20px;line-height:1}.search-placeholder{color:#c1c5c8;flex:1;font-size:12px!important}.search kbd,.search-modal-input kbd,.search-footer kbd{color:#9aa0a4;white-space:nowrap;background:#eef0f1;border-radius:3px;padding:2px 5px;font:10px Arial}.search-overlay{z-index:2147483647;isolation:isolate;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d252c66;place-items:start center;padding:11vh 16px;display:grid;position:fixed;inset:0}.search-modal{z-index:1;background:#fcfdfc;border:1px solid #e2e6e5;border-radius:14px;width:min(100%,650px);position:relative;overflow:hidden;box-shadow:0 25px 80px #15202a40}.search-heading{background:linear-gradient(120deg,#f1f7f6,#fbfbfa);border-bottom:1px solid #e6eae8;align-items:center;gap:11px;padding:18px 21px 15px;display:flex}.search-mark{color:#4f9d94;background:#dbeeea;border-radius:9px;place-items:center;width:31px;height:31px;font-size:21px;display:grid}.search-heading div{gap:2px;display:grid}.search-heading b{color:#3a4143;font-size:16px}.search-heading small{color:#959b9c;font-size:11px}.search-heading button{color:#9da3a4;cursor:pointer;background:0 0;border:0;border-radius:50%;width:27px;height:27px;margin-left:auto;font-size:22px}.search-heading button:hover{color:#555;background:#e8edeb}.search-modal-input{color:#72aaa3;background:#fff;border:1px solid #dfe5e3;border-radius:9px;align-items:center;gap:11px;height:60px;margin:17px 19px 10px;padding:0 14px;display:flex;box-shadow:0 2px 5px #1d2d3008}.search-modal-input>span{font-size:25px}.search-modal-input input{color:#34393d;background:0 0;border:0;outline:0;flex:1;min-width:0;font:15px LXGW WenKai Screen,Microsoft YaHei,sans-serif}.search-status{color:#9aa0a1;justify-content:space-between;padding:3px 22px 10px;font-size:11px;display:flex}.search-results{max-height:365px;padding:0 11px 11px;overflow:auto}.search-results a{border:1px solid #0000;border-radius:9px;grid-template-columns:29px 1fr auto 18px;align-items:center;gap:10px;padding:12px 11px;display:grid}.search-results a:hover{background:#f4f9f7;border-color:#e0ebe8}.search-results i{color:#b4bbb9;font:11px Arial}.search-results div{gap:4px;min-width:0;display:grid}.search-results b{color:#353b3e;font-size:14px}.search-results div span{color:#8d9495;white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.35;overflow:hidden}.search-results small{color:#519f96;background:#e9f5f2;border-radius:99px;padding:3px 7px;font-size:10px}.search-results strong{color:#b4bcb9;font-size:16px;font-weight:400}.search-empty{color:#909899;place-items:center;padding:45px 15px 49px;display:grid}.search-empty>span{color:#7cada6;background:#eef4f2;border-radius:50%;place-items:center;width:44px;height:44px;font-size:25px;display:grid}.search-empty b{color:#626a6c;margin-top:12px;font-size:14px}.search-empty p{margin:6px 0 0;font-size:12px}.search-footer{color:#a0a6a5;background:#f6f8f7;border-top:1px solid #e9edeb;justify-content:space-between;padding:11px 21px;font-size:11px;display:flex}@media (max-width:650px){.search-overlay{padding:7vh 12px}.search-status span:last-child,.search-results i,.search-results strong{display:none}.search-results a{grid-template-columns:1fr auto}.search-results div{grid-column:1}.search-results small{grid-column:2}.search-heading{padding-inline:16px}.search-modal-input{margin-inline:14px}}.side-nav{gap:7px;margin-top:13px;display:grid}.side-nav a{color:#7f858a;border-radius:5px;align-items:center;gap:9px;height:30px;padding:7px 12px;font-size:13px;display:flex}.side-nav a svg{width:15px;height:15px}.side-nav .active{color:#3a3d40;background:#e4e6e8;font-weight:700}.sidebar-bottom{color:#969b9f;flex-direction:column;gap:17px;margin-top:auto;padding:0 14px;font-size:14px;display:flex}.theme-switcher{align-items:center;gap:7px;width:max-content;padding:2px;display:flex}.theme-switcher button{color:#9ba2a4;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;width:28px;height:28px;transition:background .18s,color .18s,transform .18s;display:grid;position:relative}.theme-switcher button:hover{color:#4b9188;background:#eaf2f0;transform:translateY(-1px)}.theme-switcher button.active{color:#418a80;background:#e1f0ed}.theme-switcher button.active:before{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px}.theme-switcher svg{width:15px;height:15px}.theme-switcher button[title]:after{content:attr(title);z-index:4;color:#697174;white-space:nowrap;opacity:0;pointer-events:none;background:#fff;border:1px solid #e4e7e7;border-radius:5px;padding:5px 8px;font:11px LXGW WenKai Screen,Microsoft YaHei,sans-serif;transition:opacity .15s;position:absolute;left:50%;transform:translate(-50%,-34px);box-shadow:0 3px 10px #35414b14}.theme-switcher button[title]:hover:after{opacity:1}.social-links{align-items:center;gap:8px;padding:2px;display:flex}.social-links a{color:#98a0a2;border-radius:8px;place-items:center;width:25px;height:25px;transition:all .18s;display:grid;position:relative}.social-links a:hover{color:#4d958c;background:#e9f2f0;transform:translateY(-1px)}.social-links svg{width:14px;height:14px}.social-links a[title]:after{content:attr(title);z-index:4;color:#697174;white-space:nowrap;opacity:0;pointer-events:none;background:#fff;border:1px solid #e4e7e7;border-radius:5px;padding:5px 8px;font:11px LXGW WenKai Screen,Microsoft YaHei,sans-serif;transition:opacity .15s;position:absolute;left:50%;transform:translate(-50%,-33px);box-shadow:0 3px 10px #35414b14}.social-links a[title]:hover:after{opacity:1}.subpage-content{min-width:0}.subpage-heading{align-items:center;gap:13px;margin:6px 0 22px;display:flex}.subpage-heading>span{color:#54a79e;background:#e7f2f0;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.subpage-heading>span svg{width:22px;height:22px}.subpage-heading h1{color:#3d4245;letter-spacing:0;margin:0;font-size:27px}.subpage-heading p{color:#959b9e;margin:3px 0 0;font-size:12px}.links-grid{gap:11px;display:grid}.friend-card{background:#fff;border:1px solid #e9eded;border-radius:11px;grid-template-columns:38px 1fr 17px;align-items:center;gap:13px;padding:17px;transition:all .2s;display:grid;box-shadow:0 2px 5px #35414b08}.friend-card:hover{border-color:#cde2de;transform:translateY(-2px)}.friend-card>svg:first-child{width:32px;height:32px}.friend-card b{color:#454b4f;font-size:15px}.friend-card p{color:#90969a;margin:4px 0 0;font-size:12px}.friend-card .external-icon{color:#aab1b2;width:16px}.aside-note{background:#f0f1f2;border-radius:11px;padding:15px 17px}.aside-note h3{padding:0!important}.aside-note p{color:#858b8f;margin:8px 0 0;font-size:12px;line-height:1.6}.archive-list{gap:22px;display:grid}.archive-list section h2{color:#62686c;border-bottom:1px solid #e6eaeb;margin:0 0 8px;padding-bottom:8px;font-size:18px}.archive-list section h2 small{color:#a7adb0;margin-left:8px;font-size:11px;font-weight:400}.archive-list section>a{border-radius:7px;grid-template-columns:14px 1fr auto;align-items:start;gap:10px;padding:11px 7px;display:grid}.archive-list section>a:hover{background:#f0f6f5}.archive-dot{background:#68afa8;border-radius:50%;width:7px;height:7px;margin-top:6px}.archive-list b{color:#3f4649;font-size:14px}.archive-list p{color:#90969a;margin:4px 0 0;font-size:12px;line-height:1.4}.archive-list em{color:#5daaa3;font-size:11px;font-style:normal}.content h1{color:#c9ccce;letter-spacing:1px;margin:-15px 0 3px;font-size:35px;line-height:1.3}.featured-row{gap:10px;height:99px;margin-bottom:14px;display:flex;overflow:hidden}.featured{color:#fff;background:linear-gradient(135deg,#23415d,#6184a0);border-radius:7px;flex:none;width:185px;position:relative;overflow:hidden;box-shadow:inset 0 -40px 40px #0007}.featured:after{content:"";border:13px solid #fff5;border-radius:50%;width:100px;height:100px;transition:transform .3s;position:absolute;top:-20px;right:-30px}.featured:hover:after{transform:scale(1.3)}.featured:nth-child(2){background:linear-gradient(135deg,#1a6a8b,#9fbed0)}.featured:nth-child(3){background:linear-gradient(135deg,#777e7c,#344251)}.featured-default,.featured-hover{z-index:1;flex-direction:column;padding:35px 15px 10px;transition:opacity .22s,transform .22s;display:flex;position:absolute;inset:0}.featured-default b,.featured-hover b{font-size:17px;font-weight:700;line-height:1.2}.featured-default small,.featured-hover small{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;overflow:hidden}.featured-hover{opacity:0;background:#183442cf;justify-content:center;padding:20px;transform:translateY(8px)}.featured-hover b{max-height:36px;font-size:15px;overflow:hidden}.featured-hover small{color:#d8f1eb;font-size:11px}.featured-hover svg{width:18px;height:18px;position:absolute;bottom:12px;right:12px}.featured:hover .featured-default{opacity:0;transform:translateY(-8px)}.featured:hover .featured-hover{opacity:1;transform:translateY(0)}.list-tools{color:#777d81;justify-content:flex-end;gap:13px;height:30px;display:flex}.post-list{gap:12px;display:grid}.post-card{background:var(--panel);border:1px solid #eef0f1;border-radius:11px;min-height:126px;display:flex;overflow:hidden;box-shadow:0 2px 4px #35414b0c}.post-text{flex-direction:column;flex:1;justify-content:flex-start;min-width:0;padding:13px 13px 9px;display:flex}.post-text h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.post-text p{color:#7d8388;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:360px;margin:0;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.post-text footer{color:#92989c;margin-top:auto;padding-top:7px;font-size:11px}.post-text em{color:#5dcac4;font-style:normal}.post-cover{background:#e3e6e5;flex:none;width:245px;min-height:126px;position:relative;overflow:hidden}.post-cover:after{content:"";background:linear-gradient(90deg,#fff 0%,#0000 43%);position:absolute;inset:0}.post-cover.desk{background:radial-gradient(circle at 68%,#f9eed8 0 15%,#0000 16%),linear-gradient(120deg,#f5deb0,#bb873e)}.post-cover.notes{background:repeating-linear-gradient(12deg,#e9ffff 0 14px,#f7c8df 15px 18px,#71dcef 19px 28px)}.post-cover.network{background:radial-gradient(circle,#57b9db 0 15%,#0000 16%),linear-gradient(135deg,#f7e6a9,#717780)}.post-cover.ai{background:linear-gradient(160deg,#c6e1e5,#e3b2a2 49%,#79838a)}.post-cover.type{background:linear-gradient(135deg,#e6eaef,#8e9cbd 52%,#4b506d)}.post-cover.dark{background:radial-gradient(circle at 70% 20%,#f2a780,#596d90 38%,#1d2a38 70%)}.article-filter{color:#737b7d;position:relative}.article-filter>button{color:#687073;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;height:28px;padding:0 7px;font:12px LXGW WenKai Screen,Microsoft YaHei,sans-serif;display:flex}.article-filter>button:hover,.article-filter>button[aria-expanded=true]{background:#f8fbfa;border-color:#dce8e5}.article-filter>button>svg:first-child{color:#6ca9a1;width:14px;height:14px}.article-filter .select-chevron{color:#a1a7aa;width:12px;height:12px;transition:transform .18s}.article-filter>button[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.filter-menu{z-index:20;background:#fff;border:1px solid #dfe8e5;border-radius:8px;min-width:128px;padding:5px;position:absolute;top:33px;right:0;box-shadow:0 10px 25px #28403820}.filter-menu button{color:#626b6d;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:7px 8px;font:12px LXGW WenKai Screen,Microsoft YaHei,sans-serif;display:flex}.filter-menu button:hover{color:#417f78;background:#f0f7f5}.filter-menu button.selected{color:#438f86;background:#e6f3f0;font-weight:600}.filter-menu button svg{width:14px;height:14px}.article-list-status{color:#9da3a5;align-items:center;gap:5px;margin:9px 2px 0;font-size:11px;display:flex}.article-list-status svg{width:13px;height:13px}.pinned-badge{vertical-align:2px;color:#d47754;background:#fff2ea;border-radius:6px;place-items:center;width:19px;height:19px;margin-right:6px;display:inline-grid;box-shadow:inset 0 0 0 1px #f5d9cc}.pinned-badge svg{width:11px;height:11px;transform:rotate(32deg)}.pinned-badge[title]{position:relative}.pinned-badge[title]:after{content:attr(title);z-index:3;color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#4c5354;border-radius:4px;padding:4px 7px;font:10px LXGW WenKai Screen,Microsoft YaHei,sans-serif;transition:opacity .15s;position:absolute;top:-29px;left:50%;transform:translate(-50%)}.pinned-badge:hover:after{opacity:1}html.dark .pinned-badge{color:#f0a380;background:#3b2b25;box-shadow:inset 0 0 0 1px #5e3e33}.post-tag{color:#7aa69f;margin-left:6px}.reader-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.reader-tags span{color:#57988f;background:#edf6f4;border-radius:99px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.reader-tags svg{width:11px;height:11px}html.dark .reader-tags span{color:#a7ddd5;background:#27403c}html.dark .reader-page{background:#111516}html.dark .reader-article{background:#1b2224;border-color:#303b3d;box-shadow:0 12px 34px #0004}html.dark .reader-home{color:#9eabaa;background:#1b2224;border-color:#344042}html.dark .reader-home:hover{color:#a6dfd5;background:#253331;border-color:#4e7770}.dark .reader-rail-line{background:#374345}.dark .reader-rail-text{color:#657174}.dark .reader-breadcrumb{color:#8d9999}.dark .reader-breadcrumb a{color:#8acbbf}.dark .reader-title-row h1{color:#eef3f2}.dark .reader-description{color:#aab4b3}.dark .reader-meta{color:#96a19f}.dark .reader-meta svg{color:#85c1b7}.dark .reader-rule{background:#303a3b}.dark .article-prose{color:#d5dddb}.dark .article-prose h2,.dark .article-prose h3{color:#eef3f2}.dark .article-prose blockquote{color:#b8c7c4;background:#22312f;border-color:#69aaa1}.dark .reader-footer{color:#85908f;border-color:#303a3b}.dark .reader-footer a{color:#86c9bf}.dark .toc-card p{color:#d6dfdd}.dark .toc-card>a,.dark .toc-card>span{color:#97a4a2}.dark .toc-card>a:hover{color:#98d8ce}.dark .toc-progress{color:#8f9c9a}.dark .toc-progress i{background:#334440}.dark .toc-progress i b{background:#78c4b8}.dark .reader-pin{color:#f0aa88;background:#402f28}.dark .article-prose>.code-block{border-color:#3d5553;box-shadow:0 8px 20px #0004}.dark .code-block header{background:#1c2c2f;border-color:#ffffff12}.dark .code-block pre{background:#172326}.dark .code-block header button:hover{color:#def3ee;background:#ffffff12}.reader-page{background:var(--bg);min-height:100vh;padding:40px max(22px,50vw - 710px)}.reader-grid{grid-template-columns:54px minmax(0,940px) 210px;align-items:start;gap:36px;display:grid}.reader-rail{flex-direction:column;align-items:center;gap:18px;padding-top:11px;display:flex;position:sticky;top:40px}.reader-home{color:#758082;background:#fff;border:1px solid #e2e8e7;border-radius:10px;place-items:center;width:34px;height:34px;transition:all .2s;display:grid}.reader-home:hover{color:#469087;border-color:#c4ddd8;transform:translate(-2px)}.reader-home svg{width:17px;height:17px}.reader-rail-line{background:#dce4e2;width:1px;height:110px}.reader-rail-text{color:#b0b8b7;letter-spacing:3px;writing-mode:vertical-rl;font:10px Arial}.reader-article{background:#fff;border:1px solid #e7eceb;border-radius:16px;padding:48px 74px 30px;box-shadow:0 12px 34px #33494d0b}.reader-breadcrumb{color:#9aa3a3;align-items:center;gap:7px;font-size:12px;display:flex}.reader-breadcrumb a{color:#5a9f96}.reader-breadcrumb svg{width:13px;height:13px}.reader-title-row{align-items:flex-start;gap:12px;margin-top:20px;display:flex}.reader-title-row h1{color:#283134;letter-spacing:-1px;margin:0;font-size:36px;line-height:1.25}.reader-pin{color:#c77052;white-space:nowrap;background:#fff2ea;border-radius:6px;align-items:center;gap:4px;margin-top:6px;padding:4px 7px;font-size:11px;display:flex}.reader-pin svg{width:12px;height:12px}.reader-description{color:#879092;margin:15px 0 0;font-size:15px;line-height:1.7}.reader-meta{color:#929a9b;flex-wrap:wrap;gap:15px;margin-top:17px;font-size:12px;display:flex}.reader-meta span{align-items:center;gap:5px;display:flex}.reader-meta svg{color:#6ba99f;width:13px;height:13px}.reader-rule{background:#e9eeee;height:1px;margin:30px 0}.article-prose{color:#30383a;font:18px/2.05 LXGW WenKai Screen,Microsoft YaHei,serif}.article-prose h2{color:#273034;margin:46px 0 15px;padding-top:8px;font-size:26px;line-height:1.4}.article-prose h3{color:#30393b;margin:32px 0 12px;font-size:20px}.article-prose p{margin:0 0 21px}.article-prose blockquote{color:#627174;background:#f2f8f6;border-left:3px solid #69aaa1;border-radius:0 8px 8px 0;margin:26px 0;padding:13px 17px}.article-prose pre{color:#d9efeb;white-space:pre-wrap;background:#273135;border-radius:9px;padding:13px;font:12px/1.6 ui-monospace,monospace}.reader-footer{color:#a0a8a8;border-top:1px solid #e9eeee;justify-content:space-between;align-items:center;margin-top:50px;padding-top:22px;font-size:12px;display:flex}.reader-footer a{color:#579d94;align-items:center;gap:6px;display:flex}.reader-footer svg{width:14px;height:14px}.toc-card{border-left:1px solid #dce8e5;padding:16px 15px}.toc-card p{color:#485355;margin:0 0 10px;font-size:13px;font-weight:700}.toc-card>a,.toc-card>span{color:#90999a;margin:8px 0;font-size:12px;line-height:1.4;display:block}.toc-card>a:hover{color:#4e9d93}.toc-progress i{background:#e1e9e7;border-radius:99px;width:54px;height:3px;overflow:hidden}.toc-progress i b{border-radius:inherit;background:#64a99f;height:100%;transition:width .12s linear;display:block}@media (max-width:940px){.reader-page{padding:22px 16px 56px}.reader-grid{grid-template-columns:1fr}.reader-rail,.reader-toc{display:none}.reader-article{border-radius:12px;padding:30px 24px}.reader-title-row h1{font-size:30px}.article-prose{font-size:16px}}.article-image{background:#f1f4f3;border:1px solid #e4e9e8;border-radius:12px;margin:30px 0;overflow:hidden}.article-image img{width:100%;height:auto;display:block}.article-image figcaption{color:#8c9697;text-align:center;background:#f8faf9;padding:8px 12px;font-size:12px;line-height:1.4}html.dark .article-image{background:#202829;border-color:#354041}html.dark .article-image figcaption{color:#a7b0af;background:#1b2223}.article-prose>.code-block{background:#f9fbfa;border:1px solid #d9e4e1;border-radius:11px;margin:27px 0;overflow:hidden;box-shadow:0 8px 20px #2d484117}.code-block header{color:#5e827c;background:#f0f6f4;border-bottom:1px solid #e1e9e6;justify-content:space-between;align-items:center;height:38px;padding:0 11px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.code-block header>span{align-items:center;gap:5px;display:flex}.code-block header svg{width:14px;height:14px}.code-actions{align-items:center;gap:3px;display:flex}.code-actions button{color:#668681;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:26px;height:25px;padding:0;transition:all .15s;display:grid;position:relative}.code-actions button:hover{color:#397e74;background:#dcece8}.code-actions button[title]:after{content:attr(title);z-index:5;color:#edf7f4;white-space:nowrap;opacity:0;pointer-events:none;background:#2b3b39;border-radius:4px;padding:4px 6px;font:10px LXGW WenKai Screen,Microsoft YaHei,sans-serif;transition:opacity .15s;position:absolute;transform:translateY(-28px)}.code-actions button[title]:hover:after{opacity:1}.code-block pre{color:#334542;tab-size:2;background:#f9fbfa;max-height:430px;margin:0;padding:17px;font:13px/1.75 ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto}.code-block pre::-webkit-scrollbar{width:8px;height:8px}.code-block pre::-webkit-scrollbar-thumb{background:#b5ceca;border-radius:9px}.code-block code{font:inherit}.code-line{grid-template-columns:38px minmax(max-content,1fr);min-width:max-content;display:grid}.code-line>i{color:#9ab0ad;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #e1e9e6;padding-right:12px;font-style:normal}.code-line>span{white-space:pre;padding-left:13px}html.dark .article-prose>.code-block{background:#172326;border-color:#26393b;box-shadow:0 8px 20px #0004}.dark .code-block header{color:#a7c7c2;background:#1c2c2f;border-color:#ffffff12}.dark .code-actions button{color:#b4c9c5}.dark .code-actions button:hover{color:#def3ee;background:#ffffff12}.dark .code-block pre{color:#d7e8e4;background:#172326}.dark .code-block pre::-webkit-scrollbar-thumb{background:#45605d}.dark .code-line>i{color:#66817d;border-color:#ffffff12}.math-inline{margin:0 .1em;display:inline-block}.math-display{text-align:center;margin:1.2em 0;padding:.45em .1em;display:block;overflow-x:auto}.katex{font-size:1.08em}.dark .katex{color:#e3ece9}.build-details{width:100%}.build-details summary{white-space:nowrap;width:100%;min-width:0}.build-details summary>span{white-space:nowrap;min-width:0;flex:auto!important;justify-content:center!important;align-items:center!important;gap:6px!important;display:inline-flex!important}.build-details summary>span svg{flex:none}.build-chevron{flex:none!important}.build-content{padding-top:4px}.version-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.version-grid span,.version-grid span:last-child{flex-direction:column;grid-column:auto;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:58px;padding:6px;display:flex}.version-grid span:last-child svg{grid-row:auto}.version-grid span:last-child small,.version-grid span:last-child b{align-self:auto}html.dark{--ink:#e4e8e8;--muted:#98a0a3;--line:#30373a;--panel:#1b2022;--bg:#111516}html.dark body{color:var(--ink)}html.dark .blog-shell{background:var(--bg)}html.dark .profile-icon,html.dark .search,html.dark .post-card,html.dark .friend-card,html.dark .article-content,html.dark .reading-paper,html.dark .aside-card{background:#1b2022;border-color:#30383a}html.dark .side-nav .active{color:#edf1f0;background:#2c3536}html.dark .post-text h2,html.dark .friend-card b,html.dark .archive-list b,html.dark .subpage-heading h1{color:#e5e9e8}html.dark .post-text p,html.dark .friend-card p,html.dark .archive-list p{color:#9ba5a6}html.dark .stat-box,html.dark .tech-box,html.dark .aside-note{background:#1c2224}html.dark .tech-detail b,html.dark .stat-box b{color:#d6dcdb}html.dark .filter-menu{background:#202729;border-color:#394446}html.dark .article-filter>button:hover,html.dark .article-filter>button[aria-expanded=true]{background:#202a2a;border-color:#3a504e}html.dark .filter-menu button{color:#c5cdcc}html.dark .filter-menu button:hover{background:#293433}html.dark .filter-menu button.selected{color:#b9e4dc;background:#29403c}html.dark .theme-switcher button{color:#798587}html.dark .theme-switcher button:hover{color:#9dd4ca;background:#273230}html.dark .theme-switcher button.active{color:#9edbd1;background:#27423e}html.dark .theme-switcher button[title]:after{color:#dce3e1;background:#252d2f;border-color:#3a4547}html.dark .article-language{border-color:#30383a}html.dark .article-summary,html.dark .reading-paper .markdown-body{color:#d0d6d5}html.dark .reading-paper .markdown-body h2,html.dark .reading-paper .markdown-body h3,html.dark .article-header h1{color:#eef1f0}html.dark .social-links a{color:#788486}html.dark .social-links a:hover{color:#9dd4ca;background:#273230}html.dark .social-links a[title]:after{color:#dce3e1;background:#252d2f;border-color:#3a4547}.rightbar h3{color:#747a7e;margin:0 0 8px;padding-left:5px;font-size:12px}.rightbar section{margin-bottom:20px}.stat-box,.tech-box{color:#81878c;background:#f0f1f2;border-radius:11px}.stat-box{justify-content:space-between;height:51px;padding:10px 12px;font-size:10px;line-height:1.2;display:flex}.stat-box b{color:#646a6e;white-space:nowrap;font-size:12px}.tech-box{padding:10px 16px;font-size:12px}.tech-detail{grid-template-columns:62px minmax(0,1fr);align-items:start;gap:6px 8px;line-height:1.4;display:grid}.tech-detail>span{color:#858b8f}.tech-detail b{color:#5f6569;overflow-wrap:anywhere;justify-content:flex-start;align-items:center;gap:5px;min-width:0;font-weight:500;display:flex}.tech-detail b svg{flex:none;width:13px;height:13px}.build-details{border-top:1px solid #dde3e2;margin-top:11px}.build-details summary{color:#657071;cursor:pointer;justify-content:space-between;align-items:center;height:33px;list-style:none;display:flex}.build-details summary::-webkit-details-marker{display:none}.build-details summary span{align-items:center;gap:6px;font-size:12px;display:flex}.build-details summary span svg{color:#65a59c;width:14px;height:14px}.build-chevron{color:#8f9999;width:14px;height:14px;transition:transform .2s}.build-details[open] .build-chevron{transform:rotate(180deg)}.build-content{padding:1px 0 4px}.build-content>p{color:#9aa2a2;margin:0 0 9px;font-size:10px}.version-grid{grid-template-columns:repeat(3,1fr);gap:7px;padding:0;display:grid}.version-grid span{text-align:center;background:#f8faf9;border:1px solid #dfe6e4;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:59px;display:flex}.version-grid svg{color:#5f7774;width:16px;height:16px}.version-grid small{color:#98a0a0;font-size:9px}.version-grid b{color:#4e555a;white-space:nowrap;font-size:10px;font-weight:600}.access div{color:#b2c7ea;background:linear-gradient(135deg,#e2e7ec,#f0f1ef);border-radius:9px;height:64px;padding:12px;position:relative;overflow:hidden}.access b{font-size:20px}.access span{color:#d6d9da;font-size:39px;font-weight:700;position:absolute;top:-9px;right:7px}.access small{color:#c1c5c7;margin-top:7px;display:block}@media (max-width:1050px){.blog-shell{grid-template-columns:180px minmax(0,1fr);gap:25px;width:min(100% - 40px,800px)}.rightbar{display:none}.post-cover{width:34%}}.search svg,.search-mark svg,.search-modal-input svg,.search-empty svg,.search-heading button svg,.search-results strong svg{width:1em;height:1em}.search>svg{width:15px;height:15px}.search-mark{font-size:0}.search-mark svg{width:18px;height:18px}.search-modal-input>svg{flex:none;width:20px;height:20px}.search-heading button{place-items:center;display:grid}.search-heading button svg{width:17px;height:17px}.search-results strong{place-items:center;display:grid}.search-results strong svg{width:15px;height:15px}.search-empty>span{font-size:0}.search-empty>span svg{width:24px;height:24px}.search-overlay{-webkit-backdrop-filter:blur(15px)saturate(125%)!important;background:#31404442!important}.search-modal{-webkit-backdrop-filter:blur(24px)saturate(145%)!important;background:#f9fcfbe0!important;border-color:#ffffff8f!important;box-shadow:0 26px 85px #17262b45,inset 0 1px #fff!important}.search-heading{background:linear-gradient(120deg,#f4faf8bd,#ffffff9c)!important;border-color:#ffffffb8!important}.search-modal-input{background:#ffffffa8!important;border-color:#fffc!important;box-shadow:0 2px 9px #1d2d3012,inset 0 1px #fff!important}.search-results a:hover{background:#eaf5f1a8!important}.search-footer{background:#f1f7f5b8!important;border-color:#ffffffb8!important}.search-empty>span{background:#e7f3efa8!important}html.dark .search-overlay{background:#0710147d!important}.dark .search-modal{background:#1e292be3!important;border-color:#fff2!important;box-shadow:0 26px 85px #0008,inset 0 1px #ffffff12!important}.dark .search-heading{background:linear-gradient(120deg,#253435c9,#1d282adb)!important;border-color:#ffffff14!important}.dark .search-modal-input{background:#152023ae!important;border-color:#ffffff18!important;box-shadow:inset 0 1px #ffffff0e!important}.dark .search-footer{background:#192426c9!important;border-color:#ffffff14!important}.dark .search-results a:hover{background:#2a3b3c9c!important}.dark .search-empty>span{background:#29403d9c!important}.post-cover.has-image{background-position:50%;background-repeat:no-repeat;background-size:cover}.post-cover.has-image:after{background:linear-gradient(90deg,var(--panel) 0%,transparent 43%)}@media (max-width:650px){.post-cover.has-image:after{background:linear-gradient(90deg,var(--panel) 0%,transparent 43%),linear-gradient(0deg,#0003,transparent 70%)}body{font-size:14px}.blog-shell{width:min(100% - 24px,620px);padding:14px 0 34px;display:block}.sidebar{gap:0;min-height:0;margin-bottom:18px;position:static}.profile{height:48px;margin-bottom:12px}.profile-icon{width:38px;height:38px}.profile b{font-size:17px}.profile small{text-overflow:ellipsis;max-width:calc(100vw - 100px);overflow:hidden}.search{border-radius:9px;height:38px;padding-inline:11px}.side-nav{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px;display:grid}.side-nav a{border:1px solid var(--line);border-radius:9px;justify-content:center;height:39px;padding:0 6px;font-size:12px}.side-nav .active{background:#e7f2f0;border-color:#d6e4e1}.sidebar-bottom{flex-direction:row;justify-content:space-between;align-items:center;margin-top:13px;padding:0 3px;display:flex}.social-links a{width:29px;height:29px}.content h1{font-size:25px;line-height:1.25}.featured-row{overscroll-behavior-x:contain;scrollbar-width:none;height:132px;margin:0 -12px 16px;padding:0 12px 2px;overflow-x:auto}.featured-row::-webkit-scrollbar{display:none}.featured{width:min(72vw,260px);min-height:128px}.featured-default,.featured-hover{padding:22px 13px 12px}.featured-default b{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.featured-default small{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:7px;line-height:1.35;display:-webkit-box;overflow:hidden}.list-tools{justify-content:stretch;gap:8px;height:auto;margin-bottom:10px}.article-filter{flex:1}.article-filter>button{border-color:var(--line);background:var(--panel);justify-content:center;width:100%;height:36px}.filter-menu{min-width:100%;left:0;right:auto}.post-list{gap:10px}.post-card{border-radius:10px;min-height:118px}.post-text{padding:12px 11px 9px}.post-text h2{margin-bottom:6px;font-size:15px}.post-text p{-webkit-line-clamp:3;font-size:12px}.post-text footer{white-space:nowrap;text-overflow:ellipsis;padding-top:6px;overflow:hidden}.post-cover{width:33%;min-height:118px}.post-cover:after{background:linear-gradient(90deg,var(--panel) 0%,transparent 55%)}.subpage-heading{margin:2px 0 18px}.subpage-heading h1{font-size:24px}.archive-list{gap:17px}.archive-list section>a{grid-template-columns:12px minmax(0,1fr);padding:12px 5px}.archive-list em,.rightbar{display:none}.friend-card{grid-template-columns:34px minmax(0,1fr) 16px;padding:14px}.reader-page{padding:0 0 42px}.reader-article{box-shadow:none;border-width:0 0 1px;border-radius:0;padding:24px 18px 28px}.reader-title-row{gap:8px;margin-top:15px}.reader-title-row h1{letter-spacing:-.5px;font-size:27px}.reader-pin{margin-top:3px}.reader-description{margin-top:11px;font-size:14px}.reader-meta{gap:9px 12px;margin-top:13px}.reader-rule{margin:22px 0}.article-prose{font-size:16px;line-height:1.95}.article-prose h2{margin:35px 0 12px;font-size:23px}.article-prose h3{margin:27px 0 10px;font-size:19px}.article-prose p{margin-bottom:17px}.article-prose blockquote{margin:20px 0;padding:11px 13px}.article-image{border-radius:9px;margin:22px 0}.reader-footer{gap:12px;margin-top:35px}.reader-footer span{display:none}.code-block{border-radius:9px;margin-inline:-4px}.search-overlay{align-items:end;padding:10px}.search-modal{border-radius:14px;width:100%;max-height:calc(100dvh - 20px)}.search-heading{padding:15px}.search-results{max-height:min(48dvh,390px)}.search-footer{padding:10px 15px}}.code-block pre{padding:13px 10px}.code-line{grid-template-columns:24px minmax(max-content,1fr)}.code-line>i{padding-right:6px}.code-line>span{padding-left:9px}@media (max-width:650px){.code-block pre{padding:12px 8px}.code-line{grid-template-columns:21px minmax(max-content,1fr)}.code-line>i{padding-right:5px}.code-line>span{padding-left:7px}}@media (max-width:380px){.side-nav a span{font-size:11px}.side-nav a{gap:5px}.social-links a{width:26px;height:26px}.reader-title-row{flex-direction:column}.reader-pin{margin-top:0}.post-cover{width:30%}.featured-row{height:126px}.featured{width:78vw;min-height:122px}}html,body{overflow-x:hidden}@media (max-width:650px){.blog-shell{width:calc(100% - 20px);max-width:none;margin-inline:auto}.content,.subpage-content{width:100%;min-width:0}.featured-row{width:calc(100% + 12px);margin-left:-6px;padding-inline:6px}.featured{width:min(82vw,280px)}.post-card{width:100%}.post-text{min-width:0}.post-text h2,.post-text p{overflow-wrap:anywhere}.post-cover{width:clamp(72px,28vw,112px)}.list-tools{width:100%}.article-filter>button{min-width:0;padding-inline:5px}.article-filter>button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (max-width:360px){.blog-shell{width:calc(100% - 14px)}.profile small{font-size:9px}.side-nav{gap:4px}.side-nav a{padding-inline:3px;font-size:11px}.side-nav a svg{width:13px;height:13px}.featured-row{height:124px}.featured{width:calc(100vw - 28px);min-height:120px}.post-card{min-height:112px}.post-cover{width:66px;min-height:112px}.post-text{padding:10px 9px 8px}.post-text h2{font-size:14px}.post-text p{font-size:11px}}@media (max-width:650px){.reader-grid{display:block}.reader-rail{z-index:30;padding:0;display:flex;position:fixed;top:auto;bottom:18px;right:16px}.reader-rail-line,.reader-rail-text{display:none}.reader-home{border-radius:50%;width:42px;height:42px;box-shadow:0 8px 24px #24373b2b}.reader-home svg{width:19px;height:19px}.reader-breadcrumb{font-size:11px}.reader-title-row h1{overflow-wrap:anywhere}.reader-meta span{min-width:0}.reader-tags{scrollbar-width:none;max-height:60px;padding-bottom:2px;overflow:auto}.reader-tags::-webkit-scrollbar{display:none}.article-prose{overflow-wrap:break-word}.article-prose h2,.article-prose h3{scroll-margin-top:20px}.article-prose>.code-block{margin:22px -6px}.code-block header{height:40px;padding-inline:9px}.code-block pre{max-height:56vh;padding:12px 10px;font-size:12px}.code-line{grid-template-columns:31px minmax(max-content,1fr)}.code-line>i{padding-right:8px}.code-line>span{padding-left:9px}.article-image figcaption{padding:7px 9px;font-size:11px}.reader-footer{padding-bottom:8px}html.dark .reader-home{box-shadow:0 8px 24px #0008}}.empty-posts{color:#8a9095;text-align:center;background:#fff;border:1px dashed #dce0e3;border-radius:11px;padding:36px 20px}.empty-posts code{color:#596168;background:#f0f2f3;border-radius:3px;padding:2px 5px}.article-page{width:min(100% - 40px,760px);margin:0 auto;padding:62px 0 100px}.back-link{color:#788087;font-size:13px}.article-content{background:#fff;border:1px solid #edf0f1;border-radius:13px;margin-top:24px;padding:38px 52px;box-shadow:0 3px 12px #35414b0a}.article-category{color:#48aaa4;margin:0;font-size:13px}.article-content>h1{letter-spacing:-1px;color:#30363a;margin:12px 0 7px;font-size:32px}.article-content time{color:#9ba1a5;font-size:12px}.markdown-body{color:#555d63;margin-top:34px;font-size:15px;line-height:1.9}.markdown-body h2,.markdown-body h3{color:#2e3337;margin:34px 0 12px}.markdown-body h2{font-size:22px}.markdown-body h3{font-size:18px}.markdown-body p{margin:0 0 16px}.reading-page{max-width:1280px;margin:0 auto;padding:30px 26px 76px}.reading-back{color:#777d82;margin:0 0 10px;font-size:13px;display:inline-block}.reading-layout{grid-template-columns:minmax(0,840px) 1fr;align-items:start;gap:26px;display:grid}.reading-paper{background:#fff;border:1px solid #e8e9e7;border-radius:0 0 10px 10px;overflow:hidden;box-shadow:0 2px 10px #1c2a3210}.constellation{background:radial-gradient(circle at 50% 55%,#eee 0 1px,#0000 2px),radial-gradient(at 51% 120%,#fff 0 13%,#0000 53%),linear-gradient(#44484a,#bfc1c1 50%,#f8f8f7 92%);height:190px;position:relative;overflow:hidden}.constellation:before,.constellation:after{content:"";border:1px solid #ffffff47;border-radius:50%;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.constellation:before{width:250px;height:250px}.constellation:after{width:150px;height:150px}.constellation i{background:#fff;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 7px #fff}.constellation i:first-child{top:54%;left:50%}.constellation i:nth-child(2){top:30%;left:32%}.constellation i:nth-child(3){top:31%;left:70%}.constellation i:nth-child(4){top:12%;left:58%}.constellation i:nth-child(5){top:68%;left:29%}.constellation i:nth-child(6){top:70%;left:75%}.article-header{margin-top:-13px;padding:0 46px 9px;position:relative}.article-header h1{color:#333637;letter-spacing:1px;margin:0;font-family:LXGW WenKai Screen,Microsoft YaHei,sans-serif;font-size:39px;font-weight:700;line-height:1.2}.article-category{color:#fff;background:#8e9635;border-radius:0 0 4px 4px;margin:0 0 10px;padding:3px 9px;font-size:12px;display:inline-block}.article-meta{color:#919599;gap:10px;padding-top:11px;font-size:12px;display:flex}.article-meta-right{color:#b6535e;margin-left:auto}.article-language{color:#7d8284;border-top:1px solid #e3e3e0;border-bottom:1px solid #eee;padding:9px 48px;font-size:12px}.article-summary{color:#81868a;padding:27px 48px 4px;font-size:13px;line-height:1.7}.article-summary b{color:#6c7175}.article-summary p{margin:7px 0}.reading-paper .markdown-body{color:#151719;max-width:720px;margin:18px auto 0;padding:0 48px 70px;font-family:LXGW WenKai Screen,Microsoft YaHei,serif;font-size:17px;line-height:2.05}.reading-paper .markdown-body h2{color:#101214;margin:40px 0 16px;font-size:25px;line-height:1.4}.reading-paper .markdown-body h2:first-letter{font-size:42px;font-weight:700}.reading-paper .markdown-body h3{color:#181a1c;margin:30px 0 13px;font-size:20px}.reading-paper .markdown-body p{text-indent:2em;margin:0 0 19px}.reading-paper .markdown-body blockquote{color:#676b6d;background:#fbf8f7;border-left:3px solid #b96a6f;margin:20px 0;padding:10px 17px}.reading-aside{padding-top:1px;position:sticky;top:30px}.aside-card{background:#fff;border:1px solid #eaebe9;border-radius:9px;min-height:300px;padding:84px 55px 28px;box-shadow:0 2px 10px #1c2a320a}.aside-card h2{color:#ba525b;margin:0 0 10px;font-size:16px;font-weight:500}.aside-card p{color:#afb2b3;margin:0;font-size:13px;line-height:1.75}.aside-wave{color:#d2d2cd;letter-spacing:5px;margin:14px 0}.aside-row{color:#62676a;margin-top:13px;font-size:13px}.aside-row b{color:#282c2e}@media (max-width:900px){.reading-layout{grid-template-columns:1fr}.reading-aside{display:none}.reading-page{padding:18px 14px 60px}.constellation{height:140px}.article-header{padding:0 24px}.article-header h1{font-size:30px}.article-language{padding-inline:25px}.article-summary{padding-inline:26px}.reading-paper .markdown-body{padding-inline:26px;font-size:16px}}.tech-detail .tech-value-nowrap{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.post-card:hover{border-color:#dce8e5;transform:translateY(-4px);box-shadow:0 10px 24px #35414b18}.post-card{transition:transform .2s,box-shadow .2s,border-color .2s}.appearance-tools{align-items:center;gap:9px;display:flex}.font-toggle{color:#9ba2a4;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:5px;height:28px;padding:0 8px;font:11px Arial,sans-serif;transition:background .18s,color .18s,transform .18s;display:flex}.font-toggle:hover{color:#4b9188;background:#eaf2f0;transform:translateY(-1px)}.font-toggle.active{color:#418a80;background:#e1f0ed}.font-toggle svg{width:15px;height:15px}.font-toggle span{white-space:nowrap}html.font-harmony,html.font-harmony *{font-family:HarmonyOS Sans,Microsoft YaHei,Arial,sans-serif!important}.reader-toc{padding-top:42px;position:sticky;top:40px}.toc-card{border-left:1px solid #dfe8e5;min-height:280px;padding:8px 0 8px 25px;position:relative}.toc-heading{margin-bottom:22px}.toc-kicker{color:#9eb1ad;letter-spacing:2px;margin-bottom:5px;font:10px Arial,sans-serif;display:block}.toc-heading p{color:#4b5858;margin:0;font-size:14px;font-weight:700}.toc-items{gap:13px;display:grid}.toc-items a,.toc-items>span{color:#9aa5a3;font-size:12px;line-height:1.5;transition:color .2s,transform .2s;display:block;position:relative}.toc-items a i{background:#f8f9fa;border:1px solid #b9cbc6;border-radius:50%;width:7px;height:7px;transition:background .2s,border-color .2s,transform .2s;position:absolute;top:6px;left:-29px}.toc-items a:hover{color:#4e9d93;transform:translate(2px)}.toc-items a:hover i{background:#65a99f;border-color:#65a99f;transform:scale(1.2)}.toc-progress{color:#a0aaa8;align-items:flex-start;gap:12px;margin-top:31px;font-size:11px;display:flex}.toc-progress-track{background:#e5ece9;border-radius:99px;width:3px;height:72px;position:relative}.toc-progress-track i{border-radius:inherit;background:#73aea4;width:100%;transition:height .16s linear;display:block}.toc-progress-track b{background:#f8f9fa;border:2px solid #73aea4;border-radius:50%;width:7px;height:7px;transition:top .16s linear;position:absolute;left:50%;transform:translate(-50%,-50%)}.toc-progress>div:last-child{gap:3px;padding-top:1px;display:grid}.toc-progress span{white-space:nowrap}.toc-progress strong{color:#6e9d95;font-size:13px;font-weight:600}.dark .toc-card{border-color:#354847}.dark .toc-kicker{color:#718986}.dark .toc-heading p{color:#d8e1df}.dark .toc-items a,.dark .toc-items>span{color:#8c9c99}.dark .toc-items a:hover{color:#9fd8ce}.dark .toc-items a i{background:#1b2224;border-color:#57716c}.dark .toc-items a:hover i{background:#8bcfc1;border-color:#8bcfc1}.dark .toc-progress-track{background:#304340}.dark .toc-progress-track b{background:#1b2224;border-color:#8bcfc1}.dark .toc-progress strong{color:#9bd3c8}.toc-items a.active{color:#4e9d93;font-weight:600;transform:translate(2px)}.toc-items a.active i{background:#65a99f;border-color:#65a99f;transform:scale(1.15);box-shadow:0 0 0 4px #65a99f22}.dark .toc-items a.active{color:#9fd8ce}.dark .toc-items a.active i{background:#8bcfc1;border-color:#8bcfc1;box-shadow:0 0 0 4px #8bcfc122}@media (min-width:941px){.reader-grid{overflow:visible}.reader-rail{align-self:stretch;height:auto;position:relative;top:auto}.reader-rail-inner{flex-direction:column;align-items:center;gap:18px;height:max-content;display:flex;position:sticky;top:12vh}}.reader-grid{grid-template-columns:54px minmax(0,940px);justify-content:center}.reader-toc,.toc-card,.toc-heading,.toc-kicker,.toc-items,.toc-progress,.toc-progress-track{display:none!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.3dqqgop8d9q74.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.3s3485bbs_y9t.woff)format("woff"),url(../media/KaTeX_AMS-Regular.06540o8ttgt08.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.0x398dszol8ix.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.0i0ys3pk95qm_.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.071y7fj7dknco.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.3ittfn7d21b9w.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.3-a7ahrnv-1p0.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.2a29kziuqmcwj.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.3rq09ohrtely_.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.1m6-2-v71aefh.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.2c272neyw5p5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.1jvgec053-2og.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.1pa447q_ni5m2.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.0_16ta522mcvb.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.22wkahef0u3fd.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.1fyzqvxw_mkks.woff)format("woff"),url(../media/KaTeX_Main-Bold.3q46h05c4j0cw.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.40drhxm0mwrzz.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.0g_mm5w89az4z.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.2r19jqj9qb5v7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.1ck6crdmp78cu.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.3h-lyz6-tj-5j.woff)format("woff"),url(../media/KaTeX_Main-Italic.07vrczmwpvimc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.29zz7337tzymc.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.0r86ux5c2_9jc.woff)format("woff"),url(../media/KaTeX_Main-Regular.0cm4nk2aib81i.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0u_6s571--hh0.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.1-f92ydojzao_.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0m2qm2_orz99k.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.18dmviy-uianu.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.2d-roszuwfrpn.woff)format("woff"),url(../media/KaTeX_Math-Italic.1vw7gcigzv33_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.19n5ohjzvq40z.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.1ad0dh55v7-4h.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.3ojskmd7zv_b8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.38w085lqrghwm.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.0_21g6aey40vy.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.0abd80e_ako5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.3w8wtfek3qsk6.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.0v2olaztuqa1v.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.0xkeldfcfvj58.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.10h737unm2jp7.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.2m7-0wua2lvnq.woff)format("woff"),url(../media/KaTeX_Script-Regular.1hw1d7omwtnoy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.3xype_vsmmjgw.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.3aliq3yd-ja9b.woff)format("woff"),url(../media/KaTeX_Size1-Regular.44z_qgcc9t0a_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.2-wakugslvf3a.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.3u0df62zf5guy.woff)format("woff"),url(../media/KaTeX_Size2-Regular.3eprswoc9v3fh.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.1nfuh3l6nzhjv.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.3n7wm08wz2r2g.woff)format("woff"),url(../media/KaTeX_Size3-Regular.2kp2izz6g7r-7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.13pyt7zi482pb.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.37jvrh2wknf5u.woff)format("woff"),url(../media/KaTeX_Size4-Regular.2ltjhs9xhaefy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.2vfnlegjq9l42.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.0xi5kyeeydv4z.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.34aedpl-_o3h3.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.1"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
