html.xss-root{background:var(--th-bg,var(--xr-cream,#e9e6dc))!important;height:auto!important;overflow:clip auto!important}html.xss-root body{background:var(--th-bg,var(--xr-cream,#e9e6dc))!important;height:auto!important;overflow:clip visible!important}.xs-setup{--ss-bg:var(--th-bg,var(--xr-cream,#e9e6dc));--ss-paper:var(--th-paper,#f9f8f4);--ss-white:var(--th-white,#fdfcf9);--ss-ink:var(--th-ink,#1f1c17);--ss-ink2:var(--th-ink2,#4e4b43);--ss-grey:var(--th-grey,#75716a);--ss-faint:var(--th-faint,#948f84);--ss-line:var(--th-line,#e3e1d9);--ss-line2:var(--th-line2,#d3d1c9);--ss-red:var(--th-red,#c52416);--ss-code-bg:#201d19;--ss-code-chrome:#191713;--ss-code-line:#e8e4d817;--ss-code-text:#cfcac0;--ss-code-sec:#8f8a7e;--ss-mono:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace;--ss-sans:var(--font-geist-sans), system-ui, sans-serif;--ss-pad:clamp(22px, 5vw, 84px);--ss-ease:cubic-bezier(.23, 1, .32, 1);--ss-s1:14px;--ss-s2:22px;--ss-s3:34px;--ss-s4:clamp(44px, 6vh, 68px);--ss-sect:clamp(72px, 10vh, 116px);background:var(--ss-bg);color:var(--ss-ink2);font-family:var(--ss-sans);min-height:100vh;font-size:16px;line-height:1.6;overflow-x:clip}.xs-setup ::selection{color:var(--ss-ink);background:#ecd8d2}.xs-setup a{color:inherit;text-decoration:none}.xs-setup :focus-visible{outline:2px solid var(--ss-red);outline-offset:3px}.xs-setup section{padding:0}.xs-setup footer{background:0 0;border:0;padding:0}.xs-setup h1,.xs-setup h2,.xs-setup h3{color:var(--ss-ink);max-width:none}.ss-wrap{max-width:1180px;padding-left:var(--ss-pad);padding-right:var(--ss-pad);margin:0 auto}.ss-btn{font-family:var(--ss-sans);border:1px solid var(--ss-line2);color:var(--ss-ink);cursor:pointer;transition:border-color .16s, background .16s, color .16s, transform .12s var(--ss-ease);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:500;display:inline-flex}.ss-btn:hover{border-color:var(--ss-ink)}.ss-btn:active{transform:scale(.97)}.ss-btn.primary{background:var(--ss-ink);border-color:var(--ss-ink);color:var(--ss-bg)}.ss-btn.primary:hover{background:#2c2820}.ss-ctas{margin-top:var(--ss-s3);flex-wrap:wrap;gap:12px;display:flex}.xs-setup .ss-nav{z-index:40;height:60px;padding:0 var(--ss-pad);background:color-mix(in srgb, var(--ss-bg) 86%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--ss-line);align-items:center;gap:16px;display:flex;position:fixed;inset:0 0 auto}.ss-brand{letter-spacing:-.02em;color:var(--ss-ink);align-items:center;gap:9px;font-size:16.5px;font-weight:600;display:inline-flex}.ss-brand .mk{width:14px;height:14px;color:var(--ss-red)}.ss-nav-tag{font-family:var(--ss-mono);color:var(--ss-faint);font-size:12px}.ss-nav-right{align-items:center;gap:20px;margin-left:auto;display:inline-flex}.ss-nav-right .quiet{color:var(--ss-grey);font-size:14.5px;transition:color .15s}.ss-nav-right .quiet:hover{color:var(--ss-ink)}.ss-fx{font-family:var(--ss-mono);letter-spacing:.03em;color:var(--ss-grey);border:1px solid var(--ss-line2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;transition:color .15s,border-color .15s;display:inline-flex}.ss-fx:hover{color:var(--ss-ink);border-color:var(--ss-ink)}.ss-fx b{color:var(--ss-ink);text-align:left;min-width:2.4ch;font-weight:600}.ss-fx[aria-pressed=false] b{color:var(--ss-red)}.ss-nav-right .cta{color:var(--ss-bg);background:var(--ss-ink);border-radius:9px;padding:9px 16px;font-size:14px;font-weight:500;transition:background .15s}.ss-nav-right .cta:hover{background:#2c2820}.ss-hero{max-width:1180px;padding:clamp(110px, 15vh, 150px) var(--ss-pad) var(--ss-s4);margin:0 auto}.ss-topline{margin:0 0 var(--ss-s1);font-family:var(--ss-mono);letter-spacing:.01em;color:var(--ss-ink);align-items:center;gap:8px;font-size:13px;display:flex}.ss-topline .mk{width:11px;height:11px;color:var(--ss-red);flex:none}.ss-topline a{transition:color .15s}.ss-topline a:hover{color:var(--ss-red)}.ss-topline .sep{color:var(--ss-faint)}.ss-h1{letter-spacing:-.03em;color:var(--ss-ink);text-wrap:balance;max-width:24ch;margin:0;font-size:clamp(30px,3.8vw,50px);font-weight:500;line-height:1.06}.ss-lede{margin:var(--ss-s2) 0 0;color:var(--ss-ink2);max-width:58ch;font-size:15.5px;line-height:1.62}.ss-hero-fine{margin:var(--ss-s2) 0 0;font-family:var(--ss-mono);color:var(--ss-grey);max-width:62ch;font-size:11px;line-height:1.6}.ss-hero-fine a{color:var(--ss-grey);text-underline-offset:3px;text-decoration:underline}.ss-hero-fine a:hover{color:var(--ss-ink)}.ss-pills{margin-top:var(--ss-s3);flex-wrap:wrap;gap:10px;display:flex}.ss-pill{font-family:var(--ss-mono);color:var(--ss-ink);background:var(--ss-white);border:1px solid var(--ss-line2);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:10px;padding:7px 8px 8px 15px;font-size:13px;display:inline-flex}.ss-pill .lbl{letter-spacing:.03em;color:var(--ss-grey);font-size:11px}.ss-pill .cp{font-family:var(--ss-mono);letter-spacing:.02em;color:var(--ss-grey);border:1px solid var(--ss-line2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:3px 9px;font-size:11px;transition:color .15s,border-color .15s}.ss-pill .cp:hover,.ss-pill .cp.did{color:var(--ss-ink);border-color:var(--ss-ink)}.xs-setup .ss-tools{padding:0 0 var(--ss-s4)}.ss-tools-head{margin:0 0 var(--ss-s2);max-width:70ch;font-family:var(--ss-mono);letter-spacing:.02em;color:var(--ss-grey);font-size:12px}.ss-tools-head b{color:var(--ss-ink);font-weight:600}.ss-grid{background:var(--ss-line2);border:1px solid var(--ss-line2);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.ss-grid.two{grid-template-columns:repeat(2,1fr)}.ss-tools-head.sub{margin-top:var(--ss-s3,44px)}.ss-card{background:var(--ss-white);flex-direction:column;align-items:flex-start;gap:0;min-width:0;padding:22px 22px 20px;transition:background .16s;display:flex}.ss-card:hover{background:var(--ss-paper)}.ss-card:focus-visible{outline-offset:-2px}.ss-tile{width:38px;height:38px;font-family:var(--ss-mono);color:var(--ss-ink);background:var(--ss-bg);border:1px solid var(--ss-line2);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:500;display:inline-flex}.ss-tile .xtm{color:var(--ss-ink);display:block}.ss-card .nm{letter-spacing:-.012em;color:var(--ss-ink);margin:14px 0 0;font-size:16px;font-weight:600}.ss-card .how{font-family:var(--ss-mono);letter-spacing:.02em;color:var(--ss-grey);margin:4px 0 0;font-size:11px}.ss-card .go{color:var(--ss-ink);margin:auto 0 0;padding-top:16px;font-size:13.5px;font-weight:500;transition:color .15s}.ss-card:hover .go{color:var(--ss-red)}.xs-setup .ss-sec{padding:var(--ss-s4) 0 0;scroll-margin-top:84px}.xs-setup .ss-sec+.ss-sec{margin-top:var(--ss-s4);border-top:1px solid var(--ss-line)}.ss-body{max-width:1180px;padding:0 var(--ss-pad) var(--ss-sect);margin:0 auto}.ss-sec h2{letter-spacing:-.026em;text-wrap:balance;margin:0;font-size:clamp(22px,2.6vw,32px);font-weight:500;line-height:1.12}.ss-sec h3{letter-spacing:-.012em;margin:var(--ss-s3) 0 0;font-size:16px;font-weight:600}.ss-p{margin:var(--ss-s1) 0 0;color:var(--ss-ink2);max-width:68ch;font-size:15px;line-height:1.65}.ss-p a{color:var(--ss-ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--ss-line2);text-decoration-color:var(--ss-line2);transition:text-decoration-color .15s}.ss-p a:hover{-webkit-text-decoration-color:var(--ss-red);text-decoration-color:var(--ss-red)}.xs-setup .ss-step{padding:var(--ss-s4) 0 0}.xs-setup .ss-step+.ss-step,.xs-setup .ss-step+.ss-sec{margin-top:var(--ss-s4);border-top:1px solid var(--ss-line)}.ss-step .nno{font-family:var(--ss-mono);letter-spacing:.03em;color:var(--ss-red);margin:0 0 8px;font-size:12px;display:block}.ss-ic{font-family:var(--ss-mono);background:var(--ss-white);border:1px solid var(--ss-line2);color:var(--ss-ink);overflow-wrap:anywhere;border-radius:6px;padding:1px 6px 2px;font-size:.86em}.ss-code{margin:var(--ss-s2) 0 0;background:var(--ss-code-bg);border-radius:10px;max-width:760px;overflow:hidden}.ss-code-bar{background:var(--ss-code-chrome);border-bottom:1px solid var(--ss-code-line);align-items:center;gap:4px;padding:8px 8px 8px 14px;display:flex}.ss-code-lang{font-family:var(--ss-mono);letter-spacing:.03em;color:var(--ss-code-sec);margin-right:auto;font-size:11px}.ss-code-tab{font-family:var(--ss-mono);letter-spacing:.02em;color:var(--ss-code-sec);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:11px;transition:color .15s,background .15s}.ss-code-tab:hover{color:var(--ss-code-text)}.ss-code-tab.on{color:var(--ss-code-text);background:#e8e4d814}.ss-code-copy{font-family:var(--ss-mono);letter-spacing:.02em;color:var(--ss-code-sec);border:1px solid var(--ss-code-line);cursor:pointer;background:0 0;border-radius:6px;margin-left:8px;padding:4px 10px;font-size:11px;transition:color .15s,border-color .15s}.ss-code-copy:hover{color:var(--ss-code-text);border-color:#e8e4d847}.ss-code-copy.did{color:var(--ss-code-text)}.ss-code pre{font-family:var(--ss-mono);color:var(--ss-code-text);margin:0;padding:15px 18px 17px;font-size:13px;line-height:1.62;overflow-x:auto}.ss-code code{font-family:inherit}.ss-code ::selection{color:#fff;background:#e8442e47}.ss-others{margin-top:var(--ss-s2);flex-wrap:wrap;gap:8px;display:flex}.ss-others a{font-family:var(--ss-mono);color:var(--ss-ink);background:var(--ss-white);border:1px solid var(--ss-line2);border-radius:999px;align-items:center;gap:7px;padding:7px 14px 8px;font-size:12.5px;transition:border-color .15s;display:inline-flex}.ss-others a:hover{border-color:var(--ss-ink)}.ss-others a .mk{width:9px;height:9px;color:var(--ss-red);flex:none}.xs-setup .ss-close{padding:var(--ss-sect) 0;border-top:1px solid var(--ss-line);background:var(--ss-paper)}.ss-close .ss-h2{letter-spacing:-.028em;text-wrap:balance;margin:0;font-size:clamp(26px,3.2vw,42px);font-weight:500;line-height:1.06}.ss-close .ss-sub{margin:var(--ss-s2) 0 0;color:var(--ss-ink2);max-width:52ch;font-size:15.5px;line-height:1.6}.ss-foot{border-top:1px solid var(--ss-line);padding:0;position:relative;overflow:clip}.ss-foot-ground{background-image:radial-gradient(circle at 1.5px 1.5px, color-mix(in srgb, var(--ss-ink) 38%, transparent) 1.1px, transparent 1.6px);background-size:5px 5px;position:absolute;inset:0}.ss-foot-scrim{background:linear-gradient(to bottom, color-mix(in srgb, var(--ss-bg) 32%, transparent), color-mix(in srgb, var(--ss-bg) 68%, transparent) 30%, color-mix(in srgb, var(--ss-bg) 68%, transparent));position:absolute;inset:0}.ss-foot-inner{z-index:1;max-width:1180px;padding:clamp(36px, 5vh, 54px) var(--ss-pad) 26px;margin:0 auto;position:relative}.ss-foot-grid{grid-template-columns:minmax(130px,1.1fr) repeat(3,minmax(110px,1fr));gap:26px 24px;padding:0 0 clamp(28px,4vh,40px);display:grid}.ss-foot-brand{flex-direction:column;gap:6px;min-width:0;display:flex}.ss-foot-brand .row{flex-wrap:wrap;align-items:center;gap:6px 9px;margin:0;display:flex}.ss-foot-brand .mk{width:13px;height:13px;color:var(--ss-red);flex:none}.ss-foot-brand .nm{letter-spacing:-.02em;color:var(--ss-ink);font-size:15.5px;font-weight:600}.ss-foot-brand .tag{font-family:var(--ss-mono);color:var(--ss-grey);white-space:nowrap;flex-basis:100%;font-size:11px}.ss-foot-col{z-index:auto;-webkit-backdrop-filter:none;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:9px;display:flex;position:static}.ss-foot-col h3{font-family:var(--ss-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ss-grey);margin:0 0 2px;font-size:10px;font-weight:500}.ss-foot-col a{font-family:var(--ss-sans);color:var(--ss-ink2);font-size:13.5px;transition:color .15s}.ss-foot-col a:hover{color:var(--ss-ink)}.ss-foot-base{border-top:1px solid var(--ss-line2);font-family:var(--ss-mono);color:var(--ss-grey);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding-top:16px;font-size:11px;display:flex}.ss-foot-base p{margin:0}@media (prefers-reduced-motion:reduce){.xs-setup *,.xs-setup :before,.xs-setup :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html[data-effects=off] .ss-foot-ground,html[data-effects=off] .ss-foot-scrim{display:none}@media (max-width:960px){.ss-grid,.ss-grid.two{grid-template-columns:1fr 1fr}}@media (max-width:768px){.ss-nav-tag{display:none}.xs-setup .ss-nav,.ss-nav-right{gap:10px}.ss-nav-right .quiet{display:none}.ss-fx{padding:5px 10px}.ss-hero{padding-top:96px}.ss-foot-grid{grid-template-columns:1fr 1fr;gap:26px 22px}.ss-foot-brand{grid-column:1/-1}}@media (max-width:620px){.ss-grid,.ss-grid.two{grid-template-columns:1fr}.ss-code pre{font-size:12.5px}.ss-code-bar{flex-wrap:wrap}.ss-pills{flex-direction:column;align-items:stretch}.ss-pill{border-radius:14px;flex-wrap:wrap}.ss-pill .cp{margin-left:auto}}
