.code-tabs .astro-code{font-family:var(--ff-mono)!important;background-color:#0000!important;margin:0!important;padding:1.5rem!important;font-size:.95rem!important;line-height:1.7!important;overflow-x:auto!important}.hd{--accent-soft:color-mix(in srgb, var(--accent) 9%, transparent);--ok:#1a8f4c;--danger:#e5484d;--code-dim:#6b7b8a;margin-left:auto;margin-right:auto}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hd{--ok:#3dd68c;--accent-soft:color-mix(in srgb, var(--accent) 13%, transparent)}}:root[data-theme=dark] .hd{--ok:#3dd68c;--accent-soft:color-mix(in srgb, var(--accent) 13%, transparent)}.hd .stage-outer{padding:0 0 8px;position:relative;overflow-x:clip}.hd .stage{transform-origin:0 0;text-align:left;width:1120px;height:440px;position:relative}.hd .stage:before{content:"";background-image:radial-gradient(var(--line) 1px, transparent 1px);pointer-events:none;background-size:22px 22px;position:absolute;inset:-20px -40px;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.hd .wires{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hd .track{fill:none;stroke:var(--line);stroke-width:2px}.hd .draw{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}.hd .blocked-line{fill:none;stroke:var(--line);stroke-width:2px;stroke-dasharray:4 6;animation:1.2s linear infinite hd-march}@keyframes hd-march{to{stroke-dashoffset:-20px}}.hd .stopper{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .25s,transform .35s cubic-bezier(.3,1.6,.5,1);transform:scale(.4)}.hd .stage.caught .stopper{opacity:1;transform:scale(1)}.hd .envelope{opacity:0;transition:opacity .15s}.hd .stage.flying .envelope{opacity:1}.hd .hd-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);position:absolute;box-shadow:0 1px 2px #1018200a,0 12px 32px -12px #10182024}.hd .code{background:var(--code);width:380px;color:var(--code-ink);border-color:#0000;top:70px;left:0;overflow:hidden}.hd .code-head{font:500 12px var(--ff-mono);color:var(--code-dim);border-bottom:1px solid #ffffff12;align-items:center;gap:8px;padding:10px 14px;display:flex}.hd .code-head .dots{gap:6px;margin-right:6px;display:flex}.hd .code-head .dots i{background:#ffffff24;border-radius:50%;width:10px;height:10px}.hd pre{font:12.5px/1.7 var(--ff-mono);counter-reset:ln;margin:0;padding:12px 0}.hd .ln{white-space:pre;padding:0 16px 0 0;display:block}.hd .ln:before{counter-increment:ln;content:counter(ln);text-align:right;color:#3b4a58;width:34px;padding-right:14px;display:inline-block}.hd .ln.dim{opacity:.55}.hd .tl{vertical-align:top;white-space:pre;width:0;display:inline-block;overflow:hidden}.hd .lang{font:600 10.5px var(--ff-sans);letter-spacing:.02em;color:var(--lang);background:color-mix(in srgb, var(--lang) 16%, transparent);border-radius:999px;padding:1px 7px}.hd pre{min-height:216px;transition:opacity .35s}.hd .stage.resetting pre,.hd .stage.resetting .lang,.hd .stage.resetting #hd-file{opacity:0}.hd #hd-file{min-width:0}.hd .lang{flex:none}.hd .lang,.hd #hd-file{white-space:nowrap;text-overflow:ellipsis;transition:opacity .35s;overflow:hidden}.hd .c{color:#546e7a;font-style:italic}.hd .t{color:#ffcb6b}.hd .k{color:#c792ea}.hd .f{color:#82aaff}.hd .s{color:#c3e88d}.hd .n{color:#f78c6c}.hd .p{color:#89ddff}.hd .code-foot{font:500 12px var(--ff-mono);color:var(--code-dim);border-top:1px solid #ffffff12;align-items:center;gap:8px;min-height:38px;padding:9px 14px;display:flex}.hd .code-foot .led{background:#3b4a58;border-radius:50%;width:7px;height:7px;transition:background .2s}.hd .code-foot.busy .led{background:var(--trap);animation:.6s steps(2,end) infinite hd-blink}.hd .code-foot.done .led{background:#3dd68c}.hd .code-foot.done{color:#9fe6bf}@keyframes hd-blink{50%{opacity:.2}}.hd .ghost{width:230px;height:54px;box-shadow:none;background:0 0;border-style:dashed;align-items:center;gap:10px;padding:0 14px;display:flex;top:8px;left:445px}.hd .ghost .av{border:1px dashed var(--muted);width:30px;height:30px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.hd .ghost .who{color:var(--muted);font-size:13px;font-weight:600;line-height:1.25}.hd .ghost .who small{font-size:11px;font-weight:500;display:block}.hd .safe-chip{white-space:nowrap;font:600 11px var(--ff-sans);color:var(--ok);background:var(--surface);border:1px solid var(--line);opacity:0;border-radius:999px;margin-top:8px;padding:2px 10px;transition:opacity .25s,transform .25s;position:absolute;top:100%;left:50%;transform:translate(-50%,-4px)}.hd .stage.caught .safe-chip{opacity:1;transform:translate(-50%)}.hd .trap{width:100px;height:100px;position:absolute;top:200px;left:510px}.hd .trap .core{background:var(--surface);border:1px solid var(--line);color:var(--accent);z-index:1;border-radius:50%;place-items:center;transition:transform .3s cubic-bezier(.3,1.6,.5,1);display:grid;position:absolute;inset:0;box-shadow:0 10px 30px -10px #2c5aa059}.hd .trap .ring{border:2px dashed var(--trap);border-radius:50%;animation:14s linear infinite hd-spin;position:absolute;inset:-10px}.hd .trap .pulse{background:var(--trap);opacity:0;border-radius:50%;position:absolute;inset:0}.hd .stage.caught .trap .core{transform:scale(1.08)}.hd .stage.caught .trap .pulse{animation:.9s ease-out hd-ripple}@keyframes hd-spin{to{transform:rotate(360deg)}}@keyframes hd-ripple{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.hd .trap-label{text-align:center;width:200px;position:absolute;top:318px;left:460px}.hd .trap-label b{font-family:var(--ff-display);letter-spacing:-.01em;font-size:17px;display:block}.hd .trap-label span{font:12px var(--ff-mono);color:var(--muted)}.hd .inbox{flex-direction:column;width:380px;height:362px;display:flex;top:40px;left:740px;overflow:hidden}.hd .inbox-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.hd .inbox-head b{font-size:14px}.hd .count{font:600 12px var(--ff-sans);background:var(--trap);color:#3a2f00;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 9px}.hd .count.bump{animation:.4s cubic-bezier(.3,1.6,.5,1) hd-bump}@keyframes hd-bump{40%{transform:scale(1.25)}}.hd .rows{flex:1;margin:0;padding:0;list-style:none;overflow:hidden}.hd .hd-row{border-bottom:1px solid var(--line);gap:10px;padding:11px 16px;display:flex;position:relative}.hd .hd-row .av{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.hd .hd-row .meta{flex:1;min-width:0}.hd .hd-row .top{justify-content:space-between;gap:8px;font-size:13px;display:flex}.hd .hd-row .sender{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.hd .hd-row .subj{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.hd .hd-row time{color:var(--muted);flex:none;font-size:11px}.hd .hd-row.unread .sender{color:var(--ink);font-weight:700}.hd .hd-row.unread .subj{color:var(--ink);font-weight:500}.hd .hd-row.unread .av:after{content:"";background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:36px}.hd .hd-row.enter{background:var(--accent-soft);animation:.5s cubic-bezier(.2,.8,.2,1) hd-enter}@keyframes hd-enter{0%{opacity:0;margin-top:-59px}}.hd .checks{border-top:1px solid var(--line);background:var(--bg);gap:6px;padding:12px 16px;display:flex}.hd .chk{border:1px dashed var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;transition:all .25s;display:inline-flex}.hd .chk svg{opacity:0;width:12px;height:12px;transition:opacity .2s}.hd .chk.on{border-style:solid;border-color:color-mix(in srgb, var(--ok) 40%, transparent);color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, transparent)}.hd .chk.on svg{opacity:1}.hd .draw{transition:opacity .35s}.hd .stage.resetting .tl{transition:opacity .35s!important}.hd .stage.resetting .tl,.hd .stage.resetting .draw{opacity:0}.hd .stage-outer.compact .stage{flex-direction:column;align-items:stretch;gap:0;width:auto;height:auto;display:flex;transform:none!important}.hd .stage-outer.compact .stage:before,.hd .stage-outer.compact .wires,.hd .stage-outer.compact .ghost{display:none}.hd .stage-outer.compact .hd-card,.hd .stage-outer.compact .trap,.hd .stage-outer.compact .trap-label{width:auto;position:relative;top:auto;left:auto}.hd .stage-outer.compact .inbox{height:328px}.hd .stage-outer.compact pre{font-size:11px}.hd .stage-outer.compact .trap{width:72px;height:72px;margin:34px auto 0}.hd .stage-outer.compact .trap-label{width:100%;margin:18px 0 30px}.hd .stage-outer.compact .trap:before,.hd .stage-outer.compact .trap:after{content:"";background:var(--line);width:2px;height:30px;position:absolute;left:50%;transform:translate(-50%)}.hd .stage-outer.compact .trap:before{bottom:calc(100% + 12px)}.hd .stage-outer.compact .trap:after{height:0;top:calc(100% + 12px)}.hd .stage-outer.compact .trap .core svg{width:28px;height:28px}@media (prefers-reduced-motion:reduce){.hd .trap .ring,.hd .blocked-line{animation:none}}.demo-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}@media (width>=960px){.demo-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.demo-error{color:#c62828}.demo-creds{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.5rem 1rem;font-size:.92rem;display:grid}.demo-creds dt{color:var(--muted)}.demo-creds dd{align-items:center;gap:.5rem;min-width:0;display:flex}.demo-creds code{font-family:var(--ff-mono);overflow-wrap:anywhere;min-width:0}.demo-copy{border:1px solid var(--line);color:var(--muted);border-radius:6px;flex:none;margin-left:auto;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.demo-copy:hover{color:var(--ink)}.demo-copy-dark{color:#c9d3dc;border-color:#ffffff2e;margin-left:0}.demo-copy-dark:hover{color:#fff}.demo-tab{color:#9aa7b3;border-radius:6px;padding:.3rem .7rem;font-size:.8rem;font-weight:500}.demo-tab[aria-selected=true]{color:#fff;background:#ffffff1f}.demo-code{font-family:var(--ff-mono);color:var(--code-ink);white-space:pre;margin:0;padding:1.1rem 1.25rem;font-size:.82rem;line-height:1.65;overflow-x:auto}.demo-inbox{overflow:hidden}.demo-inbox-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.demo-live{color:var(--muted);align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:inline-flex}.demo-live .dot{background:#1a9d5c;border-radius:999px;width:.5rem;height:.5rem}.demo-live[data-paused] .dot{background:var(--muted)}.demo-empty{text-align:center;padding:3rem 1.5rem}.demo-pulse{background:var(--accent);border-radius:999px;width:.8rem;height:.8rem;margin-bottom:.9rem;animation:1.6s ease-out infinite demo-pulse;display:inline-block}@keyframes demo-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent)}to{box-shadow:0 0 0 14px #0000}}@media (prefers-reduced-motion:reduce){.demo-pulse{animation:none}}.demo-rows{max-height:30rem;overflow-y:auto}.demo-row+.demo-row{border-top:1px solid var(--line)}.demo-row>button{text-align:left;width:100%;padding:.85rem 1.25rem;display:block}.demo-row>button:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.demo-row.is-new{animation:.9s ease-out demo-in}@keyframes demo-in{0%{background:color-mix(in srgb, var(--trap) 40%, transparent)}to{background:0 0}}.demo-row-top{color:var(--muted);justify-content:space-between;gap:.75rem;font-size:.8rem;display:flex}.demo-row-top span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.demo-row-subject{text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-weight:600;overflow:hidden}.demo-row-body{font-family:var(--ff-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:0;padding:0 1.25rem 1rem;font-size:.8rem;line-height:1.6}.demo-keep{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));padding:1.25rem}.site-header{transition:background-color .45s,border-color .45s,box-shadow .45s}body:not(.scrolled) .site-header{background-color:#0000!important;border-bottom-color:#0000!important}.hero[data-astro-cid-lcdefpme]{padding-top:calc(5rem + 1px + var(--hero-pad));isolation:isolate;margin-top:calc(-5rem - 1px);position:relative;overflow:hidden}.hero-inner[data-astro-cid-lcdefpme]{z-index:1;position:relative}.h-hero[data-astro-cid-lcdefpme]{color:#2c5aa0;text-shadow:0 0 5px color-mix(in srgb, var(--primary) 30%, transparent)}.h-hero-sub[data-astro-cid-lcdefpme]{color:#00aad4;text-shadow:0 0 5px color-mix(in srgb, var(--accent) 40%, transparent);font-size:.82em}.hero-bg[data-astro-cid-lcdefpme]{z-index:-1;pointer-events:none;-webkit-mask-composite:source-in, source-in;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(52% 80% at 50% 55%,#0000 0% 32%,#0000001f 50%,#0006 72%,#000c 100%),linear-gradient(#0000 0 70px,#00000040 160px,#000000b3 300px,#000 420px),linear-gradient(0deg,#0000 0,#0006 90px,#000 220px);mask-image:radial-gradient(52% 80% at 50% 55%,#0000 0% 32%,#0000001f 50%,#0006 72%,#000c 100%),linear-gradient(#0000 0 70px,#00000040 160px,#000000b3 300px,#000 420px),linear-gradient(0deg,#0000 0,#0006 90px,#000 220px);mask-composite:intersect}.hero-wash[data-astro-cid-lcdefpme]{will-change:transform;background:linear-gradient(115deg,#8ff0b833,#7ee8d81f 40%,#8fd8ff38 70%,#9fc0ff29);animation:14s ease-in-out infinite alternate wash;position:absolute;inset:-30%}@keyframes wash{0%{transform:translate(-8%,-4%)rotate(-3deg)}to{transform:translate(8%,4%)rotate(3deg)}}.blob[data-astro-cid-lcdefpme]{will-change:transform;border-radius:50%;position:absolute}.blob[data-astro-cid-lcdefpme]:after{content:"";opacity:0;will-change:opacity;background:radial-gradient(circle, var(--c2) 0%, color-mix(in srgb, var(--c2) 55%, transparent) 22%, color-mix(in srgb, var(--c2) 22%, transparent) 45%, color-mix(in srgb, var(--c2) 6%, transparent) 62%, transparent 75%);border-radius:50%;animation:9s ease-in-out infinite alternate shade;position:absolute;inset:0}.b1[data-astro-cid-lcdefpme]{--c1:#8ff0b8;--c2:#6fe3cf;opacity:.6;width:46rem;height:46rem;animation:14s ease-in-out infinite alternate drift1;top:22%;left:-14%}.b2[data-astro-cid-lcdefpme]{--c1:#8fd8ff;--c2:#9fc0ff;opacity:.55;width:44rem;height:44rem;animation:17s ease-in-out infinite alternate drift2;top:14%;right:-14%}.b3[data-astro-cid-lcdefpme]{--c1:#a6e4ff;--c2:#8fd0ff;opacity:.6;width:38rem;height:38rem;animation:20s ease-in-out infinite alternate drift3;top:52%;right:-2%}.b2[data-astro-cid-lcdefpme]:after{animation-duration:11s;animation-delay:-4s}.b3[data-astro-cid-lcdefpme]:after{animation-duration:13s;animation-delay:-7s}.blob[data-astro-cid-lcdefpme]{background:radial-gradient(circle, var(--c1) 0%, color-mix(in srgb, var(--c1) 55%, transparent) 22%, color-mix(in srgb, var(--c1) 22%, transparent) 45%, color-mix(in srgb, var(--c1) 6%, transparent) 62%, transparent 75%)}@keyframes shade{to{opacity:1}}@keyframes drift1{0%{transform:translate(-6%,-10%)scale(.95)}to{transform:translate(12%,14%)scale(1.15)}}@keyframes drift2{0%{transform:translate(6%,8%)scale(1.1)}to{transform:translate(-12%,-8%)scale(.9)}}@keyframes drift3{0%{transform:translate(8%,10%)scale(.9)}to{transform:translate(-10%,-14%)scale(1.2)}}.hero[data-astro-cid-lcdefpme].paused .blob[data-astro-cid-lcdefpme],.hero[data-astro-cid-lcdefpme].paused .blob[data-astro-cid-lcdefpme]:after,.hero[data-astro-cid-lcdefpme].paused .hero-wash[data-astro-cid-lcdefpme]{animation-play-state:paused}.hero-lines[data-astro-cid-lcdefpme]{fill:none;width:100%;height:100%;stroke:var(--accent);stroke-width:.7px;stroke-opacity:.21;stroke-linecap:round;position:absolute;inset:0;-webkit-mask-image:radial-gradient(50% 70%,#0000 10%,#000 75%);mask-image:radial-gradient(50% 70%,#0000 10%,#000 75%)}.hero-dot[data-astro-cid-lcdefpme]{animation:2s ease-out infinite ping}@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 0 8px #0000}}.hero-cta[data-astro-cid-lcdefpme]{box-shadow:0 10px 30px -8px color-mix(in srgb, var(--primary) 70%, transparent);transition:transform .2s,box-shadow .2s}.hero-cta[data-astro-cid-lcdefpme]:hover{box-shadow:0 16px 36px -8px color-mix(in srgb, var(--accent) 80%, transparent);transform:translateY(-2px)}@media (width<=640px){.hero-bg[data-astro-cid-lcdefpme]{opacity:.8}}@media (prefers-reduced-motion:reduce){.blob[data-astro-cid-lcdefpme],.blob[data-astro-cid-lcdefpme]:after,.hero-bg[data-astro-cid-lcdefpme],.hero-wash[data-astro-cid-lcdefpme],.hero-dot[data-astro-cid-lcdefpme]{animation:none}}
