:root{--r-xs:8px;--r-sm:12px;--r-md:18px;--r-lg:26px;--r-xl:34px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--ease:cubic-bezier(.2, .8, .2, 1);--ease-expo:cubic-bezier(.16, 1, .3, 1);--t-fast:160ms;--t-mid:320ms;--t-slow:560ms;--font-cjk:"HarmonyOS Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI",
        "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
        "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--main-width:780px;--shell-max:1240px;--header-h:60px}:root,:root[data-theme=dark]{--bg:#07080f;--bg-2:#0a0c16;--surface:rgba(255, 255, 255, .055);--surface-2:rgba(255, 255, 255, .085);--surface-solid:rgba(16, 19, 31, .72);--stroke:rgba(255, 255, 255, .09);--stroke-2:rgba(255, 255, 255, .17);--text:#eaecf5;--text-2:rgba(234, 236, 245, .66);--text-3:rgba(234, 236, 245, .42);--accent:#5b84ff;--accent-2:#a56bff;--accent-3:#4fd1c5;--gold:#e7c77a;--glow-1:#2e4bff;--glow-2:#8b3bff;--glow-3:#10b8a6;--shadow-card:0 26px 60px -34px rgba(0, 0, 0, .98);--shadow-lift:0 36px 80px -34px rgba(0, 0, 0, 1);--grid-line:rgba(255, 255, 255, .05);--rim:linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, 0) 42%);--sand:rgba(234, 236, 245, .1);--code-bg:rgba(255, 255, 255, .07);--code-block-bg:rgba(255, 255, 255, .05);--primary:#dadadb;--secondary:#9b9c9d;--tertiary:#414244;--entry:rgba(255, 255, 255, .05);--theme:#07080f;color-scheme:dark}:root[data-theme=light]{--bg:#edf0f6;--bg-2:#f7f8fc;--surface:rgba(255, 255, 255, .66);--surface-2:rgba(255, 255, 255, .84);--surface-solid:rgba(255, 255, 255, .86);--stroke:rgba(22, 28, 48, .09);--stroke-2:rgba(22, 28, 48, .17);--text:#141827;--text-2:rgba(20, 24, 39, .66);--text-3:rgba(20, 24, 39, .44);--accent:#3a63e8;--accent-2:#7b4fe0;--accent-3:#0e9e8f;--gold:#b4852c;--glow-1:#8fb0ff;--glow-2:#c7a8ff;--glow-3:#8fe3d6;--shadow-card:0 22px 50px -32px rgba(24, 32, 64, .4);--shadow-lift:0 32px 70px -32px rgba(24, 32, 64, .48);--grid-line:rgba(22, 28, 48, .055);--rim:linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 46%);--sand:rgba(20, 24, 39, .06);--code-bg:rgba(20, 24, 39, .06);--code-block-bg:rgba(20, 24, 39, .05);--primary:#1a1a1a;--secondary:#5f5f5f;--tertiary:#b4b4b4;--entry:rgba(255, 255, 255, .7);--theme:#edf0f6;color-scheme:light}body{font-family:var(--font-cjk);-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);min-height:100vh}.space-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.space-grid{position:absolute;inset:-8% -5% auto -5%;height:140%;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(120% 62% at 50% 2%,#000 0%,transparent 64%);mask-image:radial-gradient(120% 62% at 50% 2%,#000 0%,transparent 64%);opacity:.75;transform:translate3d(0,var(--py,0px),0)}.space-aurora{position:absolute;inset:0;filter:blur(72px);opacity:.7;transform:translate3d(0,var(--py,0px),0)}.space-aurora b{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen}:root[data-theme=light] .space-aurora{filter:blur(100px);opacity:.32;mix-blend-mode:multiply}:root[data-theme=light] .space-aurora b{mix-blend-mode:multiply;opacity:.8}.au-1{width:520px;height:520px;left:-6%;top:-4%;background:radial-gradient(circle at 40% 40%,var(--glow-1),transparent 66%);animation:drift-1 26s var(--ease)infinite alternate}.au-2{width:460px;height:460px;right:-10%;top:4%;background:radial-gradient(circle at 60% 40%,var(--glow-2),transparent 66%);animation:drift-2 32s var(--ease)infinite alternate;opacity:.72}.au-3{width:420px;height:420px;left:30%;top:16%;background:radial-gradient(circle at 50% 50%,var(--glow-3),transparent 68%);animation:drift-3 38s var(--ease)infinite alternate;opacity:.55}@keyframes drift-1{0%{transform:translate3d(0,0,0)scale(1)}100%{transform:translate3d(14%,10%,0)scale(1.14)}}@keyframes drift-2{0%{transform:translate3d(0,0,0)scale(1.05)}100%{transform:translate3d(-12%,14%,0)scale(.92)}}@keyframes drift-3{0%{transform:translate3d(0,0,0)scale(.9)}100%{transform:translate3d(8%,-12%,0)scale(1.16)}}.space-grain{position:absolute;inset:0;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.header,.main,.footer{position:relative;z-index:1}.header{position:sticky;top:0;z-index:40;background:var(--surface-solid);-webkit-backdrop-filter:blur(24px)saturate(170%);backdrop-filter:blur(24px)saturate(170%);border-bottom:1px solid var(--stroke)}.header-nav{max-width:var(--shell-max);margin:0 auto;padding:10px var(--sp-5);display:flex;align-items:center;gap:var(--sp-4)}.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;color:inherit}.logo a{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.logo .logo-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:15px;color:#fff;background:linear-gradient(140deg,var(--accent),var(--accent-2));box-shadow:0 6px 18px -6px var(--accent)}.logo .logo-text{display:flex;flex-direction:column;line-height:1.15}.logo .logo-text b{font-size:15px;font-weight:650;letter-spacing:.2px}.logo .logo-text i{font-style:normal;font-size:10px;color:var(--text-3);letter-spacing:1.3px;text-transform:uppercase}.header-nav .menu{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}.header-nav .menu li a{display:inline-block;padding:7px 13px;border-radius:var(--r-pill);font-size:14px;color:var(--text-2);text-decoration:none;transition:background-color var(--t-fast)var(--ease),color var(--t-fast)var(--ease)}.header-nav .menu li a:hover{color:var(--text);background:var(--surface-2)}.header-nav .menu .active{color:var(--text);background:var(--surface-2);font-weight:600;box-shadow:0 0 0 1px var(--stroke)inset}.logo-switches{display:flex;align-items:center;gap:8px;flex-shrink:0}.theme-toggle{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;cursor:pointer;background:var(--surface);border:1px solid var(--stroke);color:var(--text-2);transition:transform var(--t-fast)var(--ease),color var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease)}.theme-toggle:hover{color:var(--text);border-color:var(--stroke-2);transform:translateY(-1px)}.theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.main{max-width:var(--shell-max);margin:0 auto;padding:0 var(--sp-5)var(--sp-8)}.home-hero{display:flex;flex-direction:column;gap:var(--sp-6);padding:clamp(34px,5vw,64px)0 var(--sp-6)}.home-intro{max-width:62ch}.home-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);padding:6px 13px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.home-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--accent-3);box-shadow:0 0 10px var(--accent-3)}.home-title{margin:var(--sp-4)0 0;font-size:clamp(28px,4.4vw,48px);line-height:1.16;font-weight:800;letter-spacing:-.6px}.home-title .grad{background:linear-gradient(100deg,var(--accent),var(--accent-2) 52%,var(--accent-3));-webkit-background-clip:text;background-clip:text;color:transparent}.home-sub{margin:var(--sp-4)0 0;font-size:clamp(14px,1.4vw,16px);color:var(--text-2);line-height:1.85;max-width:54ch}.home-stats{display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-top:var(--sp-6)}.home-stats div{display:flex;flex-direction:column;gap:2px}.home-stats b{font-size:22px;font-weight:750;letter-spacing:-.4px}.home-stats span{font-size:12px;color:var(--text-3)}.home-search{display:flex;align-items:center;gap:11px;max-width:520px;margin:0;padding:12px 16px;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);box-shadow:var(--shadow-card);transition:border-color var(--t-mid)var(--ease),box-shadow var(--t-mid)var(--ease)}.home-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent),var(--shadow-lift)}.home-search svg{width:17px;height:17px;color:var(--text-3);flex-shrink:0}.home-search input{flex:1;min-width:0;border:none;outline:none;background:0 0;font:inherit;font-size:16px;color:var(--text)}.home-search input::placeholder{color:var(--text-3);opacity:.85}.home-search input::-webkit-search-cancel-button{-webkit-appearance:none}.hs-kbd{font-family:var(--font-mono);font-size:11px;line-height:1;color:var(--text-3);border:1px solid var(--stroke);border-radius:6px;padding:3px 7px;background:var(--sand);flex-shrink:0}.home-search-results{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--stroke);background:var(--surface-solid);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.home-search-results .hs-count{margin:var(--sp-4)var(--sp-4)4px;font-size:13px;color:var(--text-2)}.home-search-results .hs-result:first-of-type{border-top:1px solid var(--stroke)}.home-cats{display:grid;gap:var(--sp-2);padding:var(--sp-5);border-radius:var(--r-lg);box-shadow:var(--shadow-card);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%)}.hc-group{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3)2px;border-bottom:1px solid var(--stroke)}.hc-group:last-child{border-bottom:0;padding-bottom:0}.hc-label{flex-shrink:0;width:66px;font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:.4px}.hc-terms{display:flex;flex-wrap:wrap;gap:8px}.hc-term{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--r-pill);border:1px solid var(--stroke);background:var(--sand);font-size:13px;color:var(--text-2);text-decoration:none;transition:color var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease),background-color var(--t-fast)var(--ease)}a.hc-term:hover{border-color:var(--stroke-2);background:var(--surface-2);color:var(--text)}.hc-term .hc-n{font-size:11px;line-height:1;color:var(--text-3);background:var(--code-bg);border-radius:var(--r-pill);padding:2.5px 6px;font-family:var(--font-mono)}.hc-empty{opacity:.42;cursor:default;border-style:dashed}.ft-tree{display:grid;gap:0;padding:var(--sp-3)var(--sp-4);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%)}.ft-row{display:flex;align-items:center;gap:var(--sp-3);padding:13px var(--sp-3);border-bottom:1px solid var(--stroke);border-radius:var(--r-sm);color:var(--text);text-decoration:none;min-width:0;transition:background-color var(--t-fast)var(--ease),color var(--t-fast)var(--ease)}.ft-row:last-child{border-bottom:0}a.ft-row:hover{background:var(--surface-2)}.ft-ico{flex:none;display:inline-flex;color:var(--accent)}.ft-ico svg{width:21px;height:21px;display:block}.ft-body{display:flex;flex-direction:column;justify-content:center;gap:2px;flex:auto;min-width:0;min-height:38px}.ft-name{font-size:15px;font-weight:600;letter-spacing:.2px}.ft-desc{font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-n{flex:none;padding:2.5px 9px;border-radius:var(--r-pill);background:var(--sand);font-family:var(--font-mono);font-size:12px;color:var(--text-3)}.ft-arrow{flex:none;color:var(--text-3);font-size:17px;line-height:1;transition:transform var(--t-fast)var(--ease),color var(--t-fast)var(--ease)}a.ft-row:hover .ft-arrow{transform:translateX(2px);color:var(--accent)}.home-log{border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%)}.home-log .hc-group{align-items:flex-start;border-bottom:0;padding:0;display:block}.home-log .hc-label{padding:var(--sp-4)var(--sp-5)var(--sp-2);display:block;width:auto}.hl-list{margin:0;padding:0 var(--sp-5)var(--sp-4);list-style:none}.hl-list li{display:block;padding:10px 0 10px 16px;border-bottom:1px solid var(--stroke);border-left:2px solid var(--stroke);position:relative}.hl-list li:last-child{border-bottom:0}.hl-list li::before{content:"";position:absolute;left:-5px;top:15px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.hl-list time{display:block;font-family:var(--font-mono);font-size:12px;color:var(--text-3);margin-bottom:3px}.hl-list span{color:var(--text-2);font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-width:0}.post-list{display:grid;gap:var(--sp-3)}.post-entry{position:relative;padding:var(--sp-4)var(--sp-5);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);transition:transform var(--t-mid)var(--ease-expo),box-shadow var(--t-mid)var(--ease),border-color var(--t-mid)var(--ease)}.post-entry:hover,.post-entry:focus-within{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--stroke-2)}.post-entry .entry-header h2{font-size:18px;font-weight:650;letter-spacing:-.2px;line-height:1.45;margin:0 0 6px}.post-entry .entry-header h2 a{color:var(--text);text-decoration:none;transition:color var(--t-fast)var(--ease)}.post-entry:hover .entry-header h2 a{color:var(--accent)}.post-entry .entry-content{margin:6px 0 10px;font-size:14px;color:var(--text-2);line-height:1.75}.post-entry .entry-content p{margin:0}.post-entry .entry-footer,.post-meta{font-size:12.5px;color:var(--text-3);display:flex;flex-wrap:wrap;gap:10px;align-items:center}.entry-footer .taxonomy{margin-right:auto}.post-sheen{position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px 180px at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%);opacity:0;transition:opacity var(--t-mid)var(--ease)}.post-entry:hover .post-sheen{opacity:1}.bs-lead{margin-bottom:var(--sp-5);color:var(--text-2);font-size:14.5px;line-height:1.8}.bs-lead p{margin:0}.bs-wrap{margin-top:6px}.bs-intro{margin:0 0 var(--sp-4);color:var(--text-3);font-size:13.5px}.bs-wrap .home-search{max-width:none}.bs-tree{margin-top:18px}.bs-ico{width:34px;height:44px;border-radius:8px;overflow:hidden;background:var(--sand);justify-content:center;align-items:center}.bs-ico img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.bs-ico svg{width:20px;height:20px}.bs-dl-ico{display:inline-flex;align-items:center;font-size:0}.bs-dl-ico svg{width:17px;height:17px;display:block}a.bs-row:hover .bs-dl-ico{transform:translateY(1px);color:var(--accent)}.bs-empty{margin-top:26px;text-align:center;color:var(--text-3);font-size:14px}.bs-reader{max-width:1040px;margin-inline:auto}.bs-toolbar{display:flex;align-items:center;gap:12px;margin:18px 0 14px}.bs-file{flex:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:12.5px;color:var(--text-3)}.bs-viewer{overflow:hidden;border:1px solid var(--stroke);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow-card)}.bs-viewer iframe{display:block;width:100%;height:min(80vh,980px);border:0}.bs-hint{margin:12px 0 0;font-size:12.5px;line-height:1.7;color:var(--text-3)}.bs-hint a{color:var(--accent)}.bs-about{margin-top:var(--sp-6)}.bs-actions{margin:var(--sp-6)0 0}.bs-dl-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:13.5px;font-weight:600;text-decoration:none;box-shadow:0 18px 36px -22px var(--accent);transition:transform var(--t-fast)var(--ease),filter var(--t-fast)var(--ease)}.bs-dl-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.bs-size{font-weight:500;opacity:.8}@media(max-width:640px){.bs-ico{width:28px;height:36px}}.post-single{max-width:var(--shell-max);margin:0 auto}.post-header{padding:var(--sp-6)0 var(--sp-5);max-width:100%}.post-header .breadcrumbs{font-size:12.5px;color:var(--text-3);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--sp-4)}.post-header .breadcrumbs a{color:var(--text-3);text-decoration:none;transition:color var(--t-fast)var(--ease)}.post-header .breadcrumbs a:hover{color:var(--accent)}.post-title{margin:0 0 var(--sp-3);font-size:clamp(23px,3.2vw,34px);line-height:1.28;font-weight:800;letter-spacing:-.5px}.post-title a{color:var(--text);text-decoration:none}.post-description{color:var(--text-2);font-size:15px;line-height:1.75;margin-bottom:var(--sp-3)}.post-meta{margin-top:var(--sp-2)}.read-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none}.read-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 12px var(--accent)}.toc{position:sticky;top:calc(var(--header-h) + 16px);padding:var(--sp-4);border-radius:var(--r-md);box-shadow:var(--shadow-card);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:13px;max-height:calc(100vh - var(--header-h) - 48px);overflow-y:auto}.toc .inner>ul{margin:0;padding:0;list-style:none}.toc .inner ul{margin:0;padding-left:12px;list-style:none}.toc .inner>ul{padding-left:0}.toc .inner li{margin:0}.toc .title{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3);font-weight:700;margin:0 0 10px}.toc nav a,.toc .inner a{display:block;padding:4px 0;line-height:1.55;color:var(--text-2);text-decoration:none;transition:color var(--t-fast)var(--ease),translate var(--t-fast)var(--ease)}.toc nav a:hover,.toc .inner a:hover{color:var(--accent);translate:3px 0}.article-main{min-width:0}.post-content{max-width:100%;padding:var(--sp-6)var(--sp-6)var(--sp-7);border-radius:var(--r-lg);box-shadow:var(--shadow-card);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);font-size:15.5px;line-height:2;color:var(--text)}.post-content>p,.post-content>ul,.post-content>ol,.post-content>h2,.post-content>h3,.post-content>h4,.post-content>blockquote,.post-content>table{max-width:72ch}.post-content h2{font-size:20px;font-weight:700;margin:2.2em 0 .8em;letter-spacing:-.2px;scroll-margin-top:calc(var(--header-h) + 20px)}.post-content h2:first-child{margin-top:0}.post-content h3{font-size:16.5px;font-weight:650;margin:1.7em 0 .6em;scroll-margin-top:calc(var(--header-h) + 20px)}.post-content h4{font-size:15px;font-weight:650;margin:1.5em 0 .5em}.post-content p{margin:0 0 1.05em}.post-content ul,.post-content ol{margin:0 0 1.1em;padding-left:1.4em}.post-content li{margin:.35em 0}.post-content blockquote{margin:1.3em 0;padding:12px 18px;border-left:2px solid var(--accent);background:var(--surface);border-radius:0 var(--r-md)var(--r-md)0;color:var(--text-2)}.post-content blockquote p:last-child{margin-bottom:0}.post-content table{width:100%;border-collapse:collapse;margin:1.3em 0;font-size:14px}.post-content th,.post-content td{border:1px solid var(--stroke);padding:9px 13px;text-align:left}.post-content th{background:var(--surface-2);font-weight:650}.post-content hr{border:0;border-top:1px solid var(--stroke);margin:var(--sp-6)0}.paginav{display:grid;gap:var(--sp-3);max-width:100%;margin-top:var(--sp-6)}.paginav .prev,.paginav .next{display:block;padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--stroke);text-decoration:none;color:inherit;transition:transform var(--t-mid)var(--ease-expo),border-color var(--t-mid)var(--ease)}.paginav .prev:hover,.paginav .next:hover{border-color:var(--accent);transform:translateY(-2px)}.paginav .prev span,.paginav .next span{display:block;font-size:11.5px;color:var(--text-3);margin-bottom:5px}.paginav .prev b,.paginav .next b{font-size:14.5px;font-weight:600}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sp-5)}.post-tags a{font-size:12px;color:var(--text-2);text-decoration:none;padding:4px 11px;border-radius:var(--r-pill);background:var(--sand);border:1px solid transparent;transition:color var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease)}.post-tags a:hover{color:var(--text);border-color:var(--stroke-2)}.page-header{padding:var(--sp-7)0 var(--sp-5)}.page-header .breadcrumbs{font-size:12.5px;color:var(--text-3);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--sp-3)}.page-header .breadcrumbs a{color:var(--text-3);text-decoration:none}.page-header .breadcrumbs a:hover{color:var(--accent)}.page-header h1{margin:0;font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.4px}.page-header .post-description{margin-top:var(--sp-3)}.footer{border-top:1px solid var(--stroke);padding:var(--sp-6)var(--sp-5);margin-top:var(--sp-8);background:var(--surface-solid);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.footer-inner{max-width:var(--shell-max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font-size:13px;color:var(--text-3)}.footer a{color:var(--text-2);text-decoration:none}.footer a:hover{color:var(--accent)}.top-link{position:fixed;right:22px;bottom:22px;z-index:50;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-lift);color:var(--text-2);transition:transform var(--t-mid)var(--ease-expo),color var(--t-fast)var(--ease)}.top-link:hover{color:var(--accent);transform:translateY(-3px)}.top-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pagination{display:flex;justify-content:center;gap:8px;margin-top:var(--sp-7)}.pagination a,.pagination .page-item{display:grid;place-items:center;min-width:36px;height:36px;padding:0 12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--stroke);color:var(--text-2);text-decoration:none;font-size:14px;transition:color var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease)}.pagination a:hover{color:var(--text);border-color:var(--stroke-2)}.pagination .active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent}.katex{font-size:1.06em}.katex-display{margin:1.3em 0;padding:16px 6px;overflow-x:auto;overflow-y:hidden}.katex-display>.katex{display:inline-block;min-width:min(100%,340px);padding:14px 18px;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r-md)}.katex-display>.katex>.katex-html{display:block;text-align:center}details.ans{margin:1.2em 0;border-radius:var(--r-md);border:1px solid var(--stroke);background:var(--surface);overflow:hidden}details.ans>summary{cursor:pointer;padding:11px 16px;font-size:14px;font-weight:600;color:var(--accent);list-style:none;-webkit-user-select:none;user-select:none}details.ans>summary::-webkit-details-marker{display:none}details.ans>summary::before{content:"\25B8";display:inline-block;margin-right:8px;transition:transform var(--t-fast)var(--ease)}details.ans[open]>summary::before{transform:rotate(90deg)}details.ans[open]>summary{border-bottom:1px solid var(--stroke)}details.ans>div,details.ans>.ans-body{padding:14px 16px;font-size:14.5px;line-height:1.9;color:var(--text-2)}code{font-family:var(--font-mono);font-size:.88em;background:var(--code-bg);padding:.12em .38em;border-radius:5px}pre{background:var(--code-block-bg);border:1px solid var(--stroke);border-radius:var(--r-md);padding:var(--sp-4);overflow-x:auto;font-size:13.5px;line-height:1.7}pre code{background:0 0;padding:0}.tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--surface-solid);-webkit-backdrop-filter:blur(24px)saturate(170%);backdrop-filter:blur(24px)saturate(170%);border-top:1px solid var(--stroke)}.tabbar ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;max-width:var(--shell-max)}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;font-size:10px;letter-spacing:-.2px;color:var(--text-3);padding:7px 0;border-radius:var(--r-md);transition:color var(--t-fast)var(--ease),background-color var(--t-fast)var(--ease)}.tabbar a.on{color:var(--accent);background:var(--surface)}.tabbar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@container mh (min-width:1100px){.home-cols {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 400px;
        gap: var(--sp-6);
        align-items: start;
    }

    .post-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .article-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: var(--sp-5);
        align-items: start;
    }

    
    .article-grid .article-main {
        grid-column: 1;
        grid-row: 1;
    }

    .article-grid > .toc {
        grid-column: 2;
        grid-row: 1;
    }
}@container mh (min-width:780px){.post-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .article-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 250px;
        gap: var(--sp-5);
        align-items: start;
    }

    .article-grid .article-main {
        grid-column: 1;
        grid-row: 1;
    }

    .article-grid > .toc {
        grid-column: 2;
        grid-row: 1;
    }
}@media(max-width:779px){.header-nav .menu{display:none}.tabbar{display:block}.main{padding-bottom:96px}}@container mh (max-width:779px){.article-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: var(--sp-5);
    }

    .article-grid .article-main {
        grid-column: 1;
        grid-row: 2;
    }

    .article-grid > .toc {
        grid-column: 1;
        grid-row: 1;
        position: static;
    }
}@media(max-width:560px){.header-nav{padding:10px var(--sp-4)}.logo .logo-text i{display:none}.top-link{right:14px;bottom:84px}}@container mh (max-width:560px){.main {
        padding: 0 var(--sp-4) 96px;
    }

    .home-hero {
        padding: 26px 0 var(--sp-5);
    }

    .home-title {
        font-size: 28px;
        letter-spacing: -.4px;
    }

    .home-sub {
        font-size: 14px;
        margin-top: 12px;
    }

    .home-search {
        padding: 11px 14px;
    }

    .home-search input {
        font-size: 16px;
    }

    .home-stats {
        margin-top: 22px;
        gap: var(--sp-5);
    }

    .home-stats b {
        font-size: 19px;
    }

    .home-cats {
        padding: var(--sp-4);
    }

    .hc-group {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .hc-label {
        width: auto;
    }

    .post-entry {
        padding: var(--sp-4);
    }

    .post-entry .entry-header h2 {
        font-size: 16.5px;
    }

    .post-content {
        padding: var(--sp-4);
        font-size: 15.5px;
        line-height: 1.95;
    }

    .post-content .katex-display > .katex {
        padding: 11px 12px;
    }

}@media(max-width:380px){.logo .logo-text{display:none}.tabbar{padding-left:6px;padding-right:6px}.tabbar a{font-size:9.5px;padding:6px 0}.tabbar svg{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.md-content .post-img{display:block;margin-left:0;margin-right:auto;width:340px;max-width:100%;height:auto;border-radius:8px}@media print{@page{margin:15mm 14mm}:root,:root[data-theme=dark],:root[data-theme=light]{--bg:#fff;--bg-2:#fff;--surface:transparent;--surface-2:transparent;--surface-solid:#fff;--stroke:#b0b0b0;--stroke-2:#888;--text:#000;--text-2:#000;--text-3:#333;--accent:#000;--accent-2:#000;--accent-3:#000;--gold:#000;--sand:transparent;--glow-1:transparent;--glow-2:transparent;--glow-3:transparent;--grid-line:transparent;--shadow-card:none;--shadow-lift:none;--rim:none;--code-bg:#f4f4f4;--code-block-bg:#f4f4f4;--primary:#000;--secondary:#333;--tertiary:#666;--theme:#fff;--entry:transparent}.header,.tabbar,.space-bg,.space-particles,.read-progress,.top-link,.paginav,.breadcrumbs,.toc,.post-share,.footer,.home-search,.mobile-menu,.menu,.logo-switches,.theme-toggle,.lc-bar,.lc-gate,.lc-back,.lc-badge,.lc-search,.bs-toolbar,.bs-viewer,.bs-hint,.bs-intro,.bs-tree{display:none!important}html,body{background:#fff!important;background-image:none!important;color:#000!important}body{font-size:11pt;line-height:1.6;margin:0!important;padding:0!important}main,.main,.post-single,.post-content,.md-content,.lc,.lc-art,#lcArt,.card,.qitem{max-width:none!important;width:auto!important;margin:0!important;padding:0!important;background:0 0!important;box-shadow:none!important;border:0!important;border-radius:0!important;overflow:visible!important;height:auto!important;min-height:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body,h1,h2,h3,h4,p,li,td,th,summary,blockquote,.post-content *,.md-content *,.lc-body *,.post-description,.post-meta,.entry-footer,.page-header *{color:#000!important}h1{font-size:16pt;margin:0 0 6pt}h2{font-size:13pt;margin:14pt 0 5pt;break-after:avoid;page-break-after:avoid}h3{font-size:11.5pt;margin:10pt 0 4pt;break-after:avoid;page-break-after:avoid}a{color:#000!important;text-decoration:none!important}.katex{font-size:1em;color:#000!important}.katex-display{break-inside:avoid;page-break-inside:avoid;margin:6pt 0}img,.katex-display,.ans,details,table,blockquote{break-inside:avoid;page-break-inside:avoid}img{max-width:100%!important;height:auto!important}details:not([open]){display:none!important}details>summary{display:none!important}details{border:1px solid #b0b0b0!important;border-radius:3pt!important;margin:6pt 0!important;padding:6pt 9pt!important;background:0 0!important}blockquote{margin:6pt 0!important;padding:4pt 0 4pt 9pt!important;border-left:2pt solid #999!important;background:0 0!important}table{border-collapse:collapse;width:100%;font-size:10pt}th,td{border:1px solid #999!important;padding:3pt 6pt!important}.lc-item,.lc-no{border:1px solid #999!important;background:0 0!important}code,pre{background:#f4f4f4!important;border:1px solid #ddd!important}}