*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--surface:#1a1d27;--surface2:#21253a;--border:#2e3347;--accent:#6366f1;--accent-hover:#818cf8;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--text:#e2e8f0;--text-muted:#7c8db0;--text-dim:#4a5568;--radius:8px;--radius-lg:12px;font-size:14px}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;transition:all .15s}input,textarea{font-family:inherit;font-size:inherit;outline:none;transition:border-color .15s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 20px;display:flex}.header-left{align-items:center;gap:10px;display:flex}.logo-icon{width:28px;height:28px;display:block}.logo-sub{color:var(--text-muted);font-size:13px;font-weight:500}.status-badge{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:flex}.status-badge-inline{color:var(--text-muted);flex-shrink:0;align-items:center;gap:7px;font-size:12px;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tool-nav{align-items:center;gap:4px;display:flex}.tool-nav-btn{border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:1px;padding:4px 16px;transition:all .15s;display:flex}.tool-nav-btn:hover{background:var(--surface2)}.tool-nav-btn--active{background:#6366f11f;border-color:#6366f159}.tool-nav-label{letter-spacing:.5px;color:var(--text-muted);font-size:13px;font-weight:700}.tool-nav-btn--active .tool-nav-label{color:#818cf8}.tool-nav-tag{color:var(--text-dim);white-space:nowrap;font-size:10px}.tool-nav-btn--active .tool-nav-tag{color:var(--text-muted)}.tool-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.a2a-context-bar{background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:7px 20px;display:flex}.a2a-context-item{flex:1;justify-content:center;align-items:center;gap:7px;min-width:0;display:flex}.a2a-context-item:first-child{flex:2;justify-content:flex-start}.a2a-context-item:last-child{justify-content:flex-end}.a2a-context-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);white-space:nowrap;font-size:11px;font-weight:600}.a2a-url-mini{flex:1;min-width:0;max-width:100%;height:28px;padding:0 8px;font-family:ui-monospace,monospace;font-size:12px}.a2a-agent-card{border-radius:var(--radius);background:#6366f114;border:1px solid #6366f133;flex-direction:column;gap:4px;margin:8px 8px 4px;padding:10px 12px;display:flex}.a2a-agent-card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.a2a-agent-name{color:var(--text);font-size:13px;font-weight:600}.a2a-agent-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.a2a-badge{white-space:nowrap;color:#818cf8;background:#6366f133;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.a2a-caps{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.a2a-cap{text-transform:lowercase;background:var(--surface2);color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.a2a-cap--on{color:#10b981;background:#10b9811f;border-color:#10b98140}.tool-section-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);align-items:center;gap:6px;padding:8px 10px 4px;font-size:10px;font-weight:700;display:flex}.a2a-method-tag{text-transform:uppercase;letter-spacing:.5px;border-radius:3px;margin-top:3px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.tag--streaming{color:#10b981;background:#10b98126}.tag--no-streaming{color:var(--text-dim);background:#64646426}.tool-item--muted{opacity:.4}.tool-item--muted:hover{opacity:.7}.tool-item--skill{border-left:2px solid #f59e0b66}.tool-item--skill:hover{background:#f59e0b0f}.tool-item--skill.tool-item--active{border-left-color:var(--warning);background:#f59e0b1a}.a2a-skill-id{color:var(--text-dim);margin-top:2px;font-family:ui-monospace,monospace;font-size:10px;display:block}.connection-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);height:36px;padding:8px 12px;font-size:13px}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-dim)}.input:disabled{opacity:.5;cursor:not-allowed}.input-url{flex:1;min-width:0}.token-wrap{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;align-items:center;width:280px;height:36px;display:flex;overflow:hidden}.token-wrap:focus-within{border-color:var(--accent)}.token-prefix{color:var(--text-muted);background:var(--surface2);border-right:1px solid var(--border);white-space:nowrap;flex-shrink:0;padding:0 10px;font-size:12px;font-weight:600;line-height:34px}.input-token{background:0 0;border:none;flex:1;min-width:0;height:100%;padding:8px 10px}.token-set-badge{border-radius:var(--radius);flex-shrink:0;align-items:center;gap:7px;height:36px;padding:0 12px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.token-set-badge--set{color:var(--success);background:#10b9811a;border:1px solid #10b9814d}.token-set-badge--none{color:var(--warning);background:#f59e0b14;border:1px solid #f59e0b4d}.token-set-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px}.token-set-dot--none{background:var(--warning)}.discovery-method-wrap{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;align-items:center;height:36px;display:flex;overflow:hidden}.discovery-method-wrap:focus-within{border-color:var(--accent)}.discovery-method-prefix{color:var(--text-muted);background:var(--surface2);border-right:1px solid var(--border);white-space:nowrap;padding:0 10px;font-size:12px;font-weight:600;line-height:34px}.discovery-method-input{background:0 0;border:none;width:240px;height:100%;padding:0 10px;font-family:ui-monospace,monospace;font-size:12px}.checkbox-label{color:var(--text-muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.checkbox-label input{accent-color:var(--accent);cursor:pointer}.checkbox-label:has(input:disabled){opacity:.4;cursor:not-allowed}.token-change-btn{color:inherit;opacity:.6;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-left:6px;padding:0;font-size:11px;font-weight:600;text-decoration:underline}.token-change-btn:hover{opacity:1}.session-id-wrap{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;align-items:center;gap:6px;height:36px;padding:0 8px;display:flex}.session-id-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.session-id-value{color:var(--text-muted);cursor:default;font-family:ui-monospace,monospace;font-size:12px}.btn-icon{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex;position:relative}.btn-icon:hover{background:var(--border);color:var(--text)}.btn-icon[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--border);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;text-overflow:ellipsis;background:#1e2235;border-radius:5px;max-width:320px;padding:4px 8px;font-family:ui-monospace,monospace;font-size:11px;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%)}.btn-icon[data-tooltip]:hover:after{opacity:1}.btn{border-radius:var(--radius);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#818cf8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.btn-danger:hover{background:#ef444440}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--surface2);color:var(--text)}.btn-sm{height:28px;padding:0 11px;font-size:12px}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.panel{border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.panel:last-child{border-right:none}.panel-tools{flex-shrink:0}.panel-tools--collapsed{flex-shrink:0;width:36px!important}.panel-editor{flex:1}.panel-editor--collapsed{flex:none;width:36px!important}.panel-output{flex:1.2}.panel-resize-handle--col{cursor:col-resize;z-index:10;width:6px;position:absolute;top:0;bottom:0;right:-3px}.panel-resize-handle--col:hover,.panel-resize-handle--col:active{background:var(--accent);opacity:.4}.panel-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.panel-header-actions{align-items:center;gap:6px;display:flex}.collapse-btn{width:24px;height:24px;color:var(--text-muted);flex-shrink:0;font-size:16px;font-weight:700;line-height:1}.collapse-btn:hover{color:var(--text);background:var(--surface2)}.panel-header--collapsed{cursor:pointer;min-height:unset;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;padding:14px 0 0;height:100%!important}.panel-header--collapsed:hover{background:var(--surface2)}.panel-title-vertical{writing-mode:vertical-lr;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;margin-top:6px;font-size:11px;font-weight:600;transform:rotate(180deg)}.panel-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:44px;min-height:44px;padding:0 16px;display:flex}.panel-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:12px;font-weight:600}.badge{color:#818cf8;background:#6366f133;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.panel-scroll{flex:1;overflow:hidden auto}.tool-list{padding:8px;list-style:none}.tool-item{border-radius:var(--radius);cursor:pointer;margin-bottom:2px;padding:8px 10px;transition:background .1s}.tool-item:hover{background:var(--surface2)}.tool-item--active{border-left:2px solid var(--accent);background:#6366f126}.tool-name{color:var(--text);word-break:break-word;font-size:13px;font-weight:500;display:block}.tool-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:11px;display:-webkit-box;overflow:hidden}.editor-inner{flex-direction:column;gap:12px;padding:16px;display:flex}.tool-description{color:var(--text-muted);font-size:13px;line-height:1.5}.payload-tabs-wrap{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.payload-tab-bar{border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--surface);flex-shrink:0;display:flex;overflow:hidden}.payload-tab{color:var(--text-muted);border:none;border-right:1px solid var(--border);letter-spacing:.3px;background:0 0;flex:1;padding:7px 0;font-size:12px;font-weight:600;transition:background .1s,color .1s}.payload-tab:last-child{border-right:none}.payload-tab:hover{background:var(--surface2);color:var(--text)}.payload-tab--active{color:#818cf8;background:#6366f11a}.form-fields{border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--bg);border-top:none;flex-direction:column;flex:1;gap:14px;padding:14px;display:flex;overflow-y:auto}.form-field{flex-direction:column;gap:5px;display:flex}.form-label{align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.form-key{color:var(--text)}.form-required{color:var(--error);font-size:13px;font-weight:700;line-height:1}.form-type{color:var(--text-dim);background:var(--surface2);border:1px solid var(--border);text-transform:lowercase;letter-spacing:.3px;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:500}.form-desc{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.form-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-input::placeholder{color:var(--text-dim)}.form-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;outline:none;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.form-select:focus{border-color:var(--accent)}.form-textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);resize:vertical;outline:none;min-height:60px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.form-textarea--code{font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:12px}.form-textarea:focus{border-color:var(--accent)}.form-textarea::placeholder{color:var(--text-dim)}.form-toggle-wrap{align-items:center;gap:9px;display:flex}.form-toggle{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-shrink:0;width:36px;height:20px;padding:2px;transition:background .2s,border-color .2s;position:relative}.form-toggle--on{border-color:var(--accent);background:#6366f14d}.form-toggle-thumb{background:var(--text-dim);border-radius:50%;width:14px;height:14px;transition:transform .2s,background .2s;display:block}.form-toggle--on .form-toggle-thumb{background:#818cf8;transform:translate(16px)}.form-toggle-label{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:12px}.payload-editor{background:var(--bg);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);color:var(--text);resize:none;border-top:none;flex:1;width:100%;min-height:200px;padding:12px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:13px;line-height:1.6}.payload-editor:focus{border-color:var(--accent);outline:none}.output-scroll{padding:8px}.output-entries{flex-direction:column;gap:8px;display:flex}.output-entry{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.entry-meta{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 12px;display:flex}.entry-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.badge--info{color:#818cf8;background:#6366f133}.badge--success{color:#10b981;background:#10b98133}.badge--error{color:#ef4444;background:#ef444433}.badge--request{color:#f59e0b;background:#f59e0b33}.badge--response{color:#10b981;background:#10b98133}.entry-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.entry-ts{color:var(--text-dim);flex-shrink:0;font-size:11px}.entry-content{white-space:pre-wrap;word-break:break-word;background:var(--bg);max-height:320px;padding:12px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:12px;line-height:1.6;overflow:auto}.entry-content,.console-detail-body{color:#c9d1d9}.jt-key{color:#79b8ff}.jt-string{color:#9ecbff}.jt-number{color:#f8c555}.jt-bool{color:#f97583}.jt-null{color:#6a737d}.jt-punct{color:#6e7681}.empty{color:var(--text-dim);text-align:center;padding:24px 16px;font-size:12px;line-height:1.6}.console-panel{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;height:36px;display:flex;position:relative;overflow:hidden}.console-panel--open{height:auto}.console-resize-handle{cursor:ns-resize;z-index:10;height:4px;position:absolute;top:0;left:0;right:0}.console-resize-handle:hover,.console-resize-handle:active{background:var(--accent);opacity:.5}.console-bar{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000;flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding:0 16px;display:flex}.console-panel--open .console-bar{border-bottom-color:var(--border)}.console-bar:hover{background:var(--surface2)}.console-bar-left,.console-bar-right{align-items:center;gap:8px;display:flex}.console-arrow{color:var(--text-dim);font-size:9px}.console-bar-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:12px;font-weight:600}.console-body{flex:1;min-height:0;display:flex;overflow:hidden}.console-list{border-right:1px solid var(--border);flex-shrink:0;width:340px;overflow-y:auto}.console-row{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:flex}.console-row:hover{background:var(--surface2)}.console-row--active{background:#6366f11f}.console-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dot--ok{background:var(--success)}.dot--err{background:var(--error)}.console-row-label{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;font-weight:500;overflow:hidden}.console-status-code{flex-shrink:0;font-family:ui-monospace,monospace;font-size:11px;font-weight:600}.code--ok{color:var(--success)}.code--err{color:var(--error)}.console-row-ts{color:var(--text-dim);flex-shrink:0;font-size:11px}.console-detail-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.console-detail{flex-direction:column;height:100%;display:flex;overflow:hidden}.console-detail-url{color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;padding:6px 14px;font-family:ui-monospace,monospace;font-size:11px;overflow:hidden}.console-tabs{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex}.console-tab{color:var(--text-muted);border-right:1px solid var(--border);background:0 0;border-radius:0;padding:5px 14px;font-size:11px;font-weight:500}.console-tab:hover{background:var(--surface2);color:var(--text)}.console-tab--active{color:#818cf8;border-bottom:2px solid var(--accent);background:#6366f11a}.console-detail-body{background:var(--bg);white-space:pre-wrap;word-break:break-word;flex:1;padding:12px 14px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:12px;line-height:1.6;overflow:auto}.token-set-badge--oauth{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf244d}.token-set-dot--oauth{background:#fbbf24}.oauth-header-badge{border-radius:var(--radius);cursor:default;background:#fbbf241a;border:1px solid #fbbf2440;flex-shrink:0;align-items:center;gap:7px;padding:3px 12px;font-size:12px;display:flex}.oauth-header-lock{font-size:13px;line-height:1}.oauth-header-text{color:#fbbf24;font-weight:600}.oauth-header-flow{color:var(--text-muted);font-size:11px}.nav-lock-icon{margin-right:3px;font-size:11px}.oauth-config-panel{flex-shrink:0;width:420px}.panel-header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.oauth-config-scroll{flex-direction:column;gap:0;display:flex;overflow-y:auto}.oauth-active-banner{border-radius:var(--radius);background:#fbbf2414;border:1px solid #fbbf2440;flex-direction:column;gap:6px;margin:12px 16px;padding:14px 16px;display:flex}.oauth-active-top{align-items:center;gap:8px;display:flex}.oauth-lock{font-size:16px;line-height:1}.oauth-active-label{color:#fbbf24;font-size:13px;font-weight:700}.oauth-active-flow{color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);text-transform:capitalize;border-radius:3px;padding:1px 7px;font-size:11px;font-weight:500}.oauth-active-row{align-items:baseline;gap:10px;display:flex}.oauth-active-key{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;width:52px;font-size:11px;font-weight:600}.oauth-active-val{color:var(--text);word-break:break-all;font-family:ui-monospace,monospace;font-size:12px}.oauth-active-note{color:var(--text-muted);margin-top:4px;font-size:11px}.oauth-service-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin:0 16px 12px;padding:14px 16px;display:flex}.oauth-service-header{flex-direction:column;gap:3px;display:flex}.oauth-service-title{color:var(--text);font-size:13px;font-weight:700}.oauth-service-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.oauth-service-desc code{background:var(--surface3,#ffffff0f);border-radius:3px;padding:1px 4px;font-family:ui-monospace,monospace;font-size:10px}.frontdoor-result{border-radius:var(--radius);background:#10b9810f;border:1px solid #10b98133;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.frontdoor-url{color:#10b981;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:11px;overflow:hidden}.oauth-flow-selector{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:12px 16px;display:flex}.oauth-flow-btn{text-align:left;border-radius:var(--radius);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 12px;font-size:13px;font-weight:500;transition:all .12s;display:block}.oauth-flow-btn:hover:not(:disabled){background:var(--surface2);color:var(--text)}.oauth-flow-btn--active{color:#818cf8;background:#6366f11a;border-color:#6366f14d}.oauth-flow-btn:disabled{opacity:.4;cursor:not-allowed}.oauth-form{flex-direction:column;gap:14px;padding:16px;display:flex}.oauth-flow-desc{color:var(--text-muted);margin-bottom:2px;font-size:12px;line-height:1.5}.oauth-field{flex-direction:column;gap:5px;display:flex}.oauth-label{color:var(--text);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.oauth-field-hint{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:11px;line-height:1.5}.jwt-mode-toggle{border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}.jwt-mode-btn{color:var(--text-muted);border:none;border-right:1px solid var(--border);cursor:pointer;background:0 0;flex:1;padding:6px 0;font-size:12px;font-weight:600;transition:all .12s}.jwt-mode-btn:last-child{border-right:none}.jwt-mode-btn:hover{background:var(--surface2);color:var(--text)}.jwt-mode-btn--active{color:#818cf8;background:#6366f11a}.jwt-cached-bar{border-bottom:1px solid var(--border);align-items:center;margin-bottom:4px;padding-bottom:8px;display:flex}.jwt-cached-source{flex-direction:column;gap:10px;display:flex}.jwt-cached-badge{border-radius:var(--radius);color:#fbbf24;background:#fbbf2414;border:1px solid #fbbf2440;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.jwt-input-panel{flex-shrink:0;width:420px}.jwt-output-panel{flex:1}.jwt-input-scroll{flex-direction:column;gap:12px;padding:12px;display:flex}.jwt-output-scroll{padding:0}.jwt-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:#f97583;resize:none;word-break:break-all;outline:none;width:100%;min-height:180px;padding:12px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:12px;line-height:1.6}.jwt-textarea:focus{border-color:var(--accent)}.jwt-textarea::placeholder{color:var(--text-dim)}.jwt-textarea--invalid{border-color:var(--error)}.jwt-error{color:var(--error);margin-top:-4px;font-size:11px}.jwt-parts{word-break:break-all;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:0;padding:10px 12px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.6;display:flex}.jwt-part-dot{color:var(--text-dim)}.jwt-part--header{color:#f97583}.jwt-part--payload{color:#79b8ff}.jwt-part--sig{color:#9ecbff;opacity:.6}.jwt-sections{flex-direction:column;display:flex}.jwt-decode-section{border-bottom:1px solid var(--border)}.jwt-decode-section:last-child{border-bottom:none}.jwt-section-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px 0;display:flex}.jwt-section-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.jwt-tab-bar{border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;overflow:hidden}.jwt-tab-bar .payload-tab{flex:none;padding:4px 12px}.jwt-json-body{color:#c9d1d9;white-space:pre-wrap;word-break:break-word;padding:12px 16px 16px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:12px;line-height:1.6}.jwt-claims-body{padding:12px 16px 16px}.claims-table{border-collapse:collapse;width:100%;font-size:12px}.claims-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:1px solid var(--border);padding:4px 10px;font-size:10px;font-weight:700}.claims-table td{vertical-align:top;border-bottom:1px solid #2e334780;padding:5px 10px}.claims-table tr:last-child td{border-bottom:none}.claims-key{color:#79b8ff;white-space:nowrap;width:1%;padding-right:20px;font-family:ui-monospace,monospace;font-weight:600}.claims-val{color:var(--text)}.claims-val-text{word-break:break-all}.claims-ts{color:var(--text-muted);margin-top:2px;font-family:ui-monospace,monospace;font-size:10px;display:block}@media (width<=768px){.workspace{flex-direction:column}.panel-tools{width:100%;max-height:200px}.input-token{display:none}.panel-output{flex:1}}.sf-popup-wrap{align-items:center;display:inline-flex;position:relative}.sf-icon-btn{cursor:pointer;color:#00a1e0;opacity:.7;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:1px 4px;line-height:1;transition:opacity .15s,border-color .15s;display:inline-flex}.sf-icon-btn:hover{opacity:1;background:#00a1e014;border-color:#00a1e059}.sf-logo-svg{width:22px;height:15px}.sf-org-toggle{gap:4px;display:flex}.sf-org-btn{background:var(--surface2);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:5px;flex:1;padding:5px 0;font-size:12px;font-weight:500;transition:color .15s,background .15s,border-color .15s}.sf-org-btn:hover{color:var(--text);background:var(--surface3,var(--surface2))}.sf-org-btn--active{color:#00a1e0;background:#00a1e01f;border-color:#00a1e066;font-weight:600}.sf-modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sf-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:420px;max-width:90vw;display:flex;box-shadow:0 20px 60px #00000080}.sf-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex}.sf-modal-title{color:#00a1e0;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.sf-modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;line-height:1}.sf-modal-close:hover{color:var(--text);background:var(--surface2)}.sf-modal-body{flex-direction:column;gap:0;min-height:0;padding:20px;display:flex;overflow-y:auto}.sf-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.sf-popup-logo{width:28px;height:20px}.sf-popup-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.sf-optional{text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:400}.sf-domain-row{align-items:center;gap:6px;display:flex}.sf-domain-input{flex:1;min-width:0}.sf-domain-suffix{color:var(--text-muted);white-space:nowrap;font-size:12px}.sf-scope-presets{flex-direction:column;gap:10px;display:flex}.sf-scope-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.sf-scope-row input[type=checkbox]{accent-color:#00a1e0;flex-shrink:0;width:14px;height:14px;margin-top:3px}.sf-scope-text{flex-direction:column;gap:3px;display:flex}.sf-scope-name{color:var(--text);font-size:13px;font-weight:600}.sf-scope-val{color:var(--text-muted);word-break:break-all;font-family:ui-monospace,monospace;font-size:11px}.cfg-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:560px;max-width:95vw;max-height:88vh;display:flex;box-shadow:0 20px 60px #00000080}.cfg-tabs{border-bottom:1px solid var(--border);gap:0;padding:0 20px;display:flex}.cfg-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:500}.cfg-tab:hover{color:var(--text)}.cfg-tab--active{color:var(--text);border-bottom-color:#818cf8;font-weight:600}.cfg-hint{color:var(--text-muted);margin-bottom:4px;font-size:12px}.cfg-json-input{resize:none;flex:1;min-height:240px;font-size:12px}.cfg-error{color:#f87171;margin-top:4px;font-size:12px}.cfg-schema-details{color:var(--text-muted);margin-top:8px;font-size:12px}.cfg-schema-details summary{cursor:pointer;color:var(--text-dim);font-weight:600}.cfg-schema-table{border-collapse:collapse;width:100%;margin-top:8px}.cfg-schema-table tr+tr td{border-top:1px solid var(--border)}.cfg-schema-key{color:#a5b4fc;white-space:nowrap;vertical-align:top;padding:4px 8px 4px 0;font-family:ui-monospace,monospace;font-size:11px}.cfg-schema-label{color:var(--text-muted);padding:4px 0;font-size:11px}.cfg-schema-hint{color:var(--text-dim);font-style:italic}.cfg-build-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.cfg-build-left{flex:1;grid-template-columns:1fr 1fr;gap:10px 16px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.cfg-build-field{flex-direction:column;gap:4px;display:flex}.cfg-build-field--full{grid-column:1/-1}.cfg-build-field--section-start{grid-column:1/-1;margin-top:6px}.cfg-build-field--section-start:first-child{margin-top:0}.cfg-section-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border);margin-bottom:2px;padding-bottom:6px;font-size:11px;font-weight:700}.cfg-build-label{color:var(--text-dim);font-size:11px;font-weight:600}.cfg-build-textarea{resize:vertical;font-size:11px}.cfg-build-right{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;max-height:180px;padding:14px 20px 0;display:flex}.cfg-json-preview-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cfg-json-preview-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.cfg-json-preview{color:var(--text-muted);white-space:pre;flex:1;margin:0;font-family:ui-monospace,monospace;font-size:11px;line-height:1.6;overflow-y:auto}.docs-view{overflow-y:auto}.docs-container{max-width:820px;margin:0 auto;padding:40px 32px 80px}.docs-h1{color:var(--text);margin:0 0 12px;font-size:24px;font-weight:700}.docs-lead{color:var(--text-muted);max-width:640px;margin:0 0 28px;font-size:14px;line-height:1.7}.docs-toc{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:40px;padding:12px 16px;display:flex}.docs-toc-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-right:4px;font-size:11px;font-weight:600}.docs-toc-link{color:#818cf8;background:#6366f114;border-radius:4px;padding:2px 8px;font-size:12px;text-decoration:none}.docs-toc-link:hover{background:#6366f129}.docs-h2{color:var(--text);border-bottom:1px solid var(--border);margin:40px 0 12px;padding-bottom:8px;font-size:18px;font-weight:700}.docs-h2:first-of-type{margin-top:0}.docs-h3{color:var(--text);margin:24px 0 8px;font-size:14px;font-weight:700}.docs-p{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.7}.docs-ol{color:var(--text-muted);margin:0 0 12px;padding-left:20px;font-size:13px;line-height:1.8}.docs-code{background:var(--surface2);border:1px solid var(--border);color:#a5b4fc;white-space:nowrap;border-radius:3px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px}.docs-table{border-collapse:collapse;width:100%;margin:8px 0 16px;font-size:12px}.docs-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;background:var(--surface);border-bottom:1px solid var(--border);padding:6px 12px;font-size:11px;font-weight:600}.docs-table td{color:var(--text-muted);border-bottom:1px solid var(--border);vertical-align:top;padding:8px 12px;line-height:1.6}.docs-table tr:last-child td{border-bottom:none}.docs-table td:first-child{white-space:nowrap;width:1%}.docs-note{color:var(--text-muted);background:#6366f10f;border-left:3px solid #818cf8;border-radius:0 6px 6px 0;margin:4px 0 16px;padding:10px 14px;font-size:12px;line-height:1.6}.docs-note--warn{background:#fbbf240f;border-left-color:#fbbf24}.docs-endpoint-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;margin:8px 0 20px;padding:12px 16px;display:flex}.docs-endpoint-label{color:#00a1e0;white-space:nowrap;font-size:11px;font-weight:600}.jwt-verify-section{flex-direction:column;gap:10px;display:flex}.jwt-verify-header{justify-content:space-between;align-items:center;padding:10px 16px 0;display:flex}.jwt-verify-body{flex-direction:column;gap:8px;padding:0 16px 16px;display:flex}.jwt-verify-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);font-size:11px;font-weight:600}.jwt-verify-badge{border-radius:6px;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 12px;font-size:12px;display:flex}.jwt-verify-badge--loading{color:var(--text-muted);background:#6366f114}.jwt-verify-badge--valid{color:#10b981;background:#10b9811a;border:1px solid #10b98140}.jwt-verify-badge--invalid{color:#f87171;background:#ef44441a;border:1px solid #ef444440}.jwt-verify-badge--unsupported{color:#fbbf24;background:#fbbf2414;border:1px solid #fbbf2433}.jwt-verify-badge--error{color:#f87171;background:#ef444414;border:1px solid #ef444433}.jwt-verify-detail{opacity:.8;flex-basis:100%;padding-left:21px;font-size:11px;line-height:1.5}.jwt-verify-spinner{border:2px solid #6366f14d;border-top-color:#818cf8;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:1px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.jwt-pem-wrap{flex-direction:column;gap:8px;display:flex}.jwt-pem-input{resize:vertical;font-size:11px}
