.chapter.ch-method{view-timeline-name:--chapter, --method;view-timeline-axis:block, block;view-timeline-inset:auto, 0px;grid-template-rows:auto minmax(0,1fr);align-content:stretch;row-gap:clamp(.5rem,1.6svh,1rem);padding-block-end:clamp(1.25rem,4svh,2.5rem)}.ch-method .ch-head{grid-area:1/1/auto/span 6;align-self:start;gap:.5rem;max-width:34rem}.kg-stairs-lede{color:var(--kg-read-ink,#e7e3da);text-shadow:0 1px 12px #000c;margin:0}.kg-stairs-wrap{grid-area:2/1/auto/-1;min-height:0;position:relative}.kg-stairs-seam{z-index:0;pointer-events:none;position:absolute;inset:0}.kg-stairs-svg{width:100%;height:100%;display:block;overflow:visible}.kg-stairs-line,.kg-stairs-glow,.kg-stairs-fork{vector-effect:non-scaling-stroke}.kg-stairs-line{stroke:url(#kg-stairs-line-fade);stroke-width:1.15px}.kg-stairs-glow{stroke:url(#kg-stairs-glow-fade);stroke-width:6px}.kg-stairs-promises{z-index:2;flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex;position:absolute;inset-block-start:.35rem;inset-inline-start:0}.kg-stairs-promises li{color:var(--ink);text-shadow:0 1px 14px #000000e6,0 0 2px #000c;padding-inline-start:1.3rem;font-size:clamp(.95rem,.6rem + .42vw,1.25rem);line-height:1.3;position:relative}.kg-stairs-promises li:before{content:"";inset-inline-start:.1rem;background:var(--gold-bright);width:7px;height:7px;position:absolute;top:.45em;transform:rotate(45deg)}.kg-stairs-list{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;height:100%;margin:0;padding:0;list-style:none;display:grid;position:relative}.kg-step{height:calc(var(--stair-h,1) * 100%);margin-inline:clamp(.4rem,.55vw,.7rem)}.kg-step.kg-shard{--kg-pool:#050506d6;--kg-pool-size:170% 135%;--kg-pool-at:50% 66%;--kg-blur:8px}.kg-step[data-step=launch].kg-shard{--kg-pool-size:175% 175%;--kg-pool-at:50% 42%}.kg-step .kg-content{gap:clamp(.4rem,.9svh,.7rem);padding-inline:clamp(1rem,.7rem + .8vw,1.6rem)}.kg-step-head{align-items:baseline;gap:.75rem;display:flex}.ch-step-number{color:var(--gold-bright);font-family:var(--font-mono), monospace;font-size:var(--fs-micro-lg);letter-spacing:.2em;font-variant-numeric:tabular-nums;font-weight:500}.ch-step-title{color:var(--ink);font-family:var(--font-display-en), serif;text-shadow:0 1px 14px #000000b3;margin:0;font-size:clamp(1.75rem,1.2rem + 1vw,2.5rem);font-weight:400;line-height:1.05}.kg-step-rows{flex-direction:column;gap:clamp(.45rem,1svh,.8rem);margin:0;display:flex}.kg-step-rows dt{color:var(--gold-bright);font-family:var(--font-mono), monospace;font-size:var(--fs-micro);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .15rem;font-weight:500;line-height:1.2}.kg-step-rows dd{color:#f4f0e8;text-shadow:0 1px 2px #0000008c, var(--kg-halo,0 1px 10px #000000b3);text-wrap:pretty;margin:0;font-size:clamp(.9rem,.62rem + .42vw,1.25rem);line-height:1.42}.kg-spec{color:#ece8de;flex-direction:column;flex:auto;justify-content:center;gap:.45rem;min-height:3.6rem;font-size:clamp(.875rem,.6rem + .3vw,1.15rem);line-height:1.25;display:flex}.kg-mini{width:fit-content;max-width:100%;display:block;position:relative}.kg-mini-fill,.kg-mini-edge{pointer-events:none;position:absolute;inset:0}.kg-mini-fill{clip-path:polygon(var(--kg-pts));background:linear-gradient(152deg,#fff9ec1c,#fff9ec08 55%,#0606074d)}.kg-mini-edge{background:linear-gradient(152deg,#fff8e8d9,#e0be6e73 55%,#e0c783cc)}.kg-mini-text{padding:.45rem .8rem;display:block;position:relative}.kg-bubble--reply{align-self:flex-end}.kg-bubble--reply .kg-mini-fill{background:linear-gradient(158deg,#ecc8744d,#805e1e1f 60%,#06060733)}.kg-sheet{width:100%}.kg-sheet .kg-mini-text{flex-direction:column;gap:.4rem;padding:.6rem .9rem;display:flex}.kg-sheet-row{align-items:baseline;gap:.5rem;display:flex}.kg-leader{border-bottom:1px dotted #e0be6e8c;flex:auto;align-self:flex-end;margin-bottom:.3em}.kg-tick{background:var(--gold-bright);flex:none;width:7px;height:7px;transform:rotate(45deg)}.kg-stamp{background:var(--gold-bright);width:12px;height:12px;box-shadow:0 0 0 3px #0b0a09, 0 0 0 4.5px var(--gold);position:absolute;inset-block-start:.7rem;inset-inline-end:1rem;transform:rotate(45deg)}.kg-trail{flex-direction:column;gap:.5rem;padding-inline-start:1.4rem;display:flex;position:relative}.kg-trail:before{content:"";background:linear-gradient(180deg, var(--gold-bright), #e0be6e66);width:1px;position:absolute;inset-block:.55rem;inset-inline-start:.34rem}.kg-trail-row{display:block;position:relative}.kg-node{inset-inline-start:-1.4rem;background:var(--gold-bright);width:9px;height:9px;position:absolute;top:.35em;transform:rotate(45deg)}.kg-trail-row--round .kg-node{box-shadow:0 0 0 1.5px var(--gold-bright), inset 0 0 0 2px #0b0a09, inset 0 0 0 9px var(--gold-bright);background:0 0}.kg-check{flex-direction:column;gap:.42rem;display:flex}.kg-check-row{align-items:center;gap:.6rem;display:flex}.kg-box{background:#e0be6e24;border:1px solid #e0be6eb3;flex:none;place-items:center;width:1.05rem;height:1.05rem;display:grid}.kg-box svg{fill:none;width:.7rem;height:.7rem;stroke:var(--gold-bright);stroke-width:1.7px;stroke-linecap:square}.kg-check-row--last .kg-box{background:var(--gold-bright);box-shadow:0 0 10px #f0d68c8c}.kg-check-row--last .kg-box svg{stroke:#14110a}@keyframes kg-stairs-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes kg-stairs-fork-in{0%{opacity:0}to{opacity:.8}}@keyframes kg-stairs-glow-in{0%{opacity:0}to{opacity:.55}}@keyframes kg-spec-row-in{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0}}@keyframes kg-spec-leave{to{opacity:0}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){:root.hero-engine-ready:not(.hero-engine-fallback) .ch-method .kg-stairs-line{animation:linear both kg-stairs-draw;animation-timeline:--method;animation-range:entry 56% entry 96%}:root.hero-engine-ready:not(.hero-engine-fallback) .ch-method .kg-stairs-glow{animation:linear both kg-stairs-draw,linear both kg-stairs-glow-in;animation-timeline:--method,--method;animation-range:entry 56% entry 96%,entry 60% entry 99%}:root.hero-engine-ready:not(.hero-engine-fallback) .ch-method .kg-stairs-fork{animation:linear both kg-stairs-fork-in;animation-timeline:--method;animation-range:entry 84% entry 99%}:root.hero-engine-ready:not(.hero-engine-fallback) .ch-method .kg-spec-row{animation:kg-spec-row-in var(--ease-out-quint) both;animation-timeline:--method;animation-range:entry calc(68% + var(--step-i,0) * 2.8% + var(--row,0) * 3%) entry calc(76% + var(--step-i,0) * 2.8% + var(--row,0) * 3%)}.ch-method .kg-step[data-step=scope]{--step-i:1}.ch-method .kg-step[data-step=build]{--step-i:2}.ch-method .kg-step[data-step=launch]{--step-i:3}:root.hero-engine-ready:not(.hero-engine-fallback) .ch-method .kg-stairs-seam{animation:linear forwards kg-spec-leave;animation-timeline:--chapter;animation-range:exit 6% exit 40%}}}@media (min-width:1024px) and (max-height:840px){.kg-spec{min-height:0}.kg-step-rows{gap:.4rem}.kg-step-rows dd{font-size:clamp(.92rem,.55rem + .42vw,1.2rem);line-height:1.32}}@media (min-width:1024px) and (max-height:760px){.kg-spec{display:none}}@media (min-width:1024px){.kg-step{container:kgstep/size}}@container kgstep (max-height:599px){.kg-spec{display:none}}@container kgstep (max-height:459px){.kg-step .kg-content{padding-block:calc(var(--kg-pad) * .7);gap:.3rem}.kg-step-rows{gap:.3rem}.kg-step-rows dt{margin:0}.kg-step-rows dd{font-size:.875rem;line-height:1.32}.ch-step-title{font-size:1.6rem}}@container kgstep (max-height:339px){.kg-step-rows>div:last-child{display:none}}@media (max-width:1023px){.chapter.ch-method{grid-template-rows:none}.ch-method .ch-head{max-width:28rem}.kg-stairs-wrap{flex-direction:column;gap:1.1rem;display:flex}.kg-stairs-seam{display:none}.kg-stairs-promises{gap:.55rem;position:static}.kg-stairs-list{flex-direction:column;gap:1.1rem;height:auto;display:flex}.kg-step{max-width:42rem;height:auto;margin-inline:0}.kg-stairs-list>.kg-step:nth-child(odd){margin-inline-end:clamp(.5rem,7vw,3rem)}.kg-stairs-list>.kg-step:nth-child(2n){margin-inline-start:clamp(.5rem,7vw,3rem)}.kg-spec{flex:none;min-height:0}.kg-step-rows dd{font-size:var(--fs-ui)}}.locale-th .ch-step-title{font-family:var(--font-display-th), serif;letter-spacing:normal;overflow-wrap:break-word;line-height:1.22}.locale-th .ch-step-number{letter-spacing:.02em}.locale-th .kg-step-rows dt{font-family:var(--font-body), sans-serif;font-size:var(--fs-ui-tight);letter-spacing:.02em;text-transform:none}.locale-th .kg-step-rows dd{line-height:1.5}
