@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@layer reset;@layer base{:root{--made-with-panda:"🐼";--bg:var(--colors-bg);--bg-2:var(--colors-bg2);--surface:var(--colors-surface);--surface-hi:var(--colors-surface-hi);--line:var(--colors-line);--line-hi:var(--colors-line-hi);--text:var(--colors-text);--muted:var(--colors-muted);--dim:var(--colors-dim);--fox:var(--colors-fox);--fox-deep:var(--colors-fox-deep);--cream:var(--colors-cream);--pink:var(--colors-pink);--pink-dim:var(--colors-pink-dim);--grad:var(--gradients-fox);--green:var(--colors-green);--amber:var(--colors-amber);--red:var(--colors-red);--blue:var(--colors-blue);--tone-good:var(--colors-tone-good);--tone-warn:var(--colors-tone-warn);--tone-info:var(--colors-tone-info);--tone-muted:var(--colors-tone-muted);--rs:var(--colors-rs);--kt:var(--colors-kt);--ex:var(--colors-ex);--py:var(--colors-py);--db:var(--colors-db);--ts:var(--colors-ts);--r:var(--radii-card);--r-sm:var(--radii-sm);--r-pill:var(--radii-pill);--sans:var(--fonts-sans);--mono:var(--fonts-mono)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:var(--spacing-0);background-position:13px 13px;background-color:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 1px 1px,#ffffff0b 1px,#0000 0);background-size:26px 26px;font-size:15px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--fox);outline-offset:3px;border-radius:6px}.mono{font-family:var(--mono)}.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 22px}.navbar{z-index:60;justify-content:center;padding:14px 22px 0;display:flex;position:sticky;top:14px}.navbar-inner{gap:9px;width:100%;max-width:1080px}.navbar-inner,.nav-group{align-items:center;display:flex}.nav-group{border:1px solid var(--line);border-radius:var(--r-pill);backdrop-filter:blur(16px);background:#141311d6;gap:2px;padding:5px}.nav-brand{align-items:center;gap:9px;padding:6px 15px 6px 11px;font-size:.93rem;font-weight:600;display:flex}.nav-brand .spark{color:var(--fox);display:flex}.nav-brand .spark svg{width:15px;height:15px}.nav-brand span{color:var(--dim);font-weight:400;font-family:var(--mono);font-size:.85rem}.nav-group a.nav-item{border-radius:var(--r-pill);color:var(--muted);white-space:nowrap;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;transition:color .18s,background .18s;display:flex}.nav-group a.nav-item:hover{background:var(--surface-hi);color:var(--text)}.nav-item svg{opacity:.7;flex:none;width:14px;height:14px}.nav-meta{margin-left:auto}.meta-cell{color:var(--muted);white-space:nowrap;font-size:.79rem;font-family:var(--mono);align-items:center;gap:8px;padding:7px 14px;display:flex}.meta-cell+.meta-cell{border-left:1px solid var(--line)}.meta-cell svg{opacity:.55;flex:none;width:14px;height:14px}.meta-cell .zone,.meta-cell .yr{color:var(--dim)}.hero{padding:40px 0 18px;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(55% 100% at 50% 0,#ff8c421a,#0000 70%);height:460px;position:absolute;inset:-40px 0 auto}.hero .wrap{z-index:1;position:relative}h1.hero-title{text-wrap:balance;letter-spacing:-.035em;margin:0 0 18px;font-size:clamp(1.75rem,4.3vw,2.75rem);font-weight:700;line-height:1.08}h1.hero-title .pink,h2.sec-title .pink{background:var(--grad);color:var(--colors-transparent);-webkit-text-fill-color:var(--colors-transparent);-webkit-background-clip:text;background-clip:text}@supports not ((-webkit-background-clip:text) or (background-clip:text)){h1.hero-title .pink,h2.sec-title .pink{color:var(--fox);-webkit-text-fill-color:var(--fox)}}.hero-lead{color:var(--muted);max-width:68ch;margin:0 0 22px;font-size:1rem;line-height:1.72}.hero-lead b{color:var(--text);font-weight:600}.hero-lead .t-rs{color:var(--rs)}.hero-lead .t-rs,.hero-lead .t-kt{font-family:var(--mono);font-size:.93em}.hero-lead .t-kt{color:var(--kt)}.hero-lead .t-ex{color:var(--ex)}.hero-lead .t-ex,.hero-lead .t-py{font-family:var(--mono);font-size:.93em}.hero-lead .t-py{color:var(--py)}.btn-row{flex-wrap:wrap;gap:9px;display:flex}.live-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px;display:grid}.live-cell{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:15px 18px 17px}.live-cell .lbl{font-family:var(--mono);color:var(--dim);align-items:center;gap:8px;margin-bottom:9px;font-size:.72rem;display:flex}.live-cell .lbl svg{width:13px;height:13px}.live-cell .val{font-family:var(--mono);letter-spacing:-.02em;font-size:1.18rem}.live-cell .sub{font-family:var(--mono);color:var(--dim);margin-top:2px;font-size:.73rem}.live-cell .val.mint{color:var(--green);font-size:.95rem}section.block{padding:44px 0 0}section.block:last-of-type{padding-bottom:44px}h2.sec-title{letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(1.5rem,3.4vw,2.05rem);font-weight:700}.sec-sub{color:var(--muted);max-width:74ch;margin:0 0 26px;font-size:.92rem;line-height:1.72}.sec-sub b{color:var(--text);font-weight:600}.group-head{letter-spacing:-.02em;align-items:center;gap:10px;margin:30px 0 14px;font-size:1rem;font-weight:600;display:flex}.group-head:first-of-type{margin-top:4px}.group-head svg{color:var(--dim);flex:none;width:17px;height:17px}.group-head .count{font-family:var(--mono);color:var(--dim);font-size:.74rem;font-weight:400}.m-rs{color:var(--rs);background:#e8734a29}.m-kt{color:var(--kt);background:#a98bf529}.m-ex{color:var(--ex);background:#d49ad829}.m-py{color:var(--py);background:#f2cf5b29}.m-db{color:var(--db);background:#6fd3c429}.m-ts{color:var(--ts);background:#f5b95029}.m-gen{color:var(--fox);background:#ff8c4229}.tool-name{font-family:var(--mono);letter-spacing:-.01em;font-size:.95rem;font-weight:500}.st-active{color:var(--green)}.st-active .dot{background:var(--green);box-shadow:0 0 8px #7fd6a699}.st-learn{color:var(--amber)}.st-learn .dot{background:var(--amber);box-shadow:0 0 8px #e8b96b8c}.st-side{color:var(--blue)}.st-side .dot{background:var(--blue)}.proj-list{flex-direction:column;gap:12px;display:flex}.proj{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--r-sm);transition:border-color .2s;overflow:hidden}.proj:hover{border-color:var(--line-hi)}.proj-top{flex-wrap:wrap;align-items:flex-start;gap:14px;padding:20px 22px 0;display:flex}.proj-logo{color:var(--cream);background:linear-gradient(150deg,#ff8c423d,#7fd6a61a);border:1px solid #ff8c4242;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:grid}.proj-name{margin:var(--spacing-0);letter-spacing:-.025em;flex-wrap:wrap;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.proj-name .ver{font-size:.76rem;font-weight:400}.proj-name .ver,.proj-role{font-family:var(--mono);color:var(--dim)}.proj-role{margin:3px 0 0;font-size:.8rem}.proj-body{padding:16px 22px 22px}.proj-desc{color:var(--muted);max-width:76ch;margin:0 0 16px;font-size:.89rem;line-height:1.68}.flow{border:1px solid var(--line);background:var(--surface);font-family:var(--mono);border-radius:8px;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-bottom:16px;padding:12px 15px;font-size:.78rem;display:flex}.flow .arrow{color:var(--fox);opacity:.7}.mods{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.mod{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:14px 16px}.mod h4{margin:0 0 6px;font-size:.84rem;font-weight:600}.mod p{margin:var(--spacing-0);color:var(--muted);font-size:.79rem;line-height:1.58}.formats{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.fmt{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--r-sm);flex-direction:column;gap:10px;padding:18px 18px 19px;transition:border-color .2s,transform .2s;display:flex}.fmt:hover{border-color:var(--line-hi);transform:translateY(-2px)}.fmt-top{align-items:center;gap:10px;display:flex}.fmt-ico{border:1px solid var(--line-hi);background:var(--surface);color:var(--fox);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.fmt-ico svg{width:14px;height:14px}.fmt h3{letter-spacing:-.015em;font-size:.95rem;font-weight:600}.fmt h3,.fmt p{margin:var(--spacing-0)}.fmt p{color:var(--muted);flex:1;font-size:.82rem;line-height:1.6}.fmt .libs{margin-top:2px}.bio-grid{grid-template-columns:1.45fr 1fr;align-items:start;gap:26px;display:grid}.bio-text p{color:var(--muted);margin:0 0 14px;font-size:.89rem;line-height:1.78}.bio-text p:last-of-type{margin-bottom:var(--spacing-0)}.bio-text b{color:var(--text);font-weight:600}.bio-text .hl{color:var(--fox)}.row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding:11px 20px;font-size:.82rem;display:flex}.row:last-child{border-bottom:var(--borders-none)}.row .k{color:var(--dim);font-family:var(--mono);font-size:.76rem}.row .v{text-align:right;font-weight:500}.row .v.green{color:var(--green);font-weight:400;font-family:var(--mono);font-size:.78rem}.row .v.pink{color:var(--fox)}.row .v.mono{font-family:var(--mono);font-size:.79rem;font-weight:400}.live-dot{background:var(--green);border-radius:50%;width:6px;height:6px;margin-right:7px;animation:2.6s ease-in-out infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.contact{border:1px solid var(--line);background:radial-gradient(ellipse 70% 130% at 50% 0%, #ff8c421c, transparent 62%), var(--surface);border-radius:var(--r);text-align:center;margin-top:44px;padding:46px 28px}.contact h2{margin-bottom:10px}.contact p{color:var(--muted);max-width:54ch;margin:0 auto 24px;font-size:.89rem}.contact .btn-row{justify-content:center}footer{border-top:1px solid var(--line);margin-top:40px;padding:22px 0 44px}footer .wrap{font-family:var(--mono);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:.75rem;display:flex}footer a{color:var(--muted);transition:color .2s}footer a:hover{color:var(--fox)}.tw{border-bottom:1px dashed color-mix(in srgb, currentColor 45%, transparent);font-family:var(--mono);cursor:help;border-radius:5px;margin:0 -1px;padding:1px 4px;font-size:.93em;transition:background .18s;position:relative}.tw:hover,.tw:focus-visible{background:color-mix(in srgb, currentColor 15%, transparent)}.tw:after{background:var(--surface-hi);border:1px solid var(--line-hi);content:attr(data-tip);color:var(--text);font-family:var(--sans);letter-spacing:-.005em;white-space:nowrap;opacity:0;pointer-events:none;z-index:30;border-radius:9px;padding:7px 12px;font-size:.77rem;font-weight:400;line-height:1.4;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(5px);box-shadow:0 10px 28px #0000008c}.tw:hover:after,.tw:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.tool,.fmt,.live-cell{position:relative}.tool:before,.fmt:before,.live-cell:before{inset:var(--spacing-0);background:radial-gradient(240px circle at var(--mx,-200px) var(--my,-200px), #ffffff0d, transparent 62%);border-radius:inherit;content:"";opacity:0;pointer-events:none;z-index:0;transition:opacity .3s;position:absolute}.tool:hover:before,.fmt:hover:before,.live-cell:hover:before{opacity:1}.fmt>*,.live-cell>*{z-index:1;position:relative}.nav-group a.nav-item.active{background:var(--surface-hi);color:var(--text)}.nav-group a.nav-item.active svg{color:var(--fox);opacity:1}.copied{position:relative}.copied:after{background:var(--green);content:"Скопировано";color:#0e0d0c;font-family:var(--mono);white-space:nowrap;z-index:30;border-radius:6px;padding:4px 10px;font-size:.7rem;animation:.2s popIn;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}@keyframes popIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cat-btn{padding:var(--spacing-0);border:var(--borders-none);cursor:pointer;color:var(--fox);vertical-align:-8px;background:0 0;justify-content:center;align-items:center;width:34px;height:34px;margin-left:4px;transition:transform .18s;display:inline-flex}.cat-btn:hover{transform:translateY(-2px)rotate(-4deg)}.cat-btn:active{transform:scale(.92)}.cat-btn svg{width:34px;height:34px;overflow:visible}.cat-btn.wiggle svg{animation:.45s wiggle}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-13deg)translateY(-3px)}60%{transform:rotate(11deg)translateY(-1px)}}.cat-eye-open{display:block}.cat-eye-happy,.cat-btn.happy .cat-eye-open{display:none}.cat-btn.happy .cat-eye-happy{display:block}.cat-count{font-family:var(--mono);color:var(--dim);opacity:0;margin-left:7px;font-size:.74rem;transition:opacity .25s,transform .25s;display:inline-block;transform:translateY(3px)}.cat-count.on{opacity:1;transform:none}.lang-btn{border:var(--borders-none);border-radius:var(--r-pill);cursor:pointer;font-family:var(--mono);color:var(--muted);background:0 0;align-items:center;gap:8px;padding:7px 14px;font-size:.79rem;transition:color .18s,background .18s;display:flex}.lang-btn:hover{background:var(--surface-hi);color:var(--text)}.lang-btn svg{opacity:.6;flex:none;width:14px;height:14px}.reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(16px)}.reveal.in{opacity:1;transform:none}#foxfire{inset:var(--spacing-0);pointer-events:none;z-index:0;height:100%;position:absolute}#foxfire,.tail-div{opacity:.85;width:100%}.tail-div{max-width:340px;height:34px;margin:0 auto;display:block;overflow:visible}.tail-div .fur{stroke:url(#tailgrad);stroke-width:2px;fill:none;stroke-linecap:round;stroke-dasharray:340;stroke-dashoffset:340px}.tail-div .tip{fill:var(--cream)}.tail-div .spark-dot{fill:var(--fox);opacity:.55}.ears{width:17px;height:17px}.fox-tail{transform-origin:46px 44px}.cat-btn:hover .fox-tail{animation:1.1s ease-in-out infinite swish}.cat-btn.wiggle .fox-tail{animation:.38s ease-in-out 3 swish}@keyframes swish{0%,to{transform:rotate(0)}50%{transform:rotate(-15deg)}}.fox-rule{border:var(--borders-none);margin:var(--spacing-0);background:linear-gradient(90deg,#0000,#ff8c4273,#f7b3d359,#0000);height:1px}a.tool-name{border-radius:5px;align-items:center;gap:4px;margin-left:-4px;padding:1px 4px;transition:color .16s,background .16s;display:inline-flex}a.tool-name:hover{color:var(--fox);background:#ff8c421f}a.tool-name .ext{opacity:0;flex:none;width:12px;height:12px;transition:opacity .16s}a.tool-name:hover .ext{opacity:.8}.tool-name.plain{padding:1px 0}.more{border-top:1px solid var(--line);font-family:var(--mono);color:var(--dim);align-items:center;gap:5px;margin-top:13px;padding-top:11px;font-size:.74rem;transition:color .18s;display:inline-flex}.tool:hover .more{color:var(--fox)}.more svg{width:12px;height:12px;transition:transform .18s}.tool:hover .more svg{transform:translate(3px)}.scrim{inset:var(--spacing-0);backdrop-filter:blur(7px);opacity:0;pointer-events:none;z-index:200;background:#0a0705b8;justify-content:center;align-items:center;padding:24px;transition:opacity .22s;display:flex;position:fixed}.scrim.open{opacity:1;pointer-events:auto}.scrim[hidden]{display:none}.modal{background:var(--surface);border:1px solid var(--line-hi);border-radius:var(--r);flex-direction:column;width:100%;max-width:620px;max-height:min(84vh,780px);transition:transform .24s cubic-bezier(.2,.8,.3,1);display:flex;overflow:hidden;transform:translateY(14px)scale(.98);box-shadow:0 30px 90px #000000a6,0 0 0 1px #ff8c4212}.scrim.open .modal{transform:none}.modal-bar{border-bottom:1px solid var(--line);font-family:var(--mono);color:var(--dim);flex:none;align-items:center;gap:10px;padding:13px 16px 13px 20px;font-size:.76rem;display:flex}.modal-bar svg.doc{flex:none;width:14px;height:14px}.modal-bar .grow{flex:1}.modal-x{border:1px solid var(--line);background:var(--bg-2);color:var(--muted);cursor:pointer;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;transition:color .18s,border-color .18s,background .18s;display:grid}.modal-x:hover{background:var(--surface-hi);border-color:var(--line-hi);color:var(--fox)}.modal-x svg{width:14px;height:14px}.modal:focus,.modal:focus-visible{outline:var(--borders-none)}.modal-scroll{padding:26px 26px 30px;overflow-y:auto}.modal-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.modal-title{letter-spacing:-.03em;font-size:1.35rem;font-weight:700}.modal-title a{align-items:center;gap:5px;display:inline-flex}.modal-title a:hover{color:var(--fox)}.modal-title .ext{opacity:.55;width:14px;height:14px}.modal-lead{border-bottom:1px solid var(--line);color:var(--muted);margin:12px 0 0;padding-bottom:20px;font-size:.9rem;line-height:1.7}.d-file{display:none}.prose-gap{margin-top:26px}[data-lang=ru],html[lang=ru] [data-lang=en]{display:none}html[lang=ru] [data-lang=ru]{display:block}.tool-page-body h2{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fox);margin:26px 0 8px;font-size:.74rem;font-weight:500}.tool-page-body p{margin:var(--spacing-0);color:var(--muted);font-size:.92rem;line-height:1.78}.tool-page-body ul{margin:var(--spacing-0);padding:var(--spacing-0);flex-direction:column;gap:8px;list-style:none;display:flex}.tool-page-body li{color:var(--muted);padding-left:20px;font-size:.92rem;position:relative}.tool-page-body li:before{background:var(--grad);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.62em;left:3px}.d-sec{padding-top:20px}.d-sec h4{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fox);margin:0 0 8px;font-size:.74rem;font-weight:500}.d-sec p{color:var(--muted);font-size:.88rem;line-height:1.75}.d-sec p,.d-sec ul{margin:var(--spacing-0)}.d-sec ul{padding:var(--spacing-0);flex-direction:column;gap:7px;list-style:none;display:flex}.d-sec li{color:var(--muted);padding-left:20px;font-size:.88rem;line-height:1.6;position:relative}.d-sec li:before{background:var(--grad);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.62em;left:3px}body.locked{left:var(--spacing-0);right:var(--spacing-0);width:100%;position:fixed;overflow:hidden}.contact-rows{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.crow{border:1px solid var(--line);background:var(--bg-2);border-radius:var(--r-sm);text-align:left;font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;align-items:center;gap:13px;width:100%;padding:14px 16px;transition:border-color .2s,background .2s,transform .2s;display:flex;position:relative;overflow:hidden}.crow:hover{background:var(--surface-hi);border-color:var(--line-hi);transform:translateY(-2px)}.crow.static{cursor:default}.crow.static:hover{transform:none}.crow .cico{color:var(--fox);background:#ff8c421c;border:1px solid #ff8c4233;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s;display:grid}.crow:hover .cico{transform:rotate(-8deg)scale(1.06);box-shadow:0 0 16px #ff8c4247}.crow .cico svg{width:16px;height:16px}.crow .ctext{min-width:var(--sizes-0);flex:1}.crow .ck{letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin-bottom:3px;font-size:.71rem}.crow .ck,.crow .cv{font-family:var(--mono);display:block}.crow .cv{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;overflow:hidden}.crow .cv.todo,.crow .cact{color:var(--dim)}.crow .cact{opacity:0;flex:none;transition:opacity .2s,transform .2s,color .2s;transform:translate(-4px)}.crow:hover .cact{opacity:1;color:var(--fox);transform:none}.crow .cact svg{width:15px;height:15px}.crow.copied:after{inset:8px 12px auto auto;transform:none}.rise{opacity:0;transform:translateY(14px)}.go .rise{animation:.7s cubic-bezier(.2,.75,.3,1) forwards rise}.go .rise:first-child{animation-delay:50ms}.go .rise:nth-child(2){animation-delay:.14s}.go .rise:nth-child(3){animation-delay:.23s}.go .rise:nth-child(4){animation-delay:.32s}@keyframes rise{to{opacity:1;transform:none}}h1.hero-title .pink{background-size:220% 100%;animation:9s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}.tail-div.drawn .fur{animation:1.5s cubic-bezier(.3,.7,.3,1) forwards draw}.tail-div .tip,.tail-div .spark-dot{opacity:0}.tail-div.drawn .tip{animation:.5s .95s forwards pop}.tail-div.drawn .spark-dot:first-of-type{animation:.5s 1.15s forwards pop}.tail-div.drawn .spark-dot:nth-of-type(2){animation:.5s 1.3s forwards pop}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:.85;transform:none}}.arcs{inset:var(--spacing-0);pointer-events:none;z-index:0;opacity:.5;width:100%;height:100%;position:fixed}.arcs path{fill:none;stroke:#ffffff0d;stroke-width:1px}.arcs .warm{stroke:#ff8c4213}.navbar,.hero,section.block,footer{z-index:1;position:relative}.frame{border:1px dashed var(--line-hi);border-radius:var(--r);background:#1c16138c;padding:26px 24px;position:relative}.frame:before,.frame:after,.frame>.tick-l,.frame>.tick-r{background:var(--fox);content:"";opacity:.55;width:6px;height:6px;position:absolute}.frame:before{top:-3px;left:-3px}.frame:after{top:-3px;right:-3px}.frame>.tick-l{bottom:-3px;left:-3px}.frame>.tick-r{bottom:-3px;right:-3px}.stats{border:1px dotted var(--line-hi);gap:var(--spacing-0);border-radius:var(--r);background:#1813106b;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:12px;display:grid}.stats,.stat{overflow:hidden}.stat{border:var(--borders-none);border-right:1px dotted var(--line-hi);background:0 0;border-radius:0;padding:20px 20px 18px;position:relative}.stat:after{inset:var(--spacing-0);background:radial-gradient(300px circle at var(--mx,-200px) var(--my,-200px), #ff8c4217, transparent 60%);content:"";opacity:0;pointer-events:none;transition:opacity .3s;position:absolute}.stat:hover:after{opacity:1}.stat .n{letter-spacing:-.045em;font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;font-size:clamp(1.9rem,4.2vw,2.7rem);font-weight:700;line-height:1;display:flex}.stat .n .u{color:var(--fox);font-size:.5em;font-weight:600}.stat .l{letter-spacing:.04em;color:var(--dim);margin-top:9px;font-size:.72rem}.stat .l,.stat .corner{font-family:var(--mono)}.stat .corner{color:var(--line-hi);font-size:.64rem;display:flex;position:absolute;top:15px;right:16px}.statement{text-align:center;padding:26px 0 6px}.outline-text{margin:var(--spacing-0);-webkit-text-stroke:1.4px #ffffff57;text-wrap:balance;letter-spacing:-.035em;font-size:clamp(1.8rem,6.2vw,4rem);font-weight:800;line-height:1.06}.outline-text,.outline-text .lit{color:var(--colors-transparent)}.outline-text .lit{-webkit-text-stroke:1.4px var(--fox)}.outline-text .solid{background:var(--grad);-webkit-text-stroke:0;color:var(--colors-transparent);-webkit-text-fill-color:var(--colors-transparent);-webkit-background-clip:text;background-clip:text}@supports not (-webkit-text-stroke:1px red){.outline-text{color:var(--muted)}.outline-text .lit{color:var(--fox)}}.statement-sub{font-family:var(--mono);color:var(--dim);margin:18px 0 0;font-size:.8rem}.note{text-align:left;background:#ff8c420d;border:1px solid #ff8c4280;border-radius:0;max-width:300px;padding:11px 14px;display:inline-block;position:relative}.note b{color:var(--fox);margin-bottom:3px;font-size:.84rem;font-weight:600;display:block}.note span{color:var(--muted);font-size:.78rem;line-height:1.5;display:block}.notes-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px;display:flex}.rails{pointer-events:none;z-index:0;width:min(1080px,100% - 44px);position:fixed;left:50%;transform:translate(-50%)}.rails,.rails i{top:var(--spacing-0);bottom:var(--spacing-0)}.rails i{width:var(--sizes-0);border-left:1px dashed #ffffff0e;position:absolute}.rails i:first-child{left:-22px}.rails i:nth-child(2){left:auto;right:-22px}.rails i:nth-child(3){border-left-color:#ffffff08;left:-1px}.rails i:nth-child(4){border-left-color:#ffffff08;left:auto;right:-1px}.stat:last-child{border-right:var(--borders-none)}.stat .corner svg{width:14px;height:14px}.stat:hover .corner{color:var(--fox);opacity:.7}.map-card{border:1px solid var(--line);background:var(--bg-2);gap:var(--spacing-0);border-radius:var(--r-sm);grid-column:1/-1;align-items:stretch;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.map-card:hover{border-color:var(--line-hi)}.map-vis{min-width:var(--sizes-0);background-image:linear-gradient(90deg,#ffffff09 1px,#0000 1px),linear-gradient(#ffffff09 1px,#0000 1px);background-size:22px 22px;flex:1;min-height:132px;position:relative}.map-vis svg{inset:var(--spacing-0);width:100%;height:100%;position:absolute}.map-vis svg path{fill:none;vector-effect:non-scaling-stroke}.map-vis .river{stroke:#ff8c4247;stroke-width:2.2px;stroke-linejoin:round}.map-vis .road{stroke:#ffffff2b;stroke-width:1px;stroke-linecap:round}.map-credit{font-family:var(--mono);letter-spacing:.02em;color:var(--dim);opacity:.5;pointer-events:none;font-size:.58rem;position:absolute;bottom:5px;right:7px}.pin{background:var(--fox);left:var(--pin-x,50%);top:var(--pin-y,50%);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;box-shadow:0 0 14px #ff8c42e6}.pin:before,.pin:after{border:1.5px solid var(--fox);content:"";border-radius:50%;animation:2.8s cubic-bezier(0,.5,.5,1) infinite ping;position:absolute;inset:-4px}.pin:after{animation-delay:1.4s}@keyframes ping{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(3.4)}}.map-side{border-left:1px dotted var(--line-hi);flex-direction:column;flex:none;justify-content:center;gap:4px;width:210px;padding:16px 18px;display:flex}.map-side .ck{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dim);font-size:.71rem}.map-side .city{letter-spacing:-.015em;font-size:1rem;font-weight:600}.map-side .coords{font-family:var(--mono);color:var(--dim);font-size:.73rem}.map-side .open{font-family:var(--mono);color:var(--fox);align-items:center;gap:5px;margin-top:8px;font-size:.74rem;transition:gap .18s;display:inline-flex}.map-card:hover .map-side .open{gap:9px}.map-side .open svg{width:12px;height:12px}::selection{color:#fff6ee;text-shadow:0 0 12px #ff8c4280;background:#ff8c4252}::-moz-selection{color:#fff6ee;background:#ff8c4252}.unb{font-family:"Unbounded", var(--sans);letter-spacing:-.05em;font-weight:700}.dot-u{white-space:nowrap;text-decoration:none;position:relative}.dot-u:after{border-bottom:3px dotted var(--fox);content:"";opacity:.85;left:var(--spacing-0);right:var(--spacing-0);height:var(--sizes-0);transition:bottom .22s cubic-bezier(.2,.8,.3,1),opacity .22s;position:absolute;bottom:-.06em}h1.hero-title:hover .dot-u:after{opacity:1;bottom:-.16em}.cmdk-scrim{inset:var(--spacing-0);z-index:300;backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#0a0705a8;justify-content:center;align-items:flex-start;padding:14vh 20px 20px;transition:opacity .18s;display:flex;position:fixed}.cmdk-scrim[hidden]{display:none}.cmdk-scrim.open{opacity:1;pointer-events:auto}.cmdk{background:var(--surface);border:1px solid var(--line-hi);border-radius:var(--r);width:100%;max-width:560px;transition:transform .2s cubic-bezier(.2,.8,.3,1);overflow:hidden;transform:translateY(-10px)scale(.985);box-shadow:0 30px 90px #000000b3,0 0 0 1px #ff8c4214}.cmdk-scrim.open .cmdk{transform:none}.cmdk-input-row{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:14px 18px;display:flex}.cmdk-input-row svg{color:var(--fox);flex:none;width:16px;height:16px}.cmdk input{border:var(--borders-none);outline:var(--borders-none);color:var(--text);font-family:var(--mono);min-width:var(--sizes-0);background:0 0;flex:1;font-size:.95rem}.cmdk input::placeholder{color:var(--dim)}.cmdk-list{max-height:46vh;padding:7px;overflow-y:auto}.cmdk-item{border:var(--borders-none);text-align:left;color:inherit;cursor:pointer;background:0 0;border-radius:9px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;font-size:.89rem;display:flex}.cmdk-item[aria-selected=true]{background:var(--surface-hi)}.cmdk-item[aria-selected=true] .ci{color:var(--fox);border-color:#ff8c4259}.cmdk-item .ci{border:1px solid var(--line);background:var(--bg-2);color:var(--muted);border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.cmdk-item .ci svg{width:13px;height:13px}.cmdk-item .cl{min-width:var(--sizes-0);flex:1}.cmdk-item .cl b{font-weight:500;display:block}.cmdk-item .cl span{margin-top:1px;font-size:.72rem;display:block}.cmdk-item .cl span,.cmdk-item kbd{font-family:var(--mono);color:var(--dim)}.cmdk-item kbd{border:1px solid var(--line);border-radius:5px;flex:none;padding:2px 6px;font-size:.68rem}.cmdk-empty{text-align:center;padding:24px 18px;font-size:.8rem}.cmdk-empty,.cmdk-foot{color:var(--dim);font-family:var(--mono)}.cmdk-foot{background:var(--bg-2);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 18px;font-size:.7rem;display:flex}.cmdk-foot kbd{border:1px solid var(--line-hi);border-radius:4px;margin-right:5px;padding:1px 5px}.cmdk-hint{border-radius:var(--r-pill);font-family:var(--mono);color:var(--muted);align-items:center;gap:7px;padding:7px 13px;font-size:.76rem;display:none}.cmdk-hint kbd{border:1px solid var(--line-hi);color:var(--dim);border-radius:4px;padding:1px 5px}.progress{background:var(--grad);z-index:250;left:var(--spacing-0);top:var(--spacing-0);height:2px;width:var(--sizes-0);transition:width .1s linear;position:fixed}.modal-nav{gap:6px;margin-right:4px;display:flex}.modal-nav button{border:1px solid var(--line);background:var(--bg-2);color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;width:30px;height:30px;transition:color .18s,border-color .18s,background .18s;display:grid}.modal-nav button:hover{background:var(--surface-hi);border-color:var(--line-hi);color:var(--fox)}.modal-nav svg{width:13px;height:13px}*,:before,:after,::backdrop{--blur: ;--brightness: ;--contrast: ;--grayscale: ;--hue-rotate: ;--invert: ;--saturate: ;--sepia: ;--drop-shadow: ;--backdrop-blur: ;--backdrop-brightness: ;--backdrop-contrast: ;--backdrop-grayscale: ;--backdrop-hue-rotate: ;--backdrop-invert: ;--backdrop-opacity: ;--backdrop-saturate: ;--backdrop-sepia: ;--gradient-from-position: ;--gradient-to-position: ;--gradient-via-position: ;--scroll-snap-strictness:proximity;--border-spacing-x:0;--border-spacing-y:0;--translate-x:0;--translate-y:0;--rotate:0;--rotate-x:0;--rotate-y:0;--skew-x:0;--skew-y:0;--scale-x:1;--scale-y:1}@media (width>=1001px){.cmdk-hint{display:flex}}@media (width<=1000px){.nav-group.center{display:none}}@media (width<=860px){.bio-grid{grid-template-columns:1fr}}@media (width<=760px){.stat{border-right:var(--borders-none);border-bottom:1px dotted var(--line-hi)}.stat:last-child{border-bottom:var(--borders-none)}.rails{display:none}}@media (width<=620px){.scrim{padding:var(--spacing-0);align-items:flex-end}.modal-scroll{padding:20px 18px 26px}.navbar{padding:10px 14px 0;top:10px}.fcard-body{padding:20px 18px 22px}.contact{padding:36px 18px}.modal{border-radius:var(--r) var(--r) 0 0;max-width:100%;max-height:90vh}.map-side{border-left:var(--borders-none);border-top:1px dotted var(--line-hi);width:100%}.tw:after{display:none}.map-card{flex-direction:column}.meta-cell.date{display:none}.map-vis{min-height:110px}.dot-u:after{border-bottom-width:2px}.hero{padding-top:26px}.proj-top,.proj-body{padding-left:17px;padding-right:17px}}@media (prefers-reduced-motion:reduce){h1.hero-title .pink{animation:none}.pin:before,.pin:after{opacity:.3;animation:none}html{scroll-behavior:auto}*,:before,:after{--transition-duration:.01ms!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal,.rise{opacity:1;transform:none}.tail-div .fur{stroke-dashoffset:0}.tail-div .tip,.tail-div .spark-dot{opacity:.85}}@media print{body{font-size:10.5pt;color:#111!important;background:#fff!important}.fcard,.tool,.fmt,.proj,.mod,.crow,.stat,.stats,.map-card,.contact{break-inside:avoid;box-shadow:none!important;background:#fff!important;border-color:#ccc!important}h1.hero-title .pink,h2.sec-title .pink,.hero-title .unb{-webkit-text-fill-color:#c2410c!important;color:#c2410c!important;background:0 0!important}.wrap{padding:var(--spacing-0);max-width:100%}section.block{break-inside:avoid;padding:10pt 0}.contact{border:1px solid #ccc!important}a{text-decoration:none;color:#c2410c!important}.navbar,.rails,.arcs,#foxfire,.tail-div,.cmdk-scrim,.scrim,.progress,.live-strip,.statement,.notes-row,.map-vis,.cat-btn,.cat-count,.more,.fcard>.reg,.tool:before,.tool:after,.fmt:before{display:none!important}h1.hero-title,h2.sec-title{color:#111!important}p,.sec-sub,.tool p,.demo-lead{color:#333!important}.mono,.tool-meta,.status,.lib,.fcard-label{color:#555!important}.dot-u:after{border-bottom-color:#c2410c!important}}}@layer tokens{:where(:root,:host){--aspect-ratios-square:1 / 1;--aspect-ratios-landscape:4 / 3;--aspect-ratios-portrait:3 / 4;--aspect-ratios-wide:16 / 9;--aspect-ratios-ultrawide:18 / 5;--aspect-ratios-golden:1.618 / 1;--borders-none:none;--easings-default:cubic-bezier(.4, 0, .2, 1);--easings-linear:linear;--easings-in:cubic-bezier(.4, 0, 1, 1);--easings-out:cubic-bezier(0, 0, .2, 1);--easings-in-out:cubic-bezier(.4, 0, .2, 1);--durations-fastest:50ms;--durations-faster:.1s;--durations-fast:.15s;--durations-normal:.2s;--durations-slow:.3s;--durations-slower:.4s;--durations-slowest:.5s;--font-weights-thin:100;--font-weights-extralight:200;--font-weights-light:300;--font-weights-normal:400;--font-weights-medium:500;--font-weights-semibold:600;--font-weights-bold:700;--font-weights-extrabold:800;--font-weights-black:900;--line-heights-none:1;--line-heights-tight:1.25;--line-heights-snug:1.375;--line-heights-normal:1.5;--line-heights-relaxed:1.625;--line-heights-loose:2;--letter-spacings-tighter:-.05em;--letter-spacings-tight:-.025em;--letter-spacings-normal:0em;--letter-spacings-wide:.025em;--letter-spacings-wider:.05em;--letter-spacings-widest:.1em;--font-sizes-2xs:.5rem;--font-sizes-xs:.75rem;--font-sizes-sm:.875rem;--font-sizes-md:1rem;--font-sizes-lg:1.125rem;--font-sizes-xl:1.25rem;--font-sizes-2xl:1.5rem;--font-sizes-3xl:1.875rem;--font-sizes-4xl:2.25rem;--font-sizes-5xl:3rem;--font-sizes-6xl:3.75rem;--font-sizes-7xl:4.5rem;--font-sizes-8xl:6rem;--font-sizes-9xl:8rem;--shadows-2xs:0 1px #0000000d;--shadows-xs:0 1px 2px 0 #0000000d;--shadows-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadows-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadows-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadows-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadows-2xl:0 25px 50px -12px #00000040;--shadows-inset-2xs:inset 0 1px #0000000d;--shadows-inset-xs:inset 0 1px 1px #0000000d;--shadows-inset-sm:inset 0 2px 4px #0000000d;--blurs-xs:4px;--blurs-sm:8px;--blurs-md:12px;--blurs-lg:16px;--blurs-xl:24px;--blurs-2xl:40px;--blurs-3xl:64px;--spacing-0:0rem;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-9:2.25rem;--spacing-10:2.5rem;--spacing-11:2.75rem;--spacing-12:3rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-28:7rem;--spacing-32:8rem;--spacing-36:9rem;--spacing-40:10rem;--spacing-44:11rem;--spacing-48:12rem;--spacing-52:13rem;--spacing-56:14rem;--spacing-60:15rem;--spacing-64:16rem;--spacing-72:18rem;--spacing-80:20rem;--spacing-96:24rem;--spacing-0\.5:.125rem;--spacing-1\.5:.375rem;--spacing-2\.5:.625rem;--spacing-3\.5:.875rem;--spacing-4\.5:1.125rem;--spacing-5\.5:1.375rem;--sizes-0:0rem;--sizes-1:.25rem;--sizes-2:.5rem;--sizes-3:.75rem;--sizes-4:1rem;--sizes-5:1.25rem;--sizes-6:1.5rem;--sizes-7:1.75rem;--sizes-8:2rem;--sizes-9:2.25rem;--sizes-10:2.5rem;--sizes-11:2.75rem;--sizes-12:3rem;--sizes-14:3.5rem;--sizes-16:4rem;--sizes-20:5rem;--sizes-24:6rem;--sizes-28:7rem;--sizes-32:8rem;--sizes-36:9rem;--sizes-40:10rem;--sizes-44:11rem;--sizes-48:12rem;--sizes-52:13rem;--sizes-56:14rem;--sizes-60:15rem;--sizes-64:16rem;--sizes-72:18rem;--sizes-80:20rem;--sizes-96:24rem;--sizes-0\.5:.125rem;--sizes-1\.5:.375rem;--sizes-2\.5:.625rem;--sizes-3\.5:.875rem;--sizes-4\.5:1.125rem;--sizes-5\.5:1.375rem;--sizes-xs:20rem;--sizes-sm:24rem;--sizes-md:28rem;--sizes-lg:32rem;--sizes-xl:36rem;--sizes-2xl:42rem;--sizes-3xl:48rem;--sizes-4xl:56rem;--sizes-5xl:64rem;--sizes-6xl:72rem;--sizes-7xl:80rem;--sizes-8xl:90rem;--sizes-prose:65ch;--sizes-full:100%;--sizes-min:min-content;--sizes-max:max-content;--sizes-fit:fit-content;--sizes-breakpoint-sm:640px;--sizes-breakpoint-md:768px;--sizes-breakpoint-lg:1024px;--sizes-breakpoint-xl:1280px;--sizes-breakpoint-2xl:1536px;--animations-spin:spin 1s linear infinite;--animations-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animations-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animations-bounce:bounce 1s infinite;--colors-current:currentColor;--colors-black:#000;--colors-white:#fff;--colors-transparent:#0000;--colors-rose-50:#fff1f2;--colors-rose-100:#ffe4e6;--colors-rose-200:#fecdd3;--colors-rose-300:#fda4af;--colors-rose-400:#fb7185;--colors-rose-500:#f43f5e;--colors-rose-600:#e11d48;--colors-rose-700:#be123c;--colors-rose-800:#9f1239;--colors-rose-900:#881337;--colors-rose-950:#4c0519;--colors-fuchsia-50:#fdf4ff;--colors-fuchsia-100:#fae8ff;--colors-fuchsia-200:#f5d0fe;--colors-fuchsia-300:#f0abfc;--colors-fuchsia-400:#e879f9;--colors-fuchsia-500:#d946ef;--colors-fuchsia-600:#c026d3;--colors-fuchsia-700:#a21caf;--colors-fuchsia-800:#86198f;--colors-fuchsia-900:#701a75;--colors-fuchsia-950:#4a044e;--colors-purple-50:#faf5ff;--colors-purple-100:#f3e8ff;--colors-purple-200:#e9d5ff;--colors-purple-300:#d8b4fe;--colors-purple-400:#c084fc;--colors-purple-500:#a855f7;--colors-purple-600:#9333ea;--colors-purple-700:#7e22ce;--colors-purple-800:#6b21a8;--colors-purple-900:#581c87;--colors-purple-950:#3b0764;--colors-violet-50:#f5f3ff;--colors-violet-100:#ede9fe;--colors-violet-200:#ddd6fe;--colors-violet-300:#c4b5fd;--colors-violet-400:#a78bfa;--colors-violet-500:#8b5cf6;--colors-violet-600:#7c3aed;--colors-violet-700:#6d28d9;--colors-violet-800:#5b21b6;--colors-violet-900:#4c1d95;--colors-violet-950:#2e1065;--colors-indigo-50:#eef2ff;--colors-indigo-100:#e0e7ff;--colors-indigo-200:#c7d2fe;--colors-indigo-300:#a5b4fc;--colors-indigo-400:#818cf8;--colors-indigo-500:#6366f1;--colors-indigo-600:#4f46e5;--colors-indigo-700:#4338ca;--colors-indigo-800:#3730a3;--colors-indigo-900:#312e81;--colors-indigo-950:#1e1b4b;--colors-sky-50:#f0f9ff;--colors-sky-100:#e0f2fe;--colors-sky-200:#bae6fd;--colors-sky-300:#7dd3fc;--colors-sky-400:#38bdf8;--colors-sky-500:#0ea5e9;--colors-sky-600:#0284c7;--colors-sky-700:#0369a1;--colors-sky-800:#075985;--colors-sky-900:#0c4a6e;--colors-sky-950:#082f49;--colors-cyan-50:#ecfeff;--colors-cyan-100:#cffafe;--colors-cyan-200:#a5f3fc;--colors-cyan-300:#67e8f9;--colors-cyan-400:#22d3ee;--colors-cyan-500:#06b6d4;--colors-cyan-600:#0891b2;--colors-cyan-700:#0e7490;--colors-cyan-800:#155e75;--colors-cyan-900:#164e63;--colors-cyan-950:#083344;--colors-teal-50:#f0fdfa;--colors-teal-100:#ccfbf1;--colors-teal-200:#99f6e4;--colors-teal-300:#5eead4;--colors-teal-400:#2dd4bf;--colors-teal-500:#14b8a6;--colors-teal-600:#0d9488;--colors-teal-700:#0f766e;--colors-teal-800:#115e59;--colors-teal-900:#134e4a;--colors-teal-950:#042f2e;--colors-emerald-50:#ecfdf5;--colors-emerald-100:#d1fae5;--colors-emerald-200:#a7f3d0;--colors-emerald-300:#6ee7b7;--colors-emerald-400:#34d399;--colors-emerald-500:#10b981;--colors-emerald-600:#059669;--colors-emerald-700:#047857;--colors-emerald-800:#065f46;--colors-emerald-900:#064e3b;--colors-emerald-950:#022c22;--colors-lime-50:#f7fee7;--colors-lime-100:#ecfccb;--colors-lime-200:#d9f99d;--colors-lime-300:#bef264;--colors-lime-400:#a3e635;--colors-lime-500:#84cc16;--colors-lime-600:#65a30d;--colors-lime-700:#4d7c0f;--colors-lime-800:#3f6212;--colors-lime-900:#365314;--colors-lime-950:#1a2e05;--colors-yellow-50:#fefce8;--colors-yellow-100:#fef9c3;--colors-yellow-200:#fef08a;--colors-yellow-300:#fde047;--colors-yellow-400:#facc15;--colors-yellow-500:#eab308;--colors-yellow-600:#ca8a04;--colors-yellow-700:#a16207;--colors-yellow-800:#854d0e;--colors-yellow-900:#713f12;--colors-yellow-950:#422006;--colors-orange-50:#fff7ed;--colors-orange-100:#ffedd5;--colors-orange-200:#fed7aa;--colors-orange-300:#fdba74;--colors-orange-400:#fb923c;--colors-orange-500:#f97316;--colors-orange-600:#ea580c;--colors-orange-700:#c2410c;--colors-orange-800:#9a3412;--colors-orange-900:#7c2d12;--colors-orange-950:#431407;--colors-neutral-50:#fafafa;--colors-neutral-100:#f5f5f5;--colors-neutral-200:#e5e5e5;--colors-neutral-300:#d4d4d4;--colors-neutral-400:#a3a3a3;--colors-neutral-500:#737373;--colors-neutral-600:#525252;--colors-neutral-700:#404040;--colors-neutral-800:#262626;--colors-neutral-900:#171717;--colors-neutral-950:#0a0a0a;--colors-stone-50:#fafaf9;--colors-stone-100:#f5f5f4;--colors-stone-200:#e7e5e4;--colors-stone-300:#d6d3d1;--colors-stone-400:#a8a29e;--colors-stone-500:#78716c;--colors-stone-600:#57534e;--colors-stone-700:#44403c;--colors-stone-800:#292524;--colors-stone-900:#1c1917;--colors-stone-950:#0c0a09;--colors-zinc-50:#fafafa;--colors-zinc-100:#f4f4f5;--colors-zinc-200:#e4e4e7;--colors-zinc-300:#d4d4d8;--colors-zinc-400:#a1a1aa;--colors-zinc-500:#71717a;--colors-zinc-600:#52525b;--colors-zinc-700:#3f3f46;--colors-zinc-800:#27272a;--colors-zinc-900:#18181b;--colors-zinc-950:#09090b;--colors-gray-50:#f9fafb;--colors-gray-100:#f3f4f6;--colors-gray-200:#e5e7eb;--colors-gray-300:#d1d5db;--colors-gray-400:#9ca3af;--colors-gray-500:#6b7280;--colors-gray-600:#4b5563;--colors-gray-700:#374151;--colors-gray-800:#1f2937;--colors-gray-900:#111827;--colors-gray-950:#030712;--colors-slate-50:#f8fafc;--colors-slate-100:#f1f5f9;--colors-slate-200:#e2e8f0;--colors-slate-300:#cbd5e1;--colors-slate-400:#94a3b8;--colors-slate-500:#64748b;--colors-slate-600:#475569;--colors-slate-700:#334155;--colors-slate-800:#1e293b;--colors-slate-900:#0f172a;--colors-slate-950:#020617;--colors-bg:#120e0b;--colors-bg2:#181310;--colors-surface:#1c1613;--colors-surface-hi:#241d18;--colors-line:#2e2620;--colors-line-hi:#443830;--colors-text:#f4efe8;--colors-muted:#a1968a;--colors-dim:#6f665c;--colors-fox:#ff8c42;--colors-fox-deep:#e0662a;--colors-cream:#f7dfbe;--colors-pink-50:#fdf2f8;--colors-pink-100:#fce7f3;--colors-pink-200:#fbcfe8;--colors-pink-300:#f9a8d4;--colors-pink-400:#f472b6;--colors-pink-500:#ec4899;--colors-pink-600:#db2777;--colors-pink-700:#be185d;--colors-pink-800:#9d174d;--colors-pink-900:#831843;--colors-pink-950:#500724;--colors-pink:#f7b3d3;--colors-pink-dim:#c97ba4;--colors-green-50:#f0fdf4;--colors-green-100:#dcfce7;--colors-green-200:#bbf7d0;--colors-green-300:#86efac;--colors-green-400:#4ade80;--colors-green-500:#22c55e;--colors-green-600:#16a34a;--colors-green-700:#15803d;--colors-green-800:#166534;--colors-green-900:#14532d;--colors-green-950:#052e16;--colors-green:#86d5a3;--colors-amber-50:#fffbeb;--colors-amber-100:#fef3c7;--colors-amber-200:#fde68a;--colors-amber-300:#fcd34d;--colors-amber-400:#fbbf24;--colors-amber-500:#f59e0b;--colors-amber-600:#d97706;--colors-amber-700:#b45309;--colors-amber-800:#92400e;--colors-amber-900:#78350f;--colors-amber-950:#451a03;--colors-amber:#e8b96b;--colors-red-50:#fef2f2;--colors-red-100:#fee2e2;--colors-red-200:#fecaca;--colors-red-300:#fca5a5;--colors-red-400:#f87171;--colors-red-500:#ef4444;--colors-red-600:#dc2626;--colors-red-700:#b91c1c;--colors-red-800:#991b1b;--colors-red-900:#7f1d1d;--colors-red-950:#450a0a;--colors-red:#e88b8b;--colors-blue-50:#eff6ff;--colors-blue-100:#dbeafe;--colors-blue-200:#bfdbfe;--colors-blue-300:#93c5fd;--colors-blue-400:#60a5fa;--colors-blue-500:#3b82f6;--colors-blue-600:#2563eb;--colors-blue-700:#1d4ed8;--colors-blue-800:#1e40af;--colors-blue-900:#1e3a8a;--colors-blue-950:#172554;--colors-blue:#9ab4d8;--colors-rs:#e8734a;--colors-kt:#a98bf5;--colors-ex:#d49ad8;--colors-py:#f2cf5b;--colors-db:#6fd3c4;--colors-ts:#f5b950;--radii-xs:.125rem;--radii-md:.375rem;--radii-lg:.5rem;--radii-xl:.75rem;--radii-2xl:1rem;--radii-3xl:1.5rem;--radii-4xl:2rem;--radii-full:9999px;--radii-card:14px;--radii-sm:10px;--radii-pill:999px;--fonts-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--fonts-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fonts-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gradients-fox:linear-gradient(104deg, var(--colors-fox) 0%, #ff9d6b 34%, var(--colors-pink) 100%);--breakpoints-sm:640px;--breakpoints-md:768px;--breakpoints-lg:1024px;--breakpoints-xl:1280px;--breakpoints-2xl:1536px;--colors-tone-good:var(--colors-green);--colors-tone-warn:var(--colors-amber);--colors-tone-info:var(--colors-blue);--colors-tone-muted:var(--colors-dim)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes popIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-13deg)translateY(-3px)}60%{transform:rotate(11deg)translateY(-1px)}}@keyframes swish{0%,to{transform:rotate(0)}50%{transform:rotate(-15deg)}}@keyframes rise{to{opacity:1;transform:none}}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:.85;transform:none}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(3.4)}}}@layer recipes{@layer _base{.fcard{border:1px solid var(--colors-line);background:var(--colors-surface);border-radius:var(--radii-card);position:relative;overflow:hidden}.fcard>.reg{background:var(--colors-fox);opacity:.4;pointer-events:none;z-index:2;width:5px;height:5px;position:absolute}.fcard .fcard-label{border-bottom:1px solid var(--colors-line);font-family:var(--fonts-mono);color:var(--colors-dim);justify-content:flex-start;align-items:center;gap:9px;padding:13px 20px;font-size:.76rem;display:flex}.fcard .fcard-label svg{flex:none;width:14px;height:14px}.fcard .fcard-label .corner-ico{opacity:.45;margin-left:auto}.fcard .fcard-label .corner-ico svg{width:14px;height:14px}.fcard .fcard-body{padding:26px 26px 28px}.fcard>.reg.tl{top:-3px;left:-3px}.fcard>.reg.tr{top:-3px;right:-3px}.fcard>.reg.bl{bottom:-3px;left:-3px}.fcard>.reg.br{bottom:-3px;right:-3px}.tool{border:1px solid var(--colors-line);background:var(--colors-bg2);border-radius:var(--radii-sm);cursor:pointer;flex-direction:column;padding:17px 18px 18px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.tool:after{background:radial-gradient(ellipse 70% 100% at 12% 100%, var(--tint,transparent), transparent 72%);content:"";opacity:.5;pointer-events:none;left:var(--spacing-0);bottom:var(--spacing-0);right:var(--spacing-0);height:68px;position:absolute}.tool p{margin:var(--spacing-0);color:var(--colors-muted);font-size:.84rem;line-height:1.6}.tool .tool-top{align-items:center;gap:10px;margin-bottom:9px;display:flex}.tool .tool-meta{border-top:1px solid var(--colors-line);font-family:var(--fonts-mono);color:var(--colors-dim);flex-wrap:wrap;gap:6px 14px;margin-top:auto;padding-top:11px;font-size:.72rem;display:flex}.tool .tool-meta b{color:var(--colors-muted);font-weight:400}.tool>*{z-index:1;position:relative}.tool:focus-visible{outline:2px solid var(--colors-fox);outline-offset:3px}.tool:is(:hover,[data-hover]){border-color:var(--colors-line-hi);transform:translateY(-2px)}.mark{font-family:var(--fonts-mono);border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-size:.58rem;font-weight:500;line-height:1;display:grid}.mark[data-tint]{background:color-mix(in srgb, var(--tint-c) 16%, transparent);color:var(--tint-c)}.modal-head .mark{border-radius:9px;width:30px;height:30px;font-size:.68rem}.modal-head .mark svg{width:15px;height:15px}.mark svg{width:13px;height:13px}.status{font-family:var(--fonts-mono);align-items:center;gap:8px;margin-bottom:11px;font-size:.77rem;display:flex}.status[data-tone] .dot{background:var(--tone-c);box-shadow:0 0 8px color-mix(in srgb, var(--tone-c) 60%, transparent)}.modal-head .status{margin:0 0 0 auto}.status .dot{border-radius:50%;flex:none;width:6px;height:6px}.status[data-tone]{color:var(--tone-c)}.libs{flex-wrap:wrap;gap:5px;margin-top:11px;display:flex}.libs .lib{background:var(--colors-surface);border:1px solid var(--colors-line);font-family:var(--fonts-mono);border-radius:5px;padding:3px 8px;font-size:.7rem}.libs .lib,.libs .lib.todo{color:var(--colors-dim)}.libs .lib.todo{border-style:dashed;border-color:var(--colors-line-hi)}.btn{border:1px solid var(--colors-line-hi);background:var(--colors-bg2);border-radius:var(--radii-pill);color:var(--colors-text);align-items:center;gap:9px;padding:10px 18px;font-size:.86rem;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.btn svg{opacity:.8;flex:none;width:15px;height:15px}.btn:is(:hover,[data-hover]){background:var(--colors-surface-hi);transform:translateY(-1px)}.tools{grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:12px;display:grid}@media (width<=620px){.fcard .fcard-body{padding:20px 18px 22px}}@media print{.fcard{break-inside:avoid;box-shadow:none!important;background:#fff!important;border-color:#ccc!important}.fcard .fcard-label{color:#555!important}.fcard>.reg{display:none!important}.tool{break-inside:avoid;box-shadow:none!important;background:#fff!important;border-color:#ccc!important}.tool .tool-meta{color:#555!important}.tool:before,.tool:after{display:none!important}.tool p{color:#333!important}.status,.libs .lib{color:#555!important}}}.btn--accent_true{border-color:#ff8c4273}.btn--accent_true svg{color:var(--colors-fox);opacity:1}.btn--accent_true:is(:hover,[data-hover]){border-color:var(--colors-fox)}}@layer utilities;.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}
