@font-face{font-family:Satoshi;src:url(/fonts/satoshi-variable.woff2) format("woff2");font-style:normal;font-weight:300 900;font-display:swap}.sg-page{--sg-ink:oklch(.174 .014 143);--sg-paper:oklch(.943 .011 297);--sg-mist:oklch(.861 .016 193);--sg-muted:oklch(.46 .014 145);--sg-line:oklch(.79 .012 145);--sg-signal:oklch(.515 .207 26);background:var(--sg-paper);color:var(--sg-ink);min-height:100vh;font:450 16px/1.8 Satoshi,system-ui,sans-serif}.sg-page :where(h1,h2,h3,p,ol,ul){margin:0}.sg-page :where(h1,h2,h3){font-family:inherit;letter-spacing:-.045em;text-wrap:balance}.sg-page a{color:inherit;text-underline-offset:4px}.sg-page :focus-visible{outline:2px solid var(--sg-signal);outline-offset:5px}.sg-wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.sg-skip{position:absolute;top:-80px;left:20px;padding:12px 18px;background:var(--sg-paper);color:var(--sg-ink);z-index:60}.sg-skip:focus{top:12px}.sg-header{color:var(--sg-paper);background:var(--sg-ink);border-bottom:1px solid oklch(.33 .014 145)}.sg-nav{min-height:80px;display:flex;align-items:center;gap:30px;font-size:13px}.sg-nav-end{display:flex;align-items:center;gap:26px;margin-left:auto}.sg-nav a{text-decoration:none}.sg-page .sg-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:11px 17px;background:var(--sg-signal);color:var(--sg-paper);border:1px solid transparent;border-radius:5px;font-size:13px;font-weight:650;text-decoration:none;transition:background-color .16s,transform .12s}.sg-page .sg-button:hover{background:#d42229}.sg-page .sg-button:active{transform:scale(.98)}.sg-hero{padding-block:58px 72px;color:var(--sg-paper);background:var(--sg-ink)}.sg-breadcrumb{display:flex;flex-wrap:wrap;gap:14px;color:var(--sg-mist);font-size:12px;margin-bottom:28px!important}.sg-breadcrumb a{text-decoration:none}.sg-hero h1{max-width:23ch;font-size:clamp(36px,4.6vw,64px);line-height:1.08;font-weight:650}.sg-intro{max-width:75ch;color:var(--sg-mist);margin-top:28px!important;font-size:18px;line-height:1.8}.sg-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--sg-mist);font-size:12px;margin-top:26px!important}.sg-main{padding-block:64px 90px}.sg-reading-layout{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:70px;align-items:start}.sg-toc{position:sticky;top:25px}.sg-toc p{font-size:12px;font-weight:700;margin-bottom:20px}.sg-toc ol{padding:0;list-style:none;display:grid;gap:16px}.sg-toc a{display:block;font-size:13px;line-height:1.65;color:var(--sg-muted);text-decoration:none}.sg-toc a:hover{color:var(--sg-signal)}.sg-article{min-width:0;max-width:74ch}.sg-article>section{scroll-margin-top:28px}.sg-article>section+section{margin-top:52px}.sg-article h2{font-size:clamp(25px,2.4vw,32px);line-height:1.2;margin-bottom:22px;font-weight:650}.sg-article p+p{margin-top:18px}.sg-article :is(ol,ul){padding-left:22px;margin-top:22px}.sg-article li+li{margin-top:12px}.sg-code{margin-top:24px;padding:24px;white-space:pre-wrap;overflow-wrap:anywhere;font:400 12px/1.85 JetBrains Mono,ui-monospace,monospace;background:var(--sg-ink);color:var(--sg-paper);border-radius:6px}.sg-faq details{border-bottom:1px solid var(--sg-line);padding-block:18px}.sg-faq summary{cursor:pointer;font-weight:650;line-height:1.6}.sg-faq details p{margin-top:14px;color:var(--sg-muted);font-size:15px}.sg-sources{border-top:1px solid var(--sg-line);padding-top:30px}.sg-sources p{font-size:14px;color:var(--sg-muted)}.sg-sources a{display:inline-flex;gap:10px;align-items:center;color:var(--sg-signal);font-size:14px}.sg-sources>a{margin-top:24px}.sg-related>a{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:18px;border-bottom:1px solid var(--sg-line);font-size:16px;font-weight:600;text-decoration:none}.sg-index-intro{max-width:72ch;margin-bottom:45px!important}.sg-guide-list>article{display:grid;grid-template-columns:55px minmax(0,1fr) 55px;gap:30px;padding-block:35px;border-top:1px solid var(--sg-line)}.sg-list-index{font-size:13px;color:var(--sg-signal)}.sg-guide-list h2{max-width:36ch;font-size:28px;line-height:1.2;font-weight:650}.sg-guide-list h2 a{text-decoration:none}.sg-guide-list p{max-width:72ch;color:var(--sg-muted);font-size:15px;margin-top:16px}.sg-read{display:inline-flex;align-items:center;gap:18px;margin-top:20px;text-decoration:none;font-size:13px;font-weight:650}.sg-read-time{font-size:12px;color:var(--sg-muted)}.sg-end{color:var(--sg-paper);background:var(--sg-ink);padding-block:56px}.sg-end>div{display:flex;justify-content:space-between;align-items:center;gap:45px}.sg-end h2{font-size:32px;line-height:1.15;font-weight:650}.sg-end p{max-width:65ch;color:var(--sg-mist);margin-top:17px;font-size:15px}.sg-end small{display:block;margin-top:12px;color:var(--sg-mist);font-size:11px}.sg-footer{display:flex;align-items:center;flex-wrap:wrap;gap:25px;min-height:100px;padding-block:22px;font-size:12px}.sg-footer a:first-child{display:inline-flex;gap:12px;align-items:center;margin-right:auto}.sg-article .ra-sample{margin-top:24px}@media(max-width:900px){.sg-reading-layout{grid-template-columns:180px minmax(0,1fr);gap:35px}.sg-wrap{width:calc(100% - 48px)}}@media(max-width:700px){.sg-wrap{width:calc(100% - 40px)}.sg-nav{gap:16px;min-height:72px}.sg-nav-end{gap:14px}.sg-nav>a:nth-child(3),.sg-nav-end .sg-button{display:none}.sg-hero{padding-block:38px 48px}.sg-intro{font-size:16px}.sg-reading-layout{display:block}.sg-toc{position:static;border-bottom:1px solid var(--sg-line);padding-bottom:28px;margin-bottom:38px}.sg-toc ol{gap:10px}.sg-main{padding-block:38px 60px}.sg-article h2{font-size:27px}.sg-guide-list>article{grid-template-columns:25px minmax(0,1fr);gap:15px}.sg-read-time{display:none}.sg-guide-list h2{font-size:25px}.sg-end>div{flex-direction:column;align-items:start;gap:25px}.sg-code{padding:17px;font-size:11px}}@media(prefers-reduced-motion:reduce){.sg-page *,.sg-page *:before,.sg-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.sg-header .bg-staiph-violet{background:var(--sg-signal)}.sg-header .font-display{font-family:Satoshi,system-ui,sans-serif}.sg-article ol{list-style:decimal}.sg-article ul{list-style:disc}
