:root{color-scheme:light dark;--bg:#faf9f6;--text:#292929;--muted:#696963;--line:#deddd6;--accent:#314d42;background:var(--bg);color:var(--text);font-family:Georgia,Gowun Batang,serif;font-size:16px;line-height:1.85}*{box-sizing:border-box}body{max-width:780px;margin:0 auto;padding:0 30px}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:65px 0 32px;display:flex}.brand{flex:none;display:block}.header-logo{width:144px;max-width:100%;height:auto;display:block}nav{flex-wrap:wrap;gap:24px;font-size:.85rem;display:flex}nav a{color:var(--muted);text-decoration:none}nav a[aria-current]{color:var(--text);text-decoration:underline}main{min-height:60vh;padding:55px 0 70px}h1{letter-spacing:-.02em;margin:0 0 24px;font-size:1.75rem;line-height:1.5}h2{margin:42px 0 14px;font-size:1rem;font-weight:700}.eyebrow{color:var(--muted);letter-spacing:.08em;margin:0 0 18px;font-size:.75rem}p{margin:0 0 20px}.muted,time{color:var(--muted)}ul{padding-left:1.3rem}li{margin:10px 0}.entries{padding:0;list-style:none}.entries li{border-bottom:1px solid var(--line);padding:16px 0}.entries p{color:var(--muted);margin:5px 0 0;font-size:.9rem}footer{border-top:1px solid var(--line);color:var(--muted);padding:22px 0 45px;font-size:.7rem}.skip{position:absolute;left:-10000px}.skip:focus{background:var(--bg);padding:8px;top:12px;left:20px}article img{max-width:100%;height:auto}pre{border:1px solid var(--line);padding:16px;overflow:auto}blockquote{border-left:2px solid var(--line);margin-left:0;padding-left:20px}time{font-size:.8rem}@media (prefers-color-scheme:dark){:root{--bg:#171817;--text:#e3e3de;--muted:#a1a29b;--line:#353732;--accent:#c0d3c7}}@media (width<=480px){body{padding:0 22px}header{gap:16px;padding-top:36px}nav{gap:15px}h1{font-size:1.45rem}main{padding-top:40px}.header-logo{width:128px}}.header-links{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.languages{color:var(--muted);gap:10px;font-size:.7rem}@media (width<=480px){.header-links{align-items:flex-start;gap:14px;width:100%}header{row-gap:20px}}.projects-page>p{color:var(--muted)}.projects-page>ul{padding:0;list-style:none}.projects-page>ul>li{border-bottom:1px solid var(--line);padding:16px 0}.projects-page>ul>li p{color:var(--muted);margin:5px 0 0;font-size:.9rem}.projects-page>ul>li p:first-child{color:var(--text);font-size:1rem}@font-face{font-family:Ubuntu Mono;src:url(/fonts/ubuntu-mono/UbuntuMono-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Ubuntu Mono;src:url(/fonts/ubuntu-mono/UbuntuMono-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}pre,pre code{font-family:Ubuntu Mono,ui-monospace,Consolas,monospace;font-size:1rem;line-height:1.6}@font-face{font-family:Gowun Batang;src:url(/fonts/gowun-batang/GowunBatang-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Gowun Batang;src:url(/fonts/gowun-batang/GowunBatang-Bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}.project-tag{border:1px solid var(--line);color:var(--muted);vertical-align:baseline;border-radius:3px;margin-left:.65rem;padding:.1em .55em;font-size:.75rem;text-decoration:none;display:inline-block}.project-tag:hover{border-color:var(--accent)}
