:root{color:#303d36;background:#f5f4ef;font-family:"DM Sans","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;line-height:1.7}
*{box-sizing:border-box}
body{margin:0}
a{color:#37674e}
h1,h2,h3,p{margin:0}
h1{font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.25;letter-spacing:-.03em;font-weight:600}
h2{font-size:1.25rem;line-height:1.4;margin-bottom:.4rem}
h3{font-size:1.05rem;line-height:1.4}
.skip-link{position:absolute;left:12px;top:-40px;background:#37674e;color:#fff;padding:8px 12px;z-index:5}
.skip-link:focus{top:12px}
main:focus{outline:2px solid #5c8968;outline-offset:4px}
.shell{width:min(880px,calc(100% - 32px));margin:0 auto}
.site-header{padding:22px 0 18px;border-bottom:1px solid #e3e6dc}
.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.lang-switch{position:relative;flex-shrink:0}
.lang-switch-button{border:1px solid #d5ddd2;background:#fff;border-radius:999px;padding:8px 12px;font-size:14px;line-height:1.2;color:#37674e;cursor:pointer}
.lang-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:148px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #e3e8dc;border-radius:10px;box-shadow:0 10px 28px #24332722}
.lang-menu[hidden]{display:none}
.lang-menu a{display:block;padding:8px 10px;border-radius:8px;text-decoration:none}
.lang-menu a[aria-selected="true"]{background:#eef3e7}
.brand{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit;width:max-content;max-width:100%}
.brand strong{font-size:1.35rem;letter-spacing:-.04em}
.brand small{color:#709475;letter-spacing:.04em}
.nav{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.nav a{text-decoration:none;color:#3d5344;padding:4px 0}
.nav a[aria-current="page"]{color:#37674e;text-decoration:underline;text-underline-offset:4px}
.hero{padding:34px 0 8px}
.kicker{font-size:.78rem;letter-spacing:.12em;color:#7d8b78;font-weight:700;margin-bottom:8px}
.lead{margin-top:12px;font-size:1.05rem;color:#4e5b50;max-width:68ch}
.section{padding:28px 0;border-top:1px solid #e7e9e1}
.section p,.section li{max-width:68ch}
.section p+p,.section ul+p,.section p+ul,.section ol+p{margin-top:.8rem}
.section ul,.section ol{margin:.4rem 0 0;padding-left:1.2rem}
.steps{display:grid;gap:14px;margin-top:16px}
.step{background:#fff;border:1px solid #e3e8dc;border-radius:12px;padding:16px}
.step span{display:block;color:#709475;font-size:.78rem;letter-spacing:.08em;font-weight:700}
.cards{display:grid;gap:12px;margin-top:16px}
.card{display:block;background:#fff;border:1px solid #e3e8dc;border-radius:12px;padding:16px;text-decoration:none;color:inherit}
.card:hover{border-color:#b7c9b0}
.card small{display:block;color:#709475;margin-bottom:4px}
.card p{margin-top:8px;color:#556157}
pre{overflow-x:auto;max-width:100%;background:#f7f8f3;border:1px solid #e1e6da;border-radius:10px;padding:12px 14px;font:13px/1.55 Consolas,ui-monospace,monospace;color:#3d5344}
code{font-family:Consolas,ui-monospace,monospace;font-size:.92em}
.table-wrap{overflow-x:auto;max-width:100%;margin-top:12px}
table{border-collapse:collapse;width:100%;min-width:560px}
th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e4e8df;padding:8px 10px;font-size:.95rem}
th{color:#3d5344;font-weight:600}
.note{background:#f3f6ef;border-radius:10px;padding:12px 14px;margin-top:12px}
.site-footer{padding:28px 0 40px;border-top:1px solid #e7e9e1;color:#667064}
.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0}
.site-footer a{font-size:.95rem}
.updated{font-size:.85rem;color:#80907c}
@media(max-width:360px){.shell{width:min(880px,calc(100% - 24px))}}
