/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:"Onest", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--site-max:768px;--color-ink:#121212;--color-ink-soft:#525252;--color-muted:#8a8a8a;--color-line:#e8e8e6;--color-line-strong:#d4d4d2;--color-surface:#f6f5f2;--color-surface-2:#efeeea;--color-paper:#fffcf7;--color-accent:#1f5c4d;--color-accent-hover:#164539;--color-accent-soft:#dceee8;--color-danger:#9b2c2c;--color-danger-soft:#fde8e8;--color-warn:#8a5a00;--color-warn-soft:#fff3d6}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.hidden{display:none}.table{display:table}}@font-face{font-family:Onest;src:url(/fonts/Onest-VF.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}html,body{min-height:100%;font-family:var(--font-sans);color:var(--color-ink);background:var(--color-surface);-webkit-font-smoothing:antialiased}body{margin:0}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.site-shell{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:clip}.site-header{z-index:30;background:#f6f5f2d1;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--color-surface) 82%, transparent)}}.site-header{-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-bottom:1px solid #0000}.site-header.is-scrolled,.site-header{border-bottom-color:#e8e8e6cc}@supports (color:color-mix(in lab, red, red)){.site-header.is-scrolled,.site-header{border-bottom-color:color-mix(in srgb, var(--color-line) 80%, transparent)}}.site-header-inner{max-width:var(--site-max);justify-content:space-between;align-items:center;gap:1.5rem;margin:0 auto;padding:.95rem 1.5rem;display:flex}.nav-left{align-items:center;gap:1.5rem;min-width:0;display:flex}.brand{letter-spacing:-.04em;color:var(--color-ink);flex-shrink:0;align-items:center;gap:.45rem;font-size:1.05rem;font-weight:600;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-ink)}.brand-mark{fill:currentColor;flex-shrink:0;width:1.7rem;height:1.7rem;display:block}.site-nav{align-items:center;gap:1rem;display:flex}.nav-link{color:var(--color-ink-soft);font-size:.92rem;font-weight:400;line-height:1.2;text-decoration:none}.nav-link.active{color:var(--color-ink)}.nav-right{flex-shrink:0;align-items:center;gap:1.15rem;display:flex}.nav-cta{font-size:.92rem;font-weight:500;text-decoration:none;color:var(--color-ink)!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.nav-cta:hover{color:var(--color-accent)!important;background:0 0!important}.nav-cta:after{content:" →"}.nav-text-btn{appearance:none;font:inherit;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:.92rem}.nav-text-btn:hover{color:var(--color-ink)}.site-main{width:100%;max-width:var(--site-max);flex:1;margin:0 auto;padding:1.85rem 1.5rem 5rem}.site-footer{color:var(--color-muted);max-width:var(--site-max);box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;gap:1rem;width:100%;margin:0 auto;padding:1.5rem 1.5rem 2rem;font-size:.82rem;display:flex}.hero{margin:0 -1.5rem 2.5rem;padding:.65rem 1.5rem 0;animation:.7s both fade-up;position:relative}.hero-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:0 0 1.25rem;font-size:.78rem;font-weight:500}.hero-title{letter-spacing:-.04em;max-width:16ch;color:var(--color-ink);margin:0;font-size:clamp(1.65rem,4vw,2.15rem);font-weight:500;line-height:1.12}.hero-title-muted{letter-spacing:-.04em;color:#b6b5b3;max-width:18ch;margin:.15rem 0 0;font-size:clamp(1.65rem,4vw,2.15rem);font-weight:400;line-height:1.12}@supports (color:color-mix(in lab, red, red)){.hero-title-muted{color:color-mix(in srgb, var(--color-ink) 28%, var(--color-surface))}}.hero-copy{color:var(--color-ink-soft);max-width:38ch;margin:1.35rem 0 0;font-size:1.02rem;line-height:1.55;animation:.75s 80ms both fade-up}.link-cta{color:var(--color-ink);align-items:center;gap:.25rem;font-weight:500;text-decoration:none;display:inline-flex}.link-cta:hover{color:var(--color-accent)}.link-cta:after{content:"→";transition:transform .16s}.link-cta:hover:after{transform:translate(3px)}.library-section{animation:.7s .2s both fade-up}.section-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .85rem;font-size:.78rem;font-weight:500}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1.35rem;display:flex}.search-form{flex:1;gap:.5rem;min-width:min(100%,18rem);display:flex}.field,.textarea{border:1px solid var(--color-line-strong);background:var(--color-paper);width:100%;font:inherit;color:inherit;border-radius:.65rem;padding:.72rem .9rem}.textarea{font-family:var(--font-mono);resize:vertical;min-height:16rem;font-size:.88rem;line-height:1.55}.field:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.label{margin-bottom:.35rem;font-size:.9rem;font-weight:500;display:block}.hint{color:var(--color-muted);margin:.25rem 0 0;font-size:.85rem}.form-stack{gap:1.1rem;max-width:48rem;display:grid}.btn{border:1px solid var(--color-line-strong);font:inherit;cursor:pointer;background:var(--color-paper);color:var(--color-ink);border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.58rem 1.05rem;font-weight:500;text-decoration:none;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.btn:hover{color:var(--color-ink);background:#fff;border-color:#c9c9c5}.btn-primary{background:var(--color-ink);color:#f7f6f2;border-color:var(--color-ink)}.btn-primary:hover{color:#f7f6f2;background:#2a2a2a;border-color:#2a2a2a}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:#f0c0c0}.btn-ghost{color:var(--color-ink-soft);background:0 0;border-color:#0000;border-radius:.4rem;padding-inline:.4rem}.btn-sm{padding:.3rem .7rem;font-size:.84rem;font-weight:500}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem;display:grid}.skill-card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:1rem;flex-direction:column;justify-content:space-between;gap:1.1rem;min-height:11.5rem;padding:1.2rem 1.2rem 1.05rem;transition:border-color .16s;display:flex}.skill-card:hover{border-color:var(--color-line-strong)}.skill-card-title{letter-spacing:-.03em;margin:0 0 .45rem;font-size:1.05rem;font-weight:500}.skill-card-title a{text-decoration:none}.skill-card-desc{color:var(--color-ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.94rem;line-height:1.45;display:-webkit-box;overflow:hidden}.skill-card-meta{color:var(--color-muted);flex-wrap:wrap;gap:.35rem;font-size:.8rem;display:flex}.tag-list{flex-wrap:wrap;gap:.35rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.tag{color:var(--color-ink-soft);border:1px solid var(--color-line-strong);background:0 0;border-radius:999px;padding:.18rem .55rem;font-size:.75rem;text-decoration:none;display:inline-block}.empty-state,.panel,.alert{background:var(--color-paper);border:1px solid var(--color-line);border-radius:1rem;padding:1.35rem 1.4rem}.empty-state{text-align:left;padding:2.2rem 1.6rem}.empty-state h2{letter-spacing:-.03em;margin-top:0;font-weight:500}.alert-error{background:var(--color-danger-soft);color:var(--color-danger);border-color:#f0c0c0}.alert-warn{background:var(--color-warn-soft);color:var(--color-warn);border-color:#efd7a0}.alert-ok{background:var(--color-accent-soft);color:var(--color-accent-hover);border-color:#b7ddd2}.page-lead{gap:1.35rem;margin-bottom:1.75rem;display:grid}.page-lead-copy{gap:.7rem;max-width:40rem;display:grid}.crumb{color:var(--color-muted);margin:0;padding-bottom:.15rem;font-size:.85rem;line-height:1.4}.crumb a{text-decoration:none}.crumb a:hover{color:var(--color-accent);text-decoration:underline}.page-title-row{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;display:flex}.page-title-row .page-title{margin:0}.page-title{letter-spacing:-.035em;margin:0 0 .55rem;font-size:clamp(1.45rem,3vw,1.85rem);font-weight:500;line-height:1.2}.visibility-switch{border:1px solid var(--color-line-strong);background:var(--color-paper);border-radius:999px;flex-shrink:0;align-items:stretch;display:inline-flex;overflow:hidden}.visibility-option{appearance:none;font:inherit;color:var(--color-ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;margin:0;padding:.28rem .55rem;font-size:.72rem;font-weight:500;line-height:1.2}.visibility-option+.visibility-option{border-left:1px solid var(--color-line-strong)}.visibility-option.is-active{background:var(--color-ink);color:#f7f6f2}.visibility-option:disabled{opacity:.7;cursor:wait}.visibility-badge{border:1px solid var(--color-line-strong);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-soft);background:var(--color-paper);border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.page-sub{color:var(--color-ink-soft);max-width:48ch;margin:0 0 1.25rem;line-height:1.55}.page-lead .page-title,.page-lead .page-sub,.page-lead .meta-row,.page-lead .actions-row{margin:0}.meta-row{color:var(--color-muted);flex-wrap:wrap;gap:.35rem 1rem;margin:.75rem 0 1.25rem;font-size:.88rem;display:flex}.actions-row{flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.5rem;display:flex}.actions-row .btn{gap:.25rem;padding:.28rem .7rem;font-size:.82rem;line-height:1.25}.section{margin-top:2.4rem}.section h2{letter-spacing:-.02em;margin:0 0 .85rem;font-size:1.05rem;font-weight:500}.content-panel{background:var(--color-paper);border:1px solid var(--color-line);border-radius:1rem;padding:1.25rem 1.35rem}.content-panel-md{padding:0;overflow:hidden}.md-source{color:#ececec;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background:#171717;margin:0;padding:1.2rem 1.3rem;font-size:.84rem;line-height:1.55;overflow-x:auto}.md-source code{font-family:inherit;font-size:inherit;color:inherit;background:0 0;padding:0}.prose-skill{max-width:42rem;color:var(--color-ink);overflow-wrap:break-word;font-size:1.02rem;line-height:1.7}.prose-skill>:first-child{margin-top:0}.prose-skill>:last-child{margin-bottom:0}.prose-skill p{margin:0 0 1.05em}.prose-skill h1,.prose-skill h2,.prose-skill h3,.prose-skill h4,.prose-skill h5,.prose-skill h6{color:var(--color-ink);letter-spacing:-.03em;margin:1.75em 0 .55em;font-weight:600;line-height:1.25}.prose-skill h1{font-size:1.35rem}.prose-skill h2{font-size:1.18rem}.prose-skill h3{font-size:1.05rem}.prose-skill h4,.prose-skill h5,.prose-skill h6{font-size:1rem}.prose-skill ul,.prose-skill ol{margin:0 0 1.05em;padding-left:1.45rem;list-style-position:outside}.prose-skill ul{list-style-type:disc}.prose-skill ol{list-style-type:decimal}.prose-skill li{margin:.35em 0;padding-left:.2rem}.prose-skill li>p{margin:.35em 0}.prose-skill li>ul,.prose-skill li>ol{margin:.35em 0 .55em}.prose-skill ul ul{list-style-type:circle}.prose-skill ul ul ul{list-style-type:square}.prose-skill hr{border:0;border-top:1px solid var(--color-line);margin:1.75em 0}.prose-skill strong{font-weight:650}.prose-skill em{font-style:italic}.prose-skill del{color:var(--color-ink-soft);text-decoration:line-through}.prose-skill a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}.prose-skill a:hover{color:var(--color-accent-hover)}.prose-skill blockquote{border-left:3px solid var(--color-line-strong);color:var(--color-ink-soft);margin:0 0 1.05em;padding:.15em 0 .15em 1rem}.prose-skill blockquote p:last-child{margin-bottom:0}.prose-skill pre{color:#ececec;font-family:var(--font-mono);background:#171717;border-radius:.65rem;margin:0 0 1.15em;padding:.95rem 1.05rem;font-size:.84rem;line-height:1.55;overflow-x:auto}.prose-skill code{font-family:var(--font-mono);background:var(--color-surface-2);border-radius:.25rem;padding:.12rem .35rem;font-size:.88em}.prose-skill pre code{font-size:inherit;color:inherit;background:0 0;border-radius:0;padding:0}.prose-skill table{border-collapse:collapse;width:100%;margin:0 0 1.25em;font-size:.92rem;line-height:1.45}.prose-skill th,.prose-skill td{border:1px solid var(--color-line);text-align:left;vertical-align:top;padding:.6rem .75rem}.prose-skill th{background:var(--color-surface-2);font-weight:600}.prose-skill tbody tr:nth-child(2n) td{background:#f6f5f28c}@supports (color:color-mix(in lab, red, red)){.prose-skill tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-surface) 55%, transparent)}}.example-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;display:grid}.example-card-link{color:inherit;height:100%;text-decoration:none;display:block}.example-card-link:hover .example-card{border-color:var(--color-line-strong)}.example-card{border:1px solid var(--color-line);background:var(--color-paper);border-radius:1rem;height:100%;padding:1.15rem 1.2rem;transition:border-color .16s}.example-card-teaser{flex-direction:column;gap:.55rem;min-height:8.5rem;display:flex}.example-card-title{letter-spacing:-.03em;margin:0;font-size:1rem;font-weight:500}.example-card h3{margin:0 0 .35rem;font-size:1rem}.example-content{gap:.85rem;margin-top:.75rem;display:grid}.example-frontmatter-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .35rem;font-size:.72rem;font-weight:600}.example-frontmatter .md-source{border-radius:.75rem;max-height:14rem;font-size:.8rem;overflow:auto}.example-body{padding:1.35rem 1.5rem;overflow-x:auto}.example-body .prose-skill{max-width:none}.example-note{color:var(--color-ink-soft);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.92rem;display:-webkit-box;overflow:hidden}.version-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.version-card-title{letter-spacing:-.02em;color:var(--color-ink);margin:0;font-size:.95rem;font-weight:500}.login-shell{align-items:center;min-height:calc(100vh - 8rem);padding:2rem 0 3rem;display:grid}.login-panel{text-align:left;background:0 0;border:none;max-width:34rem;margin:0;padding:0;animation:.7s both fade-up}.login-panel .hero-title{max-width:14ch}.login-panel .hero-actions{margin-top:1.75rem}.login-panel .btn-primary{width:auto;margin-top:0}.field-error{color:var(--color-danger);margin:.3rem 0 0;font-size:.85rem}.token-once{background:var(--color-surface-2);font-family:var(--font-mono);word-break:break-all;border-radius:.55rem;margin-top:.35rem;padding:.75rem .9rem;font-size:.82rem;display:block}.token-create{max-width:28rem;margin-bottom:1.25rem}.token-create-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.token-create-row .field{flex:12rem}.token-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.token-item{border:1px solid var(--color-line);background:var(--color-paper);border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.setup-list{color:var(--color-ink-soft);max-width:40rem;margin:0;padding-left:1.45rem;line-height:1.55;list-style-type:decimal;list-style-position:outside}.setup-list li{padding-left:.2rem;display:list-item}.setup-list li+li{margin-top:.45rem}.setup-list code{font-family:var(--font-mono);font-size:.86em}.docs-section-desc{color:var(--color-muted);max-width:40rem;margin:0 0 1.15rem;font-size:.85rem;line-height:1.45}.docs-card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.docs-card{color:inherit;border:1px solid var(--color-line);background:var(--color-paper);border-radius:.85rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .16s;display:block}.docs-card:hover{border-color:var(--color-line-strong);color:inherit}.docs-card h3{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1rem;font-weight:500}.docs-card p{color:var(--color-ink-soft);margin:0;font-size:.9rem;line-height:1.45}.docs-article{padding:1.35rem 1.5rem}.docs-article .docs-prose{max-width:none}.docs-pager{justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}.docs-pager-link{color:var(--color-ink-soft);font-size:.9rem;text-decoration:none}.docs-pager-link:hover{color:var(--color-accent)}.pagination{color:var(--color-muted);align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.site-header-inner,.nav-left{gap:1rem}.site-nav{gap:.75rem}.site-footer{flex-direction:column}.hero-title,.hero-title-muted{max-width:12ch}}@media (prefers-reduced-motion:reduce){.hero,.hero-copy,.library-section,.login-panel{animation:none!important}}
