.ex-terminal{--sh-k2:color-mix(in srgb,var(--sh-k) 72%,var(--sh-p));--sh-gt:oklch(from var(--sh-g) min(l,.48) c h);--sh-at:oklch(from var(--sh-a) min(l,.5) c h);--sh-bt:oklch(from var(--sh-b) min(l,.5) c h);--sh-on-g:oklch(from var(--sh-g) clamp(.16,(.6 - l) * 999,1) calc(c * .28 * clamp(0, (l - .6) * 999, 1)) h);--sh-panel:color-mix(in srgb,#fff 62%,var(--sh-p));--sh-line:color-mix(in srgb,var(--sh-k) 18%,var(--sh-p));--sh-tint:color-mix(in srgb,var(--sh-g) 8%,var(--sh-panel))}.ex-terminal:has(.ex-dark:checked){--sh-gt:oklch(from var(--sh-g) max(l,.78) c h);--sh-at:oklch(from var(--sh-a) max(l,.8) c h);--sh-bt:oklch(from var(--sh-b) max(l,.76) c h);--sh-panel:color-mix(in srgb,var(--sh-k) 4%,var(--sh-p));--sh-line:color-mix(in srgb,var(--sh-k) 16%,var(--sh-p))}.sh{overflow-x:clip;background:var(--sh-p);color:var(--sh-k);font:400 15px/1.7 var(--font-mono);transition:background-color .4s,color .4s}.sh :where(a){color:inherit;text-decoration:none}.sh :where(h1,h2,h3,p,ul,ol,pre,figure,blockquote){margin:0}.sh :where(ul,ol){padding:0;list-style:none}.sh-w{width:min(100% - 64px,1200px);margin-inline:auto}.sh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sh h1,.sh h2,.sh h3{font-weight:600;letter-spacing:-.04em;line-height:1.08}.sh h1 em,.sh h2 em{font-style:normal;color:var(--sh-gt)}.sh-kick{font-size:14px;color:var(--sh-gt)}.sh-btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 22px;border-radius:6px;background:var(--sh-g);color:var(--sh-on-g)!important;font-size:15px;font-weight:600;transition:translate .15s,background-color .2s}.sh-btn:hover{translate:0 -2px}.sh-btn-s{height:40px;padding:0 16px;font-size:14px}.sh-btn-o{background:none;color:var(--sh-gt)!important;box-shadow:inset 0 0 0 1.5px currentColor}.sh-bar{position:sticky;top:var(--ex-top);z-index:5;background:color-mix(in srgb,var(--sh-p) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--sh-line);transition:top .3s}.sh-bar-in{display:flex;align-items:center;gap:34px;height:68px}.sh-logo{font-size:19px;font-weight:600;letter-spacing:-.02em}.sh-logo b{color:var(--sh-gt)}.sh-bar nav{display:flex;gap:28px;margin-left:auto;font-size:14px;color:var(--sh-k2)}.sh-bar nav a:hover,.sh-foot nav a:hover{color:var(--sh-gt)}.sh-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:90px 0 70px}.sh-hero-c{display:grid;justify-items:start}.sh-tag{padding:5px 14px;border:1px solid var(--sh-line);border-radius:999px;font-size:13px;color:var(--sh-k2)}.sh h1{margin-top:26px;font-size:clamp(46px,5.8vw,88px)}.sh h1 em:after,.sh-end h2 em:after{content:"";display:inline-block;width:.55em;height:.85em;margin-left:.12em;vertical-align:-.08em;background:var(--sh-g)}.sh-sub{max-width:500px;margin-top:24px;font-size:17px;color:var(--sh-k2)}.sh-acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.sh-install{margin-top:26px;padding:12px 18px;border:1px solid var(--sh-line);border-radius:8px;background:var(--sh-panel);font-size:14px}.sh-install span{color:var(--sh-gt)}.sh-term{border:1px solid var(--sh-line);border-radius:12px;background:var(--sh-panel);overflow:hidden;box-shadow:0 30px 80px -40px color-mix(in srgb,var(--sh-g) 45%,transparent)}.sh-term-top{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-bottom:1px solid var(--sh-line);font-size:12px;color:var(--sh-k2)}.sh-term-top i{width:12px;aspect-ratio:1;border-radius:50%;background:#ff5f57}.sh-term-top i:nth-child(2){background:#febc2e}.sh-term-top i:nth-child(3){margin-right:10px;background:#28c840}.sh-out{padding:24px 24px 30px;font:400 15px/1.9 var(--font-mono);white-space:normal}.sh-out>span{display:block;white-space:pre;overflow:hidden}.sh-cmd{font-weight:600}.sh-ok{color:var(--sh-gt)}.sh-prompt i{display:inline-block;width:.6em;height:1.1em;vertical-align:-.2em;background:var(--sh-g)}.sh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px dashed var(--sh-line)}.sh-stats li{display:grid;gap:2px;padding:26px 24px;color:var(--sh-k2)}.sh-stats li+li{border-left:1px dashed var(--sh-line)}.sh-stats b{font-size:34px;font-weight:600;letter-spacing:-.03em;color:var(--sh-k)}.sh-sec{padding-top:120px}.sh-head{display:grid;gap:16px;align-content:start}.sh-head h2{font-size:clamp(34px,4.4vw,60px)}.sh-head>p:not(.sh-kick){max-width:460px;color:var(--sh-k2)}.sh-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px}.sh-steps li{display:grid;align-content:start;gap:10px}.sh-num{font-size:13px;color:var(--sh-gt)}.sh-steps h3{font-size:22px}.sh-steps li>p:not(.sh-num){color:var(--sh-k2)}.sh-steps pre{margin-top:10px;padding:18px 20px;border:1px solid var(--sh-line);border-radius:10px;background:var(--sh-panel);font:400 14px/1.8 var(--font-mono);overflow-x:auto}.sh-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:52px;border-top:1px solid var(--sh-line);border-left:1px solid var(--sh-line)}.sh-feat li{display:grid;align-content:start;gap:10px;padding:30px 28px;border-right:1px solid var(--sh-line);border-bottom:1px solid var(--sh-line);transition:background-color .2s}.sh-feat li:hover{background:var(--sh-panel)}.sh-feat h3{font-size:20px}.sh-feat h3 span{color:var(--sh-gt)}.sh-feat p{color:var(--sh-k2)}.sh-feat code{justify-self:start;margin-top:6px;padding:5px 10px;border-radius:6px;background:var(--sh-panel);font:400 13px var(--font-mono);color:var(--sh-bt)}.sh-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center}.sh-split-r{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.sh-file,.sh-log{border:1px solid var(--sh-line);border-radius:12px;background:var(--sh-panel);overflow:hidden}.sh-file-t{padding:10px 18px;border-bottom:1px solid var(--sh-line);font-size:13px;color:var(--sh-k2)}.sh-code{padding:18px 0 22px;counter-reset:ln;font-size:15px;line-height:1.85}.sh-code li{counter-increment:ln;padding-right:18px;white-space:pre;overflow:hidden}.sh-code li:before{content:counter(ln);display:inline-block;width:3.4em;padding-right:1.2em;text-align:right;color:var(--sh-k2)}.sh-key{color:var(--sh-bt)}.sh-str{color:var(--sh-gt)}.sh-n{color:var(--sh-at)}.sh-c{color:var(--sh-k2)}.sh-log ul{display:grid;gap:2px;padding:16px 18px 20px;font-size:14px}.sh-log li{display:grid;grid-template-columns:84px 52px minmax(0,1fr);gap:12px}.sh-log time{color:var(--sh-k2)}.sh-log b{font-weight:600;text-transform:uppercase}.sh-l-info{color:var(--sh-bt)}.sh-l-warn{color:var(--sh-at)}.sh-l-done{color:var(--sh-gt)}.sh-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:52px}.sh-plans>li{display:grid;align-content:start;gap:18px;padding:30px 28px;border:1px dashed var(--sh-line);border-radius:12px}.sh-plans>.sh-top{border:1.5px solid var(--sh-g);background:var(--sh-tint)}.sh-plan{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:16px;color:var(--sh-gt)}.sh-plan span{padding:2px 10px;border-radius:999px;background:var(--sh-g);color:var(--sh-on-g);font-size:12px}.sh-price{color:var(--sh-k2)}.sh-price b{font-size:44px;font-weight:600;letter-spacing:-.04em;color:var(--sh-k)}.sh-plans ul{display:grid;gap:6px;color:var(--sh-k2)}.sh-plans ul li:before{content:"+ ";color:var(--sh-gt)}.sh-plans .sh-btn{margin-top:6px}.sh-changes{display:grid;gap:22px}.sh-changes li{display:grid;gap:4px;padding-left:22px;border-left:2px solid var(--sh-line)}.sh-changes li:first-child{border-left-color:var(--sh-g)}.sh-changes li p:first-child{display:flex;gap:16px}.sh-changes b{color:var(--sh-gt);font-weight:600}.sh-changes li p:last-child,.sh-changes time{color:var(--sh-k2)}.sh-said{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.sh-said li{display:flex}.sh-said figure{display:grid;align-content:space-between;gap:18px;width:100%;padding:26px 26px 24px;border:1px solid var(--sh-line);border-radius:12px;background:var(--sh-panel)}.sh-said blockquote{font-size:16px}.sh-said blockquote:before{content:"// ";color:var(--sh-gt)}.sh-said figcaption{font-size:13px;color:var(--sh-k2)}.sh-said figcaption:before{content:"-- "}.sh-qa details{border-bottom:1px solid var(--sh-line)}.sh-qa details:first-child{border-top:1px solid var(--sh-line)}.sh-qa summary{padding:20px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:600}.sh-qa summary::-webkit-details-marker{display:none}.sh-qa summary:before{content:"[+] ";color:var(--sh-gt)}.sh-qa details[open] summary:before{content:"[-] "}.sh-qa details p{padding:0 0 22px 2.5em;color:var(--sh-k2)}.sh-end{display:grid;justify-items:center;gap:22px;margin-top:140px;padding:110px 0;border-block:1px dashed var(--sh-line);text-align:center}.sh-end h2{font-size:clamp(48px,7vw,108px)}.sh-end>p:not(.sh-kick){max-width:520px;color:var(--sh-k2)}.sh-end .sh-acts{justify-content:center;margin-top:8px}.sh-foot{display:grid;justify-items:center;gap:14px;padding:50px 0 10px;text-align:center}.sh-foot nav{gap:8px 28px;font-size:14px}.sh-foot nav,.sh-foot p{display:flex;flex-wrap:wrap;justify-content:center;color:var(--sh-k2)}.sh-foot p{gap:6px 24px;font-size:13px}.sh-foot p a{text-decoration:underline;text-underline-offset:4px}@media (prefers-reduced-motion:no-preference){.sh-out>span{animation:sh-type .6s steps(28) both;animation-delay:calc(var(--i) * .45s + .3s)}.sh h1 em:after,.sh-end h2 em:after,.sh-prompt i{animation:sh-blink 1.1s step-end infinite}}@keyframes sh-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes sh-blink{50%{opacity:0}}@media (max-width:1040px){.sh-hero,.sh-split,.sh-split-r{grid-template-columns:minmax(0,1fr);gap:44px}.sh-split-r .sh-log{order:2}.sh-said,.sh-steps{grid-template-columns:minmax(0,1fr);max-width:620px}.sh-feat{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-plans{grid-template-columns:minmax(0,1fr);max-width:520px}.sh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-stats li:nth-child(3){border-left:0}.sh-stats li:nth-child(n+3){border-top:1px dashed var(--sh-line)}}@media (max-width:760px){.sh-w{width:min(100% - 32px,1200px)}.sh-bar-in{height:60px}.sh-bar nav{display:none}.sh-bar .sh-btn{margin-left:auto}.sh-hero{padding-top:50px}.sh-sec{padding-top:90px}.sh-install{font-size:12px}.sh-out{padding:18px 16px 22px;font-size:12.5px}.sh-feat{grid-template-columns:minmax(0,1fr)}.sh-stats li{padding:20px 16px}.sh-stats b{font-size:26px}.sh-code{font-size:12.5px}.sh-code li:before{width:2.6em;padding-right:.9em}.sh-log ul{font-size:12px}.sh-log li{grid-template-columns:66px 40px minmax(0,1fr);gap:8px}.sh-end{margin-top:100px;padding:80px 0}}