body:has(.reading-layout) main{max-width:1280px;padding-inline:60px}.reading-layout{grid-template-columns:minmax(0,760px) 180px;justify-content:center;gap:64px;padding-top:34px;display:grid}.field-article{min-width:0}.reading-header h1{word-break:keep-all}.article-breadcrumb{color:var(--muted);font:12px/1.8 var(--mono);align-items:center;gap:14px;display:flex}.article-breadcrumb>span:first-of-type{color:#59645f}.reading-header{border-bottom:1px solid var(--line);padding:44px 0 30px}.article-kicker{font:12px/1.8 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.article-kicker>span:first-child{color:var(--accent)}.kicker-divider{color:#59645f}.reading-header h1{letter-spacing:-1.2px;text-wrap:balance;overflow-wrap:break-word;margin:22px 0 0;font-size:36px;font-weight:600;line-height:1.4}.reading-header h1.machine-title{font:500 58px/1.13 var(--mono);letter-spacing:-2.8px}.article-subtitle{font:400 24px/1.5 var(--mono);letter-spacing:-.7px;color:#a8b2b5;margin:10px 0 0}.article-deck{color:#aab6bc;word-break:keep-all;overflow-wrap:break-word;max-width:620px;margin:25px 0 23px;font-size:16px;line-height:1.9}.byline{font:12px/1.8 var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.author-mark{font:500 15px var(--mono);color:var(--accent)}.byline-dot{color:#536159}.article-topics{font:12px/1.8 var(--mono);color:#96a89e;flex-wrap:wrap;gap:8px 16px;margin-top:18px;display:flex}.article-topics a:before{content:"#";color:#566b60;margin-right:3px}.article-prose{counter-reset:chapter;color:#bbc4c9;padding-top:3px;font-size:16px;line-height:1.95}.article-prose>p{word-break:normal;margin:21px 0}.article-prose>h2{counter-increment:chapter;letter-spacing:-.5px;border-top:1px solid var(--line);align-items:baseline;gap:15px;margin:52px 0 20px;padding-top:29px;scroll-margin-top:24px;font-size:25px;line-height:1.5;display:flex}.article-prose>h2:before{content:counter(chapter,decimal-leading-zero);font:12px var(--mono);color:var(--accent);letter-spacing:.5px;flex-shrink:0}.article-prose>h2:first-child{border-top:0;margin-top:32px;padding-top:0}.article-prose h3{margin:32px 0 14px;font-size:19px;line-height:1.6}.article-prose h4{font-size:17px}.article-prose strong{color:#dee5e6;font-weight:600}.article-prose ul,.article-prose ol{padding-left:24px}.article-prose li{margin:7px 0}.article-prose li::marker{color:#7e9c8b}.article-prose :not(pre)>code{font-size:13px;line-height:inherit;color:#c7ddd1;overflow-wrap:anywhere;background:#19211e;border:1px solid #2b3532;border-radius:3px;padding:2px 5px}.article-prose blockquote{color:#b7c7bd;background:#141c19;border-left:2px solid #7cae93;margin:28px 0;padding:18px 22px;font-size:15px}.article-prose blockquote p{margin:0}.article-prose blockquote p+p{margin-top:12px}.article-prose table{margin:24px 0;font-size:14px}.article-prose th{color:#d4dfd9;text-align:left;background:#19211f;font-size:13px;font-weight:500}.article-prose td{background:#111718}.article-prose th,.article-prose td{border-color:#2b3433;padding:12px 16px}.article-prose .lab-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;column-gap:28px;margin:0;padding:0;list-style:none;display:grid}.article-prose .lab-facts li{border-bottom:1px solid var(--line);flex-direction:column;gap:5px;min-width:0;margin:0;padding:15px 0;font-size:0;display:flex;position:relative}.fact-label{font:11px/1.8 var(--mono);text-transform:uppercase;letter-spacing:.7px;color:#84958e}.fact-value{font:14px/1.8 var(--mono);color:#d0dbd5;overflow-wrap:anywhere}.lab-snapshot{border-bottom:1px solid var(--line);margin:16px 0 30px}.lab-snapshot summary{cursor:pointer;font:12px/1.8 var(--mono);color:#a8b8af;justify-content:space-between;gap:15px;padding:12px 0 16px;display:flex}.lab-snapshot summary span{color:#85958b;font-family:Noto Sans KR,sans-serif}.lab-snapshot summary::marker{content:""}.article-prose .lab-snapshot img{object-fit:contain;max-width:100%;max-height:400px}.article-prose .code-frame{background:#0c1110;border:1px solid #2c3733;border-radius:5px;min-width:0;margin:26px 0 30px;overflow:hidden}.code-toolbar{background:#161d1a;border-bottom:1px solid #29342e;justify-content:space-between;align-items:center;gap:12px;min-height:43px;padding:8px 16px;display:flex}.code-label{font:11px/1.7 var(--mono);letter-spacing:.65px;color:#9bada3;align-items:center;gap:11px;display:flex}.terminal-glyph{color:var(--accent);letter-spacing:-1px;font-size:14px}.code-frame .copy{font:12px/1.8 var(--mono);color:#9bada3;background:0 0;border:0;border-radius:2px;padding:2px 5px;position:static}.code-frame .copy:hover{color:var(--accent);background:#23312a}.code-frame pre{font:12.5px/1.9 var(--mono);tab-size:2;scrollbar-color:#405449 #0c1110;scrollbar-width:thin;white-space:pre;border:0;max-height:none;overflow:auto;color:#b7c9bf!important;background:#0c1110!important;margin:0!important;padding:20px 21px!important}.code-frame pre code{font:inherit}.code-frame pre .line{color:#b7c9bf}.code-frame pre .command-line,.code-frame pre .command-line span{color:#a0dcbd!important}.code-frame pre .prompt-line,.code-frame pre .prompt-line span{color:#677e70!important}.code-frame.is-collapsible:not(.is-expanded) pre{max-height:330px}.code-expand{color:#9bb7a6;width:100%;font:12px/1.8 var(--mono);text-align:center;background:#121b16;border:0;border-top:1px solid #26372c;padding:9px 15px}.code-expand:hover{color:var(--accent);background:#1b2a21}.article-prose img{border:1px solid #29332f;border-radius:3px;max-width:100%;height:auto;margin:26px auto}.article-prose .image-open{background:#0d1310;border:1px solid #29332f;border-radius:4px;margin:26px 0;padding:12px}.article-prose .image-open img{border:0;border-radius:0;margin:0 auto}.article-prose .image-open:hover{border-color:#576e60}.article-prose figure:not(.code-frame){max-width:100%;margin-inline:0}.reading-rail{font:12px/1.7 var(--mono);scrollbar-width:thin;align-self:start;max-height:85vh;margin-top:52px;position:sticky;top:38px;overflow-y:auto}.rail-label{font:11px/1.8 var(--mono);letter-spacing:1.5px;color:#82948a;margin:0 0 17px}.reading-rail nav>a{color:#889b91;border-left:1px solid #2b3530;align-items:baseline;gap:12px;padding:10px 0 10px 13px;font-size:12px;line-height:1.65;display:flex}.chapter-index{color:#566e60;flex-shrink:0;font-size:11px}.reading-rail nav>a:hover,.reading-rail nav>a.current{color:#d0e1d6;border-color:var(--accent);background:linear-gradient(90deg,#a0dcbd09,#0000)}.reading-rail nav>a.current .chapter-index{color:var(--accent)}.rail-footer{border-top:1px solid var(--line);color:#758b7e;flex-direction:column;gap:6px;margin-top:27px;padding-top:18px;font-size:11px;display:flex}.rail-footer span:first-child{color:#a3b8aa}.mobile-toc{display:none}.article-end{border-top:1px solid var(--line);font:12px/1.8 var(--mono);color:#83968b;align-items:center;gap:12px;margin-top:50px;padding-top:26px;display:flex}.end-mark{color:var(--accent);font-size:19px}.article-end a{margin-left:auto;font-size:11px}.last-updated{font:12px var(--mono);color:var(--muted)}.related-notes{border-top:1px solid var(--line);margin-top:45px}.related-heading{font:11px/1.8 var(--mono);letter-spacing:.6px;color:#8da497;justify-content:space-between;gap:12px;padding:19px 0;display:flex}.related-heading span+span{color:#748b7c;letter-spacing:0}.related-notes>a{border-bottom:1px solid var(--line);color:#bacac0;justify-content:space-between;gap:20px;padding:17px 0;font-size:15px;display:flex}.related-notes>a:hover{color:var(--accent)}body:has(.reading-layout) #lightbox{border-radius:5px;min-width:260px;max-width:94vw;max-height:94vh;padding:50px 20px 20px}body:has(.reading-layout) #lightbox img{max-width:85vw;max-height:78vh;margin:auto;display:block}body:has(.reading-layout) .close-image{white-space:nowrap;font-size:14px}.article-prose .lab-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.fact-label,.code-label,.rail-label,.chapter-index,.reading-rail nav>a .chapter-index{font-size:12px}.article-end a:first-child{margin-left:0}.code-frame pre{font-size:13px}.code-frame.is-collapsible:not(.is-expanded) pre{overflow-y:hidden}.code-frame pre:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.code-label{letter-spacing:.3px}@media (width<=600px){.article-prose ul.lab-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.article-prose .lab-facts .fact-label{font-size:12px}.article-prose .lab-facts .fact-value{font-size:14px}.article-prose .code-toolbar .code-label,.field-article .article-kicker,.field-article .byline,.field-article .article-topics{font-size:12px}}@media (width>=1600px){body:has(.reading-layout) main{padding-inline:70px}.reading-layout{grid-template-columns:minmax(0,780px) 180px;gap:72px}}@media (width<=1200px){body:has(.reading-layout) main{padding-inline:36px}.reading-layout{grid-template-columns:minmax(0,1fr) 150px;gap:35px}.reading-header h1.machine-title{font-size:50px}}@media (width<=1050px){.reading-layout{max-width:740px;margin:auto;display:block}.reading-rail{display:none}.mobile-toc{border-block:1px solid var(--line);margin-top:22px;font-size:14px;display:block}.mobile-toc summary{cursor:pointer;color:#c3d6c9;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.mobile-toc summary span{font:12px var(--mono);color:#849d8d}.mobile-toc nav{gap:4px;padding-bottom:15px;display:grid}.mobile-toc nav a{color:#a5b9ad;gap:16px;padding:7px 0;font-size:14px;display:flex}.mobile-toc nav a>span{font:12px/1.8 var(--mono);color:#739c84}}@media (width<=760px){body:has(.reading-layout) main{padding-inline:24px}.reading-layout{padding-top:25px}.reading-header{padding-top:32px;padding-bottom:25px}.article-kicker{letter-spacing:.5px;gap:9px;font-size:11px}.reading-header h1{letter-spacing:-.8px;font-size:28px;line-height:1.45}.reading-header h1.machine-title{letter-spacing:-1.8px;font-size:43px}.article-subtitle{font-size:19px}.article-deck{margin:21px 0;font-size:15px;line-height:1.9}.byline{gap:9px;font-size:11px}.article-topics{font-size:11px}.article-prose>h2{gap:12px;margin-top:40px;padding-top:24px;font-size:22px}.article-prose{font-size:16px;line-height:1.95}.article-prose .lab-facts{column-gap:18px}.fact-label{letter-spacing:0;font-size:10px}.fact-value{font-size:12px}.article-prose .code-frame{border-radius:4px;margin:24px -8px}.code-toolbar{padding-inline:12px}.code-label{letter-spacing:.3px;font-size:10px}.code-frame pre{font-size:12px;line-height:1.9;padding:16px!important}.code-frame.is-collapsible:not(.is-expanded) pre{max-height:300px}.article-prose blockquote{padding:16px 18px}.article-end{gap:8px;font-size:11px}.related-notes>a{font-size:14px}.related-heading{font-size:10px}body:has(.reading-layout) #lightbox{padding-inline:12px}body:has(.reading-layout) #lightbox img{max-width:82vw}}
