@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css";
.sg-root{--primary:#00c03d;--primary-deep:#008c2d;--primary-strong:#22c55e;--primary-pale:#f0fff5;--primary-tint:#00c03d14;--ink:#111110;--body:#555550;--mute:#999990;--line:#e8e8e4;--canvas:#fff;--canvas-soft:#f7f7f6;--app-ink:#101311;--app-body:#6e7570;--app-mute:#96a099;--app-border:#dce0dd;--app-canvas-soft:#f7f8f7;--info:#6f91f7;--info-pale:#eef1fe;--warning:#ffdc85;--negative:#ef4444;--editor-text:#1c1c1c;--editor-divider:#dedede;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px;--shadow-sm:0 2px 16px #0000000f;--shadow-md:0 4px 20px #0000000f;--shadow-lg:0 8px 32px #0000001a;--shadow-float:0 32px 100px #0000001f;--gnb-h:60px;--topnav-h:49px;--shell-max:1440px;--shell-pad:28px;scroll-behavior:smooth;min-height:100vh;color:var(--app-ink);background:var(--app-canvas-soft);letter-spacing:0;margin:0;font-family:Pretendard Variable,Pretendard,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.65}.sg-root,.sg-root *{box-sizing:border-box}.sg-root a{color:inherit;text-decoration:none}.sg-root button{font:inherit;cursor:pointer}.sg-root svg{flex:none}.sg-root pre{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-canvas-soft);color:var(--app-ink);max-height:none;margin:20px 0 28px;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;overflow:auto}.sg-root pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.sg-root .docs{background:var(--canvas)}.sg-root .gnb{z-index:50;height:var(--gnb-h);padding-inline:max(var(--shell-pad),calc((100% - var(--shell-max))/2));border-bottom:1px solid var(--app-border);-webkit-backdrop-filter:blur(14px);background:#ffffffe6;align-items:center;gap:24px;display:flex;position:sticky;top:0}.sg-root .brand{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.sg-root .brand-logo{width:auto;height:20px;display:block}.sg-root .gnb-center{flex:auto;justify-content:center;min-width:0;display:flex}.sg-root .gnb-actions{flex:none;align-items:center;gap:10px;display:flex}.sg-root .gnb-cta{border-radius:var(--radius-md);background:var(--primary);color:#fff;white-space:nowrap;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.sg-root .gnb-cta:hover{background:var(--primary-deep)}.sg-root .gnb-cta svg{width:15px;height:15px}.sg-root .gnb-search{flex:auto;width:100%;max-width:520px;position:relative}.sg-root .search{display:block;position:relative}.sg-root .search-icon{width:16px;height:16px;color:var(--app-mute);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.sg-root .search-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.sg-root .gnb-search .search input{border:1px solid var(--app-border);border-radius:var(--radius-md);width:100%;height:40px;color:var(--app-ink);font:inherit;background:var(--app-canvas-soft);outline:none;padding:0 14px 0 38px;font-size:14px;line-height:22px;transition:border-color .15s,box-shadow .15s,background .15s}.sg-root .gnb-search .search input:hover{background:var(--canvas)}.sg-root .gnb-search .search input::placeholder{color:var(--app-mute)}.sg-root .gnb-search .search input:focus{border-color:var(--primary);background:var(--canvas);box-shadow:0 0 0 3px var(--primary-tint)}.sg-root .gnb-search .search-results{z-index:60;border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--canvas);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.sg-root .search-results a{border-bottom:1px solid var(--app-border);padding:11px 14px;display:block}.sg-root .search-results a:hover{background:var(--primary-pale)}.sg-root .search-results a:last-child{border-bottom:0}.sg-root .search-results strong{color:var(--app-ink);font-size:14px;font-weight:600;line-height:22px;display:block}.sg-root .search-results small{color:var(--app-body);font-size:13px;line-height:18px}.sg-root .topnav{top:var(--gnb-h);z-index:40;height:var(--topnav-h);border-bottom:1px solid var(--app-border);-webkit-backdrop-filter:blur(14px);scrollbar-width:none;background:#ffffffe6;position:sticky;overflow-x:auto}.sg-root .topnav::-webkit-scrollbar{display:none}.sg-root .topnav-inner{height:100%;padding-inline:max(calc(var(--shell-pad) - 8px),calc((100% - var(--shell-max))/2));align-items:stretch;gap:2px;min-width:max-content;display:flex}.sg-root .topnav-link{color:var(--app-body);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:14px;font-weight:500;line-height:1;transition:color .12s,border-color .12s;display:inline-flex}.sg-root .topnav-icon{width:17px;height:17px;color:var(--app-mute);transition:color .12s}.sg-root .topnav-link:hover{color:var(--app-ink)}.sg-root .topnav-link:hover .topnav-icon{color:var(--app-body)}.sg-root .topnav-link.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.sg-root .topnav-link.active .topnav-icon{color:var(--primary)}.sg-root .layout{max-width:var(--shell-max);background:var(--canvas);min-height:calc(100vh - var(--gnb-h) - var(--topnav-h));background-image:linear-gradient(var(--app-border),var(--app-border));background-position:264px 0;background-repeat:no-repeat;background-size:1px 100%;grid-template-columns:264px minmax(0,1fr) 240px;align-items:start;margin:0 auto;display:grid}.sg-root .sidebar{top:calc(var(--gnb-h) + var(--topnav-h));max-height:calc(100vh - var(--gnb-h) - var(--topnav-h));background:var(--canvas);scrollbar-width:thin;flex-direction:column;align-self:start;padding:22px 16px 28px;display:flex;position:sticky;overflow:auto}.sg-root .sidebar-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:0 8px;display:flex}.sg-root .sidebar-group{color:var(--app-mute);letter-spacing:.02em;align-items:center;gap:8px;font-size:12px;font-weight:600;line-height:16px;display:inline-flex}.sg-root .sidebar-group-icon{width:16px;height:16px;color:var(--primary)}.sg-root .sidebar-close{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--canvas);width:32px;height:32px;color:var(--app-body);justify-content:center;align-items:center;display:none}.sg-root .sidebar-close svg{width:18px;height:18px}.sg-root .nav{border-left:1px solid var(--app-border);align-content:start;gap:1px;margin-left:8px;display:grid}.sg-root .nav-link{color:var(--app-body);border-left:2px solid #0000;margin-left:-1px;padding:7px 12px 7px 16px;font-size:14px;font-weight:400;line-height:20px;transition:color .12s,border-color .12s;display:block;position:relative}.sg-root .nav-link:hover{color:var(--app-ink)}.sg-root .nav-link.active{color:var(--primary);border-left-color:var(--primary);font-weight:600}.sg-root .main{background:var(--canvas);min-width:0}.sg-root .sidebar-toggle{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--canvas);width:36px;height:36px;color:var(--app-ink);flex:none;justify-content:center;align-items:center;display:none}.sg-root .sidebar-toggle svg{width:18px;height:18px}.sg-root .sidebar-backdrop{display:none}.sg-root .site-footer{color:#e8e8e4;background:#1a1a1a;padding:64px 0 40px}.sg-root .footer-inner{max-width:var(--shell-max);padding:0 var(--shell-pad);margin:0 auto}.sg-root .footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;display:grid}.sg-root .footer-logo{align-items:center;gap:8px;margin-bottom:12px;display:inline-flex}.sg-root .footer-logo img{width:auto;height:20px;display:block}.sg-root .footer-tagline{color:#9ca3af;max-width:280px;font-size:14px;line-height:1.6}.sg-root .footer-corp{color:#6b7280;margin-top:16px;font-size:12px;line-height:1.8}.sg-root .footer-col h4{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:16px;font-size:13px;font-weight:600}.sg-root .footer-col a{color:#e8e8e4;padding:5px 0;font-size:14px;transition:color .15s;display:block}.sg-root .footer-col a:hover{color:var(--primary-strong)}.sg-root .footer-bottom{color:#6b7280;border-top:1px solid #ffffff14;padding-top:24px;font-size:13px}@media (max-width:900px){.sg-root .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.sg-root .footer-brand{grid-column:1/-1}}@media (max-width:560px){.sg-root .footer-grid{grid-template-columns:1fr}.sg-root .site-footer{padding:48px 0 32px}}.sg-root .article,.sg-root .category-page{max-width:768px;margin:0 auto;padding:40px 48px 96px}.sg-root .article-utility{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.sg-root .article-actions{flex:none;align-items:center;gap:8px;display:flex}.sg-root .util-btn{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--canvas);height:32px;color:var(--app-body);align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:18px;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.sg-root .util-btn svg{width:15px;height:15px}.sg-root .util-btn:hover{border-color:var(--primary);color:var(--primary-deep);background:var(--primary-pale)}.sg-root .util-btn.copied{border-color:var(--primary);color:var(--primary);background:var(--primary-pale)}.sg-root .util-nav{gap:6px;display:flex}.sg-root .util-icon{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--canvas);width:32px;height:32px;color:var(--app-body);justify-content:center;align-items:center;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.sg-root .util-icon svg{width:16px;height:16px}.sg-root .util-icon:hover{border-color:var(--primary);color:var(--primary-deep);background:var(--primary-pale)}.sg-root .util-icon.disabled{color:var(--app-mute);opacity:.4;pointer-events:none}.sg-root .breadcrumbs{color:var(--app-body);align-items:center;gap:8px;min-width:0;font-size:13px;line-height:18px;display:flex}.sg-root .breadcrumbs a{color:var(--app-body);font-weight:500}.sg-root .breadcrumbs a:hover{color:var(--primary-deep)}.sg-root .breadcrumbs span{color:var(--app-mute)}.sg-root .eyebrow{border-radius:var(--radius-md);background:var(--primary-pale);min-height:28px;color:var(--primary-deep);border:1px solid #0000;align-items:center;margin:0 0 12px;padding:5px 12px;font-size:13px;font-weight:600;line-height:18px;display:inline-flex}.sg-root h1{color:var(--app-ink);letter-spacing:-.01em;margin:0 0 16px;font-size:30px;font-weight:700;line-height:40px}.sg-root .article-body{color:var(--editor-text);font-size:16px;line-height:27px}.sg-root .article-body>:first-child{margin-top:0}.sg-root .shortcut{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-canvas-soft);justify-content:space-between;align-items:center;gap:16px;margin:0 0 28px;padding:16px;display:flex}.sg-root .shortcut span{color:var(--primary-deep);margin-bottom:2px;font-size:13px;font-weight:600;line-height:18px;display:block}.sg-root .shortcut strong{color:var(--app-ink);font-size:15px;font-weight:700;line-height:22px;display:block}.sg-root .shortcut p{color:var(--app-body);margin:2px 0 0;font-size:13px;line-height:18px}.sg-root .shortcut a{border-radius:var(--radius-pill);background:var(--primary);color:#fff;flex:none;justify-content:center;align-items:center;min-height:40px;padding:0 18px;font-size:14px;font-weight:600;line-height:20px;display:inline-flex}.sg-root .shortcut a:hover{background:var(--primary-deep)}.sg-root .article-body h1.doc-title{color:var(--app-ink);letter-spacing:-.01em;margin:0 0 18px;font-size:26px;font-weight:800;line-height:34px}.sg-root .article-body h2{border-top:1px solid var(--app-border);color:var(--app-ink);letter-spacing:-.005em;scroll-margin-top:calc(var(--gnb-h) + var(--topnav-h) + 24px);margin:36px 0 14px;padding-top:36px;font-size:19px;font-weight:700;line-height:28px}.sg-root .article-body h3{color:var(--app-ink);margin:24px 0 10px;font-size:16px;font-weight:700;line-height:24px}.sg-root .article-body hr{border:0;border-top:1px solid var(--app-border);margin:28px 0}.sg-root .article-body p{margin:12px 0}.sg-root .article-body a{color:var(--primary-deep);text-decoration:underline;-webkit-text-decoration-color:var(--primary-tint);text-decoration-color:var(--primary-tint);text-underline-offset:3px;font-weight:600}.sg-root .article-body ul,.sg-root .article-body ol{margin:8px 0 20px;padding-left:24px}.sg-root .article-body ol{list-style:decimal}.sg-root .article-body ul{list-style:outside}.sg-root .article-body li{margin:6px 0}.sg-root code{border:1px solid var(--app-border);border-radius:var(--radius-sm);background:var(--app-canvas-soft);color:var(--app-ink);padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.sg-root blockquote{border-left:4px solid var(--primary);border-radius:0 var(--radius-md)var(--radius-md)0;background:var(--primary-pale);color:var(--primary-deep);margin:18px 0 24px;padding:16px 18px}.sg-root .table-wrap{border:1px solid var(--app-border);border-radius:var(--radius-md);margin:20px 0 28px;overflow-x:auto}.sg-root .table-wrap table{border-collapse:collapse;background:var(--canvas);width:100%;font-size:14px;line-height:1.6}.sg-root .table-wrap th,.sg-root .table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid var(--app-border);padding:11px 14px}.sg-root .table-wrap th{background:var(--app-canvas-soft);color:var(--app-ink);white-space:nowrap;font-weight:600}.sg-root .table-wrap td{color:var(--app-body)}.sg-root .table-wrap tr:last-child td{border-bottom:none}.sg-root .table-wrap td code,.sg-root .table-wrap th code{white-space:nowrap}.sg-root figure{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--canvas);box-shadow:none;margin:24px 0 32px;position:relative;overflow:hidden}.sg-root figure img{background:var(--app-canvas-soft);width:100%;height:auto;display:block}.sg-root figcaption{border-top:1px solid var(--app-border);color:var(--app-body);background:var(--canvas);padding:10px 14px;font-size:13px;line-height:18px}.sg-root .mask-cover{border:1px solid var(--app-border);border-radius:var(--radius-md);color:var(--app-body);pointer-events:none;background:#f7f8f7f5;place-items:center;font-size:11px;font-weight:500;line-height:16px;display:grid;position:absolute}.sg-root .on-this-page{top:calc(var(--gnb-h) + var(--topnav-h));max-height:calc(100vh - var(--gnb-h) - var(--topnav-h));color:var(--app-body);align-self:start;padding:36px 22px 24px;position:sticky;overflow:auto}.sg-root .on-this-page strong{color:var(--app-mute);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:7px;margin-bottom:12px;font-size:12px;font-weight:600;line-height:16px;display:flex}.sg-root .on-this-page strong svg{width:14px;height:14px}.sg-root .on-this-page-list{border-left:1px solid var(--app-border);gap:1px;display:grid}.sg-root .on-this-page a{color:var(--app-body);border-left:2px solid #0000;margin-left:-1px;padding:6px 12px;font-size:13px;line-height:19px;transition:color .12s,border-color .12s;display:block}.sg-root .on-this-page a:hover{color:var(--app-ink)}.sg-root .on-this-page a.active{color:var(--primary);border-left-color:var(--primary);font-weight:600}.sg-root .article-pager{border-top:1px solid var(--app-border);grid-template-columns:1fr 1fr;gap:12px;margin-top:48px;padding-top:32px;display:grid}.sg-root .article-pager a{border:1px solid var(--app-border);border-radius:var(--radius-lg);background:var(--canvas);flex-direction:column;padding:16px 18px;transition:border-color .12s,box-shadow .12s;display:flex}.sg-root .article-pager a:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.sg-root .article-pager .pager-next{text-align:right;align-items:flex-end}.sg-root .article-pager span{color:var(--app-mute);margin-bottom:4px;font-size:12px;line-height:16px;display:block}.sg-root .article-pager strong{color:var(--app-ink);font-size:15px;font-weight:600;line-height:22px}.sg-root .article-pager a:hover strong{color:var(--primary-deep)}.sg-root .article-list{gap:12px;margin-top:24px;display:grid}.sg-root .article-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-root .article-card{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--canvas);gap:5px;padding:16px;display:grid}.sg-root .article-card:hover{border-color:var(--primary);background:var(--primary-pale)}.sg-root .article-card span,.sg-root .category-card span,.sg-root .flow-grid span{color:var(--primary-deep);font-size:13px;font-weight:600;line-height:18px}.sg-root .article-card strong{color:var(--app-ink);font-size:14px;font-weight:600;line-height:22px}.sg-root .category-card strong,.sg-root .flow-grid strong{color:var(--ink);font-size:18px;font-weight:700;line-height:26px}.sg-root .article-card small,.sg-root .category-card small,.sg-root .flow-grid small{color:var(--body);font-size:13px;line-height:18px}.sg-root .home{background:var(--canvas-soft);color:var(--ink);min-height:100vh}.sg-root .home-main{max-width:1200px;margin:0 auto;padding:64px 32px 96px}.sg-root .home-hero{border-bottom:1px solid var(--line);padding:32px 0 48px}.sg-root .home-hero h1{max-width:820px;color:var(--ink);letter-spacing:0;font-size:clamp(42px,7vw,64px);font-weight:700;line-height:76px}.sg-root .home-hero>p:not(.eyebrow){max-width:720px;color:var(--body);font-size:17px;line-height:28px}.sg-root .home-hero .article-body{color:var(--body);margin:0;font-size:17px;line-height:28px}.sg-root .home-hero .article-body h1{max-width:820px;color:var(--ink);letter-spacing:0;margin:0 0 8px;font-size:clamp(42px,7vw,64px);font-weight:700;line-height:76px}.sg-root .home-hero .article-body blockquote{max-width:720px;color:var(--body);background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:17px;line-height:28px}.sg-root .category-summary{max-width:720px;color:var(--body);margin:0 0 8px;font-size:16px;line-height:26px}.sg-root .home-search{max-width:680px;color:var(--body);margin:28px 0 0}.sg-root .flow-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.sg-root .category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.sg-root .flow-grid a,.sg-root .category-card{border-radius:var(--radius-xl);background:var(--canvas);min-height:144px;box-shadow:var(--shadow-md);border:0;gap:8px;padding:24px;display:grid}.sg-root .flow-grid a:hover,.sg-root .category-card:hover{box-shadow:var(--shadow-lg);outline:1px solid var(--primary)}.sg-root .category-card p{color:var(--body);margin:4px 0 8px;font-size:16px;line-height:26px}.sg-root .home-section{margin-top:64px}.sg-root .home-section h2{color:var(--ink);letter-spacing:0;margin:0 0 18px;font-size:32px;font-weight:700;line-height:42px}@media (max-width:1180px){.sg-root .layout{background-position:248px 0;grid-template-columns:248px minmax(0,1fr)}.sg-root .on-this-page{display:none}.sg-root .flow-grid,.sg-root .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.sg-root .layout{background-image:none;grid-template-columns:minmax(0,1fr)}.sg-root .sidebar{z-index:60;width:300px;max-width:86vw;max-height:none;box-shadow:var(--shadow-lg);padding-top:16px;transition:transform .24s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sg-root.nav-open .sidebar{transform:translate(0)}.sg-root .sidebar-close,.sg-root .sidebar-toggle{display:inline-flex}.sg-root .sidebar-backdrop{z-index:55;opacity:0;pointer-events:none;background:#10131166;transition:opacity .24s;display:block;position:fixed;inset:0}.sg-root.nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sg-root.nav-open{overflow:hidden}.sg-root .article,.sg-root .category-page{padding:32px 24px 72px}.sg-root .article-utility{flex-wrap:wrap}}@media (max-width:600px){.sg-root .gnb{gap:14px;padding-inline:16px}.sg-root .gnb-cta{padding:0 12px;font-size:13px}.sg-root .topnav-inner{padding-inline:12px}.sg-root .article,.sg-root .category-page{padding:28px 18px 64px}.sg-root h1{font-size:26px;line-height:34px}.sg-root .shortcut{flex-direction:column;align-items:stretch}.sg-root .shortcut a{width:100%}.sg-root .home-main{padding:40px 20px 72px}.sg-root .home-hero h1,.sg-root .home-hero .article-body h1{font-size:40px;line-height:50px}.sg-root .flow-grid,.sg-root .category-grid,.sg-root .article-list.compact,.sg-root .article-pager{grid-template-columns:1fr}}
