:root{--paper:#FBFAF8;--white:#FFFFFF;--ink:#16151C;--graphite:#4C4A57;--mute:#6B6977;--line:#ECEAE6;--line-2:#DCD9D3;--iris:#6D4AFF;--iris-deep:#4A31C8;--iris-soft:#EFEBFF;--ember:#FF7A59;--ember-soft:#FFF1EC;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(84px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
a{color:var(--iris-deep)}
:focus-visible{outline:3px solid var(--iris);outline-offset:3px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:rgba(251,250,248,.92)}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:rgba(251,250,248,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--ink)}
.nav{display:flex;flex-wrap:wrap;gap:4px}
.nav a{padding:10px 12px;border-radius:10px;text-decoration:none;color:#3A3845;font-size:15px;font-weight:500}
.nav a:hover,.nav a[aria-current="page"]{background:#F2F0EC}
main.doc{max-width:760px;margin:0 auto;padding:64px 24px 96px}
.doc h1{font-size:clamp(32px,4vw,44px);line-height:1.2;letter-spacing:-.03em;margin:0 0 12px}
.doc .meta{color:var(--mute);font-size:15px;margin:0 0 8px}
.note{margin:20px 0 36px;padding:14px 18px;border-radius:14px;background:var(--ember-soft);color:#7A2E16;font-size:15px}
.doc h2{font-size:22px;letter-spacing:-.02em;margin:44px 0 10px;padding-top:4px}
.doc h3{font-size:18px;margin:24px 0 6px}
.doc p,.doc li{color:#2E2C38}
.doc ul,.doc ol{padding-left:1.3em}
.doc li{margin:4px 0}
.toc{margin:24px 0 8px;padding:18px 22px;border-radius:16px;background:var(--white);border:1px solid var(--line)}
.toc ol{margin:0;columns:2;column-gap:32px}
@media (max-width:640px){.toc ol{columns:1}}
.toc a{text-decoration:none}
.table-box{overflow-x:auto;margin:12px 0}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px;background:var(--white)}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:#F6F4F0;font-weight:700}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
@media (max-width:700px){.cards{grid-template-columns:minmax(0,1fr)}}
.card{padding:24px;border-radius:20px;background:var(--white);border:1px solid var(--line)}
.card h2{margin:0 0 8px;font-size:20px}
.card p{margin:0 0 16px;color:var(--graphite);font-size:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:14px;font-weight:700;font-size:16px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:#2B2935}
.btn-voice{color:#fff;background:linear-gradient(120deg,var(--iris) 0%,#9A5CF2 55%,var(--ember) 100%)}
.btn-line{background:var(--white);color:var(--ink);border-color:var(--line-2)}
.template{white-space:pre-wrap;margin:12px 0 16px;padding:16px 18px;border-radius:14px;background:#F6F4F0;border:1px solid var(--line);font-size:15px;line-height:1.7;color:#2E2C38}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.small{font-size:14px;color:var(--mute)}
footer{background:var(--white);border-top:1px solid var(--line)}
footer .wrap{padding-block:36px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:14px;color:var(--mute)}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
footer a{text-decoration:none;color:#3A3845;padding:6px 0}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
