html{box-sizing:border-box;scroll-behavior:smooth}*,:before,:after{box-sizing:inherit}body,h1,h2,h3,h4,h5,h6,p,ol,ul{margin:0;padding:0;font-weight:400}ol,ul{list-style:none}img{max-width:100%;height:auto}:root,:root[data-theme=terminal]{--background-color:#001219;--surface:#032028;--rule:#0e7c7b;--font-color:#9fd356;--pink:#de639a;--orange:#fa824c;--cyan:#59c3c3;--dim:#6f9aa3}:root[data-theme=darcula]{--background-color:#2b2b2b;--surface:#323232;--rule:#6f7578;--font-color:#a5c261;--pink:#b08cc4;--orange:#cf7e3a;--cyan:#a9b7c6;--dim:#9198a0}:root[data-theme=nord]{--background-color:#2e3440;--surface:#3b4252;--rule:#6e7d98;--font-color:#a3be8c;--pink:#b690af;--orange:#ebcb8b;--cyan:#d8dee9;--dim:#9aa8bc}:root[data-theme=light]{--background-color:#f7f9fa;--surface:#ecf0f3;--rule:#87919c;--font-color:#3f6e12;--pink:#9c3a6b;--orange:#9a4c18;--cyan:#24303a;--dim:#5e6b75;--resp-tint:5%}html{font-family:Roboto Mono,monospace;font-family:var(--font-jetbrains-mono), monospace}body{background:var(--background-color);color:var(--font-color)}.shell{max-width:760px;margin:0 auto;padding:28px 16px 90px}.app-header{z-index:20;background:var(--background-color);position:sticky;top:0}.app-header:after{content:"";background:var(--rule);transform-origin:50%;height:1px;animation:.5s cubic-bezier(.33,0,.2,1) 2.1s forwards rule-draw;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}@keyframes rule-draw{to{transform:scaleX(1)}}.dock{place-content:center;justify-items:center;gap:14px;min-height:100vh;padding:16px 0;animation:.6s cubic-bezier(.65,0,.25,1) 1.7s forwards dock;display:grid}@keyframes dock{to{min-height:0}}.splash{justify-items:center;width:100%;display:grid;position:relative}.brand{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 12px;width:100%;display:flex}.brand h1{text-align:left;white-space:nowrap;width:27ch;font-size:clamp(1rem,5.2vw,2em);animation:.6s cubic-bezier(.65,0,.25,1) 1.7s forwards h1-shrink,.45s cubic-bezier(.65,0,.25,1) 1.7s forwards h1-narrow}@keyframes h1-shrink{to{font-size:.86rem}}@keyframes h1-narrow{to{width:13ch}}.brand .cmd{vertical-align:bottom;white-space:nowrap;animation:.8s steps(26,end) both type,.45s cubic-bezier(.65,0,.25,1) 1.7s forwards cmd-narrow;display:inline-block;overflow:hidden}@keyframes type{0%{width:0}to{width:26ch}}@keyframes cmd-narrow{to{width:13ch}}.brand .prefix{vertical-align:bottom;white-space:nowrap;width:13ch;animation:.45s cubic-bezier(.65,0,.25,1) 1.7s forwards prefix-out;display:inline-block;overflow:hidden}@keyframes prefix-out{to{width:0}}.brand .underline-blink{animation:1s linear infinite underline-blink,.25s 1.7s forwards cursor-out}@keyframes cursor-out{to{opacity:0}}.brand .sign{color:var(--pink)}.brand .status{color:var(--dim);white-space:nowrap;font-size:.78rem;animation:.4s ease-out 2s both boot-in}.brand .status .dot{color:var(--font-color)}.theme-picker{display:none}[data-js] .theme-picker{align-items:center;animation:.4s ease-out 2.35s both boot-in;display:inline-flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.theme-picker select{appearance:none;border:1px solid color-mix(in srgb, var(--rule) 60%, transparent);color:var(--dim);font:inherit;cursor:pointer;background:0 0;padding:1px 7px;font-size:.78rem;transition:color .15s,border-color .15s}.theme-picker select:hover{color:var(--font-color);border-color:var(--font-color)}.theme-picker select:focus-visible{outline:2px solid var(--orange);outline-offset:1px}.theme-picker option{background:var(--background-color);color:var(--font-color)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.boot{pointer-events:none;max-height:10em;color:var(--cyan);text-align:left;white-space:pre;flex-direction:column;font-size:.76rem;line-height:1.55;animation:.3s 1.7s forwards boot-out;display:flex;position:absolute;top:calc(100% + 12px);left:0;right:0;overflow:hidden}.boot .info{color:var(--rule)}.boot-line{animation:.3s ease-out both boot-in;animation-delay:calc(.85s + var(--step) * .14s)}@keyframes boot-out{to{opacity:0;max-height:0}}@keyframes boot-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.routes{border:1px solid var(--rule);animation:.5s ease-out 2s both boot-in}.route{border-bottom:1px solid color-mix(in srgb, var(--rule) 40%, transparent)}.route:last-child{border-bottom:0}.ep{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:0 10px;padding:12px 14px;list-style:none;transition:background .15s;display:flex}.ep::-webkit-details-marker{display:none}.ep:hover{background:var(--surface)}.ep:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}.ep .verb{color:var(--font-color);min-width:3.2em;font-weight:700}.ep .path{color:var(--pink)}.ep .note{color:var(--dim);font-size:.82rem}.ep .chev{color:var(--dim);margin-left:auto;font-size:.7rem;transition:transform .15s}.ep .chev:before{content:"▶"}.route[open]>.ep .chev{transform:rotate(90deg)}.resp{background:color-mix(in srgb, var(--background-color) 100%, black var(--resp-tint,14%));padding:4px 14px 20px}.meta{color:var(--dim);margin-bottom:12px;font-size:.72rem}.meta .ok{color:var(--font-color)}.meta .ct{color:var(--orange)}.doc{gap:14px;max-width:68ch;display:grid}.doc p{color:var(--cyan);font-size:.86rem;line-height:1.75}.doc blockquote{border-left:2px solid var(--rule);color:var(--font-color);margin:0;padding-left:14px;font-size:.86rem;line-height:1.7}.doc .job+.job{border-top:1px solid color-mix(in srgb, var(--rule) 35%, transparent);padding-top:16px}.doc .job h3{color:var(--orange);font-size:.92rem;font-weight:700}.doc .job .period{color:var(--dim);margin-bottom:8px;font-size:.76rem;display:block}.doc ul{gap:6px;margin:0;padding-left:18px;list-style:outside;display:grid}.doc li{color:var(--cyan);font-size:.84rem;line-height:1.6}.doc li::marker{color:var(--rule)}.json{color:var(--cyan);font-size:.8rem;line-height:1.7}.json-rows{grid-template-columns:max-content minmax(0,1fr);column-gap:1ch;padding-left:2ch;display:grid}.json .s{white-space:nowrap}.json .v{overflow-wrap:anywhere}@media (width<=600px){.json-links .json-rows{grid-template-columns:minmax(0,1fr)}.json-links .v{padding-left:2ch}}.json .k{color:var(--pink)}.json .s{color:var(--orange)}.json .p{color:var(--dim)}.cards{grid-gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.card{border:1px solid var(--font-color);color:var(--font-color);flex-direction:column;padding:12px;text-decoration:none;transition:all .2s;display:flex}.card .card-title{color:var(--orange)}.card-details{margin-bottom:10px;font-size:.84rem;line-height:1.6}.card .btn{color:var(--pink)}.card.soon{color:var(--dim);border-color:var(--rule)}.card.soon .card-title{color:var(--dim)}.card-actions{flex-wrap:wrap;align-content:flex-end;gap:8px;margin-top:auto;display:flex}.card-actions .btn{flex:7rem}@supports (grid-template-rows:subgrid){.card{grid-row:span 4;grid-template-rows:subgrid;row-gap:0;display:grid}.card-actions{margin-top:0}}.card .btn-repo{color:var(--cyan);justify-content:center;align-items:center;gap:6px;display:inline-flex}hr{border:0;border-top:1px solid var(--rule);width:100%;margin:8px 0}.btn{background-color:var(--background-color);border:1px solid var(--font-color);color:var(--font-color);cursor:pointer;text-align:center;padding:8px 10px;font-size:.82em;text-decoration:none;transition:all .3s;display:inline-block}.btn:hover{background-color:var(--font-color);color:var(--background-color)}span.underline-blink{animation:1s linear infinite underline-blink}@keyframes underline-blink{to{opacity:0}}@keyframes footer-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}footer{background-color:var(--background-color);border-top:1px solid var(--rule);text-align:center;justify-content:center;width:100%;height:auto;margin:0;animation:.45s cubic-bezier(.25,.9,.3,1) 2.35s both footer-up;display:flex;position:fixed;bottom:0}.icons-social a{color:var(--rule);padding:10px;font-size:28px;transition:color .2s}.icons-social a:hover{color:var(--font-color)}.warm .dock,.warm .brand h1,.warm .brand .cmd,.warm .brand .prefix,.warm .brand .underline-blink,.warm .brand .status,.warm .theme-picker,.warm .boot,.warm .boot-line,.warm .routes,.warm .app-header,.warm .app-header:after,.warm footer{animation:none}.warm .app-header:after{transform:scaleX(1)}.warm footer{transform:none}.warm .dock{min-height:0}.warm .brand h1{width:13ch;font-size:.86rem}.warm .brand .cmd{width:13ch}.warm .brand .prefix{width:0}.warm .brand .underline-blink{opacity:0}.warm .boot{display:none}@media (prefers-reduced-motion:reduce){.dock,.brand h1,.brand .cmd,.brand .prefix,.brand .status,.theme-picker,.boot,.boot-line,.routes,.app-header,.app-header:after,footer,span.underline-blink{animation:none}.app-header:after{transform:scaleX(1)}footer{transform:none}.dock{min-height:0}.brand h1{width:13ch;font-size:.86rem}.brand .cmd{width:13ch}.brand .prefix{width:0}.brand .underline-blink{opacity:0}.boot{display:none}}@media (width<=600px){[data-js] .theme-picker{width:fit-content;margin:0 auto;padding-bottom:4px;display:flex;position:static;transform:none}}svg[data-astro-cid-g5kwm3ld]{vertical-align:-.125em;display:inline-block}
