/* ===== hero tabs ===== */
.hlead{margin-top:36px;max-width:820px}
.hlead .sub{max-width:none;color:oklch(0.9 0.012 190);font-size:20px;line-height:1.45}
.hlead .acts{margin-top:28px}
.hlead .fine{margin-top:16px;display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.5;color:oklch(0.8 0.02 190)}
@media (max-width:760px){.hlead{margin-top:28px}.hlead .sub{font-size:18px}}
.tagl{margin-top:24px;font-size:clamp(32px,2.5vw,36px);font-weight:600;letter-spacing:-.025em;line-height:1.15;color:var(--ac);background:none;-webkit-text-fill-color:currentColor}
@media (max-width:760px){.tagl{font-size:26px;margin-top:18px}}
.iw.mob{grid-template-columns:minmax(0,1fr);height:500px;overflow:hidden}
.iw.mob .side,.iw.mob .iw-det,.iw.mob .acc{display:none}
.iw.mob .iw-body{grid-template-columns:minmax(0,1fr)}
.iw.mob .iw-list{border-right:0;padding:20px}
.iw.mob .iw-h span{display:none}
.iw.mob .tr{grid-template-columns:minmax(0,1fr) 56px 84px;font-size:15px}
.iw.mob .tr svg,.iw.mob .tr.th>span:nth-child(2){display:none}
.iw.mob .tr .nm small{font-size:12.5px}
.htabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px}
.ht{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;position:relative;border:0;background:none;text-align:left;font:inherit;color:var(--on-n);cursor:pointer;padding:20px 0 4px;border-top:1px solid oklch(1 0 0 / .18)}
.ht :is(h3,.ht-t){font-size:19px;letter-spacing:-.015em;line-height:1.2;color:var(--on-n2);transition:color .2s;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.ht :is(p,.ht-d){font-size:15px;line-height:1.5;color:var(--on-n2);margin-top:10px;opacity:.75;transition:opacity .2s}
.ht:hover :is(h3,.ht-t),.ht.on :is(h3,.ht-t){color:#fff}.ht.on :is(p,.ht-d){opacity:1}
.ht .plan{font-size:11.5px;font-weight:600;letter-spacing:0;padding:3px 8px;border-radius:4px;border:1px solid oklch(1 0 0 / .3);color:var(--on-n2);white-space:nowrap}
.ht .pr{position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--ac)}
.ht.on .pr{animation:pr 8s linear forwards}
.iw.who .tr .us{color:var(--ac-d)}
.iw.who .det-u{border-color:var(--ac);box-shadow:0 0 0 3px var(--ac-xl)}
@media (max-width:1180px){.htabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}}
@media (max-width:640px){.htabs{grid-template-columns:1fr;gap:0;margin-top:28px}.ht :is(p,.ht-d){display:none}.ht.on p{display:block}}
@media (prefers-reduced-motion:reduce){.ht.on .pr{animation:none;width:100%}}

/* ===== timeline ===== */
.s-tl{padding:136px 0 136px;border-top:1px solid var(--ui-ln)}
.tl-h{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:72px;align-items:end}
.tl-h h2{font-size:clamp(40px,4.4vw,64px);line-height:.98}
.tl-h .lead{font-size:20px;color:var(--ink2);max-width:28em}
.tlx{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;margin-top:80px;position:relative}
.tlx::before{content:"";position:absolute;left:0;right:0;top:59px;height:2px;background:linear-gradient(90deg,var(--ac),var(--ac) 80%,var(--ui-ln))}
.tlx li{position:relative;display:flex;flex-direction:column;align-items:flex-start}
.tm{height:44px;display:flex;flex-direction:column;justify-content:flex-start;gap:4px}
.tm code{font:600 17px/1 var(--mono);color:var(--ink);letter-spacing:-.01em}
.tm small{font-size:13px;color:var(--ink3)}
.nd{display:block;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--ac);margin-top:8px;position:relative;z-index:1}
.tlx li.end .nd{background:var(--ac);box-shadow:0 0 0 6px var(--ac-xl)}
.tlx .tag{margin-top:28px}
.tlx h3{font-size:22px;letter-spacing:-.02em;line-height:1.15;margin-top:14px}
.tlx p{font-size:16px;color:var(--ink2);margin-top:10px;flex:1}
.t-ok{background:var(--ac);color:#fff}
.mc{margin-top:24px;width:100%;background:#fff;border:1px solid var(--ui-ln);border-radius:10px;box-shadow:var(--sh);overflow:hidden;font:400 12px/1.35 var(--mono);color:var(--ink2)}
.mc>div{display:flex;align-items:center;gap:8px;padding:10px 12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc>div+div{border-top:1px solid var(--ui-ln)}
.mc code{color:var(--ink3);flex:none}
.mc .w{background:var(--amb-bg);color:var(--amb-ink);font-weight:600}.mc .w code{color:var(--amb-ink)}
.mc .e{background:var(--red-bg);color:var(--red);font-weight:600}
.mc .s{background:var(--ac-xl);color:var(--ac-ink);font-weight:500}
.mc .ms{font-size:16px;color:var(--ink3)}
.mc .big{display:flex;align-items:baseline;gap:10px;font:500 13px var(--sans);color:var(--ink2);padding:10px 12px}
.mc .big b{font:700 30px/1 var(--sans);letter-spacing:-.03em;color:var(--ac-d)}
@media (max-width:1180px){.tlx{gap:20px}.tlx h3{font-size:19px}.tlx p{font-size:15px}}
@media (max-width:980px){
.tl-h{grid-template-columns:1fr;gap:20px}
.tlx{grid-template-columns:1fr;gap:44px;padding-left:40px;margin-top:56px}
.tlx::before{left:7px;right:auto;top:6px;bottom:6px;width:2px;height:auto;background:var(--ac)}
.tm{height:auto;flex-direction:row;align-items:baseline;gap:12px}
.nd{position:absolute;left:-40px;top:-1px;margin:0}
.tlx .tag{margin-top:14px}
.mc{max-width:420px}
}
@media (max-width:760px){.s-tl{padding:88px 0 96px}.tl-h .lead{font-size:18px}}

/* ===== s4 identity ===== */
.s4{padding:152px 0 128px}
.s4 .g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
.s4 h2,.s5 h2,.s6 h2,.s7 h2{font-size:clamp(40px,4.4vw,64px);line-height:.98}
.s4 .lead,.s6 .lead,.s7 .lead{font-size:20px;color:var(--ink2);margin-top:24px;max-width:28em}
.pts{list-style:none;margin-top:48px;border-top:1px solid var(--ui-ln)}
.pts li{padding:18px 0;border-bottom:1px solid var(--ui-ln);font-size:18px;font-weight:500;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:baseline}
.pts li span{font-size:14px;font-weight:600;color:var(--ac)}
.s4 .cap{margin-top:40px;font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.3;max-width:20em}
.idv{position:relative;padding-top:8px}
.srch{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--ui-ln);border-radius:12px;padding:16px 20px;box-shadow:var(--sh);font:400 17px var(--mono);position:relative;z-index:2;margin-right:56px}
.srch .ms{font-size:22px;color:var(--ink3)}
.srch i{width:1.5px;height:22px;background:var(--ac);animation:bk 1s steps(1) infinite}
@keyframes bk{50%{opacity:0}}
.srch em{margin-left:auto;font:500 13px var(--sans);font-style:normal;color:var(--ink2);white-space:nowrap}
.uc{margin:-10px 0 0 56px;padding-top:34px;background:#fff;border:1px solid var(--ui-ln);border-radius:12px;box-shadow:var(--sh);overflow:hidden}
.uc-h{display:flex;align-items:center;gap:16px;padding:0 28px 22px;border-bottom:1px solid var(--ui-ln)}
.uc-h .ava{width:60px;height:60px;font-size:20px}
.uc-h b{display:block;font-size:22px;letter-spacing:-.02em}
.uc-h code{font:400 13px var(--mono);color:var(--ink2)}
.uc-h .tg{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.uc-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.uc-g>div{padding:20px 28px}
.uc-g>div+div{border-left:1px solid var(--ui-ln)}
.uc :is(h6,.x-h6){font-size:13px;font-weight:500;color:var(--ink3);margin-bottom:10px}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:13px}
.kv dt{font:400 12.5px var(--mono);color:var(--ink3)}
.kv dd{font:500 12.5px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss{display:flex;flex-direction:column;gap:6px}
.ss div{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--ui-ln);border-radius:8px;font-size:13.5px;font-weight:500}
.ss div .ms{color:var(--ac);font-variation-settings:'FILL' 1;font-size:20px}
.ss div small{margin-left:auto;font-size:12px;color:var(--ink3);font-weight:400;white-space:nowrap}
.ss div i{font-style:normal;width:6px;height:6px;border-radius:50%;background:var(--red);flex:none}
.uc-e{margin:0 28px 24px;padding:14px 16px;border-radius:8px;background:var(--red-bg);display:flex;gap:12px;align-items:flex-start}
.uc-e .ms{color:var(--red);font-size:20px}
.uc-e b{display:block;font-size:14px;color:var(--red)}
.uc-e code{font:400 12px var(--mono);color:var(--ink2)}
.uc-e span:last-child{margin-left:auto;font-size:12px;color:var(--ac-ink);font-weight:600;white-space:nowrap}

/* ===== s5 teams ===== */
.s5{padding:120px 0 136px;background:var(--ui-bg);border-top:1px solid var(--ui-ln)}
.s5 .g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;margin-top:64px;align-items:start}
.rtabs{display:flex;flex-direction:column;border-top:1px solid var(--ui-ln)}
.rt{border:0;background:none;text-align:left;padding:22px 0;border-bottom:1px solid var(--ui-ln);cursor:pointer;font:inherit;color:var(--ink);position:relative}
.rt>span{display:block;font-size:15px;font-weight:600;color:var(--ink3);transition:color .2s}
.rt h3{font-size:24px;letter-spacing:-.02em;line-height:1.15;margin-top:6px;color:var(--ink3);transition:color .2s}
.rt .bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}
.rt .bd>div{overflow:hidden}
.rt p{font-size:16px;color:var(--ink2);margin-top:12px}
.rt a{display:inline-block;margin-top:12px;font-weight:600;color:var(--ac-d)}
.rt.on>span{color:var(--ac)}.rt.on h3,.rt:hover h3{color:var(--ink)}
.rt.on .bd{grid-template-rows:1fr}
.rt .pr{position:absolute;left:0;bottom:-1px;height:2px;background:var(--ac);width:0}
.rt.on .pr{animation:pr 7s linear forwards}
@keyframes pr{to{width:100%}}
.rscr{position:relative;min-height:560px}
.rs{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .35s;pointer-events:none}
.rs.on{opacity:1;transform:none;pointer-events:auto;position:relative}
.panel{background:#fff;border:1px solid var(--ui-ln);border-radius:12px;box-shadow:var(--sh);overflow:hidden}
.p-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--ui-ln)}
.p-h b{font-size:16px}.p-h span{font-size:13px;color:var(--ink3)}
/* pm */
.imp div.r{display:grid;grid-template-columns:minmax(0,1fr) auto 56px;column-gap:16px;row-gap:10px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--ui-ln)}
.imp .r>.bar{grid-column:1/-1;grid-row:2;height:6px}
.imp .r code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin-top:2px}
.imp div.r:last-child{border-bottom:0}
.imp .r b{font-weight:600;font-size:14.5px;display:block}
.imp .r code{font:400 11.5px var(--mono);color:var(--ink3)}
.imp .bar{height:8px;border-radius:4px;background:var(--ui-sf);overflow:hidden}
.imp .bar i{display:block;height:100%;background:var(--ac);border-radius:4px}
.imp .n{font-size:18px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.imp .d{font-size:13px;font-weight:600;text-align:right}
.imp .d.up{color:var(--red)}.imp .d.dn{color:var(--grn)}
.imp .r.top{background:var(--ac-xl)}
/* dev */
.dev{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0}
.code-d{background:oklch(0.19 0.025 200);color:oklch(0.85 0.01 190);padding:18px 0;font:400 12.5px/1.8 var(--mono)}
.code-d .fn{padding:0 20px 10px;color:oklch(0.65 0.015 200);font-size:11.5px;border-bottom:1px solid oklch(0.3 0.02 200);margin-bottom:10px}
.code-d div{display:grid;grid-template-columns:40px minmax(0,1fr);white-space:pre}
.code-d div>span:first-child{text-align:right;padding-right:14px;color:oklch(0.5 0.015 200)}
.code-d .k{color:oklch(0.78 0.08 188)}.code-d .c{color:oklch(0.6 0.015 200)}
.code-d .x{background:oklch(0.35 0.08 30 / .45);box-shadow:inset 3px 0 0 oklch(0.65 0.14 30)}
.dev-r{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.dev-r .fr{border:1px solid var(--ui-ln);border-radius:8px;background:var(--ui-sf);height:150px;position:relative;padding:14px;display:flex;flex-direction:column;gap:8px}
.dev-r .fr i{display:block;height:9px;border-radius:3px;background:oklch(0.9 0.008 190)}
.dev-r .fr .eb{margin-top:auto;background:var(--red-bg);color:var(--red);font:500 11.5px var(--mono);border-radius:5px;padding:8px 10px}
.dev-r .tl2{height:4px;border-radius:2px;background:var(--ui-ln);position:relative}
.dev-r .tl2 u{position:absolute;inset:0 28% 0 0;background:var(--ac);border-radius:2px}
.dev-r .tl2 s{position:absolute;left:72%;top:-6px;width:4px;height:16px;border-radius:2px;background:var(--red)}
.dev-r :is(h6,.x-h6){font-size:12px;font-weight:500;color:var(--ink3);margin-bottom:5px}
.dev-r .s5x{background:var(--red-bg);color:var(--red);border-radius:6px;padding:8px 10px;font-weight:600;font-size:13px}
.dev-r pre{font:400 11.5px/1.55 var(--mono);background:var(--ui-sf);border:1px solid var(--ui-ln);border-radius:6px;padding:9px 10px;white-space:pre-wrap}
/* mkt */
.mk-src{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--ui-ln);font:400 12px var(--mono);color:var(--ink2)}
.mk-src b{font:600 13px var(--sans);color:var(--ink)}
.mk-src .tag{font-family:var(--sans)}
.lp{margin:20px 22px;border:1px solid var(--ui-ln);border-radius:10px;overflow:hidden}
.lp-bar{height:30px;background:var(--ui-sf);border-bottom:1px solid var(--ui-ln);display:flex;align-items:center;gap:6px;padding:0 12px;font:400 11px var(--mono);color:var(--ink3)}
.lp-bar s{width:8px;height:8px;border-radius:50%;background:var(--ui-ln)}
.lp-b{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;padding:26px 28px;background:oklch(0.98 0.012 300)}
.lp-b small{font-size:12px;font-weight:600;color:oklch(0.45 0.12 300)}
.lp-b :is(h6,.x-h6){font-size:24px;line-height:1.1;letter-spacing:-.02em;margin:8px 0 10px;color:oklch(0.22 0.05 300)}
.lp-b p{font-size:13px;color:oklch(0.45 0.03 300)}
.lp-cta{position:relative;margin-top:18px;display:inline-flex;height:42px;align-items:center;padding:0 22px;border-radius:6px;background:oklch(0.45 0.15 300);color:#fff;font-weight:700;font-size:14px}
.lp-cta .ring{left:78%;border-color:var(--amb)}
.lp-cta .rage-l{right:-28px;top:-30px}
.lp-img{border-radius:8px;background:repeating-linear-gradient(135deg,oklch(0.93 0.02 300) 0 8px,oklch(0.96 0.015 300) 8px 9px);display:flex;align-items:center;justify-content:center;font:400 11px var(--mono);color:oklch(0.55 0.04 300);min-height:150px}
.mk-f{display:flex;align-items:center;gap:12px;padding:0 22px 20px;flex-wrap:wrap}
.mk-f .sig{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}
.mk-f .sig b{font-size:26px;letter-spacing:-.03em;color:var(--amb-ink)}
.mk-f .wbtn{margin-left:auto}
/* sup */
.sup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.chat{padding:22px;background:var(--ui-sf);border-right:1px solid var(--ui-ln);display:flex;flex-direction:column;gap:14px}
.chat :is(h6,.x-h6){font-size:13px;font-weight:500;color:var(--ink3)}
.msg{display:flex;gap:10px;align-items:flex-start}
.msg p{background:#fff;border:1px solid var(--ui-ln);border-radius:4px 12px 12px 12px;padding:10px 12px;font-size:13.5px;line-height:1.45}
.msg.me{flex-direction:row-reverse}
.msg.me p{background:var(--ac-xl);border-color:oklch(0.88 0.04 188);border-radius:12px 4px 12px 12px}
.msg.me .ava{background:var(--ac);color:#fff}
.link{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;color:var(--ac-ink)}
.link::before,.link::after{content:"";flex:1;height:1px;background:oklch(0.85 0.04 188)}
.tk{padding:22px;display:flex;flex-direction:column;gap:14px}
.tk-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tk-h b{font-size:15px}
.tk-u{display:flex;align-items:center;gap:10px;font-size:13px}
.tk-u code{font:400 12px var(--mono);color:var(--ink2)}
.tk :is(h6,.x-h6){font-size:12px;font-weight:500;color:var(--ink3);margin-bottom:4px}
.tk .why{font-size:15px;font-weight:600}
.tk .fr{height:120px;border:1px solid var(--ui-ln);border-radius:8px;background:var(--ui-sf);position:relative;overflow:hidden;padding:12px;display:flex;flex-direction:column;gap:7px}
.tk .fr i{display:block;height:8px;border-radius:3px;background:oklch(0.9 0.008 190)}
.tk .fr .bn{position:absolute;left:12px;right:40%;bottom:14px;height:34px;border-radius:5px;background:oklch(0.62 0.14 30 / .9);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;padding:0 10px}
.tk .fr .in{position:absolute;left:18px;bottom:22px;width:34%;height:20px;border:2px solid var(--amb);border-radius:4px}
.tk .acts2{display:flex;gap:8px;flex-wrap:wrap}
.share{margin-top:72px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;padding-top:40px;border-top:1px solid var(--ui-ln)}
.share h3{font-size:30px;line-height:1.1;letter-spacing:-.025em}
.share p{font-size:20px;color:var(--ink2);max-width:34em}
.share p strong{color:var(--ink);font-weight:600}

/* ===== s6 install ===== */
.s6{background:var(--night);color:var(--on-n);padding:112px 0 112px;position:relative;overflow:hidden}
.s6::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 60% at 85% 70%,oklch(0.4 0.07 190 / .45),transparent 70%)}
.s6 .wrap{position:relative}
.s6 .lead{color:var(--on-n2)}
.s6 .g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;margin-top:48px;align-items:start}
.cblk{background:oklch(0.15 0.022 200);border:1px solid var(--night-ln);border-radius:12px;overflow:hidden;box-shadow:var(--sh-d)}
.cblk .bar{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid var(--night-ln);font:400 12px var(--mono);color:oklch(0.65 0.015 200)}
.cblk .bar s{width:9px;height:9px;border-radius:50%;background:var(--night-ln)}
.cblk .bar span{margin-left:auto;font-family:var(--sans);font-weight:600;color:var(--on-n);border:1px solid var(--night-ln);border-radius:6px;padding:5px 10px}
.cblk pre{padding:18px 0;font:400 13.5px/1.6 var(--mono);color:oklch(0.88 0.01 190);overflow-x:auto;white-space:normal}
.cblk pre div{display:grid;grid-template-columns:48px minmax(0,1fr);white-space:pre}
.cblk pre div>span:first-child{text-align:right;padding-right:20px;color:oklch(0.45 0.015 200)}
.cblk .k{color:oklch(0.8 0.09 188)}.cblk .s{color:oklch(0.82 0.07 150)}.cblk .c{color:oklch(0.58 0.015 200)}
.cblk .hl{background:oklch(0.45 0.07 190 / .22)}
.steps{display:flex;flex-direction:column;gap:22px;padding:8px 0}
.step{position:relative;padding-left:28px}
.step::before{content:"";position:absolute;left:0;top:11px;width:16px;height:2px;background:var(--ac)}
.step b{display:block;font-size:18px;letter-spacing:-.015em;line-height:1.3;font-weight:600}
.step small{display:block;margin-top:6px;font-size:14px;color:var(--on-n2)}
.steps .live{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.steps .live div{display:flex;align-items:center;gap:10px;background:oklch(1 0 0 / .06);border:1px solid var(--night-ln);border-radius:8px;padding:8px 10px;font:400 12px var(--mono);color:var(--on-n2)}
.steps .live div i{width:7px;height:7px;border-radius:50%;background:oklch(0.75 0.1 175);flex:none}
.steps .live div em{margin-left:auto;font-style:normal;color:oklch(0.65 0.015 200)}
.fw{margin-top:40px;font-size:15px;color:var(--on-n2)}

/* ===== s7 hosting ===== */
.s7{padding:144px 0 120px}
.s7 .g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:72px;border-top:2px solid var(--ink)}
.s7 .g>div{padding:36px 56px 0 0;display:flex;flex-direction:column}
.s7 .g>div+div{padding:36px 0 0 56px;border-left:1px solid var(--ui-ln)}
.s7 h3{font-size:30px;letter-spacing:-.025em}
.s7 ul{list-style:none;margin-top:24px;flex:1}
.s7 li{padding:13px 0;border-bottom:1px solid var(--ui-ln);font-size:17px;color:var(--ink2)}
.s7 .pr{margin-top:36px;font-size:clamp(32px,3.4vw,48px);font-weight:700;letter-spacing:-.035em;line-height:1;color:var(--ac-d);padding-top:.15em}
.s7 .pr small{font-size:.42em;font-weight:600;letter-spacing:-.01em;color:var(--ink2)}
.s7 .pr.ind{color:var(--ink);font-size:clamp(32px,3.4vw,48px);padding-top:.15em}
.s7 .btn{margin-top:28px;align-self:flex-start}
.btn-ln{border-color:var(--ui-ln);color:var(--ink);background:#fff}.btn-ln:hover{border-color:var(--ink);color:var(--ink)}
.s7 .note{margin-top:56px;font-size:17px;color:var(--ink2)}
.s7 .note a{color:var(--ac-d);font-weight:600}

/* ===== s8 final ===== */
.s8{background:var(--night);color:var(--on-n);padding:176px 0 168px;position:relative;overflow:hidden}
.s8::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 70% at 75% 100%,oklch(0.45 0.08 190 / .55),transparent 70%),radial-gradient(35% 50% at 0% 0%,oklch(0.36 0.06 196 / .35),transparent 70%)}
.s8 .wrap{position:relative}
.s8 h2{font-size:clamp(52px,7.4vw,104px);line-height:.94;letter-spacing:-.045em;max-width:10em}
.s8 p{font-size:22px;color:var(--on-n2);margin-top:32px}
.s8 .acts{margin-top:44px}

/* ===== footer ===== */
.ft{background:var(--ui-bg);border-top:1px solid var(--ui-ln);padding:80px 0 32px;font-size:14px;color:var(--ink2)}
.ft .g{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,3fr) minmax(0,3fr);gap:32px}
.ft img{height:26px;display:block;margin-bottom:20px}
.ft .about p{max-width:22em;line-height:1.55}
.ft .about small{display:block;margin-top:16px;font-size:13px;color:var(--ink3)}
.ft :is(h4,.x-h4){font-size:14px;font-weight:700;color:var(--ink);margin-bottom:18px}
.ft :is(h5,.x-h5){font-size:13px;font-weight:500;color:var(--ink3);margin-bottom:12px}
.ft .two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ft ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft a{text-decoration:none;color:var(--ink2)}.ft a:hover{color:var(--ac)}
.ft a small{font-size:11px;font-weight:600;color:var(--amb-ink);background:var(--amb-bg);padding:1px 5px;border-radius:4px;margin-left:6px}
.ft .misc{display:flex;flex-direction:column;gap:28px}
.ft .misc :is(h4,.x-h4){margin-bottom:12px}
.ft .bot{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:64px;padding-top:24px;border-top:1px solid var(--ui-ln);font-size:13px}
.ft .bot span{margin-right:auto}

@media (max-width:1180px){
.s4 .g,.s5 .g,.share,.s6 .g{grid-template-columns:1fr;gap:48px}
.idv{max-width:760px}
.rscr{min-height:0}
.ft .g{grid-template-columns:1fr 1fr}
.steps{gap:28px}
}
@media (max-width:760px){
.s4,.s7{padding:96px 0 88px}.s5,.s6{padding:88px 0 96px}.s8{padding:112px 0 104px}
.s4 .lead,.s6 .lead,.s7 .lead,.share p{font-size:18px}
.srch{margin-right:0;font-size:14px}.uc{margin-left:0}
.uc-h{flex-wrap:wrap;padding:0 18px 18px}.uc-h .tg{margin-left:0;flex-direction:row}
.uc-g{grid-template-columns:1fr}.uc-g>div{padding:16px 18px}.uc-g>div+div{border-left:0;border-top:1px solid var(--ui-ln)}
.uc-e{margin:0 18px 18px;flex-wrap:wrap}
.imp div.r{padding:12px 16px}
.dev,.sup,.lp-b{grid-template-columns:1fr}
.chat{border-right:0;border-bottom:1px solid var(--ui-ln)}
.code-d{font-size:11px}
.cblk pre{font-size:12px}
.s7 .g{grid-template-columns:1fr}.s7 .g>div,.s7 .g>div+div{padding:32px 0 0;border-left:0}.s7 .g>div+div{margin-top:40px;border-top:1px solid var(--ui-ln)}
.ft .g{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.srch i{animation:none}.rt.on .pr{animation:none;width:100%}.rs{transition:none}}
code,pre,.cblk pre,.code-d,.code-d *,.cblk pre *{font-variant-ligatures:none!important;font-feature-settings:"liga" 0,"calt" 0!important}
@media (max-width:1180px){.s4 .g,.s5 .g,.share,.s6 .g{grid-template-columns:minmax(0,1fr)}}
@media (max-width:980px){.tlx{grid-template-columns:minmax(0,1fr)}.tl-h{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.hd .hd-r .btn{display:none}.srch{flex-wrap:wrap;gap:8px 12px}.srch em{white-space:normal;margin-left:0;flex-basis:100%}.mc{max-width:none}}

/* ===== v11: header ===== */
.hd .nav>a{align-self:center}
.hd .hd-r{gap:12px}
.hd .hd-r>.hd-l{padding:8px 12px;border-radius:6px;transition:background .15s,color .15s}
.hd:not(.sc) .hd-r>.hd-l{color:#fff}
.hd:not(.sc) .hd-r>.hd-l:hover{color:#fff;background:oklch(1 0 0 / .08)}
.hd.sc .hd-r>.hd-l:hover{background:var(--ui-sf)}
/* ===== v11: semantics ===== */
.x-h4,.x-h5,.x-h6{display:block;font-weight:700}
.ht-t{font-weight:700;text-wrap:balance}.ht-d{display:block}
.rt>.rt-b{all:unset;display:block;font-size:15px;font-weight:600;color:var(--ink3);transition:color .2s;cursor:pointer}
.rt.on>.rt-b{color:var(--ac)}
.rt-b:focus-visible,.ht:focus-visible,.faq summary:focus-visible{outline:2px solid var(--ac);outline-offset:4px;border-radius:4px}
.cblk pre.ln{counter-reset:ln}.cblk pre.ln>div{counter-increment:ln}
.cblk pre.ln>div::before{content:counter(ln);text-align:right;padding-right:20px;color:oklch(0.45 0.015 200);user-select:none}
.cblk pre.ln>div>span:first-child{text-align:left;padding-right:0;color:inherit}
.mock-cap{margin-top:16px;font-size:14px;line-height:1.5;color:var(--ink2);max-width:52em}
.hero .mock-cap,.s3 .mock-cap{color:oklch(0.85 0.02 190)}
.vB .s2 .mock-cap{margin-top:32px}
.rs .mock-cap{margin-top:14px}
/* ===== FAQ ===== */
.s-faq{padding:136px 0;border-top:1px solid var(--ui-ln)}
.s-faq .g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;align-items:start}
.s-faq h2{font-size:clamp(40px,4.4vw,64px);line-height:.98}
.faq{border-top:1px solid var(--ui-ln)}
.faq details{border-bottom:1px solid var(--ui-ln)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 0;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:22px;letter-spacing:-.02em;line-height:1.2;transition:color .2s}
.faq summary::after{content:"+";flex:none;font-size:26px;line-height:1;color:var(--ac)}
.faq details[open] summary::after{content:"−"}
.faq summary:hover h3{color:var(--ac-d)}
.faq-a{padding:0 48px 28px 0}
.faq-a p{font-size:17px;color:var(--ink2);max-width:46em}
.faq-a a{color:var(--ac-d);font-weight:600}
.tbd{font-weight:600;color:var(--amb-ink);background:var(--amb-bg);padding:0 4px;border-radius:3px}
@media (max-width:980px){.s-faq .g{grid-template-columns:minmax(0,1fr);gap:32px}}
@media (max-width:760px){.s-faq{padding:88px 0}.faq summary h3{font-size:19px}.faq-a{padding-right:0}}
