:root{--ql-paper: #fcfaf5;--ql-ink: #2e2a26;--ql-rust: #b94700;--ql-hairline: #d9d3ca;--ql-ink-muted: #5c554d;--ql-ink-caption: #8a8177;--ql-font-display: "Bricolage Grotesque", system-ui, sans-serif;--ql-font-sans: "Public Sans", system-ui, -apple-system, sans-serif;--ql-font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--ql-radius-sm: 4px;--ql-radius-lg: 4px;--ql-nav-height: 60px;--ql-shadow: 0 22px 48px rgba(46, 42, 38, .12);--ql-shadow-sm: 0 10px 28px rgba(46, 42, 38, .08);--ql-shadow-pop: 0 10px 28px rgba(46, 42, 38, .22), 0 2px 8px rgba(46, 42, 38, .16);--ql-shadow-panel: 0 2px 6px rgba(46, 42, 38, .28), 0 22px 48px rgba(46, 42, 38, .22);--ql-accent-teal: var(--ql-rust);--ql-text-fg: var(--ql-ink);--ql-text-fg-strong: var(--ql-ink);--ql-text-fg-muted: var(--ql-ink-muted);--ql-surface-ink: var(--ql-ink);--glass-border: var(--ql-hairline)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html.snap{scroll-snap-type:y mandatory;scroll-padding-top:var(--ql-nav-height)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.snap{scroll-snap-type:none}}body{margin:0;min-height:100vh;font-family:var(--ql-font-sans);color:var(--ql-ink);background:var(--ql-paper);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--ql-rust);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1120px,92vw);margin-inline:auto}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.4rem;border-radius:var(--ql-radius-sm);font-family:var(--ql-font-sans);font-weight:600;font-size:1rem;border:1px solid transparent;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--ql-rust);color:var(--ql-paper)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:transparent;border-color:var(--ql-hairline);color:var(--ql-ink)}.btn-outline{background:transparent;color:var(--ql-rust);border-color:var(--ql-rust);border-radius:999px;padding:.45rem 1.05rem;font-size:.9rem}.btn-outline:hover{background:transparent;filter:brightness(1.08)}.glass{background:var(--ql-paper);border:1px solid var(--ql-hairline);border-radius:var(--ql-radius-sm)}.glass-sm{border-radius:var(--ql-radius-sm)}[data-enter]{opacity:0}[data-enter=up]{transform:translateY(12px)}[data-enter=left]{transform:translate(-2.25rem)}[data-enter=right]{transform:translate(2.25rem)}.is-in [data-enter],.no-motion [data-enter]{opacity:1;transform:none;transition:opacity .62s ease,transform .62s ease;transition-delay:var(--enter-delay, 0ms)}@media(prefers-reduced-motion:reduce){[data-enter]{opacity:1;transform:none;transition:none}}:root{--ql-level-error-bg: #e07068;--ql-level-warn-bg: #c9a227;--ql-level-info-fg: #7eb8e8;--ql-level-debug-fg: #8a9aab}.log-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .55rem;margin:0;font-family:var(--ql-font-mono);line-height:1.55}.log-ts{color:var(--ql-hairline)}.log-level{display:inline-block;padding:.1rem .4rem;border-radius:3px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--ql-font-mono);line-height:1.2}.log-level.is-error{color:var(--ql-paper);background:var(--ql-level-error-bg)}.log-level.is-warn{color:var(--ql-paper);background:var(--ql-level-warn-bg)}.log-level.is-info,.log-level.is-debug{padding:.08rem .35rem;background:transparent;border:1px solid color-mix(in srgb,var(--ql-paper) 28%,transparent)}.log-level.is-info{color:var(--ql-level-info-fg)}.log-level.is-debug{color:var(--ql-level-debug-fg)}.log-source{display:inline-block;padding:.05rem .4rem;border:1px solid var(--ql-hairline);border-radius:3px;color:color-mix(in srgb,var(--ql-paper) 75%,transparent);font-size:.72rem;letter-spacing:.04em}.log-msg{color:var(--ql-paper)}.lockup[data-astro-cid-7wvkpo3o]{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--ql-ink)}.lockup[data-astro-cid-7wvkpo3o]:hover{text-decoration:none}.lockup[data-astro-cid-7wvkpo3o].hero .lockup-mark[data-astro-cid-7wvkpo3o]{width:42px;height:42px}.lockup[data-astro-cid-7wvkpo3o].hero .lockup-wordmark[data-astro-cid-7wvkpo3o]{font-size:33px}.lockup[data-astro-cid-7wvkpo3o].nav{gap:8px}.lockup[data-astro-cid-7wvkpo3o].nav .lockup-mark[data-astro-cid-7wvkpo3o]{width:22px;height:22px}.lockup[data-astro-cid-7wvkpo3o].nav .lockup-wordmark[data-astro-cid-7wvkpo3o]{font-size:18px}.lockup-wordmark[data-astro-cid-7wvkpo3o]{font-family:var(--ql-font-display);font-weight:800;letter-spacing:-.03em;line-height:1}.lockup-wordmark[data-astro-cid-7wvkpo3o] span[data-astro-cid-7wvkpo3o]{color:var(--ql-rust)}.nav-shell[data-astro-cid-4lunwx2e]{position:sticky;top:0;z-index:50;height:60px;background:color-mix(in srgb,var(--ql-paper) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--ql-hairline)}.nav[data-astro-cid-4lunwx2e]{display:flex;align-items:center;justify-content:space-between;height:60px}.nav-links[data-astro-cid-4lunwx2e]{display:flex;align-items:center;gap:1.15rem;font-size:.92rem}.nav-links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]:not(.btn){color:var(--ql-ink-muted);text-decoration:none;font-weight:500;white-space:nowrap}.nav-links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]:not(.btn):hover,.nav-links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e].active:not(.btn){color:var(--ql-ink)}@media(max-width:375px){.nav-links[data-astro-cid-4lunwx2e]{gap:.55rem;font-size:.78rem}.nav-links[data-astro-cid-4lunwx2e] .btn[data-astro-cid-4lunwx2e]{padding:.32rem .7rem;font-size:.78rem}}
