:root{--page-bg:#f8f9fb;--box-bg:#ffffff;--fg:#222222;--muted:#888888;--line:#dcdfe3;--line-soft:#ececee;--navy:#2b4d8c;--navy-dark:#24406f;--blue:#2969d1;--blue-visited:#7a54b0;--badge-bg:#eef3fb;--strip-bg:#f5f7fa;--mark:#fff3bf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;background:var(--page-bg);color:var(--fg);line-height:1.7;font-size:15px;word-break:keep-all}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.site-header{background:#ffffff;border-bottom:1px solid var(--line)}.header-inner{max-width:1080px;margin:0 auto;padding:.9rem 1rem .7rem;display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}.brand{font-size:1.5rem;font-weight:900;color:var(--navy);letter-spacing:-.03em}.brand:hover{text-decoration:none}.brand-dot{color:var(--blue)}.tagline{color:var(--muted);font-size:.82rem}.cat-nav{background:var(--navy)}.cat-nav-inner{max-width:1080px;margin:0 auto;padding:0 .5rem;display:flex;overflow-x:auto}.cat-nav a{padding:.6rem .95rem;font-size:.93rem;font-weight:700;color:#ffffff;white-space:nowrap}.cat-nav a:hover{background:var(--navy-dark);text-decoration:none}.wrap{max-width:1080px;margin:1.1rem auto 3rem;padding:0 1rem;display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:900px){.wrap{grid-template-columns:minmax(0,1fr)}}.box{background:var(--box-bg);border:1px solid var(--line);border-radius:6px;overflow:hidden}.box+.box{margin-top:1rem}.box-head{display:flex;align-items:center;justify-content:space-between;padding:.55rem .9rem;border-bottom:1px solid var(--line);background:var(--strip-bg)}.box-head h1,.box-head h2{margin:0;font-size:.98rem;font-weight:800;border-left:3px solid var(--navy);padding-left:.55rem}.box-head .more{font-size:.8rem;color:var(--muted)}.box-body{padding:.9rem}.board{list-style:none;margin:0;padding:0}.board li{display:flex;align-items:center;gap:.55rem;padding:.5rem .9rem;border-bottom:1px solid var(--line-soft);font-size:.93rem}.board li:last-child{border-bottom:0}.board li:hover{background:var(--strip-bg)}.badge{flex:none;background:var(--badge-bg);color:var(--navy);font-size:.75rem;font-weight:700;padding:.05rem .5rem;border-radius:3px;border:1px solid #d8e2f3}.badge:hover{text-decoration:none}.board .title{flex:1 1;min-width:0;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board .title:hover{color:var(--blue)}.board .date{flex:none;margin-left:auto;color:var(--muted);font-size:.78rem}.widget{background:var(--box-bg);border:1px solid var(--line);border-radius:6px;overflow:hidden}.widget+.widget{margin-top:1rem}.widget-head{padding:.5rem .8rem;font-size:.9rem;font-weight:800;background:var(--navy);color:#fff}.widget ol,.widget ul{list-style:none;margin:0;padding:0}.widget li{border-bottom:1px solid var(--line-soft)}.widget li:last-child{border-bottom:0}.widget a{display:flex;gap:.5rem;align-items:baseline;padding:.45rem .8rem;font-size:.86rem;color:var(--fg)}.widget a:hover{background:var(--strip-bg);text-decoration:none;color:var(--blue)}.widget .rank{flex:none;font-weight:800;color:var(--blue);font-size:.8rem;width:1.1em}.widget .w-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget .w-cnt{flex:none;margin-left:auto;color:var(--muted);font-size:.78rem}.doc{background:var(--box-bg);border:1px solid var(--line);border-radius:6px;padding:1.4rem 1.6rem 2rem}@media (max-width:640px){.doc{padding:1.1rem 1rem 1.5rem}}.breadcrumb{font-size:.82rem;margin-bottom:.7rem}.breadcrumb,.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--blue)}.breadcrumb .sep{margin:0 .35rem;color:var(--line)}.doc-title{font-size:1.55rem;line-height:1.35;margin:0 0 .5rem;padding-bottom:.6rem;border-bottom:2px solid var(--navy);letter-spacing:-.02em}.doc-meta{display:flex;gap:.6rem;align-items:center;color:var(--muted);font-size:.83rem;margin-bottom:1.4rem}.chip{display:inline-block;background:var(--badge-bg);color:var(--navy);border:1px solid #d8e2f3;border-radius:3px;padding:.05rem .55rem;font-size:.78rem;font-weight:700}.chip:hover{text-decoration:none}.toc{display:inline-block;min-width:230px;max-width:100%;background:var(--strip-bg);border:1px solid var(--line);border-radius:6px;padding:.8rem 1.2rem;margin:0 0 1.5rem;font-size:.9rem}.toc-title{font-weight:800;margin-bottom:.3rem}.toc ol{margin:0;padding-left:1.2rem}.toc ol ol{padding-left:1rem}.toc li{margin:.12rem 0}.toc a{color:var(--fg)}.toc a:hover{color:var(--blue)}.doc-body h2{font-size:1.22rem;margin:2.1rem 0 .8rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}.doc-body h3{font-size:1.05rem;margin:1.6rem 0 .5rem}.doc-body p{margin:.85rem 0}.doc-body ol,.doc-body ul{padding-left:1.4rem;margin:.7rem 0}.doc-body li{margin:.25rem 0}.doc-body blockquote{margin:1rem 0;padding:.55rem 1rem;border-left:4px solid var(--navy);background:var(--strip-bg);border-radius:0 6px 6px 0;color:#555}.doc-body{overflow-wrap:break-word}.doc-body hr{border:0;border-top:1px solid var(--line-soft);margin:1.8rem 0}.doc-body strong{font-weight:800}.doc-body mark{background:var(--mark)}.doc-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:.9rem;margin:1.1rem 0;line-height:1.55}.doc-body td,.doc-body th{border:1px solid var(--line);padding:.5rem .75rem;text-align:left}.doc-body th{background:var(--strip-bg);font-weight:800;white-space:nowrap}.doc-body tr:nth-child(2n) td{background:#fafbfc}.doc-body code{background:var(--badge-bg);padding:.1em .4em;border-radius:4px;font-size:.9em}.related{margin-top:2.2rem;border-top:2px solid var(--navy);padding-top:.9rem}.related h2{font-size:1.02rem;margin:0 0 .5rem}.related ul{list-style:none;padding:0;margin:0}.related li{padding:.3rem 0;border-bottom:1px dashed var(--line-soft);font-size:.92rem}.related li:before{content:"↳ ";color:var(--muted)}.meta{color:var(--muted);font-size:.82rem}.contact-form{gap:.9rem;margin-top:1.2rem}.contact-form,.contact-form label{display:flex;flex-direction:column}.contact-form label{gap:.3rem;font-weight:700;font-size:.9rem}.contact-form .req{color:#d64545}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem;gap:.9rem}@media (max-width:640px){.form-row-2{grid-template-columns:1fr}}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-weight:400;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:.55rem .75rem;background:#fff}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:var(--navy)}.contact-form textarea{resize:vertical;min-height:140px}.contact-form button{font:inherit;font-weight:800;color:#fff;background:var(--navy);border:0;border-radius:6px;padding:.7rem 1.2rem;cursor:pointer;align-self:flex-start;min-width:160px}.contact-form button:hover{background:var(--navy-dark)}.contact-form button:disabled{opacity:.6;cursor:default}.form-note{margin-top:.9rem;color:var(--muted);font-size:.9rem}.form-note a{color:var(--navy);font-weight:700}.pager{display:flex;gap:.35rem;justify-content:center;align-items:center;padding:.9rem;border-top:1px solid var(--line-soft);flex-wrap:wrap}.pager .cur,.pager a{min-width:2rem;text-align:center;padding:.25rem .55rem;border:1px solid var(--line);border-radius:4px;font-size:.88rem}.pager a{color:var(--fg)}.pager a:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}.pager .cur{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}.site-footer{background:#ffffff;border-top:1px solid var(--line)}.footer-inner{max-width:1080px;margin:0 auto;padding:1.2rem 1rem 1.8rem}.footer-nav{display:flex;gap:1.1rem;flex-wrap:wrap;margin-bottom:.6rem}.footer-nav a{font-size:.85rem;font-weight:700;color:var(--fg)}.footer-nav a:hover{color:var(--blue)}.footer-inner p{margin:.3rem 0;font-size:.83rem}.footer-inner .fine{color:var(--muted);font-size:.76rem;line-height:1.6}