:root{--ground:#f4f5f3;--surface:#fff;--ink:#191e1b;--ink-2:#4a524d;--ink-3:#7a827d;--line:#d7dbd8;--line-strong:#191e1b;--green:#1f6b58;--green-tint:#e4f0eb;--navy:#23405c;--navy-tint:#e3e9ef;--red:#a32a22;--red-tint:#f5e3e1;--amber:#8a5a14;--amber-tint:#f5ebd9;--font-sans:"IBM Plex Sans KR",-apple-system,"Apple SD Gothic Neo",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--measure:72ch;--container:1120px;--gutter:16px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#141715;--surface:#1a1e1b;--ink:#ecefed;--ink-2:#b8beba;--ink-3:#848b87;--line:#2e3430;--line-strong:#ecefed;--green:#5fb99e;--green-tint:#1c2e27;--navy:#8fb0d0;--navy-tint:#1c2632;--red:#e07a72;--red-tint:#33201e;--amber:#d8a557;--amber-tint:#322914}}:root[data-theme=dark]{--ground:#141715;--surface:#1a1e1b;--ink:#ecefed;--ink-2:#b8beba;--ink-3:#848b87;--line:#2e3430;--line-strong:#ecefed;--green:#5fb99e;--green-tint:#1c2e27;--navy:#8fb0d0;--navy-tint:#1c2632;--red:#e07a72;--red-tint:#33201e;--amber:#d8a557;--amber-tint:#322914}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}h1,h2,h3{font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:0}h1{font-size:26px}h2{font-size:18px}h3{font-size:15px}p{margin:0}.mono,code{font-family:var(--font-mono);font-size:.93em}hr{border:0;border-top:1px solid var(--line);margin:0}.wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.shell-header{border-bottom:1px solid var(--line-strong)}.shell-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;flex-wrap:wrap}.brand{font-weight:600;text-decoration:none;letter-spacing:-.01em}.brand small{color:var(--ink-3);font-weight:400;margin-left:8px}.nav{display:flex;gap:2px;flex-wrap:wrap}.nav a{text-decoration:none;padding:6px 10px;color:var(--ink-2);border-bottom:2px solid transparent;font-size:14px}.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.nav a:hover{color:var(--ink)}.main{padding-block:28px 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line-strong);margin-bottom:20px;flex-wrap:wrap}.page-head .sub{color:var(--ink-2);font-size:14px;margin-top:4px}.section{margin-top:32px}.section>h2{padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:12px}.muted{color:var(--ink-3)}.small{font-size:13px}.dl{display:grid;grid-template-columns:minmax(120px,180px) 1fr;border-top:1px solid var(--line)}.dl>dd,.dl>dt{padding:9px 0;border-bottom:1px solid var(--line);margin:0}.dl>dt{color:var(--ink-2);font-size:13px;padding-right:12px}.table{width:100%;border-collapse:collapse;border-top:1px solid var(--line-strong)}.table td,.table th{text-align:left;padding:9px 8px 9px 0;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:12px;font-weight:500;color:var(--ink-2);letter-spacing:.02em}.table td.num,.table th.num{text-align:right;font-family:var(--font-mono)}.table-wrap{overflow-x:auto}.form{display:grid;grid-gap:14px;gap:14px;max-width:560px}.field{display:grid;grid-gap:4px;gap:4px}.field>.label{font-size:13px;color:var(--ink-2)}.field>.hint{font-size:12px;color:var(--ink-3)}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:0;padding:8px 10px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}textarea{min-height:96px;resize:vertical}.row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}@media (min-width:640px){.row{grid-template-columns:1fr 1fr}}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{font:inherit;font-size:14px;padding:8px 14px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;border-radius:0;text-decoration:none;display:inline-block;line-height:1.4}.btn.primary,.btn:hover{background:var(--ink);color:var(--ground)}.btn.primary:hover{background:var(--green);border-color:var(--green);color:#fff}.btn.quiet{border-color:var(--line);color:var(--ink-2)}.btn.quiet:hover{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.danger{border-color:var(--red);color:var(--red)}.btn.danger:hover{background:var(--red);color:#fff}.btn:disabled{opacity:.5;cursor:default}.notice{border-left:3px solid var(--navy);background:var(--navy-tint);padding:10px 14px;font-size:14px}.notice.ok{border-color:var(--green);background:var(--green-tint)}.notice.warn{border-color:var(--amber);background:var(--amber-tint)}.notice.err{border-color:var(--red);background:var(--red-tint)}.tag{display:inline-block;font-size:12px;padding:1px 7px;border:1px solid var(--line);color:var(--ink-2);font-family:var(--font-mono)}.tag.green{border-color:var(--green);color:var(--green)}.tag.navy{border-color:var(--navy);color:var(--navy)}.tag.red{border-color:var(--red);color:var(--red)}.tag.amber{border-color:var(--amber);color:var(--amber)}.hero{padding-block:56px 40px;border-bottom:1px solid var(--line-strong)}.hero h1{font-size:clamp(28px,4.6vw,40px);max-width:20ch}.hero .lead{color:var(--ink-2);max-width:var(--measure);margin-top:16px;font-size:16px}.hero .actions{margin-top:24px}.steps{list-style:none;margin:0;padding:0;counter-reset:s}.steps li{display:grid;grid-template-columns:40px 1fr;grid-gap:8px;gap:8px;padding:14px 0;border-bottom:1px solid var(--line);counter-increment:s}.steps li:before{content:counter(s,decimal-leading-zero);font-family:var(--font-mono);color:var(--ink-3);font-size:13px;padding-top:2px}.steps li strong{display:block;font-weight:600}.steps li span{color:var(--ink-2);font-size:14px}.cols{display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr}@media (min-width:760px){.cols{grid-template-columns:1fr 1fr}}.footer{border-top:1px solid var(--line-strong);padding-block:20px 40px;color:var(--ink-3);font-size:13px}