@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Noto+Serif+KR:wght@600;700&display=swap";:root{--bg: #f1eee8;--bg-accent: #e2ddd3;--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .9);--text: #203844;--muted: #5d7077;--line: rgba(32, 56, 68, .14);--primary: #21424f;--shadow: 0 18px 45px rgba(32, 56, 68, .08);--radius: 24px;--content-width: 860px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:IBM Plex Sans KR,sans-serif;background:radial-gradient(circle at top left,rgba(255,255,255,.65),transparent 32%),radial-gradient(circle at top right,rgba(204,214,215,.45),transparent 25%),linear-gradient(180deg,#ebe7df 0%,var(--bg) 100%)}a{color:inherit;text-decoration:none}.site-shell{min-height:100vh;padding:32px 20px 72px}.frame{max-width:1200px;margin:0 auto}.site-header{display:flex;gap:20px;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.brand{display:grid;gap:8px}.brand-kicker{font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.brand-title{margin:0;font-family:"Noto Serif KR",serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}.brand-copy{margin:0;max-width:44rem;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(8px)}.article-shell{max-width:var(--content-width);margin:0 auto;padding:28px}.meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;color:var(--muted);font-size:.95rem}.meta-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-strong);border:1px solid var(--line);border-radius:999px}.category-chip{transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}a.category-chip:hover{border-color:#21424f47;transform:translateY(-1px)}.category-chip.is-active{background:var(--primary);border-color:var(--primary);color:#f7f3ec}[hidden]{display:none!important}.prose h1,.prose h2,.prose h3{font-family:"Noto Serif KR",serif;line-height:1.2;letter-spacing:-.02em}.prose h1{margin:0 0 18px;font-size:clamp(2.2rem,4vw,3.5rem)}.prose .article-title{font-size:clamp(1.4rem,1.1rem + 1.4vw,2.18rem);line-height:1.1;letter-spacing:-.03em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}.prose h2{margin-top:2.6rem;margin-bottom:1rem;font-size:clamp(1.55rem,2.4vw,2rem)}.prose h3{margin-top:2rem;margin-bottom:.8rem;font-size:clamp(1.2rem,2vw,1.45rem)}.prose p,.prose li,.prose blockquote{font-size:1.06rem;line-height:1.9}.post-prose p{white-space:pre-line}.prose p,.prose ul,.prose ol,.prose table,.prose blockquote,.prose hr{margin:1rem 0}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.45rem}.prose strong{color:var(--primary);font-weight:700}.prose a{color:#0f5f7a;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.16em;text-decoration-color:#0f5f7a73;word-break:break-word}.prose a:hover{color:#0b4c62;text-decoration-color:#0b4c62cc}.prose a:visited{color:#5a4d80;text-decoration-color:#5a4d8073}.prose hr{border:0;border-top:1px solid var(--line)}.prose blockquote{margin:2rem 0;padding:1.4rem 1.5rem;background:linear-gradient(180deg,#ffffffc7,#ffffff8c);border:1px solid rgba(33,66,79,.14);border-radius:22px;box-shadow:inset 0 1px #ffffffa6}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--surface-strong)}.prose th,.prose td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose thead th{font-weight:700;background:#21424f0f}.prose pre{position:relative;overflow-x:auto;margin:1.5rem 0;padding:1.35rem 1.2rem 1.2rem;border:1px solid rgba(77,145,171,.28);border-radius:22px;background:radial-gradient(circle at top right,rgba(117,214,255,.2),transparent 24%),radial-gradient(circle at bottom left,rgba(255,183,94,.14),transparent 28%),linear-gradient(180deg,#0a1a27fa,#142a38fa);box-shadow:inset 0 1px #ffffff14,0 18px 36px #0c182033}.prose pre:before{content:"";display:block;width:68px;height:10px;margin-bottom:1rem;border-radius:999px;background:radial-gradient(circle at 10px 5px,#ff8c69 0 4px,transparent 4.5px),radial-gradient(circle at 34px 5px,#ffd166 0 4px,transparent 4.5px),radial-gradient(circle at 58px 5px,#7ee7c1 0 4px,transparent 4.5px)}.prose pre code{display:block;color:#d9f4ff;font-family:JetBrains Mono,monospace;font-size:.92rem;line-height:1.75;white-space:pre;text-shadow:0 0 18px rgba(85,197,255,.08)}.prose :not(pre)>code{padding:.2rem .45rem;border:1px solid rgba(77,145,171,.18);border-radius:8px;background:#ffffffc7;color:#0f5f7a;font-family:JetBrains Mono,monospace;font-size:.92em}.prose pre::-webkit-scrollbar{height:10px}.prose pre::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}.prose pre::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#7ee7c1e6,#75d6ffe6);border-radius:999px}.prose img{display:block;max-width:100%;height:auto;margin:1.4rem auto;border-radius:18px;box-shadow:var(--shadow)}.post-grid{display:grid;gap:18px}.post-card{display:grid;gap:14px;padding:22px}.post-card h2{margin:0;font-size:clamp(1.2rem,2vw,1.55rem)}.post-card p{margin:0;color:var(--muted);line-height:1.75}.post-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--primary)}.footer-note{max-width:var(--content-width);margin:22px auto 0;color:var(--muted);font-size:.94rem}@media(max-width:720px){.site-shell{padding-inline:14px}.article-shell,.post-card{padding:18px}.site-header{align-items:flex-start;flex-direction:column}}
