@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122}:root{--bg: #efe8db;--paper: #fbf6ec;--ink: #18231c;--muted: #5a635c;--line: rgba(24, 35, 28, .12);--accent: #1b5c48;--accent-2: #a66b2b;--dark-bg: #18231c;--dark-ink: #fbf6ec;--dark-cream: #f0e2c4;--font-display: "Fraunces", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", serif;--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease: cubic-bezier(.3, .7, .4, 1);--width-reading: 40rem;--width-wide: 70rem}*{box-sizing:border-box}html{font-size:17px;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--ink);line-height:1.9;word-break:keep-all;overflow-wrap:break-word}.shell{max-width:var(--width-reading);margin:0 auto;padding:0 1.25rem}.shell-wide{max-width:var(--width-wide);margin:0 auto;padding:0 1.5rem}.site-header{border-top:3px solid var(--ink);padding:1.25rem 0 0}.site-header .shell-wide{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.site-title{font-family:var(--font-display);font-size:1rem;font-weight:560;text-decoration:none;color:var(--ink);letter-spacing:-.02em}.site-nav{display:flex;gap:1.5rem}.site-nav a{font-size:.78rem;color:var(--muted);text-decoration:none;letter-spacing:.02em;transition:color .2s var(--ease)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent)}.site-footer{padding:5rem 0 3rem;font-size:.8rem;color:var(--muted)}.site-footer .shell-wide{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;border-top:1px solid var(--line);padding-top:1.5rem}.site-footer a{color:var(--muted);text-decoration:none;transition:color .2s var(--ease)}.site-footer a:hover{color:var(--accent)}main{min-height:55vh}h1,h2,h3{font-family:var(--font-display);font-weight:560;line-height:1.35;letter-spacing:-.02em;word-break:keep-all}a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:4px;transition:color .2s var(--ease)}a:hover{color:var(--accent);text-decoration-color:var(--accent)}.muted{color:var(--muted)}time{font-family:var(--font-mono);color:var(--muted);font-size:.72rem;letter-spacing:.04em;font-variant-numeric:tabular-nums}.hero{padding:6.5rem 0 7.5rem}.hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.18;letter-spacing:-.025em;font-weight:540;margin:0;max-width:22ch}.hero p{margin:2rem 0 0;font-size:1.05rem;color:var(--muted);max-width:44ch}.hero .hero-link{margin-top:1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em}.hero .hero-link a{color:var(--muted);text-decoration-color:var(--line)}.hero .hero-link a:hover{color:var(--accent);text-decoration-color:var(--accent)}.section{margin-bottom:6.5rem}.section-heading{font-family:var(--font-mono);font-size:.72rem;font-weight:500;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:.6rem;margin:0}.section-more{display:inline-block;margin-top:2rem;font-size:.85rem;color:var(--muted);text-decoration:none}.section-more:hover{color:var(--accent)}.post-list{list-style:none;padding:0;margin:0}.post-list li{border-top:1px solid var(--line);padding:1.6rem 0 1.15rem}.post-list li:first-child{border-top:none}.post-list .post-row{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem}.post-list .post-title{font-family:var(--font-display);font-size:clamp(1.25rem,2.4vw,1.65rem);font-weight:560;letter-spacing:-.02em;line-height:1.35;text-decoration:none}.post-list .post-title:hover{color:var(--accent)}.post-list time{flex-shrink:0}.post-list p{margin:.4rem 0 0;color:var(--muted);font-size:.92rem;max-width:46ch}.source-label{display:inline-block;margin-top:.7rem;font-family:var(--font-mono);color:var(--muted);font-size:.68rem;letter-spacing:.05em}.dark-band{background:var(--dark-bg);color:var(--dark-ink);padding:5rem 0;margin-bottom:6.5rem}.dark-band .section-heading{color:var(--dark-cream);border-bottom-color:#fbf6ec40}.dark-band ul{list-style:none;padding:0;margin:0}.dark-band li{font-family:var(--font-display);font-size:clamp(1.3rem,2.6vw,1.85rem);font-weight:540;letter-spacing:-.02em;line-height:1.5;padding:.85rem 0;border-top:1px solid rgba(251,246,236,.15)}.dark-band li:first-of-type{border-top:none}.note{border-top:1px solid var(--line);padding:1.75rem 0}.note:first-of-type{border-top:none}.note .prose p{margin:.5rem 0 0}.work-list{list-style:none;padding:0;margin:0}.work-list li{border-top:2px solid var(--ink);padding:1.5rem 0 1.75rem}.work-list h2{font-size:1.25rem;margin:0 0 .25rem}.work-list h2 a{text-decoration:none}.work-list>li>p{margin:0;color:var(--muted);font-size:.92rem}.page-header{padding:4rem 0 3rem}.page-header h1{font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 .5rem}.page-header .muted{margin:0;font-size:.95rem}.article-header{padding:4rem 0 0;margin-bottom:3.5rem}.article-header h1{font-size:clamp(1.7rem,3vw,2.6rem);margin:0 0 1rem}.article-description{margin:-.25rem 0 1.25rem;color:var(--muted);font-family:var(--font-display);font-size:clamp(1.05rem,2vw,1.25rem)}.article-meta{display:flex;align-items:center;gap:1rem}.article-meta a{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;text-decoration:none}.article-meta a:hover{color:var(--accent)}.article-cover{display:block;width:100%;max-height:34rem;margin-top:2.5rem;object-fit:cover}.prose{font-size:1.06rem}.prose p{margin:1.55em 0}.prose h2{font-size:1.5rem;margin:2.4em 0 .7em}.prose h3{font-size:1.2rem;margin:2em 0 .6em}.prose blockquote{margin:1.75em 0;padding-left:1.25em;border-left:3px solid var(--accent-2);color:var(--ink);font-family:var(--font-display);font-size:1.1em;line-height:1.7}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.4em 0}.prose img{max-width:100%;height:auto}.prose hr{border:none;border-top:1px solid var(--line);margin:3em 0}.prose a{color:var(--accent);text-decoration-color:var(--accent)}.prose a:hover{color:var(--accent-2);text-decoration-color:var(--accent-2)}.prose code{font-family:var(--font-mono);font-size:.85em;background:#a66b2b17;padding:.15em .4em;border-radius:4px}.prose pre{padding:1.25rem;border-radius:6px;overflow-x:auto;line-height:1.6;font-size:.85rem}.prose pre code{background:none;padding:0;font-size:inherit}.thread-archive{margin-top:.5rem}.thread-item{border-top:1px solid var(--line);padding:1.85rem 0 1.6rem}.thread-item:first-of-type{border-top:none}.thread-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.thread-badges{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.thread-badge{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.1rem .45rem}.thread-origin{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;color:var(--muted);text-decoration:none}.thread-origin:hover{color:var(--accent)}.thread-body{font-size:1.02rem;line-height:1.85}.thread-text{margin:0;white-space:pre-wrap}.thread-media{margin:1rem 0 0}.thread-media img{display:block;max-width:100%;height:auto;border-radius:6px;border:1px solid var(--line);background:var(--paper)}.thread-media figcaption{margin-top:.45rem;font-size:.8rem}.thread-footer{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.88rem}@media(max-width:600px){html{font-size:16px}.hero{padding:4rem 0 5rem}.post-list .post-row{flex-direction:column;gap:.15rem}.dark-band{padding:3.5rem 0}.thread-meta{flex-direction:column;gap:.35rem}}
