/* API 문서 전용 화면. Workbench 스타일과 독립적으로 유지한다. */
:root { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-synthesis:none; font-size:14px; color:#27372e; --line:#e3e8e5; --green:#236547; --muted:#68756e; }
* { box-sizing:border-box; }
body { margin:0; }
a { color:var(--green); }
button { font:inherit; cursor:pointer; }
button:disabled { opacity:.5; cursor:not-allowed; }
[hidden] { display:none!important; }
.eyebrow { font-size:10px; letter-spacing:1.2px; font-weight:700; color:var(--muted); margin:0 0 10px; }
.skip-link { position:fixed; top:-80px; left:20px; z-index:100; padding:12px 20px; background:#fff; border:1px solid var(--green); border-radius:6px; }
.skip-link:focus { top:10px; }
.docs-brand span { margin-left:7px; font-size:12px; font-weight:500; letter-spacing:0; color:var(--muted); }
.docs-page { --line:#e3e8e5; --green:#236547; --muted:#68756e; background:#fff; color:#27372e; }
.docs-header { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; height:76px; min-height:76px; padding:0 36px; gap:28px; background:#ffffffed; backdrop-filter:blur(12px); }
.docs-brand { display:block; font-family:inherit; font-size:21px; font-weight:750; letter-spacing:-.6px; white-space:nowrap; text-decoration:none; }
.docs-header nav { display:flex; align-items:center; flex-wrap:wrap; margin-left:auto; gap:20px; font-size:13px; }
.docs-header nav a { text-decoration:none; }
.docs-header nav a:hover { text-decoration:underline; text-underline-offset:5px; }
#docs-api-base { font-size:11px; background:#f3f6f4; border:1px solid var(--line); padding:6px 10px; border-radius:6px; }
#docs-menu { display:none; }
.docs-layout { display:grid; grid-template-columns:240px minmax(0,760px) 190px; gap:48px; max-width:1430px; min-height:calc(100dvh - 76px); height:auto; padding:40px 32px 0; margin:auto; }
#docs-navigation, #docs-toc { display:block; position:sticky; top:108px; max-height:calc(100dvh - 136px); align-self:start; overflow-y:auto; }
#docs-navigation { padding:0 16px 36px 0; border-right:1px solid var(--line); }
.docs-nav-group { margin:0 0 27px; }
.docs-nav-group .eyebrow { font-size:11px; letter-spacing:.3px; color:#344a3d; padding:0 12px; margin-bottom:9px; }
.docs-nav-group > a { display:block; padding:9px 12px; border-radius:6px; font-size:12px; line-height:1.6; color:#637167; text-decoration:none; transition:background .12s; }
.docs-nav-group > a:hover { color:#236547; background:#f1f6f2; }
.docs-nav-group > a[aria-current=page] { color:#196341; background:#eaf4ed; font-weight:650; box-shadow:inset 3px 0 #3f8a61; }
#docs-toc { border-left:1px solid var(--line); padding-left:19px; }
#docs-toc .eyebrow { font-size:10px; letter-spacing:.2px; color:#5b6c61; }
#docs-toc > a { display:block; padding:5px 0; font-size:11px; line-height:1.7; text-decoration:none; color:#6d7d72; }
#docs-toc > a:hover { color:#226345; background:none; }
#docs-toc > a.toc-level-3 { padding-left:10px; }
#reference { display:block; min-width:0; height:auto; padding:0 0 90px; font-size:14px; line-height:1.85; overflow-wrap:break-word; }
#reference h1 { font-family:inherit; font-size:34px; font-weight:760; line-height:1.4; letter-spacing:-1.1px; margin:0 0 24px; color:#1c3427; }
#reference h2 { font-size:23px; line-height:1.5; letter-spacing:-.4px; margin:40px 0 16px; padding:0 0 10px; border-top:0; border-bottom:1px solid var(--line); }
#reference h3 { font-size:17px; margin:28px 0 12px; }
#reference :is(h1,h2,h3,h4) { scroll-margin-top:108px; }
#reference p { margin:14px 0; }
#reference h1 + p { font-size:15px; color:#5e7064; }
#reference ul, #reference ol { margin:15px 0; padding-left:23px; }
#reference li { padding-left:3px; margin:7px 0; }
#reference li > p { margin:7px 0; }
#reference a { text-underline-offset:4px; overflow-wrap:anywhere; }
#reference a:hover { color:#163e2a; }
#reference code { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.86em; padding:3px 5px; background:#f2f5f3; color:#35614a; border:1px solid #e7ece8; border-radius:4px; }
#reference blockquote { margin:22px 0; padding:3px 19px; border-left:3px solid #72a087; background:#f4f8f5; border-radius:0 6px 6px 0; color:#45614f; }
#reference table { display:table; width:100%; border-collapse:collapse; font-size:12px; line-height:1.7; margin:22px 0; }
#reference td, #reference th { border:1px solid var(--line); padding:11px 13px; text-align:left; vertical-align:top; }
#reference th { background:#f4f7f5; font-weight:650; }
#reference hr { margin:32px 0; border:0; border-top:1px solid var(--line); }
#reference img { max-width:100%; }
#reference .docs-snippet, #reference .docs-diagram { margin:22px 0; border:1px solid #d9e1dc; border-radius:10px; overflow:hidden; }
#reference .snippet-header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:41px; padding:8px 15px; background:#f4f7f5; border-bottom:1px solid #d9e1dc; color:#50675a; font-size:11px; font-weight:650; letter-spacing:.1px; }
#reference .snippet-copy { background:#fff; color:#456452; border:1px solid #d2ddd6; padding:4px 8px; border-radius:5px; font-size:10px; font-weight:500; }
#reference .snippet-copy:hover { border-color:#87a18e; }
#reference pre { margin:0; border:0; border-radius:0; padding:18px 20px; max-height:none; overflow:auto; background:#172c23; color:#e1ebe4; white-space:pre; overflow-wrap:normal; line-height:1.8; }
#reference pre code { display:block; font-size:12px; color:inherit; background:none; border:0; padding:0; white-space:pre; }
#reference .hljs-keyword, #reference .hljs-selector-tag, #reference .hljs-literal { color:#bca6f5; }
#reference .hljs-string, #reference .hljs-regexp, #reference .hljs-template-variable { color:#ace2a2; }
#reference .hljs-number, #reference .hljs-symbol, #reference .hljs-bullet { color:#f4c985; }
#reference .hljs-title, #reference .hljs-built_in, #reference .hljs-type { color:#8dcfe0; }
#reference .hljs-attr, #reference .hljs-property, #reference .hljs-attribute { color:#d6bbed; }
#reference .hljs-comment, #reference .hljs-quote { color:#8fa598; font-style:italic; }
#reference .hljs-meta { color:#e3b87c; }
#reference .hljs-subst, #reference .hljs-params { color:#e1ebe4; }
#reference .docs-diagram { background:#fbfdfb; }
#reference .diagram-canvas { overflow-x:auto; padding:24px 18px; text-align:center; }
#reference .diagram-canvas svg { max-width:100%; height:auto; }
#reference .diagram-source { border-top:1px solid var(--line); }
#reference .diagram-source summary { cursor:pointer; padding:10px 15px; color:#66786b; font-size:11px; }
#reference .diagram-status { margin:0; padding:10px 15px; color:#7f5033; font-size:12px; }
.docs-page :is(a,button,summary):focus-visible { outline:2px solid #3c8b62; outline-offset:3px; }
@media (max-width:1180px) {
  .docs-layout { grid-template-columns:225px minmax(0,760px); gap:32px; max-width:1110px; }
  #docs-toc { display:none; }
  #docs-api-base { display:none; }
}
@media (max-width:760px) {
  .docs-header { height:auto; min-height:70px; padding:15px 20px; gap:16px; flex-wrap:wrap; }
  .docs-header nav { display:flex; align-items:center; flex-wrap:wrap; margin-left:auto; gap:12px; font-size:11px; }
  .docs-brand { font-size:19px; }
  #docs-menu { display:block; margin:0; padding:6px 9px; background:#f5f8f5; color:#345843; border-color:#d1dcd3; font-size:11px; }
  .docs-layout { display:block; padding:26px 20px 0; }
  #docs-navigation { display:none; position:static; max-height:none; margin-bottom:28px; padding:18px 10px 0; border:1px solid var(--line); border-radius:9px; background:#fafcfb; }
  #docs-navigation.is-open { display:block; }
  .docs-nav-group { margin-bottom:20px; }
  #reference h1 { font-size:28px; }
  #reference h2 { font-size:21px; }
  #reference pre { padding:15px; }
  #reference table { display:block; overflow-x:auto; }
}
@media (prefers-reduced-motion:reduce) { .docs-nav-group > a { transition:none; } }
