.panel[data-astro-cid-repezxbz]{border:.5px solid var(--color-muted);border-radius:var(--border-radius-s);background:var(--color-panel);position:relative;overflow:hidden;box-shadow:inset 0 1px #b4b4d21a,inset 0 -1px #000000b3,inset 1px 0 #7878960d,inset -1px 0 #0000008c,inset 0 0 22px #0000008c,0 22px 46px -16px #000000d9,0 1px #0009;&:before{content:"";z-index:2;pointer-events:none;mix-blend-mode:overlay;opacity:.55;background:repeating-linear-gradient(0deg,#dcdcf006 0 .5px,#0000 .5px 2.5px,#0000000f 2.5px 3px);position:absolute;inset:0}&:after{content:"";z-index:2;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(55% 28% at 32% 6%,#a0a0c829 0%,#7878a00d 35%,#0000 70%);position:absolute;inset:0}}.panel-grad[data-astro-cid-repezxbz]{z-index:0;background-blend-mode:normal, multiply;background:radial-gradient(110% 60% at 50% -10%,#2d2d40 0%,#1a1a26 38%,#0e0e16 70%,#050510 100%),linear-gradient(#0000 0%,#00000040 100%);position:absolute;inset:0}.panel-noise[data-astro-cid-repezxbz]{z-index:1;opacity:.85;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.6'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.35' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.10'/%3E%3C/svg%3E");background-size:180px 180px,400px 400px;position:absolute;inset:0}.panel-rim[data-astro-cid-repezxbz]{z-index:3;opacity:.55;background:linear-gradient(90deg,#0000 4%,#4a4a60 18%,#a0a0c0 40%,#c8c8e0 50%,#a0a0c0 60%,#4a4a60 82%,#0000 96%);height:1px;position:absolute;top:0;left:0;right:0}.panel-shadow[data-astro-cid-repezxbz]{z-index:3;pointer-events:none;background:linear-gradient(#0000,#020208bf);height:50%;position:absolute;bottom:0;left:0;right:0}.panel-content[data-astro-cid-repezxbz]{z-index:4;gap:var(--space-m);padding:var(--space-m);flex-direction:column;display:flex;position:relative}.panel-header[data-astro-cid-repezxbz]{justify-content:space-between;align-items:center;display:flex}.panel-name[data-astro-cid-repezxbz],.panel-rev[data-astro-cid-repezxbz]{letter-spacing:.22em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.panel-name[data-astro-cid-repezxbz]{font-size:var(--font-step-0);color:var(--color-foreground)}.panel-rev[data-astro-cid-repezxbz]{font-size:var(--font-step-0);letter-spacing:.1em;color:var(--color-muted)}figure[data-astro-cid-4qanlpjy]{gap:var(--space-3xs);flex-direction:column;margin:0;display:flex}figcaption[data-astro-cid-4qanlpjy]{justify-content:space-between;align-items:baseline;display:flex}.label[data-astro-cid-4qanlpjy]{font-family:var(--font-main);font-size:var(--font-step-0);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ui)}.value[data-astro-cid-4qanlpjy]{font-family:var(--font-main);font-size:var(--font-step-0);color:var(--color-ui)}.bars[data-astro-cid-4qanlpjy]{height:var(--space-s);gap:2px;display:flex}.bar[data-astro-cid-4qanlpjy]{background:var(--color-ui);border-radius:1px;flex:1;min-width:2px;&.active{animation:bar-fill .4s calc(var(--i) * 25ms) ease both, bar-glow 3s calc(var(--i) * 90ms) ease-in-out infinite}}@keyframes bar-fill{0%{background:var(--color-ui)}to{background:var(--color-p100)}}@keyframes bar-glow{0%,to{filter:brightness()}50%{filter:brightness(1.35)}}@media (prefers-reduced-motion:reduce){.bar[data-astro-cid-4qanlpjy].active{background:var(--color-p100);animation:none}}.waveform[data-astro-cid-tatcw3oc]{width:100%;color:var(--color-p100);position:relative}svg[data-astro-cid-tatcw3oc]{width:100%;height:auto;aspect-ratio:var(--wf-aspect);display:block;overflow:visible}.label-dot[data-astro-cid-tatcw3oc]{appearance:none;anchor-name:var(--anchor);left:var(--dx);top:var(--dy);background:var(--color-p100);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--color-p100) 25%, transparent);cursor:pointer;border:none;border-radius:50%;margin:0;padding:0;transition:scale .15s,box-shadow .15s;position:absolute;translate:-50% -50%;&:hover,&:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-p100) 35%, transparent);outline:none;scale:1.5}&:focus:not(:focus-visible){outline:none}}.label-popover[data-astro-cid-tatcw3oc]{margin:unset;inset:unset;position-anchor:var(--anchor);bottom:calc(anchor(top) + 8px);left:anchor(center);background:var(--color-muted);color:var(--color-ui);font-family:var(--font-main);font-size:var(--font-step-0);border:var(--border-stroke-width) solid var(--color-muted);border-radius:var(--border-radius-s);opacity:0;max-width:24ch;transition:opacity .16s ease, scale .16s ease, display .16s allow-discrete, overlay .16s allow-discrete;padding:.25rem .625rem;translate:-50%;scale:.85;&:popover-open{opacity:1;scale:1;@starting-style{opacity:0;scale:.85}}& a{color:inherit;text-underline-offset:2px;text-decoration:underline;&:hover,&:focus-visible{color:var(--color-p100)}}}span[data-astro-cid-rjd2g3db]{border:var(--border-stroke-width) solid var(--color-foreground);background:var(--color-bg);border-radius:50%;width:14px;height:14px;display:block}.connector[data-astro-cid-jos4rppz]{height:var(--space-2xl-3xl);z-index:var(--z-overlay);margin-inline:auto;position:relative;&.reverse{transform:scaleX(-1)}&.spaced{margin-block:var(--space-m)}&.width-sm{width:25%}&.width-md{width:50%}&.width-lg{width:70%}&.width-full{width:100%}}.cable[data-astro-cid-jos4rppz]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible;& path{fill:none;stroke:var(--color-foreground);stroke-width:4px}}.dot{z-index:1;position:absolute;left:0;transform:translate(-50%,-50%)}.dot.output{top:0;left:100%}.dot.input{top:100%}.signal[data-astro-cid-m5cty3jo]{background:var(--color-p300);width:6px;height:6px;box-shadow:0 0 8px var(--color-p100), 0 0 2px var(--color-p100);border-radius:50%;flex-shrink:0;animation:4.3s ease-in-out infinite paused pulse;&.in-view{animation-play-state:running}&[data-variant=yellow]{background:var(--color-y100);box-shadow:0 0 8px var(--color-y100), 0 0 2px var(--color-y100)}}@keyframes pulse{0%,to{opacity:.2}8%{opacity:1}14%{opacity:.25}22%{opacity:.75}30%{opacity:.15}55%{opacity:.9}62%{opacity:.2}75%{opacity:.55}85%{opacity:.15}}@media (prefers-reduced-motion:reduce){.signal[data-astro-cid-m5cty3jo]{box-shadow:0 0 0 2px var(--color-p100);animation:none;&[data-variant=yellow]{box-shadow:0 0 0 2px var(--color-y100)}}}.section-title[data-astro-cid-4fchh5f2]{align-items:center;gap:var(--space-s);font-family:var(--font-main);font-size:var(--font-step-0);color:var(--color-ui);text-transform:uppercase;font-weight:400;display:flex;&.spaced{margin-block:var(--space-m)}&.dark{color:var(--color-foreground)}}.about[data-astro-cid-oxgmilyn]{margin-top:var(--space-l);color:var(--color-ui);container:about/inline-size}.rig[data-astro-cid-oxgmilyn]{align-items:center;gap:var(--space-l);grid-template-columns:1fr;display:grid;@container about (width>=900px){grid-template-columns:auto auto auto}}figure[data-astro-cid-oxgmilyn]{align-items:center;gap:var(--space-xs);margin:0 var(--space-m);flex-direction:column;display:flex;@container about (width>=900px){margin:0}& .portrait{aspect-ratio:1;filter:brightness(.55)saturate(1.2);width:100%;height:100%;position:relative;&:after{content:"";background:var(--color-ui);border-radius:50%;width:.5rem;height:.5rem;margin:auto;position:absolute;inset:0}}& .sleeve{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}& .vinyl{object-fit:cover;outline:1px solid var(--color-ui);outline-offset:-16px;object-fit:cover;border-radius:50%;width:100%;height:100%;animation:20s linear infinite spin;position:absolute;@media (prefers-reduced-motion:reduce){animation:none}}}@keyframes spin{to{transform:rotate(360deg)}}.case-icon[data-astro-cid-idh6cntz]{flex:none;display:inline-flex}svg[data-astro-cid-idh6cntz]{flex:none;width:24px;height:24px;@container tablist (width>=900px){width:36px;height:36px}}svg[data-astro-cid-idh6cntz] circle[data-astro-cid-idh6cntz],svg[data-astro-cid-idh6cntz] path[data-astro-cid-idh6cntz]{transform-box:fill-box;transform-origin:50%}.case-icon[data-astro-cid-idh6cntz][data-icon=orbit] svg[data-astro-cid-idh6cntz] path[data-astro-cid-idh6cntz]{transform-box:view-box;transform-origin:50%}svg[data-astro-cid-i5bkv6zf]{width:200px;height:auto;color:var(--color-muted)}.status-set[data-astro-cid-dzo624lb]{flex-flow:column;align-items:flex-start;gap:0;margin:0;padding:0;list-style:none;display:flex;@container tablist (width>=900px){gap:var(--space-s);flex-direction:row}}.stage[data-astro-cid-dzo624lb]{align-items:center;display:flex}.label[data-astro-cid-dzo624lb]{font-family:var(--font-main);font-size:var(--font-step-0);text-transform:uppercase;color:var(--color-bg)}.stage[data-astro-cid-dzo624lb][aria-current=true] .label[data-astro-cid-dzo624lb]{color:var(--color-p100);font-weight:600;animation:.4s ease-out .5s backwards activate-label}@keyframes activate-label{0%{color:var(--color-ui)}}@media (prefers-reduced-motion:reduce){.stage[data-astro-cid-dzo624lb][aria-current=true] .label[data-astro-cid-dzo624lb]{animation:none}}figure[data-astro-cid-sqkca65w]{align-items:center;gap:var(--space-xs);flex-direction:column;flex:1;margin:0;display:flex;& svg{aspect-ratio:1;box-sizing:content-box;border:2px solid var(--color-bg);border-radius:50%;flex:none;max-width:100%;height:auto}}figcaption[data-astro-cid-sqkca65w]{align-items:center;gap:var(--space-3xs);color:var(--color-ui);flex-direction:column;display:flex}.value[data-astro-cid-sqkca65w]{font-family:var(--font-main);font-size:var(--font-step-1)}.label[data-astro-cid-sqkca65w]{font-family:var(--font-main);font-size:var(--font-step-0);text-wrap:balance;max-width:100%}.spoke[data-astro-cid-sqkca65w]{r:1;fill:var(--color-ui)}.spoke[data-astro-cid-sqkca65w].active{animation:spoke-fill .15s calc(var(--i) * 35ms) linear both}@keyframes spoke-fill{0%{r:1;fill:var(--color-ui)}to{r:2;fill:var(--color-y100)}}@media (prefers-reduced-motion:reduce){.spoke[data-astro-cid-sqkca65w].active{r:2;fill:var(--color-y100);animation:none}}.repo-data[data-astro-cid-kclsg7ni]{gap:var(--space-2xs);background:var(--color-panel);flex-direction:column;margin:0;padding-inline-start:var(--space-l);display:flex}.row[data-astro-cid-kclsg7ni]{max-inline-size:60ch;font-size:var(--font-step-0);list-style:">  ";&::marker{color:var(--color-p100)}& span:first-child{text-transform:uppercase;color:var(--color-ui)}}.cursor[data-astro-cid-kclsg7ni]{background:var(--color-y100);vertical-align:-.15em;width:.5em;height:1em;margin-inline-start:.15em;animation:1s step-end infinite blink;display:inline-block}@media (prefers-reduced-motion:reduce){.cursor[data-astro-cid-kclsg7ni]{animation:none}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}div[data-astro-cid-4j7sq5ia]{font-variant-numeric:tabular-nums}.ongoing[data-astro-cid-4j7sq5ia] figcaption{justify-content:flex-end}p[data-astro-cid-77bu4f72]{font-size:var(--font-step-0);letter-spacing:.1em;color:var(--color-ui);text-transform:uppercase;&:before{content:"└─";white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}}a[data-astro-cid-77bu4f72]{color:inherit;text-decoration:none;&:hover,&:focus-visible{color:var(--color-p100)}}div[data-astro-cid-ejowjadg]:has(>[role=tablist]){position:relative;container:tablist/inline-size}[data-astro-cid-ejowjadg][role=tablist]{grid-template-columns:repeat(2,1fr);display:grid;@container tablist (width>=900px){gap:var(--space-m)}}button[data-astro-cid-ejowjadg][role=tab]{gap:var(--space-xs);padding:var(--space-m);background:var(--color-panel);border:var(--border-stroke-width) solid var(--color-muted);text-align:left;cursor:pointer;border-right:none;flex-direction:column;flex:1;display:flex;position:relative;@container tablist (width>=900px){border-radius:var(--border-radius-s);border-right:1px solid var(--color-muted)}[data-astro-cid-ejowjadg][role=tablist]:has(:active) &{border-right:var(--border-stroke-width) solid var(--color-muted)}&:first-child{@container tablist (width<=899px){border-radius:var(--border-radius-s) 0 0 var(--border-radius-s)}}&:last-child{border-right:1px solid var(--color-muted);@container tablist (width<=899px){border-radius:0 var(--border-radius-s) var(--border-radius-s) 0}}& header{gap:var(--space-xs);color:var(--color-foreground);flex-direction:row;align-items:flex-start;display:flex;@container tablist (width>=900px){flex-direction:row;align-items:center}}& h2{font-family:var(--font-main);font-size:var(--font-step-1);color:var(--color-foreground)}& footer{font-size:var(--font-step-0);color:var(--color-muted);text-transform:uppercase;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)translateY(50%)}&[aria-selected=true] footer[data-astro-cid-ejowjadg] .jack{border-color:var(--color-p100);background:var(--color-p100)}& footer .jack{transition:border-color .12s,box-shadow .12s}&.cable-target footer[data-astro-cid-ejowjadg] .jack:not([aria-selected=true]){border-color:var(--color-y100);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-y100) 30%, transparent)}&.cable-target[aria-selected=true] footer[data-astro-cid-ejowjadg] .jack{border-color:var(--color-p300);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-p100) 30%, transparent)}}.cable-layer[data-astro-cid-ejowjadg]{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cable[data-astro-cid-ejowjadg]{fill:none;stroke:var(--color-foreground);stroke-width:4px}.spark[data-astro-cid-ejowjadg]{fill:none;stroke:var(--color-y100);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:0;filter:drop-shadow(0 0 3px var(--color-y100)) drop-shadow(0 0 6px var(--color-y100))}.plug[data-astro-cid-ejowjadg]{background:var(--color-foreground);border:3px solid var(--color-bg);width:16px;height:16px;box-shadow:0 0 0 1px var(--color-foreground);cursor:grab;-webkit-tap-highlight-color:transparent;touch-action:none;pointer-events:auto;opacity:0;z-index:3;border-radius:50%;position:absolute;top:0;left:0;&:before{content:"";border-radius:50%;position:absolute;inset:-14px}&:active{cursor:grabbing}}.input-jack{margin-top:var(--space-2xl-3xl);z-index:var(--z-dropdown);margin-left:50%;display:block;position:relative}section[data-astro-cid-ejowjadg][role=tabpanel]{margin-top:-7px;&[hidden]{display:none}& .case-panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-m);display:flex;&>div[data-astro-cid-ejowjadg]:first-child{gap:var(--space-m);flex-direction:column;display:flex}}& .case-panel{column-gap:var(--space-xl);row-gap:var(--space-m);grid-template-areas:"title""desc""team""metrics""highlights";display:grid;@container tablist (width>=900px){column-gap:var(--space-2xl);row-gap:var(--space-l);grid-template-columns:1fr 1fr;grid-template-areas:"title title""desc metrics""team metrics""highlights highlights"}}& h3{font-family:var(--font-title);font-size:var(--font-step-3);line-height:var(--font-step-3-line-height);color:var(--color-p100);grid-area:title;max-width:16ch;&:first-line{color:var(--color-ui)}}& .case-description{gap:var(--space-m);text-indent:var(--copy-text-indent);flex-direction:column;grid-area:desc;display:flex}& .achievements{gap:var(--space-s);flex-direction:column;grid-area:team;display:flex}& .tech-highlights{gap:var(--space-m);flex-direction:column;grid-area:highlights;display:flex;& hr{border:none;border-top:var(--border-stroke-width) solid var(--color-muted);width:100%;margin:0}}& .case-deco-footer{justify-content:center;display:flex}& .metrics{gap:var(--space-m);text-align:center;grid-area:metrics;justify-content:center;display:flex;@container tablist (width>=900px){gap:var(--space-l)}& figure:nth-child(2n){margin-top:calc(var(--space-m) * -1)}}& .radial-metrics{justify-content:center;gap:var(--space-s);text-align:center;flex-wrap:nowrap;display:flex;&>figure[data-astro-cid-ejowjadg]{flex:1 1 0}}}section[data-astro-cid-dlfent3g]{margin-top:var(--space-2xl)}.grid[data-astro-cid-burcop7h]{gap:var(--space-2xl);grid-template-columns:1fr 1fr;display:grid}@media (width<=680px){.grid[data-astro-cid-burcop7h]{gap:var(--space-l);grid-template-columns:1fr}}article[data-astro-cid-burcop7h]{color:var(--color-foreground);& h2{font-size:var(--font-step-2);text-transform:uppercase;margin-block:var(--space-m) var(--space-s)}}.highlight-p[data-astro-cid-burcop7h]{color:var(--color-p300)}.highlight-y[data-astro-cid-burcop7h]{color:var(--color-y100)}.copy[data-astro-cid-burcop7h]{text-indent:var(--copy-text-indent)}.clipboard-field[data-astro-cid-pkuadzpe]{color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;margin:0;padding:0;display:grid;&:hover,&:focus-visible{color:var(--color-p300)}& span{white-space:nowrap;transform-origin:0;grid-area:1/1;overflow:hidden}& .confirm{opacity:0;filter:blur(4px);transform:scale(.94)}}footer[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-l);margin-top:var(--space-l);padding-block:var(--space-l);color:var(--color-foreground);flex-direction:column;display:flex}.columns[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--space-l);grid-template-columns:repeat(3,auto);display:grid}.flow[data-astro-cid-jo6i4kqk]{color:var(--color-p200);grid-column:2}nav[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-m);font-size:var(--font-step-0);color:var(--color-foreground);justify-self:end;display:flex}.grid[data-astro-cid-yvqpge4l]{gap:var(--grid-gap);grid-template-columns:repeat(6,1fr);display:grid;container:grid/inline-size}.grid-item[data-astro-cid-wtfxvt5j]{grid-column:span var(--item-span-base);justify-self:var(--item-justify,stretch);align-self:var(--item-align,stretch)}@container grid (width>=600px){.grid-item[data-astro-cid-wtfxvt5j]{grid-column:span var(--item-span-sm)}}@container grid (width>=900px){.grid-item[data-astro-cid-wtfxvt5j]{grid-column:span var(--item-span-md)}}button[data-astro-cid-bqc7nllt]{padding:var(--space-xs);margin:0;margin-top:calc(var(--space-xs) * -1);color:var(--color-foreground);cursor:pointer;background:0 0;border:none;flex-direction:column-reverse;align-items:center;display:flex;&:hover,&:focus-visible{color:var(--color-y100)}}.wave[data-astro-cid-bqc7nllt]{width:2.5rem;height:auto;color:var(--color-y100);transition:opacity .2s;display:block}.wave-path[data-astro-cid-bqc7nllt]{d:path("M0 8 L4 8 L6 3 L9 13 L12 5 L15 11 L18 6 L21 10 L24 4 L27 12 L30 7 L33 9 L36 8 L40 8");transition:d .35s cubic-bezier(.77,0,.175,1)}.label[data-astro-cid-bqc7nllt]{font-family:var(--font-main);font-size:var(--font-step-0);text-transform:uppercase;white-space:nowrap;text-align:left;width:7ch}button[data-astro-cid-bqc7nllt][aria-pressed=false]{& .wave-path{d:path("M0 8 L4 8 L6 8 L9 8 L12 8 L15 8 L18 8 L21 8 L24 8 L27 8 L30 8 L33 8 L36 8 L40 8")}}@media (prefers-reduced-motion:reduce){.wave-path[data-astro-cid-bqc7nllt]{transition:none}}@container grid (width>=600px){button[data-astro-cid-bqc7nllt]{gap:var(--space-xs);flex-direction:row}}.top-line[data-astro-cid-ge2uvauf]{color:var(--color-foreground);font-family:var(--font-main);font-size:var(--font-step-0);margin-bottom:var(--space-m);padding-bottom:var(--space-m);padding-top:var(--space-m)}.status-line[data-astro-cid-ge2uvauf]{align-items:center;gap:var(--space-xs);display:flex}.location[data-astro-cid-ge2uvauf]{text-align:right;font-feature-settings:"tnum"}h1[data-astro-cid-ge2uvauf]{--stroke-width:.01em;--stroke-opacity:10%;font-family:var(--font-title);font-size:var(--font-step-4);text-transform:uppercase;color:var(--color-foreground)}.name[data-astro-cid-ge2uvauf]{color:var(--color-y100);white-space:nowrap}.highlight[data-astro-cid-ge2uvauf]{color:var(--color-p300)}h1[data-astro-cid-ge2uvauf] .word{white-space:nowrap;display:inline-block}.role[data-astro-cid-ge2uvauf]{max-width:60ch;text-indent:var(--copy-text-indent);margin-top:var(--space-s);color:var(--color-foreground)}
