:root{--color-bg: #ffffff;--color-bg-subtle: #f8fafc;--color-bg-code: #f4f6f9;--color-border: #e6e8ee;--color-border-strong: #d7dbe4;--color-text: #1a2233;--color-text-muted: #5b6472;--color-text-faint: #8b93a1;--color-primary: #2955ea;--color-primary-dark: #1c3fc0;--color-primary-bg: #eef2ff;--color-get: #0f9d58;--color-get-bg: #e6f7ee;--color-post: #2955ea;--color-post-bg: #eef2ff;--color-put: #b6790a;--color-put-bg: #fdf3e0;--color-delete: #d3392f;--color-delete-bg: #fdeceb;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--nav-height: 60px;--sidebar-width: 272px;--toc-width: 220px;--content-max-width: 760px;--radius-sm: 4px;--radius-md: 8px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}table{border-collapse:collapse;width:100%}img,svg{display:block;max-width:100%}.topnav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:40}.topnav__brand{display:flex;align-items:center;gap:8px}.topnav__brand-logo{height:42px;width:auto;display:block}.topnav__links{display:flex;align-items:center;gap:28px}.topnav__links a{font-size:14px;font-weight:500;color:var(--color-text-muted);transition:color .15s ease}.topnav__links a:hover,.topnav__links a.active{color:var(--color-primary)}.topnav__menu-btn{display:none;padding:6px}.doc-shell{padding-top:var(--nav-height);display:flex;max-width:1440px;margin:0 auto}.sidebar{width:var(--sidebar-width);flex-shrink:0;position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height));overflow-y:auto;padding:28px 12px 40px 24px;border-right:1px solid var(--color-border)}.sidebar__top-item{display:block;padding:8px 12px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:500;color:var(--color-text)}.sidebar__top-item:hover{background:var(--color-bg-subtle)}.sidebar__top-item.active{color:var(--color-primary);font-weight:600}.sidebar__section{margin-top:6px}.sidebar__section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:14.5px;font-weight:600;color:var(--color-text);border-radius:var(--radius-sm)}.sidebar__section-toggle:hover{background:var(--color-bg-subtle)}.sidebar__chevron{transition:transform .15s ease;color:var(--color-text-faint);flex-shrink:0}.sidebar__chevron.open{transform:rotate(90deg)}.sidebar__group{margin-left:12px;padding-left:12px;border-left:1px solid var(--color-border);margin-top:2px}.sidebar__group-title{padding:10px 12px 4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint)}.sidebar__link{display:block;padding:6px 12px;border-radius:var(--radius-sm);font-size:14px;color:var(--color-text-muted);line-height:1.4}.sidebar__link:hover{background:var(--color-bg-subtle);color:var(--color-text)}.sidebar__link.active{background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.doc-content{flex:1;min-width:0;padding:32px 40px 96px;max-width:calc(var(--content-max-width) + 80px)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--color-text-faint);margin-bottom:20px}.breadcrumb a{color:var(--color-text-faint)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb__current{color:var(--color-primary);font-weight:500}.breadcrumb__sep{color:var(--color-border-strong)}.breadcrumb__home{display:flex;align-items:center}.toc{width:var(--toc-width);flex-shrink:0;position:sticky;top:var(--nav-height);height:calc(100vh - var(--nav-height));overflow-y:auto;padding:32px 24px 40px 0}.toc__title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:12px}.toc__list{border-left:1px solid var(--color-border)}.toc__link{display:block;padding:5px 0 5px 14px;margin-left:-1px;border-left:2px solid transparent;font-size:13.5px;color:var(--color-text-muted);line-height:1.4}.toc__link:hover{color:var(--color-text)}.toc__link.active{border-left-color:var(--color-primary);color:var(--color-primary);font-weight:500}@media (max-width: 1180px){.toc{display:none}}@media (max-width: 860px){.sidebar{position:fixed;left:0;top:var(--nav-height);background:var(--color-bg);z-index:30;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-sm)}.sidebar.open{transform:translate(0)}.topnav__menu-btn{display:inline-flex}.topnav__links{display:none}.doc-content{padding:24px 20px 80px}}.prose h1{font-size:32px;font-weight:700;letter-spacing:-.01em;color:var(--color-text);margin-bottom:14px}.prose h2{font-size:21px;font-weight:700;color:var(--color-text);margin:40px 0 14px;scroll-margin-top:calc(var(--nav-height) + 16px)}.prose h3{font-size:16px;font-weight:700;color:var(--color-text);margin:28px 0 10px;scroll-margin-top:calc(var(--nav-height) + 16px)}.prose p{font-size:15px;line-height:1.7;color:var(--color-text-muted);margin-bottom:14px}.prose ul,.prose ol{margin:0 0 14px;padding-left:22px}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{font-size:15px;line-height:1.7;color:var(--color-text-muted);margin-bottom:6px}.prose strong{color:var(--color-text);font-weight:600}.prose code{font-family:var(--font-mono);font-size:13px;background:var(--color-bg-code);border:1px solid var(--color-border);border-radius:5px;padding:1px 6px;color:var(--color-primary-dark)}.method-badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.02em;padding:3px 8px;border-radius:5px;line-height:1.4}.method-badge--get{color:var(--color-get);background:var(--color-get-bg)}.method-badge--post{color:var(--color-post);background:var(--color-post-bg)}.method-badge--put{color:var(--color-put);background:var(--color-put-bg)}.method-badge--delete{color:var(--color-delete);background:var(--color-delete-bg)}.endpoint-header{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:18px 0 24px}.endpoint-header__url{font-family:var(--font-mono);font-size:13.5px;color:var(--color-text);word-break:break-all}.endpoint-header__auth{margin-left:4px;font-size:11px;font-weight:600;color:var(--color-text-faint);border:1px solid var(--color-border-strong);border-radius:4px;padding:1px 6px}.endpoint-header__copy{margin-left:auto;padding:4px 8px;border-radius:5px;color:var(--color-text-faint);font-size:12px}.endpoint-header__copy:hover{background:var(--color-border);color:var(--color-text)}.params-table{margin:4px 0 24px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.params-table table{width:100%}.params-table th{text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-faint);background:var(--color-bg-subtle);padding:9px 14px;border-bottom:1px solid var(--color-border)}.params-table td{padding:11px 14px;font-size:14px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);vertical-align:top}.params-table tr:last-child td{border-bottom:none}.params-table td.params-table__name{font-family:var(--font-mono);font-size:13px;color:var(--color-text);white-space:nowrap}.params-table td.params-table__type{color:var(--color-primary-dark);white-space:nowrap}.params-table__required{display:inline-block;margin-top:3px;font-size:11px;font-weight:600;color:var(--color-delete)}.params-table__optional{display:inline-block;margin-top:3px;font-size:11px;color:var(--color-text-faint)}.params-empty{font-size:14px;color:var(--color-text-faint);font-style:italic;margin-bottom:24px}.code-block{position:relative;margin:4px 0 24px;background:#1c2230;border-radius:var(--radius-md);overflow:hidden}.code-block__bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#171c28;border-bottom:1px solid #2a3142}.code-block__label{font-size:12px;font-weight:600;color:#9aa5b8}.code-block__copy{font-size:12px;color:#9aa5b8;padding:3px 8px;border-radius:4px}.code-block__copy:hover{background:#2a3142;color:#fff}.code-block pre{margin:0;padding:16px;overflow-x:auto}.code-block code{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:#d5dae3;background:none;border:none;border-radius:0;padding:0}.error-list{margin:4px 0 24px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.error-list__row{display:flex;gap:14px;padding:10px 14px;border-bottom:1px solid var(--color-border);font-size:14px}.error-list__row:last-child{border-bottom:none}.error-list__status{flex-shrink:0;width:44px;font-family:var(--font-mono);font-weight:700;color:var(--color-delete)}.error-list__message{color:var(--color-text-muted)}.callout{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-subtle);font-size:14px;line-height:1.6;color:var(--color-text-muted);margin-bottom:24px}.callout strong{color:var(--color-text)}.endpoint-cards{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:24px}.endpoint-card{display:flex;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid var(--color-border)}.endpoint-card:last-child{border-bottom:none}.endpoint-card:hover{background:var(--color-bg-subtle)}.endpoint-card__path{font-family:var(--font-mono);font-size:13px;color:var(--color-text-muted)}.endpoint-card__title{font-size:14px;font-weight:500;color:var(--color-text);margin-left:auto}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:24px}@media (max-width: 960px){.builder-layout{grid-template-columns:1fr}}.builder-form{display:flex;flex-direction:column;gap:16px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);min-width:0}.builder-form h3{font-size:14px;font-weight:700;color:var(--color-text);margin:4px 0 0}.builder-form__field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-text-muted)}.builder-form__field>span{font-weight:600;color:var(--color-text)}.builder-form__field input,.builder-form__field select,.builder-form__field textarea{font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);width:100%;min-width:0;box-sizing:border-box}.builder-form__inline{display:flex;gap:12px}.builder-form__inline>*{flex:1}.builder-form__checkbox{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted)}.builder-form__error{color:var(--color-delete);font-size:12px}.builder-form__hint{margin:-8px 0 0;font-size:12px;color:var(--color-text-faint)}.builder-form__submit{display:flex;flex-direction:column;gap:8px;margin-top:8px}.builder-form__submit>button{align-self:flex-start;padding:9px 18px;font-size:14px;font-weight:600;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer}.builder-form__submit>button:disabled{background:var(--color-border-strong);cursor:not-allowed}.builder-form__secondary{align-self:flex-start;padding:8px 16px;font-size:13px;font-weight:600;color:var(--color-primary);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer}.builder-form__secondary:disabled{color:var(--color-text-faint);cursor:not-allowed}.builder-tabs{display:flex;gap:6px;margin-bottom:12px}.builder-tabs__tab{padding:5px 12px;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--color-text-muted);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.builder-tabs__tab.active{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.builder-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;max-height:80vh;overflow-y:auto;min-width:0}.builder-preview__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-faint);margin-bottom:8px}.builder-output{display:flex;flex-direction:column;gap:4px}.param-list-editor__rows{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.param-list-editor__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.param-list-editor__field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-muted);min-width:0}.param-list-editor__field-label{font-weight:600;color:var(--color-text-faint)}.param-list-editor__field input,.param-list-editor__field select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;box-sizing:border-box}.param-list-editor__field--text{flex:1 1 140px;min-width:100px}.param-list-editor__field--select{flex:0 1 110px}.param-list-editor__field--number{flex:0 1 90px}.param-list-editor__field--checkbox{flex:0 0 auto;flex-direction:row;align-items:center}.param-list-editor__remove{border:none;background:none;color:var(--color-text-faint);font-size:18px;line-height:1;cursor:pointer;padding:4px 6px}.param-list-editor__remove:hover{color:var(--color-delete)}.param-list-editor__add{font-size:13px;font-weight:600;color:var(--color-primary);background:none;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer}.callout--error{border-color:var(--color-delete);background:var(--color-delete-bg);color:var(--color-delete)}.build-timeline{display:flex;flex-direction:column;gap:0;margin:4px 0 24px;padding-left:0;list-style:none}.build-timeline__step{position:relative;padding:8px 0 8px 26px;font-size:13px;color:var(--color-text-faint)}.build-timeline__step:before{content:"";position:absolute;left:4px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--color-border-strong)}.build-timeline__step.done{color:var(--color-text-muted)}.build-timeline__step.done:before{background:var(--color-get)}.build-timeline__step.active{color:var(--color-text);font-weight:700}.build-timeline__step.active:before{background:var(--color-primary)}.review-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;margin-bottom:24px}.review-panel h3{font-size:14px;margin:0 0 8px}.review-panel__resources{margin:0 0 16px;padding-left:18px;font-size:13px;color:var(--color-text-muted)}.review-panel__comment{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-text-muted);margin-bottom:12px}.review-panel__comment textarea{font:inherit;padding:8px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.review-panel__actions{display:flex;gap:10px}.review-panel__approve,.review-panel__reject{padding:8px 16px;font-size:13px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;border:none}.review-panel__approve{color:#fff;background:var(--color-get)}.review-panel__reject{color:#fff;background:var(--color-delete)}.review-panel__approve:disabled,.review-panel__reject:disabled{background:var(--color-border-strong);cursor:not-allowed}.auth-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 14px;margin-bottom:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);font-size:13px;color:var(--color-text-muted)}.auth-bar__user strong{color:var(--color-text)}.auth-bar__logout{padding:5px 12px;font-size:12px;font-weight:600;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer}.auth-bar__logout:hover{background:var(--color-border)}.login-page{max-width:380px}.login-form{padding:20px}.not-found{padding:60px 0;text-align:center;color:var(--color-text-muted)}
