:root{--bg:#f5f4f8;--raised:#fcfcfd;--sunk:#eceaf2;--ink:#1c1928;--ink-2:#4e4a60;--ink-3:#6c6780;--rule:#dad7e4;--dot:#c9c5d6;--accent:#6d00cc;--accent-ink:#6d00cc;--accent-soft:#e9ddfb;--action-bg:#6d00cc;--action-bg-hover:#5a00a8;--action-fg:#fcfcfd;--pass:#0b8f86;--pass-ink:#08756e;--block:#c2303a;--block-ink:#a3202b;--thumb:#8f89a8;--edge:rgba(28,25,40,0.08);--lift:0 1px 2px rgba(28,25,40,0.06),0 16px 40px -16px rgba(28,25,40,0.22);--n-bg:#100e17;--n-raised:#181523;--n-ink:#eceaf4;--n-ink-2:#b4afc6;--n-ink-3:#8c86a0;--n-rule:#2a2638;--n-gutter:#1d1a28;--n-accent:#9d5cff;--n-accent-ink:#b388ff;--n-accent-hover:#c6a4ff;--n-select:#3a1f6b;--n-lit:#6d00cc;--n-action-bg:#6d00cc;--n-action-bg-hover:#7b12e0;--n-action-fg:#fcfcfd;--n-pass:#2fd3c1;--n-block:#ff6b72;--n-thumb:#676183;--glass-fill:rgba(236,234,244,0.045);--glass-tint:rgba(109,0,204,0.03);--glass-edge:rgba(236,234,244,0.18);--glass-hi:rgba(255,255,255,0.35);--glass-lo:rgba(255,255,255,0.08);--thread-core:#e9ddfb;--thread-halo:0 0 8px 1px rgba(157,92,255,0.3);--stage-light:radial-gradient(60% 50% at 70% 45%,rgba(109,0,204,0.06),transparent 70%);--font-sans:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;--font-code:"D2Coding","D2Coding ligature",Consolas,ui-monospace,monospace;--fs-meta:0.8125rem;--fs-small:0.9375rem;--fs-body:1rem;--fs-lead:1.1875rem;--fs-step:0.9375rem;--fs-h3:1.375rem;--fs-h2:clamp(1.75rem,1.1rem + 2.2vw,3rem);--fs-h1:clamp(2.25rem,1.2rem + 3vw,4rem);--fs-count:clamp(3rem,2rem + 3.5vw,5.5rem);--fs-code:0.875rem;--fs-code-s:0.75rem;--fs-comment:clamp(1.5rem,1rem + 1.6vw,2.25rem);--fs-wire:0.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--container:1320px;--gutter:16px;--cols:4;--col-gap:16px;--header-h:56px;--r-out:8px;--r-in:4px;--ease-scrub:cubic-bezier(0.45,0,0.55,1);--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-state:cubic-bezier(0.25,0.1,0.25,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--d-press:120ms;--d-state:180ms;--d-scene-in:420ms;--d-scene-out:200ms;--d-diag-in:420ms;--d-diag-out:200ms;--d-focal:900ms}@media (min-width:768px){:root{--gutter:24px;--cols:8;--col-gap:20px;--header-h:64px}}@media (min-width:1024px){:root{--gutter:40px;--cols:12;--col-gap:24px}}@media (min-width:1280px){:root{--fs-code:0.9375rem;--fs-code-s:0.8125rem;--fs-wire:0.8125rem}}:root[data-theme=dark]{--bg:#1d1930;--raised:#241f33;--sunk:#16131f;--ink:#eceaf4;--ink-2:#b4afc6;--ink-3:#918ba6;--rule:#352f48;--dot:#37304a;--accent:#9d5cff;--accent-ink:#b388ff;--accent-soft:#3a1f6b;--action-bg:#6d00cc;--action-bg-hover:#7b12e0;--action-fg:#fcfcfd;--pass:#2fd3c1;--pass-ink:#2fd3c1;--block:#ff6b72;--block-ink:#ff8a90;--thumb:#676183;--edge:rgba(255,255,255,0.08);--lift:none;--n-bg:#0b0a10;--n-raised:#15131d;--n-rule:#262232;--n-gutter:#191622}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1d1930;--raised:#241f33;--sunk:#16131f;--ink:#eceaf4;--ink-2:#b4afc6;--ink-3:#918ba6;--rule:#352f48;--dot:#37304a;--accent:#9d5cff;--accent-ink:#b388ff;--accent-soft:#3a1f6b;--action-bg:#6d00cc;--action-bg-hover:#7b12e0;--action-fg:#fcfcfd;--pass:#2fd3c1;--pass-ink:#2fd3c1;--block:#ff6b72;--block-ink:#ff8a90;--thumb:#676183;--edge:rgba(255,255,255,0.08);--lift:none;--n-bg:#0b0a10;--n-raised:#15131d;--n-rule:#262232;--n-gutter:#191622}}[data-surface=day]{--sf-bg:var(--bg);--sf-raised:var(--raised);--sf-sunk:var(--sunk);--sf-ink:var(--ink);--sf-ink-2:var(--ink-2);--sf-ink-3:var(--ink-3);--sf-rule:var(--rule);--sf-grain:var(--dot);--sf-accent:var(--accent);--sf-accent-ink:var(--accent-ink);--sf-select:var(--accent-soft);--sf-select-edge:color-mix(in srgb,var(--accent) 35%,transparent);--sf-action-bg:var(--action-bg);--sf-action-bg-hover:var(--action-bg-hover);--sf-action-fg:var(--action-fg);--sf-pass:var(--pass);--sf-pass-ink:var(--pass-ink);--sf-block:var(--block);--sf-block-ink:var(--block-ink);--sf-thumb:var(--thumb);--sf-edge:var(--edge);--sf-lift:var(--lift);color-scheme:light}:root[data-theme=dark] [data-surface=day],:root[data-theme=dark][data-surface=day]{color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) [data-surface=day],:root:not([data-theme=light])[data-surface=day]{color-scheme:dark}}[data-surface=night]{--sf-bg:var(--n-bg);--sf-raised:var(--n-raised);--sf-sunk:var(--n-bg);--sf-ink:var(--n-ink);--sf-ink-2:var(--n-ink-2);--sf-ink-3:var(--n-ink-3);--sf-rule:var(--n-rule);--sf-grain:var(--n-gutter);--sf-accent:var(--n-accent);--sf-accent-ink:var(--n-accent-ink);--sf-select:var(--n-select);--sf-select-edge:color-mix(in srgb,var(--n-accent) 35%,transparent);--sf-action-bg:var(--n-action-bg);--sf-action-bg-hover:var(--n-action-bg-hover);--sf-action-fg:var(--n-action-fg);--sf-pass:var(--n-pass);--sf-pass-ink:var(--n-pass);--sf-block:var(--n-block);--sf-block-ink:var(--n-block);--sf-thumb:var(--n-thumb);--sf-edge:var(--n-rule);--sf-lift:none;color-scheme:dark}*,:after,:before{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--sf-bg);color:var(--sf-ink);scrollbar-color:var(--sf-thumb) var(--sf-bg);transition:background-color var(--d-state) var(--ease-state)}body{min-height:100svh;font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.75;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:anywhere;caret-color:var(--sf-accent-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}h1,h2,h3{text-wrap:balance}dd,figcaption,li,p{text-wrap:pretty}ol,ul{list-style:none;padding:0}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:var(--sf-accent-ink);text-decoration-thickness:1px;text-underline-offset:.24em}@media (hover:hover) and (pointer:fine){a:hover{text-decoration-thickness:2px}}::selection{background:var(--sf-select);color:var(--sf-ink)}:focus-visible{outline:2px solid var(--sf-accent-ink);outline-offset:3px;border-radius:8px}[id]{scroll-margin-top:80px}.code,code,kbd,pre{font-family:var(--font-code);font-feature-settings:"tnum",none;font-variant-numeric:tabular-nums;font-variant-ligatures:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.t-meta{font-size:var(--fs-meta);line-height:1.5;font-weight:500;letter-spacing:0}.t-small{font-size:var(--fs-small);line-height:1.6;letter-spacing:-.005em}.t-lead{font-size:var(--fs-lead);line-height:1.6;letter-spacing:-.01em}.t-h3{font-size:var(--fs-h3);line-height:1.4;font-weight:700;letter-spacing:-.02em}.t-h2{font-size:var(--fs-h2);line-height:1.22;font-weight:760;letter-spacing:-.03em}.t-count{font-size:var(--fs-count);line-height:1;font-weight:800;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-code{font-size:var(--fs-code);line-height:1.7}.t-code,.t-code-s{font-family:var(--font-code);letter-spacing:0}.t-code-s{font-size:var(--fs-code-s);line-height:1.4}.t-wire{font-size:var(--fs-wire);line-height:1.3;font-weight:500;letter-spacing:0}.ink-2{color:var(--sf-ink-2)}.ink-3{color:var(--sf-ink-3)}.body-copy{line-height:1.8;font-weight:420}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-5);border-radius:var(--r-out);font-size:1rem;font-weight:650;letter-spacing:-.01em;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color var(--d-state) var(--ease-state),color var(--d-state) var(--ease-state),border-color var(--d-state) var(--ease-state),transform var(--d-press) var(--ease-out)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--sf-action-bg);color:var(--sf-action-fg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.btn-primary:focus-visible{outline-offset:4px}.btn-ghost{color:var(--sf-ink);border:1px solid color-mix(in srgb,var(--sf-ink) 38%,transparent)}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--sf-action-bg-hover)}.btn-ghost:hover{border-color:var(--sf-ink)}}.btn svg{width:18px;height:18px;flex:none}.piece{background:var(--sf-raised);border-radius:var(--r-out);box-shadow:inset 0 0 0 1px var(--sf-edge),var(--sf-lift)}.hero-band{background:var(--sf-select);box-shadow:inset 0 0 0 1px var(--sf-select-edge);border-radius:var(--r-in);color:var(--sf-ink)}.mi{display:inline-block;flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--mi) center /contain no-repeat;mask:var(--mi) center /contain no-repeat}.mi-circle-x{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0M10 10l4 4m0 -4l-4 4'/%3E%3C/svg%3E")}.mi-alert{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0zM12 16h.01'/%3E%3C/svg%3E")}.mi-check{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E")}.mi-key{--mi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0zM15 9h.01'/%3E%3C/svg%3E")}.fig-cap{font-size:var(--fs-meta);line-height:1.5;font-weight:500;color:var(--sf-ink-3)}.ic-pass{color:var(--sf-pass)}.ic-block{color:var(--sf-block)}.grain-dots{background-color:var(--sf-bg);background-image:radial-gradient(circle at 1px 1px,var(--sf-grain) 1px,transparent 1.5px);background-size:24px 24px}html[data-stage] [data-chapter]{height:calc(100svh + var(--L) * 1svh);position:relative}html[data-stage] [data-overlap]{margin-top:-100svh}html[data-stage] [data-stage-layer]{position:-webkit-sticky;position:sticky;top:0;height:100svh;overflow:clip;isolation:isolate}html[data-motion] [data-anchor][data-chain=off]{background:none!important;box-shadow:none!important}html[data-motion] [data-anchor][data-chain=hop]{opacity:0!important}html[data-motion] .hero-band:not([data-anchor]){background:none;box-shadow:none}html[data-stage]:not([data-motion]) [data-scene]:not([data-scene=first]){opacity:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important}}#stack{position:relative}html[data-stage] #stack{z-index:0;isolation:isolate}html[data-stage] #stack>section{position:relative;z-index:3;pointer-events:none}#top-sentinel,html[data-stage] [data-stage-layer]{pointer-events:none}#top-sentinel{position:absolute;top:8px;left:0;width:1px;height:1px}main:focus{outline:none}html[data-stage] [data-stage-layer][data-pre]{position:fixed;top:0;left:0;right:0;z-index:4;-webkit-clip-path:inset(var(--pre-t,50%) 0 var(--pre-b,50%) 0);clip-path:inset(var(--pre-t,50%) 0 var(--pre-b,50%) 0)}html[data-stage] [data-stage-layer][data-pre]:after,html[data-stage] [data-stage-layer][data-pre]:before{content:"";position:absolute;left:0;right:0;z-index:60;height:1px;background:var(--sf-accent);opacity:var(--pre-edge,1);pointer-events:none}html[data-stage] [data-stage-layer][data-pre]:before{top:var(--pre-t,50%)}html[data-stage] [data-stage-layer][data-pre]:after{bottom:var(--pre-b,50%)}@media (max-width:767px){html:not([data-stage]) #contract,html:not([data-stage]) #control,html:not([data-stage]) #delivery,html:not([data-stage]) #detail,html:not([data-stage]) #film,html:not([data-stage]) #live,html:not([data-stage]) #output,html:not([data-stage]) #process,html:not([data-stage]) #proof,html:not([data-stage]) #start,html:not([data-stage]) #studio{content-visibility:auto}html:not([data-stage]) #process{contain-intrinsic-size:auto 3810px}html:not([data-stage]) #contract{contain-intrinsic-size:auto 2600px}html:not([data-stage]) #output{contain-intrinsic-size:auto 4310px}html:not([data-stage]) #studio{contain-intrinsic-size:auto 4360px}html:not([data-stage]) #proof{contain-intrinsic-size:auto 1720px}html:not([data-stage]) #live{contain-intrinsic-size:auto 2860px}html:not([data-stage]) #control{contain-intrinsic-size:auto 1350px}html:not([data-stage]) #detail{contain-intrinsic-size:auto 2850px}html:not([data-stage]) #delivery{contain-intrinsic-size:auto 4020px}html:not([data-stage]) #film{contain-intrinsic-size:auto 1816px}html:not([data-stage]) #start{contain-intrinsic-size:auto 560px}}