.nx-site .nb-stack{gap:16px;display:grid}.nx-site .nb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:1000px){.nx-site .nb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.nx-site .nb-grid{grid-template-columns:1fr}}.nx-site .nb-card{color:inherit;transition:border-color .25s,transform .5s var(--ease);grid-template-rows:auto 1fr;text-decoration:none;display:grid;overflow:hidden}.nx-site .nb-card:hover{border-color:var(--line-strong,#3a3950)}.nx-site .nb-card:focus-visible{outline:2px solid var(--violet);outline-offset:3px}.nx-site .nb-thumb{aspect-ratio:16/9;background:var(--char);border-bottom:1px solid var(--edge);display:block;position:relative;overflow:hidden}.nx-site .nb-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);display:block}.nx-site .nb-card:hover .nb-thumb img{transform:scale(1.03)}.nx-site .nb-ph{background:radial-gradient(120% 90% at 20% 0%,#7064f229,transparent 60%),repeating-linear-gradient(to right,#ffffff09 0 1px,transparent 1px 32px),repeating-linear-gradient(to bottom,#ffffff09 0 1px,transparent 1px 32px),var(--char);place-items:center;display:grid;position:absolute;inset:0}.nx-site .nb-ph .mono{color:var(--quiet);letter-spacing:.04em;font-size:12px}.nx-site .nb-body{align-content:start;gap:10px;padding:22px 22px 24px;display:grid}.nx-site .nb-body h3{color:var(--cloud);letter-spacing:-.005em;text-wrap:pretty;font-size:18px;font-weight:500;line-height:1.35}.nx-site .nb-body p{color:var(--mist);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.nx-site .nb-body .more{margin-top:6px}.nx-site .nb-card:hover .more{color:var(--cloud)}.nx-site .nb-card:hover .more .ar{transform:translate(3px)}.nx-site .nb-feature{grid-template-rows:none;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.nx-site .nb-feature .nb-thumb{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--edge);min-height:320px}.nx-site .nb-feature .nb-body{align-content:center;gap:14px;padding:clamp(24px,3.4vw,40px)}.nx-site .nb-feature h3{letter-spacing:-.015em;font-size:clamp(22px,2.4vw,30px);line-height:1.2}.nx-site .nb-feature .nb-body p{-webkit-line-clamp:4;font-size:16px}@media (max-width:860px){.nx-site .nb-feature{grid-template-columns:1fr}.nx-site .nb-feature .nb-thumb{aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--edge);min-height:0}}.nx-site .nb-skel .nb-body i{background:var(--steel);border-radius:6px;height:12px;display:block}.nx-site .nb-skel .nb-body i:first-child{width:40%}.nx-site .nb-skel .nb-body i:nth-child(2){width:90%;height:18px}.nx-site .nb-skel .nb-body i:nth-child(3){width:70%}.nx-site .nb-skel .nb-thumb,.nx-site .nb-skel .nb-body i{animation:1.4s ease-in-out infinite nb-pulse}@keyframes nb-pulse{50%{opacity:.45}}.nx-site .nb-empty{justify-items:start;gap:12px;padding:clamp(28px,4vw,44px);display:grid}.nx-site .nb-empty p{color:var(--frost);max-width:52ch}.nx-site .nb-more{justify-items:center;gap:10px;margin-top:24px;display:grid}.nx-site .nb-more .err{color:var(--mist);font-size:14px}.nx-site .nb-more .btn[disabled],.nx-site .nb-more .btn[aria-busy=true]{opacity:.6;cursor:progress}.nx-site .nb-more .btn{text-decoration:none}.nx-site .nb-pager{justify-content:center;margin-top:24px;display:flex}.nx-site .nb-pager .btn{text-decoration:none}.nx-site .nb-cta{background:radial-gradient(80% 140% at 100% 0,#7064f224,#0000 60%),#0b0c11cc;justify-content:space-between;align-items:center;gap:24px;padding:clamp(24px,3.4vw,40px);display:flex}.nx-site .nb-cta>div{gap:10px;display:grid}.nx-site .nb-cta h2{font-size:clamp(22px,2.6vw,30px)}.nx-site .nb-cta p{color:var(--mist);max-width:56ch}@media (max-width:700px){.nx-site .nb-cta{flex-direction:column;align-items:flex-start}}.nx-site .nb-intro{padding-bottom:clamp(40px,5vw,64px)}.nx-site .nb-head{gap:18px;max-width:860px;display:grid}.nx-site .nb-back{gap:8px;width:max-content;text-decoration:none;transition:color .2s;display:inline-flex}.nx-site .nb-back:hover{color:var(--frost)}.nx-site .nb-back .ar{transition:transform .4s var(--ease)}.nx-site .nb-back:hover .ar{transform:translate(-3px)}.nx-site .nb-cats{flex-wrap:wrap;gap:6px;display:flex}.nx-site .nb-meta{flex-wrap:wrap;gap:6px 18px;display:flex}.nx-site .nb-meta>*+:before{content:"·";color:var(--quiet);margin-right:18px}.nx-site .nb-hero-img{border:1px solid var(--edge);background:var(--char);border-radius:16px;margin:clamp(28px,4vw,44px) 0 0;overflow:hidden}.nx-site .nb-hero-img img{object-fit:cover;width:100%;max-height:560px;display:block}.nx-site .nb-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,72px);margin-bottom:clamp(56px,7vw,96px);display:grid}.nx-site .nb-layout.no-toc{grid-template-columns:minmax(0,1fr)}.nx-site .nb-layout.no-toc .nb-prose{margin-inline:auto}.nx-site .nb-side{overscroll-behavior:contain;max-height:calc(100vh - 128px);position:sticky;top:96px;overflow:auto}.nx-site .nb-toc{gap:14px;display:grid}.nx-site .nb-toc ol{border-left:1px solid var(--edge);margin:0;padding:0;list-style:none;display:grid}.nx-site .nb-toc li.sub a{padding-left:28px}.nx-site .nb-toc a{color:var(--quiet);border-left:1px solid #0000;margin-left:-1px;padding:7px 0 7px 16px;font-size:13.5px;line-height:1.4;text-decoration:none;transition:color .2s,border-color .2s;display:block}.nx-site .nb-toc a:hover{color:var(--frost)}.nx-site .nb-toc a.cur{color:var(--cloud);border-left-color:var(--violet)}@media (max-width:1000px){.nx-site .nb-layout{grid-template-columns:minmax(0,1fr)}.nx-site .nb-side{border:1px solid var(--edge);background:#0b0c11cc;border-radius:16px;max-height:none;padding:18px 20px;position:static;overflow:visible}}.nx-site .nb-prose{max-width:72ch;color:var(--mist);overflow-wrap:anywhere;font-size:17px;line-height:1.75}.nx-site .nb-prose>:first-child{margin-top:0}.nx-site .nb-prose p,.nx-site .nb-prose ul,.nx-site .nb-prose ol,.nx-site .nb-prose blockquote,.nx-site .nb-prose pre,.nx-site .nb-prose table,.nx-site .nb-prose figure{margin:0 0 1.25em}.nx-site .nb-prose h1,.nx-site .nb-prose h2,.nx-site .nb-prose h3,.nx-site .nb-prose h4{color:var(--cloud);letter-spacing:-.015em;text-wrap:balance;scroll-margin-top:96px;font-weight:500;line-height:1.25}.nx-site .nb-prose h1,.nx-site .nb-prose h2{margin:2em 0 .7em;padding-top:.2em;font-size:clamp(24px,2.4vw,30px)}.nx-site .nb-prose h3{margin:1.7em 0 .6em;font-size:20px;font-weight:600}.nx-site .nb-prose h4{margin:1.5em 0 .5em;font-size:17px;font-weight:600}.nx-site .nb-prose strong,.nx-site .nb-prose b{color:var(--frost);font-weight:600}.nx-site .nb-prose a{color:var(--cloud);text-underline-offset:3px;-webkit-text-decoration:underline #7064f2b3;text-decoration:underline #7064f2b3;text-decoration-thickness:1px;transition:text-decoration-color .2s}.nx-site .nb-prose a:hover{-webkit-text-decoration-color:var(--cloud);text-decoration-color:var(--cloud)}.nx-site .nb-prose ul,.nx-site .nb-prose ol{padding-left:1.4em}.nx-site .nb-prose li{margin:.35em 0;padding-left:.2em}.nx-site .nb-prose li::marker{color:var(--quiet)}.nx-site .nb-prose ol>li::marker{font-family:var(--mono);font-size:.85em}.nx-site .nb-prose blockquote{border-left:2px solid var(--violet);color:var(--frost);padding:.2em 0 .2em 1.2em;font-size:1.05em}.nx-site .nb-prose blockquote p:last-child{margin-bottom:0}.nx-site .nb-prose code{font-family:var(--mono);background:var(--steel);border:1px solid var(--edge);color:var(--frost);border-radius:6px;padding:.12em .4em;font-size:.86em}.nx-site .nb-prose pre{font-family:var(--mono);background:var(--ink);border:1px solid var(--edge);color:var(--frost);border-radius:12px;padding:18px 20px;font-size:14px;line-height:1.65;overflow:auto}.nx-site .nb-prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.nx-site .nb-prose img{border:1px solid var(--edge);border-radius:12px;max-width:100%;height:auto;margin:1.6em auto;display:block}.nx-site .nb-prose figure img{margin:0 auto}.nx-site .nb-prose figcaption{font:500 12px/1.5 var(--mono);color:var(--quiet);text-align:center;margin-top:10px}.nx-site .nb-prose hr{border:0;border-top:1px solid var(--edge);margin:2.4em 0}.nx-site .nb-prose table{border-collapse:collapse;max-width:100%;font-size:15px;line-height:1.5;display:block;overflow-x:auto}.nx-site .nb-prose th,.nx-site .nb-prose td{border:1px solid var(--edge);text-align:left;vertical-align:top;padding:10px 14px}.nx-site .nb-prose th{background:var(--char);color:var(--cloud);font-weight:600}.nx-site .nb-prose iframe,.nx-site .nb-prose video{border:0;border-radius:12px;max-width:100%}@media (max-width:560px){.nx-site .nb-prose{font-size:16px}}
