:root{--control-border:var(--fg-muted)}:root,[data-theme=tokyo-night]{--bg:#07080f;--bg-elev:#0c0e1a;--bg-elev2:#121420;--border:#181a2c;--fg:#c0caf5;--fg-muted:#8892c8;--fg-faint:#3a3f62;--accent:#7aa2f7;--accent-2:#bb9af7;--accent-3:#7dcfff;--success:#9ece6a;--warn:#e0af68;--danger:#f7768e}[data-theme=catppuccin-mocha]{--bg:#11111b;--bg-elev:#181825;--bg-elev2:#1e1e2e;--border:#313244;--fg:#cdd6f4;--fg-muted:#a6adc8;--fg-faint:#585b70;--accent:#89b4fa;--accent-2:#cba6f7;--accent-3:#89dceb;--success:#a6e3a1;--warn:#f9e2af;--danger:#f38ba8}[data-theme=nord]{--bg:#191d24;--bg-elev:#2e3440;--bg-elev2:#3b4252;--border:#434c5e;--fg:#eceff4;--fg-muted:#d8dee9;--fg-faint:#4c566a;--accent:#81a1c1;--accent-2:#88c0d0;--accent-3:#8fbcbb;--success:#a3be8c;--warn:#ebcb8b;--danger:#e88a94}[data-theme=dracula]{--bg:#0d0f18;--bg-elev:#21222c;--bg-elev2:#282a36;--border:#44475a;--fg:#f8f8f2;--fg-muted:#bfc7d5;--fg-faint:#44475a;--accent:#bd93f9;--accent-2:#ff79c6;--accent-3:#8be9fd;--success:#50fa7b;--warn:#f1fa8c;--danger:#f55}[data-theme=gruvbox-dark]{--bg:#1d2021;--bg-elev:#282828;--bg-elev2:#3c3836;--border:#504945;--fg:#ebdbb2;--fg-muted:#bdae93;--fg-faint:#665c54;--accent:#83a598;--accent-2:#d3869b;--accent-3:#8ec07c;--success:#b8bb26;--warn:#fabd2f;--danger:#fc6a55}[data-theme=monochrome]{--bg:#020204;--bg-elev:#08080e;--bg-elev2:#111118;--border:#1c1c26;--fg:#e8e8f0;--fg-muted:#8888a8;--fg-faint:#334;--accent:#fff;--accent-2:#aac;--accent-3:#88d;--success:#889;--warn:#bbc;--danger:#dde}[data-theme=everforest-dark]{--bg:#1b1e1c;--bg-elev:#272e33;--bg-elev2:#2e383c;--border:#374247;--fg:#d3c6aa;--fg-muted:#9da9a0;--fg-faint:#4f585e;--accent:#7fbbb3;--accent-2:#d699b6;--accent-3:#83c092;--success:#a7c080;--warn:#dbbc7f;--danger:#e67e80}[data-theme=blade-runner]{--bg:#0a0d16;--bg-elev:#121729;--bg-elev2:#1a2138;--border:#263050;--fg:#e9e3d5;--fg-muted:#b6ab94;--fg-faint:#6b6355;--accent:#ff9b3d;--accent-2:#2ee6c8;--accent-3:#ff5e8a;--success:#7ed957;--warn:#ffd166;--danger:#ff4d4d}[data-theme=synthwave]{--bg:#120b26;--bg-elev:#1c1038;--bg-elev2:#271650;--border:#3a2263;--fg:#f0e6ff;--fg-muted:#bda6e0;--fg-faint:#6b5490;--accent:#ff4d9d;--accent-2:#2ee5ff;--accent-3:#ffe14d;--success:#3ef0a0;--warn:#ffb03a;--danger:#ff4d6d}[data-theme=cyberpunk-2077]{--bg:#05070a;--bg-elev:#0b0f16;--bg-elev2:#131a26;--border:#23303f;--fg:#e6f0f5;--fg-muted:#9fb3c0;--fg-faint:#4a5c6b;--accent:#fcee0a;--accent-2:#ff2a6d;--accent-3:#00f0ff;--success:#38e07b;--warn:#ffa724;--danger:#ff3b30}:root,[data-font=inter]{--font-sans:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}[data-font=ibm]{--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}[data-font=space]{--font-sans:"Space Grotesk", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace}[data-font=dm]{--font-sans:"DM Sans", system-ui, sans-serif;--font-mono:"Fira Code", ui-monospace, monospace}[data-font=outfit]{--font-sans:"Outfit", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}[data-font=mono]{--font-sans:"JetBrains Mono", ui-monospace, monospace;--font-mono:"JetBrains Mono", ui-monospace, monospace}:root{--r-none:0px;--r-inline:0;--r-control:0;--r-window:10px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--measure:68ch;--measure-wide:78ch;--shell:1100px;--hairline:1px solid var(--border);--fs-meta:.812rem;--fs-body:1rem;--fs-lead:1.25rem;--fs-h3:1.5625rem;--fs-h2:1.953rem;--fs-h1:2.441rem;--fs-display:clamp(2.75rem, 6vw, 3.75rem);--ease:cubic-bezier(.2, 0, 0, 1);--dur-instant:.12s;--dur-swap:.24s;--dur-enter:.42s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;transition:background-color var(--dur-swap) var(--ease), color var(--dur-swap) var(--ease), border-color var(--dur-swap) var(--ease), font-family var(--dur-swap) var(--ease)}html,body{min-height:100vh}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}:where(body){font-optical-sizing:auto}code,pre,kbd,samp{font-family:var(--font-mono);font-size:var(--fs-code)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;letter-spacing:inherit}a,button,input,select,textarea,[role=button]{transition:color var(--dur-instant) var(--ease), border-color var(--dur-instant) var(--ease), background-color var(--dur-instant) var(--ease), opacity var(--dur-instant) var(--ease), box-shadow var(--dur-instant) var(--ease)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[id]{scroll-margin-top:24px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--fs-micro:.6875rem;--fs-small:.75rem;--fs-ui:.875rem;--fs-code:.87em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:900;--track-display:-.03em;--track-tight:-.01em;--track-normal:0;--track-snug:.06em;--track-wide:.1em;--track-label:.16em;--track-wider:.22em;--lh-none:1;--lh-tight:1.2;--lh-snug:1.3;--lh-ui:1.4;--lh-normal:1.5;--lh-body:1.6;--lh-prose:1.7;--lh-loose:1.9}.t-label{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-muted)}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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{--fx-speed:1;--fx-bar-h:30px;--fx-dur-lock:.16s;--fx-dur-chroma:.18s;--fx-dur-fade:.24s;--fx-dur-dialog:.26s;--fx-dur-scan:.32s;--fx-dur-pulse:.42s;--fx-dur-cut:.44s;--fx-dur-route:.48s;--fx-dur-sheen:.52s;--fx-dur-theme:.62s;--fx-dur-type:.7s;--fx-dur-stagger:70ms;--fx-ease:cubic-bezier(.2, .7, .1, 1);--fx-ease-scan:cubic-bezier(.4, .05, .3, 1);--fx-clip:polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px))}@property --fx-p{syntax:"<percentage>";inherits:false;initial-value:112%}@property --fx-o{syntax:"<length>";inherits:false;initial-value:0}@property --fx-c{syntax:"<color>";inherits:false;initial-value:#0000}.fx-frame{--fx-c:var(--fg-faint);--fx-o:0px;--fx-s:12px;padding:var(--s-5,24px);border:1px solid var(--border);background-color:var(--bg-elev);background-image:linear-gradient(var(--fx-c), var(--fx-c)), linear-gradient(var(--fx-c), var(--fx-c)), linear-gradient(var(--fx-c), var(--fx-c)), linear-gradient(var(--fx-c), var(--fx-c)), linear-gradient(var(--fx-c), var(--fx-c)), linear-gradient(var(--fx-c), var(--fx-c)), linear-gradient(var(--fx-c), var(--fx-c)), linear-gradient(var(--fx-c), var(--fx-c));background-repeat:no-repeat;background-size:var(--fx-s) 2px, 2px var(--fx-s), var(--fx-s) 2px, 2px var(--fx-s), var(--fx-s) 2px, 2px var(--fx-s), var(--fx-s) 2px, 2px var(--fx-s);background-position:var(--fx-o) var(--fx-o), var(--fx-o) var(--fx-o), calc(100% - var(--fx-o)) var(--fx-o), calc(100% - var(--fx-o)) var(--fx-o), var(--fx-o) calc(100% - var(--fx-o)), var(--fx-o) calc(100% - var(--fx-o)), calc(100% - var(--fx-o)) calc(100% - var(--fx-o)), calc(100% - var(--fx-o)) calc(100% - var(--fx-o));transition:--fx-o calc(var(--fx-dur-lock) * var(--fx-speed)) var(--fx-ease), --fx-c calc(var(--fx-dur-lock) * var(--fx-speed)) var(--fx-ease);position:relative}.fx-frame.fx-live{cursor:pointer}.fx-frame--notch{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}.fx-frame--notch:focus-within{clip-path:none}.fx-frame.fx-live:hover,.fx-frame.fx-live:focus-within{--fx-c:var(--accent);--fx-o:8px}.fx-label{margin-bottom:var(--s-4,16px);align-items:center;gap:10px;display:flex}.fx-label b{color:var(--accent);font-weight:var(--fw-medium)}.fx-label:before{content:"";background:var(--accent);width:2px;height:11px}.fx-label:after{content:"";background:linear-gradient(90deg, var(--border), transparent);flex:1;order:2;height:1px}.fx-btn{font:var(--fw-semibold) var(--fs-small) / var(--lh-none) var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--bg);background:var(--accent);cursor:pointer;clip-path:var(--fx-clip);border:0;align-items:center;gap:8px;padding:13px 22px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.fx-btn--alt{color:var(--fg);background:color-mix(in srgb, var(--accent) 7%, transparent);box-shadow:inset 0 0 0 1px var(--control-border)}.fx-btn:after{content:"";pointer-events:none;background:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--fg) 45%, transparent) 50%, transparent 70%);position:absolute;inset:0;transform:translate(-120%)}.fx-btn:hover:after{animation:fx-sheen calc(var(--fx-dur-sheen) * var(--fx-speed)) var(--fx-ease)}.fx-btn:hover span{animation:fx-chroma calc(var(--fx-dur-chroma) * var(--fx-speed)) steps(2) 1}.fx-btn:focus-visible{clip-path:none}@keyframes fx-sheen{to{transform:translate(120%)}}@keyframes fx-chroma{0%{text-shadow:-2px 0 var(--accent-3), 2px 0 var(--accent-2)}to{text-shadow:none}}.fx-link{color:var(--fg);border-bottom:1px solid var(--accent);text-decoration:none}.fx-link:hover{animation:fx-chroma calc(var(--fx-dur-chroma) * var(--fx-speed)) steps(2) 1;color:var(--accent)}.fx-action{border:1px solid var(--control-border);color:var(--fg-muted);padding:6px 12px;text-decoration:none;display:inline-block}.fx-action:hover{border-color:var(--accent);color:var(--fg);text-decoration:none}.fx-prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.fx-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.fx-chip{font:var(--fs-micro) / var(--lh-none) var(--font-mono);letter-spacing:var(--track-snug);color:var(--fg-muted);border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, transparent);align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.fx-chip--ok{color:var(--success);border-color:color-mix(in srgb, var(--success) 40%, transparent);background:color-mix(in srgb, var(--success) 8%, transparent)}.fx-chip--warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent)}.fx-chip--dim{color:var(--fg-muted)}.fx-state{white-space:nowrap;color:var(--fg-muted)}.fx-state--ok{color:var(--success)}.fx-state--warn{color:var(--warn)}.fx-readout{font:var(--fs-meta) / var(--lh-normal) var(--font-mono);grid-template-columns:8.5em 1fr;gap:6px 14px;display:grid}.fx-readout dt{color:var(--fg-muted)}.fx-readout dd{color:var(--fg)}@media (width<=759px){.fx-readout{grid-template-columns:6em 1fr}}.fx-caret:after{content:"▌";color:var(--accent);margin-left:2px;animation:1s step-end infinite fx-blink}@keyframes fx-blink{50%{opacity:0}}.fx-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 60%, transparent);border-radius:50%;margin-right:8px;animation:2.2s ease-out infinite fx-dot;display:inline-block}@keyframes fx-dot{70%,to{box-shadow:0 0 0 9px #0000}}.fx-type{white-space:nowrap;vertical-align:bottom;width:0;animation:fx-type calc(var(--fx-dur-type) * var(--fx-speed)) steps(var(--fx-n)) .25s forwards;display:inline-block;overflow:hidden}@keyframes fx-type{to{width:calc(var(--fx-n) * 1ch)}}:where(.fx-btn,.fx-link,.fx-action,.fx-frame):focus-visible{outline:2px solid var(--accent);outline-offset:3px;animation:fx-fpulse calc(var(--fx-dur-pulse) * var(--fx-speed)) var(--fx-ease)}@keyframes fx-fpulse{0%{outline-offset:10px;outline-color:#0000}}.fx-js [data-fx-reveal]{--fx-p:0%;-webkit-mask-image:linear-gradient(90deg, black calc(var(--fx-p) - 8%), transparent var(--fx-p));mask-image:linear-gradient(90deg, black calc(var(--fx-p) - 8%), transparent var(--fx-p))}.fx-js [data-fx-reveal].is-in{animation:fx-scan calc(var(--fx-dur-scan) * var(--fx-speed)) var(--fx-ease) calc(var(--fx-i,0) * var(--fx-dur-stagger) * var(--fx-speed)) both}@keyframes fx-scan{0%{--fx-p:0%}to{--fx-p:112%}}.fx-js [data-fx-reveal].is-done{animation:none;-webkit-mask-image:none;mask-image:none}.fx-counter{z-index:5;pointer-events:none;font:var(--fs-micro) / var(--lh-none) var(--font-mono);letter-spacing:var(--track-label);color:var(--fg-muted);position:fixed;top:66px;right:clamp(14px,3vw,32px)}.fx-counter b{color:var(--accent);font-weight:var(--fw-medium)}@media (width<=759px){.fx-counter{display:none}}[data-fx-reduce] .fx-frame,[data-fx-reduce] .fx-btn,[data-fx-reduce] .fx-btn:after,[data-fx-reduce] .fx-caret:after,[data-fx-reduce] .fx-dot,[data-fx-reduce] .fx-type,[data-fx-reduce] .fx-link,[data-fx-reduce] [data-fx-reveal]{transition:none!important;animation:none!important}[data-fx-reduce] [data-fx-reveal]{-webkit-mask-image:none;mask-image:none}[data-fx-reduce] .fx-type{width:calc(var(--fx-n) * 1ch)}@media (prefers-reduced-motion:reduce){.fx-frame,.fx-btn,.fx-btn:after,.fx-caret:after,.fx-dot,.fx-type,.fx-link,[data-fx-reveal]{transition:none!important;animation:none!important}[data-fx-reveal]{-webkit-mask-image:none;mask-image:none}.fx-type{width:calc(var(--fx-n) * 1ch)}}.fxb{z-index:200;background:var(--bg);color:var(--fg-muted);font:var(--fs-ui) / var(--lh-loose) var(--font-mono);cursor:pointer;padding:clamp(24px,7vw,96px);position:fixed;inset:0}.fxb pre{font:inherit;white-space:pre-wrap;margin:0}.fxb-skip{font-size:var(--fs-micro);letter-spacing:var(--track-label);color:var(--fg-muted);position:absolute;bottom:20px;right:24px}.fxb.out{opacity:0;transition:opacity calc(var(--fx-dur-fade) * var(--fx-speed))}html[data-fx-intro] [data-fx-decode]{visibility:hidden;animation:0s 4s forwards fx-intro-fail}@keyframes fx-intro-fail{to{visibility:visible}}@view-transition{navigation:auto}::view-transition{background:var(--bg)}::view-transition-group(root){animation-duration:0s}.fx-vt-scan,.fx-vt-tear{z-index:60;pointer-events:none;opacity:0;position:fixed}.fx-vt-scan{view-transition-name:fx-scan;width:2px;top:0;bottom:0;left:0}.fx-vt-tear{view-transition-name:fx-tear;height:2px;top:0;left:0;right:0}.fx-chrome-top{view-transition-name:fx-top}.fx-chrome-bottom{view-transition-name:fx-bottom}html[data-fx-vt=none]::view-transition-group(*),html[data-fx-vt=none]::view-transition-old(*),html[data-fx-vt=none]::view-transition-new(*){animation:none}html[data-fx-vt=fade]::view-transition-old(root),html[data-fx-vt=fade]::view-transition-new(root){animation-duration:calc(var(--fx-dur-fade) * var(--fx-speed))}html:is([data-fx-vt=wipe],[data-fx-vt=auto][data-fx-dir=fwd])::view-transition-old(root){mix-blend-mode:normal;animation:none}html:is([data-fx-vt=wipe],[data-fx-vt=auto][data-fx-dir=fwd])::view-transition-new(root){animation:fx-vt-wipe calc(var(--fx-dur-route) * var(--fx-speed)) var(--fx-ease-scan) both;mix-blend-mode:normal}html:is([data-fx-vt=wipe],[data-fx-vt=auto][data-fx-dir=fwd])::view-transition-group(fx-scan){animation:fx-vt-scan calc(var(--fx-dur-route) * var(--fx-speed)) var(--fx-ease-scan) both;background:var(--accent);filter:drop-shadow(0 0 8px var(--accent)) drop-shadow(0 0 22px var(--accent))}@keyframes fx-vt-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes fx-vt-scan{0%{opacity:1;transform:translate(0)}92%{opacity:1}to{opacity:0;transform:translate(calc(100vw - 2px))}}html:is([data-fx-vt=tear],[data-fx-vt=auto][data-fx-dir=back])::view-transition-old(root){animation:fx-vt-t-old-clip calc(var(--fx-dur-cut) * var(--fx-speed)) var(--fx-ease-scan) both, fx-vt-t-old-shake calc(var(--fx-dur-cut) * var(--fx-speed)) steps(1, end) both, fx-vt-t-old-dim calc(var(--fx-dur-cut) * var(--fx-speed)) linear both;filter:drop-shadow(6px 0 0 var(--accent-3)) drop-shadow(-6px 0 0 var(--accent-2));mix-blend-mode:normal}html:is([data-fx-vt=tear],[data-fx-vt=auto][data-fx-dir=back])::view-transition-new(root){animation:fx-vt-t-new-clip calc(var(--fx-dur-cut) * var(--fx-speed)) var(--fx-ease-scan) both, fx-vt-t-new-fringe calc(var(--fx-dur-cut) * var(--fx-speed)) linear both;mix-blend-mode:normal}html:is([data-fx-vt=tear],[data-fx-vt=auto][data-fx-dir=back])::view-transition-group(fx-tear){animation:fx-vt-tear calc(var(--fx-dur-cut) * var(--fx-speed)) var(--fx-ease-scan) both;background:var(--accent);filter:drop-shadow(0 0 8px var(--accent)) drop-shadow(0 0 22px var(--accent))}@keyframes fx-vt-tear{0%{opacity:1;transform:translateY(0)}92%{opacity:1}to{opacity:0;transform:translateY(calc(100vh - 2px))}}@keyframes fx-vt-t-new-clip{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes fx-vt-t-old-clip{0%{clip-path:inset(0)}to{clip-path:inset(100% 0 0)}}@keyframes fx-vt-t-old-dim{0%{opacity:1}to{opacity:.35}}@keyframes fx-vt-t-old-shake{0%{transform:translate(0)}12%{transform:translate(-8px)}26%{transform:translate(7px)}40%{transform:translate(-5px)}54%{transform:translate(4px)}68%{transform:translate(-2px)}82%{transform:translate(1px)}to{transform:none}}@keyframes fx-vt-t-new-fringe{0%{filter:drop-shadow(7px 0 0 var(--accent-3)) drop-shadow(-7px 0 0 var(--accent-2))}to{filter:drop-shadow(0 0 0 var(--accent-3)) drop-shadow(0 0 0 var(--accent-2))}}html[data-fx-run=theme]::view-transition-old(root),html[data-fx-run=theme]::view-transition-old(fx-top),html[data-fx-run=theme]::view-transition-old(fx-bottom){mix-blend-mode:normal;animation:none}html[data-fx-run=theme]::view-transition-new(root),html[data-fx-run=theme]::view-transition-new(fx-top),html[data-fx-run=theme]::view-transition-new(fx-bottom){animation:fx-vt-circle calc(var(--fx-dur-theme) * var(--fx-speed)) var(--fx-ease-scan) both;mix-blend-mode:normal}html[data-fx-run=theme]::view-transition-group(fx-scan),html[data-fx-run=theme]::view-transition-group(fx-tear){filter:none;background:0 0;animation:none}@keyframes fx-vt-circle{0%{clip-path:circle(0 at var(--fx-vt-x,50%) var(--fx-vt-y,50%))}to{clip-path:circle(var(--fx-vt-r,150vmax) at var(--fx-vt-x,50%) var(--fx-vt-y,50%))}}html[data-fx-reduce]::view-transition-group(*),html[data-fx-reduce]::view-transition-old(*),html[data-fx-reduce]::view-transition-new(*){animation:none!important}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.fxc-launch{z-index:70;width:40px;height:40px;font:var(--fw-semibold) var(--fs-meta) / var(--lh-none) var(--font-mono);color:var(--fg-muted);background:var(--bg-elev);border:1px solid var(--control-border);cursor:pointer;justify-content:center;align-items:center;display:none;position:fixed;bottom:14px;right:14px}.fxc-launch:hover,.fxc-launch:focus-visible{color:var(--accent);border-color:var(--accent)}@media (pointer:coarse),(width<=760px){.fxc-launch{display:inline-flex}}dialog.fxc{width:min(720px,100vw - 24px);height:min(70svh,520px);max-height:none;color:var(--fg);font:var(--fs-meta) / var(--lh-normal) var(--font-mono);flex-direction:column;margin:8vh auto auto;padding:0;display:none}dialog.fxc[open]{animation:fxc-in calc(var(--fx-dur-dialog) * var(--fx-speed)) var(--fx-ease-scan) both;display:flex}dialog.fxc::backdrop{background:color-mix(in srgb, var(--bg) 72%, transparent);backdrop-filter:blur(3px)}@keyframes fxc-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}html[data-fx-reduce] dialog.fxc[open]{animation:none}@media (prefers-reduced-motion:reduce){dialog.fxc[open]{animation:none}}@media (width<=760px){dialog.fxc{margin-top:var(--fxc-top,8px);height:min(var(--fxc-h,62svh), 520px)}}.fxc-head{justify-content:space-between;align-items:center;padding:10px 14px 0;display:flex}.fxc-title{font:var(--fw-semibold) var(--fs-micro,.7rem) / var(--lh-none) var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:10px;display:flex}.fxc-title:before{content:"";background:var(--accent);width:2px;height:11px}.fxc-close{font:var(--fs-micro) / var(--lh-none) var(--font-mono);letter-spacing:var(--track-wide);color:var(--fg-muted);border:1px solid var(--border);cursor:pointer;background:0 0;padding:5px 8px}.fxc-close:hover{color:var(--accent);border-color:var(--accent)}.fxc-log{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;min-height:0;padding:12px 14px;overflow-y:auto}.fxc-log .line{color:var(--fg-muted);overflow-wrap:anywhere;margin-bottom:2px}.fxc-log .echo{color:var(--fg);margin-top:8px}.fxc-log .echo:before{content:"$ ";color:var(--accent)}.fxc-log .o{grid-template-columns:16ch minmax(0,1fr);gap:0 12px;display:grid}.fxc-log .o span:first-child{color:var(--accent-3)}.fxc-log .ok{color:var(--success)}.fxc-log .err{color:var(--danger)}.fxc-log .muted{color:var(--fg-muted)}.fxc-log .line p{margin:4px 0}.fxc-log .links{flex-wrap:wrap;gap:4px 16px;display:flex}@media (width<=560px){.fxc-log .o{grid-template-columns:minmax(0,1fr)}}.fxc-form{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px 12px;display:flex}.fxc-prompt{color:var(--accent)}.fxc-input{min-width:0;font:inherit;color:var(--fg);caret-color:var(--accent);background:0 0;border:0;outline:none;flex:1;font-size:16px}.fxc-input::placeholder{color:var(--fg-muted)}.fxc-form:focus-within{border-top-color:var(--accent)}dialog.fxp{background:var(--bg);border:0;flex-direction:column;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:0}dialog.fxp[open]{display:flex}dialog.fxp::backdrop{background:var(--bg)}.fxp-head{font:var(--fw-semibold) var(--fs-micro,.7rem) / var(--lh-none) var(--font-mono);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-muted);border-bottom:1px solid var(--border);background:var(--bg-elev);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.fxp-head button{font:var(--fs-micro) / var(--lh-none) var(--font-mono);letter-spacing:var(--track-wide);color:var(--fg-muted);border:1px solid var(--border);cursor:pointer;background:0 0;padding:5px 8px}.fxp-head button:hover{color:var(--accent);border-color:var(--accent)}.fxp-err{font:var(--fs-meta) / var(--lh-normal) var(--font-mono);color:var(--danger);margin:0;padding:24px}dialog.fxp iframe{background:var(--bg);border:0;flex:1;width:100%;min-height:0}.mono-route{font-family:var(--font-mono);letter-spacing:0}
