@charset "UTF-8";/*!* Project base stylesheet (shell / chrome only).
*
* Overrides theme `scss/style.scss` so page-type rules can ship as non-blocking
* modules (article, article-list, pagination, highlight, …). Keep only styles
* needed on every page: tokens, layout chrome, sidebar, search widget, footer.
*
* Moved out of base:
* - partials/article.scss → modules/article + modules/article-list
* - partials/layout/article.scss → modules/article
* - partials/layout/list.scss → modules/article-list
* - partials/pagination.scss → modules/pagination (project restyle)*/:root{--main-top-padding:35px;--body-background:#ffffff;--accent-color:#333333;--accent-color-darker:#111111;--accent-color-text:#ffffff;--body-text-color:#333333;--tag-border-radius:4px;--section-separation:40px;--scrollbar-thumb:hsl(0, 0%, 85%);--scrollbar-track:var(--body-background)}@media(min-width:1280px){:root{--main-top-padding:50px}}:root[data-scheme=dark]{--body-background:#181818;--accent-color:#d8d4cc;--accent-color-darker:#c4bfb6;--accent-color-text:#141210;--body-text-color:rgba(255, 255, 255, 0.88);--scrollbar-thumb:hsl(35, 8%, 38%);--scrollbar-track:var(--body-background)}:root{--sys-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Droid Sans", "Helvetica Neue";--base-font-family:"Lato", var(--sys-font-family), sans-serif;--code-font-family:Menlo, Monaco, Consolas, "Courier New", monospace}:root{--card-background:rgba(255, 255, 255, 0.62);--card-background-selected:#eaeaea;--card-text-color-main:#1a1a1a;--card-text-color-secondary:#666666;--card-text-color-tertiary:#999999;--card-separator-color:rgba(218, 218, 218, 0.5);--card-border-radius:16px;--card-padding:20px;--small-card-padding:25px 20px}@media(min-width:768px){:root{--card-padding:25px}}@media(min-width:1280px){:root{--card-padding:30px}}@media(min-width:768px){:root{--small-card-padding:25px}}:root[data-scheme=dark]{--card-background:rgba(255, 255, 255, 0.055);--card-background-selected:rgba(255, 255, 255, 0.16);--card-text-color-main:rgba(255, 255, 255, 0.9);--card-text-color-secondary:rgba(255, 255, 255, 0.8);--card-text-color-tertiary:rgba(255, 255, 255, 0.6);--card-separator-color:rgba(255, 255, 255, 0.12)}:root{--article-font-family:var(--base-font-family);--article-font-size:1.6rem;--article-line-height:1.85}@media(min-width:768px){:root{--article-font-size:1.7rem}}:root{--blockquote-border-size:4px;--blockquote-background-color:rgb(248 248 248);--heading-border-size:4px;--link-background-color:200, 200, 200;--link-background-opacity:0.5;--link-background-opacity-hover:0.7;--pre-background-color:#272822;--pre-text-color:#f8f8f2;--code-background-color:rgba(0, 0, 0, 0.12);--code-text-color:#808080;--table-border-color:#dadada;--tr-even-background-color:#efefee;--kbd-border-color:#dadada}:root[data-scheme=dark]{--code-background-color:#2a2824;--code-text-color:rgba(255, 255, 255, 0.9);--table-border-color:rgba(255, 255, 255, 0.14);--tr-even-background-color:rgba(255, 255, 255, 0.05);--blockquote-background-color:rgba(255, 255, 255, 0.06);--link-background-color:216, 212, 204;--link-background-opacity:0.22;--link-background-opacity-hover:0.32}:root{--shadow-l1:inset 0 0 0 1px var(--card-glass-border),
        0 8px 24px rgba(0, 0, 0, 0.07),
        0 2px 6px rgba(0, 0, 0, 0.05),
        0 0 1px rgba(0, 0, 0, 0.06);--shadow-l2:inset 0 0 0 1px var(--card-glass-border),
        0 16px 40px rgba(0, 0, 0, 0.10),
        0 4px 10px rgba(0, 0, 0, 0.06),
        0 0 1px rgba(0, 0, 0, 0.06);--shadow-l3:0px 10px 20px rgba(0, 0, 0, 0.04), 0px 2px 6px rgba(0, 0, 0, 0.04), 0px 0px 1px rgba(0, 0, 0, 0.04);--shadow-l4:0px 24px 32px rgba(0, 0, 0, 0.04), 0px 16px 24px rgba(0, 0, 0, 0.04), 0px 4px 8px rgba(0, 0, 0, 0.04),
        0px 0px 1px rgba(0, 0, 0, 0.04)}[data-scheme=light]{--pre-text-color:#272822;--pre-background-color:#fafafa}[data-scheme=dark]{--pre-text-color:#f8f8f2;--pre-background-color:#272822}:root{--menu-icon-separation:40px;--container-padding:15px;--widget-separation:var(--section-separation)}.container{margin-left:auto;margin-right:auto}.container .left-sidebar{order:-3;max-width:var(--left-sidebar-max-width)}.container .right-sidebar{order:-1;max-width:var(--right-sidebar-max-width)}@media(min-width:1024px){.container .right-sidebar{display:flex}}@media(min-width:768px){.container.extended{max-width:1024px;--left-sidebar-max-width:25%;--right-sidebar-max-width:30%}}@media(min-width:1024px){.container.extended{max-width:1280px;--left-sidebar-max-width:20%;--right-sidebar-max-width:30%}}@media(min-width:1280px){.container.extended{max-width:1536px;--left-sidebar-max-width:15%;--right-sidebar-max-width:25%}}@media(min-width:768px){.container.compact{--left-sidebar-max-width:25%;max-width:768px}}@media(min-width:1024px){.container.compact{max-width:1024px;--left-sidebar-max-width:20%}}@media(min-width:1280px){.container.compact{max-width:1280px}}.flex{display:flex;flex-direction:row}.flex.column{flex-direction:column}.flex.on-phone--column{flex-direction:column}@media(min-width:768px){.flex.on-phone--column{flex-direction:unset}}.flex .full-width{width:100%}main.main{order:-2;min-width:0;max-width:100%;flex-grow:1;display:flex;flex-direction:column;gap:var(--section-separation)}@media(min-width:768px){main.main{padding-top:var(--main-top-padding)}}.main-container{min-height:100vh;align-items:flex-start;padding:0 15px;gap:var(--section-separation);padding-top:var(--main-top-padding)}@media(min-width:768px){.main-container{padding:0 20px}}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}/*!* Hamburgers
* @description Tasty CSS-animated hamburgers
* @author Jonathan Suh @jonsuh
* @site https://jonsuh.com/hamburgers
* @link https://github.com/jonsuh/hamburgers*/.hamburger{padding-top:10px;display:inline-block;cursor:pointer;transition-property:opacity,filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}.hamburger:hover{opacity:.7}.hamburger.is-active:hover{opacity:.7}.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner::before,.hamburger.is-active .hamburger-inner::after{background-color:#000}.hamburger-box{width:30px;height:24px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-2px}.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:30px;height:2px;background-color:var(--card-text-color-main);border-radius:4px;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}.hamburger-inner::before,.hamburger-inner::after{content:"";display:block}.hamburger-inner::before{top:-10px}.hamburger-inner::after{bottom:-10px}.hamburger--spin .hamburger-inner{transition-duration:.22s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--spin .hamburger-inner::before{transition:top .1s .25s ease-in,opacity .1s ease-in}.hamburger--spin .hamburger-inner::after{transition:bottom .1s .25s ease-in,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin.is-active .hamburger-inner{transform:rotate(225deg);transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--spin.is-active .hamburger-inner::before{top:0;opacity:0;transition:top .1s ease-out,opacity .1s .12s ease-out}.hamburger--spin.is-active .hamburger-inner::after{bottom:0;transform:rotate(-90deg);transition:bottom .1s ease-out,transform .22s .12s cubic-bezier(.215,.61,.355,1)}#toggle-menu{background:0 0;border:none;position:absolute;right:0;top:0;z-index:2;cursor:pointer;outline:none}[dir=rtl] #toggle-menu{left:0;right:auto}@media(min-width:768px){#toggle-menu{display:none}}#toggle-menu.is-active .hamburger-inner,#toggle-menu.is-active .hamburger-inner::before,#toggle-menu.is-active .hamburger-inner::after{background-color:var(--accent-color)}body.pswp-open #toggle-menu,body.pswp-open #main-menu{pointer-events:none}@media(min-width:768px){body.pswp-open #toggle-menu,body.pswp-open #main-menu{pointer-events:auto}}#main-menu{list-style:none;overflow-y:auto;flex-grow:1;font-size:1.5rem;background-color:var(--card-background);box-shadow:var(--shadow-l1);display:none;margin:0 calc(var(--container-padding) * -1);padding:30px}@media(min-width:1280px){#main-menu{padding:15px 0}}#main-menu,#main-menu .menu-bottom-section ol{flex-direction:column;gap:30px}@media(min-width:1280px){#main-menu,#main-menu .menu-bottom-section ol{gap:25px}}#main-menu.show{display:flex}@media(min-width:768px){#main-menu{align-items:flex-end;display:flex;background-color:transparent;padding:0;box-shadow:none;margin:0}}#main-menu li{position:relative;vertical-align:middle;padding:0}@media(min-width:768px){#main-menu li{width:100%}}#main-menu li svg{stroke:currentColor;stroke-width:1.33;width:20px;height:20px}#main-menu li a{height:100%;display:inline-flex;align-items:center;color:var(--body-text-color);gap:var(--menu-icon-separation);font-weight:500}#main-menu li span{flex:1}#main-menu li.current a{color:var(--accent-color);font-weight:700}#main-menu li.menu-bottom-section{margin-top:auto}#main-menu li.menu-bottom-section ol{display:flex;padding-left:0}.menu-social{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;gap:10px}.menu-social svg{width:24px;height:24px;stroke:var(--body-text-color);stroke-width:1.33}.widget{display:flex;flex-direction:column}.widget .widget-icon svg{width:32px;height:32px;stroke-width:1.6;color:var(--body-text-color)}.tagCloud .tagCloud-tags{display:flex;flex-wrap:wrap;gap:10px}.tagCloud .tagCloud-tags a{background:var(--card-background);box-shadow:var(--shadow-l1);border-radius:var(--tag-border-radius);padding:8px 20px;color:var(--card-text-color-main);font-size:1.4rem;transition:box-shadow .3s ease}.tagCloud .tagCloud-tags a:hover{box-shadow:var(--shadow-l2)}.widget.archives .widget-archive--list{border-radius:var(--card-border-radius);box-shadow:var(--shadow-l1);background-color:var(--card-background)}.widget.archives .archives-year:not(:last-of-type){border-bottom:1.5px solid var(--card-separator-color)}.widget.archives .archives-year a{font-size:1.4rem;padding:18px 25px;display:flex}.widget.archives .archives-year a span.year{flex:1;color:var(--card-text-color-main);font-weight:700}.widget.archives .archives-year a span.count{color:var(--card-text-color-tertiary)}footer.site-footer{padding:20px 0 var(--section-separation);font-size:1.4rem;line-height:1.75}footer.site-footer:before{content:"";display:block;height:3px;width:50px;background:var(--body-text-color);margin-bottom:20px}footer.site-footer .copyright{color:var(--accent-color);font-weight:700;margin-bottom:5px}footer.site-footer .powerby{color:var(--body-text-color);font-weight:400;font-size:1.2rem}footer.site-footer .powerby a{color:var(--body-text-color)}@media(min-width:768px){.sidebar.sticky{position:sticky}}.left-sidebar{display:flex;flex-direction:column;flex-shrink:0;align-self:stretch;gap:var(--sidebar-element-separation);max-width:none;width:100%;position:relative;--sidebar-avatar-size:100px;--sidebar-element-separation:20px;--emoji-size:40px;--emoji-font-size:20px}@media(min-width:768px){.left-sidebar{width:auto;padding-top:var(--main-top-padding);padding-bottom:var(--main-top-padding);max-height:100vh}}@media(min-width:1536px){.left-sidebar{--sidebar-avatar-size:120px;--sidebar-element-separation:25px;--emoji-size:40px}}.left-sidebar.sticky{top:0}.left-sidebar.compact{--sidebar-avatar-size:80px;--emoji-size:30px;--emoji-font-size:15px}@media(min-width:1024px){.left-sidebar.compact header{flex-direction:row}}.left-sidebar.compact header .site-meta{gap:5px}.left-sidebar.compact header .site-name{font-size:1.4rem}@media(min-width:1536px){.left-sidebar.compact header .site-name{font-size:1.75rem}}.left-sidebar.compact header .site-description{font-size:1.4rem}.right-sidebar{width:100%;display:none;flex-direction:column;gap:var(--widget-separation)}.right-sidebar.sticky{top:0}@media(min-width:1024px){.right-sidebar{padding-top:var(--main-top-padding);padding-bottom:var(--main-top-padding)}}.sidebar header{z-index:1;transition:box-shadow .5s ease;display:flex;flex-direction:column;gap:var(--sidebar-element-separation)}@media(min-width:768px){.sidebar header{padding:0}}.sidebar header .site-avatar{position:relative;margin:0;width:var(--sidebar-avatar-size);height:var(--sidebar-avatar-size);flex-shrink:0}.sidebar header .site-avatar .site-logo{width:100%;height:100%;border-radius:100%;box-shadow:var(--shadow-l1)}.sidebar header .site-avatar .emoji{position:absolute;width:var(--emoji-size);height:var(--emoji-size);line-height:var(--emoji-size);border-radius:100%;bottom:0;right:0;text-align:center;font-size:var(--emoji-font-size);background-color:var(--card-background);box-shadow:var(--shadow-l2)}.sidebar header .site-meta{display:flex;flex-direction:column;gap:10px;justify-content:center}.sidebar header .site-name{color:var(--accent-color);margin:0;font-size:1.8rem;font-weight:700}@media(min-width:1536px){.sidebar header .site-name{font-size:1.8rem}}.sidebar header .site-description{color:var(--body-text-color);font-weight:400;margin:0;font-size:1.45rem}@media(min-width:1536px){.sidebar header .site-description{font-size:1.6rem}}[data-scheme=dark] #dark-mode-toggle{color:var(--accent-color);font-weight:700}[data-scheme=dark] #dark-mode-toggle .icon-tabler-toggle-left{display:none}[data-scheme=dark] #dark-mode-toggle .icon-tabler-toggle-right{display:unset}#dark-mode-toggle{margin-top:auto;color:var(--body-text-color);display:flex;align-items:center;cursor:pointer;gap:var(--menu-icon-separation)}#dark-mode-toggle .icon-tabler-toggle-right{display:none}#i18n-switch{color:var(--body-text-color);display:inline-flex;align-content:center;gap:var(--menu-icon-separation)}#i18n-switch select{border:0;background-color:transparent;color:var(--body-text-color)}#i18n-switch select option{color:var(--card-text-color-main);background-color:var(--card-background)}html{font-size:62.5%;overflow-y:scroll}*{box-sizing:border-box}body{background:var(--body-background);margin:0;font-family:var(--base-font-family);font-size:1.6rem;text-autospace:ideograph-alpha ideograph-numeric punctuation insert;text-spacing-trim:trim-start allow-end;-ms-text-autospace:ideograph-alpha;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{scrollbar-width:auto;scrollbar-color:var(--scrollbar-thumb)transparent}::-webkit-scrollbar{height:auto}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}::-webkit-scrollbar-track{background-color:transparent}.search-form{position:relative;--button-size:80px}.search-form.widget{--button-size:60px}.search-form.widget label{font-size:1.3rem;top:10px}.search-form.widget input{font-size:1.5rem;padding:30px 20px 15px}.search-form p{position:relative;margin:0}.search-form label{position:absolute;top:15px;inset-inline-start:20px;font-size:1.4rem;color:var(--card-text-color-tertiary)}.search-form input{padding:40px 20px 20px;border-radius:var(--card-border-radius);background-color:var(--card-background);box-shadow:var(--shadow-l1);color:var(--card-text-color-main);width:100%;border:0;-webkit-appearance:none;transition:box-shadow .3s ease;font-size:1.8rem}.search-form input:focus{outline:0;box-shadow:var(--shadow-l2)}.search-form button{position:absolute;inset-inline-end:0;top:0;height:100%;width:var(--button-size);cursor:pointer;background-color:transparent;border:0;padding:0 10px}.search-form button:focus{outline:0}.search-form button:focus svg{stroke-width:2;color:var(--accent-color)}.search-form button svg{color:var(--card-text-color-secondary);stroke-width:1.33;transition:all .3s ease;width:20px;height:20px}a{text-decoration:none;color:var(--accent-color)}a:hover{color:var(--accent-color-darker)}a.link{box-shadow:0 -2px rgba(var(--link-background-color),var(--link-background-opacity))inset;transition:all .3s ease}a.link:hover{box-shadow:0 calc(-1rem * var(--article-line-height))rgba(var(--link-background-color),var(--link-background-opacity-hover))inset}.section-title{text-transform:uppercase;margin-top:0;margin-bottom:10px;display:block;font-size:1.6rem;font-weight:700;color:var(--body-text-color)}.section-title a{color:var(--body-text-color)}[data-loading=true]{opacity:.6;pointer-events:none;cursor:wait}#footer-total-visits{display:inline}#footer-total-visits[data-loading=true] .footer-stat__loading{display:inline-block;width:20px;text-align:center;animation:footer-stat-pulse var(--motion-loop-pulse)ease-in-out infinite}@keyframes footer-stat-pulse{0%,100%{opacity:.3}50%{opacity:1}}:root{--sys-font-family:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Segoe UI", sans-serif;--base-font-family:var(--sys-font-family);--article-font-size:clamp(1.6rem, 1.2vw + 1rem, 1.8rem);--font-size-xs:1.2rem;--font-size-sm:1.3rem;--font-size-md:1.35rem;--font-size-base:1.4rem;--font-size-lg:1.45rem;--font-size-xl:1.8rem;--color-white:#fff;--color-black:#000;--media-bg:#000;--body-background:#f7f4ec;--site-background-pattern:rgba(20, 20, 20, 0.052);--site-background-line:rgba(20, 20, 20, 0.055);--body-text-color:#4a4a4a;--card-text-color-secondary:#555555;--card-text-color-tertiary:#606060;--border-color-subtle:rgba(128, 128, 128, 0.16);--border-color-default:rgba(128, 128, 128, 0.18);--border-color-strong:rgba(128, 128, 128, 0.22);--card-background:rgba(255, 255, 255, 0.62);--card-glass-border:rgba(255, 255, 255, 0.66);--card-glass-filter:blur(16px) saturate(150%);--card-background-solid:#fcfaf5;--surface-0:var(--body-background);--surface-1:var(--card-background);--surface-2:rgba(255, 255, 255, 0.78);--surface-overlay:rgba(12, 12, 12, 0.86);--elevation-1:inset 0 0 0 1px var(--card-glass-border),
        0 1px 2px rgba(0, 0, 0, 0.04),
        0 4px 12px rgba(0, 0, 0, 0.05);--elevation-2:inset 0 0 0 1px var(--card-glass-border),
        0 8px 24px rgba(0, 0, 0, 0.07),
        0 2px 6px rgba(0, 0, 0, 0.05),
        0 0 1px rgba(0, 0, 0, 0.06);--elevation-3:inset 0 0 0 1px var(--card-glass-border),
        0 16px 40px rgba(0, 0, 0, 0.10),
        0 4px 10px rgba(0, 0, 0, 0.06),
        0 0 1px rgba(0, 0, 0, 0.06);--elevation-4:inset 0 0 0 1px var(--card-glass-border),
        0 28px 64px rgba(0, 0, 0, 0.16),
        0 8px 20px rgba(0, 0, 0, 0.08);--shadow-l1:var(--elevation-2);--shadow-l2:var(--elevation-3);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--spacing-2xs:4px;--spacing-xs:6px;--spacing-sm:8px;--spacing-md:10px;--spacing-lg:14px;--spacing-xl:16px;--spacing-2xl:18px;--article-list-image-w:293;--article-list-image-h:169;--article-content-max-width:864.38px;--z-base:1;--z-dropdown:10;--z-sticky:50;--z-overlay:100;--z-modal:1000;--motion-duration-instant:100ms;--motion-duration-fast:160ms;--motion-duration-base:240ms;--motion-duration-slow:400ms;--motion-duration-page:320ms;--motion-stagger:40ms;--motion-ease-standard:cubic-bezier(0.2, 0, 0, 1);--motion-ease-emphasized:cubic-bezier(0.16, 1, 0.3, 1);--motion-ease-exit:cubic-bezier(0.4, 0, 1, 1);--motion-ease-spring:cubic-bezier(0.34, 1.36, 0.64, 1);--motion-distance:8px;--motion-loop-shimmer:1.2s;--motion-loop-pulse:1.5s;--motion-loop-progress:1.25s;--ease-out-quad:var(--motion-ease-standard);--ease-out-expo:var(--motion-ease-emphasized);--transition-fast:var(--motion-duration-fast);--transition-normal:var(--motion-duration-base);--transition-slow:var(--motion-duration-slow);--stack-reveal-duration:var(--motion-duration-page);--stack-reveal-ease:var(--motion-ease-emphasized);--transition-surface:background-color var(--motion-duration-base) var(--motion-ease-standard),
        box-shadow var(--motion-duration-base) var(--motion-ease-standard);--transition-card:var(--transition-surface)}:root[data-scheme=dark]{--body-background:#181818;--site-background-pattern:rgba(255, 255, 255, 0.058);--site-background-line:rgba(255, 255, 255, 0.052);--body-text-color:rgba(255, 255, 255, 0.75);--card-text-color-secondary:rgba(255, 255, 255, 0.8);--card-text-color-tertiary:rgba(255, 255, 255, 0.6);--card-separator-color:rgba(255, 255, 255, 0.15);--border-color-subtle:rgba(255, 255, 255, 0.12);--border-color-default:rgba(255, 255, 255, 0.15);--border-color-strong:rgba(255, 255, 255, 0.2);--card-background:rgba(255, 255, 255, 0.055);--card-background-solid:#272727;--card-glass-border:rgba(255, 255, 255, 0.09);--surface-2:rgba(255, 255, 255, 0.09);--elevation-1:inset 0 0 0 1px var(--card-glass-border),
        0 4px 12px rgba(0, 0, 0, 0.24);--elevation-2:inset 0 0 0 1px var(--card-glass-border),
        0 10px 28px rgba(0, 0, 0, 0.32),
        0 2px 6px rgba(0, 0, 0, 0.22);--elevation-3:inset 0 0 0 1px var(--card-glass-border),
        0 18px 44px rgba(0, 0, 0, 0.42),
        0 4px 12px rgba(0, 0, 0, 0.26);--elevation-4:inset 0 0 0 1px var(--card-glass-border),
        0 30px 72px rgba(0, 0, 0, 0.5),
        0 8px 20px rgba(0, 0, 0, 0.3)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--card-background:#ffffff;--surface-2:#ffffff;--card-glass-filter:none;--card-background-solid:#ffffff}:root[data-scheme=dark]{--card-background:#232323;--card-background-solid:#232323;--surface-2:#2a2a2a}}@media(prefers-reduced-transparency:reduce){:root{--card-background:#ffffff;--surface-2:#ffffff;--card-glass-filter:none;--card-background-solid:#ffffff}:root[data-scheme=dark]{--card-background:#232323;--card-background-solid:#232323;--surface-2:#2a2a2a}}@media(prefers-reduced-motion:reduce){:root{--motion-duration-instant:0ms;--motion-duration-fast:0ms;--motion-duration-base:0ms;--motion-duration-slow:0ms;--motion-duration-page:0ms;--motion-stagger:0ms;--motion-distance:0px}}body{position:relative;background:linear-gradient(135deg,transparent 0 47%,var(--site-background-line) 47% 53%,transparent 53% 100%)0 0/38px 38px,var(--body-background);color:var(--body-text-color)}a{transition:color var(--transition-fast)var(--ease-out-quad),text-decoration var(--transition-fast)var(--ease-out-quad)}a,button,[role=button],input[type=submit],input[type=button]{-webkit-tap-highlight-color:transparent}a[data-pressed=true],button[data-pressed=true],[role=button][data-pressed=true],input[type=submit][data-pressed=true],input[type=button][data-pressed=true]{transform:translateY(1px);transition:transform var(--motion-duration-instant)var(--motion-ease-standard)}button[data-pending=true],input[data-pending=true]{opacity:.82;transition:opacity var(--transition-fast)var(--ease-out-quad)}.stack-lazy-image{transition:opacity var(--motion-duration-base)var(--motion-ease-standard),transform var(--motion-duration-base)var(--motion-ease-standard)}.stack-lazy-image[data-lazy-state=preview],.stack-lazy-image[data-lazy-state=loading]{opacity:.72;transform:scale(1.015);will-change:opacity,transform}.stack-lazy-image[data-lazy-state=loaded]{opacity:1;transform:none;will-change:auto}html.is-changing .transition-fade,html.is-animating .transition-fade,html.is-rendering .transition-fade,html.stack-page-revealing .transition-fade{backface-visibility:hidden;transform:translate3d(0,0,0)}html.is-changing .transition-fade{opacity:1}html.is-animating .transition-fade{transition:none;opacity:1}html.is-rendering .transition-fade{animation:none;opacity:1}html.stack-page-pending .stack-page-container-pending{animation:none;opacity:0;transition:none}html.stack-page-revealing .stack-page-container-revealing{animation:stackPageReveal var(--motion-duration-fast)var(--motion-ease-standard)both;backface-visibility:hidden;transform:translate3d(0,0,0);will-change:opacity}html.stack-page-revealing #swup-sidebar-right.stack-page-container-revealing{animation:stackItemReveal var(--stack-reveal-duration)var(--stack-reveal-ease)both;will-change:opacity,transform}html.stack-page-revealing .stack-page-reveal-finished{will-change:auto !important}@keyframes stackPageReveal{0%{opacity:0}100%{opacity:1}}@keyframes stackItemReveal{0%{opacity:0;transform:translate3d(0,var(--motion-distance),0)}100%{opacity:1;transform:translate3d(0,0,0)}}html.stack-page-pending [data-reveal]{opacity:0}html.stack-page-revealing [data-reveal]{animation:stackItemReveal var(--motion-duration-page)var(--motion-ease-emphasized)both;animation-delay:calc(var(--reveal-index,0) * var(--motion-stagger));will-change:opacity,transform}[data-reveal="1"]{--reveal-index:1}[data-reveal="2"]{--reveal-index:2}[data-reveal="3"]{--reveal-index:3}[data-reveal="4"]{--reveal-index:4}[data-reveal="5"]{--reveal-index:5}html.swup-native.is-changing #swup{view-transition-name:main}@media(min-width:768px){html.swup-native.is-changing .left-sidebar{view-transition-name:site-header}}html.swup-native.is-changing :is(#swup,.left-sidebar){--card-background:var(--card-background-solid);--card-glass-filter:none}html.swup-native.is-changing :is(#swup,.left-sidebar) *{transition:none !important}::view-transition-group(site-header){animation:none}::view-transition-old(main),::view-transition-new(main){height:100%;object-fit:none;object-position:top}::view-transition-old(main){animation:stackViewOut var(--motion-duration-fast)var(--motion-ease-exit)both}::view-transition-new(main){animation:stackViewIn var(--motion-duration-page)var(--motion-ease-emphasized)both}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-duration-fast);animation-timing-function:var(--motion-ease-standard)}@keyframes stackViewOut{to{opacity:0;transform:translate3d(0,calc(var(--motion-distance) * -.5),0)}}@keyframes stackViewIn{from{opacity:0;transform:translate3d(0,var(--motion-distance),0)}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none !important}}.scroll-actions{position:fixed;right:16px;bottom:18px;z-index:var(--z-sticky);display:grid;gap:var(--spacing-sm);opacity:0;transform:translateZ(0)translateY(8px);pointer-events:none;transition:opacity var(--motion-duration-fast)var(--motion-ease-standard),transform var(--motion-duration-fast)var(--motion-ease-standard)}.scroll-actions.is-visible{opacity:1;transform:translateZ(0);pointer-events:auto}.scroll-actions button{width:42px;height:44px;border:1px solid var(--border-color-default);border-radius:var(--radius-pill);background:var(--card-background);-webkit-backdrop-filter:var(--card-glass-filter);backdrop-filter:var(--card-glass-filter);color:var(--card-text-color-main);box-shadow:var(--shadow-l2);font-size:1.8rem;line-height:1;cursor:pointer;transition:transform var(--motion-duration-fast)var(--motion-ease-standard),var(--transition-surface),opacity var(--motion-duration-fast)var(--motion-ease-standard)}@media(hover:hover){.scroll-actions button:hover{transform:translateY(-1px);background:var(--accent-color);color:var(--accent-color-text)}}.scroll-actions button[data-pressed=true]{background:var(--accent-color);color:var(--accent-color-text)}.scroll-actions.is-near-bottom button:last-child{opacity:.38;pointer-events:none}body.stack-lightbox-open .scroll-actions{display:none}.left-sidebar header .site-name{font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.left-sidebar header .site-description{font-size:1.25rem;line-height:1.55;color:var(--card-text-color-secondary)}.left-sidebar.compact header .site-name{font-size:1.25rem}.left-sidebar.compact header .site-description{font-size:1.2rem}#main-menu{font-size:1.3rem;scrollbar-width:none}#main-menu::-webkit-scrollbar{display:none}#main-menu .menu-bottom-section ol{list-style:none;padding-left:0}.left-sidebar #dark-mode-toggle,.left-sidebar #i18n-switch{font-size:1.3rem}.left-sidebar #dark-mode-toggle{border:none;background:0 0;box-shadow:none;outline:none;padding:0;width:100%;font:inherit;color:inherit;text-align:left}.left-sidebar #dark-mode-toggle>span:not(.color-scheme-state){flex:auto;min-width:0;white-space:nowrap}.left-sidebar #dark-mode-toggle .color-scheme-state{flex-shrink:0;margin-inline-start:calc(10px - var(--menu-icon-separation));white-space:nowrap;padding:2px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--card-text-color-main) 7%,transparent);color:var(--card-text-color-secondary);font-size:var(--font-size-xs);line-height:1.5}.left-sidebar #dark-mode-toggle .color-scheme-state:empty{display:none}#main-menu .menu-search-item{display:list-item}.search-form.search-form--nolabel input{padding-top:20px}.search-form.search-form--nolabel.widget input{padding-top:15px}#toggle-menu,#main-menu a,.article-category a,.article-title a,.article-engagement__actions a,.page-link,.stack-media-trigger,.scroll-actions button{touch-action:manipulation}#toggle-menu{min-width:44px;min-height:44px}@media(min-width:768px){#main-menu .menu-search-item{display:none}.left-sidebar .desktop-search-widget .search-form.widget{--button-size:48px}.left-sidebar .desktop-search-widget .search-form.widget input{padding:14px calc(var(--button-size) + 10px)14px 16px;font-size:1.25rem}.left-sidebar .desktop-search-widget .search-form.widget button{padding:0 12px}.left-sidebar .desktop-search-widget .search-form.widget button svg{width:18px;height:18px}}@media(max-width:767.98px){.menu-flyout-anchor{position:relative;display:block;flex-grow:0;min-height:0;height:0}#main-menu{position:absolute;top:12px;left:0;right:0;display:flex;width:100%;max-height:calc(100vh - 96px);margin:0;border-radius:24px;box-sizing:border-box;flex-grow:0;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateZ(0)translateY(-10px)scale(.98);transform-origin:top center;transition:opacity var(--motion-duration-fast)var(--motion-ease-exit),transform var(--motion-duration-base)var(--motion-ease-exit),visibility 0s linear var(--motion-duration-base);z-index:var(--z-dropdown);touch-action:pan-y}#main-menu.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateZ(0)scale(1);transition:opacity var(--motion-duration-fast)var(--motion-ease-standard),transform var(--motion-duration-base)var(--motion-ease-emphasized),visibility 0s linear 0s}#toggle-menu{z-index:2;pointer-events:auto}.scroll-actions{right:12px;bottom:14px}.scroll-actions button{width:40px;height:40px}.article-list article .article-header :is(.article-title,.article-subtitle){overflow-wrap:anywhere}}@supports(content-visibility:auto){.site-footer{content-visibility:auto;contain-intrinsic-size:auto 160px}}@supports(overflow-anchor:auto){.stack-lazy-picture,.stack-lazy-media{overflow-anchor:none}}body,.article-list article,.article-list--compact article,.article-list--tile article,.main-article,.widget,.section-card{transition:var(--transition-card)}.article-list article,.article-list--compact,.section-card,.main-article,.not-found-card,.search-form input{-webkit-backdrop-filter:var(--card-glass-filter);backdrop-filter:var(--card-glass-filter)}@media(prefers-reduced-motion:reduce){html.stack-page-pending [data-reveal],html.stack-page-pending .stack-page-container-pending{opacity:1}*,*::before,*::after{animation-duration:1ms !important;animation-delay:0s !important;animation-iteration-count:1 !important;transition-duration:1ms !important;transition-delay:0s !important;scroll-behavior:auto !important}:is(.article-list article,.scroll-actions button,.pagination .page-link):hover,a[data-pressed=true],button[data-pressed=true]{transform:none}.stack-lazy-image[data-lazy-state=preview],.stack-lazy-image[data-lazy-state=loading]{opacity:1;transform:none}}.section-title{letter-spacing:.06em;font-size:1.5rem}.site-footer{text-align:center;padding-block:24px 20px;font-size:1.2rem;color:var(--card-text-color-tertiary);line-height:1.8}.site-footer a{color:var(--card-text-color-secondary);text-decoration:none;transition:color var(--transition-fast)var(--ease-out-quad)}.site-footer a:hover{color:var(--accent-color)}.site-footer section{margin-bottom:4px}.site-footer .powerby{font-size:1.15rem;opacity:.72}.site-footer .footer-link{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:8px}.site-footer .footer-link p{margin:0;display:inline-flex;align-items:center;gap:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.mobile-toc{margin:0 var(--card-padding)20px;padding:12px 16px;border:1px solid var(--card-separator-color);border-radius:8px;font-size:1.5rem;line-height:1.7}.mobile-toc summary{cursor:pointer;min-height:28px;font-weight:600}.mobile-toc ul{padding-left:20px}.mobile-toc a{display:inline-block;padding:4px 0}@media(min-width:1024px){.mobile-toc{display:none}}.site-footer .footer-link a,.site-footer .subscription a{font-size:1.12rem;display:inline-flex;align-items:center;min-height:32px;padding:4px}.site-footer .footer-link .footer-beian-icon{width:16px;height:16px;vertical-align:middle;position:relative;top:-2px}@media(min-width:768px){.left-sidebar .desktop-search-widget .search-form.widget input{font-size:1.2rem}}@media(max-width:767.98px){#main-menu{overscroll-behavior-y:auto}#main-menu,#main-menu .menu-bottom-section ol{gap:8px}#main-menu .menu-bottom-section,#main-menu .menu-bottom-section ol{margin:0}#main-menu li>a,#main-menu li>button,#main-menu #i18n-switch{display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:44px}}