:root{--color-bg:#0b0e12;--color-text:#e8ecf1;--color-accent:#34d6b4;--color-accent-2:#7be38f;--color-accent-mid:#58dda2;--color-surface:#121821;--color-surface-top:#161d28;--color-surface-2:#0f141b;--color-muted:#9aa4b2;--color-line:#263040;--color-line-strong:#5b6676;--color-edge:#3a4658;--color-on-accent:#06201a;--color-stop:#f2b54a;--color-on-stop:#1a1204;--color-glow:#0f3a33;--color-error:#ff7a8a;--color-row-hi:#1a2230;--color-dot:#151b24;--font-display:"Archivo Variable", "Arial", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-lede:1.125rem;--text-xl:clamp(1.625rem, 1.2rem + 1.6vw, 2.25rem);--text-entry:1.5rem;--text-quote:clamp(1.875rem, 1.2rem + 2.6vw, 3.25rem);--text-h1-page:clamp(2.25rem, 1.3rem + 3.6vw, 4rem);--text-2xl:clamp(2.625rem, 1.2rem + 5.4vw, 5.25rem);--text-figure:clamp(2.5rem, 1.6rem + 3.4vw, 4.5rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:clamp(4.5rem, 3rem + 6vw, 8rem);--radius:14px;--radius-sm:8px;--radius-pill:999px;--measure:64ch;--page-pad:clamp(20px, 4vw, 48px);--page-max:1200px;--col-gap:24px;--shadow-panel:inset 0 1px 0 #3a4658, 0 24px 48px -28px #000;--glow-accent:0 0 0 1px #34d6b4, 0 0 24px -6px #34d6b4;--glow-hero:radial-gradient(60% 55% at 70% 45%, #0f3a33 0%, #0b0e12 70%);--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-inout:cubic-bezier(.45, 0, .2, 1);--dur-fast:.16s;--dur-mid:.42s;--dur-demo:1.6s;--stagger:60ms;--dur-panel-in:.22s;--dur-panel-out:.16s;--dur-sheet-in:.28s;--dur-sheet-out:.2s;--dur-draw:.72s;--dur-blink:.14s;--ease-pop:cubic-bezier(.34, 1.36, .64, 1);--z-assistant:40;--z-scrim:60;--z-panel:70}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.2c02f989.woff2)format("woff2-variations");unicode-range:U+20,U+21,U+22,U+24,U+25,U+26,U+27,U+28,U+29,U+2A,U+2B,U+2C,U+2D,U+2E,U+2F,U+30,U+31,U+32,U+33,U+34,U+35,U+36,U+37,U+38,U+39,U+3A,U+3B,U+3C,U+3D,U+3E,U+3F,U+40,U+41,U+42,U+43,U+44,U+45,U+46,U+47,U+48,U+49,U+4A,U+4B,U+4C,U+4D,U+4E,U+4F,U+50,U+51,U+52,U+53,U+54,U+55,U+56,U+57,U+58,U+59,U+5A,U+5B,U+5C,U+5D,U+5E,U+5F,U+60,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+68,U+69,U+6A,U+6B,U+6C,U+6D,U+6E,U+6F,U+70,U+71,U+72,U+73,U+74,U+75,U+76,U+77,U+78,U+79,U+7A,U+7B,U+7C,U+7D,U+B7,U+2019,U+201C,U+201D,U+2022}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--color-bg)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);margin:0;font-weight:400;line-height:1.65}body.page-fill{flex-direction:column;min-height:100dvh;display:flex}body.page-fill>main{flex:1 0 auto}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-weight:750;font-stretch:112%}h2,h3{font-weight:700;font-stretch:104%}h2{font-size:var(--text-xl);line-height:1.15}p{max-width:var(--measure);text-wrap:pretty;margin:0}li{text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}code,kbd,samp{font-variant-ligatures:none}.num,.tnum{font-variant-numeric:tabular-nums}.wrap{width:100%;max-width:calc(var(--page-max) + 2 * var(--page-pad));padding-inline:var(--page-pad);margin-inline:auto}.g12{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.g12>*{min-width:0}.c-1-5{grid-column:1/span 5}.c-1-6{grid-column:1/span 6}.c-1-7{grid-column:1/span 7}.c-6-12{grid-column:6/span 7}.c-7-12{grid-column:7/span 6}.c-8-12{grid-column:8/span 5}.c-1-3{grid-column:1/span 3}.c-4-12{grid-column:4/span 9}.c-9-12{grid-column:9/span 4}.c-1-4{grid-column:1/span 4}.c-5-12{grid-column:5/span 8}.c-1-8{grid-column:1/span 8}.c-1-10{grid-column:1/span 10}.c-2-11{grid-column:2/span 10}@media (width<=759px){.g12{display:block}}a{color:var(--color-accent);text-underline-offset:.2em;text-decoration-line:underline;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tlink{text-wrap:balance;text-underline-offset:.2em;transition:text-decoration-thickness .12s var(--ease-out);padding-block:10px;font-weight:500;line-height:1.4;text-decoration-line:underline;text-decoration-thickness:1px;display:inline-block}.tlink .nw{white-space:nowrap}.tlink .ic{vertical-align:-4px;margin-left:8px}@media (hover:hover){.tlink:hover{text-decoration-thickness:2px}}.tlink:focus-visible{text-decoration-thickness:2px}.btn{min-height:52px;padding:0 var(--space-3);border-radius:var(--radius);font-family:var(--font-body);font-weight:600;font-size:var(--text-md);text-align:center;transition:box-shadow var(--dur-fast) var(--ease-out), border-color .12s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;line-height:1.3;text-decoration:none;display:inline-flex}.btn .ic{transition:transform var(--dur-fast) var(--ease-out);flex:none;margin-left:10px}.btn:active{transform:translateY(1px)}@media (width<=759px){.btn{justify-content:space-between;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);letter-spacing:-.01em;text-align:left}.btn .lbl{text-wrap:balance}.btn .ic{margin-left:0}}.btn-primary{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-mid), var(--color-accent-2));color:var(--color-on-accent)}.btn-secondary{color:var(--color-text);border-color:var(--color-line-strong);background:0 0}@media (hover:hover){.btn-primary:hover{box-shadow:var(--glow-accent)}.btn-primary:hover .ic{transform:translate(3px)}.btn-secondary:hover{border-color:var(--color-accent)}}.btn-primary:focus-visible{box-shadow:var(--glow-accent)}.btn-primary:focus-visible .ic{transform:translate(3px)}.btn-secondary:focus-visible{border-color:var(--color-accent)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=759px){.actions{flex-flow:column}.actions .btn{width:100%}}.pnl{background:linear-gradient(180deg, var(--color-surface-top), var(--color-surface));border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:inset 0 1px 0 var(--color-edge);position:relative}.pnl-lift{box-shadow:var(--shadow-panel)}.winbar{align-items:center;gap:6px;height:32px;padding:0 14px;display:flex}.winbar>i{background:var(--color-line);border-radius:50%;width:8px;height:8px}.h2m:before{content:"";width:12px;height:2px;margin-bottom:var(--space-2);background:var(--color-accent);display:block}.h2s{position:relative}.h2s>svg.ferrule{margin-bottom:var(--space-2);display:block}.stag{border-radius:var(--radius-pill);border:1px solid var(--color-line-strong);height:26px;color:var(--color-text);font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;padding:0 10px;line-height:1;display:inline-flex}.stag-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px}.stag-work{background:var(--color-accent-2);border-color:var(--color-accent-2);color:var(--color-on-accent)}.stag-work .stag-dot{background:var(--color-on-accent)}.stag-pre{border-style:dashed}@media (prefers-reduced-motion:no-preference){[data-reveal]{--rd:calc(var(--si,0) * var(--stagger))}html.fx [data-reveal].is-in{transition:opacity var(--dur-mid) var(--ease-out) var(--rd), transform var(--dur-mid) var(--ease-out) var(--rd), translate var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out)}html.fx [data-reveal]:not(.is-in){opacity:0;transform:translateY(12px)}.h2m:before{transform-origin:0}html.fx [data-reveal].is-in .h2m:before,html.fx .h2m[data-reveal].is-in:before{transition:transform .32s var(--ease-out) var(--rd,0s)}html.fx [data-reveal]:not(.is-in) .h2m:before,html.fx .h2m[data-reveal]:not(.is-in):before{transform:scaleX(0)}.tlink .ic{transition:transform var(--dur-fast) var(--ease-out)}.tlink:focus-visible .ic{transform:translate(3px)}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.tlink:hover .ic{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}.sec{margin-top:var(--space-6)}.sec-tight{margin-top:var(--space-5)}.intro{margin-top:var(--space-2)}.page-h1{font-size:var(--text-h1-page);line-height:1.03}.lede{margin-top:var(--space-3);font-size:var(--text-lg);max-width:34em;line-height:1.5}.hero-s{padding-top:var(--space-5);align-items:center}.btnrow{margin-top:var(--space-4)}.note-sm{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-muted);line-height:1.55}@media (width<=759px){.hero-s{padding-top:var(--space-4)}.hero-art{margin-top:var(--space-4)}.btnrow .btn{width:100%}.lede{font-size:var(--text-lede)}}.pill{border-radius:var(--radius-pill);border:1px solid var(--color-line-strong);height:24px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;white-space:nowrap;color:var(--color-text);align-items:center;gap:6px;padding:0 8px;line-height:1;display:inline-flex}.b{border-radius:3px;height:6px;display:block}.b-tx{background:var(--color-text)}.b-mu{background:var(--color-muted)}.b-ac{background:var(--color-accent)}.key{background:var(--color-stop);border-radius:2px;flex:none;width:10px;height:6px;display:inline-block}.prow{align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-top);border:1px solid var(--color-line);min-width:0;padding:12px 14px;display:flex}.prow-stop{border-color:var(--color-stop)}.mono-s{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;line-height:1.45}.stopbar{border-left:3px solid var(--color-stop);padding-left:var(--space-3)}.trk{background:var(--color-line);border-radius:3px;height:6px;position:relative}.fill{border-radius:inherit;background:var(--color-accent);transform-origin:0;height:100%;transform:scaleX(var(--r,1));display:block}.eq{gap:8px;width:40px;display:grid}.eq i{background:var(--color-text);height:3px;display:block}@media (prefers-reduced-motion:no-preference){.fill{transition:transform .64s var(--ease-inout) calc(var(--si,0) * 50ms)}html.fx [data-reveal]:not(.is-in) .fill{transform:scaleX(0)}.eq i{transition:transform .32s var(--ease-inout) .16s;transform-origin:0}html.fx [data-reveal]:not(.is-in) .eq i{transform:scaleX(0)}html.fx [data-seq]{animation:seq-in var(--dur-mid) var(--ease-out) calc(60ms + var(--k,0) * 40ms) backwards}@keyframes seq-in{0%{opacity:0;transform:translateY(8px)}}}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=759px){html.sa-lock{overflow:hidden}}:root{--sa-size:40px;--sa-right:clamp(4px, calc((max(var(--page-pad), (100% - var(--page-max)) / 2) - var(--sa-size)) / 2), 24px)}.site-assistant{box-sizing:border-box;border:1.5px solid var(--color-accent);background:var(--color-bg);color:var(--color-text);font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);border-radius:50%;place-items:center;margin:0;padding:0;text-decoration:none;display:grid}.site-assistant .mascot{width:28px;height:28px;display:block;overflow:visible}.sa-float{display:none}.sa-bar{flex:none;width:44px;height:44px}@media (width<=1099px){.sa-bar{order:-1}}@media (width>=1280px){.sa-bar{display:none}.sa-float{z-index:var(--z-assistant);right:var(--sa-right);width:var(--sa-size);height:var(--sa-size);display:grid;position:fixed;bottom:24px}}@media (hover:hover){.site-assistant:hover{border-color:var(--color-stop)}}.site-assistant:focus-visible,.site-assistant[aria-expanded=true]{border-color:var(--color-stop)}.mascot rect,.mascot circle,.mascot line{vector-effect:non-scaling-stroke;stroke-width:1.5px;stroke-linecap:round}.mascot .m-pole{stroke:var(--color-text);fill:none}.mascot .m-dot{stroke:var(--color-accent);fill:none}.mascot .m-head,.mascot .m-torso{stroke:var(--color-text);fill:none}.mascot .m-eye{fill:var(--color-accent);stroke:none}.mascot .m-chest{stroke:var(--color-stop);fill:none}.mascot .m-eye,.mascot .m-dot,.mascot .m-chest{transform-box:fill-box;transform-origin:50%}.mascot .m-top{transform-origin:16px 21px}.mascot-mini{flex:none;width:28px;height:24px;display:block;overflow:visible}@media (prefers-reduced-motion:no-preference){html.fx .site-assistant{animation:sa-enter .42s var(--ease-out) .6s backwards}@keyframes sa-enter{0%{opacity:0}}html.fx .mascot .m-top,html.fx .mascot .m-eye{transition:transform var(--dur-fast) var(--ease-out)}@media (hover:hover){html.fx .site-assistant:hover .m-top{transform:rotate(-6deg)}html.fx .site-assistant:hover .m-eye{transform:scaleY(.6)}}html.fx .site-assistant:focus-visible .m-top{transform:rotate(-6deg)}html.fx .site-assistant:focus-visible .m-eye{transform:scaleY(.6)}html.fx .site-assistant[aria-expanded=true] .m-top{transform:none}html.fx .site-assistant[aria-expanded=true] .m-eye{transform:scaleY(.5)}html.fx .site-assistant.m-idle .m-eye{animation:sa-blink var(--dur-blink) linear .12s}html.fx .m-talk .m-dot{animation:sa-dot .3s var(--ease-inout) 2}html.fx .m-talk .m-top{animation:sa-nod .6s var(--ease-inout)}html.fx .m-talk .m-eye{animation:sa-blink var(--dur-blink) linear .15s}html.fx .m-talk .m-chest,html.fx .site-assistant.m-idle .m-chest{animation:sa-chest .42s var(--ease-out) backwards}html.fx .m-talk .m-chest:nth-of-type(2),html.fx .site-assistant.m-idle .m-chest:nth-of-type(2){animation-delay:90ms}html.fx .m-talk .m-chest:nth-of-type(3),html.fx .site-assistant.m-idle .m-chest:nth-of-type(3){animation-delay:.18s}@keyframes sa-blink{50%{transform:scaleY(.1)}}@keyframes sa-chest{40%{transform:scaleY(1.25)}}@keyframes sa-dot{50%{transform:scale(1.4)}}@keyframes sa-nod{30%{transform:rotate(2deg)}}}.sa-greet{z-index:var(--z-assistant);right:var(--sa-right);background:linear-gradient(180deg, var(--color-surface-top), var(--color-surface));border:1px solid var(--color-line);border-radius:var(--radius-sm);max-width:240px;box-shadow:inset 0 1px 0 var(--color-edge);padding:12px 40px 12px 16px;position:fixed;bottom:78px}.sa-greet p{font-size:var(--text-sm);color:var(--color-text);margin:0;line-height:1.45}.sa-greet:before{content:"";background:var(--color-accent);width:1px;height:10px;position:absolute;top:100%;right:19.5px}.sa-greet:after{content:"";background:var(--color-accent);border-radius:50%;width:4px;height:4px;position:absolute;top:calc(100% + 10px);right:18px}.sa-greet-x{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.sa-greet-x .ic{width:14px;height:14px}@media (hover:hover){.sa-greet-x:hover{color:var(--color-text)}}@media (prefers-reduced-motion:no-preference){.sa-greet{animation:sa-fade var(--dur-fast) linear}}@keyframes sa-fade{0%{opacity:0}}.sa-scrim[hidden],.sa-panel[hidden]{display:none}.sa-scrim{z-index:var(--z-scrim);background:var(--color-bg);opacity:0;position:fixed;inset:0}.sa-scrim.is-open{opacity:.55}.sa-panel{z-index:var(--z-panel);right:max(24px, env(safe-area-inset-right));background:var(--color-surface);width:380px;max-width:calc(100vw - 32px);height:min(560px,100dvh - 48px);color:var(--color-text);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-panel);opacity:0;transform-origin:100% 100%;font-family:var(--font-body);flex-direction:column;display:flex;position:fixed;bottom:24px;overflow:hidden;transform:translateY(8px)scale(.96)}.sa-panel.is-open{opacity:1;transform:none}@media (width>=1280px){.sa-panel{height:min(560px,100dvh - 100px);bottom:76px}}@media (width>=760px) and (width<=1023px){.sa-panel{width:360px}}@media (prefers-reduced-motion:no-preference){.sa-scrim,.sa-panel{transition:opacity var(--dur-panel-out) var(--ease-inout), transform var(--dur-panel-out) var(--ease-inout)}.sa-scrim.is-open,.sa-panel.is-open{transition-duration:var(--dur-panel-in);transition-timing-function:var(--ease-out)}}@media (width<=759px){.sa-scrim.is-open{opacity:.72}.sa-panel{border-radius:var(--radius) var(--radius) 0 0;opacity:1;border-bottom:0;width:auto;max-width:none;height:min(85dvh,640px);bottom:0;left:0;right:0;transform:translateY(100%)}.sa-panel.is-open{transform:none}}@media (width<=759px) and (prefers-reduced-motion:no-preference){.sa-scrim,.sa-panel{transition-duration:var(--dur-sheet-out)}.sa-scrim.is-open,.sa-panel.is-open{transition-duration:var(--dur-sheet-in)}}.sa-grip{display:none}@media (width<=759px){.sa-grip{background:var(--color-line-strong);border-radius:2px;width:36px;height:4px;margin-left:-18px;display:block;position:absolute;top:8px;left:50%}}.sa-head{border-bottom:1px solid var(--color-line);flex:none;align-items:center;gap:12px;min-height:72px;padding:8px 64px 8px 16px;display:flex}@media (width<=759px){.sa-head{padding-top:14px}}.sa-titles{justify-items:start;gap:4px;min-width:0;display:grid}.sa-title{font-family:var(--font-display);font-weight:700;font-stretch:104%;font-size:var(--text-md);letter-spacing:-.01em;margin:0;line-height:1.2}.sa-title:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.sa-badge{border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);max-width:100%;min-height:24px;font-family:var(--font-mono);font-weight:500;font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text);align-items:center;gap:6px;margin:0;padding:3px 10px;line-height:1.2;display:inline-flex}.sa-fer{vertical-align:-2px;flex:none;display:inline-block}.sa-fer rect{fill:var(--color-stop)}.sa-fer-s{vertical-align:baseline;width:10px;height:10px}.sa-close{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text);cursor:pointer;transition:border-color .12s var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}@media (width<=759px){.sa-close{top:20px}}@media (hover:hover){.sa-close:hover{border-color:var(--color-line-strong)}}.sa-log{gap:var(--space-1);overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0;padding:16px;display:flex;overflow-y:auto}.sa-msg{border-radius:var(--radius-sm);max-width:85%;font-size:var(--text-sm);color:var(--color-text);flex-direction:column;align-items:flex-start;padding:10px 14px;line-height:1.5;display:flex}.sa-msg p{overflow-wrap:anywhere;text-wrap:pretty;max-width:60ch;margin:0}.sa-a,.sa-stop{background:var(--color-surface-top);border:1px solid var(--color-line);border-left:2px solid var(--color-accent);align-self:flex-start}.sa-stop{border-left-color:var(--color-stop)}.sa-stop .sa-fer{margin-right:8px}.sa-u{border:1px solid var(--color-line-strong);background:0 0;align-self:flex-end}.sa-mailbtn{min-height:44px;padding:0 var(--space-2);max-width:100%;font-size:var(--text-sm);justify-content:flex-start;margin-top:10px}.sa-mailbtn .lbl{overflow-wrap:anywhere}.sa-mailbtn .ic{margin-left:10px}@media (prefers-reduced-motion:no-preference){.sa-msg{animation:.12s linear sa-fade}}.sa-chips-wrap{border-top:1px solid var(--color-line);flex-direction:column;flex:0 auto;min-height:0;max-height:52%;padding:4px 16px;display:flex}.sa-chips-wrap[hidden]{display:none}.sa-log{min-height:112px}.sa-chips{--fade-t:0px;--fade-b:0px;overscroll-behavior:contain;min-height:0;-webkit-mask-image:linear-gradient(to bottom, transparent 0, var(--color-bg) var(--fade-t), var(--color-bg) calc(100% - var(--fade-b)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, var(--color-bg) var(--fade-t), var(--color-bg) calc(100% - var(--fade-b)), transparent 100%);flex-wrap:wrap;flex:auto;align-content:flex-start;gap:8px;margin:0 -3px;padding:14px 3px;display:flex;overflow-y:auto}.sa-chips.has-more-t{--fade-t:24px}.sa-chips.has-more-b{--fade-b:36px}.sa-chip{border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);max-width:100%;min-height:36px;color:var(--color-text);font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color .12s var(--ease-out), transform .12s var(--ease-out);background:0 0;padding:6px 14px;line-height:1.25}@media (width<=759px){.sa-chip{min-height:40px}}@media (hover:hover){.sa-chip:hover{border-color:var(--color-accent)}}.sa-chip:focus-visible{border-color:var(--color-accent)}.sa-chip:active{transform:translateY(1px)}.sa-row{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);flex:none;align-items:center;gap:8px;display:flex}.sa-input{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-bg);min-width:0;height:40px;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);flex:auto;padding:0 12px}.sa-input::placeholder{color:var(--color-muted);opacity:1}.sa-send{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text);cursor:pointer;transition:border-color .12s var(--ease-out);background:0 0;flex:none;place-items:center;padding:0;display:grid}@media (hover:hover){.sa-send:hover{border-color:var(--color-accent)}}.sa-send:focus-visible{border-color:var(--color-accent)}@media print{.site-assistant,.sa-greet,.sa-panel,.sa-scrim{display:none!important}}.ferrule[data-astro-cid-7kxtdm6w]{vertical-align:middle;flex:none;display:inline-block}.site-header[data-astro-cid-nen7h5rs]{z-index:20;background:var(--color-bg);border-bottom:1px solid var(--color-line);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;column-gap:var(--space-4);min-height:64px;display:flex}.brand[data-astro-cid-nen7h5rs]{min-height:44px;font-family:var(--font-display);font-weight:700;font-stretch:112%;font-size:var(--text-md);color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.bar-end[data-astro-cid-nen7h5rs]{align-items:center;column-gap:var(--space-2);display:flex}.links[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:flex-end;column-gap:20px;display:flex}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{min-height:44px;color:var(--color-text);font-weight:500;font-size:var(--text-sm);transition:color .12s var(--ease-out);align-items:center;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{content:"";background:var(--color-accent);transform-origin:0;height:2px;transition:transform .12s var(--ease-out);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]{color:var(--color-accent)}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]:after{transform:scaleX(1)}@media (hover:hover){.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--color-accent)}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover:after{transform:scaleX(1)}}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:focus-visible{color:var(--color-accent)}.menu[data-astro-cid-nen7h5rs]{display:none}@media (width<=1099px){.menu[data-astro-cid-nen7h5rs]{display:block}.menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex}.menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.menu[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu[data-astro-cid-nen7h5rs] .ico-close[data-astro-cid-nen7h5rs]{display:none}.menu[data-astro-cid-nen7h5rs][open] .ico-close[data-astro-cid-nen7h5rs]{display:block}.menu[data-astro-cid-nen7h5rs][open] .ico-open[data-astro-cid-nen7h5rs]{display:none}.menu[data-astro-cid-nen7h5rs][open] summary[data-astro-cid-nen7h5rs]{border-color:var(--color-accent);color:var(--color-accent)}.bar[data-astro-cid-nen7h5rs]{min-height:60px}.bar-end[data-astro-cid-nen7h5rs]{column-gap:var(--space-1)}.links[data-astro-cid-nen7h5rs]{padding:var(--space-1) var(--page-pad) var(--space-2);background:var(--color-bg);border-bottom:1px solid var(--color-line);flex-flow:column;align-items:stretch;position:absolute;top:100%;left:0;right:0}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--color-line);min-height:48px;font-size:var(--text-md)}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:last-child{border-bottom:0}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{width:24px;bottom:0;right:auto}}@supports selector(:has(a)){@media (width<=1099px){nav[data-astro-cid-nen7h5rs]:not(:has(details[open])) .links[data-astro-cid-nen7h5rs]{display:none}}}.site-footer[data-astro-cid-jo6i4kqk]{margin-top:var(--space-5);border-top:1px solid var(--color-line)}.foot[data-astro-cid-jo6i4kqk]{padding-block:var(--space-4);justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;line-height:1.55;display:flex}p[data-astro-cid-jo6i4kqk]{margin:0}.name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);font-weight:700;font-stretch:104%;font-size:var(--text-md)}.line[data-astro-cid-jo6i4kqk]{color:var(--color-muted)}a[data-astro-cid-jo6i4kqk]{min-height:44px;color:var(--color-accent);text-underline-offset:.2em;align-items:center;text-decoration:underline 1px;display:inline-flex}a[data-astro-cid-jo6i4kqk]:hover{text-decoration-thickness:2px}
