@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--ink-900:#2a1820;--ink-700:#4d3540;--ink-500:#816774;--sakura-100:#ffe2eb;--sakura-200:#ffc8d6;--sakura-300:#ff9bb4;--sakura-400:#ff789a;--sakura-500:#e85d80;--sakura-700:#9d2949;--surface:#fff;--surface-soft:#fafafa;--border-soft:#ececec;--border-medium:#e0e0e0;--card-shadow:0 4px 14px -8px #28141e1f;--card-shadow-hover:0 12px 28px -10px #28141e2e;--font-sans:system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;--font-serif:"Songti SC", "SimSun", "Source Han Serif SC", "Noto Serif CJK SC", "Noto Serif SC", serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", "Fira Code", monospace;--sidebar-width:220px;--content-max-width:1600px;--page-bg:#f5f4f7}*,:before,:after{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;pointer-events:none;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{font-family:var(--font-sans);color:var(--ink-700);background:var(--page-bg);-webkit-font-smoothing:antialiased}body{background:var(--page-bg);min-height:100vh;margin:0;line-height:1.65;overflow-x:hidden}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}a{color:inherit;text-decoration:none;transition:color .25s}img{max-width:100%;display:block}ul{margin:0;padding:0;list-style:none}@property --sidebar-flip{syntax:"<angle>";inherits:true;initial-value:45deg}:root{--sidebar-flip-rest:45deg;--sidebar-flip-hover:20deg}.sidebar-root{--sidebar-gap:20px;--sidebar-inset-left:0px;--sidebar-flip:var(--sidebar-flip-rest);display:contents}.sidebar-root.is-hovered{--sidebar-flip:var(--sidebar-flip-hover)}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border-soft);z-index:20;transform-origin:40%;transform:perspective(1400px) translateZ(calc(-100px * sin(var(--sidebar-flip)))) rotateY(var(--sidebar-flip));backface-visibility:hidden;flex-direction:column;gap:18px;padding:20px 16px;transition:background .35s,border-color .35s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:hidden}.sidebar-live2d{border-top:1px solid var(--border-soft);cursor:pointer;justify-content:center;align-items:flex-end;width:100%;height:220px;padding-top:14px;display:flex;position:relative}.sidebar-live2d canvas{width:100%;max-width:188px;height:100%;display:block}.live2d-fallback{color:var(--ink-500);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;transition:opacity .3s;display:flex;position:absolute;inset:14px 0 0}.live2d-fallback i{color:var(--sakura-300);font-size:32px}.live2d-fallback.is-hidden{opacity:0}.sidebar-profile{text-align:center;border-bottom:1px solid var(--border-soft);flex-direction:column;align-items:center;gap:6px;padding-bottom:18px;display:flex}.sidebar-profile .avatar{border:2px solid #fff;border-radius:50%;width:78px;height:78px;transition:transform .6s;display:block;overflow:hidden;box-shadow:0 2px 10px #e85d8040}.sidebar-profile .avatar:hover{transform:rotate(360deg)}.sidebar-profile .avatar img{object-fit:cover;width:100%;height:100%}.sidebar-profile .name{color:var(--ink-900);margin:6px 0 0;font-size:15px;font-weight:600}.sidebar-profile .tagline{color:var(--ink-500);margin:0;font-size:12px}.sidebar-social{border-top:1px dashed var(--border-soft);margin:14px 0 10px;padding-top:16px}.sidebar-social ul{justify-content:space-around;align-items:center;gap:4px;display:flex}.sidebar-social li{flex:1;justify-content:center;display:flex}.sidebar-social a,.sidebar-social .social-trigger{border:1px solid var(--border-medium);width:34px;height:34px;color:var(--ink-500);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:14px;transition:all .2s;display:inline-flex}.sidebar-social a:hover,.sidebar-social .social-trigger:hover{color:#fff;background:var(--sakura-500);border-color:var(--sakura-500)}.sidebar-handle{z-index:55;border:1px solid var(--border-medium);background:var(--surface);cursor:pointer;color:var(--sakura-700);border-left:none;border-radius:0 32px 32px 0;align-items:center;gap:6px;padding:8px 14px 8px 10px;font-family:inherit;transition:transform .3s;display:none;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:2px 4px 14px -4px #28141e26}.sidebar-handle:hover{transform:translateY(-50%)translate(4px)}.sidebar-handle .handle-avatar{border:2px solid #fff;border-radius:50%;width:30px;height:30px;display:inline-block;overflow:hidden;box-shadow:0 2px 6px #e85d804d}.sidebar-handle .handle-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.sidebar-handle .handle-arrow{color:var(--sakura-700);font-size:10px}.sidebar-close{width:36px;height:36px;color:var(--ink-500);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.sidebar-close:hover{background:var(--surface-soft);color:var(--ink-900)}@media (width>=861px){.sidebar-close{display:none}}.sidebar-close:focus-visible,.sidebar-handle:focus-visible{outline-offset:-3px;outline:2px solid}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-glass,.sidebar-handle,.site-main{transition:none!important}}@media (width>=861px){.site-main{width:calc(100% - 48px);max-width:var(--content-max-width);backdrop-filter:none;min-height:100vh;box-shadow:none;background-color:#0000;border:none;border-radius:24px;flex-direction:column;gap:24px;margin:0 auto;padding:96px 40px 60px;transition:background-color .35s,border-color .35s,box-shadow .35s;display:flex}:root.dark-theme .site-main{box-shadow:none;background-color:#0000;border:none}}@media (width<=860px){.site-main{flex-direction:column;gap:20px;min-height:100vh;margin-top:0;padding:88px 20px 60px;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex}}.site-main__inner{width:100%;max-width:var(--content-max-width);margin-inline:auto}.qq-popover{z-index:80;-webkit-backdrop-filter:blur(6px);background:#28141e66;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.qq-popover.open{display:flex}.qq-popover__card{background:var(--surface);border:1px solid var(--border-soft);text-align:center;border-radius:16px;width:100%;max-width:300px;padding:28px 28px 22px;animation:.25s cubic-bezier(.2,.8,.2,1) both qq-pop;position:relative;box-shadow:0 30px 60px -20px #28141e59}@keyframes qq-pop{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.qq-popover__close{background:var(--surface-soft);width:28px;height:28px;color:var(--ink-500);cursor:pointer;border:none;border-radius:50%;font-size:12px;position:absolute;top:10px;right:10px}.qq-popover__close:hover{background:var(--sakura-100);color:var(--sakura-700)}.qq-popover__card h4{color:var(--ink-900);margin:0 0 14px;font-size:15px}.qq-qr{background:var(--surface-soft);border:1px solid var(--border-soft);width:180px;height:180px;color:var(--sakura-700);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0 auto 14px;display:flex;overflow:hidden}.qq-qr img{object-fit:contain;width:100%;height:100%}.qq-qr i{opacity:.85;font-size:48px}.qq-qr p{color:var(--ink-500);margin:0;font-size:11px}.qq-group{color:var(--ink-700);align-items:center;gap:8px;margin:0 0 6px;font-size:13px;display:inline-flex}.qq-number{color:var(--sakura-700);font-variant-numeric:tabular-nums;font-weight:600}.qq-copy{border:1px solid var(--border-medium);background:var(--surface);width:24px;height:24px;color:var(--ink-500);cursor:pointer;border-radius:50%;font-size:11px}.qq-copy:hover{color:var(--sakura-700);background:var(--sakura-100)}.qq-tip{color:var(--ink-500);margin:4px 0 0;font-size:11.5px}.home{flex-direction:column;gap:20px;display:flex}.home-topbar{align-items:center;gap:12px;display:flex}.home-search{background:var(--surface);border:1px solid var(--border-soft);min-width:0;box-shadow:var(--card-shadow);border-radius:24px;flex:1;align-items:center;gap:10px;margin:0;padding:11px 18px;transition:border-color .2s,box-shadow .2s;display:flex}.home-search:focus-within{border-color:var(--sakura-200);box-shadow:0 0 0 3px #ff9fb62e}.home-search i{color:var(--ink-500);font-size:14px}.home-search input{min-width:0;color:var(--ink-900);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.home-search input::placeholder{color:var(--ink-500)}.home-topbar__btn{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--sakura-500), var(--sakura-700));border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:15px;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px -6px #e85d8099}.home-topbar__btn:hover{transform:translateY(-2px)rotate(8deg);box-shadow:0 10px 22px -8px #e85d80bf}.home-hero{aspect-ratio:21/8;background:var(--surface-soft);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:18px;position:relative;overflow:hidden}.home-hero__slide{opacity:0;visibility:hidden;transition:opacity .7s,visibility .7s;display:block;position:absolute;inset:0}.home-hero__slide.is-active{opacity:1;visibility:visible}.home-hero__slide img{object-fit:cover;width:100%;height:100%}.home-hero__shade{background:linear-gradient(90deg,#160b11cc 0%,#160b1173 42%,#160b110a 78%);position:absolute;inset:0}.home-hero__content{color:#fff;flex-direction:column;justify-content:center;gap:12px;max-width:72%;display:flex;position:absolute;inset:0 8% 0 40px}.home-hero__tags{gap:8px;display:flex}.home-hero__tag{-webkit-backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #ffffff40;border-radius:20px;padding:3px 12px;font-size:12px}.home-hero__tag.is-top{background:var(--sakura-500);border-color:#0000}.home-hero__title{text-shadow:0 2px 12px #0006;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:26px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.home-hero__desc{opacity:.9;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:92%;margin:0;font-size:13.5px;line-height:1.7;display:-webkit-box;overflow:hidden}.home-hero__meta{opacity:.85;gap:16px;font-size:12.5px;display:flex}.home-hero__meta span{align-items:center;gap:6px;display:inline-flex}.home-hero__nav{color:#fff;cursor:pointer;opacity:0;z-index:3;-webkit-backdrop-filter:blur(6px);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;transition:opacity .25s,background .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.home-hero:hover .home-hero__nav{opacity:1}.home-hero__nav:hover{background:var(--sakura-500)}.home-hero__nav.is-prev{left:14px}.home-hero__nav.is-next{right:14px}.home-hero__dots{z-index:3;gap:8px;display:flex;position:absolute;bottom:16px;right:20px}.home-hero__dot{cursor:pointer;background:#ffffff73;border:none;border-radius:50%;width:9px;height:9px;padding:0;transition:width .25s,background .25s,border-radius .25s}.home-hero__dot.is-active{background:#fff;border-radius:5px;width:22px}.home-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.home-tab{border:1px solid var(--border-soft);background:var(--surface);color:var(--ink-700);cursor:pointer;white-space:nowrap;border-radius:20px;padding:7px 16px;font-family:inherit;font-size:13px;transition:all .2s}.home-tab:hover{color:var(--sakura-700);border-color:var(--sakura-200)}.home-tab.is-active{background:var(--sakura-500);border-color:var(--sakura-500);color:#fff;box-shadow:0 4px 12px -6px #e85d8099}.home-main{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.home-col{flex-direction:column;gap:16px;min-width:0;display:flex}.home-list__empty{text-align:center;color:var(--ink-500);margin:0;padding:44px 0;font-size:13.5px}.post-row{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:14px;grid-template-columns:172px 1fr;gap:18px;transition:transform .3s,box-shadow .3s;display:grid;overflow:hidden}.post-row:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.post-row__thumb{aspect-ratio:4/3;display:block;position:relative;overflow:hidden}.post-row__thumb img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.post-row:hover .post-row__thumb img{transform:scale(1.06)}.post-row__date{background:#ffffffeb;border-radius:10px;flex-direction:column;align-items:center;padding:5px 9px;line-height:1.05;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px -2px #28141e40}.post-row__date b{color:var(--sakura-700);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.post-row__date span{color:var(--ink-500);font-variant-numeric:tabular-nums;font-size:10px}.post-row__body{flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:16px 18px 16px 0;display:flex}.post-row__title{color:var(--ink-900);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:600;line-height:1.5;transition:color .25s;display:-webkit-box;overflow:hidden}.post-row:hover .post-row__title{color:var(--sakura-700)}.post-row__excerpt{color:var(--ink-500);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.post-row__meta{color:var(--ink-500);flex-wrap:wrap;gap:14px;margin-top:2px;font-size:12px;display:flex}.post-row__meta span{align-items:center;gap:5px;display:inline-flex}.post-row__meta i{color:var(--sakura-500);font-size:11px}.home-rail{flex-direction:column;gap:16px;display:flex;position:sticky;top:24px}.rail-card{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:14px;padding:16px 18px}.rail-card__title{color:var(--ink-900);align-items:center;gap:8px;margin:0 0 14px;font-size:14.5px;font-weight:600;display:flex}.rail-card__title i{color:var(--sakura-500);font-size:13px}.rail-rank{flex-direction:column;gap:2px;display:flex}.rail-rank li a{border-radius:8px;grid-template-columns:22px 1fr;align-items:center;gap:12px;padding:8px 6px;transition:background .2s;display:grid}.rail-rank li a:hover{background:var(--surface-soft)}.rail-rank__num{color:#fff;background:var(--ink-500);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.rail-rank li:first-child .rail-rank__num{background:linear-gradient(135deg,#ff8aa0,#e85d80)}.rail-rank li:nth-child(2) .rail-rank__num{background:linear-gradient(135deg,#ffb27a,#ff8e53)}.rail-rank li:nth-child(3) .rail-rank__num{background:linear-gradient(135deg,#7ec8ff,#5b9bff)}.rail-rank__text{flex-direction:column;gap:2px;min-width:0;display:flex}.rail-rank__title{color:var(--ink-700);white-space:nowrap;text-overflow:ellipsis;font-size:13px;transition:color .2s;overflow:hidden}.rail-rank li a:hover .rail-rank__title{color:var(--sakura-700)}.rail-rank__date{color:var(--ink-500);font-variant-numeric:tabular-nums;font-size:11px}.page-stack{flex-direction:column;gap:18px;display:flex}.page-hero-card{background:var(--surface);border:1px solid var(--border-soft);text-align:center;box-shadow:var(--card-shadow);border-radius:14px;padding:32px 30px}.page-hero-card .eyebrow{color:var(--sakura-700);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px;font-size:12px;font-weight:600}.page-hero-card h1{color:var(--ink-900);margin:0 0 12px;font-size:22px;font-weight:600}.page-hero-card .intro{color:var(--ink-500);max-width:560px;margin:0 auto;font-size:13.5px;line-height:1.8}.page-hero-card .badges{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.page-hero-card .badge{background:var(--sakura-100);color:var(--sakura-700);border-radius:20px;padding:4px 12px;font-size:12px}.post-row__thumb{background:linear-gradient(135deg,#ffe3ec 0%,#eef0f6 100%)}.back-link{color:var(--ink-500);align-items:center;gap:6px;width:fit-content;font-size:13px;transition:color .25s;display:inline-flex}.back-link:hover{color:var(--sakura-700)}.code-copy-button{border:1px solid var(--border-medium);width:28px;min-width:28px;height:28px;color:var(--ink-500);font-family:var(--font-sans);cursor:pointer;opacity:.55;background:#ffffffeb;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:opacity .2s,color .2s,border-color .2s,background .2s,transform .15s;display:inline-flex;position:absolute;top:8px;right:8px}.code-copy-button:hover,.code-copy-button:focus-visible,.code-copy-button.is-copied{opacity:1}.code-copy-button:hover{color:var(--sakura-700);border-color:var(--sakura-200);background:#fff;transform:translateY(-1px)}.code-copy-button:active{transform:translateY(0)scale(.92)}.code-copy-button.is-copied{color:#10b981;background:#10b9811f;border-color:#10b98166}.code-copy-button.is-error{color:#b42318;background:#fff5f4;border-color:#f1b7b2}.site-footer{text-align:center;color:var(--ink-500);margin-top:auto;padding:24px 20px 0;font-size:12px}.site-footer p{margin:4px 0}.empty-state{background:var(--surface);border:1px solid var(--border-soft);text-align:center;box-shadow:var(--card-shadow);border-radius:14px;padding:48px 28px}.empty-state h2{color:var(--ink-900);margin:0 0 10px;font-size:17px;font-weight:600}.empty-state p{color:var(--ink-500);max-width:540px;margin:0 auto;font-size:13.5px;line-height:1.8}.sidebar-backdrop{z-index:40;background:#28141e66;display:none;position:fixed;inset:0}.sidebar-backdrop.open{display:block}@media (width<=1080px){.home-main{grid-template-columns:1fr}.home-rail{flex-flow:wrap;position:static}.rail-card{flex:240px}}@media (width<=860px){.sidebar{z-index:50;width:260px;transition:transform .35s cubic-bezier(.2,.8,.2,1);overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-handle{display:inline-flex}.site-main{margin-left:0;padding:28px 16px 40px}.home-hero{aspect-ratio:16/9}.home-hero__content{gap:8px;max-width:100%;inset:0 16px 0 18px}.home-hero__title{font-size:19px}.home-hero__desc,.home-hero__nav{display:none}.post-row{grid-template-columns:120px 1fr;gap:12px}.post-row__body{gap:6px;padding:12px 14px 12px 0}.post-row__title{font-size:14.5px}.home-rail{flex-direction:column}}@media (width<=520px){.post-row{grid-template-columns:1fr}.post-row__thumb{aspect-ratio:16/9}.post-row__body{padding:0 14px 14px}.home-topbar__btn{width:42px;height:42px}}:root{--page-bg:#f5f6fa;--surface:#fff;--surface-soft:#fafbfe;--border-soft:#eceef5;--border-medium:#e2e5ec;--sakura-500:#ff4e79;--sakura-100:#fff0f3;--sakura-200:#ffc2d1;--sakura-700:#d62d58;--card-shadow:0 1px 30px -4px #e8e8e8;--card-shadow-hover:0 1px 20px 10px #e8e8e8;--card-bg:#ffffffb8;--card-bg-hover:#ffffffe6;--card-border:#fffffff2;--bubble-solid:#ffffffeb;--ink-900:#1a1e29;--ink-700:#3c4257;--ink-500:#697386;--ink-400:#8a94a8;--ink-300:#aab3c4;--sidebar-width:250px}:root.dark-theme{--page-bg:#0b0c10;--surface:#14161f;--surface-soft:#1b1e2a;--border-soft:#222636;--border-medium:#2e344a;--sakura-500:#ff4e79;--sakura-100:#311c26;--sakura-200:#4c2635;--sakura-300:#7d344d;--sakura-400:#c9476a;--sakura-700:#e03964;--card-shadow:0 1px 20px 2px #00000059;--card-shadow-hover:0 1px 30px 6px #00000080;--card-bg:#14161fad;--card-bg-hover:#1b1e2adb;--card-border:#ffffff12;--bubble-solid:#1e212df0;--ink-900:#f4f6fa;--ink-700:#c5cbd8;--ink-500:#8892b0;--ink-400:#77809a;--ink-300:#a9b2c9}body{background-color:var(--page-bg);color:var(--ink-700);transition:background-color .3s,color .3s}.sidebar{backdrop-filter:var(--glass-blur);border-right:1px solid var(--border-soft);width:var(--sidebar-width);background-color:#ffffffb8;flex-direction:column;gap:20px;padding:24px 16px;display:flex;box-shadow:4px 0 24px #28141e0d}:root.dark-theme .sidebar{background-color:#14161fad;border-right:1px solid #ffffff0d;box-shadow:6px 0 30px #00000040}.sidebar-card{transition:none;backdrop-filter:none!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.sidebar-card+.sidebar-card{border-top:1px dashed var(--border-soft);padding-top:20px!important}:root.dark-theme .sidebar-card+.sidebar-card{border-top:1px dashed #ffffff14}.sidebar-card-profile{padding-bottom:0!important}.sidebar-profile{border-bottom:none;padding-bottom:0}.profile-avatar-wrap{width:82px;height:82px;margin-bottom:12px;position:relative}.profile-avatar-wrap .avatar{border:2px solid var(--surface);width:100%;height:100%;display:block;box-shadow:0 4px 12px #ff4e7933}.avatar-theme-toggle{background:var(--surface);border:1px solid var(--border-soft);width:28px;height:28px;color:var(--sakura-500);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s,background-color .3s,border-color .3s;display:flex;position:absolute;bottom:-4px;right:-4px;box-shadow:0 2px 8px #00000014}.avatar-theme-toggle:hover{background:var(--surface-soft);transform:scale(1.1)rotate(15deg)}.sidebar-card-live2d{justify-content:center;align-items:center;padding:8px;display:flex}.sidebar-live2d{border-top:none;height:180px;padding-top:0}.sidebar-social a,.sidebar-social .social-trigger{background:var(--surface-soft);border-color:var(--border-soft);width:32px;height:32px}.sidebar-social a:hover,.sidebar-social .social-trigger:hover{background:var(--sakura-500);border-color:var(--sakura-500)}.home-topbar-wrap{margin-bottom:8px}.home-topbar{align-items:center;gap:12px;width:100%;display:flex}.home-search{background:var(--surface);border-color:var(--border-soft);border-radius:16px;flex:1;padding:11px 18px;position:relative}.home-search-shortcut{color:var(--ink-500);background:var(--surface-soft);border:1px solid var(--border-soft);user-select:none;border-radius:6px;padding:2px 6px;font-size:11px}.home-random-btn{background:var(--surface);width:44px;height:44px;color:var(--ink-700);border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:14px;justify-content:center;align-items:center;display:flex}.home-random-btn:hover{color:var(--sakura-500)!important;background:var(--sakura-100)!important;box-shadow:var(--card-shadow-hover)!important}.home-write-btn{background:var(--sakura-500);border-radius:14px;align-items:center;gap:8px;height:44px;padding:0 18px;font-size:13px;font-weight:600;transition:all .25s;display:flex;box-shadow:0 4px 12px #ff4e7940;color:#fff!important}.home-write-btn:hover{background:var(--sakura-700);transform:translateY(-1px);box-shadow:0 6px 16px #ff4e7959}.home-theme-toggle-btn{background:var(--surface);width:44px;height:44px;color:var(--ink-700);border:1px solid var(--border-soft);cursor:pointer;box-shadow:var(--card-shadow);border-radius:14px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.home-theme-toggle-btn:hover{color:var(--sakura-500);background:var(--sakura-100);transform:scale(1.05)}.home-tabs-container{justify-content:space-between;align-items:center;width:100%;margin:12px 0 6px;display:flex}.home-tabs{gap:6px}.home-tab{background:var(--surface);border-color:var(--border-soft);color:var(--ink-700);border-radius:12px;padding:6px 14px}.home-tab.is-active{background:var(--sakura-500);border-color:var(--sakura-500);box-shadow:0 4px 10px #ff4e7933}.home-filter-dropdown-wrap{align-items:center;display:flex}.home-filter-dropdown{color:var(--ink-700);background:var(--surface);border:1px solid var(--border-soft);cursor:pointer;box-shadow:var(--card-shadow);border-radius:12px;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;transition:all .2s;display:flex}.home-filter-dropdown:hover{border-color:var(--border-medium);color:var(--sakura-500)}.home-hero{border:1px solid var(--border-soft);box-shadow:var(--card-shadow);border-radius:16px}.home-hero__tag.is-top{background:var(--sakura-500)}.home-timeline-wrap{position:relative}.home-timeline-wrap:before,.home-timeline-wrap:after{content:"";z-index:4;pointer-events:none;height:56px;position:absolute;left:0;right:0}.home-timeline-wrap:before{background:linear-gradient(to bottom, var(--page-bg), transparent);top:0}.home-timeline-wrap:after{background:linear-gradient(to top, var(--page-bg), transparent);bottom:0}.home-timeline{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-height:560px;position:relative;overflow-y:auto}.home-timeline.lenis-active{overscroll-behavior:contain;overflow-y:auto}.home-timeline::-webkit-scrollbar{width:0;height:0}.home-timeline__track{will-change:transform;transform-origin:top;padding:16px 16px 24px;position:relative}.home-timeline__lane{flex-direction:column;gap:32px;display:flex;position:relative}.home-timeline__line{background:var(--border-soft);z-index:0;border-radius:999px;width:2px;position:absolute;top:16px;bottom:16px;left:104px}:root.dark-theme .home-timeline__line{background:var(--border-medium)}.home-timeline__line-progress{background:linear-gradient(to bottom, var(--sakura-300), var(--sakura-500));z-index:2;border-radius:999px;width:2px;height:0%;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 8px #ff4e7980,0 0 16px #ff4e7933}.home-timeline__line-progress:after{content:"";border:2px solid var(--sakura-500);width:8px;height:8px;box-shadow:0 0 8px var(--sakura-500), 0 0 16px var(--sakura-500);background:#fff;border-radius:50%;animation:2s ease-in-out infinite star-pulse;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}@keyframes star-pulse{0%,to{box-shadow:0 0 6px var(--sakura-500), 0 0 12px var(--sakura-500);transform:translate(-50%)scale(1)}50%{box-shadow:0 0 10px var(--sakura-500), 0 0 20px var(--sakura-500);transform:translate(-50%)scale(1.3)}}.home-timeline.is-pulling .home-timeline__line-progress{filter:saturate(1.15)}.timeline-node{opacity:0;transition:opacity .35s ease, transform .35s var(--ease-sakura);grid-template-columns:90px 30px 1fr;align-items:start;column-gap:16px;display:grid;position:relative;transform:translateY(24px)}.timeline-node.is-visible{opacity:1;animation:.6s cubic-bezier(.25,1,.5,1) both timeline-node-in;animation-delay:calc(var(--anim-delay-index,0) * 80ms);transform:translateY(0)}@keyframes timeline-node-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.home-timeline:hover .timeline-node:not(:hover){opacity:.65}.home-timeline .timeline-node{transition:opacity .3s ease, transform .3s var(--ease-sakura)}.home-timeline .timeline-node:hover{opacity:1}.home-timeline .timeline-node.is-current{opacity:1;transform:translate(1px)}.timeline-node__date-badge{text-align:right;z-index:2;flex-direction:column;align-self:start;align-items:flex-end;padding-top:4px;display:flex;position:sticky;top:100px}.timeline-node__month-year{color:var(--ink-400);font-variant-numeric:tabular-nums;letter-spacing:.5px;white-space:nowrap;font-size:11px;font-weight:600}.timeline-node__day{font-variant-numeric:tabular-nums;background:linear-gradient(135deg, var(--ink-700), var(--ink-900));-webkit-text-fill-color:transparent;background-clip:text;margin-top:2px;font-size:28px;font-weight:800;line-height:1.1}:root.dark-theme .timeline-node__day{background:linear-gradient(135deg, #fff, var(--ink-300));-webkit-text-fill-color:transparent;background-clip:text}.timeline-node__dot-wrap{z-index:2;justify-content:center;align-items:start;height:100%;padding-top:12px;display:flex;position:relative}.timeline-node__dot{background:var(--surface);border:2px solid var(--border-medium);width:12px;height:12px;box-shadow:none;z-index:3;border-radius:50%;transition:all .35s cubic-bezier(.16,1,.3,1);position:relative}.home-timeline .timeline-node:hover .timeline-node__dot,.home-timeline .timeline-node.is-current .timeline-node__dot{background:var(--sakura-500);border-color:var(--sakura-500);transform:scale(1.15);box-shadow:0 0 0 4px #ff4e7926,0 0 12px #ff4e7966}.home-timeline .timeline-node.is-current .timeline-node__dot:after{content:"";border:2px solid var(--sakura-400);pointer-events:none;border-radius:50%;animation:2.2s ease-out infinite wave-pulse;position:absolute;inset:-2px}.timeline-node__card{flex:1;min-width:0}.timeline-node .post-row{background:color-mix(in srgb, var(--surface) 93%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-soft);opacity:.8;transition:opacity .35s ease, border-color .25s var(--ease-out-3), box-shadow .3s var(--ease-out-3), transform .28s var(--ease-out-3)}.home-timeline .timeline-node:hover .post-row,.home-timeline .timeline-node.is-current .post-row{opacity:1;border-color:var(--border-medium)}.home-timeline .timeline-node.is-current .post-row{border-color:var(--sakura-300);box-shadow:0 12px 28px -8px #ff4e791f, var(--card-shadow-hover);transform:scale(1.03)translateY(-1px)}:root.dark-theme .home-timeline .timeline-node.is-current .post-row{box-shadow:0 12px 30px -10px #ff4e7940, var(--card-shadow-hover);border-color:#ff4e7959}.timeline-node .post-row:hover{transition:transform .38s var(--ease-spring-2), box-shadow .3s var(--ease-out-3), border-color .2s var(--ease-out-3);border-color:var(--sakura-300)!important;box-shadow:0 16px 36px -12px #ff4e792e, var(--card-shadow-hover)!important;transform:scale(1.03)translateY(-4px)!important}:root.dark-theme .timeline-node .post-row:hover{box-shadow:0 16px 36px -12px #ff4e7952, var(--card-shadow-hover)!important;border-color:#ff4e7973!important}@media (width<=860px){.home-timeline-wrap{padding:12px 0}.home-timeline{max-height:70vh}.home-timeline__track{padding:16px 16px 24px}.timeline-node{grid-template-columns:30px 1fr;gap:6px 12px}.timeline-node__date-badge{flex-direction:row;grid-column:2;align-items:baseline;gap:8px;margin-bottom:2px;padding-top:0;position:static!important}.timeline-node__day{font-size:20px}.timeline-node__month-year{font-size:12px}.home-timeline__line,.timeline-node:before{left:14px}}.post-row{border:1px solid var(--border-soft);box-shadow:var(--card-shadow);background:var(--surface);border-radius:16px;grid-template-columns:172px 1fr;gap:18px;transition:transform .25s,box-shadow .25s,border-color .3s,background-color .3s;display:grid;overflow:hidden}.post-row:hover{box-shadow:var(--card-shadow-hover);border-color:var(--border-medium);transform:translateY(-2px)}.post-row__thumb .post-cover{transition:transform .5s var(--ease-out-3)}.timeline-node .post-row:hover .post-cover{transform:scale(1.04)}.timeline-loader-wrap{opacity:.8;justify-content:center;width:100%;padding:16px 0;display:flex}.dot-loading{color:var(--sakura-400);gap:4px;font-size:24px;font-weight:700;display:inline-flex}.dot-loading span{animation:1.4s infinite both dot-blink}.dot-loading span:nth-child(2){animation-delay:.2s}.dot-loading span:nth-child(3){animation-delay:.4s}.dot-loading span:nth-child(4){animation-delay:.6s}@keyframes dot-blink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.post-row__bookmark{width:26px;height:26px;color:var(--ink-500);z-index:3;background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:transform .2s,color .2s,background-color .2s;display:flex;position:absolute;top:10px;right:10px}.post-row:hover .post-row__bookmark{color:var(--sakura-500);background:#fff;transform:scale(1.08)}.post-row__meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.post-row__meta .meta-item{color:var(--ink-500);align-items:center;gap:6px;font-size:12px;display:inline-flex}.post-row__meta .meta-item i{color:var(--ink-500);font-size:12px}.post-row__tag-chip{background:var(--sakura-100);color:var(--sakura-500);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.3}.post-row__tag-chip[data-tag-color=Docker],.post-row__tag-chip[data-tag-color=docker]{color:#1e88e5;background:#2196f314}.post-row__tag-chip[data-tag-color=Vue],.post-row__tag-chip[data-tag-color=vue]{color:#43a047;background:#4caf5014}.post-row__tag-chip[data-tag-color=Spring],.post-row__tag-chip[data-tag-color=spring]{color:#7cb342;background:#8bc34a14}.rail-rank-modern{flex-direction:column;gap:12px;margin:0;padding:4px 0;display:flex}.rail-rank-modern li a{border-radius:12px;align-items:center;gap:12px;padding:8px;transition:background-color .2s;display:flex}.rail-rank-modern li a:hover{background-color:var(--surface-soft)}.rail-rank-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;display:flex;box-shadow:0 4px 8px #0000000d}.rail-rank-text-wrap{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.rail-rank-info{flex-direction:column;gap:2px;min-width:0;display:flex}.rail-rank-prefix{color:var(--ink-500);font-size:11px}.rail-rank-title-text{color:var(--ink-900);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;transition:color .2s;overflow:hidden}.rail-rank-modern li a:hover .rail-rank-title-text{color:var(--sakura-500)}.rail-rank-date-text{color:var(--ink-500);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:8px;font-size:11px}.rail-quote-card{border:1px solid var(--border-soft);background-image:url(/assets/quote_bg.png);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:160px;padding:24px;display:flex;position:relative;overflow:hidden}.quote-overlay{backdrop-filter:blur(1px);z-index:1;background:#ffffffb8;transition:background-color .3s;position:absolute;inset:0}:root.dark-theme .quote-overlay{backdrop-filter:blur(1px);background:#14161fd9}.quote-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.quote-icon-left{color:var(--sakura-500);opacity:.8;font-size:24px}.quote-text{color:var(--ink-900);max-width:220px;margin:0;font-size:13.5px;font-weight:500;line-height:1.8}@media (width<=860px){.sidebar{background:var(--surface)!important;padding:20px 16px!important}.sidebar-card{box-shadow:none!important;border:none!important;padding:0!important}.home-timeline{max-height:70vh}}:root{--ease-sakura:cubic-bezier(.07, .53, .65, .95);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--glass-blur:saturate(180%) blur(10px);--motion-base:.4s var(--ease-sakura)}body{background-image:radial-gradient(1100px at 10% -8%,#ff4e791a,#0000 42%),radial-gradient(900px at 94% 6%,#78aaff14,#0000 40%),radial-gradient(820px at 82% 104%,#ff8aaa12,#0000 44%);background-repeat:no-repeat;background-attachment:fixed}:root.dark-theme body{background-image:radial-gradient(1100px at 10% -8%,#ff4e791f,#0000 44%),radial-gradient(900px at 94% 6%,#5078d21f,#0000 42%),radial-gradient(820px at 82% 104%,#aa3c641a,#0000 46%)}.sakura-canvas{pointer-events:none;z-index:5;width:100%;height:100%;position:fixed;inset:0}.sidebar-card,.rail-card:not(.rail-quote-card){backdrop-filter:var(--glass-blur);background-color:#ffffffb8}:root.dark-theme .sidebar-card,:root.dark-theme .rail-card:not(.rail-quote-card){background-color:#14161fa3}.home-search{backdrop-filter:var(--glass-blur);background-color:#ffffffc7}:root.dark-theme .home-search{background-color:#14161fb3}.back-to-top{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--sakura-500), var(--sakura-700));opacity:0;pointer-events:none;z-index:60;width:46px;height:46px;transition:transform .45s var(--ease-spring), opacity .3s ease, box-shadow .25s ease;border:none;border-radius:14px;justify-content:center;align-items:center;font-size:15px;display:flex;position:fixed;bottom:26px;right:22px;transform:scale(0)translateY(10px);box-shadow:0 10px 24px -8px #ff4e7999}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:scale(1)translateY(0)}.back-to-top:hover{transform:scale(1.08)translateY(-2px);box-shadow:0 14px 30px -8px #ff4e79c7}@media (width<=860px){.back-to-top{width:42px;height:42px;bottom:18px;right:16px}}.sidebar-social a,.sidebar-social .social-trigger{transition:transform .25s var(--ease-spring), background-color .25s ease, border-color .25s ease, color .25s ease}.sidebar-social a:hover,.sidebar-social .social-trigger:hover{transform:translateY(-3px)}@media (prefers-reduced-motion:no-preference){@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes rise-in-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}.home-topbar-wrap{animation:rise-in .5s var(--ease-sakura) backwards}.home-timeline .timeline-node{animation:rise-in .55s var(--ease-sakura) backwards}.home-timeline .timeline-node:nth-child(2){animation-delay:60ms}.home-timeline .timeline-node:nth-child(3){animation-delay:.12s}.home-timeline .timeline-node:nth-child(4){animation-delay:.18s}.home-timeline .timeline-node:nth-child(5){animation-delay:.24s}.home-timeline .timeline-node:nth-child(6){animation-delay:.3s}.home-timeline .timeline-node:nth-child(n+7){animation-delay:.34s}.home-rail .rail-card{animation:rise-in .55s var(--ease-sakura) backwards}.home-rail .rail-card:first-child{animation-delay:.14s}.home-rail .rail-card:nth-child(2){animation-delay:.22s}.page-index__head,.page-hero-card{animation:rise-in .5s var(--ease-sakura) backwards}.empty-state{animation:rise-in .5s 80ms var(--ease-sakura) backwards}}.rail-card.rail-placeholder{border:1.5px dashed var(--border-medium);box-shadow:none;backdrop-filter:none;text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:120px;display:flex}.rail-placeholder i{color:var(--sakura-200);font-size:22px}.rail-placeholder p{color:var(--ink-700);margin:0;font-size:13px;font-weight:600}.rail-placeholder span{color:var(--ink-500);font-size:11.5px}.home-hero__tag.is-top i{margin-right:2px;font-size:10px}.home-hero{max-height:360px}@media (width<=860px){.home-hero{max-height:300px}}.home-section__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.home-section__title{color:var(--ink-900);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:inline-flex}.home-section__title i{color:var(--sakura-500);font-size:15px}.home-section__more{color:var(--ink-500);align-items:center;gap:5px;font-size:12.5px;transition:color .2s;display:inline-flex}.home-section__more:hover{color:var(--sakura-500)}@keyframes img-skeleton-glow{0%{background-position:100%}to{background-position:0%}}.img-loading-placeholder{background:linear-gradient(90deg, var(--border-soft) 25%, var(--border-medium) 37%, var(--border-soft) 63%)!important;background-size:400% 100%!important;animation:1.4s infinite img-skeleton-glow!important}:root.dark-theme .img-loading-placeholder{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 37%,#ffffff0d 63%) 0 0/400% 100%!important}.img-lazy-fade{opacity:0;transition:opacity .5s cubic-bezier(.25,.46,.45,.94)!important}.img-lazy-fade.is-loaded{opacity:1}.post-row,.rail-card:not(.rail-quote-card):not(.rail-placeholder),.page-hero-card,.empty-state,.qq-popover__card{background:var(--card-bg);backdrop-filter:var(--glass-blur);border:1px solid var(--card-border);box-shadow:var(--card-shadow)}.timeline-node .post-row{background:var(--card-bg);border-color:var(--card-border);backdrop-filter:var(--glass-blur)}.post-row{transition:transform var(--motion-base), box-shadow var(--motion-base), border-color var(--motion-base), background-color var(--motion-base)}.post-row:hover{background:var(--card-bg-hover);box-shadow:var(--card-shadow-hover);border-color:var(--card-border);transform:translateY(-6px)}.rail-card{transition:background var(--motion-base), box-shadow var(--motion-base)}.rail-card:not(.rail-quote-card):not(.rail-placeholder):hover{background:var(--card-bg-hover);box-shadow:var(--card-shadow-hover)}.home-search,.home-random-btn,.home-theme-toggle-btn,.home-write-btn,.home-tab,.home-filter-dropdown,.home-search-shortcut,.post-row__tag-chip,.page-hero-card .badge{border-radius:50px}.back-to-top{border-radius:50%}.home-search:focus-within{background-color:var(--card-bg-hover)}.home-hero__tag{backdrop-filter:var(--glass-blur)}.post-row__title{transition:color .25s ease, letter-spacing var(--motion-base)}.post-row:hover .post-row__title{letter-spacing:1px}.home-section__more,.back-link{position:relative}.home-section__more:after,.back-link:after{content:"";background:var(--sakura-500);border-radius:30px;max-width:0;height:3px;margin-inline:auto;transition:max-width .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-3px;left:0;right:0}.home-section__more:hover:after,.back-link:hover:after{max-width:100%}.home-write-btn:hover,.home-random-btn:hover,.home-theme-toggle-btn:hover{transform:translateY(-3px)scale(1.02)}@media (prefers-reduced-motion:no-preference){@keyframes topbar-dive-in{0%{opacity:0;transform:translateY(-60px)scale(1.03)}to{opacity:1;transform:translateY(0)scale(1)}}.home-topbar-wrap{animation:.9s cubic-bezier(.25,.46,.45,.94) both topbar-dive-in}}.home-hero__wave{pointer-events:none;z-index:2;background-repeat:repeat-x;background-size:720px 100%;width:calc(100% + 720px);height:54px;position:absolute;bottom:0;left:0}.home-hero__wave.is-back{opacity:.3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 100' preserveAspectRatio='none'%3E%3Cpath d='M0 52 C120 82 240 82 360 52 C480 22 600 22 720 52 L720 100 L0 100 Z' fill='%23ffffff'/%3E%3C/svg%3E");height:66px}.home-hero__wave.is-front{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 100' preserveAspectRatio='none'%3E%3Cpath d='M0 52 C120 24 240 24 360 52 C480 80 600 80 720 52 L720 100 L0 100 Z' fill='%23ffffff'/%3E%3C/svg%3E")}.home-hero__content{z-index:3}@media (width<=860px){.home-hero__wave{height:34px}.home-hero__wave.is-back{height:42px}}.home-hero__action{margin-top:4px}.home-hero__btn{color:#fff;backdrop-filter:var(--glass-blur);transition:background var(--motion-base), border-color var(--motion-base), box-shadow var(--motion-base), transform var(--motion-base);background:#ffffff29;border:1px solid #fff6;border-radius:50px;align-items:center;gap:8px;padding:8px 20px;font-size:13px;display:inline-flex;position:relative;overflow:hidden}.home-hero__btn i{transition:transform var(--motion-base)}.home-hero__slide:hover .home-hero__btn{background:var(--sakura-500);border-color:var(--sakura-500);transform:translateY(-2px);box-shadow:0 8px 20px -6px #e85d80a6}.home-hero__slide:hover .home-hero__btn i{transform:translate(4px)}.home-hero__btn:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff8c 50%,#0000 100%);width:45%;position:absolute;top:0;bottom:0;left:0;transform:translate(-160%)skew(-18deg)}.post-row__thumb:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(100deg,#0000 0%,#fff6 50%,#0000 100%);width:55%;position:absolute;top:0;bottom:0;left:0;transform:translate(-170%)skew(-18deg)}::selection{color:var(--ink-900);background:#ff9bb461}:root.dark-theme ::selection{color:#fff;background:#e85d8080}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.rail-placeholder i{display:inline-block}@media (prefers-reduced-motion:no-preference){@keyframes hero-wave-drift{0%{transform:translate(0)}to{transform:translate(-720px)}}@keyframes hero-wave-drift-back{0%{transform:translate(-720px)}to{transform:translate(0)}}.home-hero__wave.is-front{animation:30s linear infinite hero-wave-drift}.home-hero__wave.is-back{animation:46s linear infinite hero-wave-drift-back}@keyframes hero-blur-in{0%{opacity:0;filter:blur(10px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:none}}@keyframes hero-ken-burns{0%{transform:scale(1)}to{transform:scale(1.08)}}.home-hero__slide.is-active img{animation:14s ease-out forwards hero-ken-burns}.home-hero__slide.is-active .home-hero__tags{animation:hero-blur-in .8s var(--ease-sakura) .1s backwards}.home-hero__slide.is-active .home-hero__title{animation:hero-blur-in .9s var(--ease-sakura) .24s backwards}.home-hero__slide.is-active .home-hero__meta{animation:hero-blur-in .9s var(--ease-sakura) .38s backwards}.home-hero__slide.is-active .home-hero__action{animation:hero-blur-in .9s var(--ease-sakura) .52s backwards}@keyframes hero-shimmer-sweep{to{transform:translate(320%)skew(-18deg)}}.home-hero__slide:hover .home-hero__btn:after{animation:hero-shimmer-sweep .9s var(--ease-sakura)}.post-row:hover .post-row__thumb:after{animation:hero-shimmer-sweep .8s var(--ease-sakura)}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.rail-placeholder i{animation:3.4s ease-in-out infinite float-y}@keyframes rise-blur-in{0%{opacity:0;filter:blur(8px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:none}}.page-hero-card{animation-name:rise-blur-in;animation-duration:.6s}}.apricot-bg{z-index:-1;pointer-events:none;opacity:0;width:100%;height:100lvh;transition:opacity 1.6s,filter .8s;display:block;position:fixed;top:0;left:0}.apricot-bg.is-ready{opacity:1}body:has(>.apricot-bg.is-ready){background-color:#0000;background-image:none}.apricot-bg.is-ready~.sakura-canvas{display:none}:root.dark-theme .apricot-bg{filter:brightness(.42)saturate(.85)}.sidebar-glass{display:none}@media (width>=861px){.sidebar-glass{inset:var(--sidebar-gap) auto var(--sidebar-gap) var(--sidebar-inset-left);width:var(--sidebar-width);z-index:14;pointer-events:none;backdrop-filter:var(--glass-blur);--flip-cos:cos(var(--sidebar-flip));--flip-sin:sin(var(--sidebar-flip));--k3:calc(1 + 3.2 / 1400 * var(--flip-sin));--k12:calc(1 + 12 / 1400 * var(--flip-sin));--k24:calc(1 + 24 / 1400 * var(--flip-sin));--k226:calc(1 + 226 / 1400 * var(--flip-sin));--k238:calc(1 + 238 / 1400 * var(--flip-sin));--k247:calc(1 + 246.8 / 1400 * var(--flip-sin));--k250:calc(1 + 250 / 1400 * var(--flip-sin));clip-path:polygon(calc(100px - 100px * var(--flip-cos)) 24px, calc(100px - 96.8px * var(--flip-cos) / var(--k3)) calc(50% - (50% - 12px) / var(--k3)), calc(100px - 88px * var(--flip-cos) / var(--k12)) calc(50% - (50% - 3.2px) / var(--k12)), calc(100px - 76px * var(--flip-cos) / var(--k24)) calc(50% - 50% / var(--k24)), calc(100px + 126px * var(--flip-cos) / var(--k226)) calc(50% - 50% / var(--k226)), calc(100px + 138px * var(--flip-cos) / var(--k238)) calc(50% - (50% - 3.2px) / var(--k238)), calc(100px + 146.8px * var(--flip-cos) / var(--k247)) calc(50% - (50% - 12px) / var(--k247)), calc(100px + 150px * var(--flip-cos) / var(--k250)) calc(50% - (50% - 24px) / var(--k250)), calc(100px + 150px * var(--flip-cos) / var(--k250)) calc(50% + (50% - 24px) / var(--k250)), calc(100px + 146.8px * var(--flip-cos) / var(--k247)) calc(50% + (50% - 12px) / var(--k247)), calc(100px + 138px * var(--flip-cos) / var(--k238)) calc(50% + (50% - 3.2px) / var(--k238)), calc(100px + 126px * var(--flip-cos) / var(--k226)) calc(50% + 50% / var(--k226)), calc(100px - 76px * var(--flip-cos) / var(--k24)) calc(50% + 50% / var(--k24)), calc(100px - 88px * var(--flip-cos) / var(--k12)) calc(50% + (50% - 3.2px) / var(--k12)), calc(100px - 96.8px * var(--flip-cos) / var(--k3)) calc(50% + (50% - 12px) / var(--k3)), calc(100px - 100px * var(--flip-cos)) calc(100% - 24px));background:#ffffffb8;transition:background-color .35s;display:block;position:fixed}:root.dark-theme .sidebar-glass{background:#14161fad}.apricot-bg.is-ready~.sidebar-root .sidebar-glass{backdrop-filter:blur(22px)saturate(150%);background:#ffffff1a}:root.dark-theme .apricot-bg.is-ready~.sidebar-root .sidebar-glass{background:#0a0c1438}.sidebar-root .sidebar{inset:var(--sidebar-gap) auto var(--sidebar-gap) var(--sidebar-inset-left);border:1px solid var(--border-soft);perspective:1400px;perspective-origin:100px 50vh;transform-style:preserve-3d;border-radius:24px;overflow:visible;backdrop-filter:none!important;background:#ffffff14!important;box-shadow:inset 0 0 0 1px #ffffff29,0 18px 44px -10px #0a14284d!important}:root.dark-theme .sidebar-root .sidebar{border-color:#ffffff14;background:#121b2873!important;box-shadow:inset 0 0 0 1px #ffffff1a,0 20px 50px -10px #0009!important}.sidebar-root .sidebar-card,.sidebar-root .sidebar-profile,.sidebar-root .sidebar-social,.sidebar-root .sidebar-social ul,.sidebar-root .sidebar-social li,.sidebar-root .sidebar-live2d{transform-style:preserve-3d}.sidebar-root .profile-avatar-wrap{transform-style:preserve-3d;transition:transform .4s var(--ease-out-4,cubic-bezier(.2, .8, .2, 1)), box-shadow .3s ease;border-radius:50%;transform:translateZ(26px);box-shadow:0 8px 24px #00000059}.sidebar-root .profile-avatar-wrap:hover{transform:translateZ(32px);box-shadow:0 12px 28px #00000073}.sidebar-root .avatar-theme-toggle{transform:translateZ(8px)}.sidebar-root .avatar-theme-toggle:hover{transform:translateZ(14px)scale(1.1)rotate(15deg)}.sidebar-root .sidebar-profile .name{letter-spacing:.02em;text-shadow:0 4px 14px #0a1e3c73,0 1px 3px #0a1e3c4d;transition:transform .4s var(--ease-out-4,cubic-bezier(.2, .8, .2, 1)), text-shadow .3s ease;transform:translateZ(28px)}.sidebar-root .sidebar-profile .tagline{text-shadow:0 2px 8px #0a1e3c4d;transition:transform .4s var(--ease-out-4,cubic-bezier(.2, .8, .2, 1)), text-shadow .3s ease;transform:translateZ(20px)}.sidebar-root .sidebar-social a,.sidebar-root .sidebar-social .social-trigger{transition:transform .3s cubic-bezier(.2,.8,.2,1),color .2s,background .2s,border-color .2s,box-shadow .2s;transform:translateZ(20px);box-shadow:0 4px 12px #00000040}.sidebar-root .sidebar-social a:hover,.sidebar-root .sidebar-social .social-trigger:hover{transform:translateZ(28px)scale(1.08);box-shadow:0 6px 16px #ff4e7959}.sidebar-root .sidebar-live2d canvas{transition:transform .4s var(--ease-out-4,cubic-bezier(.2, .8, .2, 1));transform:translateZ(16px)}}.apricot-bg.is-ready~.sidebar-root .sidebar{--ink-900:#fff;--ink-700:#ffffffeb;--ink-500:#ffffffbd;--surface:#ffffffeb;--surface-soft:#ffffff24;--border-soft:#ffffff3d;--border-medium:#ffffff57;--sakura-100:#ffffff3d;backdrop-filter:blur(22px)saturate(150%);text-shadow:0 1px 8px #0a1e3c4d;background-color:#ffffff1a;border-color:#ffffff47;box-shadow:6px 0 30px #0a1e3c1f}:root.dark-theme .apricot-bg.is-ready~.sidebar-root .sidebar{background-color:#0a0c1438;border-color:#ffffff14}.apricot-bg{transition:opacity .5s}body:has(.home-hero-container) .apricot-bg{opacity:1}.site-main:has(.home-hero-container){min-height:100vh;width:100%!important;max-width:none!important;box-shadow:none!important;background:0 0!important;border:none!important;height:auto!important;margin:0!important;padding:0!important;top:0!important;overflow:visible!important}.site-main:has(.home-hero-container) .site-main__inner{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.site-main:has(.home-hero-container) .site-footer{color:#ffffff8c;text-shadow:0 1px 2px #03245040;background:0 0;margin-top:0;padding:30px 20px}:root.dark-theme .site-main:has(.home-hero-container) .site-footer{text-shadow:0 1px 6px #0009;background:0 0;border-top-color:#ffffff14}@media (width>=861px){.apricot-bg.is-ready~.site-main:not(:has(.home-hero-container)),:root.dark-theme .apricot-bg.is-ready~.site-main:not(:has(.home-hero-container)){--panel-glass:transparent;--panel-edge:transparent;box-shadow:none;backdrop-filter:none;background-color:#0000;border:none}}@media (width<=860px){.apricot-bg.is-ready~.site-main:not(:has(.home-hero-container)),:root.dark-theme .apricot-bg.is-ready~.site-main:not(:has(.home-hero-container)){backdrop-filter:none;box-shadow:none;background-color:#0000;border:none}}.apricot-bg.is-leaving~.site-main{opacity:0;transition:opacity .22s}.apricot-bg.is-entering~.site-main{animation:.9s both apricot-panel-in}@keyframes apricot-panel-in{0%{opacity:0}}@media print{.apricot-bg{display:none}}@media (width>=861px){.apricot-bg:is(.is-pending,.is-ready)~.site-main:not(:has(.home-hero-container)){width:calc(100% - 48px);height:auto;min-height:100vh;max-width:var(--content-max-width);margin-block:0;margin-inline:auto;padding-top:96px;padding-bottom:60px;position:relative;top:0;overflow:visible}.sidebar-card-profile{flex-shrink:0}.sidebar .sidebar-card-live2d{flex-direction:column;justify-content:flex-end;min-height:0;margin-top:auto;padding-top:0!important}.sidebar-live2d{flex:0 220px;height:auto;min-height:0}.sidebar-live2d canvas{width:auto!important;height:100%!important}}@media (width>=861px) and (height<=599px){.sidebar-card-live2d{display:none}}@media (width>=861px) and (height<=489px){.sidebar-root .sidebar{padding-block:14px}.sidebar-social{margin:6px 0 4px;padding-top:10px}}@property --panel-focus{syntax:"<number>";inherits:false;initial-value:1}@media (width>=861px){.apricot-bg:is(.is-pending,.is-ready)~.site-main{margin-inline:auto}.apricot-bg:is(.is-pending,.is-ready)~.site-main[data-panel]{transform:scale(calc(1 - .04 * (1 - var(--panel-focus))));filter:blur(calc(8px * (1 - var(--panel-focus))));box-shadow:none;backdrop-filter:none;will-change:transform, filter;background-color:#0000;border-color:#0000;transition:none}:root.dark-theme .apricot-bg:is(.is-pending,.is-ready)~.site-main[data-panel]{box-shadow:none}.apricot-bg~.site-main:is([data-panel=out],.is-ghost){pointer-events:none}.apricot-bg~.site-main.is-ghost *{animation:none!important}}html{background:linear-gradient(#4da4e0 0%,#2382c5 48%,#1a68a3 100%) fixed}body{background:0 0}.back-to-top{backdrop-filter:blur(20px)saturate(170%);text-shadow:0 1px 2px #0324504d;background:#ffffff24;border:1px solid #ffffff4d;box-shadow:inset 0 1px #ffffff38,0 12px 32px -14px #0216348c}.back-to-top:hover{background:#ffffff38;border-color:#ffffff6b;box-shadow:inset 0 1px #ffffff47,0 14px 36px -14px #02163499}.site-header{z-index:100;pointer-events:none;contain:layout;justify-content:space-between;align-items:center;width:100%;height:72px;padding:0 24px;transition:transform .35s,opacity .35s;display:flex;position:fixed;top:0;left:0}.site-header__inner{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.site-branding,.nav-capsule,.user-menu-wrapper,.header-actions{backdrop-filter:blur(20px)saturate(170%);pointer-events:auto;background:#ffffff24;border:1px solid #ffffff4d;border-radius:50px;align-items:center;height:48px;transition:background-color .3s,border-color .3s,box-shadow .3s;display:flex;position:relative;box-shadow:inset 0 1px #ffffff38,0 12px 32px -14px #0216348c}:root.dark-theme .site-branding,:root.dark-theme .nav-capsule,:root.dark-theme .user-menu-wrapper,:root.dark-theme .header-actions{background:#141621d1;border-color:#ffffff17;box-shadow:0 6px 24px #0006}.site-branding:hover,.nav-capsule:hover,.user-menu-wrapper:hover,.header-actions:hover{background:#fff3;border-color:#ffffff6b;box-shadow:inset 0 1px #ffffff47,0 14px 36px -14px #02163499}:root.dark-theme .site-branding:hover,:root.dark-theme .nav-capsule:hover,:root.dark-theme .user-menu-wrapper:hover,:root.dark-theme .header-actions:hover{background:#1c1f2eeb;box-shadow:0 6px 24px #00000080}.site-branding{gap:9px;padding:4px 16px 4px 6px;text-decoration:none}.site-branding a{color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.site-branding .site-logo{object-fit:cover;border-radius:50%;width:36px;height:36px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #00000014}.site-branding:hover .site-logo{transform:rotate(20deg)scale(1.08)}.site-branding .site-title{color:var(--sakura-700);letter-spacing:.5px;font-family:inherit;font-size:15px;font-weight:600}:root.dark-theme .site-branding .site-title{color:#ff9bb5}.nav-cluster{pointer-events:auto;align-items:center;gap:0;transition:transform .48s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-capsule{z-index:2;transform-origin:50%;padding:4px 6px;transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .4s,background .3s,width .42s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.nav-capsule.is-search-active{background:#fff3;border-color:#ffffff73;box-shadow:inset 0 1px #ffffff52,0 18px 48px -12px #021634a6}:root.dark-theme .nav-capsule.is-search-active{background:#191c2aeb;border-color:#ffffff29;box-shadow:0 10px 32px #0000008c}@keyframes islandCapsuleAbsorb{0%{transform:scale(1)}35%{transform:scale(1.025)translate(3px)}70%{transform:scale(.99)translate(-1px)}to{transform:scale(1)translate(0)}}@keyframes islandCapsuleEmit{0%{transform:scale(1)}30%{transform:scale(.985)translate(-3px)}65%{transform:scale(1.015)translate(1px)}to{transform:scale(1)translate(0)}}.nav-cluster.is-absorbing .nav-capsule{animation:.5s cubic-bezier(.34,1.56,.64,1) islandCapsuleAbsorb}.nav-cluster.is-emitting .nav-capsule{animation:.52s cubic-bezier(.34,1.56,.64,1) islandCapsuleEmit}.nav-hover-pill{pointer-events:none;opacity:0;z-index:0;background:#ffffff38;border-radius:40px;height:calc(100% - 8px);transition:transform .28s cubic-bezier(.2,.8,.2,1),width .28s cubic-bezier(.2,.8,.2,1),opacity .2s;position:absolute;top:4px;left:0;box-shadow:inset 0 0 0 1px #ffffff29}:root.dark-theme .nav-hover-pill{background:#ff78a040}.nav-links{z-index:1;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:relative}.nav-links li{border-radius:40px;position:relative}.nav-links li a{font:500 14px/1.2 var(--rd-sans);letter-spacing:.08em;color:#ffffffc7;text-shadow:0 1px 2px #0324504d;white-space:nowrap;border-radius:40px;align-items:center;padding:9px 20px;text-decoration:none;transition:color .2s;display:flex}.nav-links li a:hover,.nav-links li.is-active a{color:#fff}.nav-links li.is-active a{font-weight:600}.nav-links li a:focus-visible{outline-offset:-2px;outline:2px solid #fff}.nav-search-divider{background:#ffffff47;flex-shrink:0;width:1px;height:18px;margin:0 4px 0 2px;transition:background-color .22s}:root.dark-theme .nav-search-divider{background:#ffffff24}.searchbox.js-toggle-search{color:#fffc;text-shadow:0 1px 2px #0324504d;cursor:pointer;background:0 0;border:none;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:2px;padding:0;transition:color .2s,background .25s,transform .25s cubic-bezier(.34,1.56,.64,1);display:flex}.searchbox.js-toggle-search i{font-size:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.searchbox.js-toggle-search:hover{color:#fff;background:#ffffff2e;transform:scale(1.08)}.searchbox.js-toggle-search:hover i{transform:scale(1.12)}.nav-capsule.is-search-active .searchbox.js-toggle-search{color:#fff;background:#ffffff38}.searchbox.js-toggle-search:focus-visible{outline-offset:-2px;outline:2px solid #fff}.nav-capsule.is-search-active .nav-links,.nav-capsule.is-search-active .nav-hover-pill{transform:scale(.92);opacity:0!important;pointer-events:none!important}.nav-links{transition:opacity .22s,transform .22s,visibility .22s}.nav-search-bar{opacity:0;visibility:hidden;pointer-events:none;z-index:5;align-items:center;transition:opacity .22s,transform .26s cubic-bezier(.34,1.56,.64,1),visibility .22s;display:flex;position:absolute;inset:0 52px 0 16px;transform:scale(.96)}.nav-capsule.is-search-active .nav-search-bar{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.nav-search-input{width:100%;height:100%;font:500 13.5px/1.4 var(--rd-sans);color:#fff;text-shadow:0 1px 2px #03245040;letter-spacing:.04em;background:0 0;border:none;outline:none;padding:0}.nav-search-input::placeholder{color:#ffffffbd;letter-spacing:.03em;font-weight:400}:root.dark-theme .nav-search-input::placeholder{color:#ffffffa6}@keyframes navSearchShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.nav-capsule.is-shaking{animation:.4s ease-in-out navSearchShake}.nav-search-tip{backdrop-filter:blur(20px)saturate(180%);color:#fff;font:500 13px/1.4 var(--rd-sans);letter-spacing:.04em;pointer-events:none;opacity:0;visibility:hidden;z-index:101;white-space:nowrap;background:#141826e0;border:1px solid #ffffff38;border-radius:30px;align-items:center;gap:8px;padding:8px 16px;transition:opacity .25s,transform .28s cubic-bezier(.34,1.56,.64,1),visibility .25s;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%)translateY(-8px)scale(.92);box-shadow:0 12px 30px #00000059,inset 0 1px #fff3}.nav-search-tip i{color:#ff9bb5;font-size:14px}.nav-search-tip.is-show{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)scale(1)}.user-menu-wrapper{cursor:pointer;z-index:1;transform-origin:50%;opacity:1;pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-left:12px;padding:4px;transition:width .48s cubic-bezier(.34,1.56,.64,1),height .48s cubic-bezier(.34,1.56,.64,1),margin-left .48s cubic-bezier(.34,1.56,.64,1),transform .48s cubic-bezier(.34,1.56,.64,1),opacity .32s cubic-bezier(.4,0,.2,1),box-shadow .35s,border-color .35s;display:flex;position:relative;transform:translate(0)scale(1)}.user-menu-wrapper.is-merged{visibility:hidden;height:48px;transition:width .42s cubic-bezier(.4,0,.2,1),margin-left .42s cubic-bezier(.4,0,.2,1),transform .42s cubic-bezier(.4,0,.2,1),opacity .25s,border-width .42s,visibility 0s linear .42s;opacity:0!important;pointer-events:none!important;width:0!important;box-shadow:none!important;border-width:0!important;margin-left:0!important;padding:0!important;transform:translate(-30px)scale(.18)!important}.header-avatar-btn{border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;text-decoration:none;transition:transform .48s cubic-bezier(.34,1.56,.64,1);display:flex;overflow:hidden}.header-avatar-btn img{object-fit:cover;border-radius:50%;width:100%;height:100%;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform:rotate(0)}.user-menu-wrapper:not(.is-merged):hover .header-avatar-btn img{transform:scale(1.08)}.header-avatar-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.header-actions{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-left:auto;padding:0;display:flex}.theme-toggle-btn{width:100%;height:100%;color:var(--ink-700);cursor:pointer;background:0 0;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;font-size:16px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),color .2s;display:flex}:root.dark-theme .theme-toggle-btn{color:#f7d070}.theme-toggle-btn:hover{color:var(--sakura-600);transform:rotate(25deg)scale(1.12)}:root.dark-theme .theme-toggle-btn:hover{color:#ffe185}.live2d-widget{z-index:50;pointer-events:auto;cursor:pointer;width:160px;height:190px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:12px;left:16px}.live2d-widget:hover{transform:translateY(-4px)scale(1.05)}.live2d-widget canvas{width:100%;height:100%;display:block}.live2d-fallback{color:var(--ink-400);opacity:.6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;font-size:20px;display:flex;position:absolute;inset:0}.live2d-fallback.is-hidden{display:none}@media (width<=860px){.site-header{height:60px;padding:0 14px}.site-branding,.nav-capsule,.user-menu-wrapper,.header-actions{height:42px}.site-branding{gap:6px;padding:3px 10px 3px 4px}.site-branding .site-logo{width:32px;height:32px}.site-branding .site-title{display:none}.nav-cluster{gap:0}.nav-capsule{padding:3px 4px}.nav-links li a{gap:6px;padding:5px 12px;font-size:13px}.user-menu-wrapper{width:42px;height:42px;margin-left:8px;padding:3px}.user-menu-wrapper.is-merged{height:42px;width:0!important;margin-left:0!important;transform:translate(-24px)scale(.18)!important}.header-avatar-btn{width:34px;height:34px}.header-actions{width:42px;height:42px}.nav-search-divider{height:15px;margin:0 2px}.searchbox.js-toggle-search{width:32px;height:32px}.searchbox.js-toggle-search i{font-size:13px}.nav-search-bar{left:10px;right:36px}.nav-search-input{letter-spacing:-.01em;font-size:11.5px}.nav-search-tip{padding:6px 14px;font-size:12.5px;top:66px}.live2d-widget{display:none}}@media (width<=480px){.site-header{padding:0 8px}.nav-links li a{gap:4px;padding:5px 9px;font-size:12.5px}.user-menu-wrapper{margin-left:6px}.user-menu-wrapper.is-merged{margin-left:0!important}.site-header__inner:has(.is-search-active) .site-branding{opacity:.15;pointer-events:none}.site-branding{transition:opacity .25s,background-color .3s,border-color .3s}}@font-face{font-family:Geist;src:url(/vendor/fonts/geist-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;src:url(/vendor/fonts/geist-mono-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--rd-sans:"Geist", system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "Noto Sans SC", sans-serif;--rd-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, "Noto Sans Mono CJK SC", monospace;--rd-ease:cubic-bezier(.2, .8, .2, 1)}.blog-index,.notes-index,.talks-feed,.read-page{--rd-ink-2:#ffffffd1;--rd-ink-3:#fff9;--rd-ink-4:#ffffff6b;--rd-line:#fff3;--border-soft:#ffffff14;--border-medium:#ffffff2e;--surface-soft:#ffffff0f;width:100%;color:var(--rd-ink-2);font-family:var(--rd-sans);text-shadow:0 1px 2px #03245038;margin-inline:auto}.blog-index,.notes-index,.talks-feed{max-width:1120px}.site-main:has(.blog-index,.notes-index,.talks-feed,.read-page) .site-footer{color:#ffffff8c;text-shadow:0 1px 2px #03245040}.reading-veil{display:none}.apricot-bg:is(.is-pending,.is-ready)~.reading-veil{z-index:-1;pointer-events:none;backdrop-filter:blur(18px)saturate(118%);opacity:0;visibility:hidden;background:#0a407a1f;width:min(1280px,100%);transition:opacity .6s,visibility 0s linear .6s;display:block;position:fixed;top:0;bottom:0;left:50%;translate:-50%;mask-image:linear-gradient(90deg,#0000,#000 20% 80%,#0000)}@media (width>=861px){body:has(.site-main:not(.is-ghost) :is(.read-article.has-toc,.notes-index)) .reading-veil{width:min(1480px,100%);mask-image:linear-gradient(90deg,#0000,#000 13% 87%,#0000)}}body:has(.site-main:not(.is-ghost) :is(.blog-index,.notes-index,.talks-feed,.read-page)) .reading-veil{opacity:1;visibility:visible;transition:opacity .6s,visibility}.post-list,.talk-list{border-top:1px solid var(--rd-line);margin:0;padding:0;list-style:none}.post,.talk{border-bottom:1px solid var(--rd-line);transition:opacity .35s;position:relative}.post__title a:after{content:"";z-index:2;position:absolute;inset:0}.post__title a{transition:background-size .45s var(--rd-ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}.post:hover .post__title a{background-size:100% 1px}.post__title a:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fff}@media (hover:hover){.blog-index:has(.post:hover) .post:not(:hover){opacity:.55}}.year-group{grid-template-columns:168px minmax(0,1fr);column-gap:48px;padding-bottom:56px;display:grid}.year-group__year{font:200 76px/.9 var(--rd-sans);letter-spacing:-.05em;color:#fff;font-variant-numeric:tabular-nums;align-self:start;margin:16px 0 0;position:sticky;top:88px}.post{grid-template:"meta title cover""meta excerpt cover""meta tags cover""meta.cover"1fr/76px minmax(0,1fr) 184px;column-gap:28px;padding:26px 0 28px;display:grid}.post__body{display:contents}.post__meta{font:400 13px/1.2 var(--rd-mono);letter-spacing:.02em;color:var(--rd-ink-3);font-variant-numeric:tabular-nums;flex-direction:column;grid-area:meta;gap:6px;margin:0;padding-top:5px;display:flex}.post__meta span{font-family:var(--rd-sans);color:var(--rd-ink-4);font-size:12px}.post__title{letter-spacing:.01em;color:#fff;grid-area:title;margin:0;font-size:21px;font-weight:600;line-height:1.45}.post__excerpt{-webkit-line-clamp:2;color:var(--rd-ink-3);-webkit-box-orient:vertical;grid-area:excerpt;margin:8px 0 0;font-size:14.5px;line-height:1.75;display:-webkit-box;overflow:hidden}.post__tags{color:var(--rd-ink-4);flex-wrap:wrap;grid-area:tags;margin:12px 0 0;font-size:12.5px;display:flex}.post__tags span+span:before{content:"/";opacity:.6;margin:0 .6em}.post__cover{aspect-ratio:3/2;outline-offset:-1px;border-radius:12px;outline:1px solid #ffffff38;grid-area:cover;align-self:start;margin-top:4px;overflow:hidden;box-shadow:0 18px 36px -18px #02163499}.post__cover img{object-fit:cover;object-position:50% 25%;width:100%;height:100%;transition:scale .6s var(--rd-ease)}.post:hover .post__cover img{scale:1.04}.note-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 -28px;padding:0;list-style:none;display:grid;overflow:hidden}.note{border-left:1px solid var(--rd-line);border-bottom:1px solid var(--rd-line);min-width:0;margin:0 0 -1px -1px;padding:30px 28px 44px;transition:background-color .35s;position:relative}@media (hover:hover){.note:hover{background-color:#ffffff12}}.note__title{color:#fff;margin:0;font-size:22px;font-weight:600;line-height:1.35}.note__title a{color:#fff;box-decoration-break:clone;transition:background-size .45s var(--rd-ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;text-decoration:none}.note__title a:after{content:"";z-index:2;position:absolute;inset:0}.note:hover .note__title a{background-size:100% 1px}.note__title a:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fff}.note__meta{font:400 12.5px/1.4 var(--rd-mono);color:var(--rd-ink-3);font-variant-numeric:tabular-nums;margin:8px 0 0}.note__chapters{row-gap:6px;margin:18px 0 0;padding:0;list-style:none;display:grid}.note__chapters li{min-width:0;color:var(--rd-ink-2);overflow-wrap:anywhere;font-size:14px;line-height:1.6;display:flex}.note__chapters li:before{content:"–";color:var(--rd-ink-4);font-family:var(--rd-mono);flex-shrink:0;margin-right:8px}.talk{grid-template-columns:44px minmax(0,1fr);column-gap:18px;padding:26px 0 30px;display:grid}.talk__avatar{object-fit:cover;border-radius:50%;width:44px;height:44px;display:block;box-shadow:0 0 0 1px #ffffff8c,0 8px 18px -8px #02163499}.talk__face{align-self:start;position:relative}.talk__face:after{content:"";filter:drop-shadow(0 2px 4px #0003);background:url(/images/flower.svg) 50%/contain no-repeat;width:14px;height:14px;position:absolute;bottom:-4px;right:-3px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.talk__face:after{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.talk:hover .talk__face:after{transform:scale(1.25)}}.talk__byline{align-items:baseline;margin:0 0 8px;line-height:1.2;display:flex}.talk__name{letter-spacing:.01em;color:#fff;font-size:15px;font-weight:600}.talk__date{font:400 12.5px/1 var(--rd-mono);color:var(--rd-ink-3);font-variant-numeric:tabular-nums}.talk__date:before{content:"·";opacity:.7;margin-inline:8px}.talk__title{color:#fff;margin:0 0 8px;font-size:17px;font-weight:600}.talk__text{overflow-wrap:anywhere;color:#ffffffeb;max-width:44em;font-size:16px;line-height:1.95}.talk__text>:first-child{margin-top:0}.talk__text>:last-child{margin-bottom:0}.talk__text p{margin:0 0 .7em}.talk__text a{border-bottom:1px solid #ffffff73}.talk__text blockquote{color:var(--rd-ink-2);border-left:2px solid #ffffff80;margin:.8em 0;padding:2px 0 2px 16px}.talk__text img{vertical-align:top;object-fit:cover;outline-offset:-1px;cursor:zoom-in;border-radius:12px;outline:1px solid #ffffff40;width:auto;max-width:min(100%,260px);height:auto;max-height:200px;margin:10px 10px 0 0;transition:opacity .25s;display:inline-block;box-shadow:0 16px 32px -16px #02163499}.talk__text img:hover{opacity:.88}.talk-viewer{cursor:zoom-out;background:0 0;border:0;max-width:none;max-height:none;padding:0;overflow:visible}.talk-viewer::backdrop{backdrop-filter:blur(8px);background:#04142ab8}.talk-viewer img{border-radius:12px;max-width:92vw;max-height:92vh;display:block;box-shadow:0 24px 64px #0006}.index-empty-card{border-top:1px solid var(--rd-line);border-bottom:1px solid var(--rd-line);color:var(--rd-ink-3);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:72px 20px;font-size:15px;display:flex}.index-empty-card i{color:#ffffffb3;font-size:30px}.index-empty-card p{margin:0}.read-page{max-width:1020px;container-type:inline-size}.read-article{grid-template-columns:minmax(0,1fr);grid-template-areas:"back""head""toc""body""pager";max-width:760px;margin-inline:auto;padding:8px 0 56px;display:grid}.read-back{color:var(--rd-ink-3);grid-area:back;margin-bottom:26px}.read-back:hover{color:#fff}.read-back:after{background:#fff}.read-head{border-bottom:1px solid var(--rd-line);grid-area:head;padding-bottom:26px}.read-head h1{color:#fff;margin:0;font-size:40px;font-weight:600;line-height:1.3}.read-meta{color:var(--rd-ink-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;margin:14px 0 0;font-size:13px;line-height:1.7;display:flex}.read-meta time{font-family:var(--rd-mono);font-size:12.5px}.read-meta>*+:before{content:"·";opacity:.7;margin-inline:8px}.read-meta__tags{flex-wrap:wrap;column-gap:8px;display:inline-flex}.read-meta__tags:before{margin-right:0}.read-body{color:#ffffffe6;grid-area:body;margin-top:36px;font-size:16.5px;line-height:1.95}.read-body>:first-child{margin-top:0}.read-body :is(h2,h3,h4){color:#fff;scroll-margin-top:24px}.read-body h2{color:#fff;border-bottom:1px solid #ffffff14;margin:2.2em 0 .8em;padding-bottom:8px;font-size:23px;font-weight:600;line-height:1.4}.read-body h3{color:#fff;margin:1.8em 0 .6em;font-size:19px;font-weight:600;line-height:1.5}.read-body h4{margin:1.6em 0 .5em;font-size:16.5px;font-weight:600}.read-body p{margin:0 0 1.25em;line-height:1.85}.read-body strong{color:#fff;font-weight:600}.read-body a{color:#7dd3fc;word-break:break-all;border-bottom:1px solid #7dd3fc59;transition:color .2s,border-color .2s}.read-body a:hover{color:#fff;border-bottom-color:#fff}.read-body :is(ul,ol){padding-left:1.4em}.read-body li{margin:.3em 0}.read-body li::marker{color:var(--rd-ink-4)}.read-body img{border-radius:12px;margin:16px 0}.read-body img.img-loading-placeholder{width:100%;min-height:220px}.read-body :not(pre)>code{color:#fff;font-family:var(--rd-mono);background:#ffffff24;border-radius:6px;padding:.15em .45em;font-size:.88em}.read-body pre{text-shadow:none;border:1px solid #ffffff1f;border-radius:12px;margin:1.4em 0;padding:14px 40px 14px 18px;font-size:13.5px;line-height:1.7;position:relative;overflow-x:auto;background-color:#04162e8c!important}.read-body pre code{color:inherit;font-family:var(--rd-mono);background:0 0;padding:0}.read-body blockquote{color:var(--rd-ink-2);background:#ffffff14;border-left:2px solid #fff9;border-radius:0 12px 12px 0;margin:1.4em 0;padding:14px 18px}.read-body blockquote p:last-child{margin-bottom:0}.read-body hr{border:0;border-top:1px solid var(--rd-line);margin:2.4em 0}.read-body table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:15px}.read-body :is(th,td){border-bottom:1px solid var(--rd-line);text-align:left;padding:10px 12px}.read-body th{color:#fff;font-weight:600}.read-body .code-copy-button{color:#ffffffb3;backdrop-filter:blur(4px);opacity:.45;background:#ffffff14;border-color:#ffffff29;position:absolute;top:8px;right:8px}.read-body pre:hover .code-copy-button{opacity:.85}.read-body .code-copy-button:hover,.read-body .code-copy-button:focus-visible,.read-body .code-copy-button.is-copied{opacity:1}.read-body .code-copy-button:hover{color:#fff;background:#fff3;border-color:#ffffff59;transform:translateY(-1px)}.read-body .code-copy-button:active{transform:translateY(0)scale(.92)}.read-body .code-copy-button.is-copied{color:#34d399;background:#34d39933;border-color:#34d39980}.read-body .code-copy-button.is-error{color:#f87171;background:#ef444433;border-color:#ef444480}.read-pager{border-top:1px solid var(--rd-line);grid-area:pager;grid-template-columns:1fr 1fr;column-gap:40px;margin-top:48px;padding-top:24px;display:grid}.read-pager__link{border-radius:12px;flex-direction:column;gap:4px;min-width:0;margin:-12px -14px;padding:12px 14px;transition:background-color .25s;display:flex}.read-pager__link.is-next{text-align:right;grid-column:2;align-items:flex-end}.read-pager__link:is(:hover,:focus-visible){background-color:#ffffff1a}.read-pager__dir{color:var(--rd-ink-4);font-size:12px}.read-pager__title{text-overflow:ellipsis;white-space:nowrap;color:#fff;max-width:100%;font-size:15px;font-weight:600;overflow:hidden}.read-toc{grid-area:toc;margin-top:18px}.read-toc__title{display:none}.read-toc__toggle{border:1px solid var(--rd-line);color:var(--rd-ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:50px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:color .2s,border-color .2s;display:inline-flex}.read-toc__toggle:hover{color:#fff;border-color:#ffffff80}.read-toc__chevron{font-size:10px;transition:transform .25s}.read-toc.is-open .read-toc__chevron{transform:rotate(180deg)}.read-toc__list{margin:10px 0 0;padding:0;list-style:none;display:none}.read-toc.is-open .read-toc__list{display:block}.read-toc__list a{border-left:1px solid var(--rd-line);color:var(--rd-ink-3);padding:5px 0 5px 12px;font-size:13.5px;line-height:1.5;transition:color .2s,border-color .2s;display:block}.read-toc__list .is-sub a{padding-left:26px;font-size:13px}.read-toc__list a:hover{color:#fff}.read-toc__list a[aria-current]{color:#fff;border-left-color:#fff}@container (width>=860px){.read-article.has-toc{grid-template-columns:minmax(0,1fr) 200px;grid-template-areas:"back.""head toc""body toc""pager toc";column-gap:56px;max-width:none}.read-article.has-toc.toc-left{grid-template-columns:240px minmax(0,1fr);grid-template-areas:".back""toc head""toc body""toc pager";column-gap:48px}.read-toc{overscroll-behavior:contain;align-self:start;max-height:calc(100vh - 120px);margin-top:10px;position:sticky;top:92px;overflow-y:auto}.read-toc__toggle{display:none}.read-toc__title{letter-spacing:.14em;color:var(--rd-ink-4);margin:0 0 12px;font-size:12px;font-weight:600;display:block}.read-toc__list{margin:0;display:block}}@media (prefers-reduced-motion:no-preference){:is(.blog-index,.notes-index,.talks-feed,.read-article)>:not(dialog,.sr-only){animation:rise-in .5s var(--ease-sakura) backwards}:is(.blog-index,.notes-index,.talks-feed,.read-article)>:not(dialog,.sr-only)~:not(dialog,.sr-only){animation-delay:60ms}:is(.blog-index,.notes-index,.talks-feed,.read-article)>:not(dialog,.sr-only)~:not(dialog,.sr-only)~:not(dialog,.sr-only){animation-delay:.12s}.talk-viewer[open]{animation:rise-in .25s var(--ease-sakura)}}@media (width<=860px){.apricot-bg:is(.is-pending,.is-ready)~.reading-veil{backdrop-filter:blur(10px);background:#0a407a29;width:100%;mask-image:none}.year-group{display:block}.year-group__year{margin:0 0 18px;font-size:54px;position:static}.note-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:-16px}.note{padding:20px 16px 30px}.note__title{font-size:18px}.note__chapters{margin-top:14px}.note__chapters li{font-size:13px;line-height:1.55}.post{grid-template:"meta cover""title cover""excerpt excerpt""tags tags"". ."1fr/minmax(0,1fr) 104px;column-gap:16px}.post__cover{border-radius:10px;margin-top:0}.post__meta{flex-direction:row;gap:12px;padding:0 0 6px}.post__title{font-size:18px}.talk{grid-template-columns:36px minmax(0,1fr);column-gap:12px}.talk__avatar{width:36px;height:36px}.talk__face:after{width:12px;height:12px;bottom:-3px}.read-head h1{font-size:28px}.read-meta__tags{flex-basis:100%}.read-meta__tags:before{display:none}.read-body{margin-top:24px;font-size:15.5px}}
