.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/jbm.woff2)format("woff2");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}:root,[data-palette=terminal]{--bg:#000;--bg-elevated:#080808;--ink:#fff;--ink-soft:#d8d8d8;--muted:#888;--muted-2:#555;--line:#1a1a1a;--line-strong:#2a2a2a;--terminal:#0c0c0b;--terminal-2:#131312;--accent:#4a9eff;--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--green:#55d66b;--yellow:#e6d55a;--red:#ff6b6b;--radius-lg:6px;--radius-md:4px;--radius-sm:2px;--max:1160px;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--term-bg:#000;--term-sidebar-bg:#080808;--term-active-bg:#101010;--term-border:#1a1a1a;--term-text:#d8d8d8;--term-muted:#555;--term-prompt:#4a9eff;--term-cmd:#55d66b;--term-str:#e6d55a}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:16px;line-height:1.65}body{background:var(--bg);flex-direction:column;min-width:320px;min-height:100dvh;margin:0;display:flex}img,video{max-width:100%;display:block}button,a{font:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}code,pre,kbd,samp{font-family:var(--mono)}::selection{background:var(--accent-soft)}[hidden]{display:none!important}.site-header{z-index:20;backdrop-filter:blur(12px);background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--line);flex-shrink:0;position:sticky;top:0}.nav{max-width:var(--max);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.85rem 1.25rem;display:flex;position:relative}.brand{font-family:var(--mono);letter-spacing:-.04em;color:var(--ink);align-items:center;gap:.55rem;font-weight:700;display:inline-flex}.nav-links{color:var(--muted);font-size:.9rem;font-family:var(--mono);align-items:center;gap:1.25rem;display:flex}.nav-links a[aria-current=page]:after,.nav-menu-panel a[aria-current=page]:after{content:"";vertical-align:middle;background:var(--accent);width:.55ch;height:1em;margin-left:.35ch;animation:.9s step-start infinite type-cursor-blink;display:inline-block;transform:translateY(-.08em)}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--accent)}.nav-menu{margin-left:auto;display:none}.nav-menu-button{border:1px solid var(--line);border-radius:var(--radius-md);width:2.1rem;height:2.1rem;color:var(--ink-soft);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.22rem;list-style:none;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.nav-menu-button::-webkit-details-marker{display:none}.nav-menu-button::marker{content:""}.nav-menu-button span{background:currentColor;width:.92rem;height:1px;display:block}.nav-menu-button:hover,.nav-menu[open] .nav-menu-button{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:var(--accent-soft)}.nav-menu-panel{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-elevated);min-width:min(18rem,100vw - 2rem);padding:.35rem;display:grid;position:absolute;top:calc(100% + .5rem);right:1.25rem;box-shadow:0 16px 44px #00000029}.nav-menu-panel a{border-radius:var(--radius-sm);color:var(--ink-soft);font-family:var(--mono);padding:.62rem .7rem;font-size:.86rem;font-weight:600}.nav-menu-panel a:hover,.nav-menu-panel a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.section{max-width:var(--max);border-top:1px solid var(--line);margin:0 auto;padding:5rem 1.25rem}.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.78rem;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;flex:none;width:.5rem;height:.5rem;display:inline-block}.dot-blue{background:var(--accent)}.button{border-radius:var(--radius-md);min-height:2.6rem;font-family:var(--mono);border:1px solid #0000;justify-content:center;align-items:center;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .12s;display:inline-flex}.button-primary{background:var(--ink);color:var(--bg)}.button-primary:hover:not(:disabled){background:var(--accent);color:#fff}.button-secondary{border-color:var(--line-strong);color:var(--ink-soft);background:0 0}.button-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.button-danger{background:var(--red);color:var(--bg);border-color:var(--red)}.button-danger:hover:not(:disabled){background:color-mix(in srgb, var(--red) 82%, var(--ink));color:#fff}.button-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.button-accent:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 82%, var(--ink));color:#fff}.button:disabled{opacity:.45;cursor:not-allowed}.hero-lede{max-width:600px;color:var(--ink-soft);margin:1.25rem 0 0;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.6}.hero-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;display:flex}.content-shell{flex:1 0 auto;width:100%;padding-bottom:5rem}.page-hero{max-width:var(--max);margin:0 auto;padding:5rem 1.25rem 2.25rem}.page-hero h1{max-width:14ch;color:var(--ink);font-family:var(--mono);letter-spacing:-.07em;margin:0;font-size:clamp(2.8rem,7vw,6rem);font-weight:400;line-height:.92}.page-hero .hero-lede{max-width:680px;color:var(--muted)}.footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;font-family:var(--mono);flex-shrink:0;justify-content:center;align-items:center;gap:1rem;padding:1.75rem 1.25rem;display:flex}.footer-sep{opacity:.5}.footer-github{color:var(--muted);opacity:.55;align-items:center;line-height:0;display:inline-flex}.footer-github:hover{color:var(--accent);opacity:1}.footer-github-icon{display:block}@keyframes type-cursor-blink{50%{opacity:0}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section>.hero-actions{margin-top:2.25rem}@media (width<=860px){.nav-links{display:none}.nav-menu{display:block}}@media (width<=640px){.page-hero{padding-top:2.75rem;padding-bottom:1.75rem}.section{padding-top:3rem;padding-bottom:3rem}.content-shell{padding-bottom:3rem}.nav{flex-wrap:wrap;row-gap:.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hero-lede-flair.is-shining{background-image:none;animation:none}.meta-row.is-removing{animation:none}.meta-row.is-collapsing,.meta-table.is-collapsing,.meta-group.is-collapsing{transition:none}}.logo-mark{color:var(--muted);flex:none;overflow:visible}.logo-handle{fill:var(--accent)}.logo-bristles path{fill:none;stroke:var(--muted);stroke-width:1.8px;stroke-linecap:round}.logo-doc-body{stroke-dasharray:180;stroke-dashoffset:180px;animation:.9s forwards logo-draw}.logo-brush{transform-origin:42px 18px;animation:.85s .4s both logo-sweep}.logo-bristles{transform-origin:34px 42px;animation:2.8s ease-in-out 1.3s infinite logo-wobble}.brand .logo-mark{color:var(--ink-soft)}@keyframes logo-draw{to{stroke-dashoffset:0}}@keyframes logo-sweep{0%{opacity:0;transform:translate(8px,-8px)rotate(-12deg)}to{opacity:1;transform:none}}@keyframes logo-wobble{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}#scrub-app{flex-direction:column;justify-content:safe center;align-items:center;padding:clamp(1.25rem,4vh,3.5rem) clamp(1rem,4vw,1.5rem);display:flex}#scrub-app .scrub-hero,#scrub-app .scrub-panel,#scrub-app .scrub-results{width:100%;max-width:min(40rem,100%);margin:0}#scrub-app:has(#scrub-results:not([hidden])){justify-content:flex-start}#scrub-app:has(#scrub-results:not([hidden])) .scrub-hero,#scrub-app:has(#scrub-results:not([hidden])) .scrub-panel,#scrub-app:has(#scrub-results:not([hidden])) .scrub-results{max-width:min(56rem,100%)}#scrub-app:has(#scrub-results:not([hidden])) .scrub-results{padding-top:1.5rem}.scrub-hero{text-align:center;padding:0 0 1.35rem}.scrub-title{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.scrub-hero h1{max-width:none;font-size:clamp(2.1rem,6vw,4.4rem)}#scrub-app .scrub-hero .hero-lede{text-align:left;white-space:nowrap;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;position:relative}#scrub-app .hero-lede.is-pending .hero-lede-sizer{color:#0000}#scrub-app .hero-lede.is-pending .hero-lede-sizer .hero-lede-flair{color:inherit}.hero-lede-sizer{display:block}.hero-lede.is-animating .hero-lede-sizer{visibility:hidden}.hero-lede-live{position:absolute;inset:0}.hero-lede-cursor{vertical-align:baseline;background:var(--accent);width:.55ch;height:1em;margin-left:.15ch;animation:.9s step-start infinite type-cursor-blink;display:inline-block}.hero-lede-flair{white-space:nowrap;position:relative}.hero-lede-flair.is-flare{color:var(--green)}.hero-lede-flair.is-shining{background-image:linear-gradient(90deg,#0000,#ffffffa6,#0000);background-repeat:no-repeat;background-size:45% 100%;animation:.4s ease-out forwards hero-lede-shine}@keyframes hero-lede-shine{0%{background-position:-50% 0}to{background-position:160% 0}}.scrub-panel,.scrub-results{max-width:var(--max);margin:0 auto;padding:0}.scrub-panel{text-align:center;flex-direction:column;align-items:center;display:flex}.dropzone{border:1px dashed var(--term-border);border-radius:var(--radius-md);background:var(--term-bg);width:100%;color:var(--term-text);font-family:var(--mono);cursor:pointer;text-align:center;align-content:center;justify-items:center;gap:.45rem;min-height:clamp(8.5rem,22vh,13rem);padding:1.6rem 1.25rem;transition:border-color .12s,background .12s,opacity .12s;display:grid;position:relative}.dropzone:hover,.dropzone:focus-visible,.dropzone.is-dragover{border-color:var(--accent);background:var(--term-active-bg);outline:none}.dropzone.is-disabled{opacity:.48;cursor:default;pointer-events:none}.dropzone-new{min-height:44px;margin-top:.85rem}.dropzone-kicker{color:var(--term-muted);margin:0;font-size:.78rem}.dropzone-title{margin:0;font-size:1rem;font-weight:600}.dropzone-help{color:var(--term-muted);max-width:42ch;margin:.35rem auto 0;font-size:.82rem;line-height:1.55}.scrub-prompt{color:var(--term-prompt);margin-right:.55rem;font-weight:700}.scrub-status{min-height:1.85rem;color:var(--ink-soft);font-family:var(--mono);text-align:center;outline:none;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.45rem .7rem;margin:.9rem 0 0;font-size:1.125rem;font-weight:600;display:flex}.scrub-status[data-kind=ok] .scrub-prompt{color:var(--green)}.scrub-status[data-kind=warn] .scrub-prompt{color:var(--yellow)}.scrub-status[data-kind=error] .scrub-prompt{color:var(--red)}.scrub-status[data-kind=busy] .scrub-prompt{color:var(--accent)}.scrub-status[data-kind=empty]{color:var(--red);text-shadow:0 0 .65rem color-mix(in srgb, var(--red) 55%, transparent)}.scrub-status[data-kind=empty] .scrub-prompt{color:var(--red)}@media (prefers-reduced-motion:reduce){.scrub-status[data-kind=empty]{text-shadow:none}}.scrub-status-hint{color:var(--muted);text-align:center;flex-basis:100%;padding-left:0;font-size:.86rem;font-weight:400}.scrub-filename{font-family:var(--mono);color:var(--muted);text-align:center;margin:0 0 1rem;font-size:.85rem}.action-row{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.action-row .button{min-height:44px}.meta-group{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:1.4rem 0 .45rem;font-size:.78rem;font-weight:700}.meta-table{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden}.meta-row{font-family:var(--mono);grid-template-columns:minmax(8rem,16rem) 1fr;gap:.75rem;padding:.65rem .85rem;font-size:.82rem;display:grid}.meta-row+.meta-row{border-top:1px solid var(--line)}.meta-key{color:var(--muted);word-break:break-word;flex-wrap:wrap;align-items:baseline;gap:.35rem .4rem;display:flex}.meta-tags{flex-wrap:wrap;gap:.25rem;display:inline-flex}.meta-tag{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:.12rem .35rem;font-size:.62rem;font-weight:700;line-height:1.2;display:inline-block}.meta-tag-deletable{color:var(--red);background:color-mix(in srgb, var(--red) 14%, transparent)}.meta-tag-editable{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.meta-val{color:var(--ink);overflow-wrap:anywhere}@keyframes meta-row-blink{0%,to{background:0 0}50%{background:color-mix(in srgb, var(--red) 38%, transparent)}}.meta-row.is-removing{animation:.28s ease-in-out 3 meta-row-blink}.meta-row.is-collapsing,.meta-table.is-collapsing,.meta-group.is-collapsing{opacity:0;border-width:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;transition:max-height .35s,padding .35s,margin .35s,opacity .25s,border-width .35s;overflow:hidden}.meta-val input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);width:100%;min-height:44px;color:inherit;font:inherit;padding:.4rem .55rem}.scrub-app.is-busy .dropzone,#scrub-app.is-busy .action-row{cursor:wait}.about-copy{max-width:46rem}.about-copy h2{font-family:var(--mono);margin:2rem 0 .6rem;font-size:1rem}.about-copy p,.caps-list{color:var(--ink-soft)}.about-copy a{color:var(--accent);text-underline-offset:.18em;font-weight:700;text-decoration:underline 1px}.caps-list{padding-left:1.1rem}.caps-list li{margin:.45rem 0}@media (width<=640px){.meta-row{grid-template-columns:1fr;gap:.2rem}.scrub-status-hint{padding-left:0}.footer{text-align:center;flex-wrap:wrap}#scrub-app{padding:1.1rem 1rem 1.5rem}.scrub-hero{padding-bottom:1rem}.scrub-title{gap:.7rem}}@media (height<=740px){#scrub-app .scrub-hero h1{font-size:clamp(1.7rem,6vh,3rem)}.dropzone{min-height:7.25rem;padding:1.15rem 1.1rem}}
