.diorama[data-astro-cid-xsubxfrg]{margin:0}.d-stage[data-astro-cid-xsubxfrg]{aspect-ratio:1;--px:calc(100cqw / var(--stage));position:relative;container-type:inline-size}.d-scene[data-astro-cid-xsubxfrg]{perspective-origin:50%;transition:opacity .6s ease-out;position:absolute;inset:0}.d-rack[data-astro-cid-xsubxfrg]{transform-style:preserve-3d;position:absolute;left:50%}.d-stage[data-astro-cid-xsubxfrg] .stage-canvas{opacity:0;width:100%;height:100%;transition:opacity .9s ease-in-out;position:absolute;inset:0}.d-stage[data-astro-cid-xsubxfrg][data-stage-state=live] .stage-canvas{opacity:1}.d-stage[data-astro-cid-xsubxfrg][data-stage-intro] .stage-canvas{transition-duration:.3s}.d-stage[data-astro-cid-xsubxfrg][data-stage-state=live] .d-scene[data-astro-cid-xsubxfrg]{opacity:0;transition:opacity 0s .9s}.d-box[data-astro-cid-xsubxfrg]{width:0;height:0;transform-style:preserve-3d;position:absolute;top:50%;left:50%}.d-face[data-astro-cid-xsubxfrg]{backface-visibility:hidden;position:absolute;top:0;left:0}.diorama[data-astro-cid-xsubxfrg]{--d-front:linear-gradient(180deg, #2a3042 0%, #1a1e2b 100%);--d-top:#343b50;--d-side:#12151f;--d-frame-front:#1d2130;--d-frame-top:#2a3042;--d-frame-side:#0f121b;--d-shadow:#0000008c;--d-icon:#c9cede;--d-vent:#ffffff0d}[data-theme=light] .diorama[data-astro-cid-xsubxfrg]{--d-front:linear-gradient(180deg, #fff 0%, #eef0f5 100%);--d-top:#f9fafc;--d-side:#d9dde6;--d-frame-front:#e4e7ee;--d-frame-top:#f2f4f8;--d-frame-side:#c9ced9;--d-shadow:#282c3c40;--d-icon:#3a4052;--d-vent:#0000000d}.d-face[data-astro-cid-xsubxfrg].front{background:var(--d-front)}.d-face[data-astro-cid-xsubxfrg].top,.d-face[data-astro-cid-xsubxfrg].bottom{background:var(--d-top)}.d-face[data-astro-cid-xsubxfrg].side{background:var(--d-side)}.d-plate[data-astro-cid-xsubxfrg] .d-face[data-astro-cid-xsubxfrg].front{background:var(--d-frame-front)}.d-plate[data-astro-cid-xsubxfrg] .d-face[data-astro-cid-xsubxfrg].top{background:var(--d-frame-top)}.d-plate[data-astro-cid-xsubxfrg] .d-face[data-astro-cid-xsubxfrg].side{background:var(--d-frame-side)}.d-shadow[data-astro-cid-xsubxfrg]{background:radial-gradient(closest-side, var(--d-shadow), transparent);filter:blur(calc(6 * var(--px)));border-radius:50%;position:absolute;top:100%;left:50%}.d-unit[data-astro-cid-xsubxfrg] .front[data-astro-cid-xsubxfrg]{align-items:center;gap:calc(8 * var(--px));padding:0 calc(10 * var(--px)) 0 0;border-radius:calc(3 * var(--px));box-shadow:inset 0 calc(1 * var(--px)) 0 #ffffff1f;display:flex}.d-strip[data-astro-cid-xsubxfrg]{width:calc(4 * var(--px));border-radius:calc(3 * var(--px)) 0 0 calc(3 * var(--px));background:var(--d-group);box-shadow:0 0 calc(8 * var(--px)) var(--d-group);align-self:stretch}.d-icon[data-astro-cid-xsubxfrg]{width:calc(14 * var(--px));height:calc(14 * var(--px));color:var(--d-icon);flex:none}.d-icon[data-astro-cid-xsubxfrg].is-brand{fill:var(--brand,var(--d-icon))}.d-vents[data-astro-cid-xsubxfrg]{height:calc(10 * var(--px));background:repeating-linear-gradient(90deg, var(--d-vent) 0 calc(2 * var(--px)), transparent 0 calc(5 * var(--px)));border-radius:calc(2 * var(--px));flex:1}.d-led[data-astro-cid-xsubxfrg]{width:calc(4 * var(--px));height:calc(4 * var(--px));background:var(--accent);box-shadow:0 0 calc(6 * var(--px)) var(--accent);border-radius:50%}.g0[data-astro-cid-xsubxfrg]{--d-group:var(--accent)}.g1[data-astro-cid-xsubxfrg]{--d-group:var(--synth)}.g2[data-astro-cid-xsubxfrg]{--d-group:var(--synth-2)}.is-switch[data-astro-cid-xsubxfrg] .front[data-astro-cid-xsubxfrg]{justify-content:center;padding:0}.d-ports[data-astro-cid-xsubxfrg]{gap:calc(4 * var(--px));display:flex}.d-port[data-astro-cid-xsubxfrg]{width:calc(9 * var(--px));height:calc(7 * var(--px));border-radius:calc(1.5 * var(--px));box-shadow:inset 0 calc(-2 * var(--px)) 0 var(--accent);background:#0a0c12}html[data-motion=full] .d-stage[data-astro-cid-xsubxfrg]:not([data-stage-css]) .d-scene[data-astro-cid-xsubxfrg]{visibility:hidden}@media (prefers-reduced-motion:no-preference){.d-stage[data-astro-cid-xsubxfrg][data-stage-css]:not([data-stage-built]) .d-unit[data-astro-cid-xsubxfrg]{animation:d-slot .9s var(--ease-out) backwards;animation-delay:calc(.15s + var(--i) * 55ms)}.d-led[data-astro-cid-xsubxfrg]{animation:2.4s step-end infinite d-blink;animation-delay:calc(var(--i) * -.37s)}.d-port[data-astro-cid-xsubxfrg]{animation:1.6s step-end infinite d-blink;animation-delay:calc(var(--p) * -.23s)}}@keyframes d-slot{0%{opacity:0;translate:0 0 calc(70 * var(--px))}}@keyframes d-blink{0%,to{opacity:1}47%{opacity:.35}53%{opacity:1}}.d-unit[data-astro-cid-xsubxfrg]{transition:translate .35s var(--ease-out)}.d-unit[data-astro-cid-xsubxfrg].is-hot{translate:0 0 calc(22 * var(--px))}.d-unit[data-astro-cid-xsubxfrg][data-u] .front[data-astro-cid-xsubxfrg]{cursor:pointer}.d-legend[data-astro-cid-xsubxfrg]{margin-top:.25rem}.d-groups[data-astro-cid-xsubxfrg]{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem 1.25rem;margin-top:.75rem;display:grid}.d-group[data-astro-cid-xsubxfrg]{font-family:var(--font-mono);color:var(--muted);margin-bottom:.4rem;font-size:.875rem;font-weight:600;display:block}.d-group[data-astro-cid-xsubxfrg]:before{content:"";background:var(--d-group);width:.45rem;height:.45rem;box-shadow:0 0 6px var(--d-group);border-radius:50%;margin-right:.45rem;display:inline-block}.d-chips[data-astro-cid-xsubxfrg]{flex-wrap:wrap;gap:.3rem;display:flex}.d-chip[data-astro-cid-xsubxfrg]{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 70%, transparent);color:var(--muted);cursor:pointer;touch-action:manipulation;border-radius:999px;padding:.28rem .55rem;font-size:.78rem;line-height:1.2;transition:color .2s,border-color .2s,background-color .2s}.d-chip[data-astro-cid-xsubxfrg]:hover,.d-chip[data-astro-cid-xsubxfrg].is-hot{color:var(--text);border-color:color-mix(in srgb, var(--d-group) 70%, transparent);background:color-mix(in srgb, var(--d-group) 12%, var(--surface))}.d-chip[data-astro-cid-xsubxfrg][aria-expanded=true]{box-shadow:0 0 0 1px var(--d-group) inset}.d-chip[data-astro-cid-xsubxfrg]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.d-panel[data-astro-cid-xsubxfrg]{display:grid}.d-overview[data-astro-cid-xsubxfrg],.d-card[data-astro-cid-xsubxfrg]{visibility:hidden;opacity:0;transform-origin:50% 0;transition:opacity .22s ease-out, transform .3s var(--ease-out), visibility 0s .22s;grid-area:1/1;transform:perspective(900px)translate3d(0,6px,-50px)rotateX(-7deg)}.d-overview[data-astro-cid-xsubxfrg].is-on,.d-card[data-astro-cid-xsubxfrg].is-on{visibility:visible;opacity:1;transition:opacity .25s ease-out 50ms, transform .35s var(--ease-out) 50ms;transform:none}html:not([data-motion]) .d-panel[data-astro-cid-xsubxfrg]{display:block}html:not([data-motion]) .d-card[data-astro-cid-xsubxfrg]{visibility:visible;opacity:1;transform:none}html:not([data-motion]) [data-astro-cid-xsubxfrg]:is(.d-overview,[data-close]){display:none}.d-card[data-astro-cid-xsubxfrg]:not(.d-hint){border:1px solid color-mix(in srgb, var(--d-group) 35%, var(--border));background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:0 10px 30px -18px var(--d-group);border-radius:.75rem;padding:1rem 1.1rem 1.05rem}.d-card[data-astro-cid-xsubxfrg]{align-self:start;margin-top:.75rem}.d-hint[data-astro-cid-xsubxfrg]{color:var(--faint);align-items:baseline;gap:.55rem;margin-top:.9rem;font-size:.82rem;display:flex}.d-hint-mouse[data-astro-cid-xsubxfrg]{display:none}@media (hover:hover) and (pointer:fine){.d-hint-touch[data-astro-cid-xsubxfrg]{display:none}.d-hint-mouse[data-astro-cid-xsubxfrg]{display:inline}}.d-hint-dot[data-astro-cid-xsubxfrg]{background:var(--accent);width:.45rem;height:.45rem;box-shadow:0 0 8px var(--accent);border-radius:50%;flex:none}.d-card-head[data-astro-cid-xsubxfrg]{align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.d-logo[data-astro-cid-xsubxfrg]{width:2.5rem;height:2.5rem;color:var(--d-group);background:color-mix(in srgb, var(--d-group) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--d-group) 35%, transparent);border-radius:.65rem;flex:none;place-items:center;display:grid}.d-logo[data-astro-cid-xsubxfrg] svg[data-astro-cid-xsubxfrg]{width:1.35rem;height:1.35rem}.d-logo[data-astro-cid-xsubxfrg].is-brand{color:var(--ink);background:var(--brand);box-shadow:0 6px 18px -8px var(--brand);border-color:#ffffff24}.d-logo[data-astro-cid-xsubxfrg].is-brand svg[data-astro-cid-xsubxfrg]{fill:currentColor}.d-card-title[data-astro-cid-xsubxfrg]{letter-spacing:-.01em;font-weight:650;line-height:1.2}.d-card-group[data-astro-cid-xsubxfrg]{font-family:var(--font-mono);color:var(--d-group);margin-top:.15rem;font-size:.8125rem;font-weight:600}.d-close[data-astro-cid-xsubxfrg]{width:2rem;height:2rem;color:var(--faint);border-radius:.5rem;flex:none;margin-left:auto;font-size:1.15rem;line-height:1;transition:color .2s,background-color .2s}.d-close[data-astro-cid-xsubxfrg]:hover{color:var(--text);background:var(--surface-2)}.d-card-text[data-astro-cid-xsubxfrg]{color:var(--muted);font-size:.85rem;line-height:1.55}.d-card-text[data-astro-cid-xsubxfrg]+.d-card-text[data-astro-cid-xsubxfrg]{margin-top:.45rem}.d-card-k[data-astro-cid-xsubxfrg]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text);font-size:.68rem;display:block}@media (forced-colors:active){.d-stage[data-astro-cid-xsubxfrg]{forced-color-adjust:none}}.stage-split[data-astro-cid-irahaz3f]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100svh;display:grid}.stage-fixed[data-astro-cid-irahaz3f]{color-scheme:dark;--text:#e8ebea;--muted:#a2aaa8;--faint:#9aa3a1;--surface:#16191b;--surface-2:#1d2124;--border:#2a2f33;height:100svh;color:var(--text);background:#0a0c0d;place-items:center;padding:clamp(1.5rem,4vw,4rem);display:grid;position:sticky;top:0;overflow:hidden}.stage-object[data-astro-cid-irahaz3f],.preview[data-astro-cid-irahaz3f]{grid-area:1/1;transition:opacity .45s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1),filter .45s ease-out}.stage-object[data-astro-cid-irahaz3f]{width:min(100%,34rem)}.stage-previews[data-astro-cid-irahaz3f]{display:contents}.preview[data-astro-cid-irahaz3f]{opacity:0;pointer-events:none;align-content:center;gap:1rem;width:min(100%,38rem);display:grid;transform:translateY(2.5rem)scale(.97)}.preview-media[data-astro-cid-irahaz3f]{aspect-ratio:2;background:#16191b;overflow:hidden}.preview-name[data-astro-cid-irahaz3f]{letter-spacing:-.04em;color:#e8ebea;margin-top:.75rem;font-size:clamp(2rem,1rem + 2.6vw,3.5rem);font-weight:600;font-stretch:118%;line-height:.95}.preview-summary[data-astro-cid-irahaz3f]{color:#a2aaa8;max-width:34rem;font-size:1.0625rem;line-height:1.55}[data-astro-cid-irahaz3f][data-stage][data-active] .stage-object[data-astro-cid-irahaz3f]{opacity:0;filter:blur(6px);pointer-events:none;transform:translateY(-2rem)scale(.94)}[data-astro-cid-irahaz3f][data-stage][data-active] .preview[data-astro-cid-irahaz3f].is-active{opacity:1;transform:none}.name-index[data-astro-cid-irahaz3f]:has(.is-active) .name-row[data-astro-cid-irahaz3f]:not(.is-active) .name[data-astro-cid-irahaz3f]{color:var(--muted)}.name-row[data-astro-cid-irahaz3f].is-active .name[data-astro-cid-irahaz3f]{color:var(--row-accent,var(--accent-text))}@media (prefers-reduced-motion:reduce){.stage-object[data-astro-cid-irahaz3f],.preview[data-astro-cid-irahaz3f]{transition:opacity .2s linear;filter:none!important;transform:none!important}}.stage-read[data-astro-cid-irahaz3f]{padding:clamp(3rem,6vw,6rem) clamp(1.5rem,5vw,4.5rem) 4rem}.read-block[data-astro-cid-irahaz3f]{max-width:34rem}.read-block[data-astro-cid-irahaz3f]+.read-block[data-astro-cid-irahaz3f]{margin-top:clamp(6rem,12vw,10rem)}.read-hero[data-astro-cid-irahaz3f]{flex-direction:column;justify-content:center;min-height:calc(100svh - 12rem);display:flex}.display[data-astro-cid-irahaz3f]{letter-spacing:-.035em;font-size:clamp(3rem,1.2rem + 5vw,5.75rem);font-weight:600;font-stretch:112%;line-height:.92}.head[data-astro-cid-irahaz3f]{letter-spacing:-.03em;font-size:clamp(2rem,1.3rem + 2.4vw,3.25rem);font-weight:600;font-stretch:112%;line-height:1}.lead[data-astro-cid-irahaz3f]{letter-spacing:-.01em;font-size:clamp(1.1875rem,1.05rem + .6vw,1.5rem);font-weight:500;line-height:1.3}.body[data-astro-cid-irahaz3f]{color:var(--muted);margin-top:.75rem;font-size:clamp(1.0625rem,1rem + .2vw,1.1875rem);line-height:1.6}.read-hero[data-astro-cid-irahaz3f] .lead[data-astro-cid-irahaz3f]{margin-top:1.5rem}.actions[data-astro-cid-irahaz3f]{flex-wrap:wrap;align-items:center;gap:1.75rem;margin-top:2.5rem;display:flex}.muted[data-astro-cid-irahaz3f]{color:var(--muted)}.name-index[data-astro-cid-irahaz3f]{margin-top:2.5rem}.name-row[data-astro-cid-irahaz3f]{color:var(--muted);padding:.55rem 0;transition:color .2s ease-out;display:block}.name-row[data-astro-cid-irahaz3f]:hover,.name-row[data-astro-cid-irahaz3f]:focus-visible{color:var(--text)}.name[data-astro-cid-irahaz3f]{letter-spacing:-.035em;color:var(--text);font-size:clamp(2.25rem,1.2rem + 3.2vw,4.25rem);font-weight:600;font-stretch:118%;line-height:.95;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:block}.name-row[data-astro-cid-irahaz3f]:hover .name[data-astro-cid-irahaz3f],.name-row[data-astro-cid-irahaz3f]:focus-visible .name[data-astro-cid-irahaz3f]{transform:translate(.35rem)}.meta-item[data-astro-cid-irahaz3f]+.meta-item[data-astro-cid-irahaz3f]:before{content:"·";margin-inline:.5em}.meta-first[data-astro-cid-irahaz3f]{color:var(--accent-text)}.name-meta[data-astro-cid-irahaz3f]{font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:1rem;display:block}.text-link[data-astro-cid-irahaz3f]{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.25em;cursor:pointer;font-size:1.125rem;text-decoration-thickness:2px}.text-link[data-astro-cid-irahaz3f]:hover{text-decoration-color:var(--text)}.field-dark[data-astro-cid-irahaz3f]{color:#e8ebea;--text:#e8ebea;--muted:#a2aaa8;--accent-text:#40d840;background:#0a0c0d;padding:clamp(6rem,12vw,11rem) 0}.field-inner[data-astro-cid-irahaz3f],.plain-block[data-astro-cid-irahaz3f]{max-width:72rem;margin-inline:auto;padding-inline:clamp(1.5rem,5vw,4.5rem)}.how-list[data-astro-cid-irahaz3f]{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:3rem 4rem;margin-top:3.5rem;display:grid}.plain-block[data-astro-cid-irahaz3f]{padding-top:clamp(6rem,12vw,11rem)}.skill-cols[data-astro-cid-irahaz3f]{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:2.5rem 4rem;margin-top:3.5rem;display:grid}.skills-more[data-astro-cid-irahaz3f]{margin-top:2.5rem}.contact-li[data-astro-cid-irahaz3f]{margin-left:1.5rem}.contact-block[data-astro-cid-irahaz3f]{padding-bottom:clamp(4rem,8vw,7rem)}.contact-block[data-astro-cid-irahaz3f] .lead[data-astro-cid-irahaz3f]{max-width:34ch;margin-top:1rem;font-weight:400}.contact-mail[data-astro-cid-irahaz3f]{letter-spacing:-.03em;overflow-wrap:anywhere;margin-top:2.5rem;font-size:clamp(1.5rem,.5rem + 4.6vw,4.5rem);font-weight:600;font-stretch:112%;line-height:1}.contact-mail[data-astro-cid-irahaz3f] a[data-astro-cid-irahaz3f]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:3px}.contact-block[data-astro-cid-irahaz3f] button[data-astro-cid-irahaz3f]{margin-top:1.25rem}@media (width<=900px){.stage-split[data-astro-cid-irahaz3f]{grid-template-columns:minmax(0,1fr)}.stage-read[data-astro-cid-irahaz3f]{display:contents}.read-hero[data-astro-cid-irahaz3f]{order:1;padding:3rem 1.5rem 3.5rem}.stage-fixed[data-astro-cid-irahaz3f]{order:2}.read-block[data-astro-cid-irahaz3f]:not(.read-hero){order:3;margin-top:4.5rem;padding:0 1.5rem}.stage-fixed[data-astro-cid-irahaz3f]{height:auto;min-height:60svh;position:relative}.stage-previews[data-astro-cid-irahaz3f]{display:none}.read-hero[data-astro-cid-irahaz3f]{min-height:0}}
