:root{color-scheme:light dark;--color-bg:#f5f5f5;--color-text:#202020;--color-text-secondary:#525252;--color-text-muted:#686868;--color-border:#e3e3e3;--color-border-strong:#d1d1d1;--color-accent:#963f5c;--color-accent-hover:#762b44;--color-code-bg:#ededed;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Segoe UI", Roboto, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fs-title:2rem;--fs-section:1.375rem;--fs-sub:1.0625rem;--fs-body:1rem;--fs-small:.875rem;--fs-meta:.875rem;--fs-micro:.8125rem;--lh-title:1.25;--lh-section:1.35;--lh-sub:1.45;--lh-body:1.7;--lh-small:1.6;--lh-meta:1.5;--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:80px;--s-10:96px;--w-doc:800px;--w-post:680px;--w-label:120px;--gutter:var(--s-5);--header-h:64px;--border:1px solid var(--color-border);--radius:4px}@media (prefers-color-scheme:dark){:root{--color-bg:#161616;--color-text:#eee;--color-text-secondary:#bdbdbd;--color-text-muted:#a3a3a3;--color-border:#303030;--color-border-strong:#424242;--color-accent:#e8a9bf;--color-accent-hover:#f5cfdd;--color-code-bg:#252525}}@media (width<=640px){:root{--fs-title:1.625rem;--fs-section:1.25rem}}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,svg,video{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit}html{-webkit-text-size-adjust:100%;word-break:keep-all;overflow-wrap:break-word}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}main{flex:1}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;font-weight:600}p{text-wrap:pretty}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}::selection{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}time{font-variant-numeric:tabular-nums}.skip-link{left:var(--s-4);top:calc(var(--s-10) * -1);z-index:50;padding:var(--s-2) var(--s-3);background:var(--color-text);color:var(--color-bg);font-size:var(--fs-small);position:absolute}.skip-link:focus{top:var(--s-2)}.container{width:100%;max-width:calc(var(--w-doc) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.page{padding-block:var(--s-8) 0}@media (width<=640px){.page{padding-block:var(--s-6) 0}}.page-title{font-size:var(--fs-title);line-height:var(--lh-title);letter-spacing:-.03em}.page-intro{margin-top:var(--s-3);max-width:36em;color:var(--color-text-secondary)}.meta{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--color-text-muted)}.label{font-size:var(--fs-micro);color:var(--color-text-muted);line-height:1.4;display:block}.doc-head{padding-bottom:var(--s-7)}.doc-section{grid-template-columns:var(--w-label) minmax(0, 1fr);gap:var(--s-3) var(--s-6);padding-block:var(--s-7);border-top:var(--border);display:grid}.doc-label{font-size:var(--fs-small);font-weight:500;line-height:var(--lh-body);letter-spacing:0;color:var(--color-text-muted)}.doc-label .count{margin-left:var(--s-1);font-variant-numeric:tabular-nums}@media (width<=640px){.doc-section{padding-block:var(--s-6);grid-template-columns:minmax(0,1fr)}}.entry+.entry{margin-top:var(--s-6)}.entry-head{justify-content:space-between;align-items:baseline;gap:var(--s-1) var(--s-4);flex-wrap:wrap;display:flex}.entry-title{font-size:var(--fs-sub);line-height:var(--lh-sub)}.entry-title a{text-decoration:none}.entry-title a:hover{color:var(--color-accent)}.entry p{margin-top:var(--s-2);color:var(--color-text-secondary)}.entry .more{margin-top:var(--s-2);font-size:var(--fs-small);display:inline-block}.text-link{color:var(--color-accent);text-decoration:none}.text-link:hover{color:var(--color-accent-hover);text-decoration:underline}.link-list{gap:var(--s-2) var(--s-5);font-size:var(--fs-small);flex-wrap:wrap;display:flex}.button{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--color-text);color:var(--color-bg);font-size:var(--fs-small);border-radius:999px;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-accent);color:var(--color-bg)}.site-header .container{justify-content:space-between;align-items:center;gap:var(--s-4);min-height:var(--header-h);display:flex}.site-brand{font-size:var(--fs-sub);letter-spacing:-.03em;font-weight:600;text-decoration:none}.site-nav{gap:var(--s-5);font-size:var(--fs-small);display:flex}.site-nav a{padding-block:var(--s-3);color:var(--color-text-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--color-text)}@media (width<=400px){.site-nav{gap:var(--s-4)}}.site-footer{margin-top:var(--s-10)}.site-footer .container{justify-content:space-between;align-items:center;gap:var(--s-3) var(--s-5);padding-block:var(--s-6);border-top:var(--border);font-size:var(--fs-small);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.site-footer a{color:var(--color-text-muted);text-decoration:none}.site-footer a:hover{color:var(--color-text)}.post-nav{gap:var(--s-5);margin-top:var(--s-8);padding-top:var(--s-5);border-top:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.post-nav a{align-content:start;gap:var(--s-1);text-decoration:none;display:grid}.post-nav strong{font-weight:500;line-height:var(--lh-sub)}.post-nav a:hover strong{color:var(--color-accent)}.post-nav .next{text-align:right}@media (width<=640px){.post-nav{grid-template-columns:minmax(0,1fr)}.post-nav .next{text-align:left}}@media (prefers-reduced-motion:no-preference){a{transition:color .16s,background-color .16s}}.home-head .page-title{font-size:clamp(2rem,1.6rem + 1.6vw,2.75rem);line-height:1.2}.home-whoami{margin-top:var(--s-4);font-size:var(--fs-small);color:var(--color-text-muted)}.post-list{gap:var(--s-6);display:grid}.post-row{align-items:baseline;gap:var(--s-1) var(--s-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.post-row .post-title{font-size:var(--fs-sub);line-height:var(--lh-sub)}.post-row .post-title a{text-decoration:none}.post-row .post-title a:hover{color:var(--color-accent)}.post-date{white-space:nowrap}.post-desc{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--color-text-secondary);grid-column:1}.draft{margin-left:var(--s-2);font-size:var(--fs-small);color:var(--color-text-muted);font-weight:400}@media (width<=640px){.post-row{grid-template-columns:minmax(0,1fr)}.post-date{order:3}}.post{max-width:var(--w-post);margin-inline:auto}.back-link{margin-bottom:var(--s-6);font-size:var(--fs-small);color:var(--color-text-muted);text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-accent)}.post-head h1{letter-spacing:-.03em;font-size:clamp(1.875rem,1.45rem + 1.7vw,2.5rem);line-height:1.3}.post-meta{gap:var(--s-1) var(--s-3);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.post-lead{margin-top:var(--s-5);color:var(--color-text-secondary);font-size:1.125rem;line-height:1.65}.post-body{margin-top:var(--s-6);padding-top:var(--s-6);border-top:var(--border)}.read-bar{z-index:40;background:var(--color-bg);border-bottom:var(--border);visibility:hidden;position:fixed;inset:0 0 auto;transform:translateY(-100%)}.read-bar.is-visible{visibility:visible;transform:none}.read-bar .container{max-width:calc(var(--w-post) + var(--gutter) * 2);padding-block:var(--s-3)}.read-bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-small);font-weight:600;display:block;overflow:hidden}.read-progress{height:2px;position:absolute;inset:auto 0 -1px}.read-progress span{background:var(--color-accent);height:100%;transform:scaleX(var(--progress,0));transform-origin:0;display:block}@media (prefers-reduced-motion:no-preference){.read-bar{transition:transform .2s,visibility .2s}}.prose{font-size:1.0625rem;line-height:1.85}.prose>*+*{margin-top:var(--s-5)}.prose h2{margin-top:var(--s-8);font-size:1.3125rem;line-height:var(--lh-section);letter-spacing:-.02em}.prose h3{margin-top:var(--s-7);font-size:var(--fs-sub);line-height:var(--lh-sub)}.prose h2+*,.prose h3+*{margin-top:var(--s-3)}.prose ul,.prose ol{padding-left:1.4em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:var(--s-2)}.prose li::marker{color:var(--color-text-muted)}.prose a{color:var(--color-accent)}.prose a:hover{color:var(--color-accent-hover)}.prose strong{font-weight:600}.prose blockquote{padding-left:var(--s-4);border-left:2px solid var(--color-accent);color:var(--color-text-secondary)}.prose hr{border:0;border-top:var(--border);margin-block:var(--s-8)}.prose code{font-family:var(--font-mono);font-size:.875em}.prose :not(pre)>code{padding:1px var(--s-1);border-radius:var(--radius);background:var(--color-code-bg)}.prose pre{padding:var(--s-4) var(--s-5);border-radius:var(--radius);font-size:var(--fs-small);line-height:var(--lh-small);overflow-x:auto}.prose img{border-radius:var(--radius);height:auto}.prose figure svg{color:currentColor;width:100%;height:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-small);display:block;overflow-x:auto}.prose th,.prose td{padding:var(--s-2) var(--s-3);border-bottom:var(--border);text-align:left;vertical-align:top}.prose th{border-bottom-color:var(--color-border-strong);font-weight:600}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}.doc-body>*+*{margin-top:var(--s-4)}.about-links,.lost-links{margin-top:var(--s-5)}
