:root{--color-bg:#f3f0e8;--color-bg-soft:#f8f6f1;--color-surface:#fcfbf8;--color-surface-2:#f9f7f2;--color-surface-deep:#efece4;--color-text:#161714;--color-muted:#6d6d67;--color-faint:#94938c;--color-line:#d9d4c8;--color-line-strong:#c7c1b5;--color-accent:#3047c7;--color-accent-deep:#23379e;--color-accent-soft:#e5e9f7;--color-warm:#c76b4f;--color-warm-deep:#b8664f;--color-warm-soft:#f2e3dc;--color-forest:#607968;--color-forest-soft:#e4ebe6;--color-graphite:#6e6a80;--color-graphite-soft:#e9e7ef;--color-dark:#141614;--color-dark-soft:#1b1e1b;--color-dark-deep:#101210;--color-dark-muted:#aaafa8;--color-dark-text:#f5f2ea;--color-dark-line:#f5f2ea24;--color-dark-line-strong:#f5f2ea52;--color-accent-strong:var(--color-accent-deep);--font-sans:"Pretendard Variable", Pretendard, Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;--font-mono:ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--text-hero:clamp(2.625rem, 5.4vw, 5.25rem);--text-section:clamp(2rem, 3vw, 3.25rem);--text-project-lg:clamp(1.75rem, 1.4vw + 1rem, 2.75rem);--text-project:clamp(1.5rem, .9vw + .9rem, 2rem);--text-title:clamp(1.25rem, .6vw + .9rem, 1.5rem);--text-lead:1.125rem;--text-body-lg:1.125rem;--text-body:1.0625rem;--text-small:.875rem;--text-micro:.75rem;--tracking-hero:-.055em;--tracking-tight:-.04em;--tracking-heading:-.03em;--tracking-body:-.01em;--tracking-label:.08em;--leading-hero:1.03;--leading-heading:1.12;--leading-body:1.75;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:8rem;--section-space:4.5rem;--section-space-lg:5rem;--section-space-xl:5.5rem;--project-gap:4rem;--heading-gap:2.75rem;--detail-space:4rem;--container:1280px;--container-article:820px;--page-padding:1.25rem;--grid-gap:1rem;--header-height:64px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:999px;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.18s;--dur-base:.22s;--dur-slow:.5s;--shadow-subtle:0 1px 2px #1617140a, 0 12px 32px -22px #16171429;--shadow-screenshot:0 20px 50px #1e1e1914;--noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}@media (width>=768px){:root{--page-padding:2rem;--grid-gap:1.5rem;--section-space:5.5rem;--section-space-lg:6rem;--section-space-xl:6.5rem;--project-gap:5rem;--heading-gap:3rem;--detail-space:5rem;--header-height:68px}}@media (width>=1024px){:root{--page-padding:3rem;--grid-gap:2rem;--section-space:6.875rem;--section-space-lg:7.5rem;--section-space-xl:8.125rem;--project-gap:6.5rem;--heading-gap:3.5rem;--detail-space:6rem;--text-hero:clamp(4rem, 5.4vw, 5.25rem);--text-section:clamp(2.5rem, 3vw, 3.25rem);--text-project-lg:clamp(2.25rem, 1.4vw + 1rem, 2.375rem);--text-project:clamp(1.75rem, .9vw + .9rem, 2rem)}}@media (width>=1440px){:root{--page-padding:4rem}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}address{font-style:normal}:target{scroll-margin-top:calc(var(--header-height) + 1rem)}body{font-family:var(--font-sans);font-size:var(--text-body);letter-spacing:var(--tracking-body);font-weight:420;line-height:var(--leading-body);color:var(--color-text);word-break:keep-all;overflow-wrap:anywhere;font-feature-settings:"ss01" 0, "cv11" 1}h1,h2,h3,h4{letter-spacing:var(--tracking-heading);font-weight:700;line-height:var(--leading-heading);text-wrap:balance}.t-hero{font-size:var(--text-hero);letter-spacing:var(--tracking-hero);font-weight:720;line-height:var(--leading-hero)}.t-section{font-size:var(--text-section);letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--leading-heading)}.t-project-lg{font-size:var(--text-project-lg);letter-spacing:-.035em;font-weight:680;line-height:1.16}.t-project{font-size:var(--text-project);letter-spacing:-.03em;font-weight:660;line-height:1.2}.t-title{font-size:var(--text-title);letter-spacing:-.03em;font-weight:660;line-height:1.25}.t-lead{font-size:var(--text-lead);letter-spacing:-.012em;text-wrap:pretty;font-weight:430;line-height:1.65}.t-body-lg{font-size:var(--text-body-lg);line-height:1.7}.t-body{font-size:var(--text-body)}.t-small{font-size:var(--text-small);line-height:1.55}.t-muted{color:var(--color-muted)}.t-label{font-size:var(--text-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);font-variant-numeric:tabular-nums;font-weight:560;line-height:1.4}.t-mono{font-family:var(--font-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:.8125rem}.t-accent{color:var(--color-accent)}.is-placeholder,.prose .is-placeholder{color:var(--color-muted);text-decoration:underline dashed;text-decoration-color:var(--color-line-strong);text-underline-offset:.3em;text-decoration-thickness:1px}.container{width:100%;max-width:calc(var(--container) + var(--page-padding) * 2);padding-inline:var(--page-padding);margin-inline:auto}.container--wide{max-width:calc(var(--container-wide) + var(--page-padding) * 2)}.grid{gap:var(--grid-gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width>=768px){.grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width>=1024px){.grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.section{padding-block:var(--section-space)}.section--xl{padding-block:var(--section-space-xl)}.section--flush-top{padding-top:0}.nowrap{white-space:nowrap}.desktop-break{display:none}@media (width>=768px){.desktop-break{display:inline}}.section--dark{background:var(--color-dark);color:var(--color-dark-text)}.section--dark .t-label,.section--dark .t-muted{color:var(--color-dark-muted)}.section--dark .rule{border-color:var(--color-dark-line)}.rule{border:0;border-top:1px solid var(--color-line)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:1000;background:var(--color-text);color:var(--color-dark-text);border-radius:var(--radius-sm);font-size:var(--text-small);transition:transform var(--dur-fast) var(--ease-out);padding:.75rem 1rem;font-weight:600;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;transform:translateY(0)}.link-arrow{letter-spacing:-.01em;color:inherit;transition:color var(--dur-fast) var(--ease-out);align-items:center;gap:.5em;font-weight:560;display:inline-flex}.link-arrow .arrow{transition:transform var(--dur-base) var(--ease-out);display:inline-block}.link-arrow:hover .arrow,.link-arrow:focus-visible .arrow{transform:translate(5px)}.link-arrow:hover{color:var(--color-accent)}.tag{border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);line-height:1;font-size:var(--text-micro);letter-spacing:.02em;color:var(--color-muted);white-space:nowrap;background:0 0;align-items:center;padding:7px 11px;font-weight:500;display:inline-flex}.section--dark .tag{border-color:var(--color-dark-line-strong);color:var(--color-dark-muted)}.rule-mark{align-items:center;height:5px;display:flex}.rule-mark:before{content:"";background:var(--color-line-strong);flex:1;height:1px}.rule-mark:after{content:"";background:var(--color-accent);width:5px;height:5px;margin-left:10px}.js [data-reveal]{opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(14px)}.js [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transition:none;transform:none}}html{background:var(--color-bg);color-scheme:light;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--color-bg);overflow-x:clip}::selection{background:var(--color-accent-soft);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}.section--dark :focus-visible{outline-color:var(--color-dark-text)}main{display:block}.btn[data-astro-cid-xil7xq2g]{letter-spacing:-.012em;white-space:nowrap;min-height:44px;transition:color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);align-items:center;gap:.55em;font-weight:580;line-height:1;display:inline-flex}.btn--md[data-astro-cid-xil7xq2g]{font-size:.9375rem}.btn--lg[data-astro-cid-xil7xq2g]{font-size:1.0625rem}.btn__arrow[data-astro-cid-xil7xq2g]{transition:transform var(--dur-base) var(--ease-out);display:inline-block}.btn[data-astro-cid-xil7xq2g]:hover .btn__arrow[data-astro-cid-xil7xq2g],.btn[data-astro-cid-xil7xq2g]:focus-visible .btn__arrow[data-astro-cid-xil7xq2g]{transform:translate(4px)}.btn[data-astro-cid-xil7xq2g][data-arrow=down]:hover .btn__arrow[data-astro-cid-xil7xq2g],.btn[data-astro-cid-xil7xq2g][data-arrow=down]:focus-visible .btn__arrow[data-astro-cid-xil7xq2g]{transform:translateY(3px)}.btn[data-astro-cid-xil7xq2g][data-arrow=external]:hover .btn__arrow[data-astro-cid-xil7xq2g],.btn[data-astro-cid-xil7xq2g][data-arrow=external]:focus-visible .btn__arrow[data-astro-cid-xil7xq2g]{transform:translate(3px,-3px)}.btn--underline[data-astro-cid-xil7xq2g]{padding:.35em 0;position:relative}.btn--underline[data-astro-cid-xil7xq2g]:after{content:"";opacity:.35;transform-origin:0;height:1px;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);background:currentColor;position:absolute;bottom:.15em;left:0;right:0}.btn--underline[data-astro-cid-xil7xq2g]:hover:after{opacity:1;transform:scaleX(1)}.btn--underline[data-astro-cid-xil7xq2g]:hover{color:var(--color-accent)}.btn--solid[data-astro-cid-xil7xq2g]{color:#f7f4ec;background:#171815;border:1px solid #171815;border-radius:10px;padding:.85em 1.15em}.btn--solid[data-astro-cid-xil7xq2g]:hover,.btn--solid[data-astro-cid-xil7xq2g]:focus-visible{background:var(--color-accent-deep);border-color:var(--color-accent-deep);transform:translateY(-2px)}.btn--light[data-astro-cid-xil7xq2g]{background:var(--color-dark-text);color:var(--color-dark);border:1px solid var(--color-dark-text);border-radius:10px;padding:.85em 1.15em}.btn--light[data-astro-cid-xil7xq2g]:hover,.btn--light[data-astro-cid-xil7xq2g]:focus-visible{background:var(--color-accent);border-color:var(--color-accent);color:#fff;transform:translateY(-2px)}.btn--outline[data-astro-cid-xil7xq2g]{border:1px solid var(--color-line-strong);color:var(--color-text);border-radius:10px;padding:.8em 1.1em}.btn--outline[data-astro-cid-xil7xq2g]:hover{border-color:var(--color-text)}@media (prefers-reduced-motion:reduce){.btn[data-astro-cid-xil7xq2g]:hover{transform:none}}.header[data-astro-cid-nen7h5rs]{z-index:100;height:var(--header-height);transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);background:0 0;border-bottom:1px solid #0000;position:sticky;top:0}.header[data-astro-cid-nen7h5rs].is-scrolled,.header[data-astro-cid-nen7h5rs].is-open{backdrop-filter:blur(16px);background:#f3f0e8db;border-bottom-color:#78786e24}.header__inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-md);height:100%;display:flex}.header__brand[data-astro-cid-nen7h5rs]{align-items:center;gap:.9rem;min-height:44px;display:inline-flex}.header__name[data-astro-cid-nen7h5rs]{letter-spacing:-.02em;font-size:1rem;font-weight:680}.header__name--temp[data-astro-cid-nen7h5rs]{text-transform:uppercase;letter-spacing:.08em;font-size:.8125rem}.header__desc[data-astro-cid-nen7h5rs]{color:var(--color-faint);letter-spacing:.12em;font-size:.6875rem;display:none}.header__nav[data-astro-cid-nen7h5rs]{display:none}.header__links[data-astro-cid-nen7h5rs]{align-items:center;gap:.25rem;display:flex}.header__link[data-astro-cid-nen7h5rs]{letter-spacing:-.01em;min-height:44px;color:var(--color-muted);transition:color var(--dur-fast) var(--ease-out);align-items:center;padding:0 .75rem;font-size:.9375rem;font-weight:540;display:inline-flex;position:relative}.header__link[data-astro-cid-nen7h5rs]:hover,.header__link[data-astro-cid-nen7h5rs]:focus-visible,.header__link[data-astro-cid-nen7h5rs].is-active{color:var(--color-text)}.header__link[data-astro-cid-nen7h5rs]:after{content:"";background:var(--color-accent);transform-origin:0;width:18px;height:2px;transition:transform var(--dur-base) var(--ease-out);border-radius:1px;position:absolute;bottom:8px;left:.75rem;transform:scaleX(0)}.header__link[data-astro-cid-nen7h5rs].is-active:after{transform:scaleX(1)}.header__toggle[data-astro-cid-nen7h5rs]{letter-spacing:-.01em;align-items:center;min-height:44px;padding:0 .25rem;font-size:.9375rem;font-weight:560;display:inline-flex}@media (width<=1023.98px){.header__nav[data-astro-cid-nen7h5rs]{gap:var(--space-md);padding:var(--space-md) var(--page-padding) var(--space-lg);background:var(--color-bg);border-bottom:1px solid var(--color-line);visibility:hidden;opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);display:grid;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.header[data-astro-cid-nen7h5rs].is-open .header__nav[data-astro-cid-nen7h5rs]{visibility:visible;opacity:1;transition-delay:0s;transform:none}.header__links[data-astro-cid-nen7h5rs]{flex-direction:column;align-items:stretch;gap:0}.header__link[data-astro-cid-nen7h5rs]{letter-spacing:-.025em;width:100%;min-height:52px;color:var(--color-text);border-bottom:1px solid var(--color-line);padding:0;font-size:1.25rem;font-weight:620}.header__link[data-astro-cid-nen7h5rs]:after{display:none}.header__nav[data-astro-cid-nen7h5rs] .header__resume{justify-self:start}}@media (width>=1024px){.header__desc[data-astro-cid-nen7h5rs]{display:inline}.header__nav[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-md);display:flex}.header__toggle[data-astro-cid-nen7h5rs]{display:none}.header__nav[data-astro-cid-nen7h5rs] .header__resume{min-height:38px;padding-block:.5em;font-size:.875rem}}@media (width<=1023px){html.is-menu-open{overflow:hidden}}.section-label[data-astro-cid-w6vrw6h3]{align-items:center;gap:.75em;display:inline-flex}.section-label__num[data-astro-cid-w6vrw6h3]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-accent)}.section-label__sep[data-astro-cid-w6vrw6h3]{color:var(--color-accent);font-weight:500}.section-label__text[data-astro-cid-w6vrw6h3]{color:var(--color-muted)}.section--dark .section-label__text[data-astro-cid-w6vrw6h3],.footer .section-label__text[data-astro-cid-w6vrw6h3]{color:var(--color-dark-muted)}.section--dark .section-label__num[data-astro-cid-w6vrw6h3],.footer .section-label__num[data-astro-cid-w6vrw6h3],.section--dark .section-label__sep[data-astro-cid-w6vrw6h3],.footer .section-label__sep[data-astro-cid-w6vrw6h3]{color:#8fa0ea}.contact-particles[data-astro-cid-4kbfwp3f]{z-index:0;pointer-events:none;display:block;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 12% 78%,#00000059 100%);mask-image:linear-gradient(#0000 0%,#000 12% 78%,#00000059 100%)}.contact-particles[data-astro-cid-4kbfwp3f] canvas{width:100%;height:100%;display:block}.footer[data-astro-cid-jo6i4kqk]{background:var(--color-dark-deep);color:var(--color-dark-text);padding-block:var(--section-space-lg) var(--space-lg);border-top:1px solid var(--color-dark-line);position:relative;overflow:hidden}.footer__inner[data-astro-cid-jo6i4kqk]{z-index:1;position:relative}.footer__cta[data-astro-cid-jo6i4kqk]{gap:3.25rem var(--grid-gap);display:grid}.footer__head[data-astro-cid-jo6i4kqk]{gap:0;display:grid}.footer[data-astro-cid-jo6i4kqk] .footer__label{color:var(--color-dark-muted)}.footer__title[data-astro-cid-jo6i4kqk]{margin-top:var(--space-md);letter-spacing:-.045em;max-width:18ch;color:var(--color-dark-text);text-wrap:balance;font-size:clamp(2.875rem,4vw,3.875rem);font-weight:640;line-height:1.08}.footer__desc[data-astro-cid-jo6i4kqk]{color:#c2c6c0;text-wrap:pretty;max-width:620px;margin-top:2rem;font-size:1.0625rem;line-height:1.8}.footer__side[data-astro-cid-jo6i4kqk]{align-content:end;gap:1.25rem;display:grid}.footer__contacts[data-astro-cid-jo6i4kqk]{gap:2.25rem;display:grid}.footer__contact[data-astro-cid-jo6i4kqk]{display:block}.footer__contact-key[data-astro-cid-jo6i4kqk]{letter-spacing:.02em;color:#d6d9d3;margin-bottom:.625rem;font-size:.875rem;font-weight:500;display:block}.footer__contact-link[data-astro-cid-jo6i4kqk]{width:fit-content;max-width:100%;min-height:44px;color:var(--color-dark-text);transition:color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);align-items:baseline;gap:.5em;text-decoration:none;display:inline-flex}.footer__contact-value[data-astro-cid-jo6i4kqk]{letter-spacing:-.015em;white-space:nowrap;font-size:clamp(1.375rem,1.2vw + .75rem,1.75rem);font-weight:560;line-height:1.3}.footer__contact-value--email[data-astro-cid-jo6i4kqk]{white-space:normal;overflow-wrap:anywhere}.footer__contact-arrow[data-astro-cid-jo6i4kqk]{color:var(--color-dark-muted);transition:color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);font-size:.85em}.footer__contact-link[data-astro-cid-jo6i4kqk]:hover{color:#8fa0ea}.footer__contact-link[data-astro-cid-jo6i4kqk]:hover .footer__contact-arrow[data-astro-cid-jo6i4kqk]{color:#8fa0ea;transform:translate(3px,-2px)}.footer__contact-link[data-astro-cid-jo6i4kqk]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.footer__bottom[data-astro-cid-jo6i4kqk]{gap:2rem;margin-top:5.5rem;display:grid}.footer__rule[data-astro-cid-jo6i4kqk]{align-items:center;height:5px;display:flex}.footer__rule[data-astro-cid-jo6i4kqk]:before{content:"";background:var(--color-dark-line);flex:1;height:1px}.footer__rule[data-astro-cid-jo6i4kqk]:after{content:"";background:#8fa0ea;width:5px;height:5px;margin-left:10px}.footer__bar[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.footer__meta[data-astro-cid-jo6i4kqk]{color:var(--color-dark-muted);flex-wrap:wrap;gap:.6em;display:flex}.footer__dot[data-astro-cid-jo6i4kqk]{opacity:.5}.footer__links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.footer__link[data-astro-cid-jo6i4kqk]{min-height:44px;font-size:var(--text-small);color:var(--color-dark-muted);transition:color var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}.footer__link[data-astro-cid-jo6i4kqk]:hover{color:var(--color-dark-text)}@media (prefers-reduced-motion:reduce){.footer__contact-link[data-astro-cid-jo6i4kqk],.footer__contact-arrow[data-astro-cid-jo6i4kqk]{transition:none}.footer__contact-link[data-astro-cid-jo6i4kqk]:hover .footer__contact-arrow[data-astro-cid-jo6i4kqk]{transform:none}}@media (width>=1024px){.footer__cta[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}.footer__head[data-astro-cid-jo6i4kqk]{grid-column:1/span 7}.footer__side[data-astro-cid-jo6i4kqk]{grid-column:9/span 4;padding-bottom:.35rem}}.fd[data-astro-cid-qie7emh6]{letter-spacing:.08em;text-transform:uppercase;gap:1em;width:100%;display:grid;container-type:inline-size}.fd__title[data-astro-cid-qie7emh6]{letter-spacing:.14em;color:var(--color-muted);font-size:.85em}.fd__nodes[data-astro-cid-qie7emh6]{grid-template-columns:var(--fd-cols);align-items:stretch;gap:.4em;display:grid}.fd__node[data-astro-cid-qie7emh6]{border:1px solid var(--color-line-strong);background:var(--color-surface);border-radius:.8em;align-content:start;gap:.3em;min-width:0;min-height:7.1em;padding:.85em .85em .9em;display:grid;position:relative}.fd__node--cobalt[data-astro-cid-qie7emh6]{border-color:var(--color-accent);background:var(--color-accent-soft)}.fd__node--cobalt[data-astro-cid-qie7emh6] .fd__label[data-astro-cid-qie7emh6]{color:var(--color-accent)}.fd__node--warm[data-astro-cid-qie7emh6]{border-color:var(--color-warm-deep);background:var(--color-warm-soft)}.fd__node--warm[data-astro-cid-qie7emh6] .fd__label[data-astro-cid-qie7emh6]{color:var(--color-warm-deep)}.fd__node--warm-soft[data-astro-cid-qie7emh6]{background:var(--color-warm-soft);border-color:var(--color-line-strong)}.fd__node--forest[data-astro-cid-qie7emh6]{border-color:var(--color-forest);background:var(--color-forest-soft)}.fd__node--forest[data-astro-cid-qie7emh6] .fd__label[data-astro-cid-qie7emh6]{color:var(--color-forest)}.fd__num[data-astro-cid-qie7emh6]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-faint);font-size:.78em}.fd__label[data-astro-cid-qie7emh6]{letter-spacing:.04em;color:var(--color-text);overflow-wrap:normal;word-break:normal;font-size:.9em;font-weight:620;line-height:1.25}.fd__sub[data-astro-cid-qie7emh6]{border-top:1px solid var(--color-line);letter-spacing:.03em;text-transform:none;color:var(--color-muted);white-space:nowrap;margin-top:.15em;padding-top:.35em;font-size:.74em}.fd__arrow[data-astro-cid-qie7emh6]{align-self:center;place-items:center;width:1.6em;display:grid}.fd__arrow-line[data-astro-cid-qie7emh6]{background:var(--color-line-strong);width:100%;height:1px;display:block;position:relative}.fd__arrow-line[data-astro-cid-qie7emh6]:after{content:"";border-top:1px solid var(--color-line-strong);border-right:1px solid var(--color-line-strong);width:.5em;height:.5em;position:absolute;top:-.28em;right:-1px;transform:rotate(45deg)}.fd__side[data-astro-cid-qie7emh6]{flex-wrap:wrap;gap:.5em;display:flex}.fd__side[data-astro-cid-qie7emh6] li[data-astro-cid-qie7emh6]{border:1px dashed var(--color-line-strong);letter-spacing:.12em;color:var(--color-muted);border-radius:999px;align-items:center;gap:.5em;padding:.35em .8em;font-size:.8em;display:inline-flex}.fd__dot[data-astro-cid-qie7emh6]{background:var(--color-line-strong);border-radius:50%;width:.5em;height:.5em}.fd__chip--warm[data-astro-cid-qie7emh6] .fd__dot[data-astro-cid-qie7emh6]{background:var(--color-warm)}.fd__chip--cobalt[data-astro-cid-qie7emh6] .fd__dot[data-astro-cid-qie7emh6]{background:var(--color-accent)}@container (width<=560px){.fd__label[data-astro-cid-qie7emh6]{letter-spacing:.02em;font-size:.85em}.fd__node[data-astro-cid-qie7emh6]{min-height:6.8em;padding:.7em .55em .75em}.fd__arrow[data-astro-cid-qie7emh6]{width:.9em}.fd__nodes[data-astro-cid-qie7emh6]{gap:.3em}}@container (width<=400px){.fd__nodes[data-astro-cid-qie7emh6]{grid-template-columns:minmax(0,1fr);gap:.3em}.fd__node[data-astro-cid-qie7emh6]{grid-template-columns:2.4em minmax(0,1fr);grid-template-areas:"num label""num sub";align-items:baseline;column-gap:.4em;min-height:0;padding:.7em .9em}.fd__num[data-astro-cid-qie7emh6]{grid-area:num}.fd__label[data-astro-cid-qie7emh6]{overflow-wrap:anywhere;grid-area:label}.fd__sub[data-astro-cid-qie7emh6]{white-space:normal;border-top:0;grid-area:sub;margin-top:0;padding-top:0}.fd__arrow[data-astro-cid-qie7emh6]{justify-self:start;width:1em;height:1.2em;margin-left:1.1em}.fd__arrow-line[data-astro-cid-qie7emh6]{width:1px;height:100%}.fd__arrow-line[data-astro-cid-qie7emh6]:after{top:auto;bottom:-1px;right:-.25em;transform:rotate(135deg)}}.pv[data-astro-cid-utabsd57]{--pv-tone:#e9e5da;--pv-fs:clamp(.6875rem, 1.75cqw, .875rem);background:var(--pv-tone);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:100%;transition:border-color var(--dur-base) var(--ease-out);place-items:center;padding:5%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.pv--card[data-astro-cid-utabsd57]{border-radius:var(--radius-md)}.pv--stage[data-astro-cid-utabsd57]{background:0 0;border:0;border-radius:0;place-items:stretch stretch;height:100%;padding:0;overflow:visible}.pv--stage[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57]{--pv-fs:clamp(.6875rem, 1.9cqw, .875rem);--mx:50%;--my:50%;width:100%;height:100%;box-shadow:var(--shadow-screenshot);border-color:#1617141a;border-radius:16px;align-content:center;gap:2.2em;padding:2.4em 2.4em 3.6em;position:relative}@property --glow{syntax:"<number>";inherits:true;initial-value:0}.pv--stage[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57],.pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57]{--mx:50%;--my:50%;--glow:0;transition:--glow .28s ease-out}.pv--stage[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57].is-lit,.pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57].is-lit{--glow:1}.pv--stage[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57]:after,.pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57]:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(240px circle at var(--mx) var(--my), rgba(48, 71, 199, calc(.6 * var(--glow))) 0%, rgba(143, 160, 234, calc(.45 * var(--glow))) 30%, #8fa0ea00 70%);-webkit-mask-composite:xor;border-radius:17px;padding:1.5px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}@media (prefers-reduced-motion:reduce){.pv--stage[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57],.pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57]{transition:none}}@container (width>=640px){.pv--stage[data-astro-cid-utabsd57] .pv__panel[data-astro-cid-utabsd57]{grid-template-columns:minmax(0,1fr);gap:1.8em;padding-top:1.8em}}@container (width<=560px){.pv--stage[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57]{gap:1.4em;padding:1.6em 1.6em 3.2em}.pv--stage[data-astro-cid-utabsd57] .pv__panel[data-astro-cid-utabsd57]{gap:1.2em;padding-top:1.2em}}.pv__frame[data-astro-cid-utabsd57]{font-size:var(--pv-fs);background:var(--color-surface);width:90%;max-width:100%;box-shadow:var(--shadow-subtle);color:var(--color-muted);border:1px solid #16171414;border-radius:14px;gap:1.8em;padding:1.8em;line-height:1.3;display:grid}.pv--feature[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57]{--pv-fs:clamp(.6875rem, 1.9cqw, .95rem);gap:2.2em}@media (width>=768px) and (width<=1279px){.pv--diagram[data-astro-cid-utabsd57].pv--card{min-height:24.5rem}}@media (width>=1280px){.pv--diagram[data-astro-cid-utabsd57].pv--card{aspect-ratio:16/9}}@media (width>=1024px) and (width<=1279px){.pv--diagram[data-astro-cid-utabsd57].pv--feature{min-height:20rem}}@media (width>=1280px){.pv--diagram[data-astro-cid-utabsd57].pv--feature{aspect-ratio:31/21}}@media (width>=1024px){.pv--diagram[data-astro-cid-utabsd57].pv--hero{max-height:650px;padding:4% 5%}.pv--hero[data-astro-cid-utabsd57] .pv__frame[data-astro-cid-utabsd57]{--pv-fs:clamp(.5rem, 1.25cqw, 1.0625rem);width:84%;max-width:1040px}}.pv--image[data-astro-cid-utabsd57]{aspect-ratio:16/9;place-items:stretch stretch;padding:0}.pv--image[data-astro-cid-utabsd57].pv--feature{aspect-ratio:31/21}.pv--image[data-astro-cid-utabsd57].pv--hero{max-height:650px}.pv__shot[data-astro-cid-utabsd57]{box-shadow:var(--shadow-screenshot);border:1px solid #1617141f;border-radius:14px;position:absolute;inset:4%;overflow:hidden}.pv__shot[data-astro-cid-utabsd57] img[data-astro-cid-utabsd57]{object-fit:cover;object-position:top;width:100%;height:100%}.pv__blur[data-astro-cid-utabsd57]{backdrop-filter:blur(14px);background:#f3f0e859;position:absolute}.pv--stage[data-astro-cid-utabsd57].pv--image{aspect-ratio:auto;height:100%}.pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57]{height:100%;box-shadow:var(--shadow-screenshot);background:#f7f6f3;border:1px solid #1617141a;border-radius:16px;padding:22px 22px 40px;position:relative;inset:auto;overflow:visible}.pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57] img[data-astro-cid-utabsd57]{object-fit:contain;object-position:center}.acc__visual-inline .pv--stage[data-astro-cid-utabsd57].pv--image{height:auto}.acc__visual-inline .pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57]{aspect-ratio:4/3;height:auto;padding:14px}.acc__visual-inline .pv--stage[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57] img[data-astro-cid-utabsd57]{object-fit:contain;width:100%;height:100%;display:block}.pv--hero[data-astro-cid-utabsd57].pv--image{aspect-ratio:auto;background:0 0;border:0;max-height:none;padding:0}.pv--hero[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57]{background:#f7f6f3;border:1px solid #1617141a;border-radius:16px;width:fit-content;max-width:100%;height:auto;margin:0 auto;padding:22px;position:relative;inset:auto}.pv--hero[data-astro-cid-utabsd57] .pv__shot[data-astro-cid-utabsd57] img[data-astro-cid-utabsd57]{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:72vh;display:block}.pv__label[data-astro-cid-utabsd57]{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);font-size:.85em;font-weight:560}.pv__panel[data-astro-cid-utabsd57]{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.4em;padding-top:1.4em;display:grid}.pv__stack[data-astro-cid-utabsd57]{align-content:start;gap:.9em;display:grid}.pv__chips[data-astro-cid-utabsd57]{grid-template-columns:repeat(3,max-content);justify-content:start;gap:1em;display:grid}.pv__chips[data-astro-cid-utabsd57] li[data-astro-cid-utabsd57]{justify-items:stretch;gap:.7em;min-width:4.5em;display:grid}.pv__chip[data-astro-cid-utabsd57]{border:1px solid var(--color-line-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);white-space:nowrap;border-radius:999px;align-items:center;gap:.5em;padding:.3em .8em;font-size:.85em;display:inline-flex}.pv__chip--warm[data-astro-cid-utabsd57]{border-color:var(--color-warm-deep);color:var(--color-warm-deep)}.pv__chip--cobalt[data-astro-cid-utabsd57]{border-color:var(--color-accent);color:var(--color-accent)}.pv__chip--forest[data-astro-cid-utabsd57]{border-color:var(--color-forest);color:var(--color-forest)}.pv__dot[data-astro-cid-utabsd57]{background:currentColor;border-radius:50%;width:.5em;height:.5em}.pv__bar[data-astro-cid-utabsd57]{background:#ebe8e0;border-radius:.3em;width:100%;height:.6em;display:block}.pv__map[data-astro-cid-utabsd57]{gap:.5em;display:grid}.pv__map[data-astro-cid-utabsd57] li[data-astro-cid-utabsd57]{border-bottom:1px solid var(--color-surface-2);align-items:center;gap:.7em;padding:.45em 0;display:flex}.pv__code[data-astro-cid-utabsd57]{font-family:var(--font-mono);color:var(--color-text);font-size:.85em}.pv__code--muted[data-astro-cid-utabsd57]{color:var(--color-muted)}.pv__map-arrow[data-astro-cid-utabsd57]{color:var(--color-line-strong)}@container (width<=560px){.pv__frame[data-astro-cid-utabsd57]{gap:1.4em;width:100%;padding:1.1em}.pv__panel[data-astro-cid-utabsd57]{gap:1.6em}.pv__chips[data-astro-cid-utabsd57]{gap:.7em}.pv__chip[data-astro-cid-utabsd57]{padding:.3em .6em;font-size:.8em}}@container (width<=480px){.pv__panel[data-astro-cid-utabsd57]{grid-template-columns:minmax(0,1fr);gap:1.4em}}
