@font-face{font-family:Wanted Sans;src:url(/fonts/WantedSansVariable.woff2) format("woff2-variations");font-weight:400 1000;font-display:swap}:root{--bg:#fafaf9;--surface:#ffffff;--line:#e7e5e4;--line2:#d6d3d1;--text:#1c1917;--text2:#57534e;--text3:#a8a29e;--accent:#4f46e5;--accent2:#4338ca;--accent-soft:#eef2ff;--mono:#78716c}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Wanted Sans,Pretendard,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16.5px;line-height:1.78}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.hd{border-bottom:1px solid var(--line);background:#fafaf9db;backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.hd-in{max-width:900px;margin:0 auto;padding:15px 22px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between}.brand{font-size:18.5px;font-weight:800;color:var(--text);letter-spacing:-.01em}.brand:hover{text-decoration:none;color:var(--accent2)}.brand .dot{color:var(--accent)}.nav{display:flex;gap:18px;flex-wrap:wrap}.nav a{color:var(--text2);font-size:14.5px;padding:4px 1px;position:relative}.nav a:hover{color:var(--accent2);text-decoration:none}.nav a.on{color:var(--accent2);font-weight:700}.nav a.on:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--accent2);border-radius:2px}.hd-top{margin:0 auto;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:13.5px;font-weight:700;line-height:1;color:var(--text2);background:none;border:0;border-radius:9px;padding:6px 12px;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s}.hd-top.show{opacity:1;visibility:visible}.hd-top:hover{color:var(--accent2)}.hd-top:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hd-top .lbl{position:relative;display:inline-block;padding-top:8px}.hd-top .lbl i{position:absolute;left:12%;right:12%;top:0;height:2px;border-radius:2px;background:currentColor;opacity:.5}main{max-width:900px;margin:0 auto;padding:34px 22px 70px;display:block}h1{font-size:31px;line-height:1.32;letter-spacing:-.02em;margin:0 0 10px}h2{font-size:20px;margin:34px 0 12px}h3{font-size:16.5px;margin:22px 0 8px}.lede{color:var(--text2);font-size:16.5px;margin:0 0 26px}.kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.list{list-style:none;padding:0;margin:0}.list li{padding:18px 0;border-bottom:1px solid var(--line)}.list li:first-child{padding-top:6px}.list .t{display:block;font-size:19.5px;font-weight:700;color:var(--text);letter-spacing:-.01em;padding:4px 0 6px}.list .t:hover{color:var(--accent2);text-decoration:none}.list .m{color:var(--text3);font-size:13px;margin:0}.list .m .tag{color:var(--accent2);font-weight:600}.list .s{color:var(--text2);font-size:15px;margin:8px 0 0}.list .go{margin:9px 0 0;font-size:14px}.list .pin{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--accent2);background:var(--accent-soft);border-radius:5px;padding:2px 7px;margin-bottom:7px}article{max-width:760px}article h1{margin-bottom:14px}.meta{color:var(--text3);font-size:13.5px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:28px}.meta .tag{color:var(--accent2);font-weight:600}article p{margin:0 0 17px}article ul,article ol{margin:0 0 17px;padding-left:22px}article li{margin-bottom:7px}article blockquote{margin:20px 0;padding:12px 18px;border-left:3px solid var(--line2);background:#f5f5f4;color:var(--text2);border-radius:0 8px 8px 0}article code{background:#f5f5f4;padding:2px 6px;border-radius:5px;font-size:.9em}article hr{border:0;border-top:1px solid var(--line);margin:34px 0}article strong{font-weight:700}.feat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin:0 0 30px;border-left:3px solid var(--accent)}.feat .kicker{margin-bottom:12px}.feat h2{margin:0 0 10px;font-size:22px}.feat p{color:var(--text2);font-size:15px;margin:0 0 16px}.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;font-size:14.5px;padding:10px 20px;border-radius:9px;transition:.15s}.btn:hover{background:var(--accent2);text-decoration:none;transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--accent2);border:1px solid var(--line2);margin-left:8px}.btn.ghost:hover{background:var(--accent-soft);border-color:var(--accent)}.tagbox{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 28px}.tagbox a{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;color:var(--text2)}.tagbox a:hover{border-color:var(--accent);color:var(--accent2);text-decoration:none}.tagbox a .n{color:var(--text3);font-size:12.5px;margin-left:5px}.crumb{font-size:13px;color:var(--text3);margin:0 0 18px;display:flex;gap:7px;align-items:center}.crumb a{color:var(--text2)}.crumb a:hover{color:var(--accent2)}.crumb .sep{color:var(--line2)}.crumb .here{color:var(--text3)}.back{margin:30px 0 0;font-size:14.5px}.related{max-width:760px;margin:52px 0 0;padding-top:26px;border-top:1px solid var(--line)}.related h2{margin:0 0 6px;font-size:18px}.related .list li:first-child{padding-top:14px}.related .all{margin:20px 0 0;font-size:14.5px}.all{margin:26px 0 0;font-size:14.5px}.meta .tag+.tag:before,.list .m .tag+.tag:before{content:"·";color:var(--text3);font-weight:400;margin:0 7px}.meta .tag,.list .m .tag{color:var(--accent2);font-weight:600}.meta .tag:hover,.list .m .tag:hover{text-decoration:underline}section h2 a{color:inherit}section h2 a:hover{color:var(--accent2);text-decoration:none}.ft{border-top:1px solid var(--line);margin-top:56px}.ft-in{max-width:900px;margin:0 auto;padding:24px 22px 46px;color:var(--text3);font-size:13px;line-height:1.7}@media(max-width:600px){body{font-size:16px}.hd-in{padding:12px 16px;gap:10px;flex-wrap:nowrap}.brand{font-size:16.5px;white-space:nowrap}.hd-top{font-size:12.5px;padding:5px 8px;flex-shrink:0}.nav{gap:12px;width:auto;flex-wrap:nowrap}.nav a{font-size:13.5px;padding:5px 1px;white-space:nowrap}main{padding:26px 16px 56px}h1{font-size:25px}.lede{font-size:15.5px}.list li{padding:16px 0}.list .t{font-size:18px;padding:7px 0 8px}.feat{border:none;border-left:none!important;border-radius:14px;padding:20px 17px}.feat h2{font-size:20px}.btn.ghost{margin-left:0;margin-top:8px}article blockquote{border-left:none;border-radius:10px}.ft-in{padding:20px 16px 40px}}.toc-wrap{background:#fafaf9;border-left:3px solid var(--accent);padding:14px 20px;margin:6px 0 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.toc-wrap ol{margin:0;padding-left:1.5em;list-style:none;counter-reset:c}.toc-wrap li{counter-increment:c}.toc-wrap a{text-decoration:none;color:var(--text2);font-size:15px;font-weight:500;display:inline-flex;gap:8px;padding:4px 0;align-items:flex-start}.toc-wrap a:hover{color:var(--accent)}.toc-wrap a:before{content:counter(c);width:1.4em;flex-shrink:0;color:var(--accent2);text-align:right;opacity:.65}.toc{scroll-margin-top:72px}.fabs{position:fixed;right:20px;bottom:22px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:9px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.fabs.show{opacity:1;visibility:visible;transform:none}.fab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;font-family:inherit;font-size:13.5px;font-weight:700;line-height:1;color:var(--text2);background:var(--surface);border:1px solid var(--line2);border-radius:999px;box-shadow:0 8px 22px #1c191721;cursor:pointer}.fab:hover{color:var(--accent2);border-color:var(--accent)}.fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fab-icon{width:42px;height:42px;min-height:42px;padding:0}.fab-icon svg{display:block;width:19px;height:19px}@media(max-width:360px){.brand{font-size:15.5px}.nav{gap:9px}.nav a{font-size:13px}.hd-top{font-size:12px;padding:4px 6px}}@media(max-width:600px){.fabs{right:13px;bottom:15px;gap:8px}.fab{min-height:40px;padding:0 15px;font-size:13px}.fab-icon{width:40px;height:40px;min-height:40px}}
