.article-page{max-width:760px;padding:var(--s-10) var(--s-5) var(--s-16);font-family:var(--font-kr);color:var(--fg-1);margin:0 auto}@media (min-width:1024px){.article-page{padding:var(--s-16) var(--s-8) var(--s-20)}}.article-header{margin-bottom:var(--s-10)}.article-header .kicker-row{gap:var(--s-2);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.article-header .kicker-row a,.article-header .kicker-row span.kicker-pill{border-radius:var(--r-pill);font-family:var(--font-kr);color:var(--c-primary-700);transition:background .2s var(--ease), color .2s var(--ease);background:#21bddb1a;border:1px solid #21bddb33;align-items:center;padding:5px 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.article-header .kicker-row a:hover{background:#21bddb2e}.article-header .kicker-row a.muted,.article-header .kicker-row span.muted{background:var(--bg-2);color:var(--fg-2);border-color:var(--bd-1)}.article-header .kicker-row a.muted:hover{color:var(--c-primary-700);background:#21bddb1a}.article-header h1{font-family:var(--font-kr);letter-spacing:-.02em;color:var(--fg-1);margin:0 0 var(--s-6);word-break:keep-all;font-size:clamp(26px,4.5vw,38px);font-weight:800;line-height:1.28}.article-header .meta{align-items:center;gap:var(--s-4);font-family:var(--font-ui);color:var(--fg-2);padding-bottom:var(--s-5);border-bottom:1px solid var(--bd-1);flex-wrap:wrap;font-size:13px;display:flex}.article-header .meta .item{align-items:center;gap:6px;display:inline-flex}.article-header .tags{gap:var(--s-2);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.article-header .tags a,.article-header .tags span{border-radius:var(--r-pill);font-family:var(--font-kr);background:var(--bg-2);color:var(--fg-2);border:1px solid var(--bd-1);transition:background .2s var(--ease), color .2s var(--ease);align-items:center;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.article-header .tags a:hover{color:var(--c-primary-700);background:#21bddb1a;border-color:#21bddb40}.article-thumb{aspect-ratio:16/9;border-radius:var(--r-16);margin-bottom:var(--s-10);box-shadow:var(--sh-12);background:var(--bg-2);position:relative;overflow:hidden}.article-thumb img{object-fit:cover;width:100%;height:100%}.markdown-body{font-family:var(--font-kr);color:var(--fg-1);margin-bottom:var(--s-16);word-break:keep-all;font-size:17px;line-height:1.85}@media (min-width:1024px){.markdown-body{font-size:18px}}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:var(--font-kr);letter-spacing:-.015em;color:var(--fg-1);word-break:keep-all;font-weight:800;line-height:1.4}.markdown-body h1{margin:var(--s-12) 0 var(--s-5);font-size:28px}.markdown-body h2{margin:var(--s-12) 0 var(--s-5);padding-bottom:var(--s-2);border-bottom:2px solid var(--c-primary-500);font-size:24px}.markdown-body h3{margin:var(--s-8) 0 var(--s-3);font-size:20px}.markdown-body h4{margin:var(--s-6) 0 var(--s-2);font-size:17px}.markdown-body p{margin:0 0 var(--s-5);color:var(--fg-1)}.markdown-body ul,.markdown-body ol{margin:0 0 var(--s-5);padding-left:1.4em}.markdown-body ul{list-style:outside}.markdown-body ol{list-style:decimal}.markdown-body li{margin-bottom:var(--s-2);line-height:1.85}.markdown-body li::marker{color:var(--c-primary-500)}.markdown-body blockquote{margin:var(--s-6) 0;padding:var(--s-3) var(--s-5);border-left:3px solid var(--c-primary-500);background:var(--bg-1);border-radius:0 var(--r-8) var(--r-8) 0;color:var(--fg-2);font-style:normal}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body code{background:var(--bg-2);border-radius:var(--r-4);color:var(--fg-1);padding:2px 6px;font-family:SF Mono,Consolas,Menlo,monospace;font-size:.92em}.markdown-body pre{background:var(--bg-1);border:1px solid var(--bd-1);border-radius:var(--r-8);padding:var(--s-4);margin:var(--s-6) 0;box-shadow:var(--sh-4);overflow-x:auto}.markdown-body pre code{background:0 0;border-radius:0;padding:0;font-size:14px;line-height:1.7}.markdown-body a{color:var(--c-primary-700);transition:border-color .15s var(--ease), color .15s var(--ease);border-bottom:1px solid #21bddb4d;text-decoration:none}.markdown-body a:hover{color:var(--c-primary-500);border-bottom-color:var(--c-primary-500)}.markdown-body table{border-collapse:collapse;width:100%;margin:var(--s-6) 0;font-size:15px}.markdown-body th,.markdown-body td{padding:var(--s-3) var(--s-4);text-align:left;border-bottom:1px solid var(--bd-1)}.markdown-body th{background:var(--bg-1);color:var(--fg-1);border-bottom:2px solid var(--bd-2);font-weight:700}.markdown-body tr:nth-child(2n) td{background:var(--bg-1)}.markdown-body img{border-radius:var(--r-8);max-width:100%;height:auto;box-shadow:var(--sh-4);margin:var(--s-8) auto;display:block}.markdown-body hr{border:0;border-top:1px solid var(--bd-1);margin:var(--s-10) 0}.markdown-body strong{color:var(--fg-1);font-weight:800}.cta-block{background:var(--grad-brand-soft);border-radius:var(--r-16);padding:var(--s-10) var(--s-6);text-align:center;margin-bottom:var(--s-16);border:1px solid #21bddb33;position:relative;overflow:hidden}@media (min-width:1024px){.cta-block{padding:var(--s-12) var(--s-10)}}.cta-block .kicker{margin-bottom:var(--s-3);color:var(--c-primary-700);justify-content:center}.cta-block .kicker:before{background:var(--c-primary-500)}.cta-block h2{font-family:var(--font-kr);color:var(--fg-1);margin:0 0 var(--s-3);word-break:keep-all;letter-spacing:-.015em;font-size:22px;font-weight:800;line-height:1.4}@media (min-width:1024px){.cta-block h2{font-size:26px}}.cta-block p{color:var(--fg-2);margin:0 0 var(--s-6);word-break:keep-all;font-size:14px;line-height:1.7}.cta-block .actions{gap:var(--s-2);flex-direction:column;justify-content:center;align-items:center;display:flex}@media (min-width:640px){.cta-block .actions{flex-direction:row}}.cta-block .actions .btn{min-width:180px}.related-section h2{font-family:var(--font-kr);letter-spacing:-.015em;color:var(--fg-1);margin:0 0 var(--s-6);font-size:20px;font-weight:800}.related-section .related-grid{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:1024px){.related-section .related-grid{gap:var(--s-6)}}
