:root{--bg:#f5f7f7;--surface:#fff;--surface2:#edf3f2;--line:#dfe7e5;--ink:#1c2724;--ink2:#46554f;--ink3:#5a6a65;--accent:#006f66;--accent-ink:#fff;--accent-soft:#dff3f0;--hdr1:#006b62;--hdr2:#007a6e;--brand-yellow:#ffc815;--crit:#a8322a;--crit-soft:#f9e9e7;--warn:#7d5408;--warn-soft:#f7efdd;--ok:#1f6339;--ok-soft:#e4f1e9;--put:#2c5aa8;--on-hdr:#fff;--on-hdr-2:#fffffff2;--on-hdr-3:#ffffffe6;--on-mark:#3d3000;--on-crit:#fff;--f-body:"Sukhumvit Set", -apple-system, "Segoe UI", Thonburi, "Leelawadee UI", sans-serif;--f-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#0f1614;--surface:#17201d;--surface2:#1e2926;--line:#2a3733;--ink:#e4ebe8;--ink2:#b2c1bc;--ink3:#94a5a0;--accent:#2fc7b9;--accent-ink:#062421;--accent-soft:#12352f;--hdr1:#06554d;--hdr2:#0a7268;--crit:#ea8f86;--crit-soft:#33201e;--warn:#d9a84e;--warn-soft:#2f2817;--ok:#6cbb8d;--ok-soft:#1a2f22;--put:#7aa6ec;--on-crit:#2a0d0a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:14px/1.55 var(--f-body);margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code,.mono{font-family:var(--f-mono);font-size:12px}.top{z-index:5;background:linear-gradient(90deg, var(--hdr1), var(--hdr2));color:var(--on-hdr);align-items:center;gap:14px;padding:10px 20px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:9px;font-size:15px;font-weight:700;display:flex}.logo small{color:var(--on-hdr-3);font-weight:400}.mark{background:var(--brand-yellow);width:24px;height:24px;color:var(--on-mark);font-family:var(--f-mono);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.sys{color:var(--on-hdr-2);margin-left:auto;font-size:12px}.shell{grid-template-columns:196px minmax(0,1fr);min-height:calc(100vh - 44px);display:grid}.rail{border-right:1px solid var(--line);padding:14px 10px}.rail a,.rail span{color:var(--ink2);border-radius:7px;align-items:center;gap:8px;margin-bottom:2px;padding:8px 11px;display:flex}.rail a:hover{background:var(--surface2)}.rail a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.rail span{color:var(--ink3);cursor:default}.rail .tk{border:1px solid var(--line);border-radius:99px;margin-left:auto;padding:0 6px;font-size:12px}.content{min-width:0}.ws{grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 44px);display:grid}.tree{border-right:1px solid var(--line);background:var(--surface);min-width:0;padding:12px 10px}.tree-inner{flex-direction:column;gap:8px;display:flex;position:sticky;top:56px}.tree-msg{color:var(--ink3);margin:4px 6px;font-size:12px}.tree-legend{align-items:center;gap:6px;display:flex}.t-tools{gap:6px;display:flex}.t-tools input{min-width:0;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;flex:1 1 0;padding:6px 10px;font-size:12.5px}.t-add{background:var(--accent);width:30px;color:var(--accent-ink);border-radius:7px;place-items:center;font-weight:700;display:grid}.t-list,.t-list ul{margin:0;padding:0;list-style:none}.t-list{max-height:calc(100vh - 160px);font-size:12.5px;overflow-y:auto}.t-proj{border-radius:6px;align-items:center;gap:6px;padding:6px;font-weight:600;display:flex}.t-proj small{color:var(--ink3);margin-left:auto;font-weight:400}.t-proj:hover,.t-ep:hover{background:var(--surface2)}.t-proj[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.t-fold{color:var(--ink2);padding:4px 6px 4px 16px}.t-fold-none{font-style:italic}.t-ep{color:var(--ink2);border-radius:6px;align-items:baseline;gap:8px;min-width:0;padding:4px 6px 4px 28px;display:flex}.t-ep .m{flex:none;width:34px;font-size:12px}.t-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.t-empty{color:var(--ink3);padding:2px 6px 4px 28px;font-size:12px}.t-partner{background:var(--ink);border-radius:99px;flex:none;align-self:center;width:6px;height:6px;margin-left:auto}.tree-legend .t-partner{margin-left:0}.pane{flex-direction:column;gap:16px;min-width:0;padding:20px 24px 48px;padding-inline:max(24px,50% - 620px);display:flex}.pane:has(.scalar-app){padding-inline:24px}.pane>h2,.pane>.sub{margin-bottom:0}.m{font-family:var(--f-mono);letter-spacing:.02em;font-size:12px;font-weight:700}.m-get{color:var(--ok)}.m-post{color:var(--warn)}.m-put,.m-patch{color:var(--put)}.m-delete{color:var(--crit)}.m-head,.m-options{color:var(--ink3)}.card{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.card h3,.folder-head h3{margin:0;font-size:14px}.card h3 small,.folder-head h3 small{color:var(--ink3);margin-left:4px;font-weight:400}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.crumb{color:var(--ink3);margin:0;font-size:12.5px}.desc{max-width:680px;margin:0}.link{color:var(--accent)}.link:hover{text-decoration:underline}.muted{color:var(--ink3)}.small{margin:0;font-size:12px}.form{flex-direction:column;gap:12px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 16px;display:grid}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field label{color:var(--ink2);font-size:12px;font-weight:600}.field input,.field select,.field textarea,.inline-form input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:8px;padding:8px 11px}.field input.mono{font-family:var(--f-mono);font-size:12.5px}.field input:focus,.field select:focus,.field textarea:focus,.inline-form input:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}.err{color:var(--crit);margin:0;font-size:12px}.hint{color:var(--ink3);margin:0;font-size:12px}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.form-actions.start{justify-content:flex-start}.error-card{border-color:var(--crit)}.error-card h2{color:var(--crit)}.apply{background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:8px 20px;font-weight:700}.apply:disabled,.fix:disabled{opacity:.55;cursor:wait}.fix{border:1px solid var(--accent);color:var(--accent);white-space:nowrap;background:0 0;border-radius:7px;padding:5px 12px;font-size:12.5px;font-weight:600}.fix:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}.fix.dim{border-color:var(--line);color:var(--ink2)}.fix.dim:hover:not(:disabled){background:var(--surface2);color:var(--ink)}.fix.danger{border-color:var(--crit);color:var(--crit)}.fix.danger:hover:not(:disabled),.fix.danger.solid{background:var(--crit);color:var(--on-crit)}.confirm{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.confirm-warn{color:var(--crit);font-size:12px}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input{width:240px;max-width:100%;padding:6px 10px}.inline-form .err{flex-basis:100%}.folders{flex-direction:column;gap:10px;display:flex}.folder{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.folder-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.folder-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.ep-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ep-list li{border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:10px;padding:4px 6px;display:flex}.ep-list li:target{background:var(--accent-soft)}.ep-list .m{width:34px}.chip-partner{background:var(--ink);color:var(--bg);border-radius:99px;padding:1px 8px;font-size:12px}.danger-zone{border-color:var(--crit-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h2{margin:0 0 4px;font-size:16px}.sub{color:var(--ink2);margin:0 0 16px;font-size:12.5px}.tblwrap{border:1px solid var(--line);border-radius:10px;position:relative;overflow-x:auto}table{border-collapse:collapse;background:var(--surface);width:100%}th{text-align:left;color:var(--ink2);background:var(--surface2);padding:9px 14px;font-size:12px;font-weight:600}td{border-top:1px solid var(--line);padding:10px 14px}.empty{text-align:center;color:var(--ink3);border:1px dashed var(--line);background:var(--surface);border-radius:10px;padding:36px;font-size:13px}.rnote{border:1px solid var(--crit);background:var(--crit-soft);color:var(--crit);border-radius:6px;padding:8px 12px;font-size:12.5px}@media (max-width:760px){.shell{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);gap:4px;padding:8px 16px;display:flex;overflow-x:auto}.rail a,.rail span{white-space:nowrap;margin:0}.rail span .tk{display:none}}@media (max-width:900px){.ws{grid-template-columns:1fr}.tree{border-right:0;border-bottom:1px solid var(--line)}.tree-inner{position:static}.t-list{max-height:280px}.pane{padding:16px}}.user-menu{align-items:center;gap:12px;display:inline-flex}.user-link{color:var(--on-hdr-2)}.user-link:hover{color:var(--on-hdr);text-decoration:underline}.user-link b{color:var(--on-hdr);font-weight:600}.signout{border:1px solid var(--on-hdr-3);color:inherit;background:0 0;border-radius:99px;padding:2px 10px;font-size:12px}.signout:hover{border-color:var(--on-hdr)}.gate{grid-template-columns:minmax(0,380px);place-content:center;min-height:calc(100vh - 44px);padding:24px 16px;display:grid}.gate-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;min-width:0;padding:28px}@media (max-width:420px){.gate-card{padding:22px 18px}}.gate-card h2{margin-bottom:4px}.apply.wide{width:100%;padding:10px}.form.narrow{max-width:420px}.rnote.ok{border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.temp-pw{-webkit-user-select:all;user-select:all;padding:2px 8px;font-size:13px}.fix.sm{padding:3px 10px;font-size:12px}.row-actions{flex-wrap:wrap;align-items:flex-start;gap:6px;display:inline-flex}.row-actions .rnote{flex-basis:100%;margin-top:6px}.role-help{margin:0;padding-left:18px}td select{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:7px;padding:4px 8px;font-size:12.5px}.btns{flex-wrap:wrap;align-items:flex-start;gap:8px;display:inline-flex}.ep-list li a{flex-wrap:wrap;flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.ep-list li:hover{background:var(--surface2)}.add-ep{color:var(--accent);margin-top:6px;font-size:12px;display:inline-block}.add-ep:hover{text-decoration:underline}.t-ep[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.ep-editor{flex-direction:column;gap:16px;display:flex}.reqline{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.reqline .grow{flex:260px}.reqline .meth{flex:0 0 120px}.reqline .status{flex:0 0 110px}.reqline .end{align-self:flex-end;margin-bottom:8px}.check{color:var(--ink2);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}table.kv th,table.kv td{vertical-align:top;padding:6px 8px}table.kv input:not([type=checkbox]),table.kv select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:90px;color:var(--ink);font:inherit;border-radius:7px;padding:5px 8px;font-size:12.5px}table.kv input.mono{font-family:var(--f-mono)}table.kv input:focus,table.kv select:focus{border-color:var(--accent);outline:none}table.kv .ck{text-align:center;vertical-align:middle}table.kv .err{margin-top:4px}[aria-invalid=true]{border-color:var(--crit)!important}.del{color:var(--ink3);background:0 0;border:1px solid #0000;border-radius:6px;width:28px;height:28px;font-size:16px;line-height:1}.del:hover{color:var(--crit);border-color:var(--crit-soft);background:var(--crit-soft)}.resp-row{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.resp-row:first-of-type{border-top:0;padding-top:0}.schema-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.schema-label{color:var(--ink2);font-size:12px;font-weight:600}.json-editor{border:1px solid var(--line);border-radius:8px;overflow:hidden}.json-editor.invalid{border-color:var(--crit)}.json-loading{color:var(--ink3);padding:12px;font-size:12px}.savebar{border:1px solid var(--line);background:var(--surface);z-index:2;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;bottom:0}.savebar-sum{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:baseline;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.save-ok{color:var(--ok);font-size:12.5px}.save-err{color:var(--crit);font-size:12.5px}.ep-line{align-items:baseline;gap:10px;margin:0;font-size:15px;display:flex}.pre-line{white-space:pre-line}pre.code{background:var(--surface2);font:12px/1.5 var(--f-mono);border-radius:8px;margin:0;padding:10px 12px;overflow-x:auto}code{font-family:var(--f-mono);background:var(--surface2);border-radius:5px;padding:1px 5px;font-size:max(12px,.92em)}.env-edit{border-top:1px solid var(--line);padding-top:10px}.env-edit summary{cursor:pointer;color:var(--accent);font-size:12.5px;font-weight:600}.env-edit[open] summary{margin-bottom:12px}.field textarea.mono{font-family:var(--f-mono);font-size:12.5px}.tabs,.subtabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow:auto hidden}.tabs [role=tab],.subtabs [role=tab]{color:var(--ink2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:600}.subtabs [role=tab]{padding:6px 12px;font-size:12.5px}.tabs [role=tab] small,.subtabs [role=tab] small{color:var(--ink3);margin-left:2px;font-weight:400}.tabs [role=tab][aria-selected=true],.subtabs [role=tab][aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.tabs [role=tab]:hover,.subtabs [role=tab]:hover{color:var(--ink)}.tabpanel{flex-direction:column;gap:16px;min-width:0;padding-top:14px;display:flex}.tabpanel[hidden]{display:none}.subtabs+.tabpanel,.subtabs~.tabpanel{gap:10px;padding-top:10px}.rb{flex-direction:column;gap:12px;min-width:0;display:flex}.rb-env{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.rb-env .field{flex:0 260px}.rb-vars{flex-wrap:wrap;gap:6px;margin:0 0 6px;display:flex}.rb-url{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:stretch;min-width:0;display:flex}.rb-url:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.field .rb-url input{box-shadow:none;border:0;border-right:1px dashed var(--line);border-radius:8px 0 0 8px;flex:0 220px;min-width:90px}.rb-path{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;align-self:center;min-width:0;padding:0 11px;font-size:12.5px;overflow:hidden}.rb-preview{overflow-wrap:anywhere;margin:-4px 0 0}table.kv tr.off td{opacity:.6}table.kv tr.off td.ck{opacity:1}.rb-key{align-items:center;gap:6px;display:flex}.req{color:var(--crit);white-space:nowrap;font-size:12px}.rb-actions{white-space:nowrap;text-align:right}.rb-below{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rb-modes{flex-wrap:wrap;gap:16px;display:flex}.rb-narrow{max-width:260px}.rb-resp-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.rb-status{font-family:var(--f-mono);border-radius:6px;padding:1px 8px;font-size:12.5px;font-weight:700}.rb-status.ok{color:var(--ok);background:var(--ok-soft)}.rb-status.warn{color:var(--warn);background:var(--warn-soft)}.rb-status.crit{color:var(--crit);background:var(--crit-soft)}pre.rb-body{white-space:pre-wrap;overflow-wrap:anywhere;max-height:480px;overflow:auto}.rb-hval{overflow-wrap:anywhere}.doc-index summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.doc-index[open] summary{margin-bottom:4px}.doc-index td .muted.small{display:block}.api-ref{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:320px;overflow:hidden}.api-ref>.muted{padding:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 14px}.stat .k{color:var(--ink2);font-size:12px}.stat .v{font-size:22px;font-weight:700}.stat.warn{border-color:var(--warn);background:var(--warn-soft)}.stat.warn .v{color:var(--warn)}.catalog-filters{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.catalog-filters .grow{flex:240px}.catalog-filters .end{align-self:flex-end}.catalog-filters .check.end{margin-bottom:9px}td.num{white-space:nowrap}.chip-stale{background:var(--warn-soft);color:var(--warn);white-space:nowrap;border-radius:99px;margin-left:6px;padding:1px 8px;font-size:12px}.cat-desc{display:block}.stale-card{border-color:var(--warn)}fieldset.rb-modes{border:0;margin:0;padding:0}fieldset.rb-modes legend{margin-bottom:6px}.import-counts{flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;display:flex}.import-result{border-color:var(--ok)}.md{overflow-wrap:anywhere;max-width:760px;line-height:1.7}.md>:first-child{margin-top:0}.md h1{font-size:20px}.md h2{margin-top:22px;font-size:16px}.md h3{font-size:14px}.md pre{background:var(--surface2);border-radius:8px;padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;padding:0}.md blockquote{border-left:3px solid var(--line);color:var(--ink2);margin:0;padding-left:12px}.md .tblwrap{margin:10px 0}.md-input{min-height:320px;font-family:var(--f-mono);font-size:12.5px;line-height:1.6}.guide-list li a{align-items:baseline}.rb-save{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding-top:10px;display:flex}.rb-save .grow{flex:240px}.rb-save .hint,.rb-save .err{flex-basis:100%}.rb-prod{color:var(--warn);flex-basis:100%}details.example{border-top:1px solid var(--line);padding:8px 0}details.example summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}details.example[open]{flex-direction:column;gap:8px;display:flex}.infer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field-vis{border:1px solid var(--line);border-radius:8px;margin-top:8px;padding:8px 12px;font-size:12.5px}.field-vis summary{cursor:pointer;color:var(--ink2);font-weight:600}.field-vis summary small{color:var(--ink3);font-weight:400}.field-vis .btns{gap:6px;margin:8px 0;display:flex}.field-vis ul{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.field-vis li small{color:var(--ink3)}.chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:2px 10px;font-size:12.5px;font-weight:600}.pre{background:var(--surface2);border:1px solid var(--line);font-family:var(--f-mono);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;margin:4px 0 10px;padding:10px 12px;font-size:12px;line-height:1.6}.export-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.export-side{position:sticky;top:64px}.checklist{gap:6px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.checklist li{border-left:3px solid var(--line);overflow-wrap:anywhere;padding:3px 0 3px 10px}.checklist li.ok{border-left-color:var(--ok)}.checklist li.warn{border-left-color:var(--warn)}.checklist li.block{border-left-color:var(--crit);color:var(--crit)}@media (max-width:1100px){.export-grid{grid-template-columns:minmax(0,1fr)}.export-side{position:static}}.stack{gap:14px;min-width:0;display:grid}.guide-pick{border:0;gap:6px;margin:0;padding:0;display:grid}.guide-pick legend{color:var(--ink2);margin-bottom:4px;padding:0;font-size:12px;font-weight:600}.fill-schemas{flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.fill-schemas .hint{margin:0}::placeholder{color:var(--ink3);opacity:1}small{font-size:max(12px,.85em)}.split{grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:start;gap:16px;display:grid}.split.even{grid-template-columns:repeat(2,minmax(0,1fr))}.split .form.narrow{max-width:none}.steps{counter-reset:step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;grid-template-columns:28px minmax(0,1fr);column-gap:12px;display:grid}.steps li:before{content:counter(step);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;grid-row:span 2;place-items:center;font-weight:700;display:grid}.steps span{color:var(--ink2)}.facts{grid-template-columns:max-content minmax(0,1fr);gap:10px 20px;margin:0;display:grid}.facts dt{color:var(--ink2)}.facts dd{overflow-wrap:anywhere;margin:0}@media (max-width:1100px){.split,.split.even{grid-template-columns:minmax(0,1fr)}}
