:root{--bg:#ffffff;--fg:#1f2328;--muted:#656d76;--border:#d1d9e0;--accent:#0969da;--code-bg:#f6f8fa;--sidebar-bg:#f6f8fa}@media (prefers-color-scheme:dark){:root{--bg:#0d1117;--fg:#e6edf3;--muted:#9198a1;--border:#3d444d;--accent:#4493f8;--code-bg:#151b23;--sidebar-bg:#0d1117}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif;line-height:1.7}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--border);background:var(--sidebar-bg);padding:24px 20px;position:-webkit-sticky;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;overscroll-behavior:contain}.sidebar .brand{font-weight:700;font-size:15px;letter-spacing:-.01em}.sidebar .brand a{color:var(--fg)}.sidebar h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:28px 0 8px}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar li{margin:2px 0}.sidebar li a{display:block;padding:4px 8px;border-radius:6px;font-size:14px;color:var(--fg)}.sidebar li a:hover{background:var(--border);text-decoration:none}.main{min-width:0;padding:40px 56px 96px;max-width:1600px}.page-head{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:8px}.page-head h1{font-size:30px;margin:0 0 8px;letter-spacing:-.02em}.meta{color:var(--muted);font-size:13px;display:flex;gap:12px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-gap:48px;gap:48px}@media (max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.layout{grid-template-columns:1fr}.toc{display:none}.main{padding:24px}}.toc{position:-webkit-sticky;position:sticky;top:24px;align-self:start;font-size:13px;max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-left:1px solid var(--border);padding-left:16px}.toc::-webkit-scrollbar{width:6px}.toc::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.toc h4{font-size:12px;text-transform:uppercase;margin:0 0 10px}.toc a,.toc h4{color:var(--muted)}.toc a{display:block;padding:3px 0;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc a:hover{color:var(--accent)}.doc h2,.doc h3,.doc h4,.doc h5,.doc h6{margin:32px 0 12px;line-height:1.35;letter-spacing:-.01em;scroll-margin-top:24px}.doc h2{font-size:24px;border-bottom:1px solid var(--border);padding-bottom:8px}.doc h3{font-size:19px}.doc h4{font-size:16px}.doc p{margin:12px 0}.doc ol,.doc p,.doc ul{max-width:82ch}.doc td p,.doc th p{max-width:none}.doc hr{border:none;border-top:1px solid var(--border);margin:32px 0}.doc code{background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.88em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.code-block{position:relative;margin:16px 0}.doc pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:0}.doc pre code{background:none;border:none;padding:0;font-size:13px;line-height:1.55}.copy-btn{position:absolute;top:8px;right:8px;padding:4px 10px;font-size:12px;line-height:1.4;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--muted);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease;font-family:inherit}.code-block:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--fg);border-color:var(--muted)}.copy-btn.ok{color:#1a7f37;border-color:#1a7f37;opacity:1}@media (prefers-color-scheme:dark){.copy-btn.ok{color:#3fb950;border-color:#3fb950}}@media (hover:none){.copy-btn{opacity:1}}.table-wrap{overflow-x:auto;margin:16px 0}.doc table{border-collapse:collapse;width:100%;font-size:14px}.doc td,.doc th{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.doc th{background:var(--code-bg);font-weight:600}.doc td p{margin:0;white-space:pre-wrap}.doc th,.doc th p{white-space:nowrap}.doc th p{margin:0}.doc tr.retired>td{color:var(--muted);background:color-mix(in srgb,var(--muted) 7%,transparent)}.doc tr.retired>td:first-child{position:relative;text-decoration:line-through}.doc tr.retired>td:first-child:after{content:"종료";position:absolute;top:6px;right:6px;font-size:10px;letter-spacing:.03em;text-decoration:none;padding:1px 6px;border-radius:10px;background:color-mix(in srgb,#d1242f 15%,transparent);color:#d1242f;white-space:nowrap}@media (prefers-color-scheme:dark){.doc tr.retired>td:first-child:after{color:#ff7b72;background:color-mix(in srgb,#ff7b72 18%,transparent)}}.secret{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.08em;padding:3px 10px;border-radius:6px;cursor:pointer;border:1px dashed var(--border);background:var(--code-bg);color:var(--muted);white-space:pre-wrap;text-align:left;max-width:100%}.secret:hover{border-color:var(--accent);color:var(--fg)}.secret:disabled{cursor:wait}.secret.revealed{letter-spacing:normal;border-style:solid;color:var(--fg);border-color:var(--accent);-webkit-user-select:all;-moz-user-select:all;user-select:all}.secret.denied{border-color:#d1242f;color:#d1242f;letter-spacing:normal}.doc ol,.doc ul{padding-left:24px}.doc li{margin:4px 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px;margin-top:20px}.card{border:1px solid var(--border);border-radius:10px;padding:16px 18px;display:block;color:var(--fg)}.card:hover{border-color:var(--accent);text-decoration:none}.card .t{font-weight:600;margin-bottom:4px}.card .d{font-size:13px}.card .d,.empty{color:var(--muted)}.empty{border:1px dashed var(--border);border-radius:10px;padding:32px;text-align:center}