body{margin:0;background:#F6F7F9}html{scroll-behavior:smooth}.ks-site a{color:#2563EB}.ks-site a:hover{color:#1D4ED8}@keyframes ks-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ks-in{animation:ks-up .7s cubic-bezier(.16,1,.3,1) both}@keyframes ks-float{0%,to{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-12px) rotate(var(--r))}}.ks-float{animation:ks-float 7s ease-in-out infinite}@keyframes ks-pulse{0%,to{box-shadow:0 0 0 0 rgba(96,165,250,.6)}50%{box-shadow:0 0 0 6px rgba(96,165,250,0)}}.ks-pulse{animation:ks-pulse 2s ease-in-out infinite}@keyframes ks-tick{0%{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}.ks-tick{display:inline-block;animation:ks-tick .45s cubic-bezier(.16,1,.3,1) both}.ks-fill{transition:width .5s cubic-bezier(.16,1,.3,1)}.ks-knob{transition:left .5s cubic-bezier(.34,1.3,.64,1)}.ks-btn{transition:transform .15s,background .2s,box-shadow .25s,border-color .2s,color .2s;cursor:pointer}.ks-btn:active{transform:scale(.97)}.ks-site a.ks-pri,.ks-site a.ks-pri:hover{color:#FFFFFF}.ks-pri:hover{background:#2563EB!important;box-shadow:0 10px 28px -10px rgba(59,130,246,.7)}.ks-site a.ks-sec,.ks-site a.ks-sec:hover{color:#0F172A}.ks-sec:hover{border-color:#CBD5E1!important;background:#F8FAFC!important}.ks-stop:hover{color:#0F172A!important}.ks-card{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}.ks-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(15,23,42,.4)}.ks-chev{transition:transform .35s cubic-bezier(.34,1.4,.64,1)}@keyframes ks-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.ks-open{animation:ks-open .35s cubic-bezier(.16,1,.3,1) both}.ks-step{transition:border-color .3s,background .3s}.ks-nl{transition:color .2s}.ks-site a.ks-nl:hover{color:#0F172A}.ks-nb{transition:transform .15s,background .2s,box-shadow .25s,border-color .2s;cursor:pointer}.ks-nb:active{transform:scale(.97)}.ks-site a.ks-np,.ks-site a.ks-np:hover{color:#FFFFFF}.ks-np:hover{background:#2563EB!important;box-shadow:0 10px 28px -10px rgba(59,130,246,.7)}.ks-site a.ks-ns,.ks-site a.ks-ns:hover{color:#0F172A}.ks-ns:hover{border-color:#CBD5E1!important;background:#F8FAFC!important}.ks-nwide{display:flex}.ks-nnarrow{display:none}@media (max-width:760px){.ks-nwide{display:none!important}.ks-nnarrow{display:inline-flex!important}}.ks-ndrop{animation:ks-open .3s cubic-bezier(.16,1,.3,1) both}.ks-fl{transition:color .2s}.ks-site a.ks-fl:hover{color:#FFFFFF}.ks-toc{transition:color .2s,background .2s}.ks-site a.ks-toc:hover{color:#0F172A;background:#EEF1F5}.ks-lg h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.ks-lg li,.ks-lg p{font-size:16px;line-height:1.7;color:#334155}.ks-lg p{margin:0}.ks-lg ul{margin:0;padding-left:20px;gap:6px}.ks-lg section,.ks-lg ul{display:flex;flex-direction:column}.ks-lg section{scroll-margin-top:100px;gap:14px;padding-top:32px;border-top:1px solid #eef1f5}.ks-ph{font-family:var(--kf-mono),monospace;font-size:.88em;padding:1px 6px;border-radius:6px;background:#FEF3C7;color:#92400E}@keyframes kf-mark-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.kf-mark rect{transform-box:fill-box;transform-origin:center;animation:kf-mark-pop .5s cubic-bezier(.34,1.4,.64,1) both}@media (prefers-reduced-motion:reduce){.kf-mark rect,.ks-site *{animation:none!important;transition:none!important}html{scroll-behavior:auto}}