:root{--color-paper:#f3f4f5;--color-paper-2:#fff;--color-paper-3:#e9eaec;--color-ink:#1a1c20;--color-ink-2:#2a3038;--color-ink-3:#555d6d;--color-rule:#1a1c2014;--color-rule-strong:#1a1c202e;--color-bar:#f3f4f5d9;--color-accent:#135fcd;--color-accent-ink:#0f4fa8;--color-accent-soft:#135fcd1f;--color-warn:#c47a12;--color-focus:var(--color-accent);--font-body:-apple-system, BlinkMacSystemFont, system-ui, "SF Pro Text", "Apple SD Gothic Neo", "Pretendard Variable", Pretendard, "Noto Sans KR", sans-serif;--font-display:var(--font-body);--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-wordmark:"Fraunces", Georgia, "Times New Roman", serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:.95rem;--text-lg:1.125rem;--text-xl:1.333rem;--text-2xl:2.2rem;--text-3xl:2.9rem;--text-display:clamp(2.8rem, 5.5vw + 1rem, 4.7rem);--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--radius-sm:6px;--radius-md:12px;--rule:1px solid var(--color-rule);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.2s;--measure:66ch;--page-max:68rem}:root[data-theme=dark]{--color-paper:#16171b;--color-paper-2:#1e2025;--color-paper-3:#262930;--color-ink:#e9eaec;--color-ink-2:#c9ccd2;--color-ink-3:#8b909b;--color-rule:#e9eaec17;--color-rule-strong:#e9eaec33;--color-bar:#16171bd9;--color-accent:#6fa3f5;--color-accent-ink:#8fb8f8;--color-accent-soft:#6fa3f529;--color-warn:#e0a24a;color-scheme:dark}@font-face{font-family:Pretendard Variable;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations");font-weight:45 920;font-display:swap}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{color-scheme:light;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-feature-settings:"ss05", "tnum";word-break:keep-all;overflow-wrap:anywhere;margin:0;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration-color:var(--color-rule-strong);text-underline-offset:.18em}a:hover{text-decoration-color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-weight:700;line-height:1.15}p{margin:0}code,kbd,.mono{font-family:var(--font-mono);font-size:.86em}kbd{border:var(--rule);border-radius:var(--radius-sm);background:var(--color-paper-2);font-size:var(--text-xs);border-bottom-width:2px;padding:0 .4em}.wrap{max-width:var(--page-max);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-3)}.status{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-ink-2);white-space:nowrap;align-items:center;gap:.45em;display:inline-flex}.status:before{content:"";background:var(--color-ink-3);border-radius:50%;width:7px;height:7px}.status[data-status=live]{color:var(--color-accent-ink)}.status[data-status=live]:before{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.dot{background:var(--color-accent);vertical-align:super;border-radius:50%;width:6px;height:6px;margin-left:.35em;display:inline-block}.status[data-status=pending]:before,.status[data-status=poc]:before{background:var(--color-warn)}.status[data-status=approved]:before,.status[data-status=done]:before{background:var(--color-ink-2)}.btn{white-space:nowrap;border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);font:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:.5em;padding:.65rem 1.15rem;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-ink-2);border-color:var(--color-ink-2)}.btn:active{transform:translateY(1px)}.btn.ghost{color:var(--color-ink);border-color:var(--color-rule-strong);background:0 0}.btn.ghost:hover{background:var(--color-paper-2);border-color:var(--color-ink)}.section{padding-block:var(--space-2xl);border-top:var(--rule)}.section-head{gap:var(--space-xs);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.section-head h2{font-size:var(--text-3xl)}.section-head .lede{color:var(--color-ink-2);max-width:var(--measure)}.record{column-gap:var(--space-lg);font-size:var(--text-sm);grid-template-columns:max-content 1fr;row-gap:.55rem;display:grid}.record dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-3);padding-top:.15em}.record dd{margin:0}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1em}.prose h2{font-size:var(--text-xl);margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:var(--rule)}.prose h3{font-size:var(--text-lg);margin-top:var(--space-xl)}.prose blockquote{border-left:2px solid var(--color-accent);color:var(--color-ink-2);margin:1.5em 0;padding:.25em 0 .25em 1em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.35em}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:var(--rule);padding:.5em .75em}.prose th{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-3);font-weight:500}.prose pre{background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--text-xs);line-height:1.5;overflow-x:auto}.prose pre code{font-size:inherit}.prose hr{display:none}.prose strong{font-weight:660}.prose img{border:var(--rule);border-radius:var(--radius-md)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}html{scroll-behavior:auto}}
