@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700&display=swap";:root{--hue: 240;--page-bg: #e9f0f5;--card-bg: #fff;--blog-text: hsl(var(--hue), 25%, 14%);--blog-muted: hsl(var(--hue), 12%, 42%);--blog-border: hsl(var(--hue), 18%, 88%);--blog-accent: hsl(var(--hue), 58%, 48%);--blog-accent-soft: hsl(var(--hue), 55%, 42%);--blog-surface: hsl(var(--hue), 28%, 94%);--blog-code-bg: hsl(var(--hue), 20%, 93%);--page-width: min(90rem, 100%);--blog-max: 720px;--blog-prose: min(680px, 100%);--blog-font-display: "Noto Serif SC", "Noto Sans SC", serif;--blog-font-ui: "Noto Sans SC", system-ui, sans-serif;--radius-lg: 14px;--radius-md: 10px;--card-shadow: 0 1px 2px rgba(25, 35, 70, .06), 0 4px 22px rgba(25, 35, 70, .06);--card-shadow-hover: 0 2px 8px rgba(25, 35, 70, .08), 0 12px 40px rgba(25, 35, 70, .08)}html.dark{--page-bg: hsl(var(--hue), 14%, 9%);--card-bg: hsl(var(--hue), 14%, 12%);--blog-text: hsl(var(--hue), 15%, 94%);--blog-muted: hsl(var(--hue), 10%, 62%);--blog-border: hsl(var(--hue), 12%, 22%);--blog-accent: hsl(var(--hue), 70%, 68%);--blog-accent-soft: hsl(var(--hue), 65%, 75%);--blog-surface: hsl(var(--hue), 12%, 16%);--blog-code-bg: hsl(var(--hue), 12%, 14%);--card-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 28px rgba(0, 0, 0, .35);--card-shadow-hover: 0 4px 12px rgba(0, 0, 0, .4), 0 16px 48px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{min-height:100vh;background:var(--page-bg);color:var(--blog-text);font-family:var(--blog-font-ui);font-size:15px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:var(--blog-accent)}a:hover{color:var(--blog-accent-soft)}.banner[data-v-abdd1616]{position:relative;width:100%;min-height:min(65vh,520px);overflow:hidden;background:hsl(var(--hue, 240),28%,18%)}.banner--compact[data-v-abdd1616]{min-height:min(38vh,280px)}.banner__pic[data-v-abdd1616]{display:block;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.banner__img[data-v-abdd1616]{width:100%;height:100%;object-fit:cover;object-position:center}.banner__dim[data-v-abdd1616]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0f122373,#0f12231a 48%,#0f122359 82%,#0f122333);pointer-events:none}.banner__waves[data-v-abdd1616]{position:absolute;left:0;right:0;bottom:0;z-index:4;height:clamp(72px,14vw,118px);pointer-events:none;overflow:hidden}.banner__waves--compact[data-v-abdd1616]{height:clamp(48px,11vw,80px)}.wave-stack[data-v-abdd1616]{position:absolute;left:0;right:0;bottom:0;height:100%}.wave-stack--1[data-v-abdd1616]{z-index:1}.wave-stack--2[data-v-abdd1616]{z-index:2}.wave-stack--3[data-v-abdd1616]{z-index:3}.wave-stack__scroll[data-v-abdd1616]{width:200%;height:100%;will-change:transform;animation:wave-pan-abdd1616 var(--wave-dur, 32s) linear infinite}.wave-stack__svg[data-v-abdd1616]{display:block;width:100%;height:100%}.wave-stack__path[data-v-abdd1616]{fill:var(--page-bg);opacity:var(--wave-opacity, 1)}@keyframes wave-pan-abdd1616{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.wave-stack__scroll[data-v-abdd1616]{animation:none}}.banner-fade-enter-active[data-v-abdd1616],.banner-fade-leave-active[data-v-abdd1616]{transition:opacity .65s ease}.banner-fade-enter-from[data-v-abdd1616],.banner-fade-leave-to[data-v-abdd1616]{opacity:0}.card[data-v-7c8a6bee]{display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:1rem 1.25rem;padding:1.15rem;margin-bottom:1rem;background:var(--card-bg);border:1px solid var(--blog-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);transition:box-shadow .2s,border-color .2s}.card[data-v-7c8a6bee]:hover{border-color:color-mix(in srgb,var(--blog-accent) 35%,var(--blog-border));box-shadow:var(--card-shadow-hover)}.card__cover[data-v-7c8a6bee]{display:block;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4 / 3;background:var(--blog-surface)}.card__cover img[data-v-7c8a6bee]{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.card:hover .card__cover img[data-v-7c8a6bee]{transform:scale(1.04)}.card__body[data-v-7c8a6bee]{min-width:0;display:flex;flex-direction:column;gap:.35rem}.card__meta[data-v-7c8a6bee]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.78rem;color:var(--blog-muted);font-variant-numeric:tabular-nums}.card__cat[data-v-7c8a6bee]{padding:.1rem .45rem;border-radius:4px;background:color-mix(in srgb,var(--blog-accent) 12%,transparent);color:var(--blog-accent);font-weight:600}.card__title[data-v-7c8a6bee]{font-family:var(--blog-font-display);font-size:clamp(1.1rem,2.2vw,1.28rem);font-weight:700;line-height:1.35;margin:.15rem 0 .25rem}.card__title a[data-v-7c8a6bee]{color:var(--blog-text);text-decoration:none;transition:color .2s}.card__title a[data-v-7c8a6bee]:hover{color:var(--blog-accent)}.card__excerpt[data-v-7c8a6bee]{font-size:.9rem;color:var(--blog-muted);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card__tags[data-v-7c8a6bee]{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.5rem 0 0;padding:0}.card__tag[data-v-7c8a6bee]{font-size:.72rem;color:var(--blog-muted)}@media (max-width: 640px){.card[data-v-7c8a6bee]{grid-template-columns:1fr}.card__cover[data-v-7c8a6bee]{aspect-ratio:16 / 9;max-height:200px}}.side[data-v-d0664921]{display:flex;flex-direction:column;gap:1rem}.panel[data-v-d0664921]{background:var(--card-bg);border:1px solid var(--blog-border);border-radius:var(--radius-lg);padding:1rem 1.1rem;box-shadow:var(--card-shadow)}.panel__title[data-v-d0664921]{font-size:.8rem;font-weight:600;color:var(--blog-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:1px dashed var(--blog-border)}.stats[data-v-d0664921]{display:grid;gap:.5rem;margin:0}.stats__row[data-v-d0664921]{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.stats__row dt[data-v-d0664921]{color:var(--blog-muted);font-weight:500}.stats__row dd[data-v-d0664921]{margin:0;font-variant-numeric:tabular-nums;font-weight:600;color:var(--blog-accent)}.cal__head[data-v-d0664921],.cal__grid[data-v-d0664921]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:.72rem}.cal__wd[data-v-d0664921]{color:var(--blog-muted);padding:.2rem 0}.cal__cell[data-v-d0664921]{padding:.28rem 0;border-radius:4px;color:var(--blog-text)}.cal__cell--empty[data-v-d0664921]{visibility:hidden}.cal__cell--today[data-v-d0664921]{background:color-mix(in srgb,var(--blog-accent) 22%,transparent);color:var(--blog-accent);font-weight:700}.list[data-v-d0664921]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.list__item[data-v-d0664921]{display:flex;justify-content:space-between;font-size:.88rem;gap:.5rem}.list__name[data-v-d0664921]{color:var(--blog-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list__count[data-v-d0664921]{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--blog-muted);font-size:.8rem}.tags[data-v-d0664921]{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem .5rem}.tags__item[data-v-d0664921]{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;padding:.2rem .5rem;border-radius:6px;background:var(--blog-surface);color:var(--blog-muted)}.tags__name[data-v-d0664921]{color:var(--blog-text)}.tags__n[data-v-d0664921]{opacity:.75;font-variant-numeric:tabular-nums}.home[data-v-a628b22c]{padding:1.75rem 0 3rem}.intro[data-v-a628b22c]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.75rem}.intro__card[data-v-a628b22c]{background:var(--card-bg);border:1px solid var(--blog-border);border-radius:var(--radius-lg);padding:1.25rem 1.35rem;box-shadow:var(--card-shadow)}.intro__profile[data-v-a628b22c]{display:flex;gap:1.25rem;align-items:flex-start}.intro__avatar[data-v-a628b22c]{width:120px;height:120px;border-radius:16px;object-fit:cover;flex-shrink:0;border:2px solid var(--blog-border)}.intro__title[data-v-a628b22c]{font-family:var(--blog-font-display);font-size:clamp(1.6rem,3vw,2rem);font-weight:700;color:var(--blog-text);margin-bottom:.2rem}.intro__subtitle[data-v-a628b22c]{font-size:.85rem;color:var(--blog-muted);margin-bottom:.65rem}.intro__bio[data-v-a628b22c]{font-size:.9rem;line-height:1.7;color:var(--blog-muted)}.intro__bio a[data-v-a628b22c]{color:var(--blog-accent)}.intro__bio code[data-v-a628b22c]{font-size:.85em;padding:.1em .35em;border-radius:4px;background:var(--blog-surface)}.announce[data-v-a628b22c]{position:relative;padding:1rem 1.15rem 1rem 1.5rem;background:linear-gradient(105deg,color-mix(in srgb,var(--blog-accent) 8%,var(--card-bg)),var(--card-bg));border:1px solid var(--blog-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow)}.announce[data-v-a628b22c]:before{content:"";position:absolute;left:0;top:.65rem;bottom:.65rem;width:3px;border-radius:2px;background:var(--blog-accent)}.announce__label[data-v-a628b22c]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blog-accent);margin-bottom:.35rem}.announce__text[data-v-a628b22c]{font-size:.9rem;color:var(--blog-text);line-height:1.6;margin-bottom:.5rem}.announce__link[data-v-a628b22c]{font-size:.85rem;font-weight:600;color:var(--blog-accent);text-decoration:none}.announce__link[data-v-a628b22c]:hover{text-decoration:underline}.grid[data-v-a628b22c]{display:grid;grid-template-columns:1fr 280px;gap:1.75rem;align-items:start}.feed__heading[data-v-a628b22c]{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blog-muted);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px dashed var(--blog-border)}.feed__count[data-v-a628b22c]{font-variant-numeric:tabular-nums;color:var(--blog-accent)}@media (max-width: 960px){.grid[data-v-a628b22c]{grid-template-columns:1fr}.grid__side[data-v-a628b22c]{order:-1}}@media (max-width: 640px){.intro__profile[data-v-a628b22c]{flex-direction:column;align-items:center;text-align:center}}.about[data-v-039fa86c]{padding:.5rem 0 3rem;max-width:58ch;margin:0 auto}.about__card[data-v-039fa86c]{background:var(--card-bg);border:1px solid var(--blog-border);border-radius:var(--radius-lg);padding:1.75rem 1.5rem 1.5rem;box-shadow:var(--card-shadow)}.about__title[data-v-039fa86c]{font-family:var(--blog-font-display);font-size:clamp(1.75rem,3vw,2.1rem);font-weight:700;margin-bottom:1.25rem;color:var(--blog-text)}.about__body p[data-v-039fa86c]{margin-bottom:1.1rem;line-height:1.75;color:var(--blog-muted)}.about__body code[data-v-039fa86c]{font-size:.9em;padding:.1em .35em;border-radius:4px;background:var(--blog-surface)}.back[data-v-039fa86c]{display:inline-block;margin-top:.5rem;font-size:.95rem;color:var(--blog-accent);text-decoration:none}.back[data-v-039fa86c]:hover{text-decoration:underline}.post[data-v-04308e3e]{padding:.5rem 0 3.5rem;max-width:var(--blog-prose);margin:0 auto}.post__back[data-v-04308e3e]{display:inline-block;font-size:.9rem;color:var(--blog-accent);text-decoration:none;margin-bottom:1.25rem}.post__back[data-v-04308e3e]:hover{text-decoration:underline}.post__cover[data-v-04308e3e]{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.5rem;border:1px solid var(--blog-border);box-shadow:var(--card-shadow);aspect-ratio:21 / 9;max-height:280px;background:var(--blog-surface)}.post__cover img[data-v-04308e3e]{width:100%;height:100%;object-fit:cover}.post__date[data-v-04308e3e]{display:block;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--blog-muted);margin-bottom:.35rem}.post__cat[data-v-04308e3e]{display:inline-block;font-size:.78rem;font-weight:600;padding:.15rem .5rem;border-radius:6px;background:color-mix(in srgb,var(--blog-accent) 12%,transparent);color:var(--blog-accent);margin-bottom:.65rem}.post__title[data-v-04308e3e]{font-family:var(--blog-font-display);font-size:clamp(1.75rem,3.5vw,2.35rem);font-weight:700;line-height:1.25;color:var(--blog-text);margin-bottom:1rem}.post__tags[data-v-04308e3e]{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0 0 1.5rem}.post__tags li[data-v-04308e3e]{font-size:.78rem;color:var(--blog-muted)}.missing[data-v-04308e3e]{padding:4rem 0;text-align:center}.missing__title[data-v-04308e3e]{font-family:var(--blog-font-display);font-size:1.5rem;margin-bottom:.75rem;color:var(--blog-text)}.missing__text[data-v-04308e3e]{color:var(--blog-muted);margin-bottom:1.5rem}.missing__btn[data-v-04308e3e]{cursor:pointer;font:inherit;padding:.55rem 1.2rem;border-radius:999px;border:1px solid var(--blog-border);background:var(--blog-surface);color:var(--blog-text)}.missing__btn[data-v-04308e3e]:hover{border-color:var(--blog-accent);color:var(--blog-accent)}.prose{font-size:1.05rem;line-height:1.8;color:var(--blog-text)}.prose>*+*{margin-top:1.1em}.prose h2{font-family:var(--blog-font-display);font-size:1.35rem;font-weight:600;margin-top:2rem;margin-bottom:.5rem;color:var(--blog-text)}.prose p{color:color-mix(in srgb,var(--blog-text) 88%,var(--blog-muted))}.prose a{color:var(--blog-accent);text-decoration:underline;text-underline-offset:.2em}.prose code{font-size:.88em;padding:.12em .4em;border-radius:4px;background:var(--blog-surface)}.prose pre{margin:1.25rem 0;padding:1rem 1.15rem;border-radius:10px;background:var(--blog-code-bg);border:1px solid var(--blog-border);overflow-x:auto;font-size:.88rem}.prose pre code{padding:0;background:none}.prose blockquote{margin:1.25rem 0;padding:.75rem 0 .75rem 1.1rem;border-left:3px solid var(--blog-accent);color:var(--blog-muted);font-style:italic}.prose ul{padding-left:1.25rem;color:color-mix(in srgb,var(--blog-text) 88%,var(--blog-muted))}.site-header[data-v-c982d5cf]{position:absolute;top:0;left:0;right:0;z-index:30;padding:0 1rem}.site-header__bar[data-v-c982d5cf]{max-width:var(--page-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .25rem}.brand[data-v-c982d5cf]{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.brand__mark[data-v-c982d5cf]{width:2rem;height:2rem;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--blog-accent) 90%,white),color-mix(in srgb,var(--blog-accent) 50%,#6366f1));box-shadow:0 2px 8px #00000040}.brand__text[data-v-c982d5cf]{font-family:var(--blog-font-display);font-size:1.2rem;font-weight:700;letter-spacing:.06em}.nav[data-v-c982d5cf]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.15rem}.nav__link[data-v-c982d5cf]{padding:.4rem .75rem;border-radius:999px;font-size:.85rem;color:#ffffffeb;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:background .2s,color .2s}.nav__link[data-v-c982d5cf]:hover{background:#ffffff1f;color:#fff}.nav__link--active[data-v-c982d5cf]{background:#fff3;color:#fff}.nav__link--ext[data-v-c982d5cf]{opacity:.9}.nav__sep[data-v-c982d5cf]{width:1px;height:1rem;margin:0 .15rem;background:#ffffff40;align-self:center}.nav__theme[data-v-c982d5cf]{cursor:pointer;font:inherit;font-size:.8rem;padding:.35rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#ffffffe0;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:background .2s,border-color .2s,color .2s}.nav__theme[data-v-c982d5cf]:hover{background:#ffffff1a;color:#fff}.nav__theme--active[data-v-c982d5cf]{background:#ffffff38;border-color:#ffffff8c;color:#fff}.site-footer[data-v-841155ca]{margin-top:auto;border-top:1px solid var(--blog-border);padding:2rem 1.25rem;background:color-mix(in srgb,var(--page-bg) 92%,var(--blog-border))}.site-footer__inner[data-v-841155ca]{max-width:var(--page-width);margin:0 auto;text-align:center}.site-footer__line[data-v-841155ca]{font-size:.82rem;color:var(--blog-muted)}.site-footer__line .muted[data-v-841155ca]{color:var(--blog-muted);text-decoration:none}.site-footer__line .muted[data-v-841155ca]:hover{color:var(--blog-accent);text-decoration:underline}.site-footer__credit[data-v-841155ca]{margin-top:.45rem;font-size:.78rem;color:var(--blog-muted);opacity:.9}.site-footer__credit a[data-v-841155ca]{font-weight:600}.site-footer__beian[data-v-841155ca]{margin-top:.35rem;font-size:.75rem;color:var(--blog-muted);opacity:.85}.site-footer__beian a[data-v-841155ca]{color:var(--blog-muted);text-decoration:none}.site-footer__beian a[data-v-841155ca]:hover{color:var(--blog-accent);text-decoration:underline}.layout[data-v-6e93325d]{min-height:100vh;display:flex;flex-direction:column;background:var(--page-bg)}.layout__banner-wrap[data-v-6e93325d]{position:relative}.layout__main[data-v-6e93325d]{flex:1;position:relative;margin-top:-2rem;z-index:5}.layout__container[data-v-6e93325d]{max-width:var(--page-width);margin:0 auto;padding:0 1.25rem 2rem}
