html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--np-bg:#f8f7f4;--np-bg-tint:#f1efe9;--np-surface:#fff;--np-surface-muted:#f0ede6;--np-text:#1b1c1e;--np-text-muted:#3f4248;--np-text-faint:#7f8187;--np-border:#e6e3da;--np-border-strong:#d3cfc3;--np-accent:#1b1c1e;--np-accent-strong:#000;--np-accent-soft:#efece4;--np-accent-line:#1b1c1e38;--np-brand:#b0532b;--np-brand-soft:#b0532b1f;--np-shadow-sm:0 1px 2px #1418200d, 0 1px 3px #1418200d;--np-shadow:0 6px 18px #14182012, 0 2px 6px #1418200a;--np-shadow-lg:0 22px 48px #14182021, 0 8px 18px #1418200f;--np-nav-bg:#f8f7f4b8;--np-nav-pill-bg:#ffffffd9;--np-focus-ring:#1b1c1e52;--np-code-bg:#16181d;--np-code-text:#f5f7fb;--np-inline-code:#a8482a;--np-button-text-on-accent:#fff;--np-radius-sm:10px;--np-radius:16px;--np-radius-lg:22px;--np-page-glow:radial-gradient(62% 100% at 50% -8%, #cc744229, #cc744200 62%);--np-glass-tint:#ffffff80;--np-glass-sheen:linear-gradient(115deg, #ffffff80, #ffffff1f 38%, #fff0 62%, #ffffff42);--np-glass-rim-top:#ffffffeb;--np-glass-rim-bottom:#ffffff38;--np-glass-backdrop:saturate(190%) blur(26px) brightness(1.06);--np-glass-inner-glow:inset 0 1px 0 #ffffff73, inset 0 -1px 1px #ffffff1f, inset 0 0 18px #ffffff1f;--np-hairline:color-mix(in srgb, var(--np-border) 72%, transparent);--np-edge:color-mix(in srgb, var(--np-border) 82%, transparent);--np-ease-out:cubic-bezier(.22, 1, .36, 1);--np-ease-out-soft:cubic-bezier(.16, 1, .3, 1);--np-ease-in-out:cubic-bezier(.76, 0, .24, 1);--np-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--np-t-fast:.22s;--np-t-base:.4s;--np-t-slow:.7s;--np-floating-edge:clamp(1rem, 4vw, 2rem);--np-radius-xs:10px;--np-tertiary:var(--np-text-faint);--np-secondary:var(--np-text-muted);--np-shadow-soft:var(--np-shadow-sm)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--np-bg:#0e1116;--np-bg-tint:#141922;--np-surface:#161b22;--np-surface-muted:#1e242d;--np-text:#eef1f6;--np-text-muted:#a3acb8;--np-text-faint:#79828f;--np-border:#28303b;--np-border-strong:#3a444f;--np-accent:#f0f2f6;--np-accent-strong:#fff;--np-accent-soft:#1e242d;--np-accent-line:#f0f2f642;--np-brand:#e7a37c;--np-brand-soft:#e7a37c29;--np-shadow-sm:0 1px 2px #0006;--np-shadow:0 8px 22px #00000059;--np-shadow-lg:0 24px 50px #00000080;--np-nav-bg:#0e1116b3;--np-nav-pill-bg:#1c222bd1;--np-focus-ring:#f0f2f666;--np-code-bg:#0a0e13;--np-code-text:#f3f7fb;--np-inline-code:#f0a98a;--np-button-text-on-accent:#0a1322;--np-page-glow:radial-gradient(62% 100% at 50% -8%, #e7a37c1f, #e7a37c00 62%);--np-glass-tint:#13192180;--np-glass-sheen:linear-gradient(115deg, #ffffff21, #ffffff08 38%, #fff0 62%, #ffffff12);--np-glass-rim-top:#ffffff47;--np-glass-rim-bottom:#ffffff0f;--np-glass-backdrop:saturate(160%) blur(26px);--np-glass-inner-glow:inset 0 1px 0 #ffffff24, inset 0 -1px 1px #ffffff0d, inset 0 0 18px #ffffff0d}*{box-sizing:border-box}html{color:var(--np-text);background:var(--np-bg);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;scroll-padding-top:6.5rem;font-family:Inter,Noto Sans SC,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.7}body{flex-direction:column;min-width:320px;min-height:100vh;margin:0;display:flex;position:relative}body:before{content:"";background:var(--np-page-glow);z-index:-1;pointer-events:none;height:540px;position:fixed;inset:0 0 auto}main{flex:1;width:min(100% - 2.5rem,63rem);margin:0 auto;padding:7rem 0 5rem}.np-home-page main{padding-top:8.25rem}a{color:inherit;transition:color var(--np-t-fast) var(--np-ease-out);text-decoration:none}a:hover{color:var(--np-accent)}:focus-visible{outline:3px solid var(--np-focus-ring);outline-offset:3px;border-radius:4px}.skip-link{z-index:100;background:var(--np-accent);color:var(--np-button-text-on-accent);box-shadow:var(--np-shadow);transition:translate var(--np-t-fast) var(--np-ease-out);border-radius:999px;padding:.5rem 1.15rem;font-size:.9rem;font-weight:650;position:fixed;top:.85rem;left:50%;translate:-50% calc(-100% - 1.5rem)}.skip-link:focus-visible{outline-offset:2px;translate:-50%}img{max-width:100%}h1,h2,h3{letter-spacing:-.018em;text-wrap:balance;margin:0;font-weight:760;line-height:1.16}p{margin:0}::selection{background:var(--np-accent-soft);color:var(--np-accent-strong)}@supports (background:color-mix(in srgb, red 10%, transparent)){::selection{background:color-mix(in srgb, var(--np-brand) 22%, transparent);color:inherit}}*{scrollbar-width:thin;scrollbar-color:var(--np-border-strong) transparent}.np-post-content pre{scrollbar-color:#ffffff3d transparent}.np-nav{z-index:20;pointer-events:none;background:0 0;padding:.85rem 1rem;position:fixed;inset:0 0 auto;view-transition-name:none!important}.np-nav-pill{background:var(--np-nav-pill-bg);border:1px solid var(--np-border);width:fit-content;max-width:100%;box-shadow:var(--np-shadow);pointer-events:auto;border-radius:999px;align-items:center;gap:.15rem;margin:0 auto;padding:.3rem;display:flex;position:relative;overflow:visible;translate:0 -.18rem;view-transition-name:none!important}.np-nav-indicator{z-index:0;background:var(--np-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--np-accent) 12%, transparent);opacity:0;pointer-events:none;transform-origin:50%;will-change:transform;border-radius:999px;position:absolute;inset:50% auto auto 0;transform:translate(0)translateY(-50%)}.np-nav-pill.has-indicator .np-nav-indicator{opacity:1}.np-nav-pill.is-indicator-ready .np-nav-indicator{transition:transform .4s cubic-bezier(.16, 1, .3, 1), width .4s cubic-bezier(.16, 1, .3, 1), height .2s var(--np-ease-out), opacity .14s var(--np-ease-out)}.np-nav-pill>:not(.np-nav-indicator){z-index:1;position:relative}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.np-nav-pill{box-shadow:none;background:0 0;border-color:#0000}.np-nav-pill:after{content:"";z-index:0;border-radius:inherit;background:var(--np-glass-sheen), var(--np-glass-tint);-webkit-backdrop-filter:var(--np-glass-backdrop);backdrop-filter:var(--np-glass-backdrop);box-shadow:var(--np-glass-inner-glow), var(--np-shadow);pointer-events:none;position:absolute;inset:0}.np-nav-pill:before{content:"";z-index:0;border-radius:inherit;background:linear-gradient(180deg, var(--np-glass-rim-top), var(--np-glass-rim-bottom));-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.np-nav-pill a:hover,.np-nav-pill .np-nav-icon:hover{background:color-mix(in srgb, var(--np-surface-muted) 62%, transparent)}.np-nav-pill a.is-current,.np-nav-pill .np-nav-icon.is-current{background:color-mix(in srgb, var(--np-accent-soft) 78%, transparent)}}.np-nav-pill a{color:var(--np-text-muted);text-align:center;transition:color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out), scale var(--np-t-fast) var(--np-ease-spring);border-radius:999px;justify-content:center;align-items:center;padding:.42rem .95rem;font-size:.9rem;font-weight:600;line-height:normal;display:flex}.np-nav-pill a:active{scale:.94}.np-nav-pill a:hover{color:var(--np-text);background:var(--np-surface-muted)}.np-nav-pill a.is-current,.np-nav-pill a.is-pending{color:var(--np-accent);background:var(--np-accent-soft)}.np-nav-pill a[data-np-nav-route].is-current,.np-nav-pill a[data-np-nav-route].is-pending{background:0 0}.np-nav-sep{background:var(--np-border);width:1px;height:1.15rem;margin:0 .3rem}.np-nav-pill .np-nav-icon{width:2.2rem;height:2.2rem;color:var(--np-text-muted);cursor:pointer;transition:color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.np-nav-pill .np-nav-icon:hover{color:var(--np-text);background:var(--np-surface-muted)}.np-nav-pill .np-nav-icon.is-current{color:var(--np-accent);background:var(--np-accent-soft)}.np-nav-pill .np-nav-icon svg{transition:rotate var(--np-t-base) var(--np-ease-spring), scale var(--np-t-base) var(--np-ease-spring)}.np-nav-pill .np-nav-icon:hover svg{rotate:10deg}.np-nav-pill .np-nav-icon:active svg{scale:.82}.np-theme-toggle{place-items:center;position:relative;display:grid!important}.np-theme-toggle :is(.np-theme-moon,.np-theme-sun){will-change:opacity, rotate, scale;grid-area:1/1;transition:opacity .26s var(--np-ease-out), rotate .46s var(--np-ease-out-soft), scale .4s var(--np-ease-out-soft)!important}.np-theme-toggle .np-theme-moon{opacity:1;rotate:0deg;scale:1}.np-theme-toggle .np-theme-sun{opacity:0;rotate:-78deg;scale:.56}.np-theme-toggle[data-theme-icon=dark] .np-theme-moon{opacity:0;rotate:72deg;scale:.56}.np-theme-toggle[data-theme-icon=dark] .np-theme-sun{opacity:1;rotate:0deg;scale:1}.np-theme-toggle.is-switching{color:var(--np-brand)!important}.np-hero{margin-bottom:4.5rem;padding-top:.75rem}.np-hero-intro{flex-direction:column;align-items:flex-start;display:flex}.np-hero-avatar{object-fit:cover;border:3px solid var(--np-surface);width:4.5rem;height:4.5rem;box-shadow:0 0 0 1px var(--np-border), var(--np-shadow);transition:rotate var(--np-t-base) var(--np-ease-spring), scale var(--np-t-base) var(--np-ease-spring);border-radius:50%;margin-bottom:1.1rem}span.np-hero-avatar{background:var(--np-surface-muted);color:var(--np-brand);place-items:center;font-weight:700;display:grid}.np-hero-title-row{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-top:.35rem;display:flex}.np-hero-title-row .np-hero-title{margin-top:0}.np-hero-titles{flex-wrap:wrap;align-items:center;gap:.35rem;max-width:min(100%,28rem);display:inline-flex}.np-hero-titles[hidden]{display:none!important}.np-hero-titles .jyf-title-badge{flex:0 auto;max-width:9.5rem;font-size:.78rem}.np-hero-titles .jyf-title-badge-icon svg{color:#fff;fill:currentColor}.np-hero-avatar:hover{rotate:-4deg;scale:1.06}.np-hero-title{color:var(--np-text);letter-spacing:-.028em;-webkit-font-smoothing:auto;margin-top:.35rem;font-family:Inter,Noto Sans SC,system-ui,sans-serif;font-size:clamp(2.1rem,5vw,3.4rem);font-style:italic;font-weight:750}.np-article-header h1,.np-page-header h1,.np-about-lead{color:var(--np-text)}.np-about-lead em{color:var(--np-brand)}.np-hero-bio{max-width:38rem;color:var(--np-text-muted);margin-top:.85rem;font-size:1.06rem;line-height:1.65}.np-hero-actions{flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;margin-top:1.6rem;display:flex}.np-eyebrow{color:var(--np-brand);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.74rem;font-weight:700;display:inline-flex}.np-text-link{color:var(--np-text);align-items:center;gap:.35rem;font-size:.98rem;font-weight:650;display:inline-flex}.np-text-link svg{transition:transform var(--np-t-fast) var(--np-ease-out)}.np-text-link:hover{color:var(--np-brand)}.np-text-link:hover svg{transform:translate(3px)}.np-section-more{color:var(--np-text-muted);transition:color var(--np-t-fast) var(--np-ease-out);align-items:center;gap:.4rem;margin-top:1.6rem;font-size:.95rem;font-weight:650;display:inline-flex}.np-section-more svg{transition:transform var(--np-t-fast) var(--np-ease-out)}.np-section-more:hover{color:var(--np-brand)}.np-section-more:hover svg{transform:translate(3px)}.np-hero-social{border-left:1px solid var(--np-border);align-items:center;gap:.4rem;margin-left:.4rem;padding-left:.95rem;display:inline-flex}.np-icon-btn{width:2.4rem;height:2.4rem;color:var(--np-text-muted);border:1px solid var(--np-border);background:var(--np-surface);transition:color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), transform var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.np-icon-btn:hover{color:var(--np-accent);border-color:var(--np-accent-line);background:var(--np-accent-soft);transform:translateY(-2px)}.np-icon-btn:active{transform:translateY(0)scale(.92)}.np-section{margin-top:4rem}.np-section-head{margin-bottom:1.5rem}.np-section-head h2{letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,1.9rem)}.np-section-head p{max-width:40rem;color:var(--np-text-muted);margin-top:.4rem;font-size:.98rem}.np-section-head.is-row{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.np-section-head.is-row .np-section-more{white-space:nowrap;margin-top:0;margin-bottom:.2rem}.np-hero-picks{border-top:1px solid var(--np-border);margin-top:2.5rem;padding-top:1.6rem}.np-hero-picks-label{color:var(--np-text-muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.72rem;font-weight:700;display:flex}.np-hero-picks-label:before{content:"";background:var(--np-brand);border-radius:3px;width:3px;height:.95em}.np-picks{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:1.4rem 2.75rem;display:grid}.np-pick-hero{flex-direction:column;gap:.5rem;display:flex}.np-pick-hero-body{flex-direction:column;gap:.45rem;min-width:0;display:flex}.np-pick-hero-body .np-avatar-stack{margin-top:.15rem}.np-pick-hero-thumb{aspect-ratio:2;border:1px solid var(--np-edge);border-radius:var(--np-radius);background:var(--np-surface-muted);width:100%;transition:translate var(--np-t-base) var(--np-ease-spring), box-shadow var(--np-t-base) var(--np-ease-out);margin-bottom:.5rem;display:block;overflow:hidden;box-shadow:0 10px 26px #14182017}.np-pick-hero-thumb img{object-fit:cover;width:100%;height:100%;transition:scale var(--np-t-slow) var(--np-ease-out-soft);display:block}.np-pick-hero:hover .np-pick-hero-thumb{translate:0 -.25rem;box-shadow:0 16px 34px #14182021}.np-pick-hero:hover .np-pick-hero-thumb img{scale:1.03}.np-pick-hero-title{-webkit-line-clamp:2;color:var(--np-text);letter-spacing:-.015em;transition:color var(--np-t-fast) var(--np-ease-out);-webkit-box-orient:vertical;font-size:1.3rem;font-weight:760;line-height:1.38;display:-webkit-box;overflow:hidden}.np-pick-hero:hover .np-pick-hero-title{color:var(--np-brand)}.np-pick-hero-desc{-webkit-line-clamp:2;color:var(--np-text-muted);-webkit-box-orient:vertical;font-size:.93rem;line-height:1.6;display:-webkit-box;overflow:hidden}.np-pick-side{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.np-pick-side-item{grid-template-columns:6rem minmax(0,1fr);align-items:center;gap:.95rem;padding:.8rem 0;display:grid}.np-pick-side li:first-child .np-pick-side-item{padding-top:.15rem}.np-pick-side li+li .np-pick-side-item{border-top:1px solid var(--np-hairline)}.np-pick-side-thumb{aspect-ratio:2;border:1px solid var(--np-edge);border-radius:var(--np-radius-sm);background:var(--np-surface-muted);display:block;overflow:hidden}.np-pick-side-thumb img{object-fit:cover;width:100%;height:100%;transition:scale var(--np-t-slow) var(--np-ease-out-soft);display:block}.np-pick-side-item:hover .np-pick-side-thumb img{scale:1.05}.np-pick-side-text{flex-direction:column;gap:.22rem;min-width:0;display:flex}.np-pick-side-text .np-avatar-stack{margin-top:.1rem}.np-pick-side-title{-webkit-line-clamp:2;color:var(--np-text);transition:color var(--np-t-fast) var(--np-ease-out);-webkit-box-orient:vertical;font-size:.93rem;font-weight:650;line-height:1.45;display:-webkit-box;overflow:hidden}.np-pick-side-item:hover .np-pick-side-title{color:var(--np-brand)}.np-pick-side-date{color:var(--np-text-faint);font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:600}.np-pick-thumb-fallback{background:linear-gradient(140deg, hsl(var(--h,24) 32% 60%), hsl(calc(var(--h,24) + 18) 36% 48%))}.np-post-meta{color:var(--np-text-faint);flex-wrap:wrap;align-items:center;gap:.3rem .7rem;font-size:.8rem;font-weight:600;display:flex}.np-post-meta span:first-child,.np-post-meta a.np-post-meta-link:first-child{color:var(--np-brand);letter-spacing:.01em}.np-post-meta a.np-post-meta-link{color:inherit;transition:color var(--np-t-fast) var(--np-ease-out);text-decoration:none}.np-post-meta a.np-post-meta-link:hover{color:var(--np-brand)}.np-post-list{flex-direction:column;display:flex}.np-post-row{position:relative}.np-post-row+.np-post-row:before{content:"";background:var(--np-hairline);pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.np-post-row a{z-index:1;border-radius:var(--np-radius-sm);transition:background var(--np-t-fast) var(--np-ease-out);grid-template-columns:4.3rem minmax(0,1fr);align-items:start;gap:1.1rem;margin-inline:-.75rem;padding:1.05rem .75rem;display:grid;position:relative}.np-post-row.is-plain a{grid-template-columns:minmax(0,1fr)}.np-post-row a:hover{background:var(--np-bg-tint)}.np-post-row-date{font-variant-numeric:tabular-nums;flex-direction:column;gap:.12rem;padding-top:.18rem;display:flex}.np-post-row-md{color:var(--np-text-muted);letter-spacing:.02em;font-size:.95rem;font-weight:700}.np-post-row-yy{color:var(--np-text-faint);font-size:.72rem;font-weight:600}.np-post-row-main{min-width:0}.np-post-row-line{align-items:baseline;gap:.8rem;display:flex}.np-post-row h3{letter-spacing:-.01em;min-width:0;transition:color var(--np-t-fast) var(--np-ease-out);flex:1;font-size:1.06rem;font-weight:700;line-height:1.45}.np-post-row-cat{color:var(--np-brand);letter-spacing:.04em;flex:none;font-size:.74rem;font-weight:700}.np-post-row a:hover h3{color:var(--np-brand)}.np-post-row p{-webkit-line-clamp:1;color:var(--np-text-muted);-webkit-box-orient:vertical;margin-top:.3rem;font-size:.9rem;line-height:1.6;display:-webkit-box;overflow:hidden}.np-post-row.is-compact a{padding-block:.85rem}.np-post-row.is-compact .np-post-row-date{padding-top:.14rem}.tag-list{flex-wrap:wrap;gap:.4rem;margin-top:.2rem;display:flex}.tag-list span,.tag-list a.np-tag-link{background:var(--np-surface-muted);color:var(--np-text-muted);transition:color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out);border-radius:999px;padding:.16rem .6rem;font-size:.76rem;font-weight:600;text-decoration:none}.tag-list a.np-tag-link:hover{color:var(--np-brand);background:color-mix(in srgb, var(--np-brand) 12%, var(--np-surface-muted))}.np-taxonomy-overview,.np-archive-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.75rem 3rem;display:grid}.np-taxonomy-panel{border-top:1px solid var(--np-border);padding-top:1.1rem}.np-taxonomy-panel h2,.np-taxonomy-panel h3{letter-spacing:.09em;text-transform:uppercase;color:var(--np-text-muted);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8rem;font-weight:700;display:flex}.np-taxonomy-panel h2 svg,.np-taxonomy-panel h3 svg{color:var(--np-brand)}.np-term-list,.np-term-switcher{flex-wrap:wrap;gap:.5rem;display:flex}.np-term-list a,.np-term-switcher a{border:1px solid var(--np-border);background:var(--np-surface);color:var(--np-text);transition:border-color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out), color var(--np-t-fast) var(--np-ease-out), scale var(--np-t-fast) var(--np-ease-spring);border-radius:999px;align-items:center;gap:.45rem;padding:.34rem .45rem .34rem .75rem;font-size:.88rem;font-weight:600;line-height:1.2;display:inline-flex}.np-term-list a:active,.np-term-switcher a:active{scale:.95}.np-term-list a:hover,.np-term-switcher a:hover,.np-term-switcher a.is-current{border-color:var(--np-accent-line);background:var(--np-accent-soft);color:var(--np-accent)}.np-term-list small,.np-term-switcher small{background:var(--np-surface-muted);min-width:1.3rem;height:1.3rem;color:var(--np-text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.72rem;font-weight:700;display:inline-flex}.np-term-list a:hover small,.np-term-switcher a:hover small{background:var(--np-surface);color:var(--np-accent)}.np-term-more{transition:grid-template-rows var(--np-t-base) var(--np-ease-out), margin-top var(--np-t-base) var(--np-ease-out);grid-template-rows:0fr;display:grid}.np-term-more.is-open{grid-template-rows:1fr;margin-top:.5rem}.np-term-more>.np-term-list.is-rest{min-height:0;overflow:hidden}.np-term-toggle{color:var(--np-text-muted);font:inherit;cursor:pointer;transition:color var(--np-t-fast) var(--np-ease-out);background:0 0;border:0;align-items:center;gap:.3rem;margin-top:.85rem;padding:0;font-size:.88rem;font-weight:600;display:inline-flex}.np-term-toggle:hover{color:var(--np-brand)}.np-term-toggle-chev{transition:transform var(--np-t-base) var(--np-ease-out)}.np-term-toggle.is-open .np-term-toggle-chev{transform:rotate(180deg)}.np-archive-page{width:100%;margin:0 auto}.np-article{width:min(100%,44rem);margin:0 auto}.np-article.is-toc{width:min(100%,68rem)}.np-article.is-toc .np-article-body{grid-template-columns:minmax(0,1fr) fit-content(14rem);align-items:start;gap:3.5rem;display:grid}.np-article-aside{position:sticky;top:6.5rem}.np-page-header{margin-bottom:2.5rem}.np-page-header h1{margin:.5rem 0 .7rem;font-size:clamp(2rem,5vw,3rem)}.np-page-header p:last-child{max-width:38rem;color:var(--np-text-muted)}.np-search-page{width:100%;margin:0 auto}.np-not-found{text-align:center;width:min(100%,640px);margin:4rem auto 0}.np-not-found h1{letter-spacing:-.04em;margin:.5rem 0 1rem;font-size:clamp(3rem,12vw,6rem)}.np-not-found>p:not(.np-eyebrow){max-width:30rem;color:var(--np-text-muted);margin:0 auto 1.6rem}.np-not-found .np-eyebrow,.np-not-found .np-button-row{justify-content:center}.np-search-box{margin-bottom:1.5rem}.np-search-box label{color:var(--np-text-muted);letter-spacing:.04em;margin-bottom:.5rem;font-size:.82rem;font-weight:700;display:block}.np-search-control{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;display:grid}.np-search-box input,.np-search-box button{border-radius:var(--np-radius-sm);min-height:2.9rem;font:inherit}.np-search-box input{border:1px solid var(--np-border);background:var(--np-surface);width:100%;color:var(--np-text);transition:border-color var(--np-t-fast) var(--np-ease-out), box-shadow var(--np-t-fast) var(--np-ease-out);padding:.5rem .9rem}.np-search-box input:focus{border-color:var(--np-accent-line);box-shadow:0 0 0 3px var(--np-focus-ring);outline:none}.np-search-box button{background:var(--np-accent);color:var(--np-button-text-on-accent);cursor:pointer;transition:filter var(--np-t-fast) var(--np-ease-out);border:0;padding:.5rem 1.3rem;font-weight:700}.np-search-box button:hover{filter:brightness(1.05)}.np-search-status{color:var(--np-text-muted);margin:0 0 1rem;font-size:.92rem}.np-archive-summary{grid-template-columns:1fr;margin-bottom:2.25rem}.np-term-switcher{margin-bottom:1.5rem}.np-archive-year{grid-template-columns:8.5rem minmax(0,1fr);align-items:start;gap:0 2rem;margin-top:3rem;display:grid}.np-archive-year-head{flex-direction:column;gap:.3rem;padding-top:1.05rem;display:flex;position:sticky;top:6.75rem}.np-archive-year-num{color:var(--np-text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:1.9rem;font-weight:800;line-height:1.05}.np-archive-year-count{color:var(--np-text-faint);font-variant-numeric:tabular-nums;font-size:.84rem;font-weight:600}.np-button-row{flex-wrap:wrap;gap:.6rem;display:flex}.np-button-row a{border:1px solid var(--np-border);color:var(--np-text);transition:border-color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out), color var(--np-t-fast) var(--np-ease-out), scale var(--np-t-fast) var(--np-ease-spring);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem .5rem .85rem;font-size:.92rem;font-weight:650;display:inline-flex}.np-button-row a:active{scale:.96}.np-button-row a svg{color:var(--np-text-muted);transition:color var(--np-t-fast) var(--np-ease-out)}.np-button-row a:hover{border-color:var(--np-accent-line);background:var(--np-accent-soft);color:var(--np-accent)}.np-button-row a:hover svg{color:var(--np-accent)}.np-about{width:100%}.np-about-intro{max-width:52rem;margin-bottom:3.75rem}.np-about-avatar{border:3px solid var(--np-surface);object-fit:cover;width:3.6rem;height:3.6rem;box-shadow:0 0 0 1px var(--np-border), var(--np-shadow);transition:rotate var(--np-t-base) var(--np-ease-spring), scale var(--np-t-base) var(--np-ease-spring);border-radius:50%;margin-bottom:1.2rem}.np-about-avatar:hover{rotate:-4deg;scale:1.06}.np-about-intro .np-eyebrow{margin-bottom:1.3rem}.np-about-lead{letter-spacing:-.03em;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:780;line-height:1.28}.np-about-lead em{color:var(--np-brand);font-style:normal}.np-about-sub{max-width:38rem;color:var(--np-text-muted);margin-top:1.4rem;font-size:1.1rem;line-height:1.7}.np-about-sub em{color:var(--np-brand);font-style:normal;font-weight:600}.np-about-facts{flex-wrap:wrap;align-items:center;gap:.9rem 1.9rem;margin-top:2.2rem;display:flex}.np-about-fact{color:var(--np-text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:.55rem;font-size:.95rem;font-weight:600;display:inline-flex}.np-about-fact:before{content:"";background:var(--np-brand);opacity:.85;border-radius:3px;width:3px;height:.95em}.np-about-social{gap:.4rem;margin-left:auto;display:inline-flex}@media (width<=700px){.np-about-social{width:100%;margin-left:0}}.np-proj-section{border-top:1px solid var(--np-border);margin-top:3.25rem;padding-top:1.7rem}.np-proj-section-head{margin-bottom:1.6rem}.np-proj-section-label{color:var(--np-brand);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6rem;font-size:.78rem;font-weight:700}.np-proj-section-desc{max-width:40rem;color:var(--np-text-muted);font-size:.96rem;line-height:1.6}.np-proj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 2.5rem;display:grid}.np-proj{border-radius:var(--np-radius-sm);transition:background var(--np-t-fast) var(--np-ease-out);grid-template-columns:auto minmax(0,1fr);gap:1rem;margin-inline:-.9rem;padding:1.25rem .9rem;display:grid}.np-proj:hover{background:var(--np-bg-tint)}.np-proj-icon{border:1px solid var(--np-border);background:var(--np-surface);width:2.5rem;height:2.5rem;color:var(--np-text-muted);transition:color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), scale var(--np-t-base) var(--np-ease-spring), rotate var(--np-t-base) var(--np-ease-spring);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.np-proj:hover .np-proj-icon{color:var(--np-brand);border-color:var(--np-brand);rotate:-3deg;scale:1.08}.np-proj-body{min-width:0}.np-proj-owner{color:var(--np-text-faint);font-size:.78rem;font-weight:700;display:block}.np-proj-stars{color:var(--np-brand);align-items:center;gap:.22rem;margin-left:.4rem;font-weight:700;display:inline-flex}.np-proj-stars-icon{line-height:0;display:inline-flex}.np-proj-stars-icon svg{fill:currentColor;stroke:none;width:.82rem;height:.82rem;display:block}.np-proj-title{letter-spacing:-.01em;margin:.12rem 0 .4rem;font-size:1.14rem}.np-proj-title a{color:var(--np-text);transition:color var(--np-t-fast) var(--np-ease-out);align-items:center;gap:.3rem;display:inline-flex}.np-proj-go{color:var(--np-text-faint);transition:color var(--np-t-fast) var(--np-ease-out), transform var(--np-t-fast) var(--np-ease-out)}.np-proj:hover .np-proj-title a{color:var(--np-brand)}.np-proj:hover .np-proj-go{color:var(--np-brand);transform:translate(2px,-2px)}.np-proj-desc{color:var(--np-text-muted);font-size:.94rem;line-height:1.6}.np-proj-foot{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-top:.85rem;display:flex}.np-proj-tags{flex-wrap:wrap;gap:.3rem .7rem;display:flex}.np-proj-tags small{color:var(--np-text-faint);font-size:.78rem;font-weight:600}.np-proj-note{color:var(--np-text-muted);transition:color var(--np-t-fast) var(--np-ease-out);align-items:center;gap:.3rem;margin-left:auto;font-size:.82rem;font-weight:650;display:inline-flex}.np-proj-note:hover{color:var(--np-brand)}.np-back-link{color:var(--np-text-muted);align-items:center;gap:.4rem;margin-bottom:2.2rem;font-size:.92rem;font-weight:600;display:inline-flex}.np-back-link-arrow{transition:transform var(--np-t-fast) var(--np-ease-out);transform:rotate(180deg)}.np-back-link:hover .np-back-link-arrow{transform:rotate(180deg)translate(3px)}.np-article-header{margin-bottom:2.5rem}.np-article-header h1{letter-spacing:-.025em;margin-top:.8rem;font-size:clamp(2rem,5.5vw,3.2rem)}.np-article-header>p{color:var(--np-text-muted);margin-top:1.1rem;font-size:1.12rem;line-height:1.6}.np-article-header .tag-list{margin-top:1.2rem}.np-article-cover{border:1px solid var(--np-edge);border-radius:var(--np-radius);background:var(--np-surface-muted);width:100%;height:auto;margin-top:2rem;display:block;box-shadow:0 10px 26px #14182017}.np-article-main>.np-article-cover{margin-top:0;margin-bottom:2.2rem}.np-toc{margin:0}.np-toc h2{letter-spacing:.14em;text-transform:uppercase;color:var(--np-text-faint);margin-bottom:.7rem;padding-left:.85rem;font-size:.74rem;font-weight:700}.np-toc ol{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.np-toc a{border-left:2px solid var(--np-border);color:var(--np-text-muted);transition:color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), padding-left var(--np-t-base) var(--np-ease-spring);padding:.34rem 0 .34rem .85rem;font-size:.95rem;line-height:1.5;display:block}.np-toc a:hover{color:var(--np-brand);border-color:var(--np-brand)}.np-toc a.is-active{color:var(--np-brand);border-color:var(--np-brand);padding-left:1.03rem;font-weight:700}.np-toc-item.is-depth-3 a{padding-left:1.85rem;font-size:.9rem}.np-toc .np-toc-item.is-depth-3 a.is-active{padding-left:2.03rem}.np-toc-sub{transition:grid-template-rows var(--np-t-base) var(--np-ease-out);grid-template-rows:0fr;display:grid}.np-toc-group:has(.is-active) .np-toc-sub{grid-template-rows:1fr}.np-toc-children{opacity:0;min-height:0;transition:opacity var(--np-t-fast) var(--np-ease-out);margin:0;padding:0;list-style:none;overflow:hidden}.np-toc-group:has(.is-active) .np-toc-children{opacity:1}.np-post-content{overflow-wrap:break-word;text-wrap:pretty;font-size:1.15rem;line-height:1.8}.np-post-content :is(h1,h2,h3){letter-spacing:-.02em;margin-top:2.8rem;margin-bottom:.85rem;scroll-margin-top:6.5rem}.np-post-content h1{font-size:1.9rem}.np-post-content h2{align-items:center;gap:.65rem;font-size:1.52rem;line-height:1.28;display:flex}.np-post-content h2:before{content:"";background:var(--np-brand);border-radius:999px;flex:none;width:.38rem;height:1.25em}.np-post-content h3{color:var(--np-text);margin-top:2rem;font-size:1.2rem;font-weight:750;line-height:1.4}.np-post-content p,.np-post-content ul,.np-post-content ol,.np-post-content blockquote,.np-post-content pre,.np-post-content table,.np-post-content details{margin:1.5rem 0}.np-post-content ul,.np-post-content ol{padding-left:1.4rem}.np-post-content li+li{margin-top:.4rem}.np-post-content li::marker{color:var(--np-brand);font-variant-numeric:tabular-nums;font-weight:700}.np-post-content a{color:var(--np-accent);text-decoration:underline;-webkit-text-decoration-color:var(--np-accent-line);text-decoration-color:var(--np-accent-line);text-underline-offset:.2em;transition:color var(--np-t-fast) var(--np-ease-out), text-decoration-color var(--np-t-fast) var(--np-ease-out)}.np-post-content a:hover{color:var(--np-brand);-webkit-text-decoration-color:var(--np-brand);text-decoration-color:var(--np-brand)}.np-post-content img{border-radius:var(--np-radius-sm);height:auto;margin:1.5rem auto;display:block}.np-post-content img:not(.legacy-inline-image){cursor:zoom-in}.np-post-content .legacy-inline-image{vertical-align:middle;cursor:auto;border-radius:4px;max-height:2.4em;margin:0 .15em;display:inline-block}.np-reading-progress{z-index:30;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.np-reading-progress span{background:var(--np-brand);transform-origin:0;height:100%;transition:transform .1s linear;display:block;transform:scaleX(0)}.np-to-top{right:var(--np-floating-edge);bottom:calc(var(--np-floating-edge) + env(safe-area-inset-bottom,0px) + 3.65rem);z-index:25;border:1px solid var(--np-border);background:var(--np-nav-pill-bg);width:2.75rem;height:2.75rem;color:var(--np-text-muted);box-shadow:var(--np-shadow);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--np-t-base) var(--np-ease-out-soft), transform var(--np-t-base) var(--np-ease-out-soft), color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed;transform:translateY(10px)scale(.92)}.np-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.np-to-top{background:var(--np-glass-sheen), var(--np-glass-tint);border-color:var(--np-glass-rim-bottom);-webkit-backdrop-filter:var(--np-glass-backdrop);backdrop-filter:var(--np-glass-backdrop);box-shadow:var(--np-glass-inner-glow), var(--np-shadow)}}.np-to-top.is-visible:hover{color:var(--np-brand);border-color:var(--np-brand);transform:translateY(-3px)scale(1)}.np-to-top.is-visible:active{transform:translateY(-1px)scale(.95)}.lightbox{z-index:60;-webkit-backdrop-filter:blur(24px)saturate(130%);cursor:zoom-out;opacity:0;transition:opacity var(--np-t-base) var(--np-ease-out);background:#080a0e8c;place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0}.lightbox.is-open{opacity:1}.lightbox img{border-radius:var(--np-radius-sm);max-width:min(100%,1200px);max-height:92vh;box-shadow:var(--np-shadow-lg);transition:scale var(--np-t-base) var(--np-ease-out-soft);margin:0;scale:.94}.lightbox.is-open img{scale:1}.np-post-content iframe{border:1px solid var(--np-border);border-radius:var(--np-radius-sm);background:var(--np-surface);width:100%;max-width:100%;margin:1.5rem 0;display:block}.np-post-content pre{border:1px solid var(--np-border);border-radius:var(--np-radius);background:var(--np-code-bg);color:var(--np-code-text);box-shadow:var(--np-shadow-sm);padding:1.1rem 1.2rem;line-height:1.6;position:relative;overflow-x:auto}.np-post-content pre:has(.copy-code-button){padding-top:2.8rem}.copy-code-button{z-index:1;color:#f5f7fbd1;min-height:1.8rem;font:inherit;cursor:pointer;transition:background var(--np-t-fast) var(--np-ease-out), color var(--np-t-fast) var(--np-ease-out);background:#ffffff14;border:1px solid #ffffff29;border-radius:6px;padding:.25rem .6rem;font-size:.78rem;font-weight:650;position:absolute;top:.6rem;right:.6rem}.copy-code-button:hover,.copy-code-button.is-copied{color:#fff;background:#ffffff2e}.copy-code-button:focus-visible{outline:3px solid var(--np-focus-ring);outline-offset:2px}.np-post-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em}.np-post-content :not(pre)>code{background:var(--np-surface-muted);color:var(--np-inline-code);overflow-wrap:anywhere;border-radius:5px;padding:.15em .4em}.np-post-content blockquote{border-radius:var(--np-radius-sm);background:var(--np-brand-soft);color:var(--np-text-muted);margin:1.6rem 0;padding:1rem 1.3rem 1rem 2.7rem;position:relative}.np-post-content blockquote:before{content:"“";color:var(--np-brand);opacity:.5;font-family:Georgia,Times New Roman,serif;font-size:1.9rem;line-height:1;position:absolute;top:.45rem;left:.85rem}.np-post-content blockquote>:first-child{margin-top:0}.np-post-content blockquote>:last-child{margin-bottom:0}.np-post-content .halo-table-wrapper,.np-post-content .np-table-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--np-border);border-radius:var(--np-radius-sm,12px);background:var(--np-surface);width:100%;max-width:100%;box-shadow:var(--np-shadow-sm);margin:1.5rem 0;display:block;overflow-x:auto}.np-post-content .halo-table-wrapper>table,.np-post-content .np-table-scroll>table,.np-post-content table{border-collapse:collapse;table-layout:auto;min-width:20rem;color:var(--np-text);margin:0;font-size:.95rem;width:100%!important;display:table!important}.np-post-content th,.np-post-content td{border:0;border-right:1px solid var(--np-border);border-bottom:1px solid var(--np-border);text-align:left;vertical-align:top;white-space:normal;word-break:break-word;padding:.7rem 1rem}.np-post-content th:last-child,.np-post-content td:last-child{border-right:0}.np-post-content thead th,.np-post-content tr:first-child>th{background:var(--np-surface-muted);color:var(--np-text);letter-spacing:.02em;font-size:.84rem;font-weight:700}.np-post-content tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--np-surface-muted) 55%, transparent)}.np-post-content tr:last-child td{border-bottom:0}.np-post-content th>p,.np-post-content td>p{margin:0}.np-post-content th>p:empty:before,.np-post-content td>p:empty:before{content:" "}@media (width<=640px){.np-post-content th,.np-post-content td{padding:.55rem .75rem;font-size:.9rem}}.np-article-footer{border-top:1px solid var(--np-border);margin-top:3.5rem;padding-top:2.5rem}.np-post-nav{grid-template-columns:1fr 1fr;display:grid}.np-post-nav-prev,.np-post-nav-next{color:var(--np-text);transition:color var(--np-t-fast) var(--np-ease-out);flex-direction:column;gap:.45rem;padding:1.4rem 0;display:flex}.np-post-nav-prev{border-right:1px solid var(--np-border);padding-right:2.5rem}.np-post-nav-next{text-align:right;padding-left:2.5rem}.np-post-nav-prev:hover,.np-post-nav-next:hover{color:var(--np-brand)}.np-post-nav-prev span,.np-post-nav-next span{color:var(--np-text-faint);letter-spacing:.1em;text-transform:uppercase;transition:color var(--np-t-fast) var(--np-ease-out);align-items:center;gap:.3rem;font-size:.74rem;font-weight:700;display:flex}.np-post-nav-next span{justify-content:flex-end}.np-post-nav-prev:hover span,.np-post-nav-next:hover span{color:var(--np-brand)}.np-post-nav-prev span:before{content:"←";transition:translate var(--np-t-fast) var(--np-ease-spring);font-size:1.1em;line-height:1;display:inline-block}.np-post-nav-next span:after{content:"→";transition:translate var(--np-t-fast) var(--np-ease-spring);font-size:1.1em;line-height:1;display:inline-block}.np-post-nav-prev:hover span:before{translate:-3px}.np-post-nav-next:hover span:after{translate:3px}.np-post-nav strong{letter-spacing:-.01em;color:inherit;font-size:1.04rem;font-weight:700;line-height:1.45;display:block}.np-related{margin-top:2.5rem}.np-related h2{letter-spacing:.1em;text-transform:uppercase;color:var(--np-text-faint);margin-bottom:.6rem;font-size:.74rem;font-weight:700}.np-related-grid{flex-direction:column;display:flex}.np-related-grid a{z-index:1;border-radius:var(--np-radius-sm);color:var(--np-text);transition:background var(--np-t-fast) var(--np-ease-out);flex-direction:column;gap:.25rem;margin-inline:-.7rem;padding:.9rem .7rem;display:flex;position:relative}.np-related-grid a+a:before{content:"";background:var(--np-hairline);pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.np-related-grid a:hover{background:var(--np-bg-tint)}.np-related-grid span{color:var(--np-brand);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.np-related-grid strong{transition:color var(--np-t-fast) var(--np-ease-out);font-size:.95rem;font-weight:650;line-height:1.4;display:block}.np-related-grid a:hover strong{color:var(--np-brand)}.np-related-grid small{color:var(--np-text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.legacy-folding{border:1px solid var(--np-border);border-radius:var(--np-radius-sm);background:var(--np-surface);padding:.9rem 1.1rem}.legacy-folding summary{cursor:pointer;font-weight:700}.legacy-secret{border-style:dashed}.legacy-link-card,.legacy-site-card{border:1px solid var(--np-border);border-radius:var(--np-radius-sm);background:var(--np-surface);color:var(--np-text);transition:border-color var(--np-t-fast) var(--np-ease-out), box-shadow var(--np-t-fast) var(--np-ease-out);gap:.75rem;margin:1.2rem 0;padding:1rem 1.1rem;text-decoration:none;display:grid}.legacy-link-card:hover,.legacy-site-card:hover{border-color:var(--np-border-strong);box-shadow:var(--np-shadow-sm)}.legacy-site-card{grid-template-columns:5.4rem minmax(0,1fr);align-items:center}.legacy-site-card img{aspect-ratio:16/10;object-fit:cover;border-radius:6px;width:5.4rem;margin:0}.legacy-link-card span,.legacy-site-card strong{font-weight:700;display:block}.legacy-link-card small,.legacy-site-card small{color:var(--np-text-muted);margin-top:.2rem;font-size:.86rem;display:block}@media (width<=860px){main{width:min(100% - 1.75rem,63rem);padding-top:6.25rem}.np-home-page main{padding-top:7rem}.np-footer-inner,.np-footer-bar{width:min(100% - 1.75rem,63rem)}.np-article.is-toc .np-article-body{display:block}.np-article-aside{display:none}.notes-layout--indexed{display:block}.notes-aside{display:none}.np-hero{margin-bottom:3.5rem}.np-hero-avatar{width:4.7rem;height:4.7rem;margin-bottom:1.1rem}.np-picks,.np-taxonomy-overview,.np-archive-summary{grid-template-columns:1fr}.np-archive-year{display:block}.np-archive-year-head{border-bottom:1px solid var(--np-border);flex-direction:row;align-items:baseline;gap:.7rem;padding-top:0;padding-bottom:.55rem;position:static}.np-archive-year-num{letter-spacing:-.02em;font-size:1.45rem}.np-proj-grid,.np-post-nav{grid-template-columns:1fr}.np-post-nav-prev{border-right:none;border-bottom:1px solid var(--np-border);padding-right:0}.np-post-nav-next{text-align:left;padding-left:0}.np-post-nav-next span{justify-content:flex-start}}@media (width<=560px){.np-search-control{grid-template-columns:1fr}.np-post-row a{grid-template-columns:3.4rem minmax(0,1fr);gap:.8rem;padding-block:.95rem}.np-post-row.is-plain a{grid-template-columns:minmax(0,1fr)}.np-post-row-cat{display:none}.legacy-site-card{grid-template-columns:1fr}.legacy-site-card img{width:100%}.np-hero-social{border-left:0;margin-left:0;padding-left:0}.np-toc{padding:.85rem}.np-toc a{white-space:normal;max-width:100%}.np-post-content h2{font-size:1.35rem}}@media (width<=460px){.np-nav-pill{justify-content:center;gap:0;width:100%}.np-nav-pill a{padding-inline:.7rem}}.np-footer{border-top:0;margin-top:6rem}.np-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;width:min(100% - 2.5rem,63rem);margin:0 auto;padding:2rem 0 1.8rem;display:flex}.np-footer-id{align-items:center;gap:.85rem;display:flex}.np-footer-avatar{object-fit:cover;border:2px solid var(--np-surface);width:2.6rem;height:2.6rem;box-shadow:0 0 0 1px var(--np-border);border-radius:50%}.np-footer-id-text{flex-direction:column;line-height:1.35;display:flex}.np-footer-id-text strong{color:var(--np-text);font-size:.97rem;font-weight:750}.np-footer-id-text span{color:var(--np-text-faint);font-size:.82rem;font-weight:500}.np-footer-links{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.np-footer-links a,.np-footer-item{border:1px solid var(--np-border);color:var(--np-text);transition:border-color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out), color var(--np-t-fast) var(--np-ease-out), scale var(--np-t-fast) var(--np-ease-spring);border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.86rem;font-weight:600;display:inline-flex}.np-footer-links a:active{scale:.96}.np-footer-links a svg,.np-footer-item svg{color:var(--np-brand)}.np-footer-item{color:var(--np-text-muted)}.np-footer-links a:hover{border-color:var(--np-brand);background:var(--np-brand-soft);color:var(--np-brand)}.np-footer-sep{background:var(--np-border);width:1px;height:1.4rem;margin:0 .2rem;display:inline-block}.np-footer-bar{width:min(100% - 2.5rem,63rem);color:var(--np-text-faint);border-top:0;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:0 auto;padding:1rem 0 2rem;font-size:.8rem;display:flex}.np-footer-bar a{color:var(--np-text-faint);transition:color var(--np-t-fast) var(--np-ease-out)}.np-footer-bar a:hover{color:var(--np-brand)}.notes-layout--indexed{grid-template-columns:minmax(0,1fr) fit-content(9rem);align-items:start;gap:3rem;display:grid}.notes-aside{position:sticky;top:6.5rem}.notes-index__sub{transition:grid-template-rows var(--np-t-base) var(--np-ease-out);grid-template-rows:0fr;display:grid}.notes-index__year:has(.is-active) .notes-index__sub{grid-template-rows:1fr}.notes-index__months{opacity:0;min-height:0;transition:opacity var(--np-t-fast) var(--np-ease-out);padding-top:.1rem;overflow:hidden}.notes-index__year:has(.is-active) .notes-index__months{opacity:1}.notes-feed{margin-top:2.8rem;position:relative}.notes-year{scroll-margin-top:7rem}.notes-year+.notes-year{margin-top:2.8rem}.notes-year__label{letter-spacing:.02em;color:var(--np-text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:.9rem;margin:0 0 1.6rem;font-size:1.05rem;font-weight:700;display:flex}.notes-year__label:after{content:"";background:var(--np-border);flex:1;height:1px}.notes-feed:before{content:"";background:var(--np-border);width:1px;position:absolute;top:.7rem;bottom:.4rem;left:8.4rem}.note{grid-template-columns:7rem minmax(0,1fr);align-items:start;column-gap:2.8rem;scroll-margin-top:7rem;display:grid;position:relative}.note+.note{margin-top:2.6rem}.note:before{content:"";background:var(--np-brand);width:.55rem;height:.55rem;box-shadow:0 0 0 4px var(--np-bg);border-radius:50%;position:absolute;top:.5rem;left:8.13rem}.note__meta{flex-direction:column;align-items:flex-start;gap:.35rem;padding-top:.1rem;font-size:.85rem;display:flex}.note__meta time{color:var(--np-text-muted);letter-spacing:.01em;white-space:nowrap;font-weight:650}.note__mood{align-items:center;gap:.32rem;display:inline-flex}.note__mood svg{color:var(--np-brand);flex:none}.note__mood-text{color:var(--np-text-faint)}.note__main{max-width:46rem}.note__main>:first-child{margin-top:0}.note__title{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.18rem;font-weight:750;line-height:1.4}.note__body>:first-child{margin-top:0}.note__body>:last-child{margin-bottom:0}.note__tags{margin-top:1rem}@media (width<=600px){.notes-feed:before,.note:before{display:none}.note{grid-template-columns:1fr;row-gap:.5rem}.note__meta{flex-direction:row;align-items:center;gap:.6rem}.note__main{max-width:none}}.notes-empty{color:var(--np-text-muted);margin-top:3rem}.qc-pop{z-index:30;border:1px solid var(--np-border);background:var(--np-accent);color:var(--np-button-text-on-accent);font:inherit;box-shadow:var(--np-shadow);cursor:pointer;transition:opacity var(--np-t-fast) var(--np-ease-out), scale var(--np-t-fast) var(--np-ease-spring);border-radius:999px;padding:.38rem .72rem;font-size:.82rem;font-weight:700;line-height:1.35;position:absolute;inset:0 auto auto 0}.qc-pop[hidden]{display:none}.qc-pop:hover{opacity:.92}.qc-pop:active{scale:.94}@media (prefers-reduced-motion:no-preference){.qc-pop:not([hidden]){animation:qc-pop-in .34s var(--np-ease-spring) both}}@keyframes qc-pop-in{0%{opacity:0;translate:0 .45rem;scale:.82}}.cbox{border-top:1px solid var(--np-border);width:min(100%,46rem);margin-top:3.5rem;margin-right:auto;padding-top:2.5rem}.cbox__head{align-items:baseline;gap:.5rem;margin-bottom:1.5rem;display:flex}.cbox__title{letter-spacing:-.01em;font-size:1.25rem;font-weight:750}.cbox__count{color:var(--np-text-faint);font-size:.95rem;font-weight:600}.cform{gap:.85rem;display:flex}.cform__avatar{background:var(--np-surface-muted);width:2.5rem;height:2.5rem;color:var(--np-text-faint);border-radius:50%;flex:none;place-items:center;display:grid}.cform__avatar svg{width:1.35rem;height:1.35rem}.cform__main{flex:1;min-width:0}.cform__text{box-sizing:border-box;border:1px solid var(--np-border);border-radius:var(--np-radius-sm);background:var(--np-surface);width:100%;min-height:2.9rem;color:var(--np-text);font:inherit;resize:vertical;transition:border-color var(--np-t-fast) var(--np-ease-out), box-shadow var(--np-t-fast) var(--np-ease-out);padding:.7rem .9rem;line-height:1.6}.cform__text:focus{border-color:var(--np-brand);box-shadow:0 0 0 3px var(--np-brand-soft);outline:none}.cform__extra{opacity:0;max-height:0;transition:max-height var(--np-t-base) var(--np-ease-out), opacity var(--np-t-base) var(--np-ease-out), margin-top var(--np-t-base) var(--np-ease-out);overflow:hidden}.cform.is-open .cform__extra{opacity:1;max-height:14rem;margin-top:.6rem}.cform__meta{flex-wrap:wrap;gap:.5rem;display:flex}.cform__meta input{border:1px solid var(--np-border);background:var(--np-surface);min-width:0;color:var(--np-text);font:inherit;transition:border-color var(--np-t-fast) var(--np-ease-out), box-shadow var(--np-t-fast) var(--np-ease-out);border-radius:999px;flex:8rem;padding:.45rem .95rem;font-size:.9rem}.cform__meta input:focus{border-color:var(--np-brand);box-shadow:0 0 0 3px var(--np-brand-soft);outline:none}.cform__foot{justify-content:space-between;align-items:center;margin-top:.65rem;display:flex}.cform__hint{color:var(--np-text-faint);font-size:.78rem}.cform__cancel{color:var(--np-brand);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin-left:.5rem;padding:0;font-size:.78rem;text-decoration:underline}.cform__send{background:var(--np-accent);color:var(--np-button-text-on-accent);font:inherit;cursor:pointer;transition:opacity var(--np-t-fast) var(--np-ease-out), translate var(--np-t-fast) var(--np-ease-spring), scale var(--np-t-fast) var(--np-ease-spring);border:none;border-radius:999px;padding:.5rem 1.5rem;font-weight:650}.cform__send:hover{opacity:.9;translate:0 -1px}.cform__send:active{translate:0;scale:.95}.cform__send,.np-search-box button,.qc-pop{background-image:linear-gradient(#ffffff29,#fff0 60%)}.cform__status{color:var(--np-text-muted);margin:.7rem 0 0;font-size:.88rem}.cform__status.is-error{color:var(--np-brand)}.clist{flex-direction:column;gap:1.7rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.citem{gap:.85rem;display:flex}.citem__avatar{background:var(--np-surface-muted);object-fit:cover;border-radius:50%;flex:none;width:2.5rem;height:2.5rem}.citem__body{flex:1;min-width:0}.citem__meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.citem__nick{font-size:.95rem;font-weight:700}.citem__badge{background:var(--np-brand-soft);color:var(--np-brand);border-radius:999px;padding:.05rem .45rem;font-size:.7rem;font-weight:700}.citem__re{color:var(--np-text-faint);font-size:.82rem}.citem__time{color:var(--np-text-faint);font-size:.8rem}.citem__content{color:var(--np-text);overflow-wrap:anywhere;margin:.35rem 0 0;line-height:1.7}.citem__content p{margin:.4rem 0}.citem__content a{color:var(--np-brand)}.citem__content img{border-radius:var(--np-radius-sm);max-width:100%}.citem__actions{gap:1rem;margin-top:.5rem;display:flex}.citem__act{color:var(--np-text-faint);font:inherit;cursor:pointer;transition:color var(--np-t-fast) var(--np-ease-out);background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-size:.82rem;display:inline-flex}.citem__act:hover,.citem__act.is-liked{color:var(--np-brand)}.citem__replies{border-left:2px solid var(--np-border);flex-direction:column;gap:1.2rem;margin:1.2rem 0 0;padding:0 0 0 .6rem;list-style:none;display:flex}.citem--reply .citem__avatar{width:2rem;height:2rem}.cbox__empty{color:var(--np-text-faint);margin:1.5rem 0 0}.cbox__empty[hidden],.cbox__more[hidden]{display:none}.cbox__more{border:1px solid var(--np-border);background:var(--np-surface);color:var(--np-text-muted);font:inherit;cursor:pointer;transition:color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), scale var(--np-t-fast) var(--np-ease-spring);border-radius:999px;margin:1.6rem auto 0;padding:.45rem 1.4rem;font-size:.88rem;display:block}.cbox__more:active{scale:.96}.cbox__more:hover{border-color:var(--np-brand);color:var(--np-brand)}@media (prefers-reduced-motion:no-preference){.js :is(.np-hero-intro>*,.np-hero-picks,.np-section-head,.np-section-more,.np-post-row,.np-related,.np-post-nav,.np-article-header>*,.np-article-main>.np-article-cover,.np-proj-section-head,.np-proj,.np-page-header,.np-archive-summary,.np-archive-year-head,.np-about-intro>*,.np-role-card,.np-gallery-item,.np-photos-item,.np-link-card,.np-link-group,.note){transition:opacity var(--np-t-slow) var(--np-ease-out-soft), transform var(--np-t-slow) var(--np-ease-out-soft);transition-delay:var(--np-reveal-delay,0s)}.js :is(.np-hero-intro>*,.np-hero-picks,.np-section-head,.np-section-more,.np-post-row,.np-related,.np-post-nav,.np-article-header>*,.np-article-main>.np-article-cover,.np-proj-section-head,.np-proj,.np-page-header,.np-archive-summary,.np-archive-year-head,.np-about-intro>*,.np-role-card,.np-gallery-item,.np-photos-item,.np-link-card,.np-link-group,.note):not(.is-revealed){opacity:0;transform:translateY(1.25rem)}.js.js :is(.np-hero-intro>*,.np-article-header>*){transition:opacity var(--np-t-slow) var(--np-ease-out-soft), transform var(--np-t-slow) var(--np-ease-out-soft), filter var(--np-t-slow) var(--np-ease-out-soft);transition-delay:var(--np-reveal-delay,0s)}.js.js :is(.np-hero-intro>*,.np-article-header>*):not(.is-revealed){filter:blur(7px)}.citem{transition:opacity .55s var(--np-ease-out-soft), translate .55s var(--np-ease-out-soft)}.clist>.citem:nth-child(2){transition-delay:50ms}.clist>.citem:nth-child(3){transition-delay:.1s}.clist>.citem:nth-child(4){transition-delay:.15s}.clist>.citem:nth-child(n+5){transition-delay:.2s}@starting-style{.citem{opacity:0;translate:0 .6rem}}.js .np-post-content img:not(.legacy-inline-image){opacity:.001;transition:opacity .6s var(--np-ease-out), scale .8s var(--np-ease-out-soft);scale:.992}.js .np-post-content img.is-loaded{opacity:1;scale:1}}@keyframes blogRouteOut{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translateY(-2px)}}@keyframes blogRouteIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translate(0,0)}}::view-transition-group(page-content){animation-duration:.2s}@media (prefers-reduced-motion:no-preference){html[data-astro-transition-fallback=new] main{animation-delay:0s!important}html[data-astro-transition] .np-nav-pill :is(a,.np-nav-icon,svg){transition:none!important}}.np-music{view-transition-name:none!important}html.np-theme-vt::view-transition-old(root){mix-blend-mode:normal}html.np-theme-vt::view-transition-new(root){mix-blend-mode:normal}html.np-theme-vt::view-transition-old(root){opacity:1;z-index:1;animation:none}html.np-theme-vt::view-transition-new(root){opacity:1;z-index:2;animation:.52s linear both theme-reveal}html.np-theme-vt *,html.np-theme-vt :before,html.np-theme-vt :after{transition:none!important}html.np-theme-vt :is(main,.np-nav,.np-nav-pill,.np-music){view-transition-name:none!important}html.np-theme-vt .np-theme-toggle{view-transition-name:theme-toggle!important}html.np-theme-vt .np-theme-toggle svg{transition:none!important}html.np-theme-vt::view-transition-group(theme-toggle){z-index:4;animation:none}html.np-theme-vt::view-transition-old(theme-toggle){mix-blend-mode:normal;animation:.18s ease-in both theme-toggle-out}html.np-theme-vt::view-transition-new(theme-toggle){animation:theme-toggle-in .46s 40ms var(--np-ease-out-soft) both;mix-blend-mode:normal}@keyframes theme-toggle-out{to{opacity:0;transform:rotate(28deg)scale(.72)}}@keyframes theme-toggle-in{0%{opacity:0;transform:rotate(-32deg)scale(.62)}to{opacity:1;transform:rotate(0)scale(1)}}html.np-theme-anim body{animation:theme-settle .36s var(--np-ease-out-soft) both}@keyframes theme-settle{0%{opacity:.72;filter:saturate(.82)}to{opacity:1;filter:saturate()}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-image-pair(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}html.np-theme,body.np-theme{min-height:100%}body.np-theme{background:var(--np-bg);color:var(--np-text);background-image:var(--np-page-glow);background-repeat:no-repeat;margin:0}body.np-theme>.np-main{width:min(100% - 2.5rem,63rem);margin:0 auto;padding:7rem 0 5rem;display:block}body.np-theme.np-home-page>.np-main{padding-top:8.25rem}.np-skip-link{z-index:100;background:var(--np-accent);color:var(--np-button-text-on-accent);padding:.5rem .75rem;position:absolute;top:0;left:-999px}.np-skip-link:focus{top:1rem;left:1rem}.np-pagination{color:var(--np-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:2rem;font-size:.9rem;display:flex}.np-pagination a{color:var(--np-text);border-bottom:1px solid var(--np-accent-line);text-decoration:none}.np-pagination a:hover{color:var(--np-brand)}.np-empty{color:var(--np-text-muted);padding:1.5rem 0}.np-drawer{z-index:70;pointer-events:none;opacity:0;transition:opacity var(--np-t-fast) var(--np-ease-out);position:fixed;inset:0}.np-drawer[data-open=true]{pointer-events:auto;opacity:1}.np-drawer-scrim{background:#00000059;position:absolute;inset:0}.np-drawer-panel{border-radius:var(--np-radius);background:var(--np-surface);border:1px solid var(--np-border);max-width:22rem;box-shadow:var(--np-shadow-lg);gap:.35rem;margin-left:auto;padding:1rem;display:grid;position:absolute;top:1rem;left:1rem;right:1rem}.np-drawer-link{color:var(--np-text);border-radius:12px;padding:.7rem .85rem;font-weight:600;text-decoration:none;display:block}.np-drawer-link:hover,.np-drawer-link.is-current{background:var(--np-accent-soft)}.np-drawer-group{gap:.15rem;display:grid}.np-drawer-row{grid-template-columns:1fr auto;align-items:center;gap:.2rem;display:grid}.np-drawer-row>.np-drawer-link{min-width:0}.np-drawer-caret{width:2.2rem;height:2.2rem;color:var(--np-text-muted);cursor:pointer;transition:background var(--np-t-fast) var(--np-ease-out), color var(--np-t-fast) var(--np-ease-out), transform var(--np-t-fast) var(--np-ease-out);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.np-drawer-caret:hover,.np-drawer-caret:focus-visible{background:var(--np-surface-muted);color:var(--np-text);outline:none}.np-drawer-group.is-open .np-drawer-caret{color:var(--np-accent);transform:rotate(180deg)}.np-drawer-sub{gap:.15rem;padding:.1rem 0 .15rem .55rem;display:grid}.np-drawer-sub[hidden]{display:none}.np-drawer-link.is-child{color:var(--np-text-muted);padding:.58rem .85rem;font-size:.92rem;font-weight:560}.np-drawer-link.is-danger{color:#b42318}.np-drawer-link.is-danger:hover,.np-drawer-link.is-danger:focus-visible{color:#912018;background:#b423181f}.np-nav-toggle{width:2.35rem;height:2.35rem;color:var(--np-text);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:none}@media (width<=860px){.np-nav-toggle{display:inline-flex}.np-nav-pill .np-nav-link{display:none}}.np-nav-link{z-index:1;color:var(--np-text-muted);letter-spacing:.01em;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;transition:color var(--np-t-fast) var(--np-ease-out);border-radius:999px;align-items:center;gap:.28rem;padding:.45rem .85rem;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-flex;position:relative}.np-nav-link:hover,.np-nav-link.is-current{color:var(--np-text)}.np-nav-item{align-items:center;display:inline-flex;position:relative}.np-nav-item.has-dropdown:hover,.np-nav-item.has-dropdown:focus-within{z-index:30}.np-nav-caret{color:currentColor;opacity:.78;width:.72rem;height:.72rem;transition:transform var(--np-t-base) var(--np-ease-out), opacity var(--np-t-fast) var(--np-ease-out);flex-shrink:0;margin-left:.12rem}.np-nav-item.has-dropdown:hover .np-nav-caret,.np-nav-item.has-dropdown:focus-within .np-nav-caret{opacity:1;transform:rotate(180deg)}.np-nav-dropdown{z-index:60;min-width:8.75rem;box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft), visibility var(--np-t-fast) var(--np-ease-out-soft);background:0 0;border:0;padding:.55rem 0 0;position:absolute;top:calc(100% + .12rem);left:50%;transform:translate(-50%,-.2rem)}.np-nav-dropdown:before{content:"";height:.55rem;position:absolute;top:0;left:0;right:0}.np-nav-item.has-dropdown:hover .np-nav-dropdown,.np-nav-item.has-dropdown:focus-within .np-nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.np-nav-item.has-dropdown:hover>.np-nav-link,.np-nav-item.has-dropdown:focus-within>.np-nav-link{color:var(--np-text)}.np-nav-dropdown-panel{border:1px solid color-mix(in srgb, var(--np-border) 88%, transparent);border-radius:var(--np-radius-sm);background:var(--np-surface,#fff);box-shadow:var(--np-shadow-soft), 0 16px 40px #0000001f;gap:.12rem;padding:.4rem;display:grid}.np-nav-dropdown-link{border-radius:var(--np-radius-xs);color:var(--np-text-muted);text-align:left;white-space:nowrap;transition:background var(--np-t-fast) var(--np-ease-out-soft), color var(--np-t-fast) var(--np-ease-out-soft);padding:.5rem .7rem;font-size:.86rem;font-weight:600;line-height:1.3;text-decoration:none;display:block}.np-nav-dropdown-link:hover,.np-nav-dropdown-link:focus-visible,.np-nav-dropdown-link.is-current,.np-nav-dropdown-link.is-pending{background:var(--np-accent-soft);color:var(--np-accent);outline:none}.np-nav-pill .np-nav-dropdown a.np-nav-dropdown-link{text-align:left;border-radius:var(--np-radius-xs);justify-content:flex-start;display:block}@media (width<=860px){.np-nav-pill .np-nav-item{display:none}}.np-float{right:max(.9rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:55;pointer-events:none;justify-items:center;gap:.45rem;display:grid;position:fixed}.np-float-btn,.np-float-progress{pointer-events:auto;border:1px solid var(--np-border);background:color-mix(in srgb, var(--np-surface,#fff) 92%, transparent);width:2.55rem;height:2.55rem;color:var(--np-text-muted);box-shadow:var(--np-shadow-soft,0 10px 30px #00000014);-webkit-backdrop-filter:blur(12px);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:background var(--np-t-fast) var(--np-ease-out-soft), color var(--np-t-fast) var(--np-ease-out-soft), border-color var(--np-t-fast) var(--np-ease-out-soft), opacity var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft);border-radius:999px;place-items:center;text-decoration:none;display:inline-grid}a.np-float-btn{color:inherit}.np-float-btn svg{width:1.05rem;height:1.05rem}.np-float-progress{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--np-accent);font-size:.68rem;font-weight:650}.np-float-top{opacity:0;pointer-events:none;transform:translateY(.35rem)scale(.96)}.np-float.is-scrolled .np-float-top{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}@media (hover:hover) and (pointer:fine){.np-float-btn:hover{background:var(--np-accent);color:var(--np-button-text-on-accent);border-color:#0000}}.np-float-btn:active,.np-float.is-scrolled .np-float-top:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.np-float-btn,.np-float-progress,.np-float-top{transition:none}.np-float-top{transform:none}}.np-music{left:max(.85rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom));z-index:56;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.45rem;display:flex;position:fixed}.np-music-orb,.np-music.is-expanded .np-music-capsule,.np-music.is-expanded .np-music-btn,.np-music.is-expanded .np-music-mini-cover,.np-music.is-expanded .np-music-seek{pointer-events:auto}.np-music-orb{border:1px solid var(--np-border);background:color-mix(in srgb, var(--np-surface,#fff) 92%, transparent);-webkit-backdrop-filter:blur(12px);width:3.1rem;height:3.1rem;color:var(--np-accent);cursor:pointer;transition:transform var(--np-t-fast) var(--np-ease-out-soft), opacity var(--np-t-fast) var(--np-ease-out-soft), box-shadow var(--np-t-fast) var(--np-ease-out-soft);border-radius:50%;flex:none;padding:0;position:relative;overflow:hidden;box-shadow:0 12px 32px #0000001f}.np-music-orb:active{transform:scale(.96)}.np-music-cover{object-fit:cover;width:100%;height:100%;display:block}.np-music-cover-fallback{width:100%;height:100%;color:var(--np-text-muted);background:var(--np-accent-soft);place-items:center;font-size:1rem;display:grid}.np-music-orb-ring{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--np-accent) 25%, transparent);pointer-events:none;border-radius:50%;position:absolute;inset:0}.np-music.is-playing .np-music-orb .np-music-cover,.np-music.is-playing .np-music-orb .np-music-cover-fallback{animation:12s linear infinite np-music-spin}.np-music.is-expanded .np-music-orb{opacity:0;pointer-events:none;border:0;width:0;height:0;margin:0;overflow:hidden;transform:scale(.86)}.np-music-capsule{border:1px solid var(--np-border);background:color-mix(in srgb, var(--np-surface,#fff) 94%, transparent);width:min(20.5rem,100vw - 2.2rem);box-shadow:var(--np-shadow-soft), 0 12px 32px #0000001f;-webkit-backdrop-filter:blur(16px);transform-origin:0 100%;border-radius:1.25rem;grid-template-columns:minmax(0,1fr);gap:.45rem;padding:.55rem .65rem .6rem;display:none}.np-music.is-expanded .np-music-capsule{animation:np-music-capsule-in var(--np-t-fast) var(--np-ease-out-soft);display:grid}.np-music-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.np-music-mini-cover{background:var(--np-accent-soft);cursor:pointer;border:0;border-radius:.7rem;flex:none;width:2.35rem;height:2.35rem;padding:0;overflow:hidden}.np-music-mini-cover:active{transform:scale(.96)}.np-music-meta{gap:.1rem;min-width:0;display:grid}.np-music-title,.np-music-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.np-music-title{color:var(--np-accent);font-size:.82rem;font-weight:650;line-height:1.25}.np-music-artist{color:var(--np-text-muted);font-size:.7rem;line-height:1.2}.np-music-controls{align-items:center;gap:.15rem;display:inline-flex}.np-music-btn{width:1.85rem;height:1.85rem;color:var(--np-text-muted);cursor:pointer;transition:background var(--np-t-fast) var(--np-ease-out-soft), color var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.np-music-btn.is-primary{background:var(--np-accent);width:2.1rem;height:2.1rem;color:var(--np-button-text-on-accent);position:relative}.np-music-btn.is-primary .is-play,.np-music-btn.is-primary .is-pause{margin:auto;position:absolute;inset:0}.np-music-btn.is-primary .is-pause,.np-music.is-playing .np-music-btn.is-primary .is-play{opacity:0;visibility:hidden;pointer-events:none}.np-music.is-playing .np-music-btn.is-primary .is-pause{opacity:1;visibility:visible}.np-music-btn:disabled{opacity:.35;cursor:default}.np-music-btn:not(:disabled):active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.np-music-btn:not(:disabled):hover{background:var(--np-accent-soft);color:var(--np-accent)}.np-music-btn.is-primary:not(:disabled):hover{background:color-mix(in srgb, var(--np-accent) 88%, #000);color:var(--np-button-text-on-accent)}}.np-music-progress{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem;display:grid}.np-music-time{font-variant-numeric:tabular-nums;color:var(--np-tertiary);min-width:1.8rem;font-size:.64rem}.np-music-seek{appearance:none;background:color-mix(in srgb, var(--np-border) 80%, transparent);cursor:pointer;border-radius:999px;outline:none;width:100%;height:.28rem}.np-music-seek::-webkit-slider-thumb{appearance:none;background:var(--np-accent);width:.72rem;height:.72rem;box-shadow:0 0 0 2px color-mix(in srgb, var(--np-surface,#fff) 90%, transparent);border:0;border-radius:50%}.np-music-seek::-moz-range-thumb{background:var(--np-accent);border:0;border-radius:50%;width:.72rem;height:.72rem}.np-music-lyrics{border-top:1px solid color-mix(in srgb, var(--np-border) 80%, transparent);padding-top:.35rem}.np-music-lyrics-viewport{height:5.4rem;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.np-music-lyrics-list{text-align:center;gap:.28rem;padding:1.1rem .15rem;display:grid}.np-music-lyric-line,.np-music-lyrics-empty{color:var(--np-tertiary);transition:color var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft), opacity var(--np-t-fast) var(--np-ease-out-soft);margin:0;font-size:.72rem;line-height:1.35}.np-music-lyric-line.is-active{color:var(--np-accent);font-weight:650;transform:scale(1.03)}.np-music-now-lyric{border:1px solid var(--np-border);background:color-mix(in srgb, var(--np-surface,#fff) 92%, transparent);max-width:min(16.5rem,100vw - 5.2rem);box-shadow:var(--np-shadow-soft);-webkit-backdrop-filter:blur(12px);color:var(--np-accent);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;order:-1;margin:0;padding:.32rem .75rem;font-size:.74rem;line-height:1.3;overflow:hidden}.np-music.is-expanded .np-music-now-lyric,.np-music-now-lyric[hidden]{display:none!important}@keyframes np-music-spin{to{transform:rotate(360deg)}}@keyframes np-music-capsule-in{0%{opacity:0;transform:translateY(.45rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=767px){.np-music{left:max(.65rem, env(safe-area-inset-left));bottom:max(.85rem, env(safe-area-inset-bottom))}.np-music-capsule{width:min(18rem,100vw - 1.6rem)}.np-music-lyrics-viewport{height:4.8rem}}@media (prefers-reduced-motion:reduce){.np-music-orb,.np-music-capsule,.np-music-btn,.np-music-lyric-line{transition:none}.np-music.is-playing .np-music-orb .np-music-cover,.np-music.is-playing .np-music-orb .np-music-cover-fallback,.np-music.is-expanded .np-music-capsule{animation:none}.np-music-lyric-line.is-active{transform:none}}.np-account-avatar:active,.np-nav-toggle:active{transform:scale(.96)}.np-nav-icon svg{width:1.2rem;height:1.2rem}.np-nav-icon:hover{background:var(--np-accent);color:var(--np-button-text-on-accent);box-shadow:0 16px 40px #00000024}a.np-search-btn{text-decoration:none}button.np-drawer-search{cursor:pointer;width:100%;font:inherit;background:0 0;border:0;display:block}.np-account-btn{color:var(--np-text-muted)}.np-account-entry,.np-account{place-items:center;display:inline-grid;position:relative}.np-account-avatar{border:1px solid color-mix(in srgb, var(--np-border) 70%, transparent);background:var(--np-accent-soft);width:1.7rem;height:1.7rem;color:var(--np-text-muted);cursor:pointer;transition:box-shadow var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft);border-radius:999px;place-items:center;padding:0;display:inline-grid;overflow:hidden}.np-account-avatar img,.np-account-avatar-fallback{object-fit:cover;width:100%;height:100%;display:block}.np-account-avatar-fallback{background:color-mix(in srgb, var(--np-accent) 14%, var(--np-surface,#fff));color:var(--np-accent);place-items:center;font-size:.78rem;font-weight:700;line-height:1;display:grid}.np-account:focus-within .np-account-avatar,.np-account.is-open .np-account-avatar{transform:translateY(-1px);box-shadow:0 16px 40px #00000024}.np-account-menu{z-index:40;min-width:11.5rem;box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;transform-origin:100% 0;transition:opacity var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft), visibility var(--np-t-fast) var(--np-ease-out-soft);background:0 0;border:0;padding:.45rem 0 0;position:absolute;top:100%;right:0;transform:translateY(-.2rem)}.np-account-menu:before{content:"";height:.45rem;position:absolute;top:0;left:0;right:0}.np-account-menu-panel{text-align:left;border:1px solid color-mix(in srgb, var(--np-border) 88%, transparent);border-radius:var(--np-radius-sm);background:var(--np-surface,#fff);box-shadow:var(--np-shadow-soft), 0 16px 40px #00000024;padding:.45rem}.np-account:focus-within .np-account-menu,.np-account.is-open .np-account-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.np-account-menu-head{border-bottom:1px solid color-mix(in srgb, var(--np-border) 80%, transparent);text-align:left;gap:.35rem;margin-bottom:.2rem;padding:.45rem .55rem .55rem;display:grid}.np-account-menu-name{color:var(--np-accent);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700;line-height:1.3;overflow:hidden}.np-account-menu-stats{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.np-account-menu-level{color:var(--np-accent);font-size:.75rem;font-weight:700;line-height:1.2}.np-account-menu-points{color:var(--np-text-muted);white-space:nowrap;font-size:.72rem;font-weight:600;line-height:1.2}.np-account-menu-xp{gap:.28rem;display:grid}.np-account-menu-xp-meta{color:var(--np-text-muted);font-size:.68rem;font-weight:600;line-height:1.2}.np-account-menu-xp-track{background:color-mix(in srgb, var(--np-accent-soft) 88%, var(--np-border));border-radius:999px;height:.28rem;overflow:hidden}.np-account-menu-xp-fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--np-accent) 78%, #60a5fa), var(--np-accent));width:0;height:100%;transition:width .28s var(--np-ease-out-soft)}.np-nav-pill .np-account-menu a.np-account-menu-link,.np-account-menu-link{border-radius:var(--np-radius-xs);width:auto;color:var(--np-accent);text-align:left;transition:background var(--np-t-fast) var(--np-ease-out-soft), color var(--np-t-fast) var(--np-ease-out-soft);justify-content:flex-start;align-items:flex-start;padding:.5rem .55rem;font-size:.875rem;font-weight:600;line-height:1.3;text-decoration:none;display:block}.np-nav-pill .np-account-menu a.np-account-menu-link:hover,.np-nav-pill .np-account-menu a.np-account-menu-link:focus-visible,.np-account-menu-link:hover,.np-account-menu-link:focus-visible{background:var(--np-accent-soft);color:var(--np-accent);outline:none}.np-account-menu-sep{background:var(--np-border);height:1px;margin:.35rem .55rem}.np-account-menu-link.is-danger{color:color-mix(in srgb, #ef4444 78%, var(--np-accent))}.np-account-menu-link.is-danger:hover,.np-account-menu-link.is-danger:focus-visible{background:color-mix(in srgb, #ef4444 10%, var(--np-surface,#fff));color:#dc2626}.np-account-tip{z-index:45;color:var(--np-accent);cursor:pointer;opacity:0;transition:opacity var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft);background:0 0;border:0;justify-items:end;gap:.15rem;padding:0;display:grid;position:absolute;top:calc(100% + .15rem);right:.15rem;transform:translateY(-.35rem)}.np-account-tip.is-on{opacity:1;transform:translateY(0)}.np-account-tip.is-leaving{opacity:0;transform:translateY(-.25rem)scale(.98)}.np-account-tip-arrow{width:4.6rem;height:3.4rem;filter:drop-shadow(0 4px 10px color-mix(in srgb, var(--np-accent) 22%, transparent));animation:np-account-tip-bob 1.6s var(--np-ease-in-out) infinite;display:block}.np-account-tip-text{border:1px solid color-mix(in srgb, var(--np-accent) 28%, var(--np-border));background:color-mix(in srgb, var(--np-surface,#fff) 92%, var(--np-accent));color:var(--np-accent);white-space:nowrap;border-radius:999px;margin-right:.15rem;padding:.28rem .55rem;font-size:.75rem;font-weight:700;line-height:1.2;box-shadow:0 16px 40px #00000024}@keyframes np-account-tip-bob{0%,to{transform:translateY(0)}50%{transform:translateY(.22rem)}}@media (prefers-reduced-motion:reduce){.np-account-tip-arrow{animation:none}}.np-post-content .np-code-block{border:1px solid color-mix(in srgb, var(--np-border) 85%, transparent);border-radius:var(--np-radius-xs);box-shadow:var(--np-shadow);background:#0d1117;margin:1rem 0;position:relative;overflow:hidden}.np-post-content .np-code-copy{z-index:3;color:#c9d1d9;cursor:pointer;opacity:0;width:1.85rem;height:1.85rem;transition:opacity var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), color var(--np-t-fast) var(--np-ease-out), transform var(--np-t-fast) var(--np-ease-out);background:#151a21;border:1px solid #ffffff24;border-radius:.5rem;place-items:center;display:inline-grid;position:absolute;top:.55rem;right:.55rem}.np-post-content .np-code-block:hover>.np-code-copy,.np-post-content .np-code-block:focus-within>.np-code-copy,.np-post-content shiki-code:hover>.np-code-copy,.np-post-content shiki-code:focus-within>.np-code-copy,.np-post-content .np-code-copy:focus-visible,.np-post-content .np-code-copy.is-copied{opacity:1}.np-post-content .np-code-copy:hover,.np-post-content .np-code-copy:focus-visible{color:#fff;border-color:#ffffff47;outline:none}.np-post-content .np-code-copy:active{transform:scale(.96)}.np-post-content .np-code-copy.is-copied{color:#86efac;border-color:#86efac59}@media (hover:none),(pointer:coarse){.np-post-content .np-code-copy{opacity:.92}}.np-post-content .np-code-block>.np-code-clip>pre{box-shadow:none;border:0;border-radius:0;margin:0}.np-post-content .np-code-clip{position:relative;overflow:hidden}.np-post-content .np-code-block.is-collapsed>.np-code-clip{max-height:14.5rem}.np-post-content .np-code-block.is-collapsed>.np-code-clip:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0d1117 85%);height:4.5rem;position:absolute;bottom:0;left:0;right:0}.np-post-content .np-code-fold-bar{background:#0d1117;border-top:1px solid #ffffff14;justify-content:center;padding:.55rem .75rem .7rem;display:flex}.np-post-content .np-code-fold-btn{color:#c9d1d9;cursor:pointer;min-height:1.7rem;transition:background var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), color var(--np-t-fast) var(--np-ease-out), transform var(--np-t-fast) var(--np-ease-out);background:#151a21;border:1px solid #ffffff29;border-radius:999px;padding:.2rem .85rem;font-size:.75rem;font-weight:600;line-height:1}.np-post-content .np-code-fold-btn:hover,.np-post-content .np-code-fold-btn:focus-visible{color:#fff;border-color:#ffffff47;outline:none}.np-post-content .np-code-fold-btn:active{transform:scale(.97)}.np-post-content pre code,.np-post-content pre code.hljs{padding:.95rem 1rem;display:block;overflow-x:auto}.np-overlay-toc{z-index:40;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.np-overlay-toc[hidden]{display:none!important}.np-overlay-toc-wrap{justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.np-overlay-toc-mask{pointer-events:auto;position:absolute;right:1.1rem;overflow:hidden}.np-overlay-toc-box{overscroll-behavior:contain;scrollbar-width:none;max-height:min(70vh,34rem);color:var(--np-text);transition:transform .35s;position:relative;overflow-y:auto;transform:translate(11.5rem);-webkit-mask-image:linear-gradient(#0000 0%,#fff 8% 92%,#0000 100%);mask-image:linear-gradient(#0000 0%,#fff 8% 92%,#0000 100%)}.np-overlay-toc-box::-webkit-scrollbar{display:none}.np-overlay-toc-mask:hover .np-overlay-toc-box,.np-overlay-toc-mask:focus-within .np-overlay-toc-box{transform:translate(0)}.np-overlay-toc-list{margin:0;padding:1rem 0;list-style:none}.np-overlay-toc-item{cursor:pointer;opacity:.32;transform-origin:100%;align-items:center;margin:0;padding:.38rem 0;transition:opacity .2s,transform .2s;display:flex}.np-overlay-toc-item:hover{opacity:.58}.np-overlay-toc-item.is-active{opacity:1;transform:scale(1.06)}.np-overlay-toc-light{flex:0 0 2.2rem;width:2.2rem;height:.85rem;position:relative}.np-overlay-toc-light:before{content:"";background:currentColor;border-radius:999px;height:.28rem;margin:auto;position:absolute;top:0;bottom:0;right:0}.np-overlay-toc-item.is-h1 .np-overlay-toc-light:before{width:2.2rem}.np-overlay-toc-item.is-h2 .np-overlay-toc-light:before{width:1.85rem}.np-overlay-toc-item.is-h3 .np-overlay-toc-light:before{width:1.45rem}.np-overlay-toc-item.is-h4 .np-overlay-toc-light:before{width:1.1rem}.np-overlay-toc-item.is-h5 .np-overlay-toc-light:before{width:.75rem}.np-overlay-toc-item.is-h6 .np-overlay-toc-light:before{width:.4rem}.np-overlay-toc-title{width:11rem;color:var(--np-text);white-space:nowrap;text-overflow:ellipsis;padding-left:.75rem;font-size:.82rem;font-weight:500;line-height:1.35;overflow:hidden}@media (width<=1100px){.np-overlay-toc{display:none!important}}.np-toast{left:50%;bottom:max(1.25rem, env(safe-area-inset-bottom));z-index:80;background:color-mix(in srgb, var(--np-accent) 92%, #000);color:var(--np-button-text-on-accent);letter-spacing:.01em;box-shadow:var(--np-shadow);opacity:0;pointer-events:none;transition:opacity var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft);border-radius:999px;padding:.55rem .9rem;font-size:.82rem;font-weight:600;position:fixed;transform:translate(-50%,.4rem)}.np-toast.is-on{opacity:1;transform:translate(-50%)}.np-firefly-layer{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.np-firefly{left:var(--np-firefly-left,50vw);width:var(--np-firefly-size,3px);height:var(--np-firefly-size,3px);background:var(--np-firefly-color,#50e3c2);box-shadow:0 0 8px color-mix(in srgb, var(--np-firefly-color,#50e3c2) 70%, transparent), 0 0 16px color-mix(in srgb, var(--np-firefly-color,#50e3c2) 35%, transparent);opacity:.75;animation:np-firefly-rise var(--np-firefly-duration,14s) linear var(--np-firefly-delay,0s) infinite;border-radius:999px;position:absolute;bottom:-2rem}@keyframes np-firefly-rise{0%{opacity:0;transform:translate(0,0)}12%{opacity:.8}to{transform:translate3d(var(--np-firefly-drift,0), -110vh, 0);opacity:0}}@media (prefers-reduced-motion:reduce){.np-firefly{animation:none!important;display:none!important}}.np-comments{--halo-cw-primary-1-color:var(--np-brand);--halo-cw-primary-2-color:color-mix(in srgb, var(--np-brand) 82%, #000);--halo-cw-primary-3-color:color-mix(in srgb, var(--np-brand) 64%, #000);margin-top:2.5rem}html[data-theme=dark] .np-comments,html[data-np-resolved-theme=dark] .np-comments{--halo-cw-text-1-color:#f7f7fa;--halo-cw-text-2-color:#f7f7fad1;--halo-cw-text-3-color:#f7f7fa8c;--halo-cw-muted-1-color:#64748b;--halo-cw-muted-2-color:#3d3d3f;--halo-cw-muted-3-color:#21232a;color:var(--halo-cw-text-1-color)}html[data-theme=dark] .np-comments .comment-item,html[data-theme=dark] .np-comments .comment-content,html[data-theme=dark] .np-comments .comment-author,html[data-theme=dark] .np-comments .nickname,html[data-theme=dark] .np-comments .content,html[data-np-resolved-theme=dark] .np-comments .comment-item,html[data-np-resolved-theme=dark] .np-comments .comment-content,html[data-np-resolved-theme=dark] .np-comments .comment-author,html[data-np-resolved-theme=dark] .np-comments .nickname,html[data-np-resolved-theme=dark] .np-comments .content{color:var(--halo-cw-text-1-color)}html[data-theme=dark] .np-comments .avatar,html[data-theme=dark] .np-comments img.avatar,html[data-np-resolved-theme=dark] .np-comments .avatar,html[data-np-resolved-theme=dark] .np-comments img.avatar{border-color:color-mix(in srgb, var(--np-border) 80%, transparent)}.np-comments .avatar,.np-comments img.avatar,.np-comments .comment-avatar,.np-comments .user-avatar{object-fit:cover;border-radius:999px}body:has([data-np-float]) .np-to-top{display:none!important}.np-hero-profile{gap:.55rem;max-width:22rem;margin:.15rem 0 .35rem;display:grid}.np-hero-profile-stats{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.np-hero-profile-level{border:1px solid color-mix(in srgb, var(--np-lv-color,var(--np-brand)) 38%, transparent);background:color-mix(in srgb, var(--np-lv-color,var(--np-brand)) 14%, transparent);min-height:1.45rem;color:var(--np-lv-color,var(--np-brand));letter-spacing:.02em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.12rem .55rem;font-size:.82rem;font-weight:700;line-height:1.2;display:inline-flex;position:relative;overflow:hidden}.np-hero-profile-level:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(110deg, transparent 32%, rgba(255, 255, 255, var(--np-shine-alpha,.45)) 50%, transparent 68%);animation:np-lv-shine var(--np-shine-duration,2.6s) ease-in-out infinite;opacity:var(--np-shine-opacity,1);position:absolute;inset:0;transform:translate(-130%)}.np-hero-profile-level.is-shine-off:after{opacity:0;animation:none}@keyframes np-lv-shine{0%,42%{transform:translate(-130%)}72%,to{transform:translate(130%)}}.np-hero-profile-points{color:var(--np-text-muted);font-size:.85rem;font-weight:600}.np-hero-profile-xp{gap:.3rem;display:grid}.np-hero-profile-xp-meta{color:var(--np-text-muted);font-size:.72rem;font-weight:600}.np-hero-profile-xp-track{background:color-mix(in srgb, var(--np-lv-color,var(--np-brand)) 12%, var(--np-border));border-radius:999px;height:.36rem;position:relative;overflow:hidden}.np-hero-profile-xp-fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--np-lv-color,var(--np-brand)) 72%, #fff), var(--np-lv-color,var(--np-brand)));width:0;height:100%;transition:width .28s var(--np-ease-out-soft);position:relative;overflow:hidden}.np-hero-profile-xp-fill:after{content:"";pointer-events:none;opacity:.85;background:linear-gradient(110deg,#0000 28%,#ffffff8c 50%,#0000 72%);animation:2.8s ease-in-out infinite np-lv-shine;position:absolute;inset:0;transform:translate(-130%)}@media (prefers-reduced-motion:reduce){.np-hero-profile-level:after,.np-hero-profile-xp-fill:after{opacity:0;animation:none}}.np-avatar-stack{flex:none;align-items:center;max-width:100%;min-height:1.2rem;margin-top:.55rem;display:inline-flex}.np-avatar-stack[data-np-avatar-stack]:not([data-np-avatar-ready="1"]){visibility:hidden}.np-avatar-stack:empty{display:none}.np-avatar-stack .np-comment-avatar,.np-avatar-stack .np-avatar-more{margin-left:-.28rem}.np-avatar-stack .np-comment-avatar:first-child,.np-avatar-stack .np-avatar-more:first-child{margin-left:0}.np-comment-avatar{border:1.5px solid var(--np-bg);background:color-mix(in srgb, var(--np-surface-muted) 80%, transparent);width:1.2rem;height:1.2rem;box-shadow:0 0 0 1px color-mix(in srgb, var(--np-border) 35%, transparent);border-radius:999px;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.np-comment-avatar img,.np-comment-avatar-fallback{object-fit:cover;width:100%;height:100%;display:block}.np-comment-avatar-fallback{color:var(--np-brand);background:color-mix(in srgb, var(--np-brand) 14%, transparent);text-transform:uppercase;place-items:center;font-size:.58rem;font-weight:700;line-height:1;display:grid}.np-avatar-more{border:1.5px solid var(--np-bg);background:color-mix(in srgb, var(--np-surface-muted) 92%, transparent);min-width:1.2rem;height:1.2rem;box-shadow:0 0 0 1px color-mix(in srgb, var(--np-border) 35%, transparent);color:var(--np-text-muted);letter-spacing:-.02em;border-radius:999px;flex:none;place-items:center;padding:0 .28rem;font-size:.58rem;font-weight:700;line-height:1;display:inline-grid}.np-post-row.is-compact .np-avatar-stack{margin-top:.4rem}html[data-theme=dark] .np-comment-avatar,html[data-np-resolved-theme=dark] .np-comment-avatar,html[data-theme=dark] .np-avatar-more,html[data-np-resolved-theme=dark] .np-avatar-more{border-color:var(--np-bg)}.np-float-btn.np-check-in.is-checked{color:var(--np-brand);border-color:color-mix(in srgb, var(--np-brand) 45%, var(--np-border));background:color-mix(in srgb, var(--np-brand) 12%, var(--np-surface,#fff))}.np-post-actions{align-items:center;gap:.75rem;margin:0 0 1.75rem;display:flex}.np-like-btn{border:1px solid var(--np-border);background:color-mix(in srgb, var(--np-surface,#fff) 92%, transparent);min-height:2.4rem;color:var(--np-text-muted);font:inherit;letter-spacing:.01em;cursor:pointer;transition:background var(--np-t-fast) var(--np-ease-out-soft), color var(--np-t-fast) var(--np-ease-out-soft), border-color var(--np-t-fast) var(--np-ease-out-soft), transform var(--np-t-fast) var(--np-ease-out-soft);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .95rem;font-size:.92rem;font-weight:600;display:inline-flex}.np-like-btn svg{width:1rem;height:1rem}.np-like-count{font-variant-numeric:tabular-nums;color:var(--np-text-faint,var(--np-text-muted))}.np-like-btn.is-active{color:var(--np-brand);border-color:color-mix(in srgb, var(--np-brand) 42%, var(--np-border));background:color-mix(in srgb, var(--np-brand) 12%, var(--np-surface,#fff))}.np-like-btn.is-active .np-like-count{color:var(--np-brand)}.np-like-btn:disabled{opacity:.7;cursor:wait}@media (hover:hover) and (pointer:fine){.np-like-btn:hover{color:var(--np-accent);border-color:color-mix(in srgb, var(--np-accent) 35%, var(--np-border))}.np-like-btn.is-active:hover{color:var(--np-brand)}}.np-like-btn:active{transform:scale(.98)}.np-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.np-role-card{border:1px solid var(--np-border);border-radius:var(--np-radius);background:var(--np-surface);color:inherit;box-shadow:var(--np-shadow-sm);transition:transform var(--np-t-fast) var(--np-ease-out), box-shadow var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.np-role-card:active{transform:scale(.985)}.np-role-cover{aspect-ratio:4/3;background:var(--np-surface-muted);overflow:hidden}.np-role-cover img{object-fit:cover;width:100%;height:100%;transition:transform var(--np-t-base) var(--np-ease-out-soft);display:block}.np-role-cover.is-plain{background:radial-gradient(120% 90% at 20% 10%, color-mix(in srgb, var(--np-brand) 28%, transparent), transparent 58%), radial-gradient(90% 80% at 90% 90%, color-mix(in srgb, var(--np-accent) 12%, transparent), transparent 55%), var(--np-surface-muted)}.np-role-meta{gap:.35rem;min-width:0;padding:.85rem .95rem 1rem;display:grid}.np-role-meta strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;font-weight:650;line-height:1.35;display:block;overflow:hidden}.np-role-tags{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--np-text-faint);font-size:.74rem;font-weight:500;line-height:1.2;display:block;overflow:hidden}.np-role-tags span{margin-right:.45rem}.np-role-tags span:last-child{margin-right:0}.np-role-tags.is-chips{white-space:normal;flex-wrap:wrap;gap:.45rem;display:flex;overflow:visible}.np-role-tags.is-chips a{border:1px solid var(--np-border);background:var(--np-surface-muted);color:var(--np-text-muted);transition:color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out);border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.78rem;text-decoration:none;display:inline-flex}.np-role-tags.is-chips a:hover{color:var(--np-brand);border-color:color-mix(in srgb, var(--np-brand) 35%, var(--np-border));background:var(--np-brand-soft)}.np-role-header-row{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.np-role-header-row h1{margin:0}.np-favorite-btn{border:1px solid var(--np-border);background:var(--np-surface);min-height:2.1rem;color:var(--np-text);font:inherit;cursor:pointer;transition:color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), background var(--np-t-fast) var(--np-ease-out), transform var(--np-t-fast) var(--np-ease-out);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.86rem;font-weight:600;display:inline-flex}.np-favorite-btn svg{flex:none;display:block}.np-favorite-btn.is-active{color:#d97706;border-color:color-mix(in srgb, #f59e0b 55%, var(--np-border));background:color-mix(in srgb, #f59e0b 14%, var(--np-surface))}.np-favorite-btn.is-active svg{fill:currentColor}.np-favorite-btn:active{transform:scale(.97)}.np-favorite-btn.is-popping svg{animation:np-favorite-pop .42s var(--np-ease-out)}@keyframes np-favorite-pop{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}.np-role-body{gap:1.25rem;margin-top:.5rem;display:grid}.np-role-cover-stage{border:1px solid var(--np-border);border-radius:var(--np-radius-lg);background:var(--np-surface-muted);box-shadow:var(--np-shadow-sm);margin:0;overflow:hidden}.np-role-cover-stage img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.np-role-prompt{border:1px solid var(--np-border);border-radius:var(--np-radius);background:var(--np-surface);gap:.55rem;padding:1rem 1.05rem;display:grid}.np-role-prompt strong{font-size:.86rem;font-weight:650}.np-role-prompt pre{border-radius:var(--np-radius-sm);background:var(--np-surface-muted);color:var(--np-text);white-space:pre-wrap;word-break:break-word;margin:0;padding:.85rem .95rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.55;overflow-x:auto}.np-role-restricted{border:1px solid var(--np-border);border-radius:var(--np-radius-lg);background:var(--np-surface);box-shadow:var(--np-shadow-sm);margin-top:1.5rem;padding:1.35rem 1.4rem}.np-role-restricted h2{margin:.35rem 0 .55rem;font-size:1.35rem}.np-role-restricted p{color:var(--np-text-muted);margin:0 0 1rem}.np-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.np-gallery-item{aspect-ratio:3/4;border:1px solid var(--np-border);border-radius:var(--np-radius);background:var(--np-surface-muted);box-shadow:var(--np-shadow-sm);transition:transform var(--np-t-fast) var(--np-ease-out), box-shadow var(--np-t-fast) var(--np-ease-out);display:block;overflow:hidden}.np-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--np-t-base) var(--np-ease-out-soft);display:block}.np-gallery-item:active{transform:scale(.985)}@media (hover:hover) and (pointer:fine){.np-role-card:hover{border-color:color-mix(in srgb, var(--np-brand) 28%, var(--np-border));box-shadow:var(--np-shadow);transform:translateY(-2px)}.np-role-card:hover .np-role-cover img{transform:scale(1.03)}.np-favorite-btn:hover{border-color:color-mix(in srgb, var(--np-accent) 35%, var(--np-border))}.np-favorite-btn.is-active:hover{border-color:color-mix(in srgb, #f59e0b 70%, var(--np-border))}.np-gallery-item:hover{box-shadow:var(--np-shadow);transform:translateY(-2px)}.np-gallery-item:hover img{transform:scale(1.03)}}@media (width<=1100px){.np-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.np-role-grid,.np-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.np-role-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.np-favorite-btn.is-popping svg{animation:none}.np-role-card,.np-gallery-item,.np-role-cover img,.np-gallery-item img{transition:none}}.np-footer.is-compact{margin-top:3.5rem}.np-footer.is-compact .np-footer-bar{width:min(100% - 2.5rem,63rem);color:var(--np-text-faint);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .55rem;margin:0 auto;padding:1.35rem 0 1.6rem;font-size:.82rem;line-height:1.5;display:flex}.np-footer.is-compact .np-footer-bar a{color:inherit;transition:color var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out);border-bottom:1px solid #0000;text-decoration:none}.np-footer.is-compact .np-footer-bar a:hover{color:var(--np-brand);border-bottom-color:color-mix(in srgb, var(--np-brand) 45%, transparent)}.np-post-content a[data-fancybox],.np-role-body a[data-fancybox],.np-role-cover-stage a[data-fancybox]{border-radius:var(--np-radius);max-width:100%;color:inherit;text-decoration:none;display:block;overflow:hidden}.np-post-content a[data-fancybox] img,.np-role-body a[data-fancybox] img,.np-role-cover-stage a[data-fancybox] img{width:100%;height:auto;margin:0;display:block}.np-photos-grid{column-count:3;column-gap:.7rem}.np-photos-item{break-inside:avoid;color:inherit;box-shadow:none;transition:transform var(--np-t-fast) var(--np-ease-out);background:0 0;border:0;border-radius:.55rem;margin:0 0 .7rem;text-decoration:none;display:block;position:relative;overflow:hidden}.np-photos-item img{vertical-align:top;border-radius:inherit;width:100%;height:auto;transition:transform var(--np-t-base) var(--np-ease-out-soft);display:block}.np-photos-caption{color:#fff;pointer-events:none;background:linear-gradient(#0000,#0f11158c);padding:1.5rem .75rem .65rem;font-size:.8rem;font-weight:600;line-height:1.35;position:absolute;bottom:0;left:0;right:0}.np-photo-stage{box-shadow:none;background:0 0;border:0;border-radius:.7rem;margin:.35rem 0 1.25rem;text-decoration:none;display:block;overflow:hidden}.np-photo-stage img{width:100%;height:auto;display:block}.np-photo-position{color:var(--np-text-faint);margin:.15rem 0 0;font-size:.82rem}.np-link-group{margin:0 0 1.85rem}.np-link-group-title{letter-spacing:-.01em;margin:0 0 .85rem;font-size:1.05rem;font-weight:700}.np-link-grid{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.75rem;display:grid}.np-link-card{border:1px solid var(--np-border);border-radius:var(--np-radius);background:var(--np-surface);min-width:0;box-shadow:var(--np-shadow-sm);color:inherit;transition:transform var(--np-t-fast) var(--np-ease-out), border-color var(--np-t-fast) var(--np-ease-out), box-shadow var(--np-t-fast) var(--np-ease-out);grid-template-columns:2.6rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.9rem .95rem;text-decoration:none;display:grid}.np-link-card:active{transform:scale(.985)}.np-link-logo{background:var(--np-surface-muted);width:2.6rem;height:2.6rem;color:var(--np-text-muted);border-radius:999px;place-items:center;font-size:.92rem;font-weight:700;display:grid;overflow:hidden}.np-link-logo img{object-fit:cover;width:100%;height:100%;display:block}.np-link-logo.is-plain{border:1px solid var(--np-border)}.np-link-meta{gap:.18rem;min-width:0;display:grid}.np-link-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:650;line-height:1.3;overflow:hidden}.np-link-meta small{text-overflow:ellipsis;white-space:nowrap;color:var(--np-text-faint);font-size:.78rem;line-height:1.35;overflow:hidden}@media (hover:hover) and (pointer:fine){.np-photos-item:hover img{transform:scale(1.02)}.np-link-card:hover{border-color:color-mix(in srgb, var(--np-brand) 28%, var(--np-border));box-shadow:var(--np-shadow);transform:translateY(-1px)}}@media (width<=989px){.np-photos-grid{column-count:2;column-gap:.6rem}.np-photos-item{margin-bottom:.6rem}}@media (width<=560px){.np-photos-grid{column-count:2;column-gap:.45rem}.np-photos-item{border-radius:.4rem;margin-bottom:.45rem}}@media (prefers-reduced-motion:reduce){.np-photos-item,.np-photos-item img,.np-link-card{transition:none}}#jyf-checkin-root{z-index:80;position:relative}.jyf-checkin-mask{z-index:80!important}.jyf-checkin-modal{z-index:81!important}.jyf-checkin-close{z-index:2;text-align:center;width:2.25rem;height:2.25rem;padding:0;opacity:.72!important;line-height:2.25rem!important}.jyf-checkin-close:hover{opacity:1!important}.np-float-btn.np-md-toggle.is-active{background:var(--np-accent);color:var(--np-button-text-on-accent);border-color:#0000}body.np-md-open .np-main,body.np-md-open .np-footer,body.np-md-open .np-to-top,body.np-md-open .np-overlay-toc,body.np-md-open .np-music{visibility:hidden!important;pointer-events:none!important}body.np-md-open .np-nav,body.np-md-open .np-float{visibility:visible;pointer-events:auto}.np-md-panel{z-index:48;background:var(--np-bg);color:var(--np-text);padding:calc(5.5rem + env(safe-area-inset-top,0px)) max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));flex-direction:column;display:flex;position:fixed;inset:0}.np-md-panel[hidden]{display:none!important}.np-md-panel-bar{justify-content:space-between;align-items:center;gap:1rem;width:min(100%,48rem);margin:0 auto 1rem;display:flex}.np-md-panel-title{letter-spacing:.04em;text-transform:uppercase;color:var(--np-text-muted);font-size:.82rem;font-weight:700}.np-md-panel-actions{gap:.5rem;display:inline-flex}.np-md-copy,.np-md-exit{appearance:none;border:1px solid var(--np-border);background:var(--np-surface);color:var(--np-text);font:inherit;cursor:pointer;transition:background var(--np-t-fast) var(--np-ease-out-soft), color var(--np-t-fast) var(--np-ease-out-soft), border-color var(--np-t-fast) var(--np-ease-out-soft);border-radius:999px;padding:.4rem .9rem;font-size:.82rem;font-weight:650}.np-md-copy:hover,.np-md-exit:hover{background:var(--np-accent);color:var(--np-button-text-on-accent);border-color:#0000}.np-md-pre{border:1px solid var(--np-border);border-radius:var(--np-radius);background:var(--np-surface);width:min(100%,48rem);box-shadow:var(--np-shadow-sm);color:var(--np-text);white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch;flex:auto;margin:0 auto;padding:1.25rem 1.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92rem;line-height:1.65;overflow:auto}@media (width<=640px){.np-md-panel{padding-top:calc(4.75rem + env(safe-area-inset-top,0px))}.np-md-panel-bar{flex-wrap:wrap}.np-md-pre{padding:1rem;font-size:.86rem}}
