@font-face{font-family:Newsreader;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader-latin-v.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader-latin-ext-v.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader-vietnamese-v.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader-italic-latin-v.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader-italic-latin-ext-v.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader-italic-vietnamese-v.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-var.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+22??,U+FEFF,U+FFFD}@font-face{font-family:inter;font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/inter-italic-latin-var.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+22??,U+FEFF,U+FFFD}@font-face{font-family:jetbrainsMono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+22??,U+2500-257F,U+25A0-25FF,U+2700-27BF,U+2B??,U+FEFF,U+FFFD}@font-face{font-family:jetbrainsMono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+22??,U+2500-257F,U+25A0-25FF,U+2700-27BF,U+2B??,U+FEFF,U+FFFD}@font-face{font-family:jetbrainsMono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-latin-600.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+22??,U+2500-257F,U+25A0-25FF,U+2700-27BF,U+2B??,U+FEFF,U+FFFD}@font-face{font-family:jetbrainsMono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+22??,U+2500-257F,U+25A0-25FF,U+2700-27BF,U+2B??,U+FEFF,U+FFFD}:root{--font-serif:"Newsreader", Georgia, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-sans:"inter", Inter, ui-sans-serif, system-ui, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--font-mono:"jetbrainsMono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--color-bg-primary:#f9fafb;--color-bg-secondary:#f2f3f5;--color-bg-tertiary:#ecedee;--color-bg-card:#fff;--color-text-primary:#151617;--color-text-secondary:#414244;--color-text-tertiary:#797a7c;--color-accent-gold:#8a6d1e;--color-accent:#004b96;--color-accent-ink:#00316a;--color-em-ink:#7c271c;--color-link:#3a6ea5;--color-link-hover:#2d5a8a;--color-border:#d6d7d9;--color-border-soft:#e7e8e9;--color-border-hover:#b6b7b8;--color-tag-bg:color-mix(in oklch, var(--color-accent) 8%, var(--color-bg-primary));--color-tag-text:var(--color-accent-ink);--dot-color:#14161c08;--dot-color-2:#0000;--heat-0:#e7e8e9;--heat-1:#b9c9da;--heat-2:#8da9ca;--heat-3:#5783b5;--heat-4:#004b96;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.625rem;--text-3xl:2.125rem;--text-4xl:2.75rem;--text-display:clamp(2.5rem, 7vw, 5.5rem);--text-emphasis:clamp(1.5rem, 3.5vw, 2.25rem);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4.5rem;--space-4xl:6rem;--max-width:1240px;--content-width:720px;--gutter:36px;--gutter-narrow:20px;--radius:4px;--transition:.2s ease}@supports (color:lab(0% 0 0)){:root{--color-bg-primary:lab(98.2593% -.111878 -.358546);--color-bg-secondary:lab(95.9386% -.223041 -.716782);--color-bg-tertiary:lab(93.6186% -.223011 -.716758);--color-text-primary:lab(7.22383% -.301294 -1.0255);--color-text-secondary:lab(28.0776% -.329644 -1.07226);--color-text-tertiary:lab(51.2777% -.332028 -1.07359);--color-accent:lab(31.5831% 4.36035 -47.9739);--color-accent-ink:lab(20.0322% 5.67137 -41.0345);--color-em-ink:lab(29.2695% 37.0176 27.6691);--color-border:lab(86.0786% -.222921 -.71671);--color-border-soft:lab(91.8786% -.223011 -.716746);--color-border-hover:lab(74.4786% -.222802 -.716603);--heat-0:lab(91.8786% -.223011 -.716746);--heat-1:lab(80.0045% -2.84433 -10.5193);--heat-2:lab(68.078% -4.40919 -20.1384);--heat-3:lab(53.0572% -4.14252 -31.883);--heat-4:lab(31.5831% 4.36035 -47.9739)}}[data-theme=dark]{--color-bg-primary:#0b0e11;--color-bg-secondary:#111417;--color-bg-tertiary:#1a1d21;--color-bg-card:#14171b;--color-text-primary:#e2e5e8;--color-text-secondary:#9a9fa5;--color-text-tertiary:#6d7277;--color-accent-gold:#c8a45e;--color-accent:#59a0f9;--color-accent-ink:#8fc1ff;--color-em-ink:#fb9989;--color-link:#8ab3e0;--color-link-hover:#a8c8ee;--color-border:#ffffff14;--color-border-soft:#ffffff1c;--color-border-hover:#ffffff29;--color-tag-bg:#c8a45e1f;--color-tag-text:#c8a45e;--dot-color:#fffaf006;--dot-color-2:#0000;--heat-0:#222427;--heat-1:#2e3f52;--heat-2:#3e5d81;--heat-3:#4f7db4;--heat-4:#62a7fd}@supports (color:lab(0% 0 0)){[data-theme=dark]{--color-bg-primary:lab(3.69298% -.46131 -1.83096);--color-bg-secondary:lab(6.18678% -.66746 -2.55596);--color-bg-tertiary:lab(10.6703% -.816397 -2.82717);--color-bg-card:lab(7.77199% -.784695 -2.81875);--color-text-primary:lab(90.7162% -.552952 -1.78909);--color-text-secondary:lab(65.191% -1.08051 -3.56405);--color-text-tertiary:lab(47.7904% -1.06922 -3.55804);--color-accent:lab(64.3535% -2.00111 -52.0287);--color-accent-ink:lab(76.2689% -4.32146 -42.1026);--color-em-ink:lab(73.4175% 36.162 24.705);--heat-0:lab(14.1538% -.633001 -2.13043);--heat-1:lab(25.6418% -2.66598 -13.9535);--heat-2:lab(38.2485% -3.36774 -24.3291);--heat-3:lab(50.8227% -3.41097 -34.7657);--heat-4:lab(66.738% -2.60669 -50.3939)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition), color var(--transition);line-height:1.7}body:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(var(--dot-color) 1px, var(--dot-color-2) 1px);background-position:0 0;background-repeat:repeat;background-size:3px 3px;position:fixed;inset:0}a{color:var(--color-link);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-link-hover)}img{max-width:100%;height:auto;display:block}::selection{background:var(--color-accent-gold);color:var(--color-bg-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wiki-body{font-family:var(--font-serif);max-width:720px}.wiki-body h1,.wiki-body h2,.wiki-body h3,.wiki-body h4{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-text-primary);scroll-margin-top:96px;font-weight:400;line-height:1.2}.wiki-body h1{margin:42px 0 16px;font-size:26px}.wiki-body h2{margin:36px 0 13px;font-size:22px}.wiki-body h3{margin:28px 0 11px;font-size:18px}.wiki-body h4{margin:22px 0 10px;font-size:16px}.wiki-body-en{font-size:17px;line-height:1.85}.wiki-body-en h1{margin:46px 0 17px;font-size:30px}.wiki-body-en h2{margin:40px 0 14px;font-size:25px}.wiki-body-en h3{margin:32px 0 12px;font-size:20px}.wiki-body-en h4{margin:24px 0 10px;font-size:18px}.wiki-body-en p,.wiki-body-en ul,.wiki-body-en ol,.wiki-body-en table{font-size:17px}.wiki-body-en blockquote{font-size:19px}.wiki-body-en pre{font-size:14px}.wiki-body p{color:var(--color-text-primary);margin:0 0 20px;font-weight:400;line-height:1.8}.wiki-body ul,.wiki-body ol{color:var(--color-text-primary);margin:0 0 20px;padding-left:24px;font-weight:400;line-height:1.8}.wiki-body li{margin-bottom:6px;font-weight:400}.wiki-body strong{color:var(--color-text-primary);font-weight:600}.wiki-body em{color:var(--color-text-primary);font-style:italic}.wiki-body a{font-weight:400}.wiki-body code,.wiki-body pre code{font-family:var(--font-mono);font-size:.85em;line-height:1.6}.wiki-body a{color:var(--color-link);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.wiki-body code{font-family:var(--font-mono);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:4px;padding:1px 5px;font-size:.85em}.wiki-body pre{background:var(--color-bg-card);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:6px;margin:0 0 20px;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}.article-body pre{background:var(--color-bg-card);border:1px solid var(--color-border);max-width:100%;font-family:var(--font-mono);border-radius:6px;margin:0 0 20px;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}.wiki-body pre code{background:0 0;border:none;padding:0}.wiki-body blockquote{border-left:3px solid var(--color-border-hover);color:var(--color-text-secondary);font-family:var(--font-serif);margin:0 0 20px;padding:2px 0 2px 20px;font-size:17px;font-weight:300}.wiki-body table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:14px}.wiki-body th,.wiki-body td{border:1px solid var(--color-border);text-align:left;padding:8px 12px}.wiki-body th{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;background:var(--color-bg-card);font-size:12px}.wiki-body hr{border:none;border-top:1px solid var(--color-border);margin:32px 0}.wiki-admin-preview h1,.wiki-admin-preview h2,.wiki-admin-preview h3,.wiki-admin-preview h4{font-family:var(--font-serif);letter-spacing:-.02em;margin:1.2em 0 .5em;font-weight:400;line-height:1.3}.wiki-admin-preview h1{font-size:24px}.wiki-admin-preview h2{font-size:20px}.wiki-admin-preview h3{font-size:17px}.wiki-admin-preview p{margin:0 0 1em}.wiki-admin-preview ul,.wiki-admin-preview ol{margin:0 0 1em;padding-left:1.5em}.wiki-admin-preview li{margin-bottom:.3em}.wiki-admin-preview code{font-family:var(--font-mono);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:4px;padding:1px 5px;font-size:.85em}.wiki-admin-preview pre{background:var(--color-bg-card);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:6px;margin:0 0 1em;padding:12px 14px;font-size:13px;overflow-x:auto}.wiki-admin-preview pre code{background:0 0;border:none;padding:0}.wiki-admin-preview blockquote{border-left:3px solid var(--color-border-hover);color:var(--color-text-secondary);font-family:var(--font-serif);margin:0 0 1em;padding-left:14px;font-weight:300}.wiki-admin-preview table{border-collapse:collapse;margin:0 0 1em;font-size:14px}.wiki-admin-preview th,.wiki-admin-preview td{border:1px solid var(--color-border);text-align:left;padding:6px 10px}.wiki-scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.wiki-scrollbar-hidden::-webkit-scrollbar{display:none}.a-cover-dark,html[data-theme=dark] .has-dark .a-cover-light{display:none}html[data-theme=dark] .has-dark .a-cover-dark{display:block}a.wiki-row:hover{background:var(--color-bg-tertiary)}#username::placeholder,#password::placeholder{font-family:var(--font-serif)!important;font-size:17px!important;font-weight:400!important}@media (max-width:900px){:root{--gutter:30px}}@media (max-width:480px){:root{--gutter:26px}}.masthead .masthead-burger{display:none!important}.masthead .masthead-mobile{display:none}.masthead-mobile{margin-top:16px}@media (max-width:900px){.masthead .masthead-nav{display:none!important}.masthead .masthead-burger{display:inline-flex!important}.masthead .masthead-actions{gap:10px!important}}@media (max-width:1080px){.masthead .masthead-handle{display:none!important}}.masthead-mobile-open{display:block!important}.masthead-mobile-open ul{display:flex!important}@media (max-width:900px){.masthead .masthead-status,.masthead .masthead-dashboard,.masthead .masthead-cms,.masthead .masthead-signin{display:none!important}.masthead .masthead-actions{gap:12px!important}footer.footer>div>div{grid-template-columns:1fr 1fr!important;gap:32px!important}}@media (max-width:520px){footer.footer>div>div{grid-template-columns:1fr!important}}@media (max-width:720px){.footer-legal{text-align:center;justify-items:center;row-gap:10px;grid-template-columns:1fr!important}.footer-legal>*{text-align:center!important}}@media (max-width:900px){.hero-grid{grid-template-columns:1fr!important;align-items:start!important;gap:40px!important}.hero-grid>*{min-width:0!important}}@media (max-width:1100px){.cards-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:640px){.cards-grid{grid-template-columns:1fr!important;gap:28px!important}}@media (max-width:980px){.detail-grid{grid-template-columns:1fr!important;gap:32px!important}.detail-grid aside{max-height:none!important;position:static!important;overflow:visible!important}.toc-block,.wiki-toc,.rail-meta{display:none!important}}@media (max-width:1200px) and (min-width:901px){.login-grid{grid-template-columns:1fr 1fr!important}}@media (max-width:900px){.login-grid{grid-template-columns:1fr!important}.login-grid aside{display:none!important}.login-grid>div{box-sizing:border-box!important;min-width:0!important;padding:40px 26px!important}.login-grid>div>div{box-sizing:border-box!important;width:100%!important;max-width:440px!important}}@media (max-width:820px){.page-main{padding:40px 30px 64px!important}.page-main h1,.page-main h1 em{letter-spacing:-.8px!important;font-size:40px!important;line-height:1.1!important}}@media (max-width:480px){.page-main{padding:32px 26px 56px!important}.page-main h1,.page-main h1 em{font-size:34px!important}}@media (max-width:820px){.hero-grid h1 span{white-space:normal!important}.hero-grid aside{padding:28px 20px 22px!important}.hero-grid aside .hero-bureaux{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}}.section-head{grid-template-columns:120px 1fr auto!important}@media (max-width:820px){.section-head{grid-template-columns:1fr!important;align-items:start!important;gap:14px!important}.section-head h2{font-size:26px!important;line-height:1.15!important}}.article-body table,.wiki-body table{-webkit-overflow-scrolling:touch;max-width:100%;display:block!important;overflow-x:auto!important}@media (min-width:820px){.article-body table,.wiki-body table{display:table!important}}#username,#password{background-color:#0000!important}#username:-webkit-autofill{-webkit-text-fill-color:var(--color-text-primary);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0000;background-color:#0000!important;background-image:none!important}#username:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text-primary);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0000;background-color:#0000!important;background-image:none!important}#username:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-primary);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0000;background-color:#0000!important;background-image:none!important}#password:-webkit-autofill{-webkit-text-fill-color:var(--color-text-primary);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0000;background-color:#0000!important;background-image:none!important}#password:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text-primary);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0000;background-color:#0000!important;background-image:none!important}#password:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-primary);transition:background-color 9999s ease-out;box-shadow:inset 0 0 0 1000px #0000;background-color:#0000!important;background-image:none!important}.about-grid{grid-template-columns:240px minmax(0,800px)!important}@media (max-width:900px){.about-grid{grid-template-columns:1fr!important;gap:32px!important}.about-grid .about-aside{position:static!important}}.about-link{transition:color .2s}.page-transition{animation:.45s cubic-bezier(.22,1,.36,1) both pageFadeUp}@keyframes pageFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.masthead-navlink{text-transform:uppercase;letter-spacing:.02em;transition:font-weight .15s}.masthead-navlink:hover{font-weight:500!important}.masthead-signin,.masthead-dashboard{transition:all .2s!important}.masthead-signin:hover,.masthead-dashboard:hover{transform:translateY(-1px)}.masthead-signin:active,.masthead-dashboard:active{transform:translateY(0)scale(.97)}.article-filters{flex-wrap:wrap;align-items:center;gap:6px 20px;min-width:0;display:flex}.article-filter{color:var(--color-text-tertiary);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;padding-bottom:4px;font-size:15px;line-height:1.4;text-decoration:none;transition:color .2s;position:relative}.article-filter:after{content:"";background:var(--color-em-ink);transform-origin:0;height:1px;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.article-filter:hover,.article-filter.is-active{color:var(--color-text-primary)}.article-filter.is-active:after{transform:scaleX(1)}.article-filter:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:1px}.article-search-form{gap:8px;margin-left:auto;display:flex}.article-search-input{width:305px}@media (max-width:720px){.article-filters{gap:6px 16px}.article-search-form{width:100%;margin-left:0}.article-search-input{flex:1;width:auto;min-width:0}}.article-card{transition:transform .3s cubic-bezier(.22,1,.36,1)}.article-card:hover{transform:translateY(-4px)}.article-card-cover-frame{background:var(--color-bg-secondary);border:1px solid var(--color-border-soft);border-radius:8px;transition:top .45s cubic-bezier(.22,1,.36,1),right .45s cubic-bezier(.22,1,.36,1),bottom .45s cubic-bezier(.22,1,.36,1),left .45s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;overflow:hidden}.article-card:hover .article-card-cover-frame{inset:-1.5%}.article-card-summary{max-height:80.6px;color:var(--color-text-tertiary);font-family:var(--font-sans);word-break:break-word;-webkit-line-clamp:4;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:2px 0 0;font-size:12px;line-height:20.15px;display:-webkit-box;overflow:hidden}.wiki-shelf-card{transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .3s,background-color .25s}.wiki-shelf-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:0 8px 28px -12px #00000038}.wiki-shelf-bar{transform-origin:0;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .3s}.wiki-shelf-card:hover .wiki-shelf-bar{opacity:1;transform:scaleY(2.5)}.hero-rubric,.hero-h1,.hero-intro,.hero-dl,.hero-aside{animation:.6s cubic-bezier(.22,1,.36,1) both heroFadeUp}.hero-rubric{animation-delay:50ms}.hero-h1{animation-delay:.12s}.hero-intro{animation-delay:.2s}.hero-dl{animation-delay:.28s}.hero-aside{animation-delay:.36s}.hero-intro-link,.hero-intro-arrow{color:inherit;text-decoration:none;transition:color .2s}.hero-intro-link{color:var(--color-em-ink);text-underline-offset:.12em;font-size:20px;font-weight:400;text-decoration:underline;text-decoration-thickness:1px}.hero-intro-link:hover,.hero-intro-arrow:hover{color:var(--color-accent)}.hero-intro-link:focus-visible,.hero-intro-arrow:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:1px}.hero-intro-arrow{width:18px;height:18px;color:var(--color-em-ink);vertical-align:middle;justify-content:center;align-items:center;margin-left:.18em;display:inline-flex;transform:translateY(-2.5px)}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.critical-fonts-pending .critical-serif-title{opacity:0;animation-play-state:paused}.about-ent{animation:.6s cubic-bezier(.22,1,.36,1) both heroFadeUp}.about-ent-1{animation-delay:50ms}.about-ent-2{animation-delay:.12s}.about-ent-3{animation-delay:.2s}.about-ent-4{animation-delay:.28s}.about-reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(16px)}.about-reveal-in{opacity:1;transform:none}.about-toc-link{color:var(--color-text-secondary);font-weight:400;transition:color .25s,font-weight .15s;position:relative}.about-toc-link:after{content:"";background:var(--color-border);transform-origin:0;height:1px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.about-toc-link:hover,.about-toc-link.active{color:var(--color-text-primary);font-weight:500}.about-toc-link.active:after{transform:scaleX(1)}.case-panel{border:1px solid var(--color-border-soft);background:var(--color-bg-secondary);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:16px;max-width:68ch;margin-top:16px;padding:20px 24px;display:grid}.case-in>*{animation:.4s cubic-bezier(.22,1,.36,1) both rowUp}.case-in>:first-child{animation-delay:40ms}.case-in>:nth-child(2){animation-delay:.1s}.case-in>:nth-child(3){animation-delay:.16s}.case-in>:nth-child(4){animation-delay:.22s}.case-in>:nth-child(5){animation-delay:.28s}.case-block{grid-column:1/-1;margin-bottom:18px}.case-block:last-of-type{margin-bottom:0}.case-label{align-items:center;gap:8px;display:flex}.case-label:before{content:"";background:var(--color-accent);border-radius:2px;flex:none;width:3px;height:12px}.case-tags{flex-wrap:wrap;grid-area:1/1;gap:6px;min-width:0;margin-bottom:18px;display:flex}.case-detail-link{font-family:var(--font-serif);color:var(--color-em-ink);text-underline-offset:4px;grid-area:1/2;justify-self:end;margin:1px 0 0;font-size:13px;line-height:20px;text-decoration:underline;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.case-detail-link:hover{color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.case-arrow{transition:transform .35s cubic-bezier(.22,1,.36,1),color .25s;display:inline-block;transform:rotate(0)}.case-arrow.open{transform:rotate(180deg)}.case-item-hover{transition:background-color .25s}.case-item-hover:hover{background:var(--color-bg-tertiary)}.case-row:hover .case-no{color:var(--color-accent)!important}.case-row:hover .case-title{color:var(--color-link-hover)}.case-row:hover .case-hint{color:var(--color-text-secondary)}.case-row:hover .case-arrow{color:var(--color-text-primary)!important}@media (max-width:720px){.case-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:4px 10px;display:grid!important}.case-no{grid-area:1/1;width:auto!important}.case-title{grid-area:1/2}.case-company{grid-area:2/2/auto/-1}.case-toggle{grid-area:1/3;margin-left:0!important}.case-item-hover{padding:18px 14px 14px!important}.case-panel{flex-direction:column;display:flex;margin-top:14px!important;padding:16px!important}.case-tags{order:1;margin-bottom:16px}.case-block{order:2;margin-bottom:16px}.case-detail-link{border-top:1px solid var(--color-border-soft);text-align:right;order:3;width:100%;margin:0;padding-top:14px;font-size:14px}}@keyframes rowUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.about-reveal-in .wiki-row,.about-reveal-in li.stagger{animation:.5s cubic-bezier(.22,1,.36,1) both rowUp;animation-delay:calc(min(var(--i,0), 8) * 45ms)}.about-reveal-in .article-card{animation:.5s cubic-bezier(.22,1,.36,1) backwards rowUp;animation-delay:calc(min(var(--i,0), 8) * 45ms)}.wiki-row{transition:background .2s,padding-left .3s cubic-bezier(.22,1,.36,1)}.wiki-row:hover{padding-left:8px}.wiki-row .wiki-arrow{transition:transform .3s cubic-bezier(.22,1,.36,1),color .2s;display:inline-block}.wiki-row:hover .wiki-arrow{color:var(--color-text-primary);transform:translate(4px)}.wiki-head{animation:.55s cubic-bezier(.22,1,.36,1) both heroFadeUp}.wiki-head-1{animation-delay:50ms}.wiki-head-2{animation-delay:.12s}.wiki-head-3{animation-delay:.2s}.wiki-body-fade{animation:.6s cubic-bezier(.22,1,.36,1) .28s both heroFadeUp}.rail-meta{border-bottom:1px solid var(--color-border-soft);margin-bottom:16px;padding-bottom:14px}.read-progress{font-family:var(--font-mono);white-space:nowrap;color:var(--color-text-tertiary);font-size:11px;line-height:1.4;overflow:hidden}.read-progress b{color:var(--color-text-primary);font-weight:400}.read-progress .pct{text-align:right;min-width:4ch;color:var(--color-text-secondary);margin-left:8px;display:inline-block}.rail-time{font-family:var(--font-mono);letter-spacing:.66px;text-transform:uppercase;color:var(--color-text-tertiary);margin-top:10px;font-size:11px}.toc-wrap nav a{transition:color .2s,padding-left .25s}.toc-wrap nav a:hover{color:var(--color-text-primary);padding-left:4px}.about-link{font-weight:400;transition:font-weight .15s,color .2s}.about-link:hover{font-weight:600}.socials{border-top:1px solid var(--color-border-soft);min-width:0;max-width:645px}.social{min-width:0;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-soft);grid-template-columns:28px 30px minmax(120px,.45fr) minmax(0,1fr);align-items:center;gap:16px;min-height:61px;padding:18px 20px;text-decoration:none;transition:padding-left .7s cubic-bezier(.22,1,.36,1);display:grid}.social:hover{padding-left:22px}.social .s-ico{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text-primary);border-radius:9px;flex:none;justify-content:center;align-items:center;transition:transform .6s cubic-bezier(.22,1,.36,1);display:inline-flex}.social .s-ico img,.social .s-ico svg{fill:currentColor;width:15px;height:15px;display:block}.social .s-ico.bilibili img,.social .s-ico.bilibili svg{width:16px;height:16px}.social .s-ico.xiaohongshu img,.social .s-ico.xiaohongshu svg{width:15px;height:15px}.social .s-ico.x img,.social .s-ico.x svg{width:12px;height:12px}html[data-theme=dark] .social .s-ico.x img{filter:invert()}.social:hover .s-ico{transform:rotate(-6deg)scale(1.07)}.social .s-idx{color:var(--color-text-tertiary);font-family:var(--font-mono);flex:none;width:22px;font-size:13px}.social .s-name{font-family:var(--font-serif);letter-spacing:-.02em;font-size:18px;font-weight:400;line-height:1;transform:translateY(3px)}.social .s-val{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-tertiary);font-family:var(--font-mono);text-align:right;font-size:13px;overflow:hidden}@media (max-width:720px){.social{grid-template-columns:28px minmax(max-content,.45fr) minmax(0,1fr);gap:10px;padding:18px 12px}.social .s-ico{border-radius:8px;width:28px;height:28px}.social .s-idx{display:none}.social .s-name{white-space:nowrap;font-size:18px}.social .s-val{font-size:10.5px}}.article-body a,.wiki-body a,.about-link{transition:color .2s,text-decoration-color .2s,border-bottom-color .2s}.section-head a[href]{transition:color .2s;position:relative}.section-head a[href]:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.section-head a[href]:hover:after{transform:scaleX(1)}.oss-card{transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .3s}.oss-card:hover{border-color:var(--color-border-hover);transform:translateY(-3px);box-shadow:0 6px 24px -12px #0000002e}.oss-card:hover .oss-card-content>div:first-child{color:var(--color-link-hover)}@media (max-width:900px){section .oss-two-col{grid-template-columns:1fr!important;gap:32px!important}}@media (max-width:640px){section .oss-grid{grid-template-columns:1fr!important}}.heatmap-view{width:100%}.heatmap-view-half-year,.heat-total-half-year{display:none}.heatmap{grid-template-rows:16px repeat(7,auto);grid-template-columns:repeat(var(--heat-weeks,53), minmax(0, 1fr));gap:3px;width:100%;display:grid}.heat-month{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;grid-row:1;align-self:end;font-size:9.5px;overflow:visible}.heat-cell{aspect-ratio:1;background:var(--heat-0);border-radius:2px;width:100%}.heat-l0{background:var(--heat-0)}.heat-l1{background:var(--heat-1)}.heat-l2{background:var(--heat-2)}.heat-l3{background:var(--heat-3)}.heat-l4{background:var(--heat-4)}.heat-empty{background:0 0}.heat-legend{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);align-items:center;gap:4px;font-size:10px;display:inline-flex}.heat-legend .heat-cell{aspect-ratio:auto;width:11px;height:11px}@media (max-width:767px){.heatmap-view-year,.heat-total-year{display:none}.heatmap-view-half-year,.heat-total-half-year{display:block}.heatmap-view-half-year .heatmap{gap:2px}}@media (max-width:900px){.wiki-shown{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;display:grid!important}.wiki-shown .wiki-shelf-card{flex:none!important;width:100%!important;min-height:0!important}}@media (max-width:560px){.wiki-shown{grid-template-columns:repeat(2,1fr)!important}}button.theme-toggle{border:1px solid var(--color-border);color:var(--color-text-secondary)}button.theme-toggle:hover{border-color:var(--color-border-hover);color:var(--color-text-primary);background:color-mix(in oklch, var(--color-bg-secondary) 60%, transparent)}button.theme-toggle:active{transform:scale(.94)}.home-content-section{padding:100px 0;position:relative}.home-content-section+.home-content-section:before{content:"";width:min(calc(100% - var(--gutter) - var(--gutter)), calc(var(--max-width) - var(--gutter) - var(--gutter)));background:color-mix(in oklch, var(--color-text-primary) 7%, transparent);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.home-ticker{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-mono);margin-top:46px;padding:10px 0;font-size:12px;font-weight:400;line-height:18.6px;position:relative;overflow:hidden}.home-ticker-track{width:max-content;animation:60s linear infinite homeTicker;display:flex}.home-ticker-set{white-space:nowrap;gap:40px;padding-right:40px;display:flex}.home-ticker-item{text-transform:uppercase;align-items:baseline;gap:10px;display:inline-flex}.home-ticker-item strong{color:var(--color-accent);font:inherit;text-transform:none;font-weight:400}.home-ticker:hover .home-ticker-track{animation-play-state:paused}@keyframes homeTicker{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.home-ticker-track{animation:none}.home-ticker-set[aria-hidden=true]{display:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto!important}}
