.theme-picker[data-astro-cid-hcqnpaxe]{flex:none;position:relative}.theme-toggle[data-astro-cid-hcqnpaxe][aria-expanded=true]{border-color:var(--color-accent-primary);background:var(--color-accent-secondary);color:var(--color-accent-primary)}.theme-panel[data-astro-cid-hcqnpaxe]{z-index:80;border:1px solid color-mix(in srgb, var(--color-border-primary) 72%, transparent);background:color-mix(in srgb, var(--color-surface-elevated) 92%, transparent);width:min(350px,100vw - 24px);box-shadow:var(--shadow-elevated);color:var(--color-text-primary);border-radius:16px;padding:16px;animation:.16s ease-out theme-panel-in;position:absolute;top:calc(100% + 12px);right:0}.theme-panel[data-astro-cid-hcqnpaxe][hidden]{display:none}.theme-panel__header[data-astro-cid-hcqnpaxe]{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.theme-panel__header[data-astro-cid-hcqnpaxe] strong[data-astro-cid-hcqnpaxe]{font-size:.92rem}.theme-panel__header[data-astro-cid-hcqnpaxe] small[data-astro-cid-hcqnpaxe]{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.theme-panel__group[data-astro-cid-hcqnpaxe]{border:0;min-width:0;margin:0;padding:0}.theme-panel__group[data-astro-cid-hcqnpaxe]+.theme-panel__group[data-astro-cid-hcqnpaxe]{margin-top:16px}.theme-panel__group[data-astro-cid-hcqnpaxe] legend[data-astro-cid-hcqnpaxe]{color:var(--color-text-secondary);margin-bottom:7px;font-size:.7rem;font-weight:700}.theme-options[data-astro-cid-hcqnpaxe]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.theme-option[data-astro-cid-hcqnpaxe],.theme-mode[data-astro-cid-hcqnpaxe]{cursor:pointer;position:relative}.theme-option[data-astro-cid-hcqnpaxe] input[data-astro-cid-hcqnpaxe],.theme-mode[data-astro-cid-hcqnpaxe] input[data-astro-cid-hcqnpaxe]{opacity:0;width:1px;height:1px;position:absolute}.theme-option__body[data-astro-cid-hcqnpaxe]{border:1px solid var(--color-border-secondary);background:color-mix(in srgb, var(--color-surface-primary) 72%, transparent);border-radius:11px;align-content:center;gap:7px;min-height:68px;padding:9px;transition:background-color .16s,border-color .16s,transform .12s;display:grid}.theme-option[data-astro-cid-hcqnpaxe]:hover .theme-option__body[data-astro-cid-hcqnpaxe]{border-color:var(--color-border-primary);background:var(--color-surface-primary)}.theme-option[data-astro-cid-hcqnpaxe]:active .theme-option__body[data-astro-cid-hcqnpaxe]{transform:scale(.985)}.theme-option[data-astro-cid-hcqnpaxe] input[data-astro-cid-hcqnpaxe]:checked+.theme-option__body[data-astro-cid-hcqnpaxe]{border-color:var(--color-accent-primary);background:color-mix(in srgb, var(--color-accent-secondary) 58%, transparent)}.theme-option[data-astro-cid-hcqnpaxe] input[data-astro-cid-hcqnpaxe]:focus-visible+.theme-option__body[data-astro-cid-hcqnpaxe],.theme-mode[data-astro-cid-hcqnpaxe] input[data-astro-cid-hcqnpaxe]:focus-visible+span[data-astro-cid-hcqnpaxe]{outline:2px solid var(--color-accent-primary);outline-offset:2px}.theme-option__preview[data-astro-cid-hcqnpaxe]{border:1px solid color-mix(in srgb, var(--color-border-primary) 56%, transparent);border-radius:7px;width:100%;height:24px;display:flex;overflow:hidden}.theme-option__preview-mode[data-astro-cid-hcqnpaxe]{flex:1;position:relative}.theme-option__preview-mode[data-astro-cid-hcqnpaxe]:after{content:"";border-radius:999px;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.theme-option__preview-mode--light[data-astro-cid-hcqnpaxe]{background:var(--theme-light-background)}.theme-option__preview-mode--light[data-astro-cid-hcqnpaxe]:after{background:var(--theme-light-accent);box-shadow:0 0 0 2px var(--theme-light-surface)}.theme-option__preview-mode--dark[data-astro-cid-hcqnpaxe]{background:var(--theme-dark-background)}.theme-option__preview-mode--dark[data-astro-cid-hcqnpaxe]:after{background:var(--theme-dark-accent);box-shadow:0 0 0 2px var(--theme-dark-surface)}.theme-option__name[data-astro-cid-hcqnpaxe]{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;line-height:1.35;overflow:hidden}.theme-modes[data-astro-cid-hcqnpaxe]{border:1px solid var(--color-border-secondary);background:color-mix(in srgb, var(--color-background-secondary) 72%, transparent);border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;display:grid}.theme-mode[data-astro-cid-hcqnpaxe] span[data-astro-cid-hcqnpaxe]{min-height:34px;color:var(--color-text-secondary);border-radius:8px;place-items:center;font-size:.68rem;font-weight:700;transition:background-color .16s,color .16s,transform .12s;display:grid}.theme-mode[data-astro-cid-hcqnpaxe]:hover span[data-astro-cid-hcqnpaxe]{color:var(--color-text-primary)}.theme-mode[data-astro-cid-hcqnpaxe]:active span[data-astro-cid-hcqnpaxe]{transform:scale(.97)}.theme-mode[data-astro-cid-hcqnpaxe] input[data-astro-cid-hcqnpaxe]:checked+span[data-astro-cid-hcqnpaxe]{background:var(--color-surface-elevated);box-shadow:0 1px 4px color-mix(in srgb, var(--color-text-primary) 12%, transparent);color:var(--color-accent-primary)}@supports (backdrop-filter:blur(1px)){.theme-panel[data-astro-cid-hcqnpaxe]{backdrop-filter:saturate(180%)blur(24px)}}@keyframes theme-panel-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-transparency:reduce){.theme-panel[data-astro-cid-hcqnpaxe]{background:var(--color-surface-elevated);backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.theme-panel[data-astro-cid-hcqnpaxe]{animation:none}.theme-option__body[data-astro-cid-hcqnpaxe],.theme-mode[data-astro-cid-hcqnpaxe] span[data-astro-cid-hcqnpaxe]{transition:none}}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Italic.woff2)format("woff2");font-display:swap;font-style:italic;font-weight:400}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-BoldItalic.woff2)format("woff2");font-display:swap;font-style:italic;font-weight:700}@font-face{font-family:LXGW WenKai GB;src:url(/fonts/lxgw-wenkai-gb-regular-subset.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:LXGW WenKai GB;src:url(/fonts/lxgw-wenkai-gb-medium-subset.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:500 900}@font-face{font-family:LXGW WenKai Mono GB;src:url(/fonts/lxgw-wenkai-mono-gb-regular-subset.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400 900}:root,:root[data-theme-id=deepSeaMilk][data-color-mode=light]{color-scheme:light;--color-accent-primary:#122e8a;--color-accent-secondary:#d8e1ff;--color-background-primary:#f5efea;--color-background-secondary:#eee8e1;--color-border-primary:#a3afc4;--color-border-secondary:#d8d2ca;--color-feedback-destructive:#dc2626;--color-surface-elevated:#fff;--color-surface-primary:#fffdf8;--color-text-primary:#10203f;--color-text-secondary:#5b6575}:root[data-theme-id=deepSeaMilk][data-color-mode=dark]{color-scheme:dark;--color-accent-primary:#9cb4ff;--color-accent-secondary:#253e83;--color-background-primary:#081126;--color-background-secondary:#0d1a35;--color-border-primary:#4b5e82;--color-border-secondary:#263957;--color-feedback-destructive:#ff8a80;--color-surface-elevated:#1a2f5f;--color-surface-primary:#14244a;--color-text-primary:#f5efea;--color-text-secondary:#afb9ca}:root[data-theme-id=cinderCandy][data-color-mode=light]{color-scheme:light;--color-accent-primary:#c51d63;--color-accent-secondary:#f7cfe0;--color-background-primary:#fff7fa;--color-background-secondary:#fceef4;--color-border-primary:#cdbdc7;--color-border-secondary:#e9dde4;--color-feedback-destructive:#b42318;--color-surface-elevated:#fffbfd;--color-surface-primary:#fff;--color-text-primary:#1a1a1d;--color-text-secondary:#5f5560}:root[data-theme-id=cinderCandy][data-color-mode=dark]{color-scheme:dark;--color-accent-primary:#ff6fa8;--color-accent-secondary:#4a1830;--color-background-primary:#111114;--color-background-secondary:#17161b;--color-border-primary:#4d4650;--color-border-secondary:#34313a;--color-feedback-destructive:#ff8a80;--color-surface-elevated:#292832;--color-surface-primary:#202027;--color-text-primary:#f9f4f7;--color-text-secondary:#b9aeb7}:root[data-theme-id=wisteriaMatcha][data-color-mode=light]{color-scheme:light;--color-accent-primary:#5f55a2;--color-accent-secondary:#e1f2c4;--color-background-primary:#f6f8ed;--color-background-secondary:#eef4de;--color-border-primary:#bbc8a4;--color-border-secondary:#dde6ca;--color-feedback-destructive:#b73a2f;--color-surface-elevated:#fff;--color-surface-primary:#fffef7;--color-text-primary:#312c4e;--color-text-secondary:#68637b}:root[data-theme-id=wisteriaMatcha][data-color-mode=dark]{color-scheme:dark;--color-accent-primary:#b9b1ff;--color-accent-secondary:#334b1b;--color-background-primary:#141224;--color-background-secondary:#1b1832;--color-border-primary:#5b537a;--color-border-secondary:#3c3657;--color-feedback-destructive:#ff9a8f;--color-surface-elevated:#2d2751;--color-surface-primary:#24203f;--color-text-primary:#f6f8ed;--color-text-secondary:#b8b1ce}:root[data-theme-id=clearWaterNavy][data-color-mode=light]{color-scheme:light;--color-accent-primary:#113056;--color-accent-secondary:#cbeff3;--color-background-primary:#eaf8fa;--color-background-secondary:#dcf1f4;--color-border-primary:#9bbbc6;--color-border-secondary:#c8e0e5;--color-feedback-destructive:#b3261e;--color-surface-elevated:#fff;--color-surface-primary:#f8feff;--color-text-primary:#0d223b;--color-text-secondary:#4e667a}:root[data-theme-id=clearWaterNavy][data-color-mode=dark]{color-scheme:dark;--color-accent-primary:#91cfd5;--color-accent-secondary:#1a4f5f;--color-background-primary:#071522;--color-background-secondary:#0c2237;--color-border-primary:#3f6978;--color-border-secondary:#254759;--color-feedback-destructive:#ff8a80;--color-surface-elevated:#183c66;--color-surface-primary:#113056;--color-text-primary:#eafbfc;--color-text-secondary:#9ccad3}:root{--font-site:"JetBrains Mono", "LXGW WenKai GB", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-code:"JetBrains Mono", "LXGW WenKai Mono GB", "SFMono-Regular", Consolas, monospace;--shadow-elevated:0 14px 40px color-mix(in srgb, var(--color-text-primary) 10%, transparent);--color-header-fallback:color-mix(in srgb, var(--color-background-primary) 96%, transparent);--color-header-glass-top:color-mix(in srgb, var(--color-surface-elevated) 82%, transparent);--color-header-glass-bottom:color-mix(in srgb, var(--color-background-secondary) 68%, transparent);--color-header-border:color-mix(in srgb, var(--color-text-primary) 10%, transparent);--color-header-highlight:color-mix(in srgb, var(--color-surface-elevated) 78%, transparent);--color-header-control:color-mix(in srgb, var(--color-surface-elevated) 38%, transparent);--color-header-control-hover:color-mix(in srgb, var(--color-surface-elevated) 72%, transparent);--color-post-hover:color-mix(in srgb, var(--color-accent-primary) 5%, transparent);--color-post-pressed:color-mix(in srgb, var(--color-accent-primary) 9%, transparent);--shadow-header:0 10px 32px color-mix(in srgb, var(--color-text-primary) 10%, transparent)}:root[data-color-mode=dark]{--shadow-elevated:0 16px 44px #00000052;--color-header-glass-top:color-mix(in srgb, var(--color-surface-elevated) 78%, transparent);--color-header-glass-bottom:color-mix(in srgb, var(--color-background-primary) 64%, transparent);--color-header-border:color-mix(in srgb, var(--color-text-primary) 11%, transparent);--color-header-highlight:color-mix(in srgb, var(--color-text-primary) 10%, transparent);--color-header-control:color-mix(in srgb, var(--color-text-primary) 5%, transparent);--color-header-control-hover:color-mix(in srgb, var(--color-text-primary) 10%, transparent);--color-post-hover:color-mix(in srgb, var(--color-accent-primary) 7%, transparent);--color-post-pressed:color-mix(in srgb, var(--color-accent-primary) 12%, transparent);--shadow-header:0 12px 36px #00000047}*{box-sizing:border-box}html{background:var(--color-background-primary);scroll-behavior:smooth}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}body{background:var(--color-background-primary);min-width:320px;color:var(--color-text-primary);font-family:var(--font-site);font-feature-settings:"liga" 1, "calt" 1;text-rendering:optimizelegibility;margin:0;line-height:1.7}a{color:var(--color-accent-primary)}button,input{font:inherit}.site-header{z-index:50;isolation:isolate;border-bottom:1px solid var(--color-header-border);background:var(--color-header-fallback);transition:background-color .18s,border-color .18s,box-shadow .24s;position:sticky;top:0;box-shadow:0 1px #0000}.site-header:before{z-index:-1;background:linear-gradient(90deg, transparent, var(--color-header-highlight), transparent);content:"";pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.site-header[data-elevated]{box-shadow:var(--shadow-header)}.site-header__inner{align-items:center;gap:24px;width:min(1120px,100% - 32px);min-height:68px;margin:0 auto;display:flex}.site-brand{color:var(--color-text-primary);letter-spacing:-.015em;font-weight:800;text-decoration:none}.site-header nav{flex:1;justify-content:flex-end;gap:20px;display:flex}.site-header nav a{color:var(--color-text-secondary);border-radius:9px;padding:6px 9px;font-weight:600;text-decoration:none;transition:background-color .16s,color .16s}.site-header nav a:hover,.site-header nav a[aria-current=page]{background:var(--color-header-control);color:var(--color-text-primary)}.site-header nav a:focus-visible,.site-brand:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:3px}.theme-toggle{border:1px solid var(--color-border-primary);background:var(--color-header-control);color:var(--color-text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.theme-toggle:hover{border-color:var(--color-header-border);background:var(--color-header-control-hover)}.theme-toggle:active{transform:scale(.97)}@supports (backdrop-filter:blur(1px)){.site-header{background:linear-gradient(180deg, var(--color-header-glass-top), var(--color-header-glass-bottom));backdrop-filter:saturate(180%)blur(24px)}}.home-hero,.page-hero{min-height:340px}.home-hero{color:#fff;text-align:center;background:linear-gradient(#0811268f,#081126ad),url(/images/banner.jpg) 50%/cover;place-content:center;padding:72px 24px;display:grid}.home-hero h1{margin:0;font-size:clamp(2.5rem,8vw,5rem)}.home-hero p{margin:10px 0 0}.eyebrow{letter-spacing:.18em;font-size:.75rem;font-weight:800}.page-hero{background:var(--hero-image) center / cover}.page-hero__overlay{min-height:inherit;background:linear-gradient(#0000,#050c16c7);place-items:end center;padding:64px 24px;display:grid}.page-hero__content{color:#fff;width:min(880px,100%)}.page-hero--centered .page-hero__overlay{text-align:center;background:linear-gradient(#050c167a,#050c169e);place-items:center}.page-hero--centered .page-hero__content p{margin:12px 0 0}.page-hero h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.2}.page-hero__summary{color:#ffffffd1;text-wrap:balance;max-width:760px;margin:14px 0 0;font-size:clamp(.95rem,1.8vw,1.1rem);line-height:1.7}.post-language-switch{color:#ffffff9e;align-items:center;gap:8px;margin-top:18px;font-size:.9rem;display:flex}.post-language-switch a{color:#ffffffc7;text-underline-offset:4px;text-decoration-thickness:1px}.post-language-switch a[aria-current=page]{color:#fff;font-weight:800;text-decoration:none}.content-container,.post-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:64px 0}.post-list{gap:2px;display:grid}.post-card{isolation:isolate;border-bottom:1px solid var(--color-border-primary);padding:28px 0;position:relative}.post-card:before{z-index:0;content:"";pointer-events:none;background:0 0;border-radius:14px;transition:background-color .16s,transform .12s;position:absolute;inset:5px -14px}.post-card__link{color:inherit;text-decoration:none;display:block}.post-card__link:after{z-index:2;content:"";border-radius:12px;position:absolute;inset:0}.post-card__link:focus-visible{outline:none}.post-card__link:focus-visible:after{outline:2px solid var(--color-accent-primary);outline-offset:3px}.post-card h2{margin:0;font-size:clamp(1.35rem,3vw,1.75rem);transition:color .16s}.post-card__excerpt,.post-card__meta{color:var(--color-text-secondary)}.post-card__excerpt{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;width:100%;margin:10px 0 14px;line-height:1.65;display:-webkit-box;overflow:hidden}.post-card__meta{z-index:3;pointer-events:none;flex-wrap:nowrap;align-items:baseline;font-size:.8rem;display:flex;position:relative}.post-card__primary-meta,.post-card__tags{flex-wrap:wrap;align-items:baseline;display:flex}.post-card__primary-meta{flex:none;gap:6px 12px}.post-card__tags{gap:4px 8px;position:relative}.post-card__tags span{color:inherit;font-size:.75rem}@media (hover:hover){.post-card:hover:before{background:var(--color-post-hover)}.post-card:hover h2{color:var(--color-accent-primary)}}.post-card:active:before{background:var(--color-post-pressed);transform:scale(.996)}.post-card__aside{letter-spacing:.01em;opacity:.72;text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-left:28px;font-size:.68rem;line-height:1.5;overflow:hidden}.pager{justify-content:space-between;margin-top:32px;display:flex}.pager a{font-weight:700;text-decoration:none}.page-list{min-height:70vh}.post-shell{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:64px;display:grid}.toc{border:1px solid var(--color-border-secondary);background:var(--color-surface-primary);border-radius:12px;grid-area:1/2;max-height:calc(100vh - 120px);padding:16px;position:sticky;top:92px;overflow:auto}.toc summary{cursor:pointer;font-weight:800}.toc ol{margin:12px 0 0;padding:0;list-style:none}.toc li+li{margin-top:8px}.toc a{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.875rem;line-height:1.55;text-decoration:none;display:block}.toc a[aria-current=location]{color:var(--color-accent-primary);font-weight:700}.toc__level-1:not(:first-child){margin-top:14px}.toc__level-1>a{color:var(--color-text-primary);font-weight:700}.toc__level-2{padding-left:12px}.toc__level-3{padding-left:24px}.toc__level-4{padding-left:36px}.site-footer{border-top:1px solid var(--color-border-secondary);color:var(--color-text-secondary);text-align:center;padding:36px 24px}.site-footer p{opacity:.72;margin:0;font-size:.75rem}.site-footer__links{justify-content:center;gap:8px;margin-bottom:18px;display:flex}.site-footer__link{width:42px;height:42px;color:var(--color-text-secondary);border-radius:12px;place-items:center;transition:color .16s,background-color .16s,transform .16s;display:grid}.site-footer__link:hover{background:var(--color-accent-secondary);color:var(--color-accent-primary);transform:translateY(-1px)}.site-footer__link:active{transform:scale(.96)}.site-footer__link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.site-footer__icon{width:22px;height:22px}.site-footer__icon--fill{fill:currentColor}.site-footer__icon--stroke{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.not-found{text-align:center;place-content:center;min-height:70vh;padding:48px 24px;display:grid}@media (width<=820px){.site-header__inner,.site-header nav{gap:12px}.theme-toggle__label{display:none}.post-shell{flex-direction:column;gap:24px;display:flex}.toc{order:-1;width:100%;max-height:none;position:static}.toc details:not([open]){padding-bottom:0}}@media (width<=600px){.site-header nav a:first-child{display:none}.content-container,.post-shell{width:min(100% - 24px,1120px);padding:40px 0}.post-card__meta{flex-direction:column;align-items:flex-start;gap:4px}.post-card__aside{text-align:left;width:100%;padding-top:2px;padding-left:0}}@media (prefers-reduced-transparency:reduce){.site-header{background:var(--color-header-fallback);backdrop-filter:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:1ms}.site-header,.site-header nav a,.theme-toggle,.post-card:before,.post-card h2{transition:none}}
