:root{color-scheme:light;--bg:#ffffff;--ink:#15191e;--muted:#5d6975;--line:#e6e9ed;--accent:#1f6feb;--soft:#eef4fe}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Noto Sans KR,system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.8;font-size:17px;-webkit-text-size-adjust:100%;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.col{max-width:720px;margin:0 auto;padding:0 20px}h1,h2,h3{font-family:"Noto Serif KR",Georgia,serif;line-height:1.3;margin:0}.avatar{width:84px;height:84px;border-radius:50%;margin:0 auto 20px;background:#fff url(/avatar.jpg) center/cover no-repeat;border:1px solid var(--line)}.mast{text-align:center;padding:48px 0 32px}.mast h1{font-size:clamp(36px,7vw,56px);font-weight:900;letter-spacing:-.02em}.mast h1 a{color:var(--ink)}.mast h1 a:hover{text-decoration:none}.mast .en{margin:6px 0 0;font-size:19px;color:var(--muted)}.tabs{margin-top:24px;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 8px}.tabs a{color:var(--muted);font-size:16px;font-weight:500;padding:4px 10px;border-bottom:2px solid transparent}.tabs a:hover{color:var(--ink);text-decoration:none}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.mast.compact{padding:28px 0 20px}.mast.compact .avatar{width:52px;height:52px;margin-bottom:12px}.mast.compact h1{font-size:clamp(26px,5vw,32px)}.mast.compact .en{font-size:16px}.mast.compact .tabs{margin-top:16px}.posts{border-top:1px solid var(--line)}.post{padding:30px 0;border-bottom:1px solid var(--line)}.post h2{font-size:24px;font-weight:700}.post h2 a{color:var(--ink)}.post h2 a:hover{color:var(--accent);text-decoration:none}.post p{margin:8px 0 10px;color:var(--muted);font-size:16.5px}.date{font-size:14px;color:var(--muted)}.cat{color:var(--accent);font-weight:500}.label{font-size:18px;margin:40px 0 14px}.soon{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.soon li{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:16px}.empty{padding:30px 0;color:var(--muted);border-top:1px solid var(--line)}.pagehead{padding:36px 0 28px}.pagehead h1{font-size:clamp(32px,6vw,44px);font-weight:900;letter-spacing:-.02em}.pagehead p{margin:12px 0 0;color:var(--muted);font-size:18px}.article{padding:44px 0 24px}.back{font-size:15px;font-weight:500}.article header{margin:28px 0 36px}.article .kicker{font-size:14.5px;color:var(--muted)}.article h1{font-size:clamp(32px,6vw,46px);font-weight:900;letter-spacing:-.02em;margin:10px 0 0}.article .subtitle{margin:12px 0 0;font-size:19px;color:var(--muted);line-height:1.6}.byline{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:15px;color:var(--muted)}.byline .avatar{margin:0;width:40px;height:40px}.byline strong{color:var(--ink);display:block;line-height:1.3}.nav-posts{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:15px}.body p{margin:0 0 1.5em;font-size:18px;line-height:1.95}.body h2{font-size:27px;font-weight:900;margin:2.4em 0 .7em;letter-spacing:-.01em}.body h2:first-child{margin-top:0}.body h3{font-size:20px;font-weight:700;margin:1.9em 0 .5em}.body ul,.body ol{margin:0 0 1.5em;padding-left:1.3em;font-size:18px;line-height:1.9}.body li{margin-bottom:.35em}.body hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}.body .lead{font-family:"Noto Serif KR",serif;font-weight:700;font-size:24px;line-height:1.55;margin-bottom:1.1em}.body blockquote{margin:2em 0;padding:4px 0 4px 20px;border-left:4px solid var(--accent)}.body blockquote p{margin:0;font-family:"Noto Serif KR",serif;font-weight:700;font-size:21px;line-height:1.6}.body .note{margin:2.2em 0 0;padding:16px 20px;background:var(--soft);border-radius:8px;font-size:15.5px;line-height:1.8;color:var(--muted)}.body .note strong{display:block;color:var(--ink);margin-bottom:2px}.body table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:15.5px;line-height:1.6}.body th,.body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.body th{background:var(--soft);font-weight:700;white-space:nowrap}.body td:first-child{font-weight:700;white-space:nowrap}.body ol.refs{font-size:15.5px;color:var(--muted);line-height:1.8}figure.fig{margin:2em 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.fig figcaption{margin-top:14px;font-size:14px;color:var(--muted);line-height:1.6}.fig .ft{font-family:"Noto Serif KR",serif;font-weight:700;font-size:16px;margin-bottom:12px}.fig svg{width:100%;height:auto;display:block}.fig svg text{font-family:Noto Sans KR,sans-serif}.flow{display:flex;flex-wrap:wrap;gap:6px 0;align-items:center}.flow .st{background:#fff;border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:14px;line-height:1.45;font-weight:500}.flow .st.em{border-color:var(--accent);background:var(--soft)}.flow .ar{color:var(--accent);padding:0 7px;font-weight:700}.frow{padding:14px 0;border-top:1px solid var(--line)}.ft+.frow{border-top:0;padding-top:0}.frow .fh{font-family:"Noto Serif KR",serif;font-weight:700;font-size:16px}.frow .fs{font-size:14px;color:var(--muted);line-height:1.6;margin:1px 0 8px}.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.cardgrid>div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:14.5px;line-height:1.6;color:var(--muted)}.cardgrid b{display:block;font-family:"Noto Serif KR",serif;font-size:16px;margin-bottom:2px;color:var(--ink)}.mpsp{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap}.mpsp .b{flex:1 1 130px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;padding:10px 12px;font-size:14px;line-height:1.55;color:var(--muted)}.mpsp .b b{display:block;font-size:15.5px;color:var(--ink)}.mpsp .a{align-self:center;font-size:0;color:var(--accent);font-weight:700}.mpsp .a:before{content:"→";font-size:18px}footer{margin-top:72px;border-top:1px solid var(--line);padding:28px 0 40px;text-align:center;font-size:14px;color:var(--muted)}@media(max-width:560px){body{font-size:16px}.post h2{font-size:21px}.body p{font-size:17px}.body .lead{font-size:21px}.body h2{font-size:23px}.body ul,.body ol{font-size:17px}figure.fig{padding:14px}.mpsp .a{flex-basis:100%;text-align:center}.mpsp .a:before{content:"↓"}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.body .contact{margin:1.4em 0 0;padding-top:1.2em;border-top:1px solid var(--line);font-size:15.5px;line-height:1.8;color:var(--muted)}.body .contact strong{display:block;color:var(--ink);margin-bottom:2px}.body .contact-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:8px}.body a.mailbtn{display:inline-block;padding:8px 16px;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:500;font-size:15px;text-decoration:none;line-height:1.5}.body a.mailbtn:hover{background:var(--soft)}.body .mailtxt{font-size:14px}
