.lg-hero{background:linear-gradient(#eef3fc 0%,#f8fafe 100%);border-bottom:1px solid #e3e7f1;position:relative;overflow:hidden}.lg-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#2a5fd624,#0000 65%);border-radius:50%;width:520px;height:520px;position:absolute;top:-40%;right:-8%}.lg-hero__in{padding-block:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3rem);position:relative}.lg-kicker{font-size:var(--fs-sm);color:var(--blue-dark);margin-top:var(--s-4);font-weight:600}.lg-hero h1{letter-spacing:-.04em;margin-top:.35rem;font-size:clamp(2.2rem,1.4rem + 3vw,3.6rem)}.lg-lead{max-width:60ch;margin-top:var(--s-3);color:var(--body);font-size:var(--fs-lead)}.lg-meta{margin-top:var(--s-5);flex-wrap:wrap;gap:.5rem;display:flex}.lg-meta span{font-size:var(--fs-xs);color:var(--body);background:#fff;border:1px solid #e3e7f1;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .8rem;font-weight:600;display:inline-flex}.lg-meta svg{width:14px;height:14px;color:var(--blue)}.lg-tabs{margin-top:var(--s-6);background:#fff;border:1px solid #e3e7f1;border-radius:14px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.lg-tabs a{font-size:var(--fs-sm);color:var(--muted);border-radius:10px;padding:.55rem 1rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.lg-tabs a:hover{color:var(--ink);background:#f4f6fb}.lg-tabs a[aria-current=page]{background:var(--ink);color:#fff}.lg-layout{gap:var(--s-6);padding-block:clamp(2.5rem,5vw,4rem) var(--sec);display:grid}@media (width>=1024px){.lg-layout{grid-template-columns:250px minmax(0,760px);justify-content:center;gap:clamp(2.5rem,5vw,5rem)}}.lg-toc{align-self:start}@media (width>=1024px){.lg-toc{position:sticky;top:96px}}@media (width<=1023px){.lg-toc{display:none}}.lg-toc__t{font-size:var(--fs-xs);color:var(--muted);margin-bottom:.6rem;font-weight:700}.lg-toc ol{border-left:2px solid #e3e7f1;gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.lg-toc a{color:var(--muted);border-left:2px solid #0000;margin-left:-2px;padding:.4rem .8rem;font-size:.8125rem;line-height:1.4;text-decoration:none;transition:color .2s,border-color .2s;display:block}.lg-toc a:hover{color:var(--ink)}.lg-toc a.is-active{color:var(--blue-dark);border-left-color:var(--blue);font-weight:600}.lg-prose{min-width:0;color:var(--body);font-size:1.0313rem;line-height:1.8}.lg-prose>:first-child{margin-top:0}.lg-prose h1,.lg-prose h2{color:var(--ink);letter-spacing:-.02em;border-top:1px solid #e3e7f1;margin:2.75rem 0 .9rem;padding-top:1.75rem;scroll-margin-top:96px;font-size:clamp(1.3rem,1.1rem + .8vw,1.6rem);line-height:1.25}.lg-prose>h2:first-child,.lg-prose>h1:first-child{border-top:0;padding-top:0}.lg-prose h3{color:var(--ink);margin:1.9rem 0 .6rem;scroll-margin-top:96px;font-size:1.12rem}.lg-prose h4{color:var(--ink);margin:1.5rem 0 .5rem;font-size:1rem}.lg-prose p{margin:0 0 1rem}.lg-prose ul,.lg-prose ol{margin:0 0 1rem;padding-left:1.3rem}.lg-prose li{margin:.3rem 0}.lg-prose li::marker{color:var(--blue)}.lg-prose a{color:var(--blue-dark);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.lg-prose strong{color:var(--ink)}.lg-prose .lead-p{font-size:var(--fs-lead);color:var(--ink);background:#f4f7fd;border:1px solid #e3e9f6;border-radius:16px;padding:1.1rem 1.3rem}.lg-prose table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin:0 0 1.2rem}.lg-prose th,.lg-prose td{text-align:left;vertical-align:top;border-bottom:1px solid #e3e7f1;padding:.6rem .7rem}.lg-help{box-shadow:var(--sh-1);background:#fff;border:1px solid #e3e7f1;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding:1.25rem 1.4rem;display:flex}.lg-help b{color:var(--ink);display:block}.lg-help span{font-size:var(--fs-sm);color:var(--muted)}@media print{.hd,.mega,.ft,.lg-toc,.lg-tabs,.chat-launch,.chat-panel,.scrollbar,.lg-help{display:none!important}.lg-layout{display:block}.lg-hero{background:0 0}}.nf{background:linear-gradient(#f8fafe,#fff);position:relative;overflow:hidden}.nf__grid{gap:var(--s-7);align-items:center;min-height:calc(100vh - 70px);padding-block:clamp(3rem,6vw,5rem);display:grid}@media (width>=960px){.nf__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.nf__code{color:#b42318;font-size:var(--fs-xs);background:#fef3f2;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .8rem;font-weight:700;display:inline-flex}.nf h1{letter-spacing:-.045em;margin-top:var(--s-4);font-size:clamp(2.4rem,1.5rem + 3.6vw,4.2rem);line-height:1.02}.nf h1 .it{color:var(--blue)}.nf .lead{margin-top:var(--s-4);max-width:48ch}.nf__links{margin-top:var(--s-6);gap:.75rem;display:grid}@media (width>=560px){.nf__links{grid-template-columns:1fr 1fr}}.nf__links a{color:var(--ink);transition:border-color .2s,transform .25s var(--ease),box-shadow .25s;background:#fff;border:1px solid #e3e7f1;border-radius:16px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.8rem;padding:.9rem 1rem;text-decoration:none;display:grid}.nf__links a:hover{color:var(--ink);border-color:#bfd0f5;transform:translateY(-2px);box-shadow:0 12px 28px #0f1a3a14}.nf__links .ic{background:var(--blue-soft);width:42px;height:42px;color:var(--blue-dark);border-radius:12px;place-items:center;display:grid}.nf__links .ic svg{width:20px;height:20px}.nf__links b{font-size:var(--fs-sm);display:block}.nf__links small{font-size:var(--fs-xs);color:var(--muted);display:block}.nf__art{justify-self:center;width:min(100%,520px);position:relative}.nf__art svg{width:100%;height:auto;display:block}.nf__art .dig{fill:#0f1a3a;letter-spacing:-8px;font:800 170px/1 Sora,sans-serif}.nf__art .orbit{fill:none;stroke:#c9d6f2;stroke-width:2px;stroke-dasharray:4 10}.nf__art .lens{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.nf__art .lens{animation:5s ease-in-out infinite nf-search}.nf__art .spark{animation:2.4s ease-in-out infinite nf-blink}.nf__art .spark:nth-of-type(2){animation-delay:.8s}.nf__art .spark:nth-of-type(3){animation-delay:1.6s}}@keyframes nf-search{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(18px,-10px)rotate(8deg)}50%{transform:translate(-6px,12px)rotate(-6deg)}75%{transform:translate(-16px,-6px)rotate(4deg)}}@keyframes nf-blink{50%{opacity:.2;transform:scale(.7)}}.nf__art .spark{transform-box:fill-box;transform-origin:50%}