.aurora-container{width:100%;height:100%}:root{--bg: #0a0a0c;--surface: #121216;--surface-2: #17171c;--text: #f4f2ef;--muted: #8d877f;--accent: #ff6a1a;--accent-2: #c2611f;--border: #23232a;--border-accent: #5a2e1a;--glow: rgba(255, 106, 26, .55);--mono: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background-color:var(--bg);background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:42px 42px,42px 42px;background-attachment:fixed;color:var(--text);font-family:var(--mono);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.kb-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1.2rem;padding:.8rem 1.2rem;background:#0a0a0cd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.kb-brand{font-weight:700;letter-spacing:.02em;color:var(--text)}.kb-brand .px{color:var(--accent)}.kb-nav{display:flex;align-items:center;gap:1.1rem;font-size:.82rem;flex-wrap:wrap}.kb-nav a{color:var(--muted)}.kb-nav a:hover,.kb-nav a.active{color:var(--accent);text-decoration:none}.kb-wrap{max-width:1100px;margin:0 auto;padding:0 1.2rem}.kb-footer{max-width:1100px;margin:2rem auto 1.5rem;padding:1rem 1.2rem 0;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem;text-align:center}.kb-footer a{color:var(--accent)}.kc-index{max-width:1100px;margin:1rem auto 5rem;padding:0 1.2rem;text-align:center}.kc-ascii{position:relative;width:min(94vw,900px);height:clamp(150px,30vw,320px);margin:.5rem auto 0;overflow:hidden}.kc-ascii-fallback{font-size:clamp(2rem,7vw,3.2rem);margin:1.6rem 0 0}.kc-ascii-fallback .px{color:var(--accent)}.kc-sub{color:var(--muted);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;margin:.2rem 0 .5rem}.kc{position:relative}.kc-rack{position:relative;height:190px;margin:0 auto}.kc-chip{position:absolute;left:0;right:0;margin-inline:auto;width:max-content;top:30px;transform-origin:center bottom;will-change:transform,opacity;display:inline-flex;align-items:center;gap:.5ch;white-space:nowrap;padding:.5rem 1.05rem;border-radius:10px;font-family:var(--mono);font-weight:700;border:1px solid var(--border-accent);background:var(--surface);color:var(--muted)}button.kc-chip{cursor:pointer}.kc-chip__num{opacity:.55;font-size:.8em}.kc-chip--active{border-color:transparent;background:var(--accent);color:#160a03;font-size:1.35rem;padding:.7rem 1.5rem;box-shadow:0 0 0 1px #ff6a1a80,0 10px 34px #ff6a1a73}.kc-chip--active:hover{text-decoration:none}.kc-blurbwrap{min-height:2.8em;display:flex;align-items:center;justify-content:center}.kc-blurb{max-width:560px;margin:0 auto;color:#cfc9c1;font-size:.95rem}.kc-stepper{display:flex;align-items:center;gap:.8rem;max-width:760px;margin:.6rem auto 0;padding:0 .5rem}.kc-track{display:flex;align-items:center;flex:1;min-width:0}.kc-step{display:flex;align-items:center;flex:1}.kc-step--first{flex:0 0 auto}.kc-conn{flex:1;height:4px;min-width:16px;margin:0 2px;border-radius:2px;background:#ff6a1a24;overflow:hidden}.kc-conn__fill{height:100%;transform-origin:left center;background:linear-gradient(90deg,var(--accent),#ffb547)}.kc-bead{flex:0 0 auto;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--border-accent);background:var(--surface);color:var(--muted);font-family:var(--mono);font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.kc-bead--complete{background:var(--accent-2);border-color:var(--accent-2);color:#160a03}.kc-bead--active{background:var(--accent);border-color:var(--accent);color:#160a03;box-shadow:0 0 0 4px #ff6a1a2e,0 0 22px #ff6a1a99}.kc-bead--upcoming:hover{border-color:var(--accent);color:var(--text)}.kc-nav{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-accent);background:none;color:var(--accent);font-size:1.3rem;line-height:1;cursor:pointer}.kc-nav:hover:not(:disabled){background:#ff6a1a1a}.kc-nav:disabled{opacity:.3;cursor:default}.kc-enter{display:inline-block;margin-top:1.4rem;padding:.6rem 1.35rem;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-weight:700}.kc-enter:hover{background:#ff6a1a1a;text-decoration:none}.kc-extra{margin-top:1rem;font-size:.82rem}.kc-extra a{color:var(--muted)}.kc-extra a:hover{color:var(--accent)}@media (max-width: 640px){.kc-rack{height:150px}.kc-chip{font-size:.85rem;padding:.4rem .7rem}.kc-chip--active{font-size:1.05rem;padding:.55rem 1rem}.kc-stepper{gap:.4rem}.kc-bead{width:40px;height:40px;font-size:.85rem}.kc-nav{width:34px;height:34px;font-size:1.1rem}.kc-conn{min-width:8px}}.phase{display:grid;grid-template-columns:230px 1fr;gap:2rem;align-items:start;max-width:1180px;margin:0 auto;padding:1.5rem 1.2rem 5rem}.phase__main{min-width:0}.secnav{position:sticky;top:64px;align-self:start;max-height:calc(100vh - 80px);overflow-y:auto;font-size:.82rem;padding-right:.5rem}.secnav h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin:0 0 .6rem}.secnav ul{list-style:none;margin:0;padding:0}.secnav li{margin:.15rem 0}.secnav button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--muted);font-family:var(--mono);font-size:.82rem;padding:.15rem 0;cursor:pointer;line-height:1.35}.secnav button:hover{color:var(--accent)}.secnav button.lvl-3{padding-left:.9rem;font-size:.78rem}@media (max-width: 820px){.phase{grid-template-columns:1fr}.secnav{position:static;max-height:none;border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1rem}}.md h1{font-size:1.9rem;margin:0 0 1rem}.md h2{font-size:1.4rem;margin:2.2rem 0 .8rem;padding-bottom:.3rem;border-bottom:1px solid var(--border);scroll-margin-top:72px}.md h3{font-size:1.12rem;margin:1.6rem 0 .6rem;color:#e8e2da;scroll-margin-top:72px}.md h4{font-size:1rem;margin:1.2rem 0 .5rem;color:var(--muted);scroll-margin-top:72px}.md p{margin:.7rem 0}.md ul,.md ol{padding-left:1.4rem}.md li{margin:.25rem 0}.md blockquote{margin:1rem 0;padding:.5rem 1rem;border-left:3px solid var(--border-accent);background:#ff6a1a0a;color:#d7d2cb}.md a{color:var(--accent)}.md img{max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px;display:block}.md figure{margin:1.2rem 0}.md figcaption{font-size:.8rem;color:var(--muted);margin-top:.4rem;text-align:center}.md hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.md table{border-collapse:collapse;width:100%;margin:1rem 0;display:block;overflow-x:auto;font-size:.9rem}.md th,.md td{border:1px solid var(--border);padding:.4rem .6rem;text-align:left}.md th{background:var(--surface-2);color:var(--accent)}.md :not(pre)>code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.05rem .35rem;font-size:.88em;color:#ffd9b8}.md .missing-image{color:var(--muted);font-style:italic}.codeblock{position:relative;margin:1rem 0}.codeblock pre{margin:0;padding:.9rem 1rem;overflow-x:auto;background:#0d0d11;border:1px solid var(--border);border-radius:8px;font-size:.85rem;line-height:1.5}.codeblock pre code{font-family:var(--mono);background:none;padding:0}.codeblock__copy{position:absolute;top:.5rem;right:.5rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:var(--muted);background:#141418e6;border:1px solid var(--border);border-radius:6px;padding:.2rem .5rem;cursor:pointer;opacity:0;transition:opacity .15s,color .15s,border-color .15s}.codeblock:hover .codeblock__copy{opacity:1}.codeblock__copy:hover{color:var(--accent);border-color:var(--border-accent)}.codeblock__copy.copied{color:var(--accent);border-color:var(--accent);opacity:1}.checklist{border:1px solid var(--border);border-radius:10px;background:var(--surface);margin:1.2rem 0}.checklist__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--border)}.checklist__title{font-size:.95rem;color:var(--accent);margin:0}.checklist__copy{font-family:var(--mono);font-size:.7rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.25rem .55rem;cursor:pointer}.checklist__copy:hover{color:var(--accent);border-color:var(--border-accent)}.checklist__copy.copied{color:var(--accent);border-color:var(--accent)}.checklist ul{list-style:none;margin:0;padding:.5rem 1rem .8rem}.checklist li{display:flex;align-items:flex-start;gap:.6rem;margin:.35rem 0;font-size:.9rem}.checklist li:before{content:"▢";color:var(--muted);flex:none}.checklist .tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);border:1px solid var(--border-accent);border-radius:4px;padding:0 .3rem;margin-left:.4rem}.checklist-group h2{font-size:1.3rem;margin:2rem 0 .5rem;color:var(--text)}.page-intro{color:var(--muted);margin:.5rem 0 2rem}.note{color:var(--muted);font-size:.85rem}:root{--ember: #ff4d1c;--gold: #ffb547}.md .lnk-int{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(255,106,26,.4)}.md .lnk-int:hover{color:#ffb37a;border-bottom-color:var(--accent);text-decoration:none}.md .lnk-ext{color:var(--accent)}.md .lnk-ext:hover{text-decoration:underline}.lnk-ext__i{font-size:.72em;opacity:.7;margin-left:1px}.md .lnk-dead{color:var(--muted);border-bottom:1px dashed var(--border-accent);cursor:help}.node{padding-top:1rem;padding-bottom:4rem}.node__title{font-size:1.9rem;margin:.25rem 0 1.1rem}.crumbs{font-size:.8rem;color:var(--muted);margin:.3rem 0}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}.crumbs__sep{margin:0 .45rem;opacity:.45}.crumbs [aria-current=page]{color:var(--accent)}.hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}.tile{display:flex;flex-direction:column;gap:.4rem;min-height:118px;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-decoration:none;transition:border-color .2s,transform .2s}.tile:hover{border-color:var(--border-accent);transform:translateY(-2px);text-decoration:none}.tile__title{color:var(--text);font-weight:700;font-size:1rem}.tile:hover .tile__title{color:var(--accent)}.tile__blurb{color:var(--muted);font-size:.8rem;line-height:1.4;flex:1}.tile__meta{color:var(--accent);font-size:.7rem;letter-spacing:.08em}@media (prefers-reduced-motion: reduce){.tile:hover{transform:none}}.kb-header{position:sticky;top:0;z-index:30;flex-wrap:wrap}.kb-navitem{position:relative;display:inline-flex;align-items:center}.kb-navbtn{background:none;border:none;color:var(--muted);font-family:var(--mono);font-size:.82rem;cursor:pointer;padding:.3rem .25rem;display:inline-flex;align-items:center;gap:.25rem;text-decoration:none}.kb-navbtn:hover,.kb-navbtn.active{color:var(--accent);text-decoration:none}.kb-navbtn .caret{font-size:.7em;opacity:.7}.kb-drop{position:absolute;top:100%;left:0;min-width:240px;max-height:64vh;overflow:auto;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-accent);border-radius:10px;padding:.4rem;z-index:40;box-shadow:0 12px 32px #0000008c;animation:kb-drop .15s ease}.kb-drop.noanim{animation:none}@keyframes kb-drop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.kb-drop a{color:var(--text);font-size:.82rem;padding:.35rem .55rem;border-radius:6px;text-decoration:none}.kb-drop a:hover{background:#ff6a1a14;color:var(--accent)}.kb-drop__overview{color:var(--accent)!important;border-bottom:1px solid var(--border);margin-bottom:.3rem;border-radius:0}.kb-burger{display:none;background:none;border:1px solid var(--border);color:var(--text);border-radius:6px;font-size:1rem;line-height:1;padding:.3rem .55rem;cursor:pointer}.kb-search{position:relative;margin-left:auto}.kb-search__input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.8rem;border-radius:8px;padding:.35rem .6rem;width:170px;transition:width .15s,border-color .15s}.kb-search__input:focus{outline:none;border-color:var(--border-accent);width:230px}.kb-search__results{position:absolute;right:0;top:112%;width:380px;max-width:84vw;max-height:64vh;overflow:auto;list-style:none;margin:0;padding:.3rem;background:var(--surface);border:1px solid var(--border-accent);border-radius:10px;z-index:40;box-shadow:0 12px 32px #0000008c}.kb-search__results li{display:grid;grid-template-columns:1fr auto;gap:.1rem .6rem;padding:.45rem .55rem;border-radius:6px;cursor:pointer}.kb-search__results li:hover{background:#ff6a1a14}.kb-search__results .r-title{color:var(--text);font-size:.85rem;font-weight:600}.kb-search__results .r-phase{color:var(--accent);font-size:.68rem;align-self:center;white-space:nowrap}.kb-search__results .r-snip{grid-column:1 / -1;color:var(--muted);font-size:.74rem;line-height:1.35}.kb-search__results .r-empty{color:var(--muted);padding:.5rem}@media (max-width: 820px){.kb-burger{display:inline-block;order:2}.kb-search{order:3}.kb-nav{display:none;order:4;width:100%;flex-direction:column;align-items:flex-start;gap:.15rem;padding-top:.5rem}.kb-nav.open{display:flex}.kb-navitem{display:flex;flex-direction:column;align-items:flex-start;width:100%}.kb-drop{position:static;box-shadow:none;min-width:0;width:100%;border-color:var(--border)}}.aurora-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.5}.aurora-bg .aurora-container{width:100%;height:100%}.secnav-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 1.5rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.secnav-inline__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-right:.3rem}.secnav-inline button{font-family:var(--mono);font-size:.78rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.2rem .55rem;cursor:pointer}.secnav-inline button:hover{color:var(--accent);border-color:var(--border-accent)}.secnav-inline button.lvl3{font-size:.72rem;opacity:.85}.secnav-inline button.lvl3:before{content:"› ";opacity:.6}.kb-search__results .r-anchor{color:var(--accent)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
