:root{--color-bg: #fbf9f3;--color-surface: #ffffff;--color-surface-2: #f3efe6;--color-text: #1a2620;--color-text-secondary: #4a5750;--color-text-muted: #8a8f88;--color-border: #e3ddcd;--color-border-strong: #cfc7b3;--color-accent: #1f4e3d;--color-accent-hover: #15382b;--color-accent-soft: #e6ede8;--color-warm: #c87a5a;--color-warm-soft: #f5e3d7;--color-code-bg: #efeadd;--color-code-text: #1a2620;--font-sans: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard Variable", Pretendard, "Noto Sans KR", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;--font-serif: "Iowan Old Style", "Apple Garamond", Baskerville, "Source Serif Pro", "Apple SD Gothic Neo", "Pretendard Variable", Pretendard, "Noto Sans KR", "Times New Roman", serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--text-9xl: 8rem;--leading-tight: 1.15;--leading-snug: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.8;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .25rem;--radius: .5rem;--radius-lg: .875rem;--radius-xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(26, 38, 32, .04);--shadow: 0 2px 8px rgba(26, 38, 32, .06);--shadow-lg: 0 8px 28px rgba(26, 38, 32, .08);--container-prose: 720px;--container: 1040px;--container-wide: 1240px;--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .16s;--duration: .24s;--duration-slow: .48s}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:4rem}html:has(.snap-section){scroll-snap-type:y mandatory}@media(max-width:768px),(hover:none)and (pointer:coarse){html:has(.snap-section){scroll-snap-type:none}}body{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;word-break:keep-all;overflow-wrap:break-word;position:relative}main{flex:1}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><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 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}body>*{position:relative;z-index:1}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer;background:none;border:none;padding:0;color:inherit}a{color:var(--color-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:3px}::selection{background-color:var(--color-warm-soft);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--space-6)}.container-prose{max-width:var(--container-prose);margin-inline:auto;padding-inline:var(--space-6)}.container-wide{max-width:var(--container-wide);margin-inline:auto;padding-inline:var(--space-6)}@media(max-width:480px){.container,.container-prose,.container-wide{padding-inline:var(--space-4)}}.serif{font-family:var(--font-serif);font-feature-settings:"kern","liga"}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.prose{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text)}.prose>*+*{margin-top:var(--space-6)}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-serif);line-height:var(--leading-snug);font-weight:700;letter-spacing:-.01em;margin-top:var(--space-12);color:var(--color-text)}.prose h1{font-size:var(--text-4xl)}.prose h2{font-size:var(--text-2xl);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.prose h3{font-size:var(--text-xl)}.prose h4{font-size:var(--text-lg)}.prose p{font-size:inherit}.prose strong{color:var(--color-text);font-weight:700}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li{margin-block:var(--space-2)}.prose li>ul,.prose li>ol{margin-top:var(--space-2)}.prose blockquote{padding:var(--space-2) var(--space-5);border-left:3px solid var(--color-accent);color:var(--color-text-secondary);font-family:var(--font-serif);font-size:1.05em}.prose code:not(pre code){background-color:var(--color-code-bg);color:var(--color-code-text);padding:.125em .4em;border-radius:var(--radius-sm);font-size:.9em;font-family:var(--font-mono)}.prose pre{background-color:var(--color-code-bg);padding:var(--space-4) var(--space-5);border-radius:var(--radius);overflow-x:auto;font-size:var(--text-sm);line-height:1.6;border:1px solid var(--color-border)}.prose pre code{font-family:var(--font-mono);background:none;padding:0}.prose hr{border:none;border-top:1px solid var(--color-border);margin-block:var(--space-12)}.prose img{border-radius:var(--radius-lg);margin-inline:auto;box-shadow:var(--shadow)}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.prose th,.prose td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.prose th{background-color:var(--color-surface-2);font-weight:600}.prose svg.mermaid,.prose .mermaid svg{display:block;margin-inline:auto;max-width:100%;height:auto}@media(max-width:600px){.prose{font-size:var(--text-base);line-height:var(--leading-normal)}.prose>*+*{margin-top:var(--space-5)}.prose h1,.prose h2,.prose h3,.prose h4{margin-top:var(--space-10)}.prose h1{font-size:var(--text-3xl)}.prose h2{font-size:var(--text-xl)}.prose h3{font-size:var(--text-lg)}.prose h4{font-size:var(--text-base)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}.reveal-card{opacity:0;transform:translateY(48px) scale(.96);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal-card.is-visible{opacity:1;transform:translateY(0) scale(1)}.reveal[data-delay="1"],.reveal-card[data-delay="1"]{transition-delay:.12s}.reveal[data-delay="2"],.reveal-card[data-delay="2"]{transition-delay:.24s}.reveal[data-delay="3"],.reveal-card[data-delay="3"]{transition-delay:.36s}.reveal[data-delay="4"],.reveal-card[data-delay="4"]{transition-delay:.48s}.reveal[data-delay="5"],.reveal-card[data-delay="5"]{transition-delay:.6s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal,.reveal-card{opacity:1;transform:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--color-border);background-color:#fffdf7c7;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);position:sticky;top:0;z-index:50}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-4);gap:var(--space-6)}.brand[data-astro-cid-3ef6ksr2]{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text);line-height:1;display:inline-flex;align-items:baseline}.brand-mark[data-astro-cid-3ef6ksr2]{color:var(--color-accent);font-style:italic}.brand[data-astro-cid-3ef6ksr2]:hover{text-decoration:none;color:var(--color-text)}.brand[data-astro-cid-3ef6ksr2]:hover .brand-mark[data-astro-cid-3ef6ksr2]{color:var(--color-warm)}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-1);list-style:none;padding:0;margin:0}.nav-link[data-astro-cid-3ef6ksr2]{position:relative;display:inline-block;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out)}.nav-link[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:4px;height:1.5px;background-color:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--duration) var(--ease-out)}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);text-decoration:none}.nav-link[data-astro-cid-3ef6ksr2]:hover:after{transform:scaleX(1)}.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--color-accent)}.nav-link[data-astro-cid-3ef6ksr2].active:after{transform:scaleX(1);background-color:var(--color-accent)}@media(max-width:600px){.header-inner[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.nav-list[data-astro-cid-3ef6ksr2]{flex-wrap:wrap}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);margin-top:var(--space-12);padding-block:var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs);scroll-snap-align:end}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.copy[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:baseline;gap:var(--space-2)}.serif-mark[data-astro-cid-sz7xmlte]{font-family:var(--font-serif);font-style:italic;color:var(--color-accent);font-size:var(--text-base)}.dot[data-astro-cid-sz7xmlte]{color:var(--color-border-strong)}.meta-links[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-4);list-style:none;padding:0;margin:0}.meta-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-text-muted)}.meta-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}
