:root{--background:#f7f7f7;--surface:#fff;--text:#202621;--muted:#626962;--line:#dfe3df;--brand:#05d686;--brand-ink:#086342;--brand-soft:#e2f8ef;color:var(--text);background:var(--background);font-synthesis:none;font-family:Noto Sans KR,sans-serif}*{box-sizing:border-box}body{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.85}a{color:inherit;text-underline-offset:.25em}button,select,input{font:inherit}a,button,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--brand-ink);outline-offset:5px}::selection{background:var(--brand);color:#000}h1,h2,h3,h4,p,ul,ol,dl,figure{margin-top:0}h1,h2,h3,h4{letter-spacing:-.035em;word-break:keep-all;line-height:1.4}h1{margin-bottom:18px;font-size:clamp(2rem,5vw,2.75rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}img{max-width:100%;height:auto;display:block}svg{flex-shrink:0}.skip-link{z-index:9;background:#fff;padding:8px 16px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}.site-header,.site-main,.site-footer{width:min(1040px,100% - 64px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:42px;min-height:96px;display:flex}.site-name{white-space:nowrap;letter-spacing:-.04em;font-size:15px;font-weight:700;text-decoration:none}.site-name span{color:var(--brand-ink)}.site-header nav{gap:28px;margin-left:auto;display:flex}.site-header nav a{color:var(--muted);padding:14px 0;font-size:14px;text-decoration:none;position:relative}.site-header nav a[aria-current]{color:var(--text);font-weight:700}.site-header nav a[aria-current]:after{content:"";background:var(--brand);height:3px;position:absolute;bottom:3px;left:0;right:0}.theme-control{align-items:center;gap:7px;font-size:12px;display:flex}.theme-control label{color:var(--muted)}.theme-control select{color:var(--text);background:0 0;border:0;max-width:96px;padding:6px 2px}.theme-dot{background:var(--brand);border:1px solid #0001;border-radius:100%;width:9px;height:9px;display:inline-block}.site-main{min-height:calc(100svh - 196px);padding:64px 0 96px}.site-main:focus{outline:none}.site-footer{border-top:1px solid var(--line);min-height:100px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;font-size:12px;display:flex}.page-heading{margin-bottom:48px}.page-heading-with-action{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.eyebrow{letter-spacing:.13em;color:var(--muted);margin-bottom:18px;font-size:11px;font-weight:700}.accent{color:var(--brand-ink)}.lead{max-width:680px;color:var(--muted);margin-bottom:0;font-size:15px}.button,.button-secondary{background:var(--brand);color:#000;white-space:nowrap;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:9px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.button-secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.download-pending,.button[aria-disabled],.button-secondary[aria-disabled]{color:var(--muted);border:1px solid var(--line);cursor:default;background:0 0}.empty-state{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:64px 28px}.empty-state h2{margin-bottom:12px;font-size:18px}.empty-state p{color:var(--muted);margin-bottom:0;font-size:14px}.section-header,.entry-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;display:flex}.text-link{color:var(--brand-ink);font-size:14px}.category-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-bottom:28px;display:flex}.category-nav a{border:1px solid var(--line);border-radius:4px;padding:6px 13px;font-size:13px;text-decoration:none}.category-nav a[aria-current]{background:var(--brand-soft);color:var(--brand-ink);border-color:#0000}.writing-list{padding:0;list-style:none}.writing-item{border-bottom:1px solid var(--line);grid-template-columns:112px minmax(0,1fr) 32px;align-items:baseline;gap:24px;padding:28px 0;display:grid}.writing-date,.writing-category{color:var(--muted);font-size:12px}.writing-category{color:var(--brand-ink);text-decoration:none}.writing-arrow{text-align:right;font-size:22px;text-decoration:none}.writing-item h2{margin:10px 0;font-size:21px}.writing-item h2 a{text-decoration:none}.writing-item p{color:var(--muted);margin-bottom:12px}.article-meta,.project-meta,.entry-period{color:var(--muted);flex-wrap:wrap;gap:8px 20px;font-size:12px;display:flex}.tag-list,.contact-list,.project-links{flex-wrap:wrap;gap:8px 14px;padding:0;list-style:none;display:flex}.tag-list li{background:var(--brand-soft);color:var(--brand-ink);border-radius:3px;padding:2px 9px;font-size:12px}.contact-list,.project-links{font-size:13px}.project-list{padding:0;list-style:none}.project-card,.portfolio-project{border-top:1px solid var(--line);padding:32px 0}.project-card h2 a,.portfolio-project h2 a{text-decoration:none}.project-cover,.article-cover{border:1px solid var(--line);width:100%;margin-block:24px}.portfolio-layout{--project-scroll-offset:144px}.portfolio-list{min-width:0}.portfolio-toc{z-index:1;border:1px solid var(--line);background:var(--background);border-radius:4px;margin-bottom:24px;padding:12px;position:sticky;top:16px}.portfolio-toc-title{color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:700}.portfolio-toc ol{gap:4px;max-height:calc(100svh - 100px);margin:0;padding:4px;list-style:none;display:flex;overflow:auto}.portfolio-toc li{flex-shrink:0}.portfolio-toc a{color:var(--muted);border-left:2px solid #0000;border-radius:3px;align-items:baseline;gap:10px;padding:9px 12px;font-size:13px;line-height:1.6;text-decoration:none;display:flex}.portfolio-toc a:hover{color:var(--text);background:var(--surface)}.portfolio-toc a[aria-current=location]{border-left-color:var(--brand-ink);background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.portfolio-toc a:focus-visible{outline-offset:0}.portfolio-toc-index{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.portfolio-entry{border-top:1px solid var(--line);scroll-margin-top:var(--project-scroll-offset,32px);padding:36px 0}.portfolio-entry-header{align-items:baseline;gap:20px;margin-bottom:20px;display:flex}.portfolio-entry-header h2{margin-bottom:12px}.project-index{color:var(--brand-ink);flex-shrink:0;font-size:12px}.portfolio-cover{border:1px solid var(--line);width:min(100%,760px);margin-block:24px}.portfolio-entry .project-meta{margin-bottom:14px}.portfolio-entry .project-links{margin-top:24px;margin-bottom:0}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:28px;font-size:13px;display:flex}.article-heading{max-width:760px;margin-bottom:40px}.article-heading .eyebrow{display:inline-block}.article-heading .article-meta{margin-top:20px}.article-footer{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.resume-profile{border-top:1px solid var(--line);padding:32px 0}.resume-profile h2{margin-bottom:10px;font-size:28px}.resume-headline{font-weight:700}.resume-summary{white-space:pre-line;max-width:760px}.resume-section{border-top:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:36px;padding:32px 0;display:grid}.resume-section>h2{font-size:16px}.resume-entry+.resume-entry{margin-top:30px}.resume-entry h3{margin-bottom:7px}.resume-entry p{margin-bottom:8px}.skill-group+.skill-group{margin-top:20px}.detail-list{padding-left:1.2rem}.detail-list li+li{margin-top:7px}.resume-highlights .resume-highlights{margin-block:8px 0;padding-left:1.25rem}.highlight-label{font-weight:700}.prose{max-width:760px;font-size:15px;line-height:1.95}.prose h2{margin-top:44px;margin-bottom:18px}.prose h3{margin-top:30px}.prose p,.prose ul,.prose ol{margin-bottom:22px}.prose a{color:var(--brand-ink)}.prose blockquote{border-left:3px solid var(--brand);color:var(--muted);margin:24px 0;padding:8px 20px}.prose blockquote p{margin-bottom:0}.prose pre{border-radius:4px;max-width:100%;padding:18px;font-size:13px;overflow:auto}.prose :not(pre)>code{background:#e9ece9;padding:2px 4px;font-size:.9em}.prose table{border-collapse:collapse;max-width:100%;margin-block:24px;font-size:13px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:10px 14px}.prose hr{border:0;border-top:1px solid var(--line);margin-block:32px}.page-actions{margin-top:48px}@media (width>=1104px){.portfolio-layout{--project-scroll-offset:32px;grid-template-columns:760px minmax(0,1fr);gap:40px;display:grid}.portfolio-list{grid-area:1/1}.portfolio-toc{border:0;border-left:1px solid var(--line);border-radius:0;grid-area:1/2;align-self:start;margin:0;padding:24px 0 0 16px;top:32px}.portfolio-toc-title{margin-left:16px}.portfolio-toc ol{max-height:calc(100svh - 120px);display:block}.portfolio-toc li+li{margin-top:4px}}@media print{.portfolio-toc{display:none}.portfolio-layout{display:block}}@media (width<=700px){.site-header,.site-main,.site-footer{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:12px;padding-top:22px;padding-bottom:12px}.site-header nav{order:3;gap:28px;width:100%;margin-left:0}.theme-control{margin-left:auto}.site-main{padding-top:36px;padding-bottom:64px}.page-heading-with-action{flex-direction:column;align-items:flex-start;gap:22px}.page-heading{margin-bottom:32px}.empty-state{padding:48px 12px}.resume-section{grid-template-columns:minmax(0,1fr);gap:14px}.writing-item{grid-template-columns:minmax(0,1fr) 24px;gap:8px 14px}.writing-date{grid-column:1/-1}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding-block:24px}}@media (prefers-reduced-motion:no-preference){a,select{transition:color .15s,background-color .15s}}
