@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&family=Syne:wght@500;600;700;800&display=swap";:root{--bg:#0a0a0f;--bg-grid:#ffffff05;--surface:#0f0f17;--surface-2:#14141f;--surface-3:#1a1a26;--line:#ffffff0f;--line-bright:#00e5ff38;--text:#e8e8f4;--text-dim:#8b8ba3;--text-faint:#4d4d62;--cyan:#00e5ff;--cyan-soft:#00e5ff24;--violet:#7c3aed;--violet-soft:#7c3aed29;--green:#0f8;--green-soft:#00ff8824;--amber:#f5a623;--amber-soft:#f5a62329;--rose:#ff3b6b;--rose-soft:#ff3b6b29;--header:"Syne", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--mono);color:var(--text);background:var(--bg);letter-spacing:.005em;-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.55;overflow:hidden}body:before{content:"";background-image:linear-gradient(var(--bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px);pointer-events:none;z-index:1;background-size:32px 32px;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:1;mix-blend-mode:screen;background-image:repeating-linear-gradient(0deg,#00e5ff03 0 1px,#0000 1px 3px);position:fixed;inset:0}.glow-bg{pointer-events:none;z-index:0;filter:blur(40px);background:radial-gradient(circle,#00e5ff12,#0000 60%);width:60vw;height:60vh;position:fixed;top:-20vh;left:-10vw}.glow-bg.violet{background:radial-gradient(circle,#7c3aed12,#0000 60%);inset:auto -10vw -20vh auto}::selection{background:var(--cyan-soft);color:var(--cyan)}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}a{color:var(--cyan);text-decoration:none}.signin{z-index:10;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.signin-card{border:1px solid var(--line);background:linear-gradient(180deg, #00e5ff06, transparent 30%), var(--surface);text-align:left;border-radius:8px;width:min(440px,92vw);padding:44px 40px 36px;animation:.45s ease-out fadeUp;position:relative}.signin-brand{align-items:baseline;gap:6px;margin-bottom:28px;display:flex}.signin-brand .cursor{background:var(--cyan);width:9px;height:16px;animation:1.05s steps(2,end) infinite blink;display:inline-block;transform:translateY(2px);box-shadow:0 0 12px #00e5ff99}.signin-brand .name{font-family:var(--mono);letter-spacing:.02em;font-size:22px;font-weight:700}.signin-brand .name em{color:var(--cyan);font-style:normal}.signin-brand .tag{letter-spacing:.18em;color:var(--text-faint);border:1px solid var(--line);text-transform:uppercase;border-radius:2px;margin-left:auto;padding:3px 7px;font-size:9.5px}.signin-card h1{font-family:var(--header);letter-spacing:-.01em;margin-bottom:6px;font-size:26px;font-weight:700;line-height:1.15}.signin-card h1 em{color:var(--cyan);font-style:normal}.signin-card .lede{color:var(--text-dim);margin-bottom:26px;font-size:12.5px;line-height:1.65}.signin-card .err{background:var(--rose-soft);border:1px solid var(--rose);color:var(--rose);border-radius:4px;margin:-10px 0 18px;padding:10px 14px;font-size:12px;display:none}.signin-card .err.visible{display:block}.signin-card .signin-action{text-align:center;width:100%;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);background:var(--cyan-soft);border:1px solid var(--cyan);border-radius:3px;padding:14px 18px;font-size:12.5px;font-weight:600;transition:all .14s;display:block}.signin-card .signin-action:hover{background:#00e5ff38;box-shadow:0 0 22px #00e5ff40}.signin-card details{color:var(--text-faint);letter-spacing:.04em;margin-top:22px;font-size:11.5px}.signin-card details summary{cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px}.signin-card details summary:hover{color:var(--cyan)}.signin-card details p{color:var(--text-dim);margin-top:10px;line-height:1.65}.app{z-index:2;grid-template-columns:280px 1fr;height:100vh;display:grid;position:relative}.app.hidden{display:none}aside{border-right:1px solid var(--line);background:linear-gradient(#00e5ff05,#0000 30%);flex-direction:column;display:flex;overflow-y:auto}.brand{border-bottom:1px solid var(--line);align-items:baseline;gap:6px;padding:26px 24px 18px;display:flex}.brand .cursor{background:var(--cyan);width:9px;height:16px;animation:1.05s steps(2,end) infinite blink;display:inline-block;transform:translateY(2px);box-shadow:0 0 12px #00e5ff99}@keyframes blink{50%{opacity:0}}.brand .name{font-family:var(--mono);letter-spacing:.02em;font-size:17px;font-weight:700}.brand .name em{color:var(--cyan);font-style:normal}.brand .tag{letter-spacing:.18em;color:var(--text-faint);border:1px solid var(--line);text-transform:uppercase;border-radius:2px;margin-left:auto;padding:3px 7px;font-size:9.5px}.role-strip{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 24px 8px;display:flex}.role-badge{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:4px 8px;font-size:9.5px;font-weight:700}.role-badge.developer{color:var(--text-dim);background:#8b8ba314}.role-badge.admin{color:var(--violet);background:var(--violet-soft)}.role-strip .email{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.nav-section{padding:18px 16px 6px}.nav-section h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;color:var(--text-faint);align-items:center;gap:8px;padding:0 8px 8px;font-size:9.5px;font-weight:500;display:flex}.nav-section h4:before{content:"";background:var(--text-faint);border-radius:50%;width:5px;height:5px}.nav-link{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;transition:all .12s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:linear-gradient(90deg, var(--cyan-soft), transparent 90%);color:var(--cyan);border-left:2px solid var(--cyan);padding-left:10px;box-shadow:inset 0 0 12px #00e5ff0d}.nav-link.admin-only{display:none}body.is-admin .nav-link.admin-only{display:flex}.nav-link svg{opacity:.8;width:14px;height:14px}.statusbar{border-top:1px solid var(--line);color:var(--text-dim);background:var(--surface);align-items:center;gap:10px;margin-top:auto;padding:14px 24px;font-size:11px;display:flex}.pulse-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 8px var(--green);border-radius:50%;position:relative}.pulse-dot:after{content:"";border:1px solid var(--green);border-radius:50%;animation:1.6s ease-out infinite pulse;position:absolute;inset:-3px}@keyframes pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(2.5)}}.statusbar .signout{cursor:pointer;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);-webkit-user-select:none;user-select:none;margin-left:auto;font-size:10px}.statusbar .signout:hover{color:var(--rose)}main{position:relative;overflow-y:auto}.view{max-width:1280px;padding:36px 44px 60px;display:none}.view.active{animation:.5s ease-out backwards fadeUp;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero{border:1px solid var(--line);background:linear-gradient(135deg, #00e5ff08, #7c3aed08), var(--surface);border-radius:6px;align-items:center;gap:32px;margin-bottom:28px;padding:28px 32px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 100%,#00e5ff1a,#0000 70%);width:280px;height:100%;position:absolute;top:0;right:0}.hero-title{font-family:var(--header);letter-spacing:-.01em;font-size:32px;font-weight:700;line-height:1.05}.hero-title small{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px;font-size:10.5px;font-weight:500;display:block}.hero-title em{color:var(--cyan);font-style:normal}.hero-stats{z-index:1;grid-template-columns:repeat(4,auto);gap:28px;margin-left:auto;display:grid}.stat label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-bottom:3px;font-size:9.5px;display:block}.stat .num{font-family:var(--header);letter-spacing:-.01em;font-size:22px;font-weight:600}.stat .num em{color:var(--cyan);font-style:normal}.stat .num .unit{font-family:var(--mono);color:var(--text-dim);margin-left:2px;font-size:11px;font-weight:400}.label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:10px;margin:18px 0 14px;font-size:10.5px;font-weight:600;display:flex}.label:before{content:"";background:var(--cyan);width:22px;height:1px}.label .num{font-family:var(--header);color:var(--cyan);font-size:12px;font-weight:700}.panel{border:1px solid var(--line);background:var(--surface);border-radius:6px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);letter-spacing:.04em;align-items:center;gap:10px;padding:14px 18px;font-size:11.5px;font-weight:600;display:flex}.panel-head .dot{background:var(--cyan);width:6px;height:6px;box-shadow:0 0 8px var(--cyan);border-radius:50%}.panel-head .meta{color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;font-size:10px}.panel-body{padding:16px 18px}.method{font-family:var(--mono);letter-spacing:.08em;text-align:center;text-transform:uppercase;border:1px solid;border-radius:2px;padding:3px 6px;font-size:9.5px;font-weight:700;line-height:1}.method.get{color:var(--green);background:var(--green-soft)}.method.post{color:var(--cyan);background:var(--cyan-soft)}.method.put{color:var(--amber);background:var(--amber-soft)}.method.delete{color:var(--rose);background:var(--rose-soft)}.method.patch{color:var(--violet);background:var(--violet-soft)}.method.head,.method.options{color:var(--text-dim);background:var(--surface-2)}.path-display{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.path-display .var{color:var(--cyan)}.path-display .var:before{content:"{";opacity:.6}.path-display .var:after{content:"}";opacity:.6}.btn{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid var(--cyan);color:var(--cyan);background:0 0;border-radius:3px;padding:8px 16px;font-size:11.5px;font-weight:600;transition:all .14s}.btn:hover{background:var(--cyan-soft);box-shadow:0 0 16px #00e5ff40}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.4;cursor:wait;pointer-events:none}.btn.ghost{border-color:var(--line);color:var(--text-dim)}.btn.ghost:hover{color:var(--cyan);border-color:var(--cyan);background:var(--cyan-soft)}.btn.danger{border-color:var(--rose);color:var(--rose)}.btn.danger:hover{background:var(--rose-soft);box-shadow:0 0 16px #ff3b6b33}.btn.small{letter-spacing:.08em;padding:5px 10px;font-size:10px}.search{background:var(--surface-2);border:1px solid var(--line);border-radius:3px;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;display:grid}.search input{color:var(--text);font-family:var(--mono);background:0 0;border:none;outline:none;font-size:13px}.search input::placeholder{color:var(--text-faint)}.search-icon{border:1.5px solid var(--text-faint);border-radius:50%;width:14px;height:14px;position:relative}.search-icon:after{content:"";background:var(--text-faint);width:6px;height:1.5px;position:absolute;bottom:-3px;right:-4px;transform:rotate(45deg)}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-bottom:22px;animation:.4s ease-out backwards fadeUp;overflow:hidden}.project-card .card-head{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#00e5ff0a,#0000 70%);flex-wrap:wrap;align-items:center;gap:14px;padding:16px 22px;display:flex}.project-card .card-title{font-family:var(--header);letter-spacing:-.005em;font-size:18px;font-weight:700}.project-card .card-title .pname{color:var(--text)}.project-card .card-title em{color:var(--cyan);font-style:normal}.owner-pill{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;border:1px solid;border-radius:2px;margin-left:auto;padding:4px 8px;font-size:9.5px;font-weight:700}.owner-pill.owner{color:var(--green);background:var(--green-soft)}.owner-pill.contributor{color:var(--amber);background:var(--amber-soft)}.owner-pill.foreign{color:var(--violet);background:var(--violet-soft)}.card-body{gap:18px;padding:18px 22px 22px;display:grid}.endpoint-row{background:var(--surface-2);border:1px solid var(--line);font-family:var(--mono);border-radius:3px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 14px;font-size:12px;display:grid}.endpoint-row .lbl{letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.endpoint-row .val{color:var(--text);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:12.5px}.endpoint-row .val a{color:var(--cyan)}.copy-btn{border:1px solid var(--line);color:var(--text-dim);font-size:9.5px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border-radius:2px;padding:5px 9px;transition:all .12s}.copy-btn:hover{color:var(--cyan);border-color:var(--cyan)}.copy-btn.copied{color:var(--green);border-color:var(--green)}.meta-grid{background:var(--surface-2);border:1px solid var(--line);border-radius:3px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;padding:14px 16px;display:grid}.meta-item label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px;font-size:9px;display:block}.meta-item .v{font-family:var(--mono);color:var(--text);font-size:12px}.meta-item .v.dim{color:var(--text-dim)}.routes-table{border:1px solid var(--line);border-radius:3px;flex-direction:column;display:flex;overflow:hidden}.routes-table .rt-head{background:var(--surface-2);border-bottom:1px solid var(--line);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);padding:9px 14px;font-size:10px;font-weight:600}.route-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:56px 1fr 28px auto;align-items:center;gap:14px;padding:11px 16px;transition:all .14s;display:grid}.route-row:hover{background:linear-gradient(90deg, var(--cyan-soft), transparent 60%)}.route-row:last-child{border-bottom:none}.route-row .summary{color:var(--text-dim);margin-top:2px;font-size:11px}.route-row .path{font-family:var(--mono);font-size:13px}.route-row .path .var{color:var(--cyan)}.route-row .path .var:before{content:"{";opacity:.6}.route-row .path .var:after{content:"}";opacity:.6}.route-row .lock{text-align:center;color:var(--text-faint);font-size:11px}.route-row .lock.locked{color:var(--amber)}.route-row .arrow{color:var(--text-faint);transition:all .14s}.route-row:hover .arrow{color:var(--cyan);transform:translate(3px)}.try-panel{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;overflow:hidden}.try-panel .try-head{background:var(--surface);border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:12px;padding:10px 16px;font-size:10.5px;font-weight:600;display:flex}.try-panel .try-head .lbl{color:var(--cyan)}.try-body{gap:12px;padding:14px 16px;display:grid}.try-url{background:var(--surface);border:1px solid var(--line);border-radius:3px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.try-url select{background:var(--surface-2);border:1px solid var(--line);font-family:var(--mono);letter-spacing:.08em;color:var(--text);border-radius:2px;padding:4px 6px;font-size:11px;font-weight:700}.try-url .base{font-family:var(--mono);color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.try-url input{font-family:var(--mono);color:var(--text);background:0 0;border:none;outline:none;min-width:0;font-size:13px}.try-url input::placeholder{color:var(--text-faint)}.try-auth{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.auth-toggle{border:1px solid var(--line);border-radius:3px;display:inline-flex;overflow:hidden}.auth-toggle button{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--surface);color:var(--text-dim);cursor:pointer;border:none;border-right:1px solid var(--line);padding:6px 12px;font-size:10.5px;font-weight:600}.auth-toggle button:last-child{border-right:none}.auth-toggle button:hover{color:var(--text)}.auth-toggle button.active{color:var(--cyan);background:var(--cyan-soft)}.try-auth .hint{color:var(--text-faint);letter-spacing:.06em;margin-left:4px;font-size:10.5px}.try-token{display:none}.try-token.visible{display:block}.try-token textarea{background:var(--surface);border:1px solid var(--line);width:100%;height:70px;font-family:var(--mono);color:var(--text);resize:vertical;border-radius:3px;outline:none;padding:9px 12px;font-size:11px}.try-token textarea:focus{border-color:var(--cyan)}.try-headers{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);color:var(--text-dim);border-radius:3px;padding:10px 14px;font-size:11px;line-height:1.65}.try-headers .k{color:var(--cyan)}.response{background:var(--surface);border:1px solid var(--line);font-family:var(--mono);white-space:pre-wrap;border-radius:3px;min-height:120px;max-height:400px;padding:14px 16px;font-size:12px;line-height:1.65;position:relative;overflow:auto}.response .placeholder{color:var(--text-faint);font-style:italic}.response.loading:before{content:"fetching...";color:var(--cyan);animation:.8s steps(2,end) infinite blink;position:absolute;top:14px;left:16px}.response.loading>*{display:none}.response .status{letter-spacing:.1em;text-transform:uppercase;border:1px solid;border-radius:2px;margin-bottom:10px;padding:3px 8px;font-size:10.5px;display:inline-block}.response .status.ok{background:var(--green-soft);color:var(--green)}.response .status.err{background:var(--rose-soft);color:var(--rose)}.response .status.warn{background:var(--amber-soft);color:var(--amber)}.json-key{color:var(--cyan)}.json-str{color:var(--green)}.json-num{color:var(--violet)}.json-bool{color:var(--amber)}.json-null{color:var(--text-faint)}.json-punct{color:var(--text-dim)}.logs-panel{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;overflow:hidden}.logs-head{background:var(--surface);border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:10px;padding:10px 16px;font-size:10.5px;font-weight:600;display:flex}.logs-head .lbl{color:var(--cyan)}.logs-head .meta{color:var(--text-faint);margin-left:auto;font-size:9.5px}.logs-body{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;background:#050509;max-height:320px;padding:14px 18px;font-size:11.5px;line-height:1.6;overflow-y:auto}.logs-body .placeholder{color:var(--text-faint);padding:8px 0;font-style:italic}.log-line{color:var(--text-dim)}.log-line.warn{color:var(--amber)}.log-line.error{color:var(--rose)}.log-line.start,.log-line.end{color:var(--text-faint)}.log-line.report{color:var(--cyan);opacity:.85}.log-line .ts{color:var(--text-faint);margin-right:10px}.danger-row{justify-content:flex-end;align-items:center;gap:10px;padding-top:6px;display:flex}.modal-shade{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#050509c7;place-items:center;padding:22px;animation:.18s ease-out fadeUp;display:none;position:fixed;inset:0}.modal-shade.visible{display:grid}.modal{background:var(--surface);border:1px solid var(--rose);border-radius:6px;width:min(480px,100%);padding:28px 30px 26px;box-shadow:0 30px 80px #ff3b6b26,0 0 60px #ff3b6b0f}.modal h3{font-family:var(--header);color:var(--rose);margin-bottom:6px;font-size:22px;font-weight:700}.modal p{color:var(--text-dim);margin-bottom:18px;font-size:12px;line-height:1.7}.modal p strong{color:var(--text);font-weight:600}.modal input{background:var(--surface-2);border:1px solid var(--line);width:100%;font-family:var(--mono);color:var(--text);border-radius:3px;outline:none;margin-bottom:18px;padding:10px 12px;font-size:13px}.modal input:focus{border-color:var(--rose)}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:14px 0 6px;font-size:11px;display:block}.keys-table{border-collapse:collapse;width:100%;font-family:var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:12.5px;overflow:hidden}.keys-table th,.keys-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:10px 14px}.keys-table th{background:var(--surface-2);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.keys-table tr:last-child td{border-bottom:none}.keys-table .key-id{color:var(--cyan)}.keys-table .key-status-active{color:var(--green)}.keys-table .key-status-revoked{color:var(--text-faint);text-decoration:line-through}.keys-table .key-status-expired{color:#d29c4a}.key-reveal{background:var(--cyan-soft);border:1px solid var(--cyan);border-radius:6px;margin-bottom:24px;padding:18px 20px}.key-reveal-title{font-family:var(--header);text-transform:uppercase;letter-spacing:.1em;color:var(--cyan);margin-bottom:12px;font-size:13px}.key-reveal-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.key-reveal-row code{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);word-break:break-all;color:var(--text);border-radius:3px;flex:auto;padding:8px 12px;font-size:13px}.key-reveal-hint{color:var(--text-dim);margin-top:10px;font-size:12px}.key-reveal-hint code{font-family:var(--mono);background:var(--surface);border-radius:2px;padding:1px 5px}.empty{border:1px dashed var(--line);background:var(--surface);text-align:center;color:var(--text-dim);border-radius:6px;padding:40px 36px}.empty h3{font-family:var(--header);color:var(--text);margin-bottom:8px;font-size:18px}.empty pre{background:var(--surface-2);border:1px solid var(--line);font-family:var(--mono);color:var(--text);text-align:left;border-radius:3px;margin:14px 0 0;padding:14px 18px;font-size:12px;display:inline-block}.empty pre .com{color:var(--text-faint)}.err-banner{border:1px solid var(--rose);background:var(--rose-soft);color:var(--rose);border-radius:3px;margin:0 0 18px;padding:12px 16px;font-size:12px}.inline-err{color:var(--rose);margin-top:8px;font-size:11.5px}.docs-content{border:1px solid var(--line);background:var(--surface);max-width:880px;color:var(--text);border-radius:6px;padding:36px 44px;font-size:13.5px;line-height:1.72}.docs-loading,.docs-error{color:var(--text-faint);padding:22px 0;font-style:italic}.docs-error a{color:var(--cyan)}.docs-content h1,.docs-content h2,.docs-content h3,.docs-content h4{font-family:var(--header);letter-spacing:-.005em;scroll-margin-top:30px;font-weight:700}.docs-content h1{border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:12px;font-size:28px}.docs-content h1 em{color:var(--cyan);font-style:normal}.docs-content h2{border-top:1px solid var(--line);align-items:baseline;gap:12px;margin:36px 0 12px;padding-top:24px;font-size:22px;display:flex}.docs-content h2:before{content:"";background:var(--cyan);flex-shrink:0;align-self:center;width:18px;height:1px;display:inline-block}.docs-content h3{color:var(--cyan);margin:26px 0 8px;font-size:17px}.docs-content h4{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;margin:18px 0 6px;font-size:14px}.docs-content p{margin:10px 0}.docs-content>p:first-of-type{color:var(--text-dim);font-size:14px}.docs-content blockquote{background:var(--surface-2);border-left:2px solid var(--cyan);color:var(--text-dim);border-radius:0 4px 4px 0;margin:16px 0;padding:12px 18px;font-style:italic}.docs-content blockquote p:first-child{margin-top:0}.docs-content blockquote p:last-child{margin-bottom:0}.docs-content a{color:var(--cyan);border-bottom:1px dashed #0000;text-decoration:none;transition:border-color .12s}.docs-content a:hover{border-bottom-color:var(--cyan)}.docs-content strong{color:var(--text);font-weight:600}.docs-content em{color:var(--text);font-style:italic}.docs-content code{font-family:var(--mono);background:var(--cyan-soft);color:var(--cyan);border:1px solid #00e5ff2e;border-radius:3px;padding:2px 6px;font-size:12px}.docs-content pre{font-family:var(--mono);border:1px solid var(--line);background:var(--surface-2);border-radius:4px;margin:14px 0;padding:16px 18px;font-size:12.5px;line-height:1.7;overflow-x:auto}.docs-content pre code{color:var(--text);font-size:inherit;background:0 0;border:none;padding:0}.docs-content ul,.docs-content ol{margin:10px 0;padding-left:22px}.docs-content li,.docs-content li>p{margin:4px 0}.docs-content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:12.5px;line-height:1.55}.docs-content th,.docs-content td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 14px}.docs-content th{background:var(--surface-2);color:var(--cyan);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.docs-content tr:hover td{background:#ffffff05}.docs-content hr{background:var(--line);border:none;height:1px;margin:28px 0}@media (width<=1100px){.hero-stats{grid-template-columns:repeat(2,auto);gap:18px}}@media (width<=720px){.app{grid-template-columns:1fr}aside{display:none}.view{padding:22px}.hero{flex-direction:column;align-items:flex-start;gap:18px}.hero-stats{margin-left:0}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00e5ff4d}.apps-table{border-collapse:collapse;width:100%;font-size:12px}.apps-table th,.apps-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}.apps-table th{font-family:var(--header);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:10px;font-weight:600}.apps-table tbody tr{cursor:pointer;transition:background .12s}.apps-table tbody tr:hover{background:var(--surface-2)}.apps-table tbody tr.selected{background:var(--cyan-soft)}.apps-table tbody tr.archived{opacity:.55}.apps-table .app-name{color:var(--text);font-weight:600;font-family:var(--mono)}.apps-table .app-name.archived{color:var(--text-faint);text-decoration:line-through}.apps-table .app-id{color:var(--text-faint);font-family:var(--mono);font-size:11px}.apps-table .app-owner{color:var(--text-dim)}.apps-table .pill-archived{background:var(--rose-soft);color:var(--rose);border:1px solid #ff3b6b4d;border-radius:999px;padding:2px 8px;font-size:10px;display:inline-block}.apps-table .pill-active{background:var(--green-soft);color:var(--green);border:1px solid #00ff884d;border-radius:999px;padding:2px 8px;font-size:10px;display:inline-block}.app-detail{border:1px solid var(--line-bright);background:var(--surface);border-radius:6px;margin-top:18px;padding:22px}.app-detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding-bottom:18px;display:flex}.app-detail-head h2{font-family:var(--header);letter-spacing:-.01em;font-size:22px;font-weight:700}.app-detail-head .id{font-family:var(--mono);color:var(--text-faint);margin-top:4px;font-size:11px}.app-detail-head .desc{color:var(--text-dim);margin-top:8px;font-size:13px}.app-detail-head .actions{flex-shrink:0;gap:8px;display:flex}.app-detail-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px;display:grid}.app-detail-meta .meta-item{background:var(--surface-2);border-left:2px solid var(--cyan);border-radius:4px;padding:10px 12px}.app-detail-meta .meta-item.violet{border-left-color:var(--violet)}.app-detail-meta label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:10px;font-family:var(--header);margin-bottom:4px;font-weight:600;display:block}.app-detail-meta .v{color:var(--text);font-family:var(--mono);word-break:break-all;font-size:13px}.app-detail-keys{margin-top:8px}.app-detail-keys-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.app-detail-keys-head h3{font-family:var(--header);text-transform:uppercase;letter-spacing:.1em;color:var(--text);font-size:14px;font-weight:700}.app-detail-archived-banner{background:var(--rose-soft);color:var(--rose);border:1px solid #ff3b6b4d;border-radius:4px;margin-bottom:14px;padding:10px 14px;font-size:12px}.modal-err{color:var(--rose);min-height:0;padding:6px 0;font-size:12px}.modal-err[hidden]{display:none}.tiles-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.project-tile{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:16px 18px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;animation:.32s both tile-in;display:block;position:relative;overflow:hidden}.project-tile:before{content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);opacity:0;height:2px;transition:opacity .18s;position:absolute;inset:0 0 auto}.project-tile:hover{border-color:var(--line-bright);transform:translateY(-1px);box-shadow:0 6px 20px -10px #00eaff66}.project-tile:hover:before{opacity:1}.project-tile .tile-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.project-tile .pname{font-family:var(--header);letter-spacing:.02em;color:var(--text);word-break:break-all;font-size:17px;font-weight:600}.project-tile .tile-meta{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.project-tile .meta-pair label{text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);font-size:9px;font-family:var(--header);margin-bottom:3px;font-weight:600;display:block}.project-tile .meta-pair span{font-family:var(--mono);color:var(--text-dim);font-size:12px}.project-tile .tile-foot{border-top:1px solid var(--line);font-family:var(--mono);color:var(--text-faint);justify-content:space-between;align-items:center;padding-top:10px;font-size:11px;display:flex}.project-tile .tile-foot .version{color:var(--text-dim)}@keyframes tile-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.detail-back{font-family:var(--mono);margin-bottom:14px;font-size:12px}.detail-back a{color:var(--text-faint);text-decoration:none;transition:color .15s}.detail-back a:hover{color:var(--cyan)}.detail-head{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:18px}.detail-title{align-items:center;gap:14px;margin-bottom:10px;display:flex}.detail-title h1{font-family:var(--header);letter-spacing:.02em;color:var(--text);margin:0;font-size:28px;font-weight:700}.detail-meta-strip{font-family:var(--mono);color:var(--text-dim);flex-wrap:wrap;gap:18px;font-size:12px;display:flex}.openapi-viewer{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-top:28px;padding:22px 24px}.openapi-viewer .oa-head{margin-bottom:22px}.openapi-viewer .oa-title{align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.openapi-viewer .oa-title .lbl{text-transform:uppercase;letter-spacing:.16em;color:var(--cyan);font-size:10px;font-family:var(--header);font-weight:700}.openapi-viewer .oa-title h2{font-family:var(--header);color:var(--text);margin:0;font-size:22px;font-weight:700}.openapi-viewer .oa-title h2 .ver{font-family:var(--mono);color:var(--text-faint);margin-left:8px;font-size:13px}.openapi-viewer .oa-desc{color:var(--text-dim);margin:0;font-size:13px;line-height:1.55}.openapi-viewer .oa-section{margin-bottom:24px}.openapi-viewer .oa-section-title{font-family:var(--header);text-transform:uppercase;letter-spacing:.18em;color:var(--text-faint);margin:0 0 14px;font-size:11px;font-weight:700}.openapi-viewer .oa-tag-group{margin-bottom:18px}.openapi-viewer .oa-tag{font-family:var(--mono);color:var(--violet);background:var(--violet-soft);border-radius:3px;margin-bottom:12px;padding:3px 8px;font-size:12px;display:inline-block}.openapi-viewer .op-card{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;margin-bottom:14px;overflow:hidden}.openapi-viewer .op-head{background:var(--surface-3);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.openapi-viewer .op-path{font-family:var(--mono);color:var(--text);word-break:break-all;flex-grow:1;font-size:13px}.openapi-viewer .op-id{font-family:var(--mono);color:var(--text-faint);font-size:11px}.openapi-viewer .op-deprecated{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--rose);background:var(--rose-soft);border-radius:3px;padding:2px 6px;font-size:10px}.openapi-viewer .op-summary{color:var(--text);padding:10px 14px 0;font-size:13px}.openapi-viewer .op-desc{color:var(--text-dim);padding:6px 14px 0;font-size:12px;line-height:1.55}.openapi-viewer .op-block{padding:12px 14px}.openapi-viewer .op-block h5{font-family:var(--header);text-transform:uppercase;letter-spacing:.16em;color:var(--text-faint);margin:0 0 8px;font-size:10px;font-weight:700}.openapi-viewer .op-block-desc{color:var(--text-dim);margin:0 0 8px;font-size:12px}.openapi-viewer .body-content{margin-bottom:8px}.openapi-viewer .body-content .ct{font-family:var(--mono);color:var(--cyan);margin-bottom:6px;font-size:11px}.openapi-viewer .resp-row{border-bottom:1px dashed var(--line);align-items:flex-start;gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.openapi-viewer .resp-row:last-child{border-bottom:none;padding-bottom:0}.openapi-viewer .resp-body{flex-grow:1}.openapi-viewer .resp-desc{color:var(--text);margin-bottom:6px;font-size:12px}.openapi-viewer .status-pill{font-family:var(--mono);text-align:center;border-radius:3px;min-width:38px;padding:3px 8px;font-size:11px;font-weight:600}.openapi-viewer .status-pill.ok{color:var(--green);background:var(--green-soft)}.openapi-viewer .status-pill.warn{color:var(--amber);background:var(--amber-soft)}.openapi-viewer .status-pill.err{color:var(--rose);background:var(--rose-soft)}.openapi-viewer .status-pill.info{color:var(--text-dim);background:var(--surface-3)}.openapi-viewer .oa-table{border-collapse:collapse;width:100%;font-size:12px}.openapi-viewer .oa-table th,.openapi-viewer .oa-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.openapi-viewer .oa-table th{font-family:var(--header);text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);font-size:10px;font-weight:600}.openapi-viewer .oa-table td.mono,.openapi-viewer .oa-table td:nth-child(2){font-family:var(--mono);color:var(--text-dim)}.openapi-viewer .oa-table td:first-child{color:var(--text)}.openapi-viewer .oa-table.props{margin-top:4px}.openapi-viewer .schema-card{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;margin-bottom:12px;padding:14px 16px;scroll-margin-top:16px}.openapi-viewer .schema-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.openapi-viewer .schema-name{font-family:var(--mono);color:var(--cyan);margin:0;font-size:14px;font-weight:600}.openapi-viewer .schema-type{font-family:var(--mono);color:var(--text-faint);font-size:11px}.openapi-viewer .schema-desc{color:var(--text-dim);margin:0 0 8px;font-size:12px;line-height:1.55}.openapi-viewer .schema-ref{font-family:var(--mono);padding:4px 0;font-size:12px}.openapi-viewer .schema-ref a{color:var(--cyan);border-bottom:1px dashed #0000;text-decoration:none;transition:border-color .15s}.openapi-viewer .schema-ref a:hover{border-bottom-color:var(--cyan)}.openapi-viewer .schema-array{font-family:var(--mono);color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.openapi-viewer .schema-combinator{border-left:2px solid var(--violet);padding:2px 0 2px 10px;font-size:12px}.openapi-viewer .schema-combinator .comb-label{font-family:var(--header);text-transform:uppercase;letter-spacing:.14em;color:var(--violet);margin-right:6px;font-size:10px}.openapi-viewer .schema-combinator .comb-branch{padding:4px 0}.openapi-viewer .schema-primitive{font-family:var(--mono);color:var(--text-dim);font-size:12px}.openapi-viewer .dim{color:var(--text-faint)}@media (width<=780px){.tiles-grid{grid-template-columns:1fr}.openapi-viewer{padding:18px 14px}.openapi-viewer .oa-table{display:block;overflow-x:auto}}.cli-content{max-width:880px;margin:0 auto;padding-bottom:60px}.cli-content .cli-intro{color:var(--text-dim);margin:0 0 28px;font-size:14px;line-height:1.65}.cli-content .cli-aside{background:var(--surface-2);border-left:2px solid var(--cyan);color:var(--text-dim);border-radius:0 4px 4px 0;margin:10px 0 0;padding:10px 14px;font-size:12.5px;line-height:1.55}.cli-content .cli-footer{color:var(--text-faint);margin-top:32px;font-size:13px}.cli-content .cli-footer a{color:var(--cyan);border-bottom:1px dashed #0000;text-decoration:none;transition:border-color .12s}.cli-content .cli-footer a:hover{border-bottom-color:var(--cyan)}.cli-section{margin:28px 0;scroll-margin-top:16px}.cli-section h3{font-family:var(--header);letter-spacing:.04em;color:var(--text);margin:0 0 12px;font-size:16px;font-weight:700}.cli-section p{color:var(--text);margin:10px 0;font-size:13.5px;line-height:1.65}.cli-section code{font-family:var(--mono);background:var(--cyan-soft);color:var(--cyan);border:1px solid #00e5ff2e;border-radius:3px;padding:2px 6px;font-size:12px}.code-block{border:1px solid var(--line);background:var(--surface-2);border-radius:4px;margin:12px 0;position:relative;overflow:hidden}.code-block .code-head{border-bottom:1px solid var(--line);background:var(--surface-3);justify-content:space-between;align-items:center;min-height:30px;padding:6px 10px 6px 14px;display:flex}.code-block .code-head .lang{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:10px}.code-block .code-head .copy-btn{font-family:var(--mono);letter-spacing:.05em;color:var(--text-faint);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:3px;margin-left:auto;padding:3px 10px;font-size:11px;transition:color .15s,border-color .15s,background .15s}.code-block .code-head .copy-btn:hover{color:var(--cyan);border-color:var(--cyan)}.code-block .code-head .copy-btn.copied{color:var(--green);border-color:var(--green);background:var(--green-soft)}.code-block pre{font-family:var(--mono);color:var(--text);margin:0;padding:14px 16px;font-size:12.5px;line-height:1.7;overflow-x:auto}.code-block pre code{color:var(--text)}
