@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}}:root{--bg:var(--theme-color,#fffef7);--fg:#0a0a0a;--muted:#666;--border-color:#0a0a0a;--avatar-frame-color:#0a0a0a;--avatar-frame-width:6px;--avatar-frame-shadow-offset:10px;--sidebar-avatar-frame-width:4px;--sidebar-avatar-frame-shadow-offset:4px;--accent-yellow:#ffe600;--accent-red:#ff3e3e;--accent-blue:#3e59ff;--avatar-glow:#ffc107;--avatar-border:#0003;--panel-bg:#fffef7d9;--panel-bg-solid:#fffef7;--panel-blur:blur(40px) saturate(200%);--panel-glass:#fffef766;--panel-border:#0003;--panel-shadow:0 2px 12px #00000014;--dock-bg:#fffef78c;--dock-border:#ffffff80;--border-width:4px;--interactive-card-bg:#fffef7e6;--interactive-card-border-mix:34%;--interactive-card-line-glow-mix:22%;--interactive-card-shadow:0 6px 18px #00000014;--interactive-card-hover-shadow:0 18px 34px #00000029;--interactive-card-hover-lift:-6px;--interactive-card-color-fill-mix:92%;--interactive-card-light-opacity:.62;--font-serif:"Times New Roman", "Noto Serif SC", "Songti SC", "SimSun", serif;--font-ui:"Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", "Consolas", "Liberation Mono", monospace;--font-display:var(--font-serif);--font-sans:var(--font-ui);--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--z-wallpaper:0;--z-content:50;--z-buttons:1000;--z-dock:10000;--z-loading:9998;--z-noise:10001;--curve-delicate:cubic-bezier(.1, .9, .2, 1);--curve-snap:cubic-bezier(.16, 1, .3, 1);--curve-standard:cubic-bezier(.4, 0, .2, 1);--curve-press:cubic-bezier(.2, 0, 0, 1);--curve-loop:cubic-bezier(.37, 0, .63, 1);--curve-fade:ease;--transition-fast:.2s var(--curve-snap);--transition-normal:.3s var(--curve-snap);--transition-slow:.5s var(--curve-snap);--transition-delicate:.8s var(--curve-delicate);--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-pill:999px;--shadow-float:0 4px 20px #0000001a;--shadow-pop:0 8px 40px #0000004d;--curve-lift:cubic-bezier(.22, 1.2, .36, 1);--lift-persp:1200px;--lift-y:-6px;--lift-y-md:-4px;--lift-y-sm:-3px;--lift-rot:2.5deg;--lift-rot-md:2deg;--lift-rot-sm:1.5deg;--lift-z:10px;--lift-z-md:7px;--lift-z-sm:4px;--lift:perspective(var(--lift-persp)) translateY(var(--lift-y)) rotateX(var(--lift-rot)) translateZ(var(--lift-z));--lift-md:perspective(var(--lift-persp)) translateY(var(--lift-y-md)) rotateX(var(--lift-rot-md)) translateZ(var(--lift-z-md));--lift-sm:perspective(var(--lift-persp)) translateY(var(--lift-y-sm)) rotateX(var(--lift-rot-sm)) translateZ(var(--lift-z-sm));--shadow-lift:0 2px 6px #00000012, 0 14px 28px #0000001c, 0 30px 60px #00000017;--shadow-lift-sm:0 2px 4px #0000000f, 0 8px 16px #0000001a;--focus-ring:2px solid var(--accent-blue);--focus-offset:2px;--z-float:1500;--z-bar:2000;--z-bar-popup:3000;--z-lightbox:10050}[data-theme=dark]{--bg:#1a1a1a;--fg:#fff;--muted:#8a8b91;--border-color:#ffffff14;--avatar-frame-color:#fff;--avatar-frame-width:4px;--avatar-frame-shadow-offset:6px;--sidebar-avatar-frame-width:3px;--sidebar-avatar-frame-shadow-offset:3px;--accent-yellow:#f8c12a;--accent-red:#ff4d4d;--accent-blue:#5e6ad2;--avatar-glow:#f90;--avatar-border:#ffffff14;--panel-bg:#0c0c0cd9;--panel-bg-solid:#121212;--panel-blur:blur(40px) saturate(200%);--panel-glass:#121212e6;--panel-border:#ffffff1f;--panel-shadow:0 12px 40px #00000080;--dock-bg:#121212cc;--dock-border:#ffffff1f;--glass-bg:#ffffff0a;--glass-border:#ffffff14;--glass-shadow:0 12px 40px #0009;--interactive-card-bg:var(--glass-bg);--interactive-card-border-mix:20%;--interactive-card-line-glow-mix:15%;--interactive-card-shadow:0 8px 32px #0006;--interactive-card-hover-shadow:0 20px 48px #0000008c;--interactive-card-hover-lift:-4px;--interactive-card-color-fill-mix:94%;--interactive-card-light-opacity:.8;--shadow-float:0 4px 20px #00000059;--shadow-pop:0 8px 40px #0000008c;--shadow-lift:0 2px 6px #0000004d, 0 14px 28px #0006, 0 30px 60px #00000059;--shadow-lift-sm:0 2px 4px #00000047, 0 8px 16px #0000005c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-overflow-style:none;scrollbar-width:none;scroll-behavior:smooth;height:100%;font-size:16px;transition:none}html::-webkit-scrollbar{display:none}body{font-family:Times New Roman,Noto Serif SC,Songti SC,SimSun,serif;font-family:var(--font-serif,"Times New Roman", "Noto Serif SC", "Songti SC", "SimSun", serif);color:var(--fg,#0a0a0a);background-color:#fffef7;background-color:var(--bg,#fffef7);transition:background-color var(--transition-normal), color var(--transition-normal);font-size:1rem;line-height:1.6}html,body,.page-scroller,.left-panel{-ms-overflow-style:none;scrollbar-width:none}.left-panel::-webkit-scrollbar{display:none}.name,.weekday,.clock{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.no-copy,.no-copy *{user-select:none;-webkit-user-drag:none;-moz-user-drag:none;-ms-user-drag:none;user-drag:none;-webkit-touch-callout:none}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}::selection{background:color-mix(in srgb, var(--accent-yellow,#ffe600) 45%, transparent);color:inherit}[data-theme=dark] ::selection{background:color-mix(in srgb, var(--accent-blue,#5e6ad2) 55%, transparent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{opacity:1;visibility:visible;filter:none;pointer-events:auto;flex-wrap:nowrap;height:100vh;display:flex;overflow:hidden}.container.visible{opacity:1;visibility:visible;filter:none;pointer-events:auto}.left-panel{width:500px;min-width:320px;padding:var(--space-xl,3rem);border-right:1px solid var(--panel-border);background-color:var(--panel-bg-solid);z-index:var(--z-content,50);contain:layout style;box-shadow:none;transition:width var(--transition-normal), padding var(--transition-normal), border-right-width var(--transition-normal), background-color var(--transition-normal), opacity .5s var(--curve-delicate), transform .5s var(--curve-delicate);flex-direction:column;flex-shrink:0;justify-content:safe center;align-items:center;display:flex;position:relative;overflow:hidden}.left-panel:before{content:"";z-index:-1;pointer-events:none;background-color:rgb(var(--glass-panel-tint,255 254 247) / .3);transition:background-color .9s var(--curve-fade);position:absolute;inset:0}html.is-entering .left-panel{opacity:0;transform:translate(-24px)}.left-panel .hero{text-align:left;width:100%}.left-panel .hero .avatar-box,.left-panel .hero .name{opacity:var(--hero-opacity,1)}html.is-entering .left-panel .hero>.avatar-box,html.is-entering .left-panel .hero>.name,html.is-entering .left-panel .hero>.status-bar,html.is-entering .left-panel .hero>.bio-container,html.is-entering .left-panel .hero>.social-links,html.is-entering .left-panel .hero>.social-links-wrapper{opacity:0;transform:translateY(18px)}html:not(.is-entering) .left-panel .hero>.avatar-box{animation:hero-item-rise .62s var(--curve-delicate) backwards;animation-delay:50ms}html:not(.is-entering) .left-panel .hero>.name{animation:hero-item-rise .62s var(--curve-delicate) backwards;animation-delay:.15s}html:not(.is-entering) .left-panel .hero>.status-bar{animation:hero-item-rise .62s var(--curve-delicate) backwards;animation-delay:.25s}html:not(.is-entering) .left-panel .hero>.bio-container{animation:hero-item-rise .62s var(--curve-delicate) backwards;animation-delay:.35s}html:not(.is-entering) .left-panel .hero>.social-links,html:not(.is-entering) .left-panel .hero>.social-links-wrapper{animation:hero-item-rise .62s var(--curve-delicate) backwards;animation-delay:.45s}@keyframes hero-item-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.right-panel{color:#fffef7;z-index:1;background-color:#0000;flex-direction:column;flex:1;min-width:300px;display:flex;position:relative}[data-theme=dark] .wallpaper-scroll-area{background-color:var(--bg)}.left-panel .hero{background:0 0}.info-panel{font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);padding:1.5rem;padding:var(--space-md,1.5rem);z-index:50;z-index:var(--z-content,50);padding-bottom:0;position:absolute;top:0;left:0;right:0}.right-panel-shadow{pointer-events:none;z-index:10;background:linear-gradient(90deg,#00000040 0%,#0000000d 8%,#0000 15% 85%,#0000000d 92%,#00000040 100%);position:absolute;inset:0}.wallpaper-scroll-area{z-index:var(--z-wallpaper,0);background-color:#fffef7;background-color:var(--bg,#fffef7);contain:layout style paint;pointer-events:none;touch-action:none;user-select:none;position:absolute;inset:0;overflow:hidden}.wallpaper-scroll-area:after{content:"";pointer-events:none;z-index:1;background:#00000040;position:absolute;inset:0}[data-theme=dark] .wallpaper-scroll-area:after{background:#0006}.wallpaper-image{object-fit:cover;object-position:center center;opacity:0;transform-origin:50%;width:100%;height:100%;transition:opacity .9s var(--curve-fade);z-index:0;will-change:opacity, transform;display:block;position:absolute;inset:0;transform:scale(1)}.wallpaper-image.active{opacity:1}@media (prefers-reduced-motion:reduce){.wallpaper-image{will-change:opacity;transition-duration:.4s}}.homepage-content{content-visibility:auto;contain-intrinsic-size:auto 1400px;min-height:60vh;padding:64px 24px 96px}.homepage-content-inner{width:min(1120px,100%);margin:0 auto}.homepage-section-title{margin:0 0 1rem;font-size:clamp(2rem,5vw,4rem)}.homepage-content .blog-title{text-align:left;margin:0 0 1.75rem;font-size:clamp(2.5rem,5vw,3.5rem)}.homepage-section-lead{color:var(--text-secondary,var(--muted,#666));margin:0;font-size:1.125rem}.hero-minimal{text-align:center}.page-scroller{background:var(--bg,#fffef7);scrollbar-width:none;height:100vh;overflow:hidden auto}.page-scroller::-webkit-scrollbar{display:none}.hero-sticky{width:100vw;height:100vh;z-index:var(--z-content,50);perspective:1500px;transform-style:preserve-3d;position:sticky;top:0;overflow:hidden}.hero-content{backface-visibility:hidden;position:absolute;inset:0}@keyframes vt-content-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes vt-content-out{to{opacity:0;transform:translateY(-6px)}}.page-transition-surface{background:var(--bg,#fffef7);min-height:100vh;z-index:var(--z-content,50);padding:4.5rem 2rem;position:relative}::view-transition-old(page-content){animation:vt-content-out .16s var(--curve-snap) both}::view-transition-new(page-content){animation:vt-content-in .22s var(--curve-snap) both}::view-transition-old(site-shell),::view-transition-new(site-shell),::view-transition-old(top-bar),::view-transition-new(top-bar),::view-transition-old(top-bar-popup),::view-transition-new(top-bar-popup){animation:none}::view-transition-group(top-bar),::view-transition-group(top-bar-popup){animation-duration:0s}.navigation-progress{height:3px;z-index:calc(var(--z-loading,9998) + 2);pointer-events:none;opacity:0;transition:opacity .16s var(--curve-snap), transform .16s var(--curve-snap);position:fixed;top:0;left:0;right:0;transform:translateY(-3px)}.navigation-progress--visible{opacity:1;transform:translateY(0)}.navigation-progress__bar{transform-origin:0;background:linear-gradient(90deg, var(--accent-blue,#3e59ff), var(--accent-yellow,#ffe600));width:100%;height:100%;box-shadow:0 0 18px color-mix(in srgb, var(--accent-blue,#3e59ff) 55%, transparent);transition:transform .18s var(--curve-snap);transform:scaleX(0)}.navigation-progress--done .navigation-progress__bar{transition-duration:.12s}@media (prefers-reduced-motion:reduce){.navigation-progress,.navigation-progress__bar{transition:none}html.is-entering .left-panel,html.is-entering .top-bar{opacity:1;transform:none}}.left-panel-content-leave-active{transition:filter .18s var(--curve-snap), opacity .18s var(--curve-snap)}.left-panel-content-leave-to{opacity:0;filter:blur(8px)}.left-panel-content-enter-active{transition:none}@media (prefers-reduced-motion:reduce){.left-panel-content-enter-active,.left-panel-content-leave-active{filter:none;transition:none;transform:none}.left-panel-content-leave-to{filter:none;transform:none}html.is-entering .left-panel .hero>.avatar-box,html.is-entering .left-panel .hero>.name,html.is-entering .left-panel .hero>.status-bar,html.is-entering .left-panel .hero>.bio-container,html.is-entering .left-panel .hero>.social-links,html.is-entering .left-panel .hero>.social-links-wrapper{opacity:1;transform:none}html:not(.is-entering) .left-panel .hero>.avatar-box,html:not(.is-entering) .left-panel .hero>.name,html:not(.is-entering) .left-panel .hero>.status-bar,html:not(.is-entering) .left-panel .hero>.bio-container,html:not(.is-entering) .left-panel .hero>.social-links,html:not(.is-entering) .left-panel .hero>.social-links-wrapper{animation:none}}.name,.weekday,.clock,.date-display{transition:font-size var(--transition-normal)}.noise-overlay{pointer-events:none;z-index:9999;width:100%;height:100%;z-index:var(--z-noise,9999);opacity:.03;contain:strict;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;top:0;left:0}html:not(.is-loaded) .noise-overlay{z-index:9997;opacity:.01}.loading-overlay{background:#fffef7;background:var(--bg,#fffef7);z-index:9998;width:100vw;height:100vh;z-index:var(--z-loading,9998);transition:opacity .4s var(--curve-snap), visibility .4s var(--curve-snap);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-panel{border:var(--border-width) solid var(--panel-border);background:var(--bg);box-shadow:var(--panel-shadow);border-radius:var(--radius-sm);animation:loading-fade-in .8s var(--curve-delicate);flex-direction:column;align-items:center;gap:1.5rem;padding:3rem;display:flex}@keyframes loading-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-panel>*+*{margin-top:1.5rem}@supports (gap:1.5rem){.loading-panel>*+*{margin-top:0}}.loading-spinner{border:4px solid #0a0a0a;border:var(--border-width,4px) solid var(--fg,#0a0a0a);background:#fffef7;background:var(--bg,#fffef7);width:40px;height:40px;animation:1s linear infinite loading-rotate,.8s ease-in-out infinite loading-pulse}@keyframes loading-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-family:Times New Roman,Noto Serif SC,Songti SC,SimSun,serif;font-family:var(--font-display,"Times New Roman", "Noto Serif SC", "Songti SC", "SimSun", serif);letter-spacing:.04em;color:var(--fg,#0a0a0a);min-height:1.5em;font-size:1.25rem;font-style:normal;font-weight:400}.loading-progress{border:3px solid #0a0a0a;border:3px solid var(--fg,#0a0a0a);background:#fffef7;background:var(--bg,#fffef7);width:200px;height:12px;position:relative;overflow:hidden}.loading-bar{background:#0a0a0a;background:var(--fg,#0a0a0a);width:0%;height:100%;transition:width .3s var(--curve-snap);position:relative;overflow:hidden}.loading-bar:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.5s infinite loading-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes loading-shimmer{to{transform:translate(100%)}}.loading-percent{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-family:var(--font-mono,"SFMono-Regular", "Consolas", "Liberation Mono", monospace);color:var(--muted,#666);font-size:.875rem}.avatar-box{width:clamp(100px,12vw,150px);height:clamp(100px,12vw,150px);margin:0 0 2rem;margin:0 0 var(--space-lg,2rem) 0;border:1px solid var(--avatar-border);border-radius:var(--radius-sm);box-shadow:0 4px 10px #0000001a, 0 0 5px color-mix(in srgb, var(--avatar-glow) 5%, transparent);transition:transform .45s var(--curve-lift), box-shadow 1.2s var(--curve-delicate), border-color .8s var(--curve-snap);cursor:pointer;will-change:transform, box-shadow;background-color:#111;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.avatar-box:hover{transform:var(--lift);box-shadow:0 10px 20px #0000001a,  0 0 15px color-mix(in srgb, var(--avatar-glow) 30%, transparent),  0 0 30px color-mix(in srgb, var(--avatar-glow) 15%, transparent),  0 0 60px color-mix(in srgb, var(--avatar-glow) 8%, transparent),  0 0 100px color-mix(in srgb, var(--avatar-glow) 4%, transparent),  0 0 150px color-mix(in srgb, var(--avatar-glow) 2%, transparent),  inset 0 0 12px color-mix(in srgb, var(--avatar-glow) 10%, transparent)}.avatar-image{object-fit:cover;width:100%;height:100%;display:block}.name{font-family:Times New Roman,Noto Serif SC,Songti SC,SimSun,serif;font-family:var(--font-display,"Times New Roman", "Noto Serif SC", "Songti SC", "SimSun", serif);letter-spacing:-.03em;color:var(--fg,#0a0a0a);margin-bottom:1rem;margin-bottom:var(--space-sm,1rem);font-size:clamp(2rem,5vw,3.5rem);font-style:normal;font-weight:700}.name-latin{font-family:Times New Roman,serif;font-style:italic;font-weight:700}.bio-container{margin-bottom:3rem;margin-bottom:var(--space-xl,3rem);padding:1.5rem;padding:var(--space-md,1.5rem);text-align:left;background-color:#fffef766;border:1px solid #f0eee699;min-height:100px;box-shadow:0 0 0 1px #00000040,0 2px 12px #00000014}.social-links{gap:1rem;gap:var(--space-sm,1rem);flex-wrap:wrap;display:flex}@supports (display:grid){.social-links{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}}.social-link{justify-content:center;align-items:center;gap:.5rem;gap:var(--space-xs,.5rem);padding:1.5rem;padding:var(--space-md,1.5rem);background-color:var(--panel-glass);color:var(--fg);border:1px solid var(--panel-border);width:100%;max-width:calc(33.333% - .67rem);height:100%;box-shadow:var(--panel-shadow);border-radius:var(--radius-sm);transition:transform .5s var(--curve-lift), box-shadow .8s var(--curve-delicate), background-color .6s var(--curve-snap), border-color .6s var(--curve-snap);flex-direction:column;flex:0 0 calc(33.333% - .67rem);text-decoration:none;display:flex;position:relative}@supports (display:grid){.social-link{flex:none;max-width:none}}.social-link-slot{cursor:pointer;touch-action:manipulation;padding-top:6px;display:flex;position:relative}.social-link>*{z-index:1;position:relative}.social-link>*+*{margin-top:.5rem;margin-top:var(--space-xs,.5rem)}@supports (gap:0.5rem){.social-link>*+*{margin-top:0}}.social-link--custom{--custom-color:#ffe600}.social-link-slot.is-hovered .social-link--custom,.social-link-slot:hover .social-link--custom,.social-link-slot:focus-within .social-link--custom,.social-link-slot:active .social-link--custom{transform:var(--lift-sm);box-shadow:0 0 70px 10px color-mix(in srgb, var(--custom-color,#ffe600) 12%, transparent), 0 0 36px 4px color-mix(in srgb, var(--custom-color,#ffe600) 22%, transparent), 0 0 14px 2px color-mix(in srgb, var(--custom-color,#ffe600) 38%, transparent);filter:brightness(1.06)saturate(1.5);backdrop-filter:brightness(1.15)saturate(2)contrast(1.05);background-color:color-mix(in srgb, var(--custom-color,#ffe600) 74%, transparent)}.link-label{font-family:IBM Plex Mono,Noto Sans SC,monospace;font-family:var(--font-mono,"IBM Plex Mono", "Noto Sans SC", monospace);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700}.time-widget{text-align:left}.weekday{font-family:Inter,Noto Sans SC,sans-serif;font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);letter-spacing:-.02em;color:#fffef7;margin-bottom:.5rem;margin-bottom:var(--space-xs,.5rem);font-size:clamp(3rem,8vw,5rem);font-weight:700;line-height:1}.date-display{font-family:Inter,Noto Sans SC,sans-serif;font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);color:#fffef7b3;margin-bottom:2px;font-size:clamp(1rem,3vw,1.5rem)}.clock{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-family:var(--font-mono,"SFMono-Regular", "Consolas", "Liberation Mono", monospace);color:var(--accent-yellow,#ffe600);letter-spacing:.05em;font-size:clamp(2rem,5vw,3rem);font-weight:600}.scroll-reveal{opacity:0;transition:opacity .6s var(--curve-snap), transform .6s var(--curve-snap);transform:translateY(30px)}.scroll-reveal--visible{opacity:1;transform:translateY(0)}.avatar-box,.social-link{backface-visibility:hidden;will-change:transform;transform:translateZ(0)}.avatar-box:before{content:"";pointer-events:auto;transition:transform 80ms var(--curve-press);position:absolute;inset:-15px}.avatar-box:hover:before{transform:translate(5px,5px)}.container,.left-panel,.right-panel{backface-visibility:hidden}[data-theme=dark] .loading-overlay{background:var(--bg)}[data-theme=dark] .loading-panel{border-color:var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow)}[data-theme=dark] .loading-spinner,[data-theme=dark] .loading-progress{border-color:var(--glass-border);background:var(--bg)}[data-theme=dark] .loading-bar{background:var(--fg)}[data-theme=dark] .loading-bar:after{background:linear-gradient(90deg,#0000,#ffffff4d,#0000)}.status-bar{font-family:Inter,Noto Sans SC,sans-serif;font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);align-items:center;gap:.5rem;gap:var(--space-xs,.5rem);padding:.5rem 1rem;padding:var(--space-xs,.5rem) var(--space-sm,1rem);border:1px solid var(--panel-border);background-color:var(--panel-glass);margin-bottom:2rem;margin-bottom:var(--space-lg,2rem);letter-spacing:.1em;box-shadow:var(--panel-shadow);font-size:.75rem;display:inline-flex}.status-dot{background-color:var(--accent-yellow,#ffe600);border:1px solid var(--fg);width:10px;height:10px;margin-right:.5rem;margin-right:var(--space-xs,.5rem);animation:2s ease-in-out infinite pulse}@supports (gap:0.5rem){.status-dot{margin-right:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:var(--fg);font-weight:500}[data-theme=dark] .status-dot{border-color:var(--glass-border)}[data-theme=dark] .bio-container{border-color:var(--glass-border);background-color:var(--glass-bg);box-shadow:0 0 0 1px #fff3,0 2px 12px #0000004d}.github-contrib{--github-cell-gap:2px;--github-l0:#00000012;--github-l1:#9be9a8;--github-l2:#40c463;--github-l3:#30a14e;--github-l4:#216e39;min-height:64px;color:var(--fg);outline-offset:4px;flex-direction:column;gap:.45rem;text-decoration:none;display:flex}.github-contrib:hover .github-contrib__total,.github-contrib:focus-visible .github-contrib__total{color:var(--accent-blue)}.github-contrib__label{font-family:var(--font-mono,"SFMono-Regular", "Consolas", monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:600}.github-contrib__message{color:var(--muted);font-size:.8rem;line-height:1.4}.github-contrib__graph{gap:var(--github-cell-gap);width:100%;max-width:340px;display:flex}.github-contrib__week{gap:var(--github-cell-gap);flex-direction:column;flex:1 1 0;min-width:0;display:flex}.github-contrib__cell{aspect-ratio:1;background:var(--github-l0);width:100%;transition:transform .2s var(--curve-snap);border-radius:1.5px;display:block}.github-contrib:hover .github-contrib__cell{transform:scale(1.12)}.github-contrib__cell--l1{background:var(--github-l1)}.github-contrib__cell--l2{background:var(--github-l2)}.github-contrib__cell--l3{background:var(--github-l3)}.github-contrib__cell--l4{background:var(--github-l4)}.github-contrib__total{font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);color:var(--muted);transition:color .2s var(--curve-snap);font-size:.76rem;line-height:1.3}[data-theme=dark] .github-contrib{--github-l0:#ffffff14;--github-l1:#0e4429;--github-l2:#006d32;--github-l3:#26a641;--github-l4:#39d353}[data-theme=dark] .social-link{border-color:var(--glass-border);background-color:var(--glass-bg);box-shadow:0 0 0 1px #fff3,0 2px 12px #0000004d}[data-theme=dark] .social-link--custom{box-shadow:0 0 0 1px #fff3,0 2px 12px #0000004d}.social-links-wrapper{cursor:grab;touch-action:pan-y;width:100%;position:relative;overflow:visible}.social-links-wrapper:active{cursor:grabbing}.social-links-page{gap:var(--space-sm,1rem);box-sizing:border-box;will-change:transform, opacity, filter;grid-template-columns:repeat(3,1fr);align-content:start;width:100%;display:grid;overflow:visible}.social-links-page.is-swap-fade{animation:social-page-fade .28s var(--curve-delicate)}.social-links-page.is-swap-fade.is-animation-alt{animation:social-page-fade-alt .28s var(--curve-delicate)}.social-links-page .social-link-slot{min-width:0;padding-top:0}.social-links-page .social-link{aspect-ratio:1;flex:none;max-width:none;height:auto;padding:1.25rem .5rem}.social-link-slot--placeholder{visibility:hidden;pointer-events:none;aspect-ratio:1;width:100%}@keyframes social-page-fade{0%{opacity:0;filter:blur(1px);transform:translate(0,0)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes social-page-fade-alt{0%{opacity:0;filter:blur(1px);transform:translate(0,0)}to{opacity:1;filter:blur();transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.social-links-page.is-swap-fade,.social-links-page.is-swap-fade.is-animation-alt{animation:none}}@media (width<=900px){.social-links-page{grid-template-columns:repeat(2,1fr)}.social-links-page .social-link,.social-link-slot--placeholder{aspect-ratio:auto;min-height:120px}}.social-links-dots{margin-top:var(--space-xl,3rem);justify-content:center;align-items:center;gap:8px;padding-bottom:2px;display:flex}.social-link-dot{background:var(--fg);opacity:.2;cursor:pointer;width:8px;height:8px;transition:opacity .3s var(--curve-delicate), transform .3s var(--curve-delicate);border:none;border-radius:50%;padding:0}.social-link-dot.active{opacity:1;transform:scale(1.2)}.social-link-dot:hover{opacity:.6}.search-modal-overlay{backdrop-filter:blur(8px);z-index:10000;background:#00000080;justify-content:center;align-items:flex-start;padding:80px 20px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.search-modal-dialog{background:var(--bg);border:var(--border-width) solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--panel-shadow);width:100%;max-width:700px;max-height:calc(100vh - 120px);animation:search-modal-enter .2s var(--curve-delicate);flex-direction:column;display:flex}@keyframes search-modal-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.search-modal-header{border-bottom:var(--border-width) solid var(--panel-border);flex-shrink:0;padding:24px}.search-modal-body{flex:1;min-height:0;padding:24px;overflow-y:auto}.search-loading{color:var(--fg-muted);justify-content:center;align-items:center;padding:48px 24px;font-size:.875rem;display:flex}.search-modal-body .search-results{gap:16px;display:grid}.search-modal-body .search-result{cursor:pointer;outline:none}.search-modal-body .search-result .post-card{pointer-events:none}.search-modal-body .search-result:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px;border-radius:var(--radius-md)}.search-modal-body .search-result .post-card--overlay{min-height:220px}.search-modal-body .search-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;font-size:.95rem;font-weight:600;display:flex}.search-modal-body .search-summary span:first-child{color:var(--fg)}.search-modal-body .search-snippet{border-left:3px solid var(--accent-blue);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:color-mix(in srgb, var(--accent-blue) 7%, var(--panel-glass));color:var(--muted);margin-top:10px;padding:10px 12px}.search-modal-body .search-snippet__label{color:var(--accent-blue);margin-bottom:4px;font-size:.78rem;font-weight:800;display:block}.search-modal-body .search-snippet p{margin:0;font-size:.92rem;line-height:1.65}.search-modal-body .search-empty{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-glass);width:min(520px,100%);box-shadow:var(--panel-shadow);color:var(--muted);backdrop-filter:var(--panel-blur);gap:14px;margin:0;padding:22px;display:grid}.search-modal-header .search-control{border:1px solid color-mix(in srgb, var(--panel-border) 70%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg) 70%, transparent);align-items:center;gap:12px;min-height:52px;padding:0 12px;display:flex}.search-modal-header .search-control:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-blue) 18%, transparent)}.search-modal-header .search-control__icon{color:var(--accent-blue);flex-shrink:0;font-size:1.05rem}.search-modal-header .search-input{min-width:0;color:var(--fg);font:600 1.05rem / 1.4 var(--font-ui);background:0 0;border:0;outline:0;flex:1}.search-modal-header .search-input::placeholder{color:color-mix(in srgb, var(--muted) 76%, transparent)}.search-modal-header .search-clear{border:1px solid color-mix(in srgb, var(--accent-blue) 45%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-blue) 8%, transparent);min-height:32px;color:var(--accent-blue);font:700 .85rem / 1 var(--font-ui);cursor:pointer;padding:0 12px}.search-modal-header .search-help{color:var(--muted);margin:10px 0 0;font-size:.88rem;line-height:1.5}@media (width<=900px){.search-modal-overlay{align-items:stretch;padding:0}.search-modal-dialog{border-radius:0;max-width:none;height:100vh;max-height:none}}[data-theme=dark] .search-modal-overlay{background:#000000b3}:root{--marquee-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));--ticket-height:7.5rem;--marquee-defocus-height:calc(var(--ticket-height) + 5.5rem)}.hero-marquee{--ticket-fg:#121212d1;--ticket-muted:#1212127a;--ticket-paper:#fffef7b8;--ticket-line:#fffef78c;--ticket-ink:#00000014;--ticket-shadow:0 0 0 1px var(--ticket-ink), 0 2px 10px #0000000d;--ticket-shadow-hover:0 0 0 1px #0000001f, 0 4px 16px #00000012;--ticket-radius:4px;left:0;right:0;bottom:var(--marquee-bottom);z-index:5;pointer-events:none;padding:0 1.75rem 0 1rem;position:absolute}.hero-marquee--revealed .hero-marquee__viewport{pointer-events:auto;opacity:.92}.hero-marquee--revealed:hover .hero-marquee__viewport,.hero-marquee--revealed:focus-within .hero-marquee__viewport{opacity:.98}.hero-marquee__viewport{z-index:1;pointer-events:none;opacity:0;transition:opacity .75s var(--curve-delicate);background:0 0;position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000 0%,#000 3.5% 96.5%,#0000 100%)}.hero-marquee-defocus{height:var(--marquee-defocus-height);z-index:4;pointer-events:none;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.hero-marquee-defocus--scrolled-away{visibility:hidden;pointer-events:none}.hero-marquee-defocus__layer{pointer-events:none;opacity:0;transition:opacity .85s var(--curve-delicate), background-color .9s var(--curve-fade);background-color:rgb(var(--glass-bed-tint,255 254 247) / .3);background-image:linear-gradient(#0000 0%,#08080a0a 38%,#08080a1a 70%,#08080a24 100%);position:absolute;inset:0}.hero-marquee-defocus--revealed .hero-marquee-defocus__layer{opacity:var(--marquee-defocus-opacity,1)}.hero-marquee-defocus--revealed .hero-marquee-defocus__layer--far{mask-image:linear-gradient(#0000 0%,#00000073 46%,#000 100%)}.hero-marquee-defocus--revealed .hero-marquee-defocus__layer--mid{mask-image:linear-gradient(#0000 0% 12%,#000000a6 50%,#000 100%)}.hero-marquee-defocus--revealed .hero-marquee-defocus__layer--near{mask-image:linear-gradient(#0000 0% 24%,#000c 56%,#000 100%)}.hero-marquee__track{will-change:transform;width:max-content;animation:hero-marquee-scroll var(--marquee-duration,80s) linear infinite;background:0 0;align-items:stretch;gap:.85rem;display:flex}.hero-marquee--paused .hero-marquee__track{animation-play-state:paused}.hero-marquee--static .hero-marquee__viewport{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow:auto hidden}.hero-marquee--static .hero-marquee__viewport::-webkit-scrollbar{display:none}.hero-marquee--static .hero-marquee__track{will-change:auto;animation:none}.hero-marquee--static .hero-ticket{scroll-snap-align:start}@keyframes hero-marquee-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.hero-ticket{width:18rem;height:var(--ticket-height);border-radius:var(--ticket-radius);border:1px solid var(--ticket-line);background:var(--ticket-paper);box-shadow:var(--ticket-shadow);color:var(--ticket-fg);transition:background .4s var(--curve-snap), box-shadow .45s var(--curve-delicate), border-color .35s var(--curve-snap);flex-direction:column;flex:none;display:flex;overflow:hidden}.hero-ticket:hover,.hero-ticket:focus-within{background:color-mix(in srgb, var(--ticket-paper) 88%, #fff 12%);border-color:color-mix(in srgb, var(--ticket-line) 70%, #fff 30%);box-shadow:var(--ticket-shadow-hover)}.hero-ticket--clock{width:14.5rem}.hero-ticket--search,.hero-ticket--archive{width:14.25rem}.hero-ticket--slogan{width:19rem}.hero-ticket--stats{width:19.25rem}.hero-ticket--post,.hero-ticket--updated{width:20.5rem}.hero-ticket__pad,.hero-ticket__hit{width:100%;min-width:0;height:100%;min-height:0;color:inherit;text-align:left;font:inherit;box-sizing:border-box;background:0 0;border:0;flex-direction:column;justify-content:center;gap:.28rem;margin:0;padding:.85rem 1.05rem .9rem;display:flex;overflow:hidden}.hero-ticket__hit{cursor:pointer}.hero-ticket__hit:focus-visible{outline:1.5px solid color-mix(in srgb, var(--ticket-fg) 35%, transparent);outline-offset:-3px}.hero-ticket__hit--stats{gap:.4rem}.hero-ticket__hit--post{grid-template-columns:5rem minmax(0,1fr);align-items:stretch;gap:0;padding:0;display:grid}.hero-ticket__hit--post:not(:has(.hero-ticket__cover)){grid-template-columns:minmax(0,1fr);padding:0}.hero-ticket__label{max-width:100%;font-family:var(--font-mono,"SFMono-Regular", "Consolas", monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--ticket-muted);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:.68rem;font-weight:600;line-height:1.2;display:block;overflow:hidden}.hero-ticket__label:has(.hero-ticket__icon){align-items:center;gap:.32rem;display:inline-flex}.hero-ticket__icon{opacity:.55;flex:none}.hero-ticket__title{min-width:0;max-width:100%;font-family:var(--font-display,"Times New Roman", "Noto Serif SC", serif);letter-spacing:-.015em;color:var(--ticket-fg);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;flex:none;margin:0;font-size:1.08rem;font-weight:600;line-height:1.32;display:-webkit-box;overflow:hidden}.hero-ticket__meta{min-width:0;max-width:100%;font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);color:var(--ticket-muted);white-space:nowrap;text-overflow:ellipsis;flex:none;margin:0;font-size:.76rem;line-height:1.3;overflow:hidden}.hero-ticket__meta--mono{font-family:var(--font-mono,"SFMono-Regular", "Consolas", monospace);letter-spacing:.04em;font-size:.72rem}.hero-ticket__quote{min-width:0;max-width:100%;font-family:var(--font-display,"Times New Roman", "Noto Serif SC", serif);color:var(--ticket-fg);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;flex:0 auto;margin:0;font-size:1.02rem;font-style:italic;font-weight:500;line-height:1.42;display:-webkit-box;overflow:hidden}.hero-ticket-quote-enter-active,.hero-ticket-quote-leave-active{transition:opacity .24s var(--curve-snap), transform .24s var(--curve-delicate)}.hero-ticket-quote-enter-from{opacity:0;transform:translateY(.35rem)}.hero-ticket-quote-leave-to{opacity:0;transform:translateY(-.25rem)}.hero-ticket__stat-row{align-items:stretch;gap:0;width:100%;min-width:0;display:flex}.hero-ticket__stat{border-left:1px solid #0000000f;flex-direction:column;flex:1 1 0;gap:.14rem;min-width:0;padding:0 .7rem;display:flex;overflow:hidden}.hero-ticket__stat:first-child{border-left:0;padding-left:0}.hero-ticket__stat-value{font-family:var(--font-mono,"SFMono-Regular", "Consolas", monospace);letter-spacing:-.03em;color:var(--ticket-fg);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:1.45rem;font-weight:600;line-height:1;overflow:hidden}.hero-ticket__stat-label{font-family:var(--font-mono,"SFMono-Regular", "Consolas", monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--ticket-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.64rem;font-weight:600;overflow:hidden}.hero-ticket__cover{filter:grayscale(.2)saturate(.85)contrast(.98);opacity:.88;background-color:#0000000a;background-position:50%;background-size:cover;border-right:1px solid #0000000d;min-width:0;min-height:100%}.hero-ticket__body{box-sizing:border-box;flex-direction:column;justify-content:center;gap:.2rem;min-width:0;max-width:100%;padding:.8rem 1rem .85rem;display:flex;overflow:hidden}.hero-ticket--post .hero-ticket__title,.hero-ticket--updated .hero-ticket__title,.hero-ticket--post .hero-ticket__body:has(.hero-ticket__meta) .hero-ticket__title,.hero-ticket--updated .hero-ticket__body:has(.hero-ticket__meta) .hero-ticket__title{-webkit-line-clamp:2;line-clamp:2}.time-widget--compact{text-align:left;min-width:0;max-width:100%;overflow:hidden}.time-widget--compact .weekday{font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);letter-spacing:-.02em;color:var(--ticket-fg);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.1rem;font-size:1.2rem;font-weight:600;line-height:1.1;overflow:hidden}.time-widget--compact .date-display{font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);color:var(--ticket-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:.78rem;overflow:hidden}.time-widget--compact .clock{font-family:var(--font-mono,"SFMono-Regular", "Consolas", monospace);letter-spacing:.06em;color:var(--ticket-fg);font-variant-numeric:tabular-nums;max-width:100%;box-shadow:none;text-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:0;padding:0;font-size:1.35rem;font-weight:600;line-height:1.1;display:block;overflow:hidden}[data-theme=dark] .hero-marquee{--ticket-fg:#fffef7db;--ticket-muted:#fffef77a;--ticket-paper:#121214ad;--ticket-line:#ffffff14;--ticket-ink:#ffffff0f;--ticket-shadow:0 0 0 1px var(--ticket-ink), 0 4px 18px #00000038;--ticket-shadow-hover:0 0 0 1px #ffffff1a, 0 6px 22px #00000047}[data-theme=dark] .hero-marquee-defocus__layer--far{background-image:linear-gradient(#0000 0%,#0000000f 35%,#00000024 70%,#00000038 100%)}[data-theme=dark] .hero-marquee-defocus__layer--mid{background-image:linear-gradient(#0000 0%,#0000001a 40%,#0000003d 78%,#00000057 100%)}[data-theme=dark] .hero-marquee-defocus__layer--near{background-image:linear-gradient(#0000 0% 38%,#0000002e 68%,#0006 100%)}[data-theme=dark] .hero-ticket:hover,[data-theme=dark] .hero-ticket:focus-within{background:color-mix(in srgb, var(--ticket-paper) 86%, #fff 6%)}[data-theme=dark] .hero-ticket__stat{border-left-color:#ffffff14}[data-theme=dark] .hero-ticket__cover{border-right-color:#ffffff0f}@media (prefers-reduced-motion:reduce){.hero-marquee{transition:none}.hero-marquee__track{animation:none}.hero-ticket,.hero-ticket-quote-enter-active,.hero-ticket-quote-leave-active{transition:none}}@media (width<=1200px){.left-panel{width:35%}.right-panel{width:65%}}@media (width<=900px){html,body{height:auto;overflow-y:auto}.container{flex-direction:column;height:auto;min-height:100vh;overflow:hidden auto}.left-panel{border-right-width:0;border-bottom:1px solid var(--panel-border);width:100%;min-width:100%;height:100svh;min-height:100svh;padding:var(--space-lg);flex-shrink:0;justify-content:center;overflow-y:visible}.left-panel:before{display:none}.page-transition-surface{padding:2.5rem 1rem}.page-transition-surface[data-shell-mode=article]{padding-top:calc(56px + 1.5rem + env(safe-area-inset-top,0px))}.page-transition-surface[data-shell-mode=blog],.page-transition-surface[data-shell-mode=error]{padding-top:calc(56px + 1rem + env(safe-area-inset-top,0px))}.hero-sticky{height:100svh;min-height:100svh}.hero-marquee,.hero-marquee-defocus{display:none}.hero{background-color:var(--bg,#fffef7);z-index:10;padding:var(--space-sm) 0;margin:calc(var(--space-sm) * -1) 0;position:sticky;top:0}.bio-container{margin-bottom:var(--space-lg);padding:var(--space-md);min-height:auto}.avatar-box{margin-bottom:var(--space-md)}.name{margin-bottom:var(--space-sm)}.status-bar{margin-bottom:var(--space-lg)}.avatar-box{transition:width var(--transition-delicate), height var(--transition-delicate), transform var(--transition-delicate), box-shadow var(--transition-delicate), border-color var(--transition-delicate);cursor:pointer}.avatar-box.scrolled{min-width:48px;margin-bottom:var(--space-sm);box-shadow:0 4px 10px #0000001a, 0 0 15px color-mix(in srgb, var(--avatar-glow) 15%, transparent);width:48px!important;height:48px!important}.avatar-box.scrolled:hover{transform:var(--lift-sm);box-shadow:0 8px 20px #00000026, 0 0 25px color-mix(in srgb, var(--avatar-glow) 40%, transparent), 0 0 50px color-mix(in srgb, var(--avatar-glow) 15%, transparent)}.right-panel{z-index:var(--z-dock);pointer-events:none;flex:0 0 0;width:100vw;min-width:0;height:0;display:block;position:fixed;top:0;right:0;overflow:visible}.right-panel .nav-dock{pointer-events:auto}.wallpaper-scroll-area,.right-panel .right-panel-shadow,.right-panel .info-panel{display:none}.social-links{flex-wrap:wrap}@supports (display:grid){.social-links{grid-template-columns:repeat(2,1fr)}}.social-link{flex:0 0 calc(50% - .5rem);max-width:calc(50% - .5rem)}@supports (display:grid){.social-link{flex:none;max-width:none}}.wallpaper-toggle{display:none!important}:root{--ticket-height:6.4rem;--marquee-bottom:calc(.85rem + env(safe-area-inset-bottom,0px));--marquee-defocus-height:calc(var(--ticket-height) + 4.5rem)}.hero-marquee{left:0;bottom:var(--marquee-bottom);z-index:5;padding:0 .85rem}.hero-marquee-defocus{height:var(--marquee-defocus-height);left:0}.hero-marquee__viewport{mask-image:linear-gradient(90deg,#0000 0%,#000 4% 96%,#0000 100%)}.hero-ticket{width:15.5rem}.hero-ticket--clock{width:12.75rem}.hero-ticket--search,.hero-ticket--archive{width:12.5rem}.hero-ticket--slogan{width:16.25rem}.hero-ticket--stats{width:16.5rem}.hero-ticket--post,.hero-ticket--updated{width:17.5rem}.hero-ticket__hit--post{grid-template-columns:4.25rem 1fr}.hero-ticket__title{font-size:1rem}.hero-ticket__stat-value{font-size:1.28rem}.time-widget--compact .weekday{font-size:1.08rem}.time-widget--compact .clock{font-size:1.2rem}.left-panel{padding-bottom:var(--space-lg)}}@media (width<=600px){.left-panel{padding:var(--space-md)}:root{--ticket-height:6rem;--marquee-bottom:calc(.6rem + env(safe-area-inset-bottom,0px));--marquee-defocus-height:calc(var(--ticket-height) + 4rem)}.hero-marquee{bottom:var(--marquee-bottom);padding:0 .55rem}.hero-marquee-defocus{height:var(--marquee-defocus-height)}.hero-ticket{width:14.25rem}.hero-ticket--clock{width:11.75rem}.hero-ticket--post,.hero-ticket--updated{width:15.75rem}.hero-ticket--stats{width:15rem}.hero-ticket__body{padding:.55rem .9rem}.bio-container{margin-bottom:var(--space-md);padding:var(--space-sm)}.avatar-box,.status-bar{margin-bottom:var(--space-md)}.info-panel{padding:var(--space-md)}.weekday{font-size:2.5rem}.clock{font-size:1.5rem}.wallpaper-toggle,.close-panel{display:none!important}.nav-dock{top:var(--space-md);right:var(--space-md)}}@media (width<=900px){.avatar-box.scrolled:hover:before{transform:translate(2px,2px)}}@media (height<=880px){.avatar-box{margin-bottom:var(--space-md,1.5rem)}.bio-container{margin-bottom:var(--space-lg,2rem);padding:var(--space-sm,1rem)}.social-links-page{gap:var(--space-xs,.75rem)}.social-links-page .social-link{padding:.75rem .5rem}}@media (height<=760px){.left-panel{padding-top:var(--space-md,1.5rem);padding-bottom:var(--space-md,1.5rem)}.avatar-box{width:clamp(84px,10vw,112px);height:clamp(84px,10vw,112px);margin-bottom:var(--space-sm,1rem)}.name{margin-bottom:var(--space-xs,.75rem)}.bio-container{min-height:64px;padding:.75rem}.social-links-page .social-link{padding:.5rem .25rem}}.sidebar-menu-item,.sidebar-submenu-item{cursor:pointer}:root{--left-panel-width:500px}@media (width<=1200px){:root{--left-panel-width:35%}}body{height:100vh;transition:none;overflow:hidden}.top-bar{top:0;left:var(--bar-left,0px);backdrop-filter:blur(20px)saturate(180%);color:#0a0a0a;height:72px;z-index:var(--z-bar,2000);box-sizing:border-box;box-shadow:var(--shadow-float);transform:translateY(var(--nav-translate-y,0));transition:left .35s var(--curve-snap), transform .3s var(--curve-standard), opacity .4s var(--curve-delicate), background-color var(--transition-normal), border-bottom-color var(--transition-normal), color var(--transition-normal), box-shadow var(--transition-normal);view-transition-name:top-bar;background-color:#fffef78c;border:none;border-bottom:1px solid #0003;border-radius:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;right:0}html.is-entering .top-bar{opacity:0;transform:translateY(-24px)}[data-theme=dark] .top-bar{color:#fff;box-shadow:var(--shadow-float);background-color:#121212cc;border-bottom-color:#ffffff1f}.top-bar-left{width:var(--left-width,0px);color:inherit;cursor:pointer;white-space:nowrap;transition:width .35s var(--curve-snap), color var(--transition-normal);flex-shrink:0;align-self:stretch;align-items:center;text-decoration:none;display:flex;overflow:hidden}.top-bar-left-content{transform-origin:0;will-change:transform;flex-shrink:0;align-items:center;gap:12px;height:48px;display:flex}.top-bar-left,.top-bar-left:hover,.top-bar-left:active,.top-bar-left:focus,.top-bar-left:focus-visible{border-bottom:none;text-decoration:none}.top-bar-left:hover,.top-bar-left:active{color:var(--accent-blue,#5b9bf5)}.top-bar-right{align-items:center;gap:2px;margin-left:auto;display:flex}.top-bar-avatar{border-radius:var(--radius-md);border:1px solid var(--avatar-frame-color);object-fit:cover;width:40px;height:40px;transition:border-color var(--transition-normal);flex-shrink:0;display:block;overflow:hidden}.top-bar-name{font-family:var(--font-display,"Times New Roman", "Noto Serif SC", "Songti SC", "SimSun", serif);letter-spacing:-.03em;color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-style:normal;font-weight:700;overflow:hidden}.top-bar-name .name-latin{font-family:Times New Roman,serif;font-style:italic;font-weight:700}.top-bar-divider{width:1px;height:20px;transition:background-color var(--transition-normal);background:#0003;flex-shrink:0;margin:0 6px}[data-theme=dark] .top-bar-divider{background:#ffffff1f}.top-bar-dock-item{border-radius:var(--radius-lg);width:48px;height:48px;color:inherit;cursor:pointer;transform-origin:50%;will-change:transform;transition:color var(--transition-normal), background-color var(--transition-normal);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;text-decoration:none;display:flex;position:relative}.top-bar-dock-item:hover{color:var(--accent-blue,#5b9bf5);background:0 0}.top-bar-dock-item.active{color:inherit;background:0 0}.top-bar-dock-item.active:hover{color:var(--accent-blue,#5b9bf5)}.top-bar-dock-item.has-text{gap:6px;width:auto;padding:0 12px}.top-bar-dock-label{white-space:nowrap;font-size:1.05rem;font-weight:700}.top-bar-dock-item.disabled{opacity:.3;pointer-events:none}.top-bar-language-popup{backdrop-filter:blur(40px)saturate(220%);color:#0a0a0a;border-radius:var(--radius-2xl);min-width:160px;box-shadow:var(--shadow-pop);z-index:var(--z-bar-popup,3000);opacity:0;pointer-events:none;transition:opacity .4s var(--curve-snap), transform .4s var(--curve-snap), background-color var(--transition-normal), border-color var(--transition-normal), color var(--transition-normal), box-shadow var(--transition-normal);view-transition-name:top-bar-popup;background-color:#fffef78c;border:1px solid #ffffff80;padding:8px;position:fixed;transform:translate(-50%)translateY(-6px)scale(.96)}[data-theme=dark] .top-bar-language-popup{color:#fff;background-color:#121212cc;border-color:#ffffff1f}.top-bar-language-popup[data-open]{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}.top-bar-popup-title{color:inherit;opacity:.5;text-transform:uppercase;letter-spacing:.04em;padding:6px 12px 4px;font-size:.75rem;font-weight:600}.top-bar-popup-option{border-radius:var(--radius-lg);cursor:pointer;color:inherit;transition:background .15s var(--curve-snap), color var(--transition-normal);align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;display:flex}.top-bar-popup-option:hover{background:#80808026}.top-bar-popup-option.selected{font-weight:600}.top-bar-popup-option .check-icon{opacity:0;width:16px;transition:opacity .15s var(--curve-snap)}.top-bar-popup-option.selected .check-icon{opacity:1}.top-bar-sidebar,.top-bar-sidebar-overlay{display:none}@media (width<=900px){.top-bar{top:max(12px, env(safe-area-inset-top,0px));left:max(12px, env(safe-area-inset-left,0px));width:auto;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));border-radius:var(--radius-pill);height:auto;min-height:48px;z-index:calc(var(--z-dock,10000) - 1);transition:transform .35s var(--curve-delicate), opacity .35s var(--curve-delicate), background-color var(--transition-normal), border-color var(--transition-normal), color var(--transition-normal), box-shadow var(--transition-normal);border:1px solid #0000001f;justify-content:flex-start;gap:0;padding:6px 14px 6px 6px;right:auto;box-shadow:0 4px 20px #0000001f,0 1px 3px #0000000f}[data-theme=dark] .top-bar{border-color:#ffffff24;box-shadow:0 6px 24px #0006,0 1px 3px #0003}.top-bar[data-capsule-hidden]{opacity:0;pointer-events:none;transform:translateY(-12px)scale(.94)}.top-bar-left{cursor:pointer;align-self:center;width:auto;overflow:visible}.top-bar-left-content{gap:10px;height:36px}.top-bar-avatar{border-radius:50%;width:36px;height:36px}.top-bar-name{max-width:min(42vw,160px);font-size:.95rem}.top-bar-right{display:none}html.is-entering .top-bar,html.is-entering .top-bar[data-capsule-hidden]{opacity:0;transform:translateY(-12px)scale(.94)}.top-bar-sidebar{font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);width:72vw;max-width:300px;z-index:calc(var(--z-dock,10000) + 1);backdrop-filter:blur(30px);color:#fff;opacity:0;pointer-events:none;transition:transform .35s var(--curve-snap), opacity .35s var(--curve-snap);background:#121212e6;border-right:1px solid #ffffff1f;flex-direction:column;padding:20px 0;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:12px 0 48px #00000080}.top-bar-sidebar[data-open]{opacity:1;pointer-events:auto;transform:translate(0)}html:not([data-theme=dark]) .top-bar-sidebar.theme-light{color:#0a0a0a;background:#fffef7a6;border-right-color:#ffffff80;box-shadow:4px 0 24px #00000014,inset -1px 0 #fffc}html:not([data-theme=dark]) .sidebar-name,html:not([data-theme=dark]) .sidebar-menu-item{color:#0a0a0a}html:not([data-theme=dark]) .sidebar-menu-item:hover,html:not([data-theme=dark]) .sidebar-menu-item.active{background:#0000000f}html:not([data-theme=dark]) .sidebar-submenu-item{color:#333}html:not([data-theme=dark]) .sidebar-submenu-item:hover{background:#0000000a}html:not([data-theme=dark]) .sidebar-submenu-item.selected{background:#00000014}html:not([data-theme=dark]) .sidebar-divider{background:#0000001a}html:not([data-theme=dark]) .sidebar-menu-icon,html:not([data-theme=dark]) .sidebar-menu-item>i:first-child,html:not([data-theme=dark]) .expand-icon{color:#0a0a0a}html:not([data-theme=dark]) .check-icon{color:#3e59ff}.top-bar-sidebar-overlay{z-index:var(--z-dock,10000);opacity:0;pointer-events:none;transition:background-color .35s var(--curve-snap), opacity .35s var(--curve-snap);background:0 0;display:block;position:fixed;inset:0}.top-bar-sidebar-overlay[data-open]{backdrop-filter:blur(10px)saturate(140%);opacity:1;pointer-events:auto;background:#00000038}html:not([data-theme=dark]) .top-bar-sidebar-overlay[data-open]{background:#00000026}.sidebar-header{align-items:center;gap:14px;padding:0 20px 16px;display:flex}.sidebar-avatar-frame{border-radius:var(--radius-sm);background-color:#1a1a1a;border:2px solid #555;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden;box-shadow:0 0 12px #ffc85040,0 0 4px #ffc85026,inset 0 0 6px #ffc85014}.sidebar-avatar{width:100%;height:100%;box-shadow:none;object-fit:cover;background:0 0;border:none;display:block}.sidebar-name{color:#fff;font-size:1rem;font-weight:600}.sidebar-divider{flex:0 0 var(--dock-divider-thickness,1px);height:var(--dock-divider-thickness,1px);min-height:var(--dock-divider-thickness,1px);background:#ffffff26;margin:8px 16px}.sidebar-menu-item{color:#fffef7;cursor:pointer;width:100%;transition:background-color .2s var(--curve-snap);text-align:left;background:0 0;border:none;align-items:center;gap:14px;padding:12px 20px;font-size:1rem;text-decoration:none;display:flex}.sidebar-menu-item:visited{color:#fffef7}.sidebar-menu-item:hover,.sidebar-menu-item.active{background:#ffffff1f}.sidebar-menu-icon,.sidebar-menu-item>i:first-child{text-align:center;color:#fff;flex-shrink:0;width:24px;height:1rem;font-size:1rem}.expand-icon{width:.75rem;height:.75rem;transition:transform .25s var(--curve-snap);margin-left:auto;font-size:.75rem}.sidebar-menu-item.expanded .expand-icon{transform:rotate(180deg)}.sidebar-submenu{opacity:0;max-height:0;transition:max-height .3s var(--curve-snap), opacity .25s var(--curve-snap);overflow:hidden}.sidebar-submenu.expanded{opacity:1;max-height:200px}.sidebar-submenu-item{cursor:pointer;color:#e8e8ec;transition:background-color .2s var(--curve-snap);align-items:center;gap:10px;padding:10px 20px 10px 56px;font-size:.95rem;display:flex}.sidebar-submenu-item:hover{background:#ffffff1a}.sidebar-submenu-item.selected{background:#ffffff2e}.sidebar-submenu-item .check-icon{opacity:0;width:16px;color:var(--accent-blue);transition:opacity .15s var(--curve-snap);flex-shrink:0}.sidebar-submenu-item.selected .check-icon{opacity:1}.sidebar-menu-item.disabled{opacity:.3;pointer-events:none}}.site-footer{background-color:var(--panel-bg-solid);border-top:1px solid var(--panel-border);color:var(--fg);font-family:var(--font-ui,"Inter", "Noto Sans SC", sans-serif);padding:1.5rem 3rem;position:relative}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1200px;margin:0 auto;display:flex}.footer-copyright{color:var(--muted);font-size:.875rem}.footer-tagline{color:var(--muted);opacity:.7;font-size:.875rem}@media (width<=768px){.site-footer{padding:1.25rem 1.5rem}.footer-bottom{text-align:center;flex-direction:column}}.post-container{max-width:min(840px,100%);color:var(--fg,#0a0a0a);font-family:var(--font-ui);margin:0 auto;padding:0 24px}.post-container .post-lead{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-glass);box-shadow:var(--panel-shadow);flex-direction:column;gap:18px;margin-bottom:32px;padding:22px 22px 20px;display:flex}[data-theme=dark] .post-container .post-lead{background:#141414b8;border-color:#ffffff1f;box-shadow:0 0 0 1px #ffffff0f,0 8px 28px #00000059}.post-container .post-header{margin:0}.post-container .post-title{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 var(--space-sm);color:var(--fg);font-size:clamp(1.75rem,3.2vw,2.25rem);font-weight:700;line-height:1.25}.post-container .post-meta{color:var(--muted,#666);flex-wrap:wrap;align-items:center;gap:12px;font-size:.85rem;display:flex}.post-container .post-tags{font-family:var(--font-ui)}.post-container .post-date{font-family:var(--font-ui);white-space:nowrap}.post-container .post-date--updated{color:var(--muted);opacity:.85}.post-container .post-hero-image-wrapper{aspect-ratio:16/9;border:1px solid var(--panel-border);border-radius:var(--radius-lg);width:100%;box-shadow:none;margin:0;overflow:hidden}.post-container .post-hero-image{object-fit:cover;width:100%;height:100%;display:block}.post-container .post-footer{padding-top:var(--space-md);border-top:1px solid var(--panel-border);margin-top:48px}.post-container .post-footer__actions{flex-wrap:wrap;gap:10px;display:flex}.post-container .post-footer__action{border:1px solid var(--panel-border);border-radius:var(--radius-pill);background:var(--panel-glass);min-height:42px;box-shadow:var(--panel-shadow);color:inherit;transition:transform .35s var(--curve-lift), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow .45s var(--curve-delicate);justify-content:center;align-items:center;gap:.55rem;padding:.65rem 1rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.post-container .post-footer__action--primary{background:color-mix(in srgb, var(--accent-blue) 14%, var(--panel-glass))}.post-container .post-footer__action:hover{transform:var(--lift-sm);border-color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 14%, var(--panel-glass));box-shadow:var(--shadow-lift-sm)}.post-container .post-footer__action:active{transition-duration:80ms;transform:translateY(0)scale(.97)}.post-container .post-footer__action:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-blue) 45%, transparent);outline-offset:3px}@media (width<=480px){.post-container .post-footer__actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.post-container .post-footer__action{width:100%}}.post-body{font-family:var(--font-serif);color:var(--fg);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.8}.post-body code,.post-body pre,.post-body pre code,.post-body table,.post-body kbd{font-family:var(--font-ui)}.post-body :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:var(--space-lg);color:var(--fg)}.post-body h1{font-family:var(--font-serif);margin:var(--space-lg) 0 var(--space-sm);letter-spacing:-.01em;border-left:4px solid var(--accent-blue);padding-left:var(--space-sm);font-size:1.5rem;font-weight:700;line-height:1.3}.post-body h2{font-family:var(--font-serif);margin:var(--space-xl) 0 var(--space-sm);padding-left:var(--space-sm);border-left:3px solid var(--accent-blue);font-size:1.5rem;font-weight:700}[data-theme=dark] .post-body h2{border-left-color:var(--accent-blue)}.post-body h3{font-family:var(--font-serif);margin:var(--space-lg) 0 var(--space-xs);border-left:3px solid var(--accent-yellow);padding-left:var(--space-sm);font-size:1.3rem;font-weight:600}.post-body h4{font-family:var(--font-ui);margin:var(--space-md) 0 var(--space-xs);font-size:1.1rem;font-weight:600}.post-body h5{font-family:var(--font-ui);margin:var(--space-md) 0 var(--space-xs);color:var(--muted);font-size:1rem;font-weight:600}.post-body h6{font-family:var(--font-ui);margin:var(--space-md) 0 var(--space-xs);color:var(--muted);font-size:.95rem;font-weight:600}.post-body .anchor{color:var(--accent-blue);opacity:.3;transition:opacity var(--transition-fast);font-family:var(--font-mono);margin-left:.4em;font-weight:400;text-decoration:none}.post-body .anchor:hover,.post-body :is(h1,h2,h3,h4,h5,h6):hover .anchor{opacity:1}.post-body p{margin:0 0 1.25em;line-height:1.8}.post-body :is(h1,h2,h3,h4,h5,h6)+p{margin-top:0}.post-body a{color:var(--accent-blue);text-underline-offset:3px;text-decoration:underline 2px;text-decoration-color:color-mix(in srgb, var(--accent-blue) 35%, transparent);transition:text-decoration-color var(--transition-fast)}.post-body a:hover{text-decoration-color:var(--accent-blue)}.post-body a:visited{color:color-mix(in srgb, var(--accent-blue) 70%, var(--accent-red))}.post-body code{font-family:var(--font-mono);background:color-mix(in srgb, var(--accent-yellow) 18%, transparent);color:var(--fg);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--accent-yellow) 35%, transparent);white-space:nowrap;padding:.15em .4em;font-size:.9em}[data-theme=dark] .post-body .astro-code,[data-theme=dark] .post-body .astro-code span{color:var(--shiki-dark)!important}[data-theme=dark] .post-body .astro-code{background-color:var(--shiki-dark-bg)!important}.post-body .code-block{margin:0 0 var(--space-md);position:relative}.post-body pre{border-radius:var(--radius-md);border:1px solid var(--panel-border);border-left:3px solid var(--accent-blue);box-shadow:var(--panel-shadow);padding:var(--space-md);tab-size:4;max-width:100%;margin:0;font-size:.9375rem;line-height:1.7;position:relative;overflow-x:auto}.post-body pre::-webkit-scrollbar{height:6px;display:block}.post-body pre::-webkit-scrollbar-track{background:0 0}.post-body pre::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--fg) 25%, transparent);border-radius:var(--radius-xs)}.post-body pre::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--fg) 40%, transparent)}[data-theme=dark] .post-body pre{border-color:#fff3;border-left-color:var(--accent-blue)}.post-body pre code{font-family:var(--font-mono);color:inherit;white-space:pre;font-size:inherit;background:0 0;border:none;padding:0}.post-body .code-copy{font-family:var(--font-ui);border:1px solid var(--panel-border);border-radius:var(--radius-sm);background:var(--panel-glass);color:var(--fg);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), background var(--transition-fast);backdrop-filter:var(--panel-blur);padding:.25rem .6rem;font-size:.75rem;position:absolute;top:8px;right:8px}.post-body .code-block:hover .code-copy{opacity:1}.post-body .code-copy:focus-visible{opacity:1;outline:2px solid var(--accent-blue);outline-offset:2px}.post-body .code-copy--done{background:var(--accent-blue);color:var(--bg);border-color:var(--accent-blue)}@media (hover:none){.post-body .code-copy{opacity:.5}.post-body .code-copy:hover,.post-body .code-block:active .code-copy{opacity:1}}.post-body blockquote{margin:var(--space-md) 0;padding:var(--space-sm) var(--space-md);border-left:4px solid var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 8%, transparent);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--fg);font-size:1.05em;font-style:normal}.post-body blockquote blockquote{border-left-color:var(--accent-red);background:color-mix(in srgb, var(--accent-red) 6%, transparent)}.post-body blockquote p:last-child{margin-bottom:0}[data-theme=dark] .post-body blockquote{border-left-color:var(--accent-blue);background:#ffffff0d}[data-theme=dark] .post-body blockquote blockquote{background:#ffffff08}.post-body table{border-collapse:collapse;width:100%;max-width:100%;margin:var(--space-md) 0;font-size:.9375rem;font-family:var(--font-ui);display:block;overflow-x:auto}.post-body table::-webkit-scrollbar{height:6px;display:block}.post-body table::-webkit-scrollbar-track{background:0 0}.post-body table::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--fg) 25%, transparent);border-radius:var(--radius-xs)}.post-body thead th,.post-body table:not(:has(thead)) tr:first-child td{color:var(--fg);padding:var(--space-xs) var(--space-sm);border-bottom:2px solid var(--accent-blue);text-align:left;font-weight:700}.post-body th,.post-body td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--panel-border);vertical-align:top;text-align:inherit;min-width:4em}.post-body tbody tr:nth-child(2n){background:color-mix(in srgb, var(--fg) 3%, transparent)}.post-body tbody tr:hover{background:color-mix(in srgb, var(--accent-blue) 6%, transparent)}.post-body tbody tr:last-child td{border-bottom:none}.post-body td code,.post-body th code{padding:.1em .3em;font-size:.85em}.post-body .task-list-item{list-style:none}.post-body ul:has(.task-list-item){padding-left:0;list-style:none}.post-body .task-list-item input[type=checkbox]{appearance:none;vertical-align:-.15em;border:2px solid var(--border-color);border-radius:var(--radius-xs);cursor:default;pointer-events:none;background:0 0;width:1.1em;height:1.1em;margin-right:.5em;position:relative}[data-theme=dark] .post-body .task-list-item input[type=checkbox]{border-color:#ffffff59}.post-body .task-list-item input[type=checkbox]:checked{background:var(--accent-blue);border-color:var(--accent-blue)}.post-body .task-list-item input[type=checkbox]:checked:after{content:"✓";color:var(--bg);place-items:center;font-size:.85em;font-weight:700;display:grid;position:absolute;inset:0}.post-body ul,.post-body ol{margin:0 0 var(--space-md);padding-left:var(--space-lg)}.post-body li{margin-bottom:.5em;line-height:1.8}.post-body ul>li::marker{color:var(--accent-red)}.post-body ol>li::marker{color:var(--muted);font-family:var(--font-mono);font-weight:600}.post-body ul ul,.post-body ol ol,.post-body ul ol,.post-body ol ul{margin-top:var(--space-xs);margin-bottom:0}.post-body li>p{margin:0 0 var(--space-xs)}.post-body li:last-child{margin-bottom:0}.post-body hr{background:var(--panel-border);border:none;height:1px;margin:2.5rem 0}[data-theme=dark] .post-body hr{background:#ffffff26}.post-body img{border:1px solid var(--panel-border);border-radius:var(--radius-md);max-width:100%;height:auto;box-shadow:var(--panel-shadow);margin:var(--space-sm) 0;display:block}.post-body strong,.post-body b{color:var(--fg);font-weight:700}.post-body em,.post-body i{font-style:italic}.post-body del,.post-body s{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--accent-red)}.post-body kbd{font-family:var(--font-mono);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--panel-glass);box-shadow:0 1px 0 var(--border-color);border-bottom-width:2px;padding:.1em .4em;font-size:.85em}@media (width<=600px){.post-container{max-width:100%;padding:0 16px}.post-container .post-lead{border-radius:var(--radius-lg);gap:14px;margin-bottom:24px;padding:16px 14px 14px}.post-body{font-size:1rem;line-height:1.8}.post-body .code-block,.post-body table{width:calc(100% + 32px);max-width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}.post-body pre{padding:var(--space-sm);border-radius:0;font-size:.8125rem;line-height:1.7}.post-body .code-block{flex-direction:column;align-items:stretch;display:flex}.post-body .code-copy{opacity:1;align-self:flex-end;margin-top:4px;display:inline-block;position:static}.post-body table{font-size:.875rem}.post-body th,.post-body td{padding:.5rem .6rem}}.blog-container{max-width:min(1120px,100%);color:var(--fg,#0a0a0a);font-family:var(--font-ui);margin:0 auto;padding:0 24px 48px}.blog-title{font-family:var(--font-display,"Times New Roman", serif);text-align:center;margin-bottom:32px;font-size:2rem}.post-card{border:1px solid var(--panel-border);background-color:var(--panel-glass);border-radius:var(--radius-sm);width:100%;box-shadow:var(--panel-shadow);color:inherit;transition:transform .45s var(--curve-lift), box-shadow .6s var(--curve-delicate), background-color .6s var(--curve-snap), border-color .6s var(--curve-snap);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.post-card:hover{transform:var(--lift);box-shadow:var(--shadow-lift)}.post-card:active{transition-duration:.1s;transform:translateY(-2px)}[data-theme=dark] .post-card{background-color:#141414b8;border-color:#ffffff1f;box-shadow:0 0 0 1px #ffffff14,0 2px 12px #0000004d}[data-theme=dark] .post-card:hover{box-shadow:0 0 0 1px #ffffff1a, var(--shadow-lift);background-color:#1e1e1ecc;border-color:#fff3}.post-list--masonry{columns:2;column-gap:24px}.post-list--masonry .post-card{break-inside:avoid;margin-bottom:24px}.homepage-pagination{font-family:var(--font-ui);justify-content:center;align-items:center;gap:14px;margin-top:24px;display:flex}.homepage-pagination__pages{align-items:center;gap:8px;display:flex}.homepage-pagination__control,.homepage-pagination__page{border:1px solid var(--panel-border);background:var(--panel-glass);min-height:42px;color:inherit;box-shadow:var(--panel-shadow);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.homepage-pagination__control{border-radius:var(--radius-pill);min-width:88px;padding:.65rem 1rem;font-weight:600}.homepage-pagination__page{border-radius:50%;width:42px;font-weight:700}.homepage-pagination__control:not(.homepage-pagination__control--disabled):hover,.homepage-pagination__page:not(.homepage-pagination__page--current):hover{border-color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 14%, var(--panel-glass));color:var(--accent-blue)}.homepage-pagination__control:not(.homepage-pagination__control--disabled):active,.homepage-pagination__page:not(.homepage-pagination__page--current):active{background:color-mix(in srgb, var(--accent-blue) 22%, var(--panel-glass))}.homepage-pagination__control:focus-visible,.homepage-pagination__page:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-blue) 45%, transparent);outline-offset:3px}.homepage-pagination__page--current{border-color:var(--accent-blue);background:var(--accent-blue);color:#fff;box-shadow:none}.homepage-pagination__control--disabled{opacity:.42;box-shadow:none}[data-theme=dark] .homepage-pagination__control,[data-theme=dark] .homepage-pagination__page{background:#141414c7;border-color:#ffffff2e}[data-theme=dark] .homepage-pagination__page--current{border-color:var(--accent-blue);background:var(--accent-blue)}[data-theme=dark] .post-card .post-title{color:#fff}[data-theme=dark] .post-card .post-desc{color:#ffffffb3}[data-theme=dark] .post-card .post-meta{color:#fff9}.post-card--below .post-cover{object-fit:cover;background-color:var(--panel-glass);border-bottom:1px solid var(--panel-border);width:100%;height:200px;display:block}.post-card .post-cover{transition:transform .7s var(--curve-delicate), filter .5s var(--curve-snap)}.post-card:hover .post-cover{transform:scale(1.05)}.post-card--overlay:hover .post-cover{filter:brightness(1.06)saturate(1.08)}[data-theme=dark] .post-card--below .post-cover{border-bottom-color:var(--glass-border)}.post-card--overlay{min-height:360px;position:relative}.post-card--overlay .post-cover{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.post-card--overlay:after{content:"";z-index:1;pointer-events:none;background:#0000006b;position:absolute;inset:0}.post-card--overlay .post-info{z-index:2;color:#fff;background:linear-gradient(#0000 0%,#00000059 40%,#000000c7 100%);padding:24px;position:absolute;bottom:0;left:0;right:0}[data-theme=dark] .post-card--overlay:after{background:#00000080}[data-theme=dark] .post-card--overlay .post-info{background:linear-gradient(#0000 0%,#00000073 40%,#000000d9 100%)}.post-card.post-card--overlay .post-meta,.post-card.post-card--overlay .post-desc,.post-card.post-card--overlay .post-category,.post-card.post-card--overlay .post-tags,.post-card.post-card--overlay .post-info,.post-card.post-card--overlay .post-info *,.post-card.post-card--overlay .post-title{color:#fff}.post-card .post-info{flex-direction:column;gap:10px;padding:20px;display:flex}.post-card .post-meta{color:var(--muted,#666);font-size:.85rem;font-family:var(--font-ui);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:8px 14px;font-weight:500;display:flex}.post-card .meta-separator{user-select:none;opacity:.5;margin:0 -.25em}.post-card .post-title{font-family:var(--font-display,"Times New Roman", serif);color:var(--fg);margin:0;font-size:1.75rem;font-weight:700;line-height:1.25}.post-card .post-desc{color:var(--muted,#666);margin:0;font-size:1.05rem;line-height:1.55}.post-card .post-category,.post-card .post-tags{font-size:inherit;color:inherit;font-family:inherit}.blog-container .back-link{color:inherit;margin-top:32px;font-weight:600;text-decoration:none;display:inline-block}.blog-container .back-link:hover{text-decoration:underline}@media (width<=768px){.post-list--masonry{columns:1}.blog-container{padding:0 16px 40px}.blog-title{font-size:1.75rem}.post-card--overlay{min-height:240px}.homepage-pagination{gap:8px}.homepage-pagination__control{min-width:0;padding-inline:.8rem}.homepage-pagination__pages{gap:6px}.homepage-pagination__page{width:40px;min-height:40px}}.reading-progress{z-index:2001;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.reading-progress__fill{transform-origin:0;background:linear-gradient(90deg, var(--accent-blue,#3e59ff), var(--accent-yellow,#ffe600));width:100%;height:100%;box-shadow:0 0 10px color-mix(in srgb, var(--accent-blue,#3e59ff) 45%, transparent);will-change:transform;transform:scaleX(0)}.post-container .post-reading-time{font-family:var(--font-ui);white-space:nowrap;color:var(--muted,#666)}.post-body .heading-copy{width:22px;height:22px;color:var(--accent-blue,#3e59ff);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), color .18s var(--curve-snap);user-select:none;vertical-align:middle;background:0 0;border:none;justify-content:center;align-items:center;margin-left:.35em;padding:0;display:inline-flex;transform:translateY(-1px)}.post-body :is(h2,h3,h4,h5):hover .heading-copy,.post-body .heading-copy:focus-visible{opacity:1}.post-body .heading-copy:hover{color:var(--fg)}.post-body .heading-copy--done{color:#2ea043;opacity:1}[data-theme=dark] .post-body .heading-copy--done{color:#56d364}.post-container .post-nav{padding-top:var(--space-md);border-top:1px solid var(--panel-border);grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.post-nav__placeholder{visibility:hidden}.post-nav__card{border:1px solid var(--panel-border);border-radius:var(--radius-md);background:var(--panel-glass);min-height:64px;color:inherit;transition:transform .35s var(--curve-lift), border-color .3s var(--curve-snap), background-color .3s var(--curve-snap), box-shadow .45s var(--curve-delicate);flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;display:flex}.post-nav__card:hover{transform:var(--lift-sm);border-color:var(--accent-blue,#3e59ff);box-shadow:var(--shadow-lift-sm)}.post-nav__card--next{text-align:right;align-items:flex-end}.post-nav__dir{font-family:var(--font-ui);color:var(--muted,#666);letter-spacing:.02em;font-size:.78rem}.post-nav__title{font-family:var(--font-serif);color:var(--fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.post-nav__date{font-family:var(--font-ui);color:var(--muted,#666);opacity:.8;font-size:.72rem}@media (width<=600px){.post-container .post-nav{grid-template-columns:1fr}.post-nav__card--next{text-align:left;align-items:flex-start}}.post-body img.lightbox-eligible{cursor:zoom-in}.article-lightbox{z-index:var(--z-lightbox,10050);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .22s var(--curve-fade);background:#000000e6;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.article-lightbox--visible{opacity:1}.article-lightbox__img{object-fit:contain;border-radius:var(--radius-md);cursor:pointer;max-width:90vw;max-height:82vh;box-shadow:0 16px 48px #0009}.article-lightbox__caption{bottom:max(16px, env(safe-area-inset-bottom));text-align:center;color:#ffffffd1;font-family:var(--font-ui);margin:0;padding:0 24px;font-size:.85rem;line-height:1.4;position:absolute;left:0;right:0}.article-lightbox__close,.article-lightbox__nav{color:#fff;cursor:pointer;width:44px;height:44px;transition:transform .3s var(--curve-lift), background-color .2s var(--curve-snap), opacity .2s var(--curve-snap);background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.article-lightbox__close:hover,.article-lightbox__nav:hover:not(:disabled){background:#ffffff38}.article-lightbox__nav:disabled{opacity:.3;cursor:default}.article-lightbox__close{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right))}.article-lightbox__nav--prev{left:max(16px, env(safe-area-inset-left));top:50%;transform:translateY(-50%)}.article-lightbox__nav--next{right:max(16px, env(safe-area-inset-right));top:50%;transform:translateY(-50%)}.article-lightbox__nav--prev:hover:not(:disabled),.article-lightbox__nav--next:hover:not(:disabled){background:#ffffff47;transform:translateY(-50%)}@media (prefers-reduced-motion:reduce){.article-lightbox,.article-lightbox__nav--prev,.article-lightbox__nav--next{transition:none}}@media (width<=600px){.article-lightbox__nav--prev,.article-lightbox__nav--next{width:38px;height:38px}}.back-to-top{left:max(20px, env(safe-area-inset-left));bottom:max(20px, env(safe-area-inset-bottom));z-index:var(--z-float,1500);border:1px solid var(--panel-border);background:var(--panel-glass);width:44px;height:44px;-webkit-backdrop-filter:var(--panel-blur);box-shadow:var(--panel-shadow);color:var(--fg);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s var(--curve-snap), transform .25s var(--curve-snap);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;transform:translateY(12px)scale(.92)}.back-to-top--visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.back-to-top--visible:hover{transform:var(--lift-sm);border-color:var(--accent-blue,#3e59ff);color:var(--accent-blue,#3e59ff);box-shadow:var(--shadow-lift-sm)}.back-to-top--visible:active{transition-duration:80ms;transform:translateY(0)scale(.94)}.back-to-top:focus-visible{outline:2px solid var(--accent-blue,#3e59ff);outline-offset:2px}@media (prefers-reduced-motion:reduce){.back-to-top{transition:none}}.taxonomy-page{color:var(--fg);font-family:var(--font-ui)}.taxonomy-page__inner{width:min(1120px,100%);margin:0 auto;padding:0 24px 48px}.taxonomy-header{gap:12px;margin-bottom:28px;display:grid}.taxonomy-back-link{width:fit-content;color:var(--muted);transition:color var(--transition-fast);font-size:.9rem;font-weight:600;text-decoration:none}.taxonomy-back-link:before{content:"←";margin-right:.45em}.taxonomy-back-link:hover{color:var(--accent-blue)}.taxonomy-kicker{border:1px solid color-mix(in srgb, var(--accent-blue) 35%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-blue) 8%, transparent);width:fit-content;color:var(--accent-blue);letter-spacing:0;padding:.25rem .6rem;font-size:.78rem;font-weight:700}.taxonomy-page--tags .taxonomy-kicker{border-color:color-mix(in srgb, var(--accent-red) 35%, transparent);background:color-mix(in srgb, var(--accent-red) 8%, transparent);color:var(--accent-red)}.taxonomy-title{font-family:var(--font-display);letter-spacing:0;margin:0;font-size:clamp(2.25rem,5vw,4rem);font-weight:700;line-height:1.08}.taxonomy-description{max-width:680px;color:var(--muted);margin:0;font-size:1rem;line-height:1.75}.taxonomy-summary{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-glass);width:fit-content;box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);align-items:baseline;gap:8px;padding:.7rem .95rem;display:inline-flex}.taxonomy-summary__count{font-family:var(--font-display);font-size:1.8rem;font-weight:700;line-height:1}.taxonomy-summary__label{color:var(--muted);font-size:.9rem}.taxonomy-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.taxonomy-chip,.taxonomy-rail__item{border:1px solid var(--panel-border);background:var(--panel-glass);color:inherit;backdrop-filter:var(--panel-blur);transition:transform .35s var(--curve-lift), border-color .25s var(--curve-snap), background-color .25s var(--curve-snap), box-shadow .45s var(--curve-delicate);text-decoration:none}.taxonomy-chip{border-radius:var(--radius-lg);min-height:96px;box-shadow:var(--panel-shadow);flex-direction:column;justify-content:space-between;gap:18px;padding:18px;display:flex;position:relative;overflow:hidden}.taxonomy-chip:before{content:"";background:var(--accent-blue);width:4px;position:absolute;inset:0 auto 0 0}.taxonomy-page--tags .taxonomy-chip:before{background:var(--accent-red)}.taxonomy-chip:hover,.taxonomy-rail__item:hover{transform:var(--lift-sm);border-color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 8%, var(--panel-glass));box-shadow:var(--shadow-lift-sm)}.taxonomy-page--tags .taxonomy-chip:hover,.taxonomy-page--tags .taxonomy-rail__item:hover{border-color:var(--accent-red);background:color-mix(in srgb, var(--accent-red) 8%, var(--panel-glass))}.taxonomy-chip__name{font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.45rem;font-weight:700;line-height:1.2}.taxonomy-chip__count{border-radius:var(--radius-pill);width:fit-content;color:var(--muted);font-size:.85rem;font-weight:600}.taxonomy-rail{scrollbar-width:none;gap:10px;margin-bottom:28px;padding-bottom:4px;display:flex;overflow-x:auto}.taxonomy-rail::-webkit-scrollbar{display:none}.taxonomy-rail__item{border-radius:var(--radius-pill);flex:none;align-items:center;gap:10px;max-width:260px;min-height:40px;padding:.45rem .75rem;font-size:.9rem;font-weight:600;display:inline-flex}.taxonomy-rail__item span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.taxonomy-rail__item span:last-child{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--fg) 8%, transparent);min-width:1.55rem;height:1.55rem;color:var(--muted);place-items:center;font-size:.75rem;display:inline-grid}.taxonomy-rail__item--active{border-color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 12%, var(--panel-glass));color:var(--accent-blue)}.taxonomy-page--tags .taxonomy-rail__item--active{border-color:var(--accent-red);background:color-mix(in srgb, var(--accent-red) 12%, var(--panel-glass));color:var(--accent-red)}.taxonomy-post-list{margin-top:0}.taxonomy-empty{color:var(--muted);margin:0;font-size:1rem}@media (width<=768px){.taxonomy-page__inner{padding:0 16px 40px}.taxonomy-grid{grid-template-columns:1fr}.taxonomy-chip{min-height:84px}}@media (prefers-reduced-motion:reduce){.taxonomy-chip,.taxonomy-rail__item{transition:none}.taxonomy-chip:hover,.taxonomy-rail__item:hover{transform:none}}.search-page__inner{padding-bottom:56px}.search-header{margin-bottom:24px}.search-panel{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-glass);box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);gap:10px;margin-bottom:18px;padding:16px;display:grid}.search-label{color:var(--muted);font-size:.82rem;font-weight:700}.search-control{border:1px solid color-mix(in srgb, var(--panel-border) 70%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg) 70%, transparent);min-height:56px;transition:border-color .25s var(--curve-snap), box-shadow .25s var(--curve-snap), background-color .25s var(--curve-snap);align-items:center;gap:12px;padding:0 12px;display:flex}.search-control:focus-within{border-color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 5%, var(--panel-glass));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-blue) 18%, transparent)}.search-control__icon{color:var(--accent-blue);font-size:1.05rem}.search-input{min-width:0;color:var(--fg);font:600 1.05rem/1.4 var(--font-ui);background:0 0;border:0;outline:0;flex:1}.search-input::placeholder{color:color-mix(in srgb, var(--muted) 76%, transparent)}.search-input::-webkit-search-cancel-button{appearance:none}.search-clear,.search-empty__button{border:1px solid color-mix(in srgb, var(--accent-blue) 45%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent-blue) 8%, transparent);min-height:36px;color:var(--accent-blue);font:700 .88rem/1 var(--font-ui);cursor:pointer;transition:transform .3s var(--curve-lift), background-color .25s var(--curve-snap), border-color .25s var(--curve-snap), box-shadow .4s var(--curve-delicate);padding:0 14px}.search-clear:hover,.search-empty__button:hover{transform:var(--lift-sm);border-color:var(--accent-blue);background:color-mix(in srgb, var(--accent-blue) 14%, transparent);box-shadow:var(--shadow-lift-sm)}.search-help{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.search-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 22px;font-size:.95rem;font-weight:600;display:flex}.search-summary span:first-child{color:var(--fg)}.search-results .search-result{break-inside:avoid;margin-bottom:24px;display:block}.search-results .search-result .post-card{margin-bottom:0}.search-snippet{border-left:3px solid var(--accent-blue);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:color-mix(in srgb, var(--accent-blue) 7%, var(--panel-glass));color:var(--muted);margin-top:10px;padding:10px 12px}.search-snippet__label{color:var(--accent-blue);margin-bottom:4px;font-size:.78rem;font-weight:800;display:block}.search-snippet p{margin:0;font-size:.92rem;line-height:1.65}.search-snippet mark{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent-blue) 22%, transparent);color:inherit;padding:.02em .18em;font-weight:800}.search-empty{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-glass);width:min(520px,100%);box-shadow:var(--panel-shadow);color:var(--muted);backdrop-filter:var(--panel-blur);gap:14px;margin:0;padding:22px;display:grid}.search-empty p{margin:0}.search-empty__button{width:fit-content}[data-theme=dark] .search-panel,[data-theme=dark] .search-empty{background:#141414b8;border-color:#ffffff1f}[data-theme=dark] .search-control{background:#ffffff0a;border-color:#ffffff24}[data-theme=dark] .search-snippet{background:color-mix(in srgb, var(--accent-blue) 12%, #141414b8)}@media (width<=768px){.search-page__inner{padding-bottom:44px}.search-panel{padding:14px}.search-control{gap:10px;min-height:52px}.search-input{font-size:1rem}}@media (width<=480px){.search-control{flex-wrap:wrap;padding:10px 12px}.search-control__icon{align-self:center}.search-input{flex:calc(100% - 32px)}.search-clear{width:100%}}@media (prefers-reduced-motion:reduce){.search-control,.search-clear,.search-empty__button{transition:none}.search-clear:hover,.search-empty__button:hover{transform:none}}.topics-header{margin-bottom:34px}.topics-kicker{border-color:color-mix(in srgb, var(--accent-yellow) 55%, transparent);background:color-mix(in srgb, var(--accent-yellow) 16%, transparent);color:color-mix(in srgb, var(--fg) 82%, var(--accent-yellow))}.topics-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:680px;margin-top:4px;display:grid}.topics-stat{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-glass);min-height:76px;box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);flex-direction:column;justify-content:center;gap:6px;padding:14px 16px;display:flex}.topics-stat__value{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1}.topics-stat__label{color:var(--muted);font-size:.85rem;font-weight:600}.topics-sections{gap:42px;display:grid}.topics-section{gap:16px;display:grid}.topics-section__header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;display:flex}.topics-section__header h3{font-family:var(--font-display);margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.topics-section__header span{color:var(--muted);white-space:nowrap;font-size:.9rem}.topics-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}@media (width<=768px){.topics-stats{grid-template-columns:1fr}.topics-section__header{flex-direction:column;align-items:flex-start;gap:6px}.topics-section__header span{white-space:normal}}.archives-page{color:var(--fg);font-family:var(--font-ui)}.archives-page__inner{width:min(1180px,100%);margin:0 auto;padding:0 24px 96px}.archives-index-header{gap:14px;margin-bottom:52px;padding-bottom:34px;display:grid;position:relative}.archives-index-header:after{content:"";background:linear-gradient(90deg, var(--accent-blue) 0%, var(--accent-blue) 26%, var(--accent-red) 26%, var(--accent-red) 52%, var(--accent-yellow) 52%, var(--accent-yellow) 72%, color-mix(in srgb, var(--panel-border) 70%, transparent) 72%);height:2px;position:absolute;inset:auto 0 0}.archives-index-header__eyebrow,.archives-section-heading p{width:fit-content;color:var(--muted);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:9px;margin:0;font-size:.72rem;font-weight:700;display:inline-flex}.archives-index-header__eyebrow:before,.archives-section-heading p:before{content:"";background:var(--accent-blue);width:24px;height:2px}.archives-index-header h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(3rem,9vw,7rem);font-weight:700;line-height:.86}.archives-index-header__summary{max-width:44rem;color:var(--muted);margin:6px 0 0;font-size:1rem;line-height:1.75}.archives-stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px;display:grid}.archives-stat-card{background:var(--panel-glass);border:1px solid var(--panel-border);border-radius:var(--radius-xl);min-height:96px;box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);transition:transform .35s var(--curve-lift), border-color .3s var(--curve-snap), box-shadow .45s var(--curve-delicate);flex-direction:column;justify-content:center;gap:8px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.archives-stat-card:before{content:"";background:var(--accent-blue);opacity:.9;height:3px;position:absolute;inset:0 0 auto}.archives-stat-card:nth-child(2):before{background:var(--accent-red)}.archives-stat-card:nth-child(3):before{background:var(--accent-yellow)}.archives-stat-card:hover{transform:var(--lift);border-color:color-mix(in srgb, var(--accent-blue) 55%, var(--panel-border));box-shadow:var(--shadow-lift)}.archives-stat-card__value{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2rem,3.6vw,2.6rem);font-weight:700;line-height:.95}.archives-stat-card__label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.74rem;font-weight:700}.archives-topics{border-bottom:1px solid var(--panel-border);gap:32px;margin-bottom:46px;padding-bottom:42px;display:grid}.archives-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.archives-section-heading>div{gap:8px;display:grid}.archives-section-heading h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,4.5vw,3rem);font-weight:700;line-height:.95}.archives-section-heading>span{color:var(--muted);flex:none;font-size:.84rem}.archives-topic-group{gap:14px;display:grid}.archives-topic-group__heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.archives-topic-group__heading h4{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:9px;margin:0;font-size:.76rem;font-weight:700;display:inline-flex}.archives-topic-group__heading h4:before{content:"";background:var(--accent-blue);border-radius:2px;width:8px;height:8px}.archives-topic-group--tags .archives-topic-group__heading h4:before{background:var(--accent-red)}.archives-topic-group__heading a,.archives-active-filter a{color:var(--muted);transition:color .2s var(--curve-snap);font-size:.78rem;font-weight:600;text-decoration:none}.archives-topic-group__heading a:hover,.archives-active-filter a:hover{color:var(--accent-blue)}.archives-category-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.archives-category-card,.archives-tag-term,.archives-topics-expand,.archives-filter-reset,.archives-active-filter button,.archives-year-index button,.archives-empty--filtered button{color:inherit;font:inherit;cursor:pointer}.archives-category-card{text-align:left;background:var(--panel-glass);border:1px solid var(--panel-border);border-radius:var(--radius-lg);min-height:58px;box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);transition:transform .35s var(--curve-lift), border-color .3s var(--curve-snap), background-color .3s var(--curve-snap), box-shadow .45s var(--curve-delicate);align-items:center;gap:12px;padding:14px 16px 14px 22px;display:flex;position:relative;overflow:hidden}.archives-category-card__bar{background:var(--card-accent,var(--accent-blue));width:5px;transition:width .26s var(--curve-delicate), box-shadow .26s var(--curve-snap);position:absolute;inset:0 auto 0 0}.archives-category-card__name{min-width:0;font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.14rem;font-weight:700;overflow:hidden}.archives-category-card__count{color:var(--muted);font-family:var(--font-mono);flex:none;font-size:.76rem;font-weight:700}.archives-category-card:hover{transform:var(--lift-sm);border-color:color-mix(in srgb, var(--card-accent,var(--accent-blue)) 55%, var(--panel-border));box-shadow:var(--shadow-lift-sm)}.archives-category-card:hover .archives-category-card__bar{width:9px;box-shadow:0 0 16px var(--card-accent,var(--accent-blue))}.archives-category-card.is-active{border-color:var(--card-accent,var(--accent-blue));background:color-mix(in srgb, var(--card-accent,var(--accent-blue)) 12%, var(--panel-glass))}.archives-category-card.is-active .archives-category-card__bar{width:9px;box-shadow:0 0 16px var(--card-accent,var(--accent-blue))}.archives-category-card.is-active .archives-category-card__count{color:var(--fg)}.archives-tag-index{flex-wrap:wrap;gap:9px;display:flex}.archives-tag-term{background:var(--panel-glass);border:1px solid var(--panel-border);border-radius:var(--radius-pill);min-height:34px;color:var(--muted);backdrop-filter:var(--panel-blur);transition:transform .3s var(--curve-lift), border-color .22s var(--curve-snap), background-color .22s var(--curve-snap), color .22s var(--curve-snap), box-shadow .4s var(--curve-delicate);align-items:center;gap:6px;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.archives-tag-term span{font-family:var(--font-mono);font-size:.8rem}.archives-tag-term sup{color:var(--muted);font-family:var(--font-mono);font-size:.62rem;font-weight:700}.archives-tag-term:hover{transform:var(--lift-sm);border-color:color-mix(in srgb, var(--accent-red) 50%, var(--panel-border));color:var(--fg);box-shadow:var(--shadow-lift-sm)}.archives-tag-term.is-active{color:#fff;background:var(--accent-red);border-color:var(--accent-red);box-shadow:0 6px 18px color-mix(in srgb, var(--accent-red) 40%, transparent)}.archives-tag-term.is-active sup{color:#ffffffbf}.archives-topics-expand{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);transition:color .2s var(--curve-snap);background:0 0;border:0;border-bottom:2px solid;justify-self:start;padding:5px 0;font-size:.78rem;font-weight:700}.archives-topics-expand:hover{color:var(--accent-blue)}.archives-result-summary{color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;margin:0 0 30px;font-size:.8rem}.archives-filter-bar{background:color-mix(in srgb, var(--accent-blue) 6%, var(--panel-glass));border:1px solid color-mix(in srgb, var(--accent-blue) 30%, var(--panel-border));border-radius:var(--radius-xl);box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);gap:14px;margin:0 0 32px;padding:16px 18px;display:grid}.archives-filter-bar__summary{color:var(--fg);font-family:var(--font-mono);letter-spacing:.02em;font-size:.8rem;font-weight:700}.archives-filter-bar__items{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.archives-active-filter{align-items:center;gap:10px;display:inline-flex}.archives-active-filter button{background:var(--panel-glass);border:1px solid var(--panel-border);border-radius:var(--radius-pill);transition:background-color .2s var(--curve-snap), border-color .2s var(--curve-snap), color .2s var(--curve-snap);align-items:center;gap:8px;padding:5px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.archives-active-filter button span{color:var(--accent-red);font-size:1.05rem;line-height:0}.archives-active-filter button:hover{color:#fff;background:var(--accent-red);border-color:var(--accent-red)}.archives-active-filter button:hover span{color:#fff}.archives-filter-reset{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;transition:color .2s var(--curve-snap);background:0 0;border:0;border-bottom:2px solid;margin-left:auto;padding:3px 0;font-size:.76rem;font-weight:700}.archives-filter-reset:hover{color:var(--accent-red)}.archives-year-index{z-index:12;background:color-mix(in srgb, var(--bg) 82%, transparent);border:1px solid var(--panel-border);border-radius:var(--radius-pill);width:max-content;max-width:100%;box-shadow:var(--panel-shadow);backdrop-filter:blur(20px)saturate(180%);scrollbar-width:none;align-items:center;gap:4px;margin:0 0 48px;padding:8px 10px;display:flex;position:sticky;top:12px;overflow-x:auto}.archives-year-index::-webkit-scrollbar{display:none}.archives-year-index>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:0 12px 0 8px;font-size:.68rem;font-weight:700}.archives-year-index button{border-radius:var(--radius-pill);min-width:3.4rem;color:var(--muted);font-family:var(--font-mono);transition:color .2s var(--curve-snap), background-color .2s var(--curve-snap);background:0 0;border:0;flex:none;padding:6px 12px;font-size:.84rem;font-weight:700}.archives-year-index button:hover{color:var(--fg);background:color-mix(in srgb, var(--fg) 8%, transparent)}.archives-year-index button.is-active{color:#fff;background:var(--accent-blue)}.archives-timeline{gap:72px;display:grid}.archives-year{grid-template-columns:clamp(140px,18vw,200px) minmax(0,1fr);align-items:start;gap:48px;scroll-margin-top:96px;display:grid}.archives-year__marker{border:0;justify-items:start;gap:10px;padding:0;display:grid;position:sticky;top:96px}.archives-year__marker span{font-family:var(--font-display);letter-spacing:-.05em;background:linear-gradient(160deg, var(--fg) 30%, color-mix(in srgb, var(--fg) 55%, transparent));-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(2.8rem,6.5vw,5rem);font-weight:700;line-height:.82}.archives-year__marker small{border-radius:var(--radius-pill);color:#fff;background:var(--accent-blue);font-family:var(--font-mono);letter-spacing:.05em;align-items:center;gap:7px;padding:4px 12px;font-size:.68rem;font-weight:700;display:inline-flex}.archives-year:nth-of-type(3n+2) .archives-year__marker small{background:var(--accent-red)}.archives-year:nth-of-type(3n) .archives-year__marker small{color:#111;background:var(--accent-yellow)}.archives-year--undated .archives-year__marker span{letter-spacing:-.02em;-webkit-text-fill-color:var(--muted);background:0 0;font-size:clamp(1.6rem,3.8vw,2.6rem);line-height:1}.archives-year--undated .archives-year__marker small{color:#fff;background:var(--muted)}.archives-year__months{gap:42px;padding-left:30px;display:grid;position:relative}.archives-year__months:before{content:"";background:linear-gradient(to bottom, var(--accent-blue), color-mix(in srgb, var(--panel-border) 60%, transparent) 60%, transparent);width:2px;position:absolute;top:6px;bottom:6px;left:4px}.archives-month{gap:16px;display:grid;position:relative}.archives-month:before{content:"";background:var(--bg);border:2px solid var(--accent-blue);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg);transition:background-color .25s var(--curve-snap), transform .25s var(--curve-delicate), box-shadow .25s var(--curve-snap);z-index:1;border-radius:50%;position:absolute;top:9px;left:-31px}.archives-month:hover:before{background:var(--accent-blue);box-shadow:0 0 0 4px var(--bg), 0 0 14px var(--accent-blue);transform:scale(1.3)}.archives-year--undated .archives-month:before{border-color:var(--accent-red)}.archives-year--undated .archives-month:hover:before{background:var(--accent-red);box-shadow:0 0 0 4px var(--bg), 0 0 14px var(--accent-red)}.archives-month__header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:baseline;gap:16px;padding:0 2px 12px;display:flex}.archives-month__header h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.6rem;font-weight:700;line-height:1}.archives-month__header span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;flex:none;font-size:.72rem;font-weight:700}.archives-month__posts{gap:12px;display:grid}.archives-post,.archives-post:not(.archives-post--has-cover),.archives-post--has-cover{color:inherit;background:var(--panel-glass);border:1px solid var(--panel-border);border-radius:var(--radius-xl);box-shadow:var(--panel-shadow);backdrop-filter:var(--panel-blur);transition:transform .35s var(--curve-lift), border-color .28s var(--curve-snap), box-shadow .45s var(--curve-delicate);grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;padding:16px 18px;text-decoration:none;display:grid;position:relative;overflow:hidden}.archives-post--has-cover{grid-template-columns:minmax(0,1fr) 124px;gap:18px}.archives-post:before{content:"";background:var(--accent-blue);transform-origin:top;width:4px;transition:transform .28s var(--curve-delicate);position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.archives-post--undated:before{background:var(--accent-red)}.archives-post:hover,.archives-post--undated:hover{transform:var(--lift-md);border-color:color-mix(in srgb, var(--accent-blue) 45%, var(--panel-border));box-shadow:var(--shadow-lift)}.archives-post--undated:hover{border-color:color-mix(in srgb, var(--accent-red) 45%, var(--panel-border))}.archives-post:hover:before{transform:scaleY(1)}.archives-post__body{gap:7px;min-width:0;padding-left:4px;display:grid}.archives-post__meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.72rem;font-weight:700;line-height:1.4;display:flex}.archives-post__meta time{color:var(--fg)}.archives-post__meta span:not(:first-child):before{content:"";background:var(--accent-red);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin-right:12px;display:inline-block}.archives-post__body h4{color:var(--fg);font-family:var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere;transition:color .2s var(--curve-snap);margin:0;font-size:clamp(1.22rem,2.2vw,1.6rem);font-weight:700;line-height:1.22}.archives-post:hover .archives-post__body h4{color:var(--accent-blue)}.archives-post--undated:hover .archives-post__body h4{color:var(--accent-red)}.archives-post__body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.6;display:-webkit-box;overflow:hidden}.archives-post__tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.archives-post__tags span{color:var(--muted);background:color-mix(in srgb, var(--fg) 6%, transparent);border-radius:var(--radius-pill);font-family:var(--font-mono);padding:2px 9px;font-size:.68rem;font-weight:700}.archives-post__cover{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--fg) 6%, transparent);align-self:stretch;min-height:88px;overflow:hidden}.archives-post__cover img{object-fit:cover;filter:saturate(.85)contrast(1.02);width:100%;height:100%;transition:transform .42s var(--curve-delicate), filter .42s var(--curve-snap);display:block}.archives-post:hover .archives-post__cover img{filter:saturate(1.05);transform:scale(1.07)}.archives-empty{color:var(--muted);text-align:center;background:var(--panel-glass);border:1px dashed var(--panel-border);border-radius:var(--radius-xl);backdrop-filter:var(--panel-blur);margin:0;padding:44px 28px}.archives-empty--filtered{justify-items:center;gap:16px;display:grid}.archives-empty p{margin:0;font-size:.96rem}.archives-empty--filtered button{color:#111;background:var(--accent-yellow);border-radius:var(--radius-pill);font-family:var(--font-mono);box-shadow:0 6px 18px color-mix(in srgb, var(--accent-yellow) 40%, transparent);transition:transform .3s var(--curve-lift), box-shadow .4s var(--curve-delicate);border:0;padding:9px 20px;font-size:.8rem;font-weight:700}.archives-empty--filtered button:hover{transform:var(--lift-sm);box-shadow:0 10px 24px color-mix(in srgb, var(--accent-yellow) 50%, transparent)}.archives-post--animated{opacity:0;transition:opacity .5s var(--curve-delicate), transform .5s var(--curve-delicate);transform:translateY(18px)}.archives-post--animated.is-visible{opacity:1;transform:translateY(0)}.archives-category-card:focus-visible,.archives-tag-term:focus-visible,.archives-topics-expand:focus-visible,.archives-active-filter button:focus-visible,.archives-active-filter a:focus-visible,.archives-filter-reset:focus-visible,.archives-year-index button:focus-visible,.archives-post:focus-visible,.archives-empty--filtered button:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px}[data-theme=dark] .archives-stat-card,[data-theme=dark] .archives-category-card,[data-theme=dark] .archives-tag-term,[data-theme=dark] .archives-post,[data-theme=dark] .archives-empty{background:#141414b8;border-color:#ffffff1f}[data-theme=dark] .archives-stat-card:hover,[data-theme=dark] .archives-post:hover{border-color:#7db4ff80}[data-theme=dark] .archives-post--undated:hover{border-color:#ff7d7d80}[data-theme=dark] .archives-tag-term{background:0 0}[data-theme=dark] .archives-tag-term:hover,[data-theme=dark] .archives-post__cover{background:#ffffff0f}@media (width<=900px){.archives-year{grid-template-columns:1fr;gap:22px}.archives-year__marker{align-items:center;gap:16px;display:flex;position:static}.archives-year__marker span{line-height:.9}.archives-year__months{padding-left:26px}.archives-month:before{left:-27px}}@media (width<=768px){.archives-page__inner{padding:0 16px 64px}.archives-index-header{margin-bottom:38px}.archives-stats-row{grid-template-columns:1fr}.archives-section-heading{flex-direction:column;align-items:flex-start;gap:10px}.archives-year-index{width:100%;margin-bottom:36px;top:8px}.archives-timeline{gap:52px}.archives-year__months{gap:34px}.archives-post,.archives-post:not(.archives-post--has-cover),.archives-post--has-cover{grid-template-columns:minmax(0,1fr);gap:12px}.archives-post__cover{grid-row:1;width:100%;height:156px;min-height:0}.archives-post__body{grid-row:2}}@media (width<=520px){.archives-category-grid{grid-template-columns:1fr}.archives-filter-bar__items{flex-direction:column;align-items:flex-start;gap:12px}.archives-filter-reset{margin-left:0}.archives-post__body p{-webkit-line-clamp:3}}@media (prefers-reduced-motion:reduce){.archives-stat-card,.archives-category-card,.archives-category-card__bar,.archives-tag-term,.archives-post,.archives-post:before,.archives-post__body h4,.archives-post__cover img,.archives-month:before,.archives-empty--filtered button{transition:none}.archives-stat-card:hover,.archives-category-card:hover,.archives-tag-term:hover,.archives-post:hover,.archives-empty--filtered button:hover,.archives-post:hover .archives-post__cover img,.archives-month:hover:before{transform:none}.archives-post--animated{opacity:1;transform:none}}:root{--toc-panel-bg:#fffef7e0;--toc-panel-width:220px}[data-theme=dark]{--toc-panel-bg:var(--panel-glass)}.article-toc{width:0;height:0;z-index:calc(var(--z-dock,10000) + 10);pointer-events:none;position:fixed;top:0;left:0}.article-toc__panel{pointer-events:auto;border-radius:var(--radius-xl);background:var(--toc-panel-bg);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);color:var(--fg);font-family:var(--font-ui);overflow-x:hidden}.article-toc__panel--fixed{top:50%;left:var(--toc-panel-left,0);width:var(--toc-panel-width,240px);max-height:calc(100dvh - 180px);z-index:var(--z-float,1500);position:fixed;overflow-y:auto;transform:translateY(-50%)}.toc-panel-enter-from,.toc-panel-leave-to{opacity:0;transform:translateY(-50%)translate(20px)}.toc-panel-enter-to,.toc-panel-leave-from{opacity:1;transform:translateY(-50%)translate(0)}.toc-panel-enter-active,.toc-panel-leave-active{transition:transform .25s var(--curve-snap), opacity .25s var(--curve-snap)}.article-toc__header{z-index:2;background:color-mix(in srgb, var(--toc-panel-bg) 72%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--panel-border) 50%, transparent);justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:sticky;top:0}.article-toc__title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}.article-toc__close{border-radius:var(--radius-md);width:34px;height:34px;color:var(--fg);cursor:pointer;transition:background-color .2s var(--curve-snap);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.article-toc__close:hover{background:color-mix(in srgb, var(--fg) 8%, transparent)}.article-toc__list{margin:0;padding:10px 14px 14px;list-style:none;position:relative}.article-toc__active-marker{height:var(--toc-active-marker-height,0);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent-blue) 10%, transparent);opacity:var(--toc-active-marker-opacity,0);pointer-events:none;transform:translateY(var(--toc-active-marker-y,0));transition:transform .22s var(--curve-snap), height .22s var(--curve-snap), opacity .14s var(--curve-snap);will-change:transform, height;position:absolute;top:0;left:8px;right:8px}.article-toc__active-marker:before{content:"";background:var(--accent-blue);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:0}.article-toc__item{z-index:1;border-radius:var(--radius-sm);opacity:var(--toc-item-opacity,1);transition:opacity .2s var(--curve-snap), background-color .2s var(--curve-snap);padding:3px 0 3px 12px;font-size:.9rem;line-height:1.35;position:relative}.article-toc__item:hover{background:color-mix(in srgb, var(--fg) 4%, transparent);opacity:1}.article-toc__item--level-3{padding-left:22px;font-size:.84rem}.toc-subitem-enter-active,.toc-subitem-leave-active{transform-origin:0 0;transition:max-height .22s var(--curve-snap), padding-top .22s var(--curve-snap), padding-bottom .22s var(--curve-snap), opacity .14s var(--curve-press), transform .22s var(--curve-snap);will-change:max-height, opacity, transform;max-height:48px;overflow:hidden}.toc-subitem-enter-from,.toc-subitem-leave-to{opacity:0;max-height:0;padding-top:0;padding-bottom:0;transform:translateY(-6px)scale(.985)}.toc-subitem-move{transition:transform .24s var(--curve-snap)}.article-toc__item--active .article-toc__link{color:var(--accent-blue);font-weight:700}.article-toc__link{text-overflow:ellipsis;white-space:nowrap;min-height:34px;color:inherit;transition:color .18s var(--curve-snap);align-items:center;margin:-2px 0;padding:2px 0;text-decoration:none;display:flex;overflow:hidden}.article-toc__capsule{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:calc(var(--z-dock,10000) + 10);pointer-events:auto;border-radius:var(--radius-pill);border:1px solid var(--panel-border);background:var(--toc-panel-bg);height:44px;-webkit-backdrop-filter:var(--panel-blur);box-shadow:var(--panel-shadow);color:var(--fg);font-family:var(--font-ui);cursor:pointer;align-items:center;gap:8px;max-width:260px;padding:0 16px;font-size:.85rem;font-weight:600;display:flex;position:fixed}.toc-capsule-enter-from,.toc-capsule-leave-to{opacity:0;transform:scale(.92)translateY(8px)}.toc-capsule-enter-to,.toc-capsule-leave-from{opacity:1;transform:scale(1)translateY(0)}.toc-capsule-enter-active,.toc-capsule-leave-active{transition:transform .25s var(--curve-snap), opacity .25s var(--curve-snap)}.article-toc__capsule-text{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.article-toc__overlay{z-index:calc(var(--z-dock,10000) + 5);backdrop-filter:blur(2px);pointer-events:auto;opacity:1;background:#00000040;position:fixed;inset:0}.toc-overlay-enter-from,.toc-overlay-leave-to{opacity:0}.toc-overlay-enter-to,.toc-overlay-leave-from{opacity:1}.toc-overlay-enter-active,.toc-overlay-leave-active{transition:opacity .2s var(--curve-snap)}.article-toc__panel--drawer{top:env(safe-area-inset-top,0);right:env(safe-area-inset-right,0);bottom:env(safe-area-inset-bottom,0);width:min(360px,82vw);max-width:360px;max-height:100dvh;z-index:calc(var(--z-dock,10000) + 10);border-top:none;border-bottom:none;border-right:none;border-radius:0;position:fixed;overflow-y:auto;transform:translate(0)}.article-toc__panel--drawer::-webkit-scrollbar{display:none}.article-toc__panel--fixed::-webkit-scrollbar{display:none}.article-toc__panel--drawer,.article-toc__panel--fixed{-ms-overflow-style:none;scrollbar-width:none}.toc-drawer-enter-from,.toc-drawer-leave-to{transform:translate(100%)}.toc-drawer-enter-to,.toc-drawer-leave-from{transform:translate(0)}.toc-drawer-enter-active,.toc-drawer-leave-active{transition:transform .25s var(--curve-snap)}.article-toc__capsule:focus-visible,.article-toc__close:focus-visible,.article-toc__link:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){.article-toc__panel,.article-toc__capsule,.article-toc__link,.article-toc__item,.article-toc__active-marker,.toc-subitem-enter-active,.toc-subitem-leave-active,.toc-subitem-move{will-change:auto;transition:none;animation:none}.toc-panel-enter-active,.toc-panel-leave-active,.toc-capsule-enter-active,.toc-capsule-leave-active,.toc-overlay-enter-active,.toc-overlay-leave-active,.toc-drawer-enter-active,.toc-drawer-leave-active{transition:none}}.article-toc__capsule-progress{text-align:center;min-width:2.4em;color:var(--accent-blue,#3e59ff);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem;font-weight:700}.article-toc__item.has-children .article-toc__link{padding-right:26px}.article-toc__toggle{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--muted,#666);cursor:pointer;opacity:.55;transition:opacity .2s var(--curve-snap), background-color .2s var(--curve-snap);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.article-toc__toggle:hover,.article-toc__toggle:focus-visible{opacity:1;background:color-mix(in srgb, var(--fg) 8%, transparent);outline:none}.article-toc__item--active .article-toc__toggle{color:var(--accent-blue,#3e59ff);opacity:.9}.article-toc__toggle svg{transition:transform .2s var(--curve-snap)}.article-toc__toggle--collapsed svg{transform:rotate(-90deg)}.article-toc__toggle:focus-visible{outline:2px solid var(--accent-blue,#3e59ff);outline-offset:1px}.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}
