html,body{overflow-x:clip}.intro{--color-paper: oklch(98.4% .003 248);--color-surface: oklch(100% 0 0);--color-ink: oklch(12.9% .041 265);--color-ink-2: oklch(44.6% .037 257);--color-rule: oklch(92.9% .013 256);--color-rule-strong: oklch(86% .018 256);--color-strong: oklch(20.8% .04 266);--color-strong-hover: oklch(30% .045 262);--color-on-strong: oklch(100% 0 0);--color-accent: oklch(42.6% .115 257);--color-accent-soft: oklch(95.5% .02 257);--color-hero-top: oklch(94.5% .035 268);--color-hero-glow: oklch(91% .05 275 / .55);--color-focus: oklch(42.6% .115 257);--color-pass: oklch(52.7% .137 150);--color-review: oklch(55.5% .146 49);--color-block: oklch(57.7% .215 27);--color-step-panel: oklch(96.4% .014 257);--color-sev-critical: oklch(50% .2 25);--color-sev-high: oklch(64% .19 40);--color-sev-medium: oklch(76% .16 80);--color-sev-low: oklch(60% .13 250);--color-sev-negligible: oklch(72% .02 257);--font-body: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4.5rem;--space-3xl: 7rem;--text-xs: .8125rem;--text-sm: .9375rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: clamp(1.5rem, 1.1rem + 1.6vw, 2.125rem);--text-display: clamp(2.125rem, 1.3rem + 3.6vw, 3.75rem);--radius-control: 8px;--radius-card: 12px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--dur-press: .16s;--dur-short: .2s;--dur-enter: .3s;--dur-draw: .6s;--stagger: 50ms;--dur-pop: .6s;--dur-ring: .9s;--dur-line: .9s;--delay-fill: .12s;--delay-body: .14s;--delay-out: .26s;--delay-chip: .42s;--stagger-chip: 45ms;--dur-seg: .38s;--stagger-card: 90ms;--art-lead: .22s;--stagger-art: 70ms;--dur-sweep: 1.1s;font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper);overflow-x:clip;word-break:keep-all}.intro *,.intro *:before,.intro *:after{box-sizing:border-box}.intro-inner{width:100%;max-width:1120px;margin:0 auto;padding-inline:var(--space-md)}.intro-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:48px;padding:0 var(--space-md);border-radius:var(--radius-control);border:1px solid transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background-color var(--dur-short) ease,border-color var(--dur-short) ease,transform var(--dur-press) var(--ease-out)}.intro-btn:focus-visible,.intro-faq__q:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.intro-btn:active{transform:scale(.97)}.intro-btn:disabled,.intro-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.intro-btn--primary{background:var(--color-strong);color:var(--color-on-strong)}@media(hover:hover)and (pointer:fine){.intro-btn--primary:hover{background:var(--color-strong-hover)}.intro-btn--secondary:hover{border-color:var(--color-ink-2)}.intro-faq__q:hover{color:var(--color-accent)}}.intro-btn--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-rule-strong)}.intro-head{display:flex;flex-direction:column;gap:var(--space-xs);max-width:640px;margin-bottom:var(--space-xl)}.intro-head h2{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}.intro-head p{margin:0;font-size:var(--text-md);line-height:1.7;color:var(--color-ink-2)}.intro-hero{padding-block:var(--space-2xl) var(--space-3xl);background-color:var(--color-paper);background-image:radial-gradient(60% 70% at 92% 0%,var(--color-hero-glow),transparent 70%),linear-gradient(180deg,var(--color-hero-top) 0%,var(--color-paper) 100%);border-bottom:1px solid var(--color-rule)}.intro-hero__body{display:flex;flex-direction:column;align-items:center;text-align:center}.intro-hero__label{margin:0 0 var(--space-sm);font-size:var(--text-sm);font-weight:700;color:var(--color-accent)}.intro-hero__title{margin:0;font-size:var(--text-display);font-weight:700;line-height:1.2;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere;min-width:0}.intro-hero__title em{font-style:normal;color:var(--color-accent)}.intro-hero__lede{margin:var(--space-md) auto 0;text-wrap:balance;max-width:34em;font-size:var(--text-md);line-height:1.75;color:var(--color-ink-2)}.intro-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:var(--space-lg)}.intro-hl{padding-block:var(--space-3xl) 0}.intro-hl+.intro-stages{padding-top:var(--space-2xl)}.intro-hl__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.intro-hl__card{display:flex;flex-direction:column;padding:var(--space-sm) var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}.intro-hl__art{margin-bottom:var(--space-md);border-radius:calc(var(--radius-card) - 4px);background:var(--color-step-panel);overflow:hidden}.intro-hl__art svg{display:block;width:100%;height:auto}.intro-hl__card h3{margin:0 var(--space-2xs) var(--space-2xs);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.intro-hl__card p{margin:0 var(--space-2xs);font-size:var(--text-sm);line-height:1.75;color:var(--color-ink-2)}.intro-hl__lens{transition:transform var(--dur-draw) var(--ease-in-out)}@media(hover:hover){.intro-hl__card:hover .intro-hl__lens{transform:translate(-120px)}}.intro-hl__card{--card-delay: calc(var(--i, 0) * var(--stagger-card))}.intro-hl__grid[data-reveal=on] .intro-hl__card:not([data-shown]){opacity:0}.intro-hl__card[data-shown]{animation:intro-hl-rise var(--dur-pop) var(--ease-out) var(--card-delay) backwards}.intro-hl__card[data-shown] :is(.ill-in,.ill-from-left,.ill-from-right,.ill-pop,.ill-draw,.ill-sweep){animation-duration:var(--dur-pop);animation-timing-function:var(--ease-out);animation-fill-mode:backwards;animation-delay:calc(var(--card-delay) + var(--art-lead) + var(--k, 0) * var(--stagger-art))}.ill-pop{transform-box:fill-box;transform-origin:center}.intro-hl__card[data-shown] .ill-in{animation-name:intro-ill-in}.intro-hl__card[data-shown] .ill-from-left{animation-name:intro-ill-left}.intro-hl__card[data-shown] .ill-from-right{animation-name:intro-ill-right}.intro-hl__card[data-shown] .ill-pop{animation-name:intro-ill-pop}.intro-hl__card[data-shown] .ill-draw{animation-name:intro-ill-draw;stroke-dasharray:1}.intro-hl__card[data-shown] .ill-sweep{animation-name:intro-ill-sweep;animation-duration:var(--dur-sweep);animation-timing-function:var(--ease-in-out)}.ill-surface{fill:var(--color-surface)}.ill-line{stroke:var(--color-rule-strong);stroke-width:1.5}.ill-soft{fill:var(--color-accent-soft)}.ill-ink{fill:var(--color-ink-2)}.ill-mute{fill:var(--color-rule-strong)}.ill-accent{fill:var(--color-accent)}.ill-on-accent{fill:var(--color-on-strong);font-family:var(--font-body)}.ill-accent-line{fill:none;stroke:var(--color-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ill-on-accent-line{fill:none;stroke:var(--color-on-strong);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.ill-thick{stroke-width:6}.ill-glass{fill:var(--color-surface);fill-opacity:.7}.ill-dash{fill:none;stroke:var(--color-rule-strong);stroke-width:1.5;stroke-dasharray:3 3}.ill-pass{fill:var(--color-pass)}.ill-pass-line{stroke:var(--color-pass);stroke-width:1.5}.ill-block{fill:var(--color-block)}.ill-review-text{fill:var(--color-review);font-family:var(--font-body)}.ill-block-text{fill:var(--color-block);font-family:var(--font-body)}.ill-ink-text{fill:var(--color-ink);font-family:var(--font-body);font-variant-numeric:tabular-nums}.ill-accent-text{fill:var(--color-accent);font-family:var(--font-body)}.ill-sev-critical{fill:var(--color-sev-critical)}.ill-sev-high{fill:var(--color-sev-high)}.ill-sev-medium{fill:var(--color-sev-medium)}.ill-sev-low{fill:var(--color-sev-low)}.intro-stages{padding-block:var(--space-3xl) var(--space-2xl)}.intro-track{--rail-gutter: 84px;--rail-x: 28px;--num: 56px;--num-radius: 14px;--step-pad: var(--space-lg);--step-gap: var(--space-md);--seg-gap: 8px;--arrow: 4px}.intro-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--step-gap)}.intro-step{position:relative;padding-left:var(--rail-gutter)}.intro-step__num{position:absolute;left:calc(var(--rail-x) - var(--num) / 2);top:var(--step-pad);isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:var(--num);height:var(--num);box-sizing:border-box;border-radius:var(--num-radius);border:2px solid var(--color-rule-strong);background:var(--color-surface);color:var(--color-ink-2);line-height:1;transition:color var(--dur-short) var(--ease-out) var(--delay-fill),border-color var(--dur-short) var(--ease-out) var(--delay-fill)}.intro-step__num-label{font-size:.625rem;font-weight:700;letter-spacing:.12em;opacity:.75}.intro-step__num-digit{font-size:var(--text-lg);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.intro-step__num:before,.intro-step__num:after{content:"";position:absolute;inset:-2px;border-radius:var(--num-radius)}.intro-step__num:before{z-index:-1;background:var(--color-accent);transform:scale(0);transition:transform var(--dur-enter) var(--ease-out) var(--delay-fill)}.intro-step__num:after{border:2px solid var(--color-accent);opacity:0}.intro-step__seg{--arrow-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M2.5 2.5 9 9.5 15.5 2.5' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");position:absolute;left:calc(var(--rail-x) - 2px);top:calc(var(--step-pad) + var(--num) + var(--seg-gap));bottom:calc(var(--seg-gap) + var(--arrow) - var(--step-gap) - var(--step-pad));width:4px;border-radius:999px;background:var(--color-rule-strong)}.intro-step__seg:before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--color-accent);transform-origin:top;transform:scaleY(0);transition:transform var(--dur-seg) var(--ease-in-out)}.intro-step__seg:after{content:"";position:absolute;top:calc(100% + var(--arrow) - 12px);left:50%;width:18px;height:12px;background:var(--color-rule-strong);-webkit-mask:var(--arrow-shape) center / contain no-repeat;mask:var(--arrow-shape) center / contain no-repeat;transform:translate(-50%);transition:background-color var(--dur-short) var(--ease-out) calc(var(--dur-seg) - 80ms)}.intro-step:has(+.intro-step[data-shown]) .intro-step__seg:before{transform:scaleY(1)}.intro-step:has(+.intro-step[data-shown]) .intro-step__seg:after{background:var(--color-accent)}.intro-step+.intro-step{--delay-fill: calc(.12s + var(--dur-seg));--delay-body: calc(.14s + var(--dur-seg));--delay-out: calc(.26s + var(--dur-seg));--delay-chip: calc(.42s + var(--dur-seg))}.intro-step__link{position:absolute;left:calc(var(--rail-x) + var(--num) / 2);top:calc(var(--step-pad) + var(--num) / 2 - 1px);width:calc(var(--rail-gutter) - var(--rail-x) - var(--num) / 2);height:2px;background:var(--color-rule-strong)}.intro-step__link:before{content:"";position:absolute;inset:0;background:var(--color-accent);transform-origin:left;transform:scaleX(0);transition:transform var(--dur-short) var(--ease-out) var(--delay-fill)}.intro-step__card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-lg);padding:var(--step-pad);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}.intro-step[data-shown] .intro-step__num{border-color:var(--color-accent);color:var(--color-on-strong)}.intro-step[data-shown] .intro-step__num:before{transform:scale(1)}.intro-step:nth-child(2n)[data-shown] .intro-step__num{color:var(--color-accent)}.intro-step:nth-child(2n) .intro-step__num:before{background:var(--color-accent-soft)}.intro-step[data-shown] .intro-step__num:after{animation:intro-step-ring var(--dur-ring) var(--ease-out) var(--delay-fill)}.intro-step[data-shown] .intro-step__num-label,.intro-step[data-shown] .intro-step__num-digit{animation:intro-num-up var(--dur-enter) var(--ease-out) var(--delay-fill) backwards}.intro-step[data-shown] .intro-step__num-digit{animation-delay:calc(var(--delay-fill) + var(--stagger))}.intro-step[data-shown] .intro-step__link:before{transform:scaleX(1)}.intro-step[data-shown] .intro-step__card{animation:intro-step-slide var(--dur-pop) var(--ease-out) var(--delay-fill) backwards}.intro-step[data-shown] .intro-step__body{animation:intro-step-nudge var(--dur-pop) var(--ease-out) var(--delay-body) backwards}.intro-step[data-shown] .intro-step__out{animation:intro-step-nudge var(--dur-pop) var(--ease-out) var(--delay-out) backwards}.intro-step[data-shown] .intro-chip{animation:intro-chip-in var(--dur-enter) var(--ease-out) backwards;animation-delay:calc(var(--delay-chip) + var(--c, 0) * var(--stagger-chip))}.intro-track[data-reveal=on] .intro-step:not([data-shown]) .intro-step__card{opacity:0}.intro-step h3{margin:var(--space-2xs) 0 var(--space-xs);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.intro-step p{margin:0;font-size:var(--text-sm);line-height:1.75;color:var(--color-ink-2)}.intro-step__out{align-self:start;margin-top:var(--space-2xs);padding:var(--space-sm) var(--space-md) var(--space-md);border-radius:var(--radius-card);background:var(--color-step-panel)}.intro-step__out-label{display:block;margin-bottom:var(--space-xs);font-size:var(--text-xs);font-weight:700;color:var(--color-accent)}.intro-step__out ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.intro-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:32px;padding:0 var(--space-xs);border:1px solid var(--color-rule);border-radius:999px;background:var(--color-surface);font-size:var(--text-xs);font-weight:500;line-height:1;white-space:nowrap}.intro-chip--critical:before,.intro-chip--high:before,.intro-chip--medium:before,.intro-chip--low:before,.intro-chip--negligible:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot)}.intro-chip--critical{--dot: var(--color-sev-critical)}.intro-chip--high{--dot: var(--color-sev-high)}.intro-chip--medium{--dot: var(--color-sev-medium)}.intro-chip--low{--dot: var(--color-sev-low)}.intro-chip--negligible{--dot: var(--color-sev-negligible)}.intro-chip--pass,.intro-chip--review,.intro-chip--block{border-color:currentColor;font-weight:700;letter-spacing:.03em}.intro-chip--pass{color:var(--color-pass)}.intro-chip--review{color:var(--color-review)}.intro-chip--block{color:var(--color-block)}.intro-spec{padding-block:var(--space-2xl);background:var(--color-surface);border-block:1px solid var(--color-rule)}.intro-spec__table{margin:0;border-top:2px solid var(--color-ink)}.intro-spec__row{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule)}.intro-spec__row dt{font-size:var(--text-sm);font-weight:700}.intro-spec__row dd{margin:0;max-width:65ch;font-size:var(--text-sm);line-height:1.7;color:var(--color-ink-2)}.intro-faq{padding-block:var(--space-3xl) var(--space-2xl)}.intro-faq__list{max-width:820px;border-top:1px solid var(--color-rule-strong)}.intro-faq__item{border-bottom:1px solid var(--color-rule)}.intro-faq__item h3{margin:0}.intro-faq__q{display:flex;width:100%;min-height:60px;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-3xs);background:none;border:0;text-align:left;font-family:var(--font-body);font-size:var(--text-md);font-weight:700;color:var(--color-ink);cursor:pointer}.intro-faq__icon{flex-shrink:0;color:var(--color-ink-2);transition:transform var(--dur-short) var(--ease-out)}.intro-faq__q[aria-expanded=true] .intro-faq__icon{transform:rotate(180deg)}.intro-faq__a{margin:0;padding:0 var(--space-3xs) var(--space-md);max-width:68ch;font-size:var(--text-sm);line-height:1.8;color:var(--color-ink-2)}.intro-faq__a:not([hidden]){animation:intro-drop var(--dur-short) var(--ease-out)}.intro-rise{animation:intro-rise var(--dur-enter) var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * var(--stagger))}@keyframes intro-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes intro-drop{0%{opacity:0;transform:translateY(-4px)}}@keyframes intro-fade{0%{opacity:0}}@keyframes intro-step-ring{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}@keyframes intro-num-up{0%{opacity:0;transform:translateY(8px)}}@keyframes intro-hl-rise{0%{opacity:0;transform:translateY(28px)}}@keyframes intro-ill-in{0%{opacity:0;transform:translateY(8px)}}@keyframes intro-ill-left{0%{opacity:0;transform:translate(-14px)}}@keyframes intro-ill-right{0%{opacity:0;transform:translate(14px)}}@keyframes intro-ill-pop{0%{opacity:0;transform:scale(.6)}}@keyframes intro-ill-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes intro-ill-sweep{0%{opacity:0;transform:translate(-150px)}20%{opacity:1}}@keyframes intro-step-nudge{0%{opacity:0;transform:translateY(10px)}}@keyframes intro-step-slide{0%{opacity:0;transform:translate(32px)}}@keyframes intro-chip-in{0%{opacity:0;transform:translateY(8px) scale(.85)}}.intro-cta{padding-block:var(--space-xl);background:var(--color-accent-soft);border-top:1px solid var(--color-rule)}.intro-cta__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md)}.intro-cta h2{margin:0;font-size:var(--text-lg);font-weight:700}.intro-cta p{margin:var(--space-3xs) 0 0;font-size:var(--text-sm);color:var(--color-ink-2)}.intro-skip{position:absolute;left:var(--space-sm);top:var(--space-sm);z-index:10;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-control);background:var(--color-strong);color:var(--color-on-strong);font-size:var(--text-sm);font-weight:700;text-decoration:none;transform:translateY(-200%)}.intro-skip:focus-visible{transform:none;outline:2px solid var(--color-focus);outline-offset:2px}.intro-hl,.intro-stages,.intro-spec{scroll-margin-top:var(--space-2xl)}@media(max-width:720px){.intro-hl__grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.intro-step__card{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.intro-inner{padding-inline:var(--space-sm)}.intro-hero{padding-block:var(--space-xl)}.intro-stages,.intro-faq{padding-block:var(--space-2xl) var(--space-xl)}.intro-hl{padding-top:var(--space-2xl)}.intro-track{--rail-gutter: 60px;--rail-x: 22px;--num: 44px;--num-radius: 12px;--step-pad: var(--space-sm);--step-gap: var(--space-sm)}.intro-step__num-label{font-size:.5rem}.intro-step__num-digit{font-size:var(--text-sm)}.intro-spec__row{grid-template-columns:minmax(0,1fr);gap:var(--space-3xs)}}@media(prefers-reduced-motion:reduce){.intro-btn,.intro-faq__icon,.intro-hl__lens,.intro-step__link:before,.intro-step__seg:before,.intro-step__seg:after,.intro-step__num,.intro-step__num:before{transition:none}.intro-btn:active{transform:none}.intro-rise,.intro-faq__a:not([hidden]),.intro-hl__card[data-shown],.intro-hl__card[data-shown] :is(.ill-in,.ill-from-left,.ill-from-right,.ill-pop,.ill-draw,.ill-sweep),.intro-step[data-shown] :is(.intro-step__card,.intro-step__body,.intro-step__out,.intro-chip,.intro-step__num-label,.intro-step__num-digit){animation:intro-fade .15s ease backwards;animation-delay:0ms}.intro-step[data-shown] .intro-step__num:after{animation:none}}html,body,#root{margin:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans KR,Arial,sans-serif}
