@font-face{font-family:'Inconsolata';font-style:normal;font-weight:200 900;font-stretch:100%;font-display:swap;src:url(static/fonts/inconsolata-latin-ext-0.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Inconsolata';font-style:normal;font-weight:200 900;font-stretch:100%;font-display:swap;src:url(static/fonts/inconsolata-latin-1.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(static/fonts/inter-latin-ext-2.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(static/fonts/inter-latin-3.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Special Elite';font-style:normal;font-weight:400;font-display:swap;src:url(static/fonts/specialelite-latin-ext-4.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Special Elite';font-style:normal;font-weight:400;font-display:swap;src:url(static/fonts/specialelite-latin-5.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gradient-stop-1:var(--accent-light);--gradient-stop-2:var(--accent-regular);--gradient-stop-3:var(--accent-dark);--gradient-subtle:linear-gradient(150deg,var(--color-900) 19%,var(--color-999) 150%);--gradient-accent:linear-gradient(150deg,var(--gradient-stop-1),var(--gradient-stop-2),var(--gradient-stop-3));--gradient-accent-orange:linear-gradient(150deg,#ca7879,var(--accent-regular),var(--accent-dark));--gradient-stroke:linear-gradient(180deg,var(--color-900),var(--color-700));--shadow-sm:0px 6px 3px rgba(9,11,17,0.01),0px 4px 2px rgba(9,11,17,0.01),0px 2px 2px rgba(9,11,17,0.02),0px 0px 1px rgba(9,11,17,0.03);--shadow-md:0px 28px 11px rgba(9,11,17,0.01),0px 16px 10px rgba(9,11,17,0.03),0px 7px 7px rgba(9,11,17,0.05),0px 2px 4px rgba(9,11,17,0.06);--shadow-lg:0px 62px 25px rgba(9,11,17,0.01),0px 35px 21px rgba(9,11,17,0.05),0px 16px 16px rgba(9,11,17,0.1),0px 4px 9px rgba(9,11,17,0.12);--color-0:#000;--color-50:#0a0a0a;--color-100:#101010;--color-200:#303030;--color-300:#505050;--color-400:#707070;--color-500:#6e6e6e;--color-600:#c0c0c0;--color-700:#e0e0e0;--color-800:#f3f4f7;--color-900:#f9f8f7;--color-999-basis:0,0%,100%;--color-999_40:hsla(var(--color-999-basis),0.4);--color-999:#f9f8f7;--color-999-rgb:249,248,247;--accent-light:#808080;--accent-regular:#404040;--accent-dark:#202020;--accent-overlay:hsla(0,0%,0%,0.35);--accent-subtle-overlay:var(--accent-overlay);--accent-text-over:var(--color-999);--link-color:var(--accent-regular);--color-selected:#B1CBFF;--color-actived:#B1CBFF;--color-link:#222;--color-white:#fff;--color-white-rgb:255,255,255;--color-primary-lighter:#e0ecfd;--color-primary-light:#73abf9;--color-primary-main:#3773a0;--color-primary:var(--color-primary-main);--color-primary-rgb:55,115,160;--color-purple:#6127ff;--color-blue:#3773a0;--color-cyan:#00d0ff;--color-pink:#ff419c;--color-yellow:#f7d252;--color-green:#1bc47d;--color-orange:#ff5a19;--color-errors:#ff2c60;--color-featured:#f8f0ee;--color-underlined:48,48,48;--color-divider:#272f3f;--border:#ececec;--border-color:rgb(49,48,53);--card-color:rgba(40,80,120,0.15);--card-color-selected:rgba(60,90,125,0.3);--max-width:90%;--nav-max-width:90%;--size-top:64px;--size-bottom:64px;--sidebar-width:280px;--gutter:20px;--gap:16px;--cell:8px;--radius-small:4px;--radius:6px;--radius-normal:8px;--radius-large:12px;--post-frame:1px dashed var(--color-700);--post-frame-soft:1px dashed var(--border);--post-frame-radius:var(--radius-large);--post-accent-body:var(--color-blue);--post-accent-foot:var(--color-green);--post-accent-comments:var(--color-orange);--font-system:system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Lantinghei SC","Microsoft YaHei","HanHei SC","Helvetica Neue","Open Sans","Hiragino Sans GB","微软雅黑",STHeiti,"WenQuanYi Micro Hei",Arial,SimSun,sans-serif;--font-body:"Inter","Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","MiSans","Lantinghei SC","Noto Sans SC","Microsoft YaHei","HanHei SC","Helvetica Neue","Open Sans","Hiragino Sans GB","微软雅黑",STHeiti,"WenQuanYi Micro Hei",Arial,SimSun,sans-serif;--font-brand:"Inter","Noto Sans SC",var(--font-system);--font-type:'Special Elite',var(--font-system);--theme-transition:0.25s ease-in-out;--text-size:16px;--text-xs:0.75rem;--text-sm:0.875rem;--text:1rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.5rem;--text-xl:2rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-4xl:4rem;--text-5xl:4.5rem;--img-resizing-site:12 / 9;--img-resizing-post:10 / 6;--img-resizing-paronamic:2 / 1;--img-resizing-desktop:19 / 10;--button-rounded:8px;--button-rounded-full:72px;--button-height:48px;--button-pad:24px;--button-bg:var(--color-primary);--button-color:var(--color-white);--button-color-border:var(--color-999);--bg-svg-blend-mode:overlay;--bg-blend-mode:darken}@media(max-width:1440px){:root{--max-width:90%}}@media(max-width:1280px){:root{--max-width:1024px}}@media(max-width:1023px){:root{--max-width:92%}}@media(max-width:811px){:root{--max-width:calc(100% - 32px)}}@media(max-width:576px){:root{--max-width:calc(100% - 32px)}}@media(min-width:1900px){:root{--max-width:1800px}}@media(max-width:1280px) and (min-width:1024px){:root{--max-width:92%}}:root.theme-dark{--color-0:#f7f5f3;--color-50:#f7f5f3;--color-100:#f7f5f3;--color-200:#e4e5e6;--color-300:#d6d5d4;--color-400:#c0c0c0;--color-500:#909090;--color-600:#707070;--color-700:#505050;--color-800:#303030;--color-900:#19191b;--color-999-basis:225,31%,5%;--color-999:#19191b;--color-999-rgb:25,25,27;--border:#323232;--color-underlined:68,211,141;--accent-light:#ececec;--accent-regular:#606060;--accent-dark:#ececec;--color-primary:var(--color-primary-light);--color-primary-rgb:115,171,249;--color-blue:#5b9ada;--accent-overlay:hsla(0,0%,64%,0.75);--accent-subtle-overlay:hsla(0,0%,9%,0.33);--accent-text-over:var(--color-0);--link-color:var(--accent-dark);--gradient-stop-1:#4c11c6;--gradient-subtle:linear-gradient(150deg,var(--color-900) 19%,var(--color-999) 81%);--gradient-accent-orange:linear-gradient(150deg,#ca7879,var(--accent-regular),var(--accent-light));--gradient-stroke:linear-gradient(180deg,var(--color-600),var(--color-800));--shadow-sm:0px 6px 3px rgba(255,255,255,0.01),0px 4px 2px rgba(255,255,255,0.01),0px 2px 2px rgba(255,255,255,0.02),0px 0px 1px rgba(255,255,255,0.03);--shadow-md:0px 28px 11px rgba(255,255,255,0.01),0px 16px 10px rgba(255,255,255,0.03),0px 7px 7px rgba(255,255,255,0.05),0px 2px 4px rgba(255,255,255,0.06);--shadow-lg:0px 62px 25px rgba(255,255,255,0.01),0px 35px 21px rgba(255,255,255,0.05),0px 16px 16px rgba(255,255,255,0.1),0px 4px 9px rgba(255,255,255,0.12);--bg-svg-blend-mode:darken;--bg-blend-mode:lighten}html,body{min-height:100%;overflow-x:hidden;overflow-x:clip;scrollbar-gutter:stable;background-color:var(--color-999);color:var(--color-100);font-family:var(--font-body) !important;-webkit-font-smoothing:antialiased;line-height:1.5;font-size:var(--text-size);font-weight:400;letter-spacing:0.2px}*,*::after,*::before{box-sizing:border-box;margin:0;padding:0}img{max-width:100%;border:none;height:auto;pointer-events:none;-webkit-user-select:none;-webkit-user-drag:none}img.is-clickable{pointer-events:auto;cursor:pointer}.is-clickable{cursor:pointer}ul,li,ol,p{padding:0}a{color:var(--link-color);text-decoration:none}h1,h2,h3,h4,h5{line-height:1.1;font-family:var(--font-brand);font-weight:600;color:var(--color-0)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}p{margin-bottom:1em}figure img{display:block}input,select,textarea,button{font-size:var(--text-base);border:0}.container{max-width:var(--max-width);margin:0 auto}.site-post-container,.up-recommend-container,.readerwall-container,.readerwall-wrapper,.temp-container{max-width:var(--max-width);margin-left:auto;margin-right:auto}.post-container{max-width:var(--max-width);margin-left:auto;margin-right:auto}.font-huiwen{font-family:'Huiwen-mincho','Songti SC','STSong','Source Han Serif SC','Noto Serif CJK SC','SimSun',serif !important;font-weight:400 !important}.font-type{font-family:var(--font-type) !important}pre,code{font-size:14px;font-family:'Inconsolata','monospace','system-ui',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif !important}.content pre{padding:1em 1em;border-radius:6px}p code{background-color:var(--color-800);padding:2px 6px;margin:0 2px;border-radius:3px}mark{background-color:var(--color-yellow)}mark code{background:none !important}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:var(--color-800) !important;border-radius:6px !important}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:var(--color-yellow) !important;border-radius:6px !important}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:var(--color-blue) !important}html::-webkit-scrollbar-thumb:active,body::-webkit-scrollbar-thumb:active{background:var(--color-green) !important}*::-webkit-scrollbar{width:6px}*::-webkit-scrollbar-track{background:var(--color-800);border-radius:6px}*::-webkit-scrollbar-thumb{background:var(--color-yellow);border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:var(--color-blue)}*::-webkit-scrollbar-thumb:active{background:var(--color-green)}@media (max-width:767px){html::-webkit-scrollbar,body::-webkit-scrollbar{width:3px !important}*::-webkit-scrollbar{width:3px}}:focus{outline:2px solid var(--accent-regular,#4a90d9);outline-offset:2px}:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--accent-regular,#4a90d9);outline-offset:2px}.block{display:block}.flex{display:flex}.relative{position:relative}.absolute{position:absolute;top:0;left:0}.text-center{text-align:center}.border-top{border-top:1px dashed var(--border)}.border-bottom{border-bottom:1px dashed var(--border)}.overflow-hidden{overflow:hidden}.row{display:flex;flex-wrap:wrap}.col-1a,.col-xs-1a,.col-md-2a,.col-lg-3a,.col-xxl-5a{position:relative;width:100%;padding-right:16px;padding-left:16px}.col-1a{flex:0 0 100%;max-width:100%}@media (max-width:575.98px){.col-xs-1a{flex:0 0 100%;max-width:100%}}@media (min-width:768px){.col-md-2a{flex:0 0 50%;max-width:50%}}@media (min-width:992px){.col-lg-3a{flex:0 0 33.333333%;max-width:33.333333%}}@media (min-width:1400px){.col-xxl-5a{flex:0 0 20%;max-width:20%}}nav.site-nav{z-index:9999;position:sticky;top:0;-webkit-backdrop-filter:saturate(300%) blur(5px);backdrop-filter:saturate(300%) blur(5px);background-color:rgba(var(--color-999-rgb),0.65);font-family:var(--font-brand);font-weight:500}.nav-wrapper{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:var(--nav-max-width);margin:0 auto;padding:14px 1rem}.menu-header{display:flex;justify-content:space-between;gap:0.5rem;padding:0}.site-title{display:flex;gap:0.5rem;justify-content:flex-start;align-items:center;line-height:1.1;color:var(--color-0);font-weight:400;text-decoration:none;font-size:1.5rem;letter-spacing:0.1px}.site-title:hover{color:rgb(236,72,113)}.avatar{display:inline-block;position:relative;line-height:1;width:40px;height:40px;border-radius:50%}.avatar__img{display:block;border-radius:50%}:root.theme-dark .avatar__img{filter:brightness(0) invert(1)}#menu-content{display:flex;align-items:center}.menu-footer.pc-nav{display:none;justify-content:space-between;gap:0.75rem;padding:.35rem 0rem}@media (min-width:1024px){.menu-footer.pc-nav{display:flex}}.site-nav a:focus-visible,.nav-items a:focus-visible,.site-search a:focus-visible,.theme-toggle-wrap button:focus-visible,.train-switch button:focus-visible,.pager a:focus-visible,#comments a:focus-visible{outline:2px solid var(--color-primary,#cc493d);outline-offset:3px;border-radius:4px}.nav-items{margin:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;font-size:1rem;font-weight:normal;line-height:1;list-style:none;padding:0;position:relative;border:0;gap:calc(var(--gap) * 1.5)}.nav-items li{margin:0}.link{display:inline-block;color:var(--color-300);text-decoration:none}.link.active{color:var(--color-100);font-weight:bold}.nav-items li.nav-has-sub{position:relative}.nav-items .nav-sub{display:none;position:absolute;top:calc(100%+10px);left:0;min-width:160px;margin:0;padding:6px;list-style:none;flex-direction:column;gap:2px;background:var(--color-999);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:70}.nav-items li.nav-has-sub:hover .nav-sub,.nav-items li.nav-has-sub:focus-within .nav-sub{display:flex}.nav-items .nav-sub .link{display:block;padding:8px 12px;border-radius:8px;white-space:nowrap;font-size:.95rem}.nav-items .nav-sub .link:hover{background:var(--color-900);color:var(--color-100)}.theme-toggle-wrap{display:flex;align-items:center;transform:scale(0.75)}.nav-actions{display:flex;align-items:center;gap:0.35rem}.nav-actions .site-search{display:flex;margin-left:0;color:var(--color-300)}.nav-actions .search-toggle{display:flex;align-items:center;justify-content:center;padding:0.2rem}#site-search-mobile-btn{display:none !important}@media (max-width:576px){.nav-wrapper{display:flex;align-items:center;gap:0rem}.menu-header{padding:8px 0}.menu-footer{padding:0}}theme-toggle button{display:flex;border:0;border-radius:999rem;padding:0;background-color:var(--color-999);box-shadow:inset 0 0 0 1px var(--accent-overlay);color:var(--color-100);cursor:pointer}theme-toggle .icon{z-index:1;position:relative;display:flex;padding:0.5rem;width:2rem;height:2rem;font-size:1rem;color:var(--accent-overlay);border:0;border-radius:0;margin:0}theme-toggle .icon svg{width:1em;height:1em}theme-toggle .icon.light::before{content:'';z-index:-1;position:absolute;inset:0;background-color:var(--accent-regular);border-radius:999rem}:root.theme-dark theme-toggle .icon.light::before{transform:translateX(100%)}:root.theme-dark theme-toggle .icon.dark,:root:not(.theme-dark) theme-toggle .icon.light{color:var(--accent-text-over)}@media (prefers-reduced-motion:no-preference){theme-toggle .icon,theme-toggle .icon.light::before{transition:transform var(--theme-transition),color var(--theme-transition)}}.github-stars{display:inline-flex;align-items:center;gap:0.3rem;min-width:4rem;height:32px;padding:0 0.65rem;border-radius:999px;color:var(--color-400);text-decoration:none;border:1px solid var(--color-700);line-height:1;transform:translateY(-1px);transition:color var(--theme-transition),background-color var(--theme-transition);flex:none}.github-stars:hover,.github-stars:focus-visible{color:var(--color-100);background:rgba(var(--color-100-rgb,16,16,16),0.06)}.github-stars__count{font-family:var(--font-body);font-size:0.75rem;font-weight:500;line-height:1}.github-stars svg{width:1.25rem;height:1.25rem;fill:currentColor;stroke:currentColor}.mobile-header{display:block}.hamburger{position:relative;z-index:9999}.hamburger-toggle{transition:all .3s;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer}.hamburger-toggle span{width:18px;height:2px;display:block;position:relative;background:var(--color-100);transition:all .2s ease-out}.hamburger-toggle span:before,.hamburger-toggle span:after{transition:all .3s ease-out;content:"";width:26px;height:2px;position:absolute;left:0;background:var(--color-100)}.hamburger-toggle span::before{top:-9px}.hamburger-toggle span::after{top:9px}.hamburger-toggle.close-line span{width:0px;transform:translateX(-12px)}.hamburger-toggle.close-line span::before{transform:rotate(45deg);top:0 !important;width:36px !important}.hamburger-toggle.close-line span::after{transform:rotate(-45deg);top:0 !important;width:36px !important}.m-nav{position:fixed;top:0;right:0;bottom:0;width:min(72vw,250px);height:100vh;height:100dvh;background-color:var(--color-999);transition:transform .5s cubic-bezier(.32,.72,0,1);transform:translateX(105%);z-index:999;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;box-shadow:-16px 0 48px rgba(0,0,0,.16)}.m-nav.is-active{transform:translateX(0)}.m-nav-wrap{position:relative;display:flex;justify-content:center;align-items:flex-start;z-index:99999;padding:0 24px}.m-nav-mask{position:fixed;right:0;top:0;bottom:0;left:0;height:100vh;height:100dvh;opacity:0;background-color:var(--accent-overlay);z-index:990;transition:opacity 0.4s ease-in-out;pointer-events:none}.m-nav-mask.is-active{opacity:1;pointer-events:auto}.m-menu{position:relative;margin-top:92px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;list-style:none;width:100%}@media (max-height:600px){.m-menu{margin-top:8vh}}.m-menu-li{position:relative;display:flex;justify-content:center;align-items:center;padding:1.15vh 0;vertical-align:middle;width:100%}.m-menu-li a.m-menu__link{position:relative;display:inline-block;font-size:1.125rem;line-height:1.5;color:var(--color-100);text-decoration:none;transition:color .25s ease,opacity .25s ease}.m-menu-li a.m-menu__link:hover{color:var(--color-primary)}.m-menu-li a.m-menu__link.active{color:var(--color-primary);font-weight:600}.m-menu-li--github{padding-top:1.4vh;padding-bottom:1.4vh}.m-menu-li--sub{padding-left:1.2em}.m-menu-li--sub a.m-menu__link{font-size:.98rem;opacity:.85}.m-menu-li a.m-search-trigger{display:inline-flex;align-items:center;gap:0.4rem;cursor:pointer}.m-menu-li a.m-search-trigger svg{flex:none}@media (min-width:1024px){.hamburger{display:none}.m-nav{display:none}.m-nav-mask{display:none}}.section.hero .section-header{margin-bottom:20px}.section.hero .section-desc{margin-top:16px;margin-bottom:12px}.section.hero .section-social{margin-bottom:0}.section.hero .social{padding-bottom:0}@media(max-width:576px){.section.hero .section-header{margin-bottom:16px}}.section-header{margin:24px 0 32px}.section-content{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--color-100)}.section-title{margin-left:auto;margin-right:auto;text-align:center}.section-title h1{font-size:4rem;line-height:1.2;font-weight:500}.header-title-row{display:flex;align-items:center;justify-content:center;gap:0.12em;font-size:4rem}.section-desc{max-width:480px;margin:24px auto 24px;text-align:center}.section-saying{font-size:1rem;line-height:160%;font-weight:400;text-align:center;color:var(--color-300)}.section-saying strong{display:block;font-weight:600;margin-bottom:1em;color:var(--color-100)}.section-saying p{font-size:0.875rem;margin-bottom:0.5em;text-align:center}.section-saying a:link{color:#11A371}.section-saying a:hover{opacity:0.75}.title-tag{display:inline-block;font-size:13px;line-height:1;margin:16px auto 24px;border:1px solid var(--color-700);border-radius:36px;padding:8px 22px 4px;color:var(--color-300);text-align:center;font-family:var(--font-type);text-transform:uppercase;letter-spacing:1px}@media(max-width:1023px){.section-title h1{font-size:3.75rem}.header-title-row{font-size:3.75rem}}@media(max-width:767px){.section-content{align-items:center}.section-title h1{font-size:3rem}.header-title-row{font-size:3rem}}@media(max-width:576px){.section-title h1{font-size:2.25rem}.header-title-row{font-size:2.25rem}.section-desc{max-width:100%}.section-header{margin:20px 0 26px}}.author.border-bottom{border-bottom:1px dashed var(--border);padding-bottom:8px}.social{margin:0px auto;display:flex;gap:16px;align-items:center;justify-content:center;padding-bottom:8px}.social a{opacity:0.75}.social a:hover{opacity:1}.social-link svg{fill:var(--color-400);width:auto;height:20px;color:var(--color-400)}.ic-social{fill:var(--color-100);width:auto;height:22px}.social .ic-github:hover{fill:var(--color-200)}.social .ic-rss:hover{fill:#ee802f !important}.social .ic-xiaohongshu{width:26px;height:26px}.social .ic-xiaohongshu:hover{fill:#ff2742 !important}.social .ic-weibo:hover{fill:#E6162D !important}:root{--filter-bg:#fff;--filter-bg-active:#0a0a0a;--filter-bg-hover:rgba(10,10,10,.08);--filter-color:#101010;--filter-color-active:#f4f3f0;--filter-border:1px solid #d0d0d0}:root.theme-dark{--filter-bg:#19191b;--filter-color:#d6d5d4;--filter-color-active:#19191b;--filter-border:1px solid #696765;--filter-bg-active:#f4f3f0;--filter-bg-hover:rgba(243,244,247,.08)}.section.filter{margin-top:0}.filter-wrapper{margin:8px 0 8px;display:flex;flex-wrap:wrap;justify-content:center}.filter-list{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:auto;list-style:none}.filter-item{display:inline-flex}.filter-tag{border-radius:32px;background-color:var(--filter-bg);padding:10px 24px;font-size:15px;font-family:var(--font-body);border:var(--filter-border);line-height:1;letter-spacing:0.25px;color:var(--filter-color);text-align:center;text-decoration:none;align-items:center;transition:all 0.35s cubic-bezier(0.075,0.82,0.165,1)}.filter-tag span{font-size:12px;font-weight:300;padding:0px 0px 0 3px;vertical-align:text-bottom;opacity:0.75;line-height:16px;letter-spacing:-0.25px}.filter-tag:hover{background-color:var(--filter-bg-hover);color:var(--filter-color)}.filter-tag.active{font-weight:500;background:var(--filter-bg-active);color:var(--filter-color-active)}.type{display:flex;justify-content:flex-start;align-items:center;gap:12px}.type-tag{display:inline-block;min-height:20px;padding:1px 10px;line-height:20px;font-size:12px;font-weight:400;border-radius:4px;vertical-align:middle;color:var(--color-100);letter-spacing:1px;white-space:normal}.card-type{min-width:0}.type-tag--num{color:var(--color-400)}.type-tag--pending{color:var(--color-500);font-weight:600}.section.card{padding-bottom:0}.card-list{display:flex;flex-wrap:wrap;width:100%;margin:24px auto 0}.card-item{float:left;margin-bottom:1.5rem;padding:0 12px}.card-header{margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.card-body{font-size:0}.card-figure{width:100%;height:auto;max-width:100%;background-color:rgba(0,0,0,.02);border-radius:var(--radius);aspect-ratio:3 / 2;display:inline-block;position:relative;overflow:hidden;border:1px solid var(--border)}.card-figure__img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover;transition:all 0.5s}.card-figure:hover .card-figure__img{transform:scale(1.05)}.card-figure-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.38)),url(assets/img/blog_bg.jpg) center center / cover no-repeat var(--color-100);color:#fff;font-size:0.9rem;padding:1rem;text-align:center}.card-figure-placeholder span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,.6)}.theme-dark .card-figure-placeholder{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),url(assets/img/blog_bg.jpg) center center / cover no-repeat var(--color-900)}.card-footer{width:100%;margin-top:12px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:flex-start}.card-detail{flex:1;min-width:0;padding-right:8px}.card-name{font-size:15px;font-weight:600;color:var(--color-200);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.4;min-height:2.8em;word-break:break-word;overflow-wrap:break-word}.card-link__go{background-repeat:no-repeat;background-position:6px center;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 15L15 5M15 5H7.5M15 5V12.5' stroke='%23737373' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");width:32px;height:32px;text-decoration:none;display:block;position:relative;transition:all 0.35s ease-in-out}.card-link__go:hover{transform:rotate(45deg)}.post-item{align-content:center;align-items:center;cursor:pointer;display:flex;flex-direction:row;flex-wrap:nowrap;gap:24px;height:min-content;justify-content:space-between;padding:2rem 12px;position:relative;text-decoration:none;width:100%;transition:all 0.25s ease-in-out}.post-item:nth-child(n):hover{background:var(--color-yellow)}.post-item:nth-child(2n):hover{background:var(--color-blue)}.post-item:nth-child(3n):hover{background:var(--color-green)}.post-item:hover .post-icon .icon{transform:rotate(-45deg);border:1px solid var(--color-900);background:var(--color-900)}.post-title{height:auto;position:relative;word-break:break-word;word-wrap:break-word}.post-title h3{line-height:1.3em;text-align:left;color:var(--color-100)}.post-icon{align-content:center;align-items:center;display:flex;flex:none;flex-direction:row;flex-wrap:nowrap;gap:0px;height:min-content;justify-content:center;overflow:hidden;position:relative;width:min-content}.post-icon .icon{transition:all 0.25s ease-in-out}.post-icon svg{transition:all 0.25s ease-in-out}.icon{padding:10px;border-radius:36px;border:1px solid var(--color-700);display:inline-block;margin:0;font-size:0}.icon svg{height:20px;width:20px}.publish-date{font-size:0.875rem;color:var(--color-500);margin:0.5rem 0 0;font-weight:400}.section.post{display:block;max-width:1020px;width:100%;margin:0 auto;padding:0 1rem}.post-wrapper section{position:relative;margin:0 auto 36px;width:100%;font-size:16px}.post-wrapper p{line-height:1.6;margin-bottom:0.875em;text-align:left}.post-wrapper strong{font-weight:bold}.post-wrapper ul{padding-left:2em;margin:2em 0}.post-wrapper ul ul{padding-left:1em;margin:.75em 0 2em}.post-wrapper ul li{margin:0.5em 0 .75em}.post-wrapper h1{font-size:2.25rem;font-weight:bold;color:var(--color-100);text-align:center;line-height:1.333;margin:1rem auto 0.5rem}.post-wrapper h2{font-size:2rem;font-weight:bold;color:var(--color-100)}.post-wrapper h3{font-size:1.5rem;font-weight:bold;color:var(--color-100)}.post-wrapper a:hover{text-decoration:underline}.post-wrapper .post-near__link:hover{text-decoration:none}.post-wrapper .project-item:hover{text-decoration:none}.post-wrapper a:link{color:var(--color-blue)}.post-wrapper .post-title{grid-column-start:1;font-size:1.5rem;color:var(--color-100)}.post-wrapper .content{margin-top:20px;color:var(--color-200);font-size:1rem}@media(max-width:576px){.post-wrapper h1{font-size:1.75rem;margin-top:2rem}.post-wrapper h2{font-size:1.5rem}.post-wrapper h3{font-size:1.25rem}.post-wrapper .post-title{font-size:1.25rem}.post-wrapper p,.post-wrapper ul,.post-wrapper li{font-size:0.875rem}}.article .section-content{text-align:center}.article .post-region{position:relative;margin:0 auto 32px;padding:clamp(24px,3vw,34px) clamp(16px,3.4vw,36px);border:var(--post-frame);border-radius:var(--post-frame-radius);background-color:var(--color-999)}.article .post-region__label{position:absolute;top:0;left:clamp(18px,3.4vw,36px);display:inline-flex;align-items:center;gap:7px;transform:translateY(-50%);padding:0 10px;background-color:var(--color-999);color:var(--color-400);font-family:var(--font-type);font-size:11px;line-height:1.8;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;user-select:none}.article .post-region__label::before{content:"";width:7px;height:7px;flex:none;border-radius:2px;background-color:var(--post-accent)}.article .post-region--body{--post-accent:var(--post-accent-body)}.article .post-region--foot{--post-accent:var(--post-accent-foot)}.article .post-region--comments{--post-accent:var(--post-accent-comments)}.article .post-region--foot .post-tags,.article .post-region--foot .post-cta,.article .post-region--foot .post-near{margin-top:22px;padding-top:22px;border-top:var(--post-frame)}.article .post-wrapper.has-lead .post-head{margin-bottom:45px}.article .article-lead{position:relative;margin:0 0 14px;padding:0 clamp(16px,3.4vw,36px)}.article .article-lead::before{content:"";position:absolute;top:-23px;left:clamp(16px,3.4vw,36px);right:clamp(16px,3.4vw,36px);border-top:var(--post-frame)}.article .post-head{position:relative;margin:0 auto 14px;padding:26px clamp(16px,3.4vw,36px) 0;text-align:center}.article .post-head .section-header{margin:0}.article .title-tag{display:inline-block;font-size:13px;line-height:1;margin:10px auto 20px;border:1px solid var(--color-700);border-radius:36px;padding:8px 22px 4px;color:var(--color-300);text-align:center;font-family:var(--font-type);text-transform:uppercase;letter-spacing:1px}.article .title{line-height:1.2;margin:0.5rem 0;color:var(--color-100);text-align:center}.article .post-line-bottom{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:10px;border-bottom:0;padding-bottom:0;margin:22px 0 0;font-size:.75rem;color:var(--color-500);white-space:normal}.article .post-line-bottom>span{display:inline-flex;align-items:center;gap:6px;border:var(--post-frame);border-radius:36px;padding:4px 14px 3px;color:var(--color-300);font-family:var(--font-type);letter-spacing:1px;flex-wrap:wrap;max-width:100%}.article .post-line-bottom>span:not(.post-head-tags){flex:none}.article .post-line-bottom .post-head-tags{flex:0 1 auto;min-width:0}.article .post-line-bottom .post-head-tags{align-items:flex-start;align-content:flex-start}.article .post-line-bottom>span{align-self:flex-start}.article .post-line-bottom .post-head-tags-break{display:block;flex:0 0 100%;width:100%;height:0;margin:0;padding:0;border:0;background:none;font-size:0;line-height:0}.article .post-line-bottom span[datetime]::before,.article .post-line-bottom span[itemprop="articleSection"]::before{content:"";display:inline-block;width:12px;height:12px;flex:none;background:no-repeat center / contain}.article .post-line-bottom span[datetime]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23909090' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E")}.article .post-line-bottom span[itemprop="articleSection"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23909090' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E")}.article .post-line-bottom .post-head-tags a{white-space:nowrap}.article .post-line-bottom .post-head-tags a::before{content:none}.article .post-line-bottom a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--color-500)}.article .post-line-bottom a:hover{color:var(--color-100);border-bottom-color:var(--color-100)}.article .content{position:relative;color:var(--color-200);margin:0;overflow-wrap:break-word}.article .content a:not(.btn):not(.button){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--color-blue);text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}.article .content a:not(.btn):not(.button):hover{text-decoration-thickness:2px}.article .content>*+*{margin-top:1rem}.article .content h1,.article .content h2,.article .content h3,.article .content h4,.article .content h5{margin:1.75em 0 1em;color:var(--color-100);line-height:1.45}.article .content h2{font-size:1.75rem;color:var(--color-100);margin-top:2.25em;margin-bottom:.85em;padding-bottom:.45em;border-bottom:var(--post-frame)}.article .content h3{font-size:1.5rem;color:var(--color-100);margin-top:2em;margin-bottom:.75em}.article .content h4{font-size:1.25rem;color:var(--color-200)}.article .content h5{font-size:1rem;color:var(--color-300)}.article .content img{border-radius:8px}.article .content p{margin:16px 0;line-height:1.85}.article .content ol{padding-left:2em;margin:2em 0}.article .content ul{padding-left:1.6em;margin:1.5em 0}.article .content li{margin:.5em 0;line-height:1.8}.article .content hr{height:0;border:none;border-top:var(--post-frame);margin:2.25rem 0}.article .content blockquote{margin:1.75rem 0;padding:1rem 1.25rem;border:var(--post-frame);border-left:3px solid var(--color-blue);background:var(--color-900);border-radius:var(--radius);color:var(--color-300)}.article .content blockquote p{margin:.5em 0}.article .content table{width:100%;margin:1.5rem 0;border-collapse:collapse;font-size:.9375rem}.article .content th,.article .content td{border:var(--post-frame-soft);padding:10px 12px;text-align:left;line-height:1.6}.article .content th{background:var(--color-900);color:var(--color-100);font-weight:600}.article .content pre{margin:1.5rem 0;border:var(--post-frame);border-radius:var(--radius);overflow-x:auto}.article .content iframe,.article .content video,.article .content audio,.article .content embed,.article .content object{max-width:100%}.article .content video{display:block;width:100%;height:auto;margin:1.5rem auto;border-radius:12px;background:var(--color-900)}.article .content audio{display:block;width:100%;max-width:480px;margin:1.5rem auto}.article .content .video-embed{position:relative;display:block;width:100%;margin:1.75rem auto;overflow:hidden;border:var(--post-frame);border-radius:14px;background:var(--color-900)}.article .content .video-embed>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.article .content p,.article .content li,.article .content dd,.article .content dt,.article .content td,.article .content th{overflow-wrap:anywhere;word-break:break-word}.article .content a{overflow-wrap:anywhere}.article a:link{color:var(--color-blue)}.article .content picture.rb-picture,.article .content p>img{display:block;width:fit-content;max-width:100%;margin:1.75rem auto}.article .content picture.rb-picture img{display:block;max-width:100%;height:auto;margin:0;border-radius:8px}.article .post-toc{padding:16px 18px;border:var(--post-frame);border-radius:var(--post-frame-radius);background:var(--color-900);scrollbar-width:thin}.article .post-toc[hidden]{display:none}.article .post-toc__fab{display:none}@media (min-width:960px){.section.post.has-toc{--toc-width:200px;--toc-gap:24px;max-width:1320px}.section.post.has-toc .container{max-width:100%}.section.post.has-toc .post-wrapper{display:grid;grid-template-columns:calc(100% - var(--toc-width) - var(--toc-gap)) var(--toc-width);column-gap:var(--toc-gap);align-items:start}.section.post.has-toc .post-head{grid-area:1 / 1}.section.post.has-toc .post-main{grid-area:2 / 1}.section.post.has-toc .post-toc{grid-area:2 / 2;position:sticky;top:84px;max-height:calc(100vh - 116px);overflow-y:auto}}@media (min-width:1280px){.section.post.has-toc{--toc-width:232px;--toc-gap:40px}}@media (max-width:959.98px){.article .post-toc{position:fixed;left:14px;bottom:calc(18px+env(safe-area-inset-bottom,0px));z-index:900;padding:0;border:0;background:none}.article .post-toc__panel{display:none;width:min(78vw,300px);max-height:58vh;overflow-y:auto;margin-bottom:10px;padding:14px 16px;border:var(--post-frame);border-radius:var(--post-frame-radius);background:var(--color-900);box-shadow:0 10px 30px rgba(0,0,0,.18)}.article .post-toc.is-open .post-toc__panel{display:block}.article .post-toc__fab{display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:var(--post-frame);border-radius:50%;background:var(--color-900);color:var(--color-200);font-family:var(--font-body);font-size:13px;font-weight:600;line-height:1;letter-spacing:.5px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.16)}.article .post-toc__fab:hover{color:var(--color-blue)}}.article .post-toc__title{margin-bottom:10px;padding-bottom:8px;border-bottom:var(--post-frame-soft);color:var(--color-200);font-size:0.8125rem;font-weight:600;letter-spacing:1px}.article .post-toc__list{list-style:none;margin:0;padding:0}.article .post-toc__item{margin:0;padding:5px 0 5px 10px;border-left:2px solid transparent;line-height:1.6}.article .post-toc__item--sub{padding-left:calc(10px+1.4em)}.article .post-toc__item a{color:var(--color-300);font-size:0.9375rem;text-decoration:none;transition:color .2s ease}.article .post-toc__item a:hover{color:var(--color-blue)}.article .post-toc__item.is-active{border-left-color:var(--color-blue)}.article .post-toc__item.is-active a{color:var(--color-blue);font-weight:600}.article .post-toc::-webkit-scrollbar{width:4px}.article .post-toc::-webkit-scrollbar-thumb{background-color:var(--color-300);border-radius:2px}.article .content h2,.article .content h3{scroll-margin-top:80px}.article .post-cta{display:flex;gap:16px;flex-wrap:wrap}.post-btn{--btn-color:#101010;--color--yellow:#f7d252;--color--dark-yellow:#ecba0e;position:relative;display:inline-flex;place-content:center;text-align:center;padding:1.125em 2em;color:var(--btn-color) !important;text-decoration:none;line-height:1.1;border-radius:36px;overflow:hidden;background:var(--color--yellow);white-space:nowrap;font-size:var(--text-sm);font-weight:600;margin:0;transition:all 0.35s;min-width:144px}.post-btn:hover{background-color:var(--color--dark-yellow);box-shadow:0 0 24px 11px rgba(247,210,82,.75)}.post-btn::after{content:'';position:absolute;inset:0;pointer-events:none;transition:background-color var(--theme-transition);mix-blend-mode:overlay}.post-btn:focus::after,.post-btn:hover::after{background-color:hsla(var(--color-999-basis),0.3)}.about{display:flex;flex-direction:column;margin:0 auto}.about p{margin:0.75rem 0}.about a,.about a:link{color:var(--color-blue)}footer.site-footer{display:flex;flex-direction:column;gap:0.75rem;margin-top:1rem;padding:1.5rem 2rem 1.5rem;text-align:center;color:var(--color-400);font-size:var(--text-sm)}footer.site-footer a{color:var(--color-400);text-decoration:1px solid underline transparent;text-underline-offset:0.25em;transition:text-decoration-color var(--theme-transition)}footer.site-footer a:hover,footer.site-footer a:focus{text-decoration-color:currentColor}footer.site-footer .group{display:block;width:100%;text-align:center}footer.site-footer .group p{text-align:center;margin:0}footer.site-footer .footer-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:0.5rem}footer.site-footer .footer-badge{height:24px;width:auto;display:block;border-radius:4px;vertical-align:middle}footer.site-footer .footer-badge-link{display:inline-flex;align-items:center}footer.site-footer .footer-badge-text{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid var(--color-700);border-radius:999px;background:transparent;color:var(--color-400);font-size:0.8125rem;line-height:1;white-space:nowrap;text-decoration:none;transition:color var(--theme-transition),border-color var(--theme-transition)}footer.site-footer a.footer-badge-text:hover,footer.site-footer a.footer-badge-text:focus{color:var(--color-blue);border-color:var(--color-blue);text-decoration:none}.site-footer+div[style*="margin-top"]{margin-top:0 !important;padding-top:0 !important;padding-bottom:0 !important}.train-1{position:fixed;top:0;left:0;z-index:99;width:100%;height:100%;pointer-events:none}.effects{grid-area:content;border-radius:8px;background:rgba(255,255,255,0.05);position:relative;z-index:100}.effects__img{width:90px;aspect-ratio:1/1;border-radius:8px;position:absolute;top:0;left:0;opacity:0;overflow:hidden;will-change:transform,filter}.effects__img-inner{background-position:50% 50%;width:100%;height:100%;background-size:contain !important;object-fit:contain !important;position:absolute;top:0;left:0}@media (max-width:768px){.train-1{display:none !important}}.train-switch{position:relative;display:block}.train-switch button{border-radius:36px;border:1px solid var(--train-color);color:var(--color-100);font-size:12px;line-height:22px;padding:0;width:75px;text-align:center;cursor:pointer;background-color:var(--train-color);border-color:var(--train-color);box-shadow:0 0 12px 6px rgba(var(--train-color-rgb),.3);transition:all 0.25s ease-in-out}.train-switch button:hover{color:var(--color-900);background-color:var(--train-color);border-color:var(--train-color);box-shadow:0 0 12px 6px rgba(var(--train-color-rgb),.75)}.train-switch button span{padding-top:3px;display:inline-block}.train-switch button{display:none}html[data-effect="0"] .train-switch button[data-state="0"],html[data-effect="1"] .train-switch button[data-state="1"],html[data-effect="2"] .train-switch button[data-state="2"],html[data-effect="3"] .train-switch button[data-state="3"]{display:block}.train-yellow{--train-color:#f7d252;--train-color-rgb:247,210,82}.train-blue{--train-color:#4da7e8;--train-color-rgb:77,167,232}.train-green{--train-color:#1bc47d;--train-color-rgb:27,196,125}.train-white{--train-color:#dedede;--train-color-rgb:200,200,200}.magic-click{position:absolute;left:72px;top:-6px;display:block;opacity:0;overflow:visible;pointer-events:none;animation:magicClickIn 0.75s ease 1s forwards}@keyframes magicClickIn{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@media (max-width:1180px){.magic-click{display:none}}@media (prefers-reduced-motion:reduce){.magic-click{animation:none;opacity:1}}@media (max-width:768px){.train-switch{display:none !important}}#comments{margin-top:40px;padding-top:32px;border-top:1px dashed var(--border)}#comments h3{font-size:1.25rem;margin-bottom:20px;color:var(--color-100)}.comment-list{margin:0 0 24px;padding:0;list-style:none}.comment-list .comment-list{margin-bottom:0}.comment-item{padding:20px 0;border-bottom:1px dashed var(--border);list-style:none}.comment-list>.comment-item:last-child{border-bottom:none;padding-bottom:4px}.comment-children{margin-top:16px;padding-left:20px;border-left:2px dashed var(--border)}.comment-children .comment-list{margin-bottom:0}.comment-children .comment-item{padding:12px 0;border-bottom:none}.comment-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.comment-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;flex:0 0 40px;background:var(--color-800);border:1px solid var(--border)}.comment-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.comment-avatar .avatar-letter{font-size:0.9375rem;font-weight:600;line-height:1;color:var(--color-300)}.comment-meta-info{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0}.comment-author{font-weight:600;color:var(--color-100)}.comment-author a{color:inherit;text-decoration:none}.comment-author a:hover{text-decoration:underline}.comment-meta{font-size:0.8125rem;color:var(--color-500)}.comment-content{color:var(--color-200);line-height:1.75}.comment-content p{margin:8px 0}.comment-content p:last-child{margin-bottom:0}.comment-header .comment-reply{margin-left:auto;margin-top:0}.comment-meta:has(.comment-reply){display:inline-flex;align-items:baseline;gap:8px;margin-left:auto}.comment-reply{display:inline-block;margin-top:8px;font-size:0.875rem;color:var(--color-blue)}.comment-reply a{color:inherit;text-decoration:none}.comment-reply a:hover{text-decoration:underline}.comment-by-author .comment-author::after{content:"博主";display:inline-block;margin-left:6px;padding:0 6px;font-size:0.6875rem;line-height:1.6;border-radius:var(--radius);background:var(--color-yellow);color:#101010}.cancel-comment-reply{text-align:right}.cancel-comment-reply[hidden]{display:none}.cancel-comment-reply a{font-size:0.875rem;color:var(--color-500);cursor:pointer}.cancel-comment-reply a:hover{color:var(--color-blue)}.comment-parent-hint{margin:0 0 16px;padding:8px 12px;border:1px dashed var(--post-frame);border-radius:var(--radius);background:var(--color-999);color:var(--color-400);font-size:0.8125rem}.comment-parent-hint[hidden]{display:none}#comments>.page-navigator{margin-top:24px}#comment-form{margin-top:28px}#comment-form p{margin-bottom:14px}#comment-form label{display:block;margin-bottom:6px;font-weight:500;color:var(--color-200)}.comment-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.comment-fields p{margin-bottom:14px}@media (max-width:767px){.comment-fields{grid-template-columns:1fr;gap:0}}#comment-form .text,#comment-form .textarea{width:100%;padding:12px 16px;background:var(--color-900);border:1px solid var(--border);border-radius:var(--radius);color:var(--color-100);transition:border-color 0.2s}#comment-form .text:focus,#comment-form .textarea:focus{outline:none;border-color:var(--color-blue)}#comment-form .textarea{min-height:120px;resize:vertical}#comment-form .textarea-wrapper{position:relative;display:block}#comment-form .textarea{padding-right:46px}#comment-form .emoji-toggle{position:absolute;top:10px;right:10px;padding:4px 8px;background:var(--color-800);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:18px;line-height:1;z-index:10;transition:background-color 0.2s}#comment-form .emoji-toggle:hover{background:var(--color-700)}#comment-form .emoji-grid{display:none;flex-wrap:wrap;gap:4px;margin-top:8px;padding:12px;max-height:240px;overflow-y:auto;background:var(--color-900);border:1px solid var(--border);border-radius:var(--radius)}#comment-form .emoji-grid.show{display:flex}#comment-form .emoji-item{font-size:24px;line-height:1;padding:6px;background:none;border:none;border-radius:var(--radius-small);cursor:pointer;transition:background-color 0.2s,transform 0.2s}#comment-form .emoji-item:hover,#comment-form .emoji-item:focus-visible{background:var(--color-800);transform:scale(1.2);outline:none}#comment-form .emoji-grid{background:var(--color-999)}@media (max-width:767px){#comment-form .emoji-item{font-size:18px}}#comment-form .submit{padding:12px 32px;background:var(--color-yellow);color:#101010;border-radius:36px;font-weight:600;cursor:pointer;transition:all 0.3s}#comment-form .submit:hover{background:#ecba0e;box-shadow:0 0 24px 11px rgba(247,210,82,.5)}#comments.post-region--comments{margin:0;padding:32px clamp(16px,3.4vw,36px) clamp(22px,3vw,32px);border:var(--post-frame);border-radius:var(--post-frame-radius)}#comments h3{font-size:1.125rem;margin:0 0 18px;padding-bottom:10px;border-bottom:var(--post-frame);color:var(--color-100)}#comments .comment-list .comment-item{margin-bottom:12px;padding:16px 18px;border:var(--post-frame);border-radius:var(--radius-normal);background-color:var(--color-999);list-style:none;transition:border-color var(--theme-transition),background-color var(--theme-transition)}#comments .comment-list .comment-item:hover{border-color:var(--color-600)}#comments .comment-list>.comment-item:last-child{margin-bottom:0;padding-bottom:16px;border-bottom:var(--post-frame)}#comments .comment-children{margin-top:12px;padding-left:18px;border-left:2px dashed var(--border)}#comments .comment-children .comment-item{margin:10px 0 0;padding:12px 14px;background-color:var(--color-800)}#comments .comment-avatar{border:var(--post-frame)}#comments .respond{margin:0 0 24px;padding:22px clamp(14px,2.4vw,22px);border:var(--post-frame);border-radius:var(--radius-normal);background-color:var(--color-900)}.comment-list>.comment-reply-slot{list-style:none;margin:0 0 14px;padding:0}.comment-list .comment-reply-slot>.respond{margin:0}#comments .respond h3#response{margin:0 0 18px;padding:0 0 10px;border-top:0}#comments #comment-form{margin-top:0}#comments #comment-form p:last-child{margin-bottom:0}#comments #comment-form .text,#comments #comment-form .textarea{background:var(--color-999);border:var(--post-frame)}#comments #comment-form .text:focus,#comments #comment-form .textarea:focus{outline:none;border-style:solid;border-color:var(--color-blue)}.page-navigator{display:flex;justify-content:center;gap:8px;margin-top:16px;flex-wrap:wrap;list-style:none;padding:0}.page-navigator a,.page-navigator span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;background:var(--color-900);border:1px solid var(--border);border-radius:var(--radius);font-size:0.9375rem;color:var(--color-100);transition:all 0.2s}.page-navigator a:hover,.page-navigator li.current a{background:var(--color-100);color:var(--color-900)}.page-navigator li{margin:0;list-style:none}.page-navigator li span{color:var(--color-500)}.page-navigator li.disabled a,.page-navigator li.disabled span{opacity:0.4;cursor:not-allowed}.post-near{display:flex;justify-content:space-between;padding:20px 0;border-top:1px dashed var(--border);margin-top:28px;list-style:none;gap:16px;flex-wrap:wrap}.post-near__item{flex:1;min-width:220px;list-style:none}.post-near__link{display:flex;align-items:center;gap:14px;text-decoration:none;padding:10px;border-radius:12px;border:1px solid transparent;transition:border-color .25s ease,background .25s ease}.post-near__link:hover{border-color:var(--color-300);background:var(--color-900)}.post-near__item--next .post-near__link{flex-direction:row;justify-content:flex-end;text-align:right}.post-near__item--next .post-near__meta{align-items:flex-end}.post-near__thumb{flex-shrink:0;width:72px;height:54px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--color-200),var(--color-300));display:block}.post-near__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.post-near__link:hover .post-near__thumb img{transform:scale(1.06)}.post-near__meta{display:flex;flex-direction:column;gap:4px;min-width:0}.post-near__label{font-size:0.75rem;color:var(--color-400);letter-spacing:.5px}.post-near__title{font-size:0.875rem;color:var(--color-100);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}.post-near__link:hover .post-near__title{color:var(--color-blue);text-decoration:none}.post-near__empty{display:inline-block;padding:10px;color:var(--color-400);font-size:0.875rem}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:24px;border-top:1px dashed var(--border)}.tags a{font-size:0.75rem;border:1px solid var(--color-700);background:var(--color-999);border-radius:36px;padding:4px 16px;text-transform:uppercase;transition:all 0.25s ease-in-out;color:var(--color-300)}.tags a:hover{border:1px solid var(--color-300);color:var(--color-100)}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding-top:24px;border-top:1px dashed var(--border)}.post-tags a{font-size:0.75rem;line-height:1.6;border:1px solid var(--color-700);background:var(--color-999);border-radius:36px;padding:3px 14px;color:var(--color-300);transition:all 0.25s ease-in-out}.post-tags a::before{content:"# ";color:var(--color-500)}.post-tags a:hover{border-color:var(--color-300);color:var(--color-100)}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp 0.6s ease-out forwards}.article .article-lead,.article .article-extra{text-align:left}.article .series-box,.article .history-box{padding:16px 18px;border:var(--post-frame);border-radius:var(--radius-normal);background:var(--color-900);color:var(--color-300);font-size:0.8125rem;line-height:1.7;text-align:left}.article .article-lead>*+*,.article .article-extra>*+*{margin-top:14px}.article .series-box__intro,.article .history-box__title{color:var(--color-200);font-weight:600}.article .series-box__list,.article .history-box__list{list-style:none;padding-left:0;margin:8px 0 0}.article .series-box__item,.article .history-box__item{margin:0;padding:6px 0;border-top:var(--post-frame-soft);line-height:1.6}.article .series-box__index{display:inline-block;min-width:1.6em;color:var(--color-500);font-family:var(--font-type)}.article .history-box__head{display:flex;align-items:center;gap:8px;color:var(--color-blue)}.article .history-box__item{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.article .history-box__date{display:inline-block;min-width:86px;color:var(--color-blue);font-family:var(--font-type);font-weight:400;white-space:nowrap}.article .history-box__num{color:var(--color-500);font-size:0.75rem}.article .series-box a,.article .history-box a{color:var(--color-blue);text-decoration:none}.article .series-box a:hover,.article .history-box a:hover{text-decoration:underline}.article .series-box__more{margin:10px 0 0}:root.theme-dark .article .series-box,:root.theme-dark .article .history-box{color:var(--color-300)}:root.theme-dark .article .history-box__head{color:var(--color-primary-light)}:root.theme-dark .article .history-box__date{color:var(--color-primary-light)}:root.theme-dark .article .content .post-card{background:var(--color-800) !important;border-color:var(--border) !important;box-shadow:none !important}:root.theme-dark .article .content .post-card-title-desktop,:root.theme-dark .article .content .post-card-title-mobile a{color:var(--color-100) !important}:root.theme-dark .article .content .post-card-meta span,:root.theme-dark .article .content .post-card-meta-mobile span{color:var(--color-400) !important}:root.theme-dark .article .content .post-card-meta a,:root.theme-dark .article .content .post-card-meta-mobile a{color:var(--color-blue) !important}:root.theme-dark .article .content .post-card-btn{color:var(--color-200) !important;border-color:var(--border) !important}:root.theme-dark .article .content .post-card-btn:hover{border-color:var(--color-300) !important}:root.theme-dark .article .content .post-card-thumb{background-color:var(--color-700) !important}:root.theme-dark .article .content .post-card-btn svg{color:var(--color-200)}.article .content .img-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;max-width:100%;margin:1.75rem auto}.article .content .img-gallery .img-gallery__item{position:relative;display:block;width:auto;max-width:none;margin:0;padding:8px;border:var(--post-frame);border-radius:14px;background-color:var(--color-900);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}.article .content .img-gallery .img-gallery__item img,.article .content .img-gallery .img-gallery__item picture.rb-picture{display:block;width:100%;height:auto;margin:0;border-radius:8px}.article .content .img-gallery .img-gallery__item picture.rb-picture img{width:100%;height:auto;margin:0;border-radius:8px}.article .content figure.img-gallery__item{position:relative;display:block}.article .content .img-gallery__caption{position:absolute;right:18px;bottom:18px;max-width:calc(100% - 36px);margin:0;padding:3px 9px;border-radius:5px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;line-height:1.5;letter-spacing:.2px;text-align:right;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.article .content .img-gallery .img-gallery__caption{right:8px;bottom:8px;max-width:calc(100% - 16px)}@media (max-width:767px){.article .content .img-gallery{gap:10px}.article .content .img-gallery .img-gallery__item{padding:6px}.article .content .img-gallery__caption{font-size:11px;padding:2px 7px}.article .content .img-gallery .img-gallery__caption{right:6px;bottom:6px;max-width:calc(100% - 12px)}}@media (max-width:480px){.article .content .img-gallery{grid-template-columns:1fr}}@media (max-width:767px){#comments,.comment-list,.comment-children,.comment-item,.comment-header,.comment-meta-info,.comment-content{min-width:0;max-width:100%}#comments.post-region--comments{padding:26px 12px 18px}#comments .comment-list .comment-item{padding:12px}#comments .comment-list>.comment-item:last-child{padding-bottom:12px}#comments .comment-children{margin-top:8px;padding-left:8px}#comments .comment-children .comment-item{margin-top:8px;padding:10px}#comments .respond{padding:16px 12px}.comment-header{flex-wrap:wrap;gap:8px 10px;margin-bottom:10px}.comment-avatar{width:34px;height:34px;flex:0 0 34px}.comment-meta-info{display:contents}.comment-author{flex:0 1 auto;align-self:center;min-width:0;overflow-wrap:anywhere}.comment-meta-info>.comment-meta{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;max-width:100%;font-size:0.8125rem}.comment-meta-info .comment-reply{margin-left:auto}.comment-content{overflow-wrap:anywhere;word-break:break-word}}.post-card{padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin:16px 0;box-shadow:0 2px 8px rgba(0,0,0,0.05)}.post-card-title-mobile{display:none;margin-bottom:12px}.post-card-title-mobile a{font-weight:bold;font-size:17px;color:#333;text-decoration:none}.post-card-content{display:flex;gap:16px;align-items:center}.post-card-thumb{flex-shrink:0;display:block;width:120px;height:90px;border-radius:8px;overflow:hidden;background:#f5f5f5 center center / cover no-repeat}.post-card-info{flex:1}.post-card-title-desktop{font-weight:bold;font-size:15px;color:#333;text-decoration:none;display:block;margin-bottom:8px}.post-card-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-card-meta span,.post-card-meta-mobile span{font-size:13px;color:#666}.post-card-meta span+span,.post-card-meta-mobile span+span{margin-left:12px}.post-card-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:8px 16px;border:1px solid #ccc;border-radius:20px;text-decoration:none;color:#333;font-size:13px;white-space:nowrap}.post-card-btn svg{margin-top:-1px}.post-card-meta-mobile{display:none;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.post-card{padding:16px !important}.post-card-title-mobile{display:block !important}.post-card-content{flex-direction:row !important;gap:8px !important;margin-bottom:12px !important}.post-card-thumb{width:66.66% !important;height:auto !important;aspect-ratio:2/1 !important}.post-card-info{display:none !important}.post-card-btn{width:30% !important;height:auto !important;border-radius:8px !important;border-color:#ccc !important;color:#333 !important;padding:0 !important;justify-content:center !important}.post-card-meta-mobile{display:block !important}}.project-item{cursor:pointer;display:block;height:min-content;padding:24px 12px 12px;position:relative;text-decoration:none;width:100%;margin-bottom:24px;overflow:hidden;transition:all 0.25s ease-in-out}.project-item:nth-child(3n+1):hover{background:var(--color-yellow)}.project-item:nth-child(3n+2):hover{background:var(--color-blue)}.project-item:nth-child(3n):hover{background:var(--color-green)}.project-item:hover .project-icon .icon{transform:rotate(-45deg);border:1px solid var(--color-900);background:var(--color-900)}.project-header{display:flex;justify-content:space-between;margin-bottom:32px}.project-title{height:auto;position:relative;word-break:break-word;word-wrap:break-word;max-width:85%}.project-title h2{display:flex;align-items:center;line-height:1.3em;text-align:left;color:var(--color-100);font-size:1.5rem}.project-title p{display:block;margin:8px 0;color:var(--color-300);padding-left:4px}.project-icon{flex:none;flex-direction:row;flex-wrap:nowrap;gap:0;height:min-content;overflow:hidden;position:relative;align-content:center;align-items:center;display:flex;justify-content:center;width:min-content}.project-icon .icon{transition:all 0.25s ease-in-out;padding:10px;border-radius:36px;border:1px solid var(--color-700);display:inline-block;margin:0;font-size:0}.project-icon svg{transition:all 0.25s ease-in-out;height:20px;width:20px}.project-body{position:relative;margin-top:24px;margin-bottom:16px}.project-cover{flex-wrap:nowrap;position:relative;width:auto;overflow:hidden;display:flex;justify-content:flex-start;gap:12px}.project-figure{margin:0 6px;position:relative;border-radius:5px;overflow:hidden;height:128px;display:inline-block}.project-figure img{width:auto;height:100%;object-fit:cover;display:block}.project-cover--multi{width:100%}.project-cover--multi .project-figure{flex:1 1 0;min-width:0}.project-cover--multi .project-figure img{width:100%}.project-footer{display:flex;justify-content:space-between;align-items:center}.project-tags{display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap}.project-tags .tag{font-size:0.75rem;border:1px solid var(--color-700);background:var(--color-999);border-radius:36px;padding:4px 16px;text-transform:uppercase;transition:all 0.25s ease-in-out}.project-tags .tag:hover{border:1px solid var(--color-300)}.project-date{font-size:1.75rem;font-weight:600}.project-title-pre-icon{width:18px;height:18px;margin-right:6px;color:var(--color-100)}@media (max-width:1000px){.project-body{height:132px}.project-cover{position:absolute;left:0;bottom:0}.project-figure{width:180px;height:120px}}.project-figure:hover{transform:translateY(-4px)}.project-figure:first-child{margin-left:0}.project-figure:last-child{margin-right:0}.scroll-top{position:fixed;right:24px;bottom:calc(24px+env(safe-area-inset-bottom,0px));z-index:999;width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-999);color:var(--color-200);border:1px solid var(--border);box-shadow:var(--shadow-md);cursor:pointer;-webkit-appearance:none;appearance:none;opacity:0;visibility:hidden;transform:translateY(14px) scale(.92);transition:opacity .28s ease,transform .28s ease,visibility .28s ease,background-color var(--theme-transition),color var(--theme-transition),border-color var(--theme-transition)}.scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.scroll-top:hover{background:var(--color-800);color:var(--color-0);transform:translateY(-3px)}.scroll-top:active{transform:translateY(0) scale(.94);transition-duration:.1s}.scroll-top:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.scroll-top svg{display:block;width:20px;height:20px}@media (max-width:959.98px){.scroll-top{right:14px;bottom:calc(18px+env(safe-area-inset-bottom,0px));width:52px;height:52px}.scroll-top svg{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){.scroll-top{transition:none}}img{-webkit-user-drag:none;user-drag:none}.gonggao-stamp{display:inline-block;font-size:1em;margin-bottom:-0.12em;padding:0;background:none;border:0;line-height:0;cursor:pointer;-webkit-appearance:none;appearance:none}.gonggao-stamp img{height:0.8em;width:auto;display:block}.gonggao-stamp:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:4px}.announcement-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:hsla(0,0%,0%,0.45);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;transition:opacity 0.2s ease}.announcement-modal.is-visible{opacity:1}.announcement-modal__frame{position:relative;width:100%;max-width:520px}.announcement-modal__card{background:var(--color-999);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;color:var(--color-100)}.announcement-modal__head{padding:14px 18px;text-align:center;border-bottom:1px dashed var(--border)}.announcement-modal__title{margin:0;font-size:1rem;font-weight:700;letter-spacing:2px;color:var(--color-100)}.announcement-modal__body{padding:12px 18px 16px;max-height:45vh;overflow-y:auto;font-size:0.875rem;line-height:1.7}.announcement-md-version{margin:10px 0 4px;font-weight:700;color:var(--color-blue);font-family:var(--font-type);letter-spacing:1px}.announcement-md-version span{display:inline-block;padding:2px 10px;border:1px solid currentColor;border-radius:999px;font-size:0.75rem;line-height:1.4}.announcement-md-item{position:relative;padding-left:1.1em;color:var(--color-300);margin:2px 0}.announcement-md-item::before{content:'';position:absolute;left:0.2em;top:0.62em;width:5px;height:5px;border-radius:50%;background:var(--color-blue)}.announcement-md-line{color:var(--color-300);margin:4px 0}.announcement-modal__close{position:absolute;top:-12px;right:-12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;background:var(--color-999);color:var(--color-400);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-size:18px;line-height:1;cursor:pointer;transition:color var(--theme-transition),transform var(--theme-transition)}.announcement-modal__close:hover{color:var(--color-100);transform:rotate(90deg)}.announcement-modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width:576px){.announcement-modal__close{top:-10px;right:-6px}.announcement-modal__body{max-height:50vh}}@media (any-pointer:coarse){.announcement-modal__close{width:44px;height:44px;font-size:22px}}@media (any-pointer:coarse){.card-link__go:active{transform:rotate(45deg)}.social-link:active,.nav-items a:active{opacity:1}.post-btn:active,.magic-click:active{transform:scale(0.97)}}@media (prefers-reduced-motion:reduce){.announcement-modal{transition:none}.announcement-modal__close{transition:none}}.visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.effects.is-warming .effects__img{opacity:0 !important}.js-shuffle-sizer{position:relative}.taglink-overlay{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;opacity:0;transition:opacity .16s ease;z-index:3}.taglink-overlay.is-on{opacity:1}.taglink-ring{opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .16s ease}.taglink-overlay.is-on .taglink-ring{opacity:1}.taglink-ring__halo{fill:var(--color-100,#101010);fill-opacity:.18}.taglink-ring__edge{fill:none;stroke:var(--color-100,#101010);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:3 5}.taglink-ring__core{fill:none;stroke:var(--color-100,#101010);stroke-width:1;stroke-opacity:.45}.taglink-line{fill:none;stroke:var(--color-300,#505050);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:5 5;animation:taglink-draw .22s ease both}.taglink-arrowhead{fill:var(--color-300,#505050)}@keyframes taglink-draw{from{opacity:0}to{opacity:1}}.taglink-labels{position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;z-index:4}.taglink-tag{position:absolute;transform:translate(0,-14px);opacity:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 9px;border-radius:999px;font-size:12px;line-height:1.5;color:var(--color-900,#f9f8f7);background:var(--color-100,#101010);box-shadow:0 2px 8px rgba(0,0,0,.18);transition:opacity .18s ease,transform .22s cubic-bezier(.22,.61,.36,1),background-color .15s ease,box-shadow .15s ease;transition-delay:0ms}.taglink-tag.is-in{transform:translate(0,0);opacity:1}.taglink-tag.is-active{background:var(--color-primary,#ec486f);color:#fff;transform:translate(0,0) scale(1.06);box-shadow:0 3px 12px rgba(0,0,0,.28)}.taglink-labels.is-focusing .taglink-tag:not(.is-active){opacity:.45}@media (hover:none),(pointer:coarse),(max-width:767.98px){.taglink-overlay,.taglink-labels{display:none !important}}