/* Sparse Agent Gateway's white, ink and hairline design language. */
@font-face{font-family:Inter;src:url('/fonts/inter-latin-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#fff;--card:#fff;--soft:#f5f5f5;--line:#d9d9d9;--line2:#bcbcbc;--fg:#111;--dim:#666b73;--acc:#111;--primary-soft:#edf0ff;--accent:#c3ceff;--focus:#8b9edb;--warn:#956000;--warn-soft:#fff6e5;--err:#b82b2b;--err-soft:#fff0f0;--ok:#39835c;--ok-soft:#edf6f0;--radius:3px}
*{box-sizing:border-box}
html{background:var(--bg);scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;min-height:100vh;min-height:100svh}
button,input,textarea,select{font:inherit}
h1,h2,p{margin:0}
p{text-wrap:pretty}
a{color:var(--fg)}
button,a,input,textarea,select,summary{touch-action:manipulation}
button{min-height:44px;border:1px solid var(--acc);border-radius:var(--radius);padding:9px 16px;background:var(--acc);color:#fff;font-weight:600;cursor:pointer;transition:background .14s,border-color .14s}
button:hover:not(:disabled){background:#333;border-color:#333}
button.ghost{color:var(--fg);border-color:var(--line);background:var(--card)}
button.ghost:hover:not(:disabled){background:var(--soft);border-color:var(--line2)}
button.danger{color:var(--err);border-color:var(--err);background:var(--card)}
button.danger:hover:not(:disabled){color:#fff;background:var(--err)}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.58;cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
input,textarea,select{min-width:0!important;max-width:100%;min-height:44px;border:1px solid var(--line2);border-radius:var(--radius);padding:10px 12px;color:var(--fg);background:var(--card);width:100%;transition:border-color .14s}
input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--dim)}
input:focus,textarea:focus,select:focus{border-color:var(--acc);outline:2px solid var(--focus);outline-offset:2px}
input[type=number]{width:100px}
input[type=checkbox]{width:18px!important;min-height:18px;flex:0 0 auto;accent-color:var(--acc)}
input[type=file]{font-size:13px}
input::file-selector-button{min-height:30px;border:1px solid var(--line);border-radius:var(--radius);margin-right:10px;padding:4px 10px;background:var(--soft);font:inherit;color:var(--fg);cursor:pointer}
textarea{min-height:144px;resize:vertical;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
label{color:var(--fg);font-size:13px;font-weight:600}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;margin:0 28px;padding:0 22px;border:1px solid var(--line);border-top:0;background:var(--card)}
.brand-name{font-size:23px;font-weight:750;letter-spacing:-.06em;text-decoration:none;white-space:nowrap}
.topbar-actions,.topbar-nav{display:flex;align-items:center;gap:24px;min-width:0}
.topbar-nav a,.docs-link{position:relative;display:inline-flex;align-items:center;min-height:44px;color:var(--fg);font-size:13px;text-decoration:none;white-space:nowrap}
.topbar-nav a[aria-current=page]::after{content:"";position:absolute;right:0;bottom:7px;left:0;height:2px;background:var(--fg)}
.topbar-nav a:hover,.docs-link:hover{color:var(--dim)}
.account-menu{position:relative}
.account-menu>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 0;cursor:pointer;list-style:none;font-size:13px}
.account-menu>summary::-webkit-details-marker{display:none}
.account-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.account-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:30;display:grid;gap:12px;width:280px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--card);box-shadow:0 12px 32px rgb(0 0 0 / .1)}
.account-pop .badge{display:block;overflow-wrap:anywhere}
.wrap{width:min(1280px,100%);margin:0 auto;padding:32px 50px 64px}
.workspace-intro{margin-bottom:28px}
.eyebrow{margin-bottom:8px;color:var(--dim);font-size:11px;font-weight:650;letter-spacing:.13em}
h1{font-size:clamp(34px,4vw,56px);line-height:1.14;font-weight:750;letter-spacing:-.05em;text-wrap:pretty}
.workspace-intro>p:last-child{margin-top:12px;color:var(--dim)}
.card{min-width:0;border:1px solid var(--line);border-radius:4px;padding:24px;background:var(--card)}
.card+.card{margin-top:20px}
.bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bar>b{min-width:0;font-size:22px;line-height:1.4;letter-spacing:-.035em}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.row>*{min-width:0;max-width:100%}
.dim{color:var(--dim);font-size:13px;font-weight:400}
.badge{color:var(--fg);font-size:14px;font-weight:500}
.msg{display:none;margin:0 0 20px;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:14px;overflow-wrap:anywhere;scroll-margin-top:80px}
.msg.err{display:block;color:var(--err);border-color:var(--err);background:var(--err-soft)}
.msg.ok{display:block;color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}
.msg.info{display:block;color:var(--fg);border-color:var(--accent);background:var(--primary-soft)}
.msg.warn{display:block;color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}
.card .dim+form,.card .dim+div,.card .dim+p{margin-top:12px}
.card>.dim{line-height:1.7}
.project-create{margin:20px 0 24px}
.project-create input{flex:1 1 260px}
.project-create button{flex:0 0 auto}
.project-list{border-top:1px solid var(--line)}
.proj{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 12px;text-align:left;background:var(--card);color:var(--fg);font-size:15px}
.proj>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}
.proj>span:last-child{flex:0 0 auto;font-size:22px}
.proj:hover:not(:disabled){border-color:var(--line);background:var(--soft)}
.proj.sel{background:var(--primary-soft)}
.empty-state{padding:32px 16px;text-align:center;color:var(--dim);font-size:14px}
#curProj{min-width:0;flex:1 1 260px;overflow-wrap:anywhere}
.meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.meta>div{min-width:0;padding:16px}
.meta>div+div{border-left:1px solid var(--line)}
.meta b{display:block;margin-top:6px;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.tabs,.settings-nav{display:flex;gap:4px;margin:24px 0 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs button,.settings-nav button{position:relative;min-height:44px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;color:var(--dim);background:transparent;font-size:14px;font-weight:600}
.tabs button:hover:not(:disabled),.settings-nav button:hover:not(:disabled){color:var(--fg);background:var(--soft);border-bottom-color:var(--line2)}
.tabs button.on,.settings-nav button[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--fg);background:transparent}
.query-fields{display:grid;grid-template-columns:minmax(0,1fr) 150px 100px auto;gap:12px;align-items:end;margin-top:20px}
.query-fields label{display:grid;gap:7px;min-width:0}
.query-fields input{width:100%!important}
.query-fields button{align-self:end}
#btnCancelQuery{grid-column:1/-1;justify-self:start}
pre{max-width:100%;max-height:55vh;margin:16px 0 0;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--soft);color:var(--fg);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.warnbox{margin-top:14px;border:1px solid var(--warn);border-radius:var(--radius);padding:12px 14px;color:var(--warn);background:var(--warn-soft);font-size:14px}
.invite-fields,.opt-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.opt-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.invite-fields label,.opt-fields label{display:grid;gap:7px;min-width:0}
.invite-fields input,.opt-fields input,.opt-fields select{width:100%}
.invite-item,.opt-item{margin-top:18px;border-top:1px solid var(--line);padding-top:18px;overflow-wrap:anywhere}
.invite-item label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;min-height:44px}
.invite-item input[type=number]{display:block;margin-top:6px}
#inviteOnce{margin-top:18px;border:1px solid var(--warn);border-radius:var(--radius);padding:16px;background:var(--warn-soft);overflow-wrap:anywhere}
#inviteOnce textarea{min-height:88px;margin-top:12px}
#optPrompt{min-height:240px;margin-top:8px}
#settingsView .settings-panels{max-width:980px}
.settings-heading h1{font-size:32px;letter-spacing:-.035em}
.settings-heading p{margin-top:10px}
.settings-panels[data-section=model]>:not(#modelCard):not(#jevCard),
.settings-panels[data-section=invitations]>:not(#inviteCard),
.settings-panels[data-section=admin]>:not(#adminCard):not(#adminStatsCard):not(#optimizationCard),
.settings-panels[data-section=cloud]>:not(#doCard):not(#agentCard){display:none}
.settings-panels>.card{margin-top:0;margin-bottom:20px}
.auth-copy{display:none}
.auth-page .topbar{position:absolute;top:0;right:0;left:0;justify-content:flex-end;border:0;background:transparent}
.auth-page .brand-name,.auth-page .topbar-nav{display:none}
.auth-page .wrap{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:88px 24px}
.auth-page .auth-copy{display:block;width:min(420px,100%);margin-bottom:28px;text-align:center}
.auth-copy h1{font-size:clamp(34px,8vw,44px);line-height:1.15;letter-spacing:-.035em}
.auth-copy p{margin-top:18px;color:var(--dim);font-size:17px;line-height:1.85}
.auth-page #loginCard{width:min(420px,100%);border:0;padding:0;background:transparent}
.auth-page #msg{width:min(420px,100%);order:1;margin:18px 0 0}
#btnSSO{min-height:50px;width:100%;font-size:16px}
#btnInviteMode{width:100%;margin-top:12px}
#apiKeyBlock{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
#apiKeyBlock>summary{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;cursor:pointer;text-align:center}
#apiKeyBlock>summary::-webkit-details-marker{display:none}
#apiKeyBlock>summary::after{content:"+";font-size:18px}
#apiKeyBlock[open]>summary::after{content:"−"}
#apiKeyBlock .row input{flex:1 1 220px}
#loginInvite{margin:8px 0}
#loginInviteHint{margin-bottom:16px}
@media(max-width:1024px){.wrap{padding-right:28px;padding-left:28px}.topbar{margin:0 16px;padding:0 14px}.topbar-actions,.topbar-nav{gap:18px}.query-fields{grid-template-columns:minmax(0,1fr) 130px 90px auto}}
@media(max-width:680px){.topbar{margin:0;padding:0 16px;gap:12px;min-height:96px;flex-wrap:wrap;align-content:center}.brand-name{font-size:21px}.topbar-actions{display:contents}.topbar-nav{order:3;flex:1 0 100%;justify-content:flex-start;gap:24px;border-top:1px solid var(--soft)}.docs-link{margin-left:auto;font-size:12px}.account-menu{font-size:12px}.account-pop{right:-2px}.wrap{padding:24px 16px 48px}.card{padding:18px}.workspace-intro{margin-bottom:24px}.workspace-intro h1{font-size:38px}.bar{gap:12px}.bar>b{font-size:20px}.project-create{gap:10px}.project-create input{flex-basis:100%}.project-create button{width:100%}.meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.meta>div{padding:12px}.meta>div:nth-child(3){border-left:0}.meta>div:nth-child(n+3){border-top:1px solid var(--line)}.meta b{font-size:14px}.tabs{margin-top:20px;gap:0}.tabs button,.settings-nav button{padding:10px 12px;font-size:13px}.query-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.query-fields>label:first-child{grid-column:1/-1}.query-fields>#btnQuery{grid-column:1/-1;width:100%}.invite-fields,.opt-fields{grid-template-columns:1fr}.row>input:not([type=checkbox]),.row>select{flex:1 1 100%!important;width:100%!important}.row>button{flex:1 1 auto}.row>label{max-width:100%}.card>.bar>.row{width:100%}.settings-heading h1{font-size:28px}.settings-nav{margin-top:18px}.auth-page .topbar{min-height:56px;flex-wrap:nowrap}.auth-page .topbar-actions{display:flex}.auth-page .wrap{padding:88px 24px}.auth-page .account-pop{right:0}.auth-copy p{font-size:16px}.auth-page #apiKeyBlock .row>button{width:100%}}
@media(max-width:360px){.wrap{padding-right:12px;padding-left:12px}.card{padding:14px}.topbar{padding-right:12px;padding-left:12px;gap:8px}.brand-name{font-size:19px}.topbar-nav{gap:22px}.account-menu>summary{font-size:12px}.tabs button,.settings-nav button{padding-right:10px;padding-left:10px}.meta>div{padding:10px}.meta b{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

.admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 16px}
.admin-stats-grid>div{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--soft)}
.admin-stats-grid dt{color:var(--dim);font-size:13px;overflow-wrap:anywhere}
.admin-stats-grid dd{margin:10px 0 0;font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}
.admin-stats-notes{margin-top:16px;font-size:12px;line-height:1.7}
.admin-stats-notes p+p{margin-top:6px}
@media(max-width:1024px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.admin-stats-grid{gap:8px}.admin-stats-grid>div{padding:12px}.admin-stats-grid dd{font-size:26px}}

.language-switch{min-width:44px;min-height:44px;padding:8px 12px;font-size:13px;flex:none}.auth-page .slogan{max-width:440px;text-wrap:pretty}.topbar-actions .language-switch{order:0}
.file-picker{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.file-picker>span{min-width:0;overflow-wrap:anywhere;flex:1 1 140px}.file-picker>button{flex:none}
@media(max-width:680px){.topbar .language-switch{padding:6px 8px;min-width:44px;font-size:12px}.topbar{gap:8px}.brand-name{font-size:19px}.topbar .docs-link{font-size:11px}.account-menu>summary{padding:10px 4px}.auth-page .slogan{font-size:17px}.query-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.query-fields>#btnCancelQuery{grid-column:1/-1}.tabs button{overflow-wrap:anywhere}}
@media(max-width:360px){.topbar{gap:4px;padding-right:8px;padding-left:8px}.brand-name{font-size:17px}.topbar .docs-link{font-size:10px}.topbar .language-switch{padding:4px}.account-menu>summary{font-size:11px}}


/* Keep the full product name and account menu on the first mobile row. */
@media(max-width:680px){
  .workspace-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:12px;row-gap:0;min-height:96px}
  .workspace-topbar .brand-name{grid-column:1/3;grid-row:1;min-width:0;letter-spacing:-.04em}
  .workspace-topbar .topbar-nav{grid-column:1;grid-row:2;border-top:0;gap:16px}
  .workspace-topbar .docs-link{grid-column:2;grid-row:2;margin-left:0}
  .workspace-topbar .language-switch{grid-column:3;grid-row:2}
  .workspace-topbar .account-menu{grid-column:3;grid-row:1;justify-self:end}
  .auth-page .workspace-topbar{display:flex;min-height:56px}
}
@media(max-width:360px){.workspace-topbar{column-gap:8px}.workspace-topbar .topbar-nav{gap:12px}}
