@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/woff2/PretendardVariable.woff2) format("woff2-variations")}@font-face{font-family:Plex Mono;font-weight:400;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@latest/latin-400-normal.woff2) format("woff2")}@font-face{font-family:Plex Mono;font-weight:500;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@latest/latin-500-normal.woff2) format("woff2")}@font-face{font-family:Plex Mono;font-weight:600;font-style:normal;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@latest/latin-600-normal.woff2) format("woff2")}:root{--sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--mono: "Plex Mono", ui-monospace, "SF Mono", "JetBrains Mono", Consolas, monospace;--paper: #f5f3ec;--panel: #eeebe1;--card: #fbfaf5;--ink: #1a1915;--muted: #6b695f;--faint: #9c988a;--line: #dcd7c9;--line-strong: #c7c1af;--green: #1c5c47;--green-2: #123f30;--green-soft: #e4ede8;--seal: #b5372a;--seal-soft: #f4e5e2;--radius: 4px;--radius-lg: 8px;--maxw: 1120px;--readw: 720px;--grid: 26px;--accent: var(--green);--accent-soft: var(--green-soft);--accent-strong: var(--green-2);--gold: #b0842f;--gold-soft: #f2e8d4;--bg-soft: var(--panel);--surface: var(--card);--border: var(--line);--border-strong: var(--line-strong);--text: var(--ink);--text-muted: var(--muted);--text-faint: var(--faint);--highlight: var(--green-soft);--shadow: 0 1px 2px rgba(26, 25, 21, .05);--shadow-hover: 0 10px 24px rgba(26, 25, 21, .09)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.7;letter-spacing:-.011em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}.eyebrow,.mono{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 85%,transparent);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:62px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:16px;letter-spacing:-.02em}.brand .mark{position:relative;width:24px;height:24px;border-radius:var(--radius);background:var(--green);flex:none}.brand .mark:before,.brand .mark:after{content:"";position:absolute;background:color-mix(in srgb,var(--card) 60%,transparent)}.brand .mark:before{left:50%;top:5px;bottom:5px;width:1px;transform:translate(-50%)}.brand .mark:after{top:50%;left:5px;right:5px;height:1px;transform:translateY(-50%)}.nav{display:flex;gap:22px}.nav a{position:relative;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 0;transition:color .15s}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-20px;height:2px;background:var(--seal)}.hero{position:relative;padding:92px 0 64px;border-bottom:1px solid var(--line);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:var(--grid) var(--grid);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 20%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 70% 20%,#000 0%,transparent 75%);opacity:.6;pointer-events:none}.hero .wrap{position:relative}.hero .eyebrow{display:inline-flex;align-items:center;gap:8px}.hero .eyebrow:before{content:"";width:7px;height:7px;background:var(--seal);border-radius:1px;display:inline-block}.hero h1{margin:20px 0 0;font-size:clamp(34px,5.4vw,58px);line-height:1.12;font-weight:800;letter-spacing:-.04em;max-width:17ch}.hero p{margin:22px 0 0;font-size:clamp(16px,2vw,18px);color:var(--muted);max-width:52ch}.hero .actions{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:var(--radius);font-size:14.5px;font-weight:700;letter-spacing:-.01em;transition:transform .12s,background .15s,border-color .15s,color .15s}.btn-primary{background:var(--green);color:var(--card)}.btn-primary:hover{background:var(--green-2)}.btn-ghost{border:1px solid var(--line-strong);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.section{padding:60px 0 84px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:26px;border-bottom:2px solid var(--ink)}.section-head h2{margin:0;font-size:21px;font-weight:800;letter-spacing:-.025em}.section-head .count{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--muted)}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.book-card{display:block;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px 20px;transition:border-color .16s,transform .16s}.book-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.book-card:before{content:"BOOK " counter(bookidx,decimal-leading-zero);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--muted)}.book-grid{counter-reset:bookidx}.book-card{counter-increment:bookidx}.book-card h3{margin:10px 0 0;font-size:23px;font-weight:800;letter-spacing:-.03em}.book-author{margin-top:5px;font-size:14px;color:var(--muted)}.book-desc{margin:13px 0 18px;font-size:14.5px;color:var(--muted);line-height:1.65}.book-foot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line)}.book-count{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--ink)}.book-card .more{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--green)}.book-spine{display:none}.book-head{margin:20px 0 38px}.book-head h1{margin:12px 0 0;font-size:clamp(28px,4.4vw,42px);font-weight:800;letter-spacing:-.035em}.book-head p{margin:14px 0 0;font-size:16.5px;color:var(--muted);max-width:60ch}.card-grid{display:flex;flex-direction:column;border-top:1px solid var(--line)}.post-card{display:grid;grid-template-columns:64px 1fr auto;align-items:baseline;gap:22px;padding:22px 8px;border-bottom:1px solid var(--line);transition:background .16s,padding .16s}.post-card:hover{background:var(--card)}.post-card .idx{font-family:var(--mono);font-size:26px;font-weight:500;line-height:1;color:var(--faint);letter-spacing:-.02em;transition:color .16s}.post-card:hover .idx{color:var(--green)}.post-card .body{min-width:0}.post-card h3{margin:0;font-size:19px;line-height:1.4;font-weight:700;letter-spacing:-.02em}.post-card .summary{margin:7px 0 0;font-size:14.5px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card .tags{margin-top:11px}.post-card .card-date{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--faint);white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--green-2);background:var(--green-soft);padding:2px 8px;border-radius:2px}.policy-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px 24px;background:var(--card);border:1px solid var(--line-strong);border-left:4px solid var(--seal);border-radius:var(--radius);transition:transform .16s,border-color .16s}.policy-banner:hover{transform:translateY(-2px);border-color:var(--seal)}.policy-banner .pb-kicker{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--seal)}.policy-banner .pb-title{margin-top:6px;font-size:20px;font-weight:800;letter-spacing:-.025em;color:var(--ink)}.policy-banner .pb-desc{margin-top:5px;font-size:14.5px;color:var(--muted)}.policy-banner .pb-go{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--seal);white-space:nowrap}.article{padding:46px 0 96px}.article-head{max-width:var(--readw);margin:0 auto 40px}.back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.back-link:hover{color:var(--seal)}.crumb{margin-top:16px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.04em;color:var(--muted);display:flex;align-items:center;gap:9px}.crumb a{color:var(--green)}.crumb-sep{color:var(--faint)}.article-head h1{margin:15px 0 0;font-size:clamp(28px,4.4vw,43px);line-height:1.22;font-weight:800;letter-spacing:-.035em}.article-head .meta{margin-top:16px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--faint)}.prose{max-width:var(--readw);margin:0 auto;font-size:17px;line-height:1.85}.prose h2{margin:2.6em 0 .8em;padding-top:.7em;border-top:2px solid var(--ink);font-size:25px;font-weight:800;letter-spacing:-.025em;scroll-margin-top:82px}.prose h3{margin:2em 0 .6em;font-size:19px;font-weight:700;letter-spacing:-.02em}.prose h4{margin:1.6em 0 .5em;font-size:16px;font-weight:700;color:var(--green-2)}.prose p{margin:1.1em 0}.prose ul,.prose ol{margin:1.1em 0;padding-left:1.3em}.prose li{margin:.4em 0}.prose li::marker{color:var(--green)}.prose ol li::marker{font-family:var(--mono);font-size:.9em;color:var(--green)}.prose strong{font-weight:700}.prose a{color:var(--green);font-weight:500;border-bottom:1px solid var(--line-strong)}.prose a:hover{border-bottom-color:var(--green)}.prose blockquote{margin:1.6em 0;padding:16px 20px;background:var(--panel);border-left:3px solid var(--green);border-radius:0 var(--radius) var(--radius) 0}.prose blockquote p{margin:.4em 0}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose blockquote strong:first-child{color:var(--green-2)}.prose pre{margin:1.6em 0;padding:18px 20px;background:var(--panel)!important;border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.65}.prose :not(pre)>code{font-family:var(--mono);font-size:.85em;background:var(--green-soft);color:var(--green-2);padding:1px 6px;border-radius:3px}.prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15px}.prose th,.prose td{border:1px solid var(--line);padding:10px 14px;text-align:left}.prose th{background:var(--green-soft);color:var(--green-2);font-weight:700}.prose tr:nth-child(2n) td{background:var(--card)}.prose hr{margin:2.4em 0;border:none;border-top:1px solid var(--line)}.site-footer{border-top:1px solid var(--line);background:var(--panel);padding:38px 0;margin-top:40px}.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13.5px;color:var(--muted)}.site-footer .wrap>div:first-child{font-family:var(--mono);font-size:12px;letter-spacing:.04em}.site-footer .disclaimer{font-size:13px;color:var(--faint);max-width:52ch}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.hero .wrap>*{animation:riseIn .6s cubic-bezier(.2,.7,.2,1) both}.hero .eyebrow{animation-delay:.02s}.hero h1{animation-delay:.08s}.hero p{animation-delay:.16s}.hero .actions{animation-delay:.24s}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:640px){.wrap{padding:0 18px}.hero{padding:60px 0 44px}.book-grid{grid-template-columns:1fr}.post-card{grid-template-columns:44px 1fr;gap:16px}.post-card .card-date{display:none}.post-card .idx{font-size:22px}.prose{font-size:16px}.nav{gap:16px}}
