:root{--color-bg: #ffffff;--color-text: #172026;--color-primary: #0f4fb3;--color-primary-600: #1b5fc9;--color-primary-700: #0f3e91;--color-border: #d0dbed;--color-muted: #57707b;--color-surface: #ffffff;--color-surface-alt: #edf3ff;--color-sidebar: #0a3c86;--color-sidebar-text: #eef4ff;--focus-ring: 0 0 0 3px rgba(27, 95, 201, .35)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--color-text);background:var(--color-bg)}code,pre{font-family:Courier New,Courier,monospace}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:8px}.layout{min-height:100vh;background:#f8f9fc}.topbar{background:#1b3a8f;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.09)}.topbar-left{display:flex;align-items:center;min-width:240px;max-width:240px}.brand-logo-full{height:28px;width:auto;filter:brightness(0) invert(1)}.topbar-title{margin:0;position:absolute;left:50%;transform:translate(-50%);font-size:1rem;font-weight:700;color:#fff;letter-spacing:.01em;white-space:nowrap;pointer-events:none;max-width:48vw;overflow:hidden;text-overflow:ellipsis}.topbar-right{min-width:240px;max-width:240px;display:flex;flex-direction:column;align-items:stretch;gap:2px}.topbar-right label{font-size:9px;letter-spacing:.9px;text-transform:uppercase;color:#b9cff7;line-height:1;text-align:right}.topbar-select-wrap{position:relative}.topbar-right select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;background:#2f55b2;border:1px solid #7d9de0;border-radius:6px;color:#f4f8ff;font-size:13px;font-weight:600;line-height:1.25;letter-spacing:.01em;padding:6px 34px 6px 11px;height:30px;background-image:linear-gradient(45deg,transparent 50%,#d7e5ff 50%),linear-gradient(135deg,#d7e5ff 50%,transparent 50%);background-position:calc(100% - 13px) 12px,calc(100% - 8px) 12px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;box-shadow:inset 0 1px #ffffff14;text-rendering:geometricPrecision}.topbar-right select option{color:#12264f}.topbar-right select:focus{outline:none;border-color:#b3caf8;box-shadow:0 0 0 2px #a3c1f740}.app-body{min-height:100vh}.content{margin-left:240px;margin-top:52px;min-height:calc(100vh - 52px);background:#f8f9fc;padding:32px 40px 120px}@media (max-width: 1080px){.topbar{padding:0 12px}.topbar-title{font-size:.9rem;max-width:52vw;overflow:hidden;text-overflow:ellipsis}.topbar-left,.topbar-right{min-width:120px;max-width:120px}.topbar-right select{font-size:11px;height:28px}.content{margin-left:0;padding:20px 14px 120px}}.sidebar{background:#1a3080;width:240px;height:calc(100vh - 52px);position:fixed;top:52px;left:0;overflow-y:auto;padding-top:12px;border-right:1px solid rgba(255,255,255,.08);animation:sidebarFadeIn .26s ease-out}.menu-section{margin-bottom:6px}.menu-section h2{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#7fa4e0;padding:0 20px;margin:0 0 4px}.menu-section ul{margin:0;padding:0;list-style:none}.module-toggle{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;color:#c8d8f5;font-size:15px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .14s ease,color .18s ease;padding:10px 20px;border-left:4px solid transparent}.module-toggle:hover{background:#ffffff0f;transform:translate(2px)}.module-toggle.open{background:#2a4daa;color:#fff;font-weight:500;border-left-color:#5b8fe8}.menu-section a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:#c8d8f5;font-size:15px;text-decoration:none;cursor:pointer;border-left:4px solid transparent;transition:background .18s ease,border-color .18s ease,transform .14s ease,color .18s ease}.menu-section a:hover{background:#ffffff0f;transform:translate(2px)}.menu-section a.active{background:#2a4daa;color:#fff;font-weight:500;border-left-color:#5b8fe8}.menu-icon{width:16px;height:16px;border-radius:4px;background:#3b5fc0;display:inline-flex;align-items:center;justify-content:center;color:#f5f8ff;flex:0 0 16px}.menu-icon svg{width:12px;height:12px;fill:currentColor}.module-title,.route-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.module-caret,.submenu-chevron{margin-left:auto;color:#7fa4e0;display:inline-flex;align-items:center;justify-content:center}.module-caret svg,.submenu-chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s ease}.module-caret svg.open{transform:rotate(90deg)}.module-panel{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-4px);pointer-events:none;transition:grid-template-rows .22s ease,opacity .2s ease,transform .2s ease}.module-panel>ul{min-height:0;overflow:hidden}.module-panel.open{grid-template-rows:1fr;opacity:1;transform:translateY(0);pointer-events:auto}.module-panel ul{padding:0}.module-panel a{padding:8px 20px 8px 38px;font-size:13px;color:#a8c4f8;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;border-left:4px solid transparent;transition:background .18s ease,border-color .18s ease,transform .14s ease,color .18s ease}.module-panel a:before{content:"•";color:#a8c4f8;line-height:1}.method-inline{font-size:13px;font-weight:600;text-transform:lowercase;color:#a8c4f8}.path-inline{font-size:13px;color:#a8c4f8;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-panel a.active{background:#1d3b7a;border-left-color:#60a5fa;color:#fff;font-weight:500}.module-panel a.active .path-inline{color:#60a5fa}.module-panel a.active .method-inline,.module-panel a.active:before{color:#fff}@keyframes sidebarFadeIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.submenu-icon{display:none}@media (max-width: 1080px){.sidebar{position:static;width:100%;top:auto;height:auto;max-height:46vh}}.home .eyebrow{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-600)}.home h2{margin:8px 0 12px;font-size:2rem;color:#162a32}.home>p{max-width:840px;color:#38505b;line-height:1.5}.home-doc{margin-top:18px;max-width:920px}.home-doc h3{margin:0 0 8px;color:#123b78}.home-doc h3:not(:first-child){margin-top:18px}.home-doc p{margin:0;color:#38505b;line-height:1.5}.home-doc p+p{margin-top:10px}.home-doc a{color:var(--color-primary-600);font-weight:700;text-decoration:none}.home-doc a:hover{text-decoration:underline}.home-doc code{background:var(--color-surface-alt);border-radius:6px;padding:2px 6px}.home-doc pre{margin:0;overflow:auto;max-height:360px;background:#111c25;color:#e0eef3;border-radius:10px;padding:14px;font-size:.82rem}.home-doc pre+h3{margin-top:18px}.compact-list{margin:0;padding-left:18px;color:#3e5561}.compact-list li+li{margin-top:6px}.endpoint-header,.endpoint-form,.endpoint-detail,.request-example,.payload-box,.result-box{border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);padding:18px}.endpoint-header,.endpoint-form,.endpoint-detail,.request-example{margin-bottom:16px}.payload-box{margin-bottom:16px;width:100%;max-width:none}.route-method{margin:0;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.route-method[data-method=get]{color:#1b5fc9}.route-method[data-method=post]{color:#1d65d4}.route-method[data-method=delete]{color:#1650ac}.endpoint-header h2{margin:8px 0;font-size:1.4rem;color:#1b323b}.endpoint-header p,.endpoint-detail p{margin:0;color:#3e5561}.endpoint-detail p+p{margin-top:8px}.endpoint-detail h3{margin:0}.endpoint-detail h4{margin:12px 0 6px;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;color:#2f568f}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.detail-method{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid #cfe0fb;background:#edf3ff;color:#1d4f95}.detail-method[data-method=get]{background:#edf3ff;border-color:#d6e5ff;color:#22559c}.detail-method[data-method=post]{background:#ebf7ee;border-color:#d4edd9;color:#1f7f3e}.detail-method[data-method=delete]{background:#fff1f1;border-color:#ffd9d9;color:#bf2f2f}.url-preview{display:flex;gap:8px;align-items:center;margin-bottom:16px;color:#39525d;font-size:.9rem}.url-preview code{background:#eef3fd;border:1px solid #d8e2f7;padding:5px 9px;border-radius:8px;color:#25466f;font-size:.9rem}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.field.full{grid-column:1 / -1}.field{display:grid;gap:7px}.field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-label{display:block;margin:0;font-weight:600;font-size:.89rem;color:#1f3038}.field-example{display:block;margin-top:2px;font-size:.73rem;font-weight:500;color:#5f7288}.field-head small{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:2px 8px;border-radius:999px;background:#edf3ff;border:1px solid #d6e2f8;color:#3a5f93;font-size:.63rem;font-weight:700;letter-spacing:.04em}.field input,.field textarea{width:100%;border:1px solid #c8d6ef;border-radius:8px;padding:8px 10px;font-size:.86rem;background:#fff;color:#1b2e44;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.field input::placeholder,.field textarea::placeholder{color:#7b8a9b}.field input:focus,.field textarea:focus{outline:none;border-color:#5c8fdf;box-shadow:0 0 0 3px #5c8fdf26;background:#fff}.field textarea{resize:vertical}.no-fields,.placeholder{margin:0;color:var(--color-muted)}.actions{margin-top:14px;display:flex;gap:8px}.actions button{border:none;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:700}.actions button[type=submit]{background:var(--color-primary-600);color:#fff}.actions .ghost{background:var(--color-surface-alt);color:#1f3038}.request-example pre,.payload-box pre,.result-box pre{margin:0;overflow:auto;max-height:420px;background:#0f1b24;color:#d9edf2;border-radius:10px;padding:14px;font-size:.82rem}.syntax-block code{color:#d9edf2}.syntax-block .tok-key{color:#8fc8ff}.syntax-block .tok-string{color:#a7f3d0}.syntax-block .tok-number{color:#fcd58d}.syntax-block .tok-bool{color:#c7b7ff}.syntax-block .tok-cmd{color:#93c5fd;font-weight:700}.syntax-block .tok-method{color:#60a5fa;font-weight:700}.syntax-block .tok-placeholder{color:#f9a8d4}.request-example h3,.result-box h3{margin:0 0 8px}.payload-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.payload-head h3{margin:0}.payload-actions{margin-top:10px;display:flex}.payload-subtitle{margin:12px 0 8px;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;color:#2f568f}.payload-actions button{border:none;border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:700;background:var(--color-primary-600);color:#fff}.payload-actions button:disabled{opacity:.7;cursor:not-allowed}.result-box{width:100%;max-width:none}.result-box .status{margin:0 0 8px;font-weight:700}.result-box .status.success{color:#1b5fc9}.result-box .status.error{color:#1650ac}.request-url{margin:0 0 10px;color:#4d6974;font-size:.85rem;overflow-x:auto;white-space:nowrap}@media (max-width: 1080px){.field-grid{grid-template-columns:1fr}}.custom-alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0811236b;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;animation:alertFadeIn .16s ease}.custom-alert{width:min(520px,calc(100vw - 32px));background:#fff;border:1px solid #d0dbed;border-radius:14px;padding:18px;box-shadow:0 16px 32px #07163540;animation:alertScaleIn .18s ease}.custom-alert h3{margin:0 0 8px;color:#143466}.custom-alert p{margin:0;color:#3e5561;line-height:1.45}.custom-alert-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.custom-alert-actions button{border:none;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:700}.custom-alert-actions .ghost{background:#edf3ff;color:#1f3038}.custom-alert-actions button:not(.ghost){background:var(--color-primary-600);color:#fff}@keyframes alertFadeIn{0%{opacity:0}to{opacity:1}}@keyframes alertScaleIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.api-key-dock{position:fixed;right:18px;bottom:18px;width:min(380px,calc(100vw - 36px));background:#fffe;border:1px solid #c7d5ef;border-radius:12px;box-shadow:0 10px 24px #00000029;padding:14px;display:grid;gap:8px;z-index:30;opacity:1;transform:translateY(0) scale(1);transition:opacity .18s ease,transform .18s ease}.dock-title{margin:0;font-weight:800;color:#15313a}.dock-header{display:flex;align-items:center;justify-content:space-between}.dock-close-icon{color:#5b6f90;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.dock-close-icon:hover{color:#1b2f55}.api-key-dock input{border:1px solid #c9d6dc;border-radius:8px;padding:8px 10px;font-size:.86rem}.dock-environment{display:grid;gap:4px}.dock-environment label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#48617a;font-weight:700}.dock-environment select{border:1px solid #c9d6dc;border-radius:8px;padding:8px 10px;font-size:.84rem;color:#18314d;background:#f8fbff}.dock-environment select:focus{outline:none;border-color:#6c92d8;box-shadow:0 0 0 2px #6c92d82e}.dock-actions{display:flex;gap:8px}.api-key-dock button{border:none;background:var(--color-primary-600);color:#fff;border-radius:8px;padding:10px;font-weight:700;cursor:pointer;flex:1}.api-key-dock button.ghost{background:var(--color-surface-alt);color:#1f3038}.api-key-dock small{color:#4f6974}.api-key-dock-fab{position:fixed;right:18px;bottom:18px;width:68px;height:68px;border:0;border-radius:50%;background:var(--color-primary-600);color:#fff;box-shadow:0 10px 24px #0003;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:31;opacity:0;transform:scale(.75);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.api-key-dock-fab svg{width:31px;height:31px;stroke:currentColor;stroke-width:2.15;fill:none}.api-key-dock.is-hidden{opacity:0;transform:translateY(10px) scale(.96);pointer-events:none}.api-key-dock-fab.is-visible{opacity:1;transform:scale(1);pointer-events:auto}
