html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.npm__react-simple-code-editor__textarea{-webkit-overflow-scrolling:touch;overflow:auto!important}a:focus-visible,select:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #22d3ee;box-shadow:0 0 0 4px #22d3ee33}:root{--paper:#f4ede0;--paper-deep:#ebe2cf;--paper-light:#faf4e6;--ink:#1a1a1a;--ink-soft:#4a4a46;--ink-mute:#86807a;--line:#d8cfb9;--line-soft:#e4dcc6;--blueprint:#2a4a7a;--blueprint-deep:#1a2e4f;--blueprint-ink:#cfe0ff;--rust:#c6542a;--rust-soft:#e8a078;--rust-bg:#fbece2;--mint:#86a880;--mustard:#d4a04c;--kraft:#c4a373;--data-blue:#a8c6d8;--mono:"IBM Plex Mono", monospace;--sans:"Inter", system-ui, sans-serif;--serif:"Instrument Serif", Georgia, serif}*{box-sizing:border-box}.paper{background:var(--paper);color:var(--ink);font-family:var(--sans);min-height:100vh;font-size:16px;line-height:1.55}a{color:inherit}.paper:before{content:"";pointer-events:none;background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);opacity:.35;z-index:0;background-size:32px 32px;position:fixed;inset:0}.paper>*{z-index:1;position:relative}.nav{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f4ede0eb;align-items:center;gap:28px;padding:14px 40px;display:flex;position:sticky;top:0}.nav .brand-row{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.nav .logo{background:var(--ink);width:26px;height:26px;color:var(--paper);font-family:var(--serif);border-radius:3px;justify-content:center;align-items:center;font-size:14px;display:flex}.nav .brand{letter-spacing:-.3px;font-size:16px;font-weight:700}.nav .stamp{border:1.5px solid var(--ink);font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;border-radius:2px;padding:2px 7px;font-size:9px;font-weight:600;display:inline-block;transform:rotate(-2deg)}.nav .links{gap:22px;margin-left:20px;display:flex}.nav .links a{color:var(--ink);border-bottom:1.5px solid #0000;padding-bottom:2px;font-size:14px;font-weight:500;text-decoration:none}.nav .links a.active{border-bottom-color:var(--rust)}.nav .spacer{flex:1}.nav .login{font-size:14px;font-weight:500;text-decoration:none}.nav .avatar{background:var(--rust);width:32px;height:32px;color:var(--paper);font-family:var(--serif);border-radius:3px;justify-content:center;align-items:center;font-size:15px;text-decoration:none;display:inline-flex}.btn{font-family:var(--sans);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:#000}.btn-secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.btn-secondary:hover{border-color:var(--ink)}.btn-underline{color:var(--ink);border-bottom:1.5px solid var(--ink);background:0 0;border-radius:0;padding:9px 4px}.btn-lg{padding:14px 22px;font-size:15px}.btn-sm{padding:6px 12px;font-size:12px}.btn-rust{background:var(--rust);color:var(--paper)}.btn-rust:hover{background:#a8461f}section.slab{margin-bottom:80px;padding:0 40px}.slab-head{border-bottom:1px solid var(--line);grid-template-columns:280px 1fr;align-items:end;gap:40px;margin-bottom:32px;padding:28px 0;display:grid}.slab-head .meta{font-family:var(--mono);color:var(--rust);letter-spacing:1.5px;text-transform:uppercase;font-size:11px}.slab-head h2{font-family:var(--serif);letter-spacing:-1.2px;margin:0;font-size:clamp(40px,5vw,68px);font-weight:400;line-height:1}.slab-head h2 em{color:var(--rust);font-style:italic}.slab-head .sub{color:var(--ink-soft);max-width:540px;margin-top:18px;font-size:17px}.section-mark{font-family:var(--mono);color:var(--ink-mute);letter-spacing:1.5px;text-transform:uppercase;font-size:11px}.section-mark.rust{color:var(--rust)}.chip{font-family:var(--mono);letter-spacing:1px;border:1px solid var(--line);color:var(--ink-soft);text-transform:uppercase;border-radius:2px;padding:2px 7px;font-size:10px;display:inline-block}.chip.rust{border-color:var(--rust);color:var(--rust);background:var(--rust-bg)}.chip.mint{border-color:var(--mint);color:#3f5a3f;background:#86a88026}.chip.blueprint{border-color:var(--blueprint);color:var(--blueprint)}footer.kit-footer{border-top:1px solid var(--line);grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding:36px 40px 60px;display:grid}footer.kit-footer .brand-col{max-width:300px}footer.kit-footer .brand-col .name{font-family:var(--serif);letter-spacing:-.5px;margin-bottom:4px;font-size:28px}footer.kit-footer .brand-col p{color:var(--ink-soft);margin:8px 0 14px;font-size:13px;line-height:1.6}footer.kit-footer .brand-col .rev{font-family:var(--mono);color:var(--ink-mute);letter-spacing:1.5px;text-transform:uppercase;border:1px solid var(--line);border-radius:2px;padding:3px 7px;font-size:10px;display:inline-block}footer.kit-footer h5{font-family:var(--mono);color:var(--rust);letter-spacing:1.5px;text-transform:uppercase;margin:0 0 14px;font-size:10px;font-weight:600}footer.kit-footer ul{margin:0;padding:0;list-style:none}footer.kit-footer ul li{color:var(--ink-soft);margin-bottom:8px;font-size:13px}footer.kit-footer ul li a{text-decoration:none}footer.kit-footer ul li a:hover{color:var(--ink)}@media (width<=900px){.nav{flex-wrap:wrap;gap:14px;padding:12px 20px}.nav .links{display:none}section.slab{padding-left:20px;padding-right:20px}.slab-head{grid-template-columns:1fr;gap:12px}footer.kit-footer{grid-template-columns:1fr 1fr;gap:32px;padding:32px 20px 48px}footer.kit-footer .brand-col{grid-column:1/-1}}.form-item{margin-top:24px}a{text-decoration:none}.mascot-container{z-index:1300;pointer-events:none;transition:transform .6s ease-out,opacity .3s;position:fixed}.mascot-pos-header.mascot-settling,.mascot-pos-header.mascot-idle,.mascot-pos-header.mascot-belly-up,.mascot-pos-header.mascot-play-fight,.mascot-pos-header.mascot-flipped{z-index:0}.mascot-container.interactive>svg,.mascot-container.interactive>.mascot-gif-overlay{pointer-events:auto;cursor:pointer}.mascot-pos-bottom-right{width:80px;height:100px;bottom:24px;right:24px}.mascot-pos-header{width:70px;height:56px;top:0;overflow:visible;position:absolute!important}.mascot-pos-header svg{width:70px;height:auto;position:absolute;bottom:-2px;left:0}.mascot-peeking{opacity:0;animation:1.5s ease-out .5s forwards mascot-peek-in;transform:translate(-100%)}.mascot-peeking.mascot-pos-header{width:80px;left:-45px}@keyframes mascot-peek-in{0%{opacity:0;transform:translate(-100%)}40%{opacity:1;transform:translate(-8%)}to{opacity:1;transform:translate(0%)}}.mascot-peeking.mascot-pos-bottom-right{animation-name:mascot-peek-in-right;overflow:hidden}@keyframes mascot-peek-in-right{0%{opacity:0;transform:translate(100%)}30%{opacity:1;transform:translate(20%)}to{opacity:1;transform:translate(0%)}}.mascot-peeking svg{transform-origin:84px 32px;transform:rotate(8deg)}@keyframes mascot-walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.mascot-walking svg{animation:.75s ease-in-out infinite mascot-walk-bob}@keyframes mascot-paw-step-front{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes mascot-paw-step-back{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mascot-walking [data-part=paws-back] ellipse:nth-child(odd),.mascot-walking [data-part=paws] ellipse:nth-child(odd){animation:.75s ease-in-out infinite mascot-paw-step-front}.mascot-walking [data-part=paws-back] ellipse:nth-child(2n),.mascot-walking [data-part=paws] ellipse:nth-child(2n){animation:.75s ease-in-out .375s infinite mascot-paw-step-back}@keyframes mascot-walk-across{0%{transform:translateX(var(--walk-from,-100px))}to{transform:translateX(var(--walk-to,0px))}}.mascot-walking:not(.mascot-header-walk){animation:mascot-walk-across var(--walk-duration,3s) linear forwards}@keyframes mascot-header-walk{0%{transform:translateX(var(--walk-start,-80px))}45%{transform:translateX(var(--walk-far,900px))}50%{transform:translateX(var(--walk-far,900px))}to{transform:translateX(var(--walk-settle,60px))}}.mascot-header-walk{animation:4.5s ease-in-out forwards mascot-header-walk}.mascot-flipped svg{animation:.35s ease-in-out forwards mascot-turn-around}@keyframes mascot-turn-around{0%{transform:scaleX(1)scaleY(1)}30%{transform:scaleX(.5)scaleY(1.1)}50%{transform:scaleX(-.5)scaleY(1.1)}80%{transform:scaleX(-.85)scaleY(1.03)}to{transform:scaleX(-1)scaleY(1)}}@keyframes mascot-settle{0%{transform:scale(1.05)}to{transform:scale(1)}}.mascot-settling svg{animation:.4s ease-out mascot-settle}@keyframes mascot-tail-sway{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes mascot-tail-flick{0%,85%,to{transform:rotate(0)}90%{transform:rotate(-12deg)}95%{transform:rotate(8deg)}}.mascot-idle [data-part=tail]{transform-origin:100px 48px;animation:3s ease-in-out infinite mascot-tail-sway,8s ease-in-out infinite mascot-tail-flick}.mascot-pos-header.mascot-idle [data-part=tail],.mascot-pos-header.mascot-settling [data-part=tail]{transform-origin:100px 48px;animation:2.5s ease-in-out infinite mascot-tail-sway,7s ease-in-out infinite mascot-tail-flick}.mascot-idle [data-part^=eyelid]{transition:opacity .25s ease-in-out}.mascot-hover [data-part=ear-left]{transition:transform .1s;transform:rotate(-2deg)!important}.mascot-hover [data-part=ear-right]{transition:transform .1s;transform:rotate(2deg)!important}@keyframes mascot-roll-over{0%{transform:rotate(0)scale(1)}50%{transform:rotate(90deg)scale(.9)}to{transform:rotate(0)scale(1)}}.mascot-belly-up svg{animation:.5s ease-in-out mascot-roll-over}@keyframes mascot-ball-drop{0%{opacity:0;transform:translateY(-60px)}60%{opacity:1;transform:translateY(5px)}80%{transform:translateY(-8px)}to{transform:translateY(0)}}.mascot-ball{background:#a5f3fc;border-radius:50%;width:14px;height:14px;margin-left:-7px;animation:.4s ease-out forwards mascot-ball-drop;position:absolute;bottom:-4px;left:50%}@keyframes mascot-play-fight{0%,to{transform:translate(0)}25%{transform:translate(-8px)rotate(-5deg)}50%{transform:translate(8px)rotate(5deg)}75%{transform:translate(-4px)rotate(-2deg)}}.mascot-play-fight svg{animation:.6s ease-in-out 3 mascot-play-fight}@keyframes mascot-ball-bounce{0%,to{transform:translate(0)}25%{transform:translate(-12px,-8px)}50%{transform:translate(12px,-4px)}75%{transform:translate(-6px,-10px)}}.mascot-play-fight .mascot-ball{animation:.6s ease-in-out 3 mascot-ball-bounce}@keyframes mascot-ball-exit{to{opacity:0;transform:translate(120px)}}.mascot-ball-exit{animation:.3s ease-in forwards mascot-ball-exit}.mascot-departing{transition:transform 1.5s ease-in}.mascot-depart-right{transform:translate(calc(100vw + 100px))}.mascot-depart-left{transform:translate(-200px)}.mascot-away{display:none}.mascot-pos-header.mascot-emoting{z-index:0}.mascot-gif-overlay{justify-content:center;align-items:center;transition:opacity 33ms ease-out;display:flex;position:absolute;inset:0}.mascot-gif-overlay img{object-fit:contain}.mascot-container>svg{transition:opacity 33ms ease-out}.mascot-container.mascot-gif-active>svg{opacity:0}@media (width<=767px){.mascot-container{display:none}}.auth-form-floater{width:250px;margin:120px auto;display:table}.auth-form-floater button{width:100%}.auth-form-floater .form-item{margin-top:24px}.form-item input{box-sizing:border-box;width:100%;height:32px}.form-item button{height:32px}.form-item a{color:initial;margin:0 auto;text-decoration:none;display:table}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}code[class*=language-],pre[class*=language-]{color:#ccc;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;-webkit-hyphens:none;hyphens:none;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;line-height:1.5}pre[class*=language-]{margin:.5em 0;padding:1em;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}
