:root{color-scheme:light;--background:#fdfdfd;--text:#282728;--accent:#006cac;--font-body:"Site English", "LXGW WenKai", "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, "Times New Roman", Georgia, serif;--font-display:"Site English", "LXGW WenKai", "IBM Plex Serif", "Noto Serif SC", serif;--muted:#e6e6e6;--border:#ece9e9;--surface-muted:color-mix(in srgb, var(--muted) 64%, var(--background) 36%);--card-background:#fff;--card-border:color-mix(in srgb, var(--border) 88%, var(--text) 12%);--card-border-hover:color-mix(in srgb, var(--accent) 28%, var(--border) 72%);--card-shadow:0 8px 24px #2827280a;--card-shadow-hover:0 12px 30px #006cac14;--card-radius:10px;--link:#0071e3;--link-hover:#0058b0;--link-decoration:#0071e357;--focus-ring:color-mix(in srgb, var(--accent) 38%, transparent);--code-inline-background:color-mix(in srgb, var(--accent) 8%, var(--background) 92%);--code-inline-border:color-mix(in srgb, var(--accent) 18%, var(--border) 82%);--text-secondary:color-mix(in srgb, var(--text) 70%, var(--background) 30%);--shadow:0 4px 14px #2827280d;--glass-surface:color-mix(in srgb, #ffffffc7 78%, var(--background) 22%);--glass-surface-strong:color-mix(in srgb, #ffffffe0 74%, var(--surface-muted) 26%);--glass-border:color-mix(in srgb, #ffffffdb 55%, var(--accent) 45%);--glass-border-strong:color-mix(in srgb, #fffffff0 42%, var(--accent) 58%);--glass-shadow:0 10px 30px #1f263f14;--glass-shadow-hover:0 14px 36px #006cac24;--blockquote-border:var(--accent)}[data-theme=dark]{color-scheme:dark;--background:#191919;--text:#e6e6e6;--accent:#b8b8b8;--muted:#252525;--border:#373737;--surface-muted:color-mix(in srgb, var(--muted) 78%, var(--background) 22%);--card-background:#202020;--card-border:color-mix(in srgb, #ffffff24 42%, var(--border) 58%);--card-border-hover:#4a4a4a;--card-shadow:0 12px 34px #00000057;--card-shadow-hover:0 18px 42px #0006;--link:#d4d4d4;--link-hover:#fff;--link-decoration:color-mix(in srgb, var(--link) 46%, transparent);--focus-ring:color-mix(in srgb, var(--accent) 48%, transparent);--code-inline-background:color-mix(in srgb, var(--muted) 72%, var(--background) 28%);--code-inline-border:color-mix(in srgb, var(--border) 72%, var(--muted) 28%);--text-secondary:color-mix(in srgb, var(--text) 64%, var(--background) 36%);--shadow:0 10px 28px #0000004d;--glass-surface:color-mix(in srgb, #252525 74%, var(--background) 26%);--glass-surface-strong:color-mix(in srgb, #303030 70%, var(--surface-muted) 30%);--glass-border:color-mix(in srgb, var(--border) 82%, #b8b8b8 18%);--glass-border-strong:color-mix(in srgb, var(--border) 68%, #d4d4d4 32%);--glass-shadow:0 16px 38px #00000057;--glass-shadow-hover:0 18px 44px #00000070}@view-transition{navigation:auto}html{scrollbar-gutter:stable}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.8}@media (prefers-reduced-motion:no-preference){html.is-theme-transitioning *,html.is-theme-transitioning :before,html.is-theme-transitioning :after{transition:background-color .24s cubic-bezier(.2,.8,.2,1),border-color .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s cubic-bezier(.2,.8,.2,1),color .24s cubic-bezier(.2,.8,.2,1),fill .24s cubic-bezier(.2,.8,.2,1),opacity .24s cubic-bezier(.2,.8,.2,1),stroke .24s cubic-bezier(.2,.8,.2,1),text-decoration-color .24s cubic-bezier(.2,.8,.2,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease-in-out;animation-fill-mode:both}::view-transition-old(root){animation-name:page-fade-out}::view-transition-new(root){animation-name:page-fade-in}}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}::-moz-selection{background:color-mix(in srgb, var(--accent) 70%, transparent);color:var(--background)}::selection{background:color-mix(in srgb, var(--accent) 70%, transparent);color:var(--background)}code,pre{font-family:ui-monospace,SFMono-Regular,Cascadia Code,Liberation Mono,monospace}.container{max-width:1040px;margin:0 auto;padding:0 20px}.top-nav{background:color-mix(in srgb, var(--background) 96%, transparent);z-index:100;position:sticky;top:0}.nav-content{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.site-info{flex-direction:column;display:flex}.site-name{color:var(--text);font-size:20px;font-weight:600;font-family:var(--font-display);margin-bottom:2px;text-decoration:none}.site-slogan{color:var(--text-secondary);text-wrap:pretty;max-width:min(40vw,420px);min-height:1.5em;font-size:12px;line-height:1.5}.nav-right,.nav-links{align-items:center;gap:24px;display:flex}.nav-link{color:var(--text);font-family:inherit;font-size:14px;line-height:1;text-decoration:none;transition:color .2s,opacity .2s}.nav-link:hover,.nav-action-link:hover,.search-button:hover,.rss-button:hover,.theme-toggle:hover{color:var(--accent)}.nav-link:focus-visible,.nav-action-link:focus-visible,.search-button:focus-visible,.rss-button:focus-visible,.theme-toggle:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,.reading-page__article [data-footnote-backref]:focus-visible,.reading-page__article [data-footnote-ref]:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);border-radius:999px;outline:none}.nav-actions{align-items:center;gap:12px;display:flex}.nav-action-link{color:var(--text);align-items:center;gap:.38rem;padding:4px;line-height:1;text-decoration:none;transition:color .2s;display:inline-flex}.search-button,.rss-button,.theme-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:4px;line-height:1;transition:color .2s;display:flex}.theme-icon{transition:transform .2s}main{padding:60px 0}.page-frame{max-width:700px;margin:0 auto}.page-frame__header{margin-bottom:3rem}.page-frame__header h1{margin:0}.page-quote{color:var(--text-secondary);font-family:var(--font-display);text-align:center;max-width:36rem;margin:0 auto;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.8}footer{color:var(--text-secondary);text-align:center;padding:40px 0;font-size:14px}.footer-license{white-space:normal;max-width:100%;margin:12px auto 16px;font-size:clamp(12px,1.35vw,14px);overflow:visible}.footer-stats{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;margin-bottom:16px;display:flex}.footer-stats span{align-items:center;gap:6px;display:inline-flex}.footer-license__text-link{text-decoration-color:color-mix(in srgb, var(--text-secondary) 36%, transparent)}.footer-records{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;display:flex}.footer-records__divider{color:color-mix(in srgb, var(--text-secondary) 72%, transparent);line-height:1}.footer-copyright,.footer-icp,.footer-psb{margin-bottom:0}.footer-icp a,.footer-psb a{color:inherit;text-decoration-color:color-mix(in srgb, var(--text-secondary) 36%, transparent);align-items:center;gap:6px;display:inline-flex}.footer-icp a:hover,.footer-psb a:hover{color:var(--accent)}h1,h2,h3,h4,h5,h6{margin-top:48px;margin-bottom:24px;font-family:inherit;font-weight:500;line-height:1.4}h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}p,ul,ol,pre{margin-bottom:24px}a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:4px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}a:hover{color:color-mix(in srgb, var(--accent) 78%, var(--text) 22%);text-decoration-color:color-mix(in srgb, var(--accent) 56%, transparent)}ul,ol{padding-left:24px}li{margin-bottom:8px}:not(pre)>code{background-color:var(--code-inline-background);border:1px solid var(--code-inline-border);border-radius:7px;padding:.08rem .42rem;font-size:.92em}.card{background:var(--card-background);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:background-color .18s,border-color .18s,box-shadow .18s}.card:hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}@media (width<=768px){.nav-content,.nav-right{flex-direction:column;align-items:flex-start}.nav-content{gap:16px}.site-slogan{max-width:none}.nav-right,.nav-links{gap:16px}.nav-actions{flex-wrap:wrap;gap:10px}}
