@wizeworks/lens-ui 0.3.0-alpha.4 → 0.3.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- import{_ as e,bt as t,v as n}from"./account-CBQ8udHj.js";import{v as r}from"./index-OzB99FXf.js";var i={organization:[`update`,`delete`],member:[`create`,`update`,`delete`],invitation:[`create`,`cancel`],team:[`create`,`update`,`delete`],ac:[`create`,`read`,`update`,`delete`],project:[`read`,`create`,`update`,`delete`],key:[`read`,`create`,`revoke`],alert:[`read`,`create`,`update`,`delete`],share:[`create`,`revoke`],audit:[`read`],tag:[`create`,`update`,`delete`]},a=[`owner`,`admin`,`member`,`viewer`],o={project:[`read`,`create`,`update`,`delete`],key:[`read`,`create`,`revoke`],alert:[`read`,`create`,`update`,`delete`],share:[`create`,`revoke`],audit:[`read`],tag:[`create`,`update`,`delete`]},s={project:[`read`],key:[`read`],alert:[`read`],ac:[`read`]},c={member:[`create`,`update`,`delete`],invitation:[`create`,`cancel`],ac:[`create`,`read`,`update`,`delete`]},l={viewer:s,member:{...s,alert:o.alert,share:o.share,tag:o.tag},admin:{...c,...o,organization:[`update`]},owner:{...c,...o,organization:[`update`,`delete`]}};function u(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{code:e,message:t,toString:()=>e}]))}var d=u({CHALLENGE_NOT_FOUND:`Challenge not found`,YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY:`You are not allowed to register this passkey`,FAILED_TO_VERIFY_REGISTRATION:`Failed to verify registration`,PASSKEY_NOT_FOUND:`Passkey not found`,AUTHENTICATION_FAILED:`Authentication failed`,UNABLE_TO_CREATE_SESSION:`Unable to create session`,USER_NOT_FOUND:`User not found`,FAILED_TO_UPDATE_PASSKEY:`Failed to update passkey`,PREVIOUSLY_REGISTERED:`Previously registered`,REGISTRATION_CANCELLED:`Registration cancelled`,AUTH_CANCELLED:`Auth cancelled`,UNKNOWN_ERROR:`Unknown error`,SESSION_REQUIRED:`Passkey registration requires an authenticated session`,RESOLVE_USER_REQUIRED:`Passkey registration requires either an authenticated session or a resolveUser callback when requireSession is false`,RESOLVED_USER_INVALID:`Resolved user is invalid`}),f=`1.7.10`;function p(e){let t=new Uint8Array(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function m(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=(4-t.length%4)%4,r=t.padEnd(t.length+n,`=`),i=atob(r),a=new ArrayBuffer(i.length),o=new Uint8Array(a);for(let e=0;e<i.length;e++)o[e]=i.charCodeAt(e);return a}function h(){return g.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var g={stubThis:e=>e};function _(e){let{id:t}=e;return{...e,id:m(t),transports:e.transports}}function v(e){return e===`localhost`||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var y=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??n.name,this.code=t}};function b({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new y({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new y({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new y({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new y({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new y({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new y({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new y({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new y({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!v(t))return new y({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new y({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new y({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new y({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}var x=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}},S=[`cross-platform`,`platform`];function C(e){if(e&&!(S.indexOf(e)<0))return e}async function w(e){!e.optionsJSON&&e.challenge&&(console.warn(`startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=!1}=e;if(!h())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:m(t.challenge),user:{...t.user,id:m(t.user.id)},excludeCredentials:t.excludeCredentials?.map(_)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=x.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw b({error:e,options:i})}if(!a)throw Error(`Registration was not completed`);let{id:o,rawId:s,response:c,type:l}=a,u;typeof c.getTransports==`function`&&(u=c.getTransports());let d;if(typeof c.getPublicKeyAlgorithm==`function`)try{d=c.getPublicKeyAlgorithm()}catch(e){T(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=p(e))}catch(e){T(`getPublicKey()`,e)}let g;if(typeof c.getAuthenticatorData==`function`)try{g=p(c.getAuthenticatorData())}catch(e){T(`getAuthenticatorData()`,e)}return{id:o,rawId:p(s),response:{attestationObject:p(c.attestationObject),clientDataJSON:p(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:g},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:C(a.authenticatorAttachment)}}function T(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.\n`,t)}function ee(){if(!h())return E.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?E.stubThis(new Promise(e=>e(!1))):E.stubThis(e.isConditionalMediationAvailable())}var E={stubThis:e=>e};function te({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new y({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new y({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!v(t))return new y({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new y({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new y({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}async function ne(e){!e.optionsJSON&&e.challenge&&(console.warn(`startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:r=!0}=e;if(!h())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(_));let a={...t,challenge:m(t.challenge),allowCredentials:i},o={};if(n){if(!await ee())throw Error(`Browser does not support WebAuthn autofill`);if(document.querySelectorAll(`input[autocomplete$='webauthn']`).length<1&&r)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation=`conditional`,a.allowCredentials=[]}o.publicKey=a,o.signal=x.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw te({error:e,options:o})}if(!s)throw Error(`Authentication was not completed`);let{id:c,rawId:l,response:u,type:d}=s,f;return u.userHandle&&(f=p(u.userHandle)),{id:c,rawId:p(l),response:{authenticatorData:p(u.authenticatorData),clientDataJSON:p(u.clientDataJSON),signature:p(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:C(s.authenticatorAttachment)}}var re=`1.7.10`,D=Symbol.for(`better-auth:broadcast-channel`),ie=()=>Math.floor(Date.now()/1e3),ae=class{listeners=new Set;name;constructor(e=`better-auth.message`){this.name=e}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}post(e){if(typeof window<`u`)try{localStorage.setItem(this.name,JSON.stringify({...e,timestamp:ie()}))}catch{}}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=e=>{if(e.key!==this.name)return;let t=JSON.parse(e.newValue??`{}`);t?.event===`session`&&t?.data&&this.listeners.forEach(e=>e(t))};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}}};function O(e=`better-auth.message`){return globalThis[D]||(globalThis[D]=new ae(e)),globalThis[D]}var k=[],A=0,oe=null,se=4,ce=globalThis.nanostoresGlobal||={epoch:0},le=()=>{let e,t;for(;A<k.length;){t=A,A+=se;let n=oe?.get(k[t]);if(n){if(!n.has(k[t+1]))continue;n.clear()}try{k[t](k[t+1].value,k[t+2],k[t+3])}catch(t){e=t}}if(k.length=A=0,e)throw e},j=e=>{let t=[],n={eq:Object.is,get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(e){return n.lc=t.push(e),()=>{oe?.get(e)?.delete(n);for(let t=A;t<k.length;)k[t]===e&&k[t+1]===n?k.splice(t,se):t+=se;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){ce.epoch++;let i=!k.length&&!0;for(let i of t)k.push(i,n,e,r);i&&le()},off(){},set(e){let t=n.value;n.eq(t,e)||(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n},ue=2,de=5,M=6,N=10,fe=(e,t,n,r)=>(e.events=e.events||{},e.events[n+N]||(e.events[n+N]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);~i&&(r.splice(i,1),r.length||(e.events[n+N](),delete e.events[n+N]))}),pe=(e,t)=>fe(e,t,ue,t=>{let n=e.set,r=e.setKey;return e.setKey&&=(n,i)=>{let a;if(t({abort:()=>{a=!0},changed:n,newValue:{...e.value,[n]:i}}),!a)return r(n,i)},e.set=e=>{let r;if(t({abort:()=>{r=!0},newValue:e}),!r)return n(e)},()=>{e.set=n,e.setKey=r}}),me=1e3,P=(e,t)=>fe(e,n=>{let r=t(n);r&&e.events[M].push(r)},de,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[M]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[M])t();e.events[M]=[]}},me)},()=>{e.listen=n,e.off=r}});function he(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function F(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!F(e[n],t[n]))return!1;return!0}if(he(e)&&he(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!(r in t)||!F(e[r],t[r]))return!1;return!0}return!1}function ge(e,t){return pe(e,({newValue:n,abort:r})=>{t(e.value,n)&&r()})}var I=Symbol.for(`better-auth:focus-manager`),_e=class{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setFocused(e){this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||typeof document>`u`||window.addEventListener===void 0)return()=>{};let e=()=>{document.visibilityState===`visible`&&this.setFocused(!0)};return document.addEventListener(`visibilitychange`,e,!1),()=>{document.removeEventListener(`visibilitychange`,e,!1)}}};function ve(){return globalThis[I]||(globalThis[I]=new _e),globalThis[I]}var L=Symbol.for(`better-auth:online-manager`),ye=class{listeners=new Set;isOnline=typeof navigator<`u`?navigator.onLine:!0;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOnline(e){this.isOnline=e,this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=()=>this.setOnline(!0),t=()=>this.setOnline(!1);return window.addEventListener(`online`,e,!1),window.addEventListener(`offline`,t,!1),()=>{window.removeEventListener(`online`,e,!1),window.removeEventListener(`offline`,t,!1)}}};function R(){return globalThis[L]||(globalThis[L]=new ye),globalThis[L]}var be={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},xe=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,Se={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},Ce=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function we(e){return e instanceof Date&&!isNaN(e.getTime())}function Te(e){let t=Ce.exec(e);if(!t)return null;let[,n,r,i,a,o,s,c,l,u,d]=t,f=new Date(Date.UTC(parseInt(n,10),parseInt(r,10)-1,parseInt(i,10),parseInt(a,10),parseInt(o,10),parseInt(s,10),c?parseInt(c.padEnd(3,`0`),10):0));if(l){let e=(parseInt(u,10)*60+parseInt(d,10))*(l===`+`?-1:1);f.setUTCMinutes(f.getUTCMinutes()+e)}return we(f)?f:null}function Ee(e,t={}){let{strict:n=!1,warnings:r=!1,reviver:i,parseDates:a=!0}=t;if(typeof e!=`string`)return e;let o=e.trim(),s=o.toLowerCase();if(s.length<=9&&s in Se)return Se[s];if(!xe.test(o)){if(n)throw SyntaxError(`[better-json] Invalid JSON`);return e}if(Object.entries(be).some(([e,t])=>{let n=t.test(o);return n&&r&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${e} pattern`),n})&&n)throw Error(`[better-json] Potential prototype pollution attempt detected`);try{return JSON.parse(o,(e,t)=>{if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t)r&&console.warn(`[better-json] Dropping "${e}" key to prevent prototype pollution`);else{if(a&&typeof t==`string`){let e=Te(t);if(e)return e}return i?i(e,t):t}})}catch(t){if(n)throw t;return e}}function De(e,t={strict:!0}){return Ee(e,t)}var Oe=Symbol.for(`better-auth:auth-query`);function ke(e){let t=j(e);return Object.defineProperty(t,Oe,{value:!0}),t}var Ae=()=>typeof window>`u`;function je(e,t){return F(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}var z=(e,t,n,r)=>{let i=ke({data:null,error:null,isPending:!0,isRefetching:!1,refetch:e=>o(e)});P(i,()=>ge(i,je));let a=0,o=async e=>{let o=++a;return new Promise(s=>{let c=typeof r==`function`?r({data:i.get().data,error:i.get().error,isPending:i.get().isPending}):r;n(t,{...c,query:{...c?.query,...e?.query},async onSuccess(e){if(o===a){let t=i.get(),n=t.data!=null&&e.data!=null&&F(t.data,e.data)?t.data:e.data;i.set({data:n,error:null,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}await c?.onSuccess?.(e)},async onError(e){let{request:t}=e,n=typeof t.retry==`number`?t.retry:t.retry?.attempts,r=t.retryAttempt||0;if(!(n&&r<n)){if(o===a){let t=e.error.status===401;i.set({error:e.error,data:t?null:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}await c?.onError?.(e)}},async onRequest(e){if(o===a){let e=i.get();i.set({isPending:e.data===null,data:e.data,error:null,isRefetching:!0,refetch:i.value.refetch})}await c?.onRequest?.(e)}}).catch(e=>{o===a&&i.set({error:e,data:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}).finally(()=>{s(void 0)})})};e=Array.isArray(e)?e:[e];let s=!1,c=!1,l=!1,u=()=>{s?l=!0:(s=!0,o().finally(()=>{s=!1;let e=l&&c;l=!1,e&&u()}))};return P(i,()=>{if(Ae())return;c=!0;let t=!1,n,r=e.map(e=>e.listen(()=>{t?o():(t=!0,clearTimeout(n),u())}));return n=setTimeout(()=>{t=!0,u()},0),()=>{c=!1;for(let e of r)e();clearTimeout(n)}}),i},B=()=>Math.floor(Date.now()/1e3),Me=5;function Ne(e){let{fetchSession:t,shouldPollSession:n=()=>!0,sessionSignal:r,options:i={}}=e,a=i.sessionOptions?.refetchInterval??0,o=i.sessionOptions?.refetchOnWindowFocus??!0,s=i.sessionOptions?.refetchWhenOffline??!1,c={isInitialized:!1,lastSessionRequest:0},l=()=>s||R().isOnline,u=e=>{if(l()){if(e?.event===`storage`)t();else if(e?.event===`poll`)c.lastSessionRequest=B(),t();else if(e?.event===`visibilitychange`){if(B()-c.lastSessionRequest<Me)return;c.lastSessionRequest=B(),t()}else t()}},d=e=>{O().post({event:`session`,data:{trigger:e},clientId:Math.random().toString(36).substring(7)})},f=()=>{a&&a>0&&(c.pollInterval=setInterval(()=>{n()&&u({event:`poll`})},a*1e3))},p=()=>{c.unsubscribeBroadcast=O().subscribe(()=>{u({event:`storage`})})},m=()=>{o&&(c.unsubscribeFocus=ve().subscribe(()=>{u({event:`visibilitychange`})}))},h=()=>{c.unsubscribeOnline=R().subscribe(e=>{e&&u({event:`visibilitychange`})})},g=()=>{c.unsubscribeSignal=r.listen(()=>{t()})};return{init:()=>{c.isInitialized||(c.isInitialized=!0,f(),p(),m(),h(),g(),c.cleanupBroadcastSetup=O().setup(),c.cleanupFocusSetup=ve().setup(),c.cleanupOnlineSetup=R().setup())},cleanup:()=>{c.isInitialized&&(c.pollInterval&&=(clearInterval(c.pollInterval),void 0),c.unsubscribeBroadcast&&=(c.unsubscribeBroadcast(),void 0),c.unsubscribeFocus&&=(c.unsubscribeFocus(),void 0),c.unsubscribeOnline&&=(c.unsubscribeOnline(),void 0),c.unsubscribeSignal&&=(c.unsubscribeSignal(),void 0),c.cleanupBroadcastSetup&&=(c.cleanupBroadcastSetup(),void 0),c.cleanupFocusSetup&&=(c.cleanupFocusSetup(),void 0),c.cleanupOnlineSetup&&=(c.cleanupOnlineSetup(),void 0),c.isInitialized=!1,c.lastSessionRequest=0)},triggerRefetch:u,broadcastSessionUpdate:d}}var V=Object.create(null),H=e=>({}),U=new Proxy(V,{get(e,t){return H()[t]??V[t]},has(e,t){return t in H()||t in V},set(e,t,n){let r=H(!0);return r[t]=n,!0},deleteProperty(e,t){if(!t)return!1;let n=H(!0);return delete n[t],!0},ownKeys(){let e=H(!0);return Object.keys(e)}});U.NODE_ENV;function W(e,t){return typeof process<`u`?{}[e]??t:typeof Deno<`u`?Deno.env.get(e)??t:typeof Bun<`u`?Bun.env[e]??t:t}Object.freeze({get BETTER_AUTH_SECRET(){return W(`BETTER_AUTH_SECRET`)},get AUTH_SECRET(){return W(`AUTH_SECRET`)},get BETTER_AUTH_TELEMETRY(){return W(`BETTER_AUTH_TELEMETRY`)},get BETTER_AUTH_TELEMETRY_ID(){return W(`BETTER_AUTH_TELEMETRY_ID`)},get NODE_ENV(){return W(`NODE_ENV`,`development`)},get PACKAGE_VERSION(){return W(`PACKAGE_VERSION`,`0.0.0`)},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return W(`BETTER_AUTH_TELEMETRY_ENDPOINT`,``)}});function Pe(){let e=Object.getOwnPropertyDescriptor(Error,`stackTraceLimit`);return e===void 0?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(e,`writable`)?e.writable:e.set!==void 0}function Fe(e){let t=e.split(`
1
+ import{_ as e,bt as t,v as n}from"./account-DJJSBLFB.js";import{v as r}from"./index-WvBRFdk4.js";var i={organization:[`update`,`delete`],member:[`create`,`update`,`delete`],invitation:[`create`,`cancel`],team:[`create`,`update`,`delete`],ac:[`create`,`read`,`update`,`delete`],project:[`read`,`create`,`update`,`delete`],key:[`read`,`create`,`revoke`],alert:[`read`,`create`,`update`,`delete`],share:[`create`,`revoke`],audit:[`read`],tag:[`create`,`update`,`delete`]},a=[`owner`,`admin`,`member`,`viewer`],o={project:[`read`,`create`,`update`,`delete`],key:[`read`,`create`,`revoke`],alert:[`read`,`create`,`update`,`delete`],share:[`create`,`revoke`],audit:[`read`],tag:[`create`,`update`,`delete`]},s={project:[`read`],key:[`read`],alert:[`read`],ac:[`read`]},c={member:[`create`,`update`,`delete`],invitation:[`create`,`cancel`],ac:[`create`,`read`,`update`,`delete`]},l={viewer:s,member:{...s,alert:o.alert,share:o.share,tag:o.tag},admin:{...c,...o,organization:[`update`]},owner:{...c,...o,organization:[`update`,`delete`]}};function u(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{code:e,message:t,toString:()=>e}]))}var d=u({CHALLENGE_NOT_FOUND:`Challenge not found`,YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY:`You are not allowed to register this passkey`,FAILED_TO_VERIFY_REGISTRATION:`Failed to verify registration`,PASSKEY_NOT_FOUND:`Passkey not found`,AUTHENTICATION_FAILED:`Authentication failed`,UNABLE_TO_CREATE_SESSION:`Unable to create session`,USER_NOT_FOUND:`User not found`,FAILED_TO_UPDATE_PASSKEY:`Failed to update passkey`,PREVIOUSLY_REGISTERED:`Previously registered`,REGISTRATION_CANCELLED:`Registration cancelled`,AUTH_CANCELLED:`Auth cancelled`,UNKNOWN_ERROR:`Unknown error`,SESSION_REQUIRED:`Passkey registration requires an authenticated session`,RESOLVE_USER_REQUIRED:`Passkey registration requires either an authenticated session or a resolveUser callback when requireSession is false`,RESOLVED_USER_INVALID:`Resolved user is invalid`}),f=`1.7.10`;function p(e){let t=new Uint8Array(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function m(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=(4-t.length%4)%4,r=t.padEnd(t.length+n,`=`),i=atob(r),a=new ArrayBuffer(i.length),o=new Uint8Array(a);for(let e=0;e<i.length;e++)o[e]=i.charCodeAt(e);return a}function h(){return g.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var g={stubThis:e=>e};function _(e){let{id:t}=e;return{...e,id:m(t),transports:e.transports}}function v(e){return e===`localhost`||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var y=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??n.name,this.code=t}};function b({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new y({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new y({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new y({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new y({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new y({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new y({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new y({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new y({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!v(t))return new y({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new y({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new y({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new y({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}var x=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}},S=[`cross-platform`,`platform`];function C(e){if(e&&!(S.indexOf(e)<0))return e}async function w(e){!e.optionsJSON&&e.challenge&&(console.warn(`startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=!1}=e;if(!h())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:m(t.challenge),user:{...t.user,id:m(t.user.id)},excludeCredentials:t.excludeCredentials?.map(_)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=x.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw b({error:e,options:i})}if(!a)throw Error(`Registration was not completed`);let{id:o,rawId:s,response:c,type:l}=a,u;typeof c.getTransports==`function`&&(u=c.getTransports());let d;if(typeof c.getPublicKeyAlgorithm==`function`)try{d=c.getPublicKeyAlgorithm()}catch(e){T(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=p(e))}catch(e){T(`getPublicKey()`,e)}let g;if(typeof c.getAuthenticatorData==`function`)try{g=p(c.getAuthenticatorData())}catch(e){T(`getAuthenticatorData()`,e)}return{id:o,rawId:p(s),response:{attestationObject:p(c.attestationObject),clientDataJSON:p(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:g},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:C(a.authenticatorAttachment)}}function T(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.\n`,t)}function ee(){if(!h())return E.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?E.stubThis(new Promise(e=>e(!1))):E.stubThis(e.isConditionalMediationAvailable())}var E={stubThis:e=>e};function te({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new y({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new y({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!v(t))return new y({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new y({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new y({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}async function ne(e){!e.optionsJSON&&e.challenge&&(console.warn(`startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:r=!0}=e;if(!h())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(_));let a={...t,challenge:m(t.challenge),allowCredentials:i},o={};if(n){if(!await ee())throw Error(`Browser does not support WebAuthn autofill`);if(document.querySelectorAll(`input[autocomplete$='webauthn']`).length<1&&r)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation=`conditional`,a.allowCredentials=[]}o.publicKey=a,o.signal=x.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw te({error:e,options:o})}if(!s)throw Error(`Authentication was not completed`);let{id:c,rawId:l,response:u,type:d}=s,f;return u.userHandle&&(f=p(u.userHandle)),{id:c,rawId:p(l),response:{authenticatorData:p(u.authenticatorData),clientDataJSON:p(u.clientDataJSON),signature:p(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:C(s.authenticatorAttachment)}}var re=`1.7.10`,D=Symbol.for(`better-auth:broadcast-channel`),ie=()=>Math.floor(Date.now()/1e3),ae=class{listeners=new Set;name;constructor(e=`better-auth.message`){this.name=e}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}post(e){if(typeof window<`u`)try{localStorage.setItem(this.name,JSON.stringify({...e,timestamp:ie()}))}catch{}}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=e=>{if(e.key!==this.name)return;let t=JSON.parse(e.newValue??`{}`);t?.event===`session`&&t?.data&&this.listeners.forEach(e=>e(t))};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}}};function O(e=`better-auth.message`){return globalThis[D]||(globalThis[D]=new ae(e)),globalThis[D]}var k=[],A=0,oe=null,se=4,ce=globalThis.nanostoresGlobal||={epoch:0},le=()=>{let e,t;for(;A<k.length;){t=A,A+=se;let n=oe?.get(k[t]);if(n){if(!n.has(k[t+1]))continue;n.clear()}try{k[t](k[t+1].value,k[t+2],k[t+3])}catch(t){e=t}}if(k.length=A=0,e)throw e},j=e=>{let t=[],n={eq:Object.is,get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(e){return n.lc=t.push(e),()=>{oe?.get(e)?.delete(n);for(let t=A;t<k.length;)k[t]===e&&k[t+1]===n?k.splice(t,se):t+=se;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){ce.epoch++;let i=!k.length&&!0;for(let i of t)k.push(i,n,e,r);i&&le()},off(){},set(e){let t=n.value;n.eq(t,e)||(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n},ue=2,de=5,M=6,N=10,fe=(e,t,n,r)=>(e.events=e.events||{},e.events[n+N]||(e.events[n+N]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);~i&&(r.splice(i,1),r.length||(e.events[n+N](),delete e.events[n+N]))}),pe=(e,t)=>fe(e,t,ue,t=>{let n=e.set,r=e.setKey;return e.setKey&&=(n,i)=>{let a;if(t({abort:()=>{a=!0},changed:n,newValue:{...e.value,[n]:i}}),!a)return r(n,i)},e.set=e=>{let r;if(t({abort:()=>{r=!0},newValue:e}),!r)return n(e)},()=>{e.set=n,e.setKey=r}}),me=1e3,P=(e,t)=>fe(e,n=>{let r=t(n);r&&e.events[M].push(r)},de,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[M]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[M])t();e.events[M]=[]}},me)},()=>{e.listen=n,e.off=r}});function he(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function F(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!F(e[n],t[n]))return!1;return!0}if(he(e)&&he(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!(r in t)||!F(e[r],t[r]))return!1;return!0}return!1}function ge(e,t){return pe(e,({newValue:n,abort:r})=>{t(e.value,n)&&r()})}var I=Symbol.for(`better-auth:focus-manager`),_e=class{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setFocused(e){this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||typeof document>`u`||window.addEventListener===void 0)return()=>{};let e=()=>{document.visibilityState===`visible`&&this.setFocused(!0)};return document.addEventListener(`visibilitychange`,e,!1),()=>{document.removeEventListener(`visibilitychange`,e,!1)}}};function ve(){return globalThis[I]||(globalThis[I]=new _e),globalThis[I]}var L=Symbol.for(`better-auth:online-manager`),ye=class{listeners=new Set;isOnline=typeof navigator<`u`?navigator.onLine:!0;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOnline(e){this.isOnline=e,this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=()=>this.setOnline(!0),t=()=>this.setOnline(!1);return window.addEventListener(`online`,e,!1),window.addEventListener(`offline`,t,!1),()=>{window.removeEventListener(`online`,e,!1),window.removeEventListener(`offline`,t,!1)}}};function R(){return globalThis[L]||(globalThis[L]=new ye),globalThis[L]}var be={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},xe=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,Se={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},Ce=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function we(e){return e instanceof Date&&!isNaN(e.getTime())}function Te(e){let t=Ce.exec(e);if(!t)return null;let[,n,r,i,a,o,s,c,l,u,d]=t,f=new Date(Date.UTC(parseInt(n,10),parseInt(r,10)-1,parseInt(i,10),parseInt(a,10),parseInt(o,10),parseInt(s,10),c?parseInt(c.padEnd(3,`0`),10):0));if(l){let e=(parseInt(u,10)*60+parseInt(d,10))*(l===`+`?-1:1);f.setUTCMinutes(f.getUTCMinutes()+e)}return we(f)?f:null}function Ee(e,t={}){let{strict:n=!1,warnings:r=!1,reviver:i,parseDates:a=!0}=t;if(typeof e!=`string`)return e;let o=e.trim(),s=o.toLowerCase();if(s.length<=9&&s in Se)return Se[s];if(!xe.test(o)){if(n)throw SyntaxError(`[better-json] Invalid JSON`);return e}if(Object.entries(be).some(([e,t])=>{let n=t.test(o);return n&&r&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${e} pattern`),n})&&n)throw Error(`[better-json] Potential prototype pollution attempt detected`);try{return JSON.parse(o,(e,t)=>{if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t)r&&console.warn(`[better-json] Dropping "${e}" key to prevent prototype pollution`);else{if(a&&typeof t==`string`){let e=Te(t);if(e)return e}return i?i(e,t):t}})}catch(t){if(n)throw t;return e}}function De(e,t={strict:!0}){return Ee(e,t)}var Oe=Symbol.for(`better-auth:auth-query`);function ke(e){let t=j(e);return Object.defineProperty(t,Oe,{value:!0}),t}var Ae=()=>typeof window>`u`;function je(e,t){return F(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}var z=(e,t,n,r)=>{let i=ke({data:null,error:null,isPending:!0,isRefetching:!1,refetch:e=>o(e)});P(i,()=>ge(i,je));let a=0,o=async e=>{let o=++a;return new Promise(s=>{let c=typeof r==`function`?r({data:i.get().data,error:i.get().error,isPending:i.get().isPending}):r;n(t,{...c,query:{...c?.query,...e?.query},async onSuccess(e){if(o===a){let t=i.get(),n=t.data!=null&&e.data!=null&&F(t.data,e.data)?t.data:e.data;i.set({data:n,error:null,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}await c?.onSuccess?.(e)},async onError(e){let{request:t}=e,n=typeof t.retry==`number`?t.retry:t.retry?.attempts,r=t.retryAttempt||0;if(!(n&&r<n)){if(o===a){let t=e.error.status===401;i.set({error:e.error,data:t?null:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}await c?.onError?.(e)}},async onRequest(e){if(o===a){let e=i.get();i.set({isPending:e.data===null,data:e.data,error:null,isRefetching:!0,refetch:i.value.refetch})}await c?.onRequest?.(e)}}).catch(e=>{o===a&&i.set({error:e,data:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}).finally(()=>{s(void 0)})})};e=Array.isArray(e)?e:[e];let s=!1,c=!1,l=!1,u=()=>{s?l=!0:(s=!0,o().finally(()=>{s=!1;let e=l&&c;l=!1,e&&u()}))};return P(i,()=>{if(Ae())return;c=!0;let t=!1,n,r=e.map(e=>e.listen(()=>{t?o():(t=!0,clearTimeout(n),u())}));return n=setTimeout(()=>{t=!0,u()},0),()=>{c=!1;for(let e of r)e();clearTimeout(n)}}),i},B=()=>Math.floor(Date.now()/1e3),Me=5;function Ne(e){let{fetchSession:t,shouldPollSession:n=()=>!0,sessionSignal:r,options:i={}}=e,a=i.sessionOptions?.refetchInterval??0,o=i.sessionOptions?.refetchOnWindowFocus??!0,s=i.sessionOptions?.refetchWhenOffline??!1,c={isInitialized:!1,lastSessionRequest:0},l=()=>s||R().isOnline,u=e=>{if(l()){if(e?.event===`storage`)t();else if(e?.event===`poll`)c.lastSessionRequest=B(),t();else if(e?.event===`visibilitychange`){if(B()-c.lastSessionRequest<Me)return;c.lastSessionRequest=B(),t()}else t()}},d=e=>{O().post({event:`session`,data:{trigger:e},clientId:Math.random().toString(36).substring(7)})},f=()=>{a&&a>0&&(c.pollInterval=setInterval(()=>{n()&&u({event:`poll`})},a*1e3))},p=()=>{c.unsubscribeBroadcast=O().subscribe(()=>{u({event:`storage`})})},m=()=>{o&&(c.unsubscribeFocus=ve().subscribe(()=>{u({event:`visibilitychange`})}))},h=()=>{c.unsubscribeOnline=R().subscribe(e=>{e&&u({event:`visibilitychange`})})},g=()=>{c.unsubscribeSignal=r.listen(()=>{t()})};return{init:()=>{c.isInitialized||(c.isInitialized=!0,f(),p(),m(),h(),g(),c.cleanupBroadcastSetup=O().setup(),c.cleanupFocusSetup=ve().setup(),c.cleanupOnlineSetup=R().setup())},cleanup:()=>{c.isInitialized&&(c.pollInterval&&=(clearInterval(c.pollInterval),void 0),c.unsubscribeBroadcast&&=(c.unsubscribeBroadcast(),void 0),c.unsubscribeFocus&&=(c.unsubscribeFocus(),void 0),c.unsubscribeOnline&&=(c.unsubscribeOnline(),void 0),c.unsubscribeSignal&&=(c.unsubscribeSignal(),void 0),c.cleanupBroadcastSetup&&=(c.cleanupBroadcastSetup(),void 0),c.cleanupFocusSetup&&=(c.cleanupFocusSetup(),void 0),c.cleanupOnlineSetup&&=(c.cleanupOnlineSetup(),void 0),c.isInitialized=!1,c.lastSessionRequest=0)},triggerRefetch:u,broadcastSessionUpdate:d}}var V=Object.create(null),H=e=>({}),U=new Proxy(V,{get(e,t){return H()[t]??V[t]},has(e,t){return t in H()||t in V},set(e,t,n){let r=H(!0);return r[t]=n,!0},deleteProperty(e,t){if(!t)return!1;let n=H(!0);return delete n[t],!0},ownKeys(){let e=H(!0);return Object.keys(e)}});U.NODE_ENV;function W(e,t){return typeof process<`u`?{}[e]??t:typeof Deno<`u`?Deno.env.get(e)??t:typeof Bun<`u`?Bun.env[e]??t:t}Object.freeze({get BETTER_AUTH_SECRET(){return W(`BETTER_AUTH_SECRET`)},get AUTH_SECRET(){return W(`AUTH_SECRET`)},get BETTER_AUTH_TELEMETRY(){return W(`BETTER_AUTH_TELEMETRY`)},get BETTER_AUTH_TELEMETRY_ID(){return W(`BETTER_AUTH_TELEMETRY_ID`)},get NODE_ENV(){return W(`NODE_ENV`,`development`)},get PACKAGE_VERSION(){return W(`PACKAGE_VERSION`,`0.0.0`)},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return W(`BETTER_AUTH_TELEMETRY_ENDPOINT`,``)}});function Pe(){let e=Object.getOwnPropertyDescriptor(Error,`stackTraceLimit`);return e===void 0?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(e,`writable`)?e.writable:e.set!==void 0}function Fe(e){let t=e.split(`
2
2
  at `);return t.length<=1?e:(t.splice(1,1),t.join(`
3
3
  at `))}function Ie(e,t){class n extends e{#e;constructor(...e){if(Pe()){let t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);let t=Error().stack;t&&(this.#e=Fe(t.replace(/^Error/,this.name)))}get errorStack(){return this.#e}}return Object.defineProperty(n.prototype,"constructor",{get(){return t},enumerable:!1,configurable:!0}),n}var Le={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};Ie(class extends Error{status;body;headers;statusCode;constructor(e=`INTERNAL_SERVER_ERROR`,t=void 0,n={},r=typeof e==`number`?e:Le[e]){super(t?.message,t?.cause?{cause:t.cause}:void 0),this.status=e,this.body=t,this.headers=n,this.statusCode=r,this.name=`APIError`,this.status=e,this.headers=n,this.statusCode=r,this.body=t}},Error);var G=class extends Error{constructor(e,t){super(e,t),this.name=`BetterAuthError`,this.message=e,this.stack=``}},Re=47;function ze(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===Re;)t--;return t===e.length?e:e.slice(0,t)}function Be(e){try{return(ze(new URL(e).pathname)||`/`)!==`/`}catch{throw new G(`Invalid base URL: ${e}. Please provide a valid base URL.`)}}function Ve(e){try{let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new G(`Invalid base URL: ${e}. URL must include 'http://' or 'https://'`)}catch(t){throw t instanceof G?t:new G(`Invalid base URL: ${e}. Please provide a valid base URL.`,{cause:t})}}function K(e,t=`/api/auth`){if(Ve(e),Be(e))return e;let n=ze(e);return!t||t===`/`?n:(t=t.startsWith(`/`)?t:`/${t}`,`${n}${t}`)}function He(e,t){return!e||e.trim()===``?!1:t===`proto`?e===`http`||e===`https`:t===`host`?[/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some(t=>t.test(e))?!1:/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(:[0-9]{1,5})?$/.test(e)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(e)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(e)||/^localhost(:[0-9]{1,5})?$/i.test(e):!1}function Ue(e,t,n,r,i){if(e)return K(e,t);if(r!==!1){let e=U.BETTER_AUTH_URL||U.NEXT_PUBLIC_BETTER_AUTH_URL||U.PUBLIC_BETTER_AUTH_URL||U.NUXT_PUBLIC_BETTER_AUTH_URL||U.NUXT_PUBLIC_AUTH_URL||(U.BASE_URL===`/`?void 0:U.BASE_URL);if(e)return K(e,t)}let a=n?.headers.get(`x-forwarded-host`),o=n?.headers.get(`x-forwarded-proto`);if(a&&o&&i&&He(o,`proto`)&&He(a,`host`))try{return K(`${o}://${a}`,t)}catch{}if(n){let e=We(n.url);if(!e)throw new G(`Could not get origin from request. Please provide a valid base URL.`);return K(e,t)}if(typeof window<`u`&&window.location)return K(window.location.origin,t)}function We(e){try{let t=new URL(e);return t.origin===`null`?null:t.origin}catch{return null}}var Ge=[`javascript:`,`data:`,`vbscript:`];function Ke(e){let t;try{t=new URL(e)}catch{return!0}return!Ge.includes(t.protocol)}var qe={id:`redirect`,name:`Redirect`,hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&Ke(e.data.url)&&typeof window<`u`&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},Je=()=>typeof window>`u`,Ye=me;function Xe(e,t){if(typeof window>`u`)return;let n=e.get();n.data===null&&t!==null&&e.set({...n,data:t,error:null,isPending:!1})}function Ze(e){return typeof e==`object`&&e&&`data`in e&&`error`in e?e:{data:e,error:null}}function Qe(e){return!e||e.session===null&&e.user===null?null:e}function $e(e,t){return F(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}function et(e,t){let n=j(!1),r,i=0,a=0;n.listen(()=>{a++,i=0});let o=e=>u(e),s=ke({data:null,error:null,isPending:!0,isRefetching:!1,refetch:o});ge(s,$e);let c=async(t,n)=>{let r=s.value;if(s.set({...r,isPending:r.data===null,isRefetching:!0,error:null,refetch:o}),t.aborted)return`aborted`;try{let r=await e(`/get-session`,{method:`GET`,query:n?.query,signal:t});if(t.aborted)return`aborted`;let{data:i,error:a}=Ze(r),c=`fresh`;if(i?.needsRefresh)try{let n=await e(`/get-session`,{method:`POST`,signal:t});if(t.aborted)return`aborted`;({data:i,error:a}=Ze(n))}catch{if(t.aborted)return`aborted`;c=`stale`}if(a){let e=s.value,t=a?.status===401;return s.set({data:t?null:e.data,error:a,isPending:!1,isRefetching:!1,refetch:o}),`failed`}let l=Qe(i),u=s.value,d=u.data!=null&&l!=null&&F(u.data,l)?u.data:l;return s.set({data:d,error:null,isPending:!1,isRefetching:!1,refetch:o}),c}catch(e){if(t.aborted)return`aborted`;let n=s.value;return s.set({data:n.data,error:e,isPending:!1,isRefetching:!1,refetch:o}),`failed`}},l=()=>{let e=s.value.data?.session?.expiresAt,t=e instanceof Date?e.getTime():1/0;return Math.min(Date.now()+Ye,t)},u=e=>{i=0,r?.cancel();let t=new AbortController,n={cancel:()=>t.abort(),promise:Promise.resolve().then(()=>t.signal.aborted?`aborted`:c(t.signal,e)),revision:a};r=n;let o=e=>{r===n&&(r=void 0,e===`fresh`&&n.revision===a&&(i=l()))};return n.promise.then(o,()=>o(`failed`)),n.promise.then(()=>void 0)},d=()=>r?.revision===a?r.promise.then(()=>void 0):Date.now()<i?Promise.resolve():u(),f=()=>{};return P(s,()=>{let e;Je()||(e=setTimeout(()=>{d()},0));let r=Ne({fetchSession:u,shouldPollSession:()=>s.value.data!=null,sessionSignal:n,options:t});return r.init(),f=r.broadcastSessionUpdate,()=>{e&&clearTimeout(e),r.cleanup()}}),{session:s,$sessionSignal:n,broadcastSessionUpdate:e=>f(e)}}function q(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function J(e,t,n=`.`,r){if(!q(t))return J(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(i[t]=Array.isArray(a)&&Array.isArray(i[t])?[...a,...i[t]]:q(a)&&q(i[t])?J(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function tt(e){return(...t)=>t.reduce((t,n)=>J(t,n,``,e),{})}var nt=tt(),rt=class extends Error{constructor(e,t,n){super(t||e.toString(),{cause:n}),this.status=e,this.statusText=t,this.error=n,Error.captureStackTrace(this,this.constructor)}},it=async(e,t)=>{let n=t||{},r={onRequest:[t?.onRequest],onResponse:[t?.onResponse],onSuccess:[t?.onSuccess],onError:[t?.onError],onRetry:[t?.onRetry]};if(!t||!t?.plugins)return{url:e,options:n,hooks:r};for(let i of t?.plugins||[]){if(i.init){let t=await i.init?.call(i,e.toString(),n);n=t.options||n,e=t.url}r.onRequest.push(i.hooks?.onRequest),r.onResponse.push(i.hooks?.onResponse),r.onSuccess.push(i.hooks?.onSuccess),r.onError.push(i.hooks?.onError),r.onRetry.push(i.hooks?.onRetry)}return{url:e,options:n,hooks:r}},at=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(){return this.options.delay}},ot=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(e){return Math.min(this.options.maxDelay,this.options.baseDelay*2**e)}};function st(e){if(typeof e==`number`)return new at({type:`linear`,attempts:e,delay:1e3});switch(e.type){case`linear`:return new at(e);case`exponential`:return new ot(e);default:throw Error(`Invalid retry strategy`)}}var ct=[`get`,`post`,`put`,`patch`,`delete`];function Y(e){if(!e.startsWith(`@`))return{method:void 0,path:e};let t=e.indexOf(`/`),n=e.slice(1,t===-1?void 0:t);return ct.includes(n)?{method:n,path:t===-1?e:e.slice(t+1)}:{method:void 0,path:e}}var lt=e=>e===`.`||e===`..`,ut=e=>e.split(`:`).map(e=>encodeURIComponent(e)).join(`:`);function dt(e,t){let n=t.get(e);if(n===void 0)return ut(e);if(lt(n))throw TypeError(`Path parameters cannot be reserved path segments`);return encodeURIComponent(n)}function ft(e,t){let{baseURL:n,params:r,query:i}=t||{query:{},params:{},baseURL:``},a=e.startsWith(`http`)?e.split(`/`).slice(0,3).join(`/`):n||``,{path:o}=Y(e);o!==e&&(e=`/${o}`),a.endsWith(`/`)||(a+=`/`);let[s,c]=e.replace(a,``).split(`?`),l=new URLSearchParams(c);for(let[e,t]of Object.entries(i||{})){if(t==null)continue;let n;if(typeof t==`string`)n=t;else if(Array.isArray(t)){for(let n of t)l.append(e,n);continue}else n=JSON.stringify(t);l.set(e,n)}let u=new Map;if(r){if(Array.isArray(r)){let e=s.split(`/`).filter(e=>e.startsWith(`:`));for(let[t,n]of e.entries()){let e=r[t];u.set(n,String(e))}}else for(let[e,t]of Object.entries(r))u.set(`:${e}`,String(t))}s=s.split(`/`).map(e=>dt(e,u)).join(`/`),s=s.replace(/^\/+/,``);let d=l.toString();return d=d.length>0?`?${d}`.replace(/\+/g,`%20`):``,a.startsWith(`http`)?new URL(`${s}${d}`,a):`${a}${s}${d}`}var pt=async e=>{let t={},n=async e=>typeof e==`function`?await e():e;if(e?.auth){if(e.auth.type===`Bearer`){let r=await n(e.auth.token);if(!r)return t;t.authorization=`Bearer ${r}`}else if(e.auth.type===`Basic`){let[r,i]=await Promise.all([n(e.auth.username),n(e.auth.password)]);if(!r||!i)return t;t.authorization=`Basic ${btoa(`${r}:${i}`)}`}else if(e.auth.type===`Custom`){let[r,i]=await Promise.all([n(e.auth.prefix),n(e.auth.value)]);if(!i)return t;t.authorization=`${r??``} ${i}`}}return t},mt=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function ht(e){let t=e.headers.get(`content-type`),n=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]);if(!t)return`json`;let r=t.split(`;`).shift()||``;return mt.test(r)?`json`:n.has(r)||r.startsWith(`text/`)?`text`:`blob`}function gt(e){try{return JSON.parse(e),!0}catch{return!1}}function _t(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}function vt(e){try{return JSON.parse(e)}catch{return e}}function yt(e){return typeof e==`function`}function bt(e){if(e?.customFetchImpl)return e.customFetchImpl;if(typeof globalThis<`u`&&yt(globalThis.fetch))return globalThis.fetch;if(typeof window<`u`&&yt(window.fetch))return window.fetch;throw Error(`No fetch implementation found`)}function xt(...e){let t={};for(let n of e)if(n){if(n instanceof Headers)n.forEach((e,n)=>{t[n]=e});else{let e=Array.isArray(n)?n:Object.entries(n);for(let[n,r]of e)r!=null&&(t[n]=r)}}return t}async function St(e){let t=new Headers(xt(e?.headers,await pt(e)));if(!t.has(`content-type`)){let n=Ct(e?.body);n&&t.set(`content-type`,n)}return t}function Ct(e){return _t(e)?`application/json`:null}function wt(e){let t=e.get(`content-type`);return t?t.split(`;`)[0].trim().toLowerCase():null}function Tt(e,t){let{body:n}=e;return n?!_t(n)||typeof n==`string`?n:wt(t)===`application/x-www-form-urlencoded`?new URLSearchParams(n).toString():JSON.stringify(n):null}function Et(e,t){if(t?.method)return t.method.toUpperCase();let{method:n}=Y(e);return n?n.toUpperCase():t?.body?`POST`:`GET`}function Dt(e,t){let n;return!e?.signal&&e?.timeout&&(n=setTimeout(()=>t?.abort(),e?.timeout)),{abortTimeout:n,clearTimeout:()=>{n&&clearTimeout(n)}}}var Ot=class e extends Error{constructor(t,n){super(n||JSON.stringify(t,null,2)),this.issues=t,Object.setPrototypeOf(this,e.prototype)}};async function X(e,t){let n=await e[`~standard`].validate(t);if(n.issues)throw new Ot(n.issues);return n.value}function Z(e){"@babel/helpers - typeof";return Z=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Z(e)}function kt(e,t){if(Z(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Z(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function At(e){var t=kt(e,`string`);return Z(t)==`symbol`?t:t+``}function jt(e,t,n){return(t=At(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Mt(Object(n),!0).forEach(function(t){jt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var $=async(e,t)=>{var n;let{hooks:r,url:i,options:a}=await it(e,t),o=bt(a),s=new AbortController,c=a.signal??s.signal,l=ft(i,a),u=await St(a),d=Tt(a,u),f=Et(i,a),p=Q(Q({},a),{},{url:l,headers:u,body:d,method:f,signal:c});for(let e of r.onRequest)if(e){let t=await e(p);typeof t==`object`&&t&&Object.assign(p,t)}(`pipeTo`in p&&typeof p.pipeTo==`function`||typeof(t==null||(n=t.body)==null?void 0:n.pipe)==`function`)&&(`duplex`in p||(p.duplex=`half`));let{clearTimeout:m}=Dt(a,s),h=await o(p.url,p);m();let g={response:h,request:p};for(let e of r.onResponse)if(e){var _;let n=await e(Q(Q({},g),{},{response:t!=null&&(_=t.hookOptions)!=null&&_.cloneResponse?h.clone():h}));n instanceof Response?h=n:typeof n==`object`&&n&&(h=n.response)}if(h.ok){if(p.method===`HEAD`)return{data:``,error:null};let e=ht(h),n={data:null,response:h,request:p};if(e===`json`||e===`text`){let e=await h.text();n.data=await(p.jsonParser??vt)(e)}else n.data=await h[e]();p?.output&&p.output&&!p.disableValidation&&(n.data=await X(p.output,n.data));for(let e of r.onSuccess)if(e){var v;await e(Q(Q({},n),{},{response:t!=null&&(v=t.hookOptions)!=null&&v.cloneResponse?h.clone():h}))}return t?.throw?n.data:{data:n.data,error:null}}let y=t?.jsonParser??vt,b=await h.text(),x=gt(b),S=x?await y(b):null,C={response:h,responseText:b,request:p,error:Q(Q({},S),{},{status:h.status,statusText:h.statusText})};for(let e of r.onError)if(e){var w;await e(Q(Q({},C),{},{response:t!=null&&(w=t.hookOptions)!=null&&w.cloneResponse?h.clone():h}))}if(t?.retry){let n=st(t.retry),i=t.retryAttempt??0;if(await n.shouldAttemptRetry(i,h)){for(let e of r.onRetry)e&&await e(g);let a=n.getDelay(i);return await new Promise(e=>setTimeout(e,a)),await $(e,Q(Q({},t),{},{retryAttempt:i+1}))}}if(t?.throw)throw new rt(h.status,h.statusText,x?S:b);return{data:null,error:Q(Q({},S),{},{status:h.status,statusText:h.statusText})}},Nt=e=>({id:`apply-schema`,name:`Apply Schema`,version:`1.0.0`,async init(t,n){var r;let i=Q(Q({},n),e.query!==void 0&&{query:Q(Q({},e.query),n?.query)}),a=((r=e.plugins)==null||(r=r.find(e=>e.schema?.config?t.startsWith(e.schema.config.baseURL||``)||t.startsWith(e.schema.config.prefix||``):!1))==null?void 0:r.schema)||e.schema;if(a){let r=t;a.config?.prefix&&r.startsWith(a.config.prefix)&&(r=r.replace(a.config.prefix,``),a.config.baseURL&&(t=t.replace(a.config.prefix,a.config.baseURL))),a.config?.baseURL&&r.startsWith(a.config.baseURL)&&(r=r.replace(a.config.baseURL,``)),r.startsWith(`/`)&&r.charAt(1)===`@`&&(r=r.substring(1));let o=a.schema[r];if(o){let{method:a,path:s}=Y(r);a&&(t=t.slice(0,t.length-r.length)+s);let c=n?.headers;if(o.headers&&!n?.disableValidation){let e={};if(n?.headers){if(n.headers instanceof Headers)n.headers.forEach((t,n)=>{e[n.toLowerCase()]=t});else if(typeof n.headers==`object`)for(let[t,r]of Object.entries(n.headers))r!=null&&(e[t.toLowerCase()]=r)}let t=await X(o.headers,e),r={};for(let[e,n]of Object.entries(t))r[e.toLowerCase()]=n;c=r}let l=o.method??a;if(i=Q(Q(Q(Q({},i),l!==void 0&&{method:l}),o.output!==void 0&&{output:o.output}),c!==void 0&&{headers:c}),!n?.disableValidation){if(o.query&&(i.query=await X(o.query,n?.query),i.query!==null&&typeof i.query==`object`)){let t=Q({},e.query);for(let e of Object.keys(t))n?.query&&Object.prototype.hasOwnProperty.call(n.query,e)&&(t[e]=n.query[e]);i.query=Q(Q({},t),i.query)}i=Q(Q({},i),{},{body:o.input?await X(o.input,n?.body):n?.body,params:o.params?await X(o.params,n?.params):n?.params})}return{url:t,options:i}}}return Q({url:t},(n!==void 0||e.query!==void 0)&&{options:i})}}),Pt=e=>{async function t(t,n){let r=Q(Q(Q({},e),n),{},{headers:xt(e?.headers,n?.headers),plugins:[...e?.plugins||[],Nt(e||{}),...n?.plugins||[]]});if(e?.catchAllError)try{return await $(t,r)}catch(e){return{data:null,error:{status:500,statusText:`Fetch Error`,message:`Fetch related error. Captured by catchAllError option. See error property for more details.`,error:e}}}return await $(t,r)}return t},Ft=e=>{if(typeof process>`u`)return;let t=e??`/api/auth`;if({}.NEXT_PUBLIC_AUTH_URL)return{}.NEXT_PUBLIC_AUTH_URL;if(typeof window>`u`){if({}.NEXTAUTH_URL)try{return{}.NEXTAUTH_URL}catch{}if({}.VERCEL_URL)try{let e={}.VERCEL_URL.startsWith(`http`)?``:`https://`;return`${new URL(`${e}${{}.VERCEL_URL}`).origin}${t}`}catch{}}},It=e=>e===`/sign-out`||e===`/update-user`||e===`/update-session`||e===`/sign-up/email`||e===`/sign-in/email`||e===`/delete-user`||e===`/verify-email`||e===`/revoke-sessions`||e===`/revoke-session`||e===`/revoke-other-sessions`||e===`/change-email`||e===`/change-password`,Lt=(e,t)=>{let n=`credentials`in Request.prototype,r=Ue(e?.baseURL,e?.basePath,void 0,t)??Ft(e?.basePath)??`/api/auth`,i=e?.plugins?.flatMap(e=>e.fetchPlugins).filter(e=>e!==void 0)||[],a={id:`lifecycle-hooks`,name:`lifecycle-hooks`,hooks:{onSuccess:e?.fetchOptions?.onSuccess,onError:e?.fetchOptions?.onError,onRequest:e?.fetchOptions?.onRequest,onResponse:e?.fetchOptions?.onResponse}},{onSuccess:o,onError:s,onRequest:c,onResponse:l,...u}=e?.fetchOptions||{},d=Pt({baseURL:r,...n?{credentials:`include`}:{},method:`GET`,jsonParser(e){return e?De(e,{strict:!1}):null},customFetchImpl:fetch,...u,plugins:[a,...u.plugins||[],...e?.disableDefaultFetchPlugins?[]:[qe],...i]}),{$sessionSignal:f,session:p,broadcastSessionUpdate:m}=et(d,e),h=!1,g=e=>{h||e===null||(h=!0,Xe(p,e))},_=e?.plugins||[],v={},y={$sessionSignal:f,session:p},b={"/sign-out":`POST`,"/revoke-sessions":`POST`,"/revoke-other-sessions":`POST`,"/delete-user":`POST`},x=[{signal:`$sessionSignal`,matcher:It,callback(e){e===`/sign-out`?m(`signout`):(e===`/update-user`||e===`/update-session`)&&m(`updateUser`)}}];for(let e of _)e.getAtoms&&Object.assign(y,e.getAtoms?.(d)),e.pathMethods&&Object.assign(b,e.pathMethods),e.atomListeners&&x.push(...e.atomListeners);let S={notify:e=>{y[e].set(!y[e].get())},listen:(e,t)=>{y[e].subscribe(t)},atoms:y};for(let t of _)t.getActions&&(v=nt(t.getActions?.(d,S,e)??{},v));return{get baseURL(){return r},pluginsActions:v,pluginsAtoms:y,pluginPathMethods:b,atomListeners:x,hydrateSession:g,$sessionSignal:f,$fetch:d,$store:S}};function Rt(e){return typeof e==`object`&&!!e&&`get`in e&&typeof e.get==`function`&&`lc`in e&&typeof e.lc==`number`}function zt(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Bt=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,Vt=/['\u2019]/g;function Ht(e){return e.replace(Vt,``).match(Bt)??[]}function Ut(e){return Ht(e).map(e=>e.toLowerCase()).join(`-`)}function Wt(e,t,n){let r=t[e],{fetchOptions:i,query:a,...o}=n||{};return r||(i?.method?i.method:o&&Object.keys(o).length>0?`POST`:`GET`)}function Gt(e,t,n,r,i){function a(o=[]){return new Proxy(function(){},{get(t,n){if(typeof n!=`string`||n===`then`||n===`catch`||n===`finally`)return;let r=[...o,n],i=e;for(let e of r)if(i&&typeof i==`object`&&e in i)i=i[e];else{i=void 0;break}return typeof i==`function`||Rt(i)?i:a(r)},apply:async(e,a,s)=>{let c=`/`+o.map(Ut).join(`/`),l=s[0]||{},u=s[1]||{},{query:d,fetchOptions:f,...p}=l,m={...u,...f},h=Wt(c,n,l);return await t(c,{...m,body:h===`GET`?void 0:{...p,...m?.body||{}},query:d||m?.query,method:h,async onSuccess(e){if(await m?.onSuccess?.(e),!i||m.disableSignal)return;let t=i.filter(e=>e.matcher(c));if(!t.length)return;let n=new Set;for(let e of t){let t=r[e.signal];if(!t)return;if(n.has(e.signal))continue;n.add(e.signal);let i=t.get();setTimeout(()=>{t.set(!i)},10),e.callback?.(c)}}})}})}return a()}function Kt(e){let{pluginPathMethods:t,pluginsActions:n,pluginsAtoms:r,hydrateSession:i,$fetch:a,atomListeners:o,$store:s}=Lt(e),c={};for(let[e,t]of Object.entries(r))c[`use${zt(e)}`]=t;return Gt({...n,...c,hydrateSession:i,$fetch:a,$store:s},a,t,r,o)}var qt=(e,{$listPasskeys:t,$store:n})=>({signIn:{passkey:async(r,i)=>{let a=await e(`/passkey/generate-authenticate-options`,{method:`GET`,throw:!1});if(!a.data)return a;let o=a.data.extensions||r?.extensions?{...a.data.extensions||{},...r?.extensions||{}}:void 0,s;try{s=await ne({optionsJSON:{...a.data,extensions:o},useBrowserAutofill:r?.autoFill})}catch(e){return{data:null,error:{code:e instanceof y?e.code:`AUTH_CANCELLED`,message:d.AUTH_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}}try{let{clientExtensionResults:a,...o}=s,c=await e(`/passkey/verify-authentication`,{body:{response:o},...r?.fetchOptions,...i,method:`POST`,throw:!1});return t.set(Math.random()),n.notify(`$sessionSignal`),r?.returnWebAuthnResponse?{...c,webauthn:{response:s,clientExtensionResults:a}}:c}catch(e){return console.error(`[Better Auth] Error verifying passkey`,e),{data:null,error:{code:`AUTH_CANCELLED`,message:d.AUTH_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}}}},passkey:{addPasskey:async(r,i)=>{let a=await e(`/passkey/generate-register-options`,{method:`GET`,query:{...r?.authenticatorAttachment&&{authenticatorAttachment:r.authenticatorAttachment},...r?.name&&{name:r.name},...r?.context&&{context:r.context}},throw:!1});if(!a.data)return a;try{let o=a.data.extensions||r?.extensions?{...a.data.extensions||{},...r?.extensions||{}}:void 0,s=await w({optionsJSON:{...a.data,extensions:o},useAutoRegister:r?.useAutoRegister}),{clientExtensionResults:c,...l}=s,u=await e(`/passkey/verify-registration`,{...r?.fetchOptions,...i,body:{response:l,name:r?.name,...r?.createSession&&{createSession:!0}},method:`POST`,throw:!1});return u.data?(t.set(Math.random()),u.data.session&&n.notify(`$sessionSignal`),r?.returnWebAuthnResponse?{...u,webauthn:{response:s,clientExtensionResults:c}}:u):u}catch(e){return e instanceof y?e.code===`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`?{data:null,error:{code:e.code,message:d.PREVIOUSLY_REGISTERED.message,status:400,statusText:`BAD_REQUEST`}}:e.code===`ERROR_CEREMONY_ABORTED`?{data:null,error:{code:e.code,message:d.REGISTRATION_CANCELLED.message,status:400,statusText:`BAD_REQUEST`}}:{data:null,error:{code:e.code,message:e.message,status:400,statusText:`BAD_REQUEST`}}:{data:null,error:{code:`UNKNOWN_ERROR`,message:e instanceof Error?e.message:d.UNKNOWN_ERROR.message,status:500,statusText:`INTERNAL_SERVER_ERROR`}}}}},$Infer:{}}),Jt=()=>{let e=j();return{id:`passkey`,version:f,$InferServerPlugin:{},getActions:(t,n)=>qt(t,{$listPasskeys:e,$store:n}),getAtoms(t){return{listPasskeys:z(e,`/passkey/list-user-passkeys`,t,{method:`GET`}),$listPasskeys:e}},pathMethods:{"/passkey/register":`POST`,"/passkey/authenticate":`POST`},atomListeners:[{matcher(e){return e===`/passkey/verify-registration`||e===`/passkey/delete-passkey`||e===`/passkey/update-passkey`||e===`/sign-out`},signal:`$listPasskeys`},{matcher:e=>e===`/passkey/verify-authentication`,signal:`$sessionSignal`}],$ERROR_CODES:d}},Yt=`1.7.10`,Xt=e=>({id:`sso-client`,version:Yt,$InferServerPlugin:{},pathMethods:{"/sso/providers":`GET`,"/sso/get-provider":`GET`}});function Zt(e){return{success:!1,error:`You are not allowed to access resource: ${e}`}}function Qt(e){return{success:!1,error:`unauthorized to access resource "${e}"`}}function $t(e){return e===`OR`?`OR`:`AND`}function en(e){return Array.isArray(e)}function tn(e){if(en(e))return{actions:e,connector:`AND`};if(!e||typeof e!=`object`)throw new G(`Invalid access control request`);let{actions:t,connector:n}=e;return en(t)?{actions:t,connector:$t(n)}:{actions:[],connector:$t(n)}}function nn(e,t){return typeof t==`string`&&e.includes(t)}function rn(e,{actions:t,connector:n}){return t.length===0?!1:n===`OR`?t.some(t=>nn(e,t)):t.every(t=>nn(e,t))}function an(e){return{authorize(t,n=`AND`){let r=!1;for(let[i,a]of Object.entries(t)){let t=e[i];if(!t){if(n===`AND`)return Zt(i);continue}let o=rn(t,tn(a));if(o&&(r=!0),o&&n===`OR`)return{success:!0};if(!o&&n===`AND`)return Qt(i)}return r?{success:!0}:{success:!1,error:`Not authorized`}},statements:e}}function on(e){return{newRole(e){return an(e)},statements:e}}var sn=u({YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_ORGANIZATION:`You are not allowed to create a new organization`,YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_ORGANIZATIONS:`You have reached the maximum number of organizations`,ORGANIZATION_ALREADY_EXISTS:`Organization already exists`,ORGANIZATION_SLUG_ALREADY_TAKEN:`Organization slug already taken`,ORGANIZATION_NOT_FOUND:`Organization not found`,USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION:`User is not a member of the organization`,YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_ORGANIZATION:`You are not allowed to update this organization`,YOU_ARE_NOT_ALLOWED_TO_DELETE_THIS_ORGANIZATION:`You are not allowed to delete this organization`,NO_ACTIVE_ORGANIZATION:`No active organization`,USER_IS_ALREADY_A_MEMBER_OF_THIS_ORGANIZATION:`User is already a member of this organization`,MEMBER_NOT_FOUND:`Member not found`,ROLE_NOT_FOUND:`Role not found`,YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_TEAM:`You are not allowed to create a new team`,TEAM_ALREADY_EXISTS:`Team already exists`,TEAM_NOT_FOUND:`Team not found`,YOU_CANNOT_LEAVE_THE_ORGANIZATION_AS_THE_ONLY_OWNER:`You cannot leave the organization as the only owner`,YOU_CANNOT_LEAVE_THE_ORGANIZATION_WITHOUT_AN_OWNER:`You cannot leave the organization without an owner`,YOU_ARE_NOT_ALLOWED_TO_DELETE_THIS_MEMBER:`You are not allowed to delete this member`,YOU_ARE_NOT_ALLOWED_TO_INVITE_USERS_TO_THIS_ORGANIZATION:`You are not allowed to invite users to this organization`,USER_IS_ALREADY_INVITED_TO_THIS_ORGANIZATION:`User is already invited to this organization`,INVITATION_NOT_FOUND:`Invitation not found`,YOU_ARE_NOT_THE_RECIPIENT_OF_THE_INVITATION:`You are not the recipient of the invitation`,EMAIL_VERIFICATION_REQUIRED_BEFORE_ACCEPTING_OR_REJECTING_INVITATION:`Email verification required before accepting or rejecting invitation`,EMAIL_VERIFICATION_REQUIRED_FOR_INVITATION:`Email verification required to view or list invitations for the session email`,YOU_ARE_NOT_ALLOWED_TO_CANCEL_THIS_INVITATION:`You are not allowed to cancel this invitation`,INVITER_IS_NO_LONGER_A_MEMBER_OF_THE_ORGANIZATION:`Inviter is no longer a member of the organization`,YOU_ARE_NOT_ALLOWED_TO_INVITE_USER_WITH_THIS_ROLE:`You are not allowed to invite a user with this role`,FAILED_TO_RETRIEVE_INVITATION:`Failed to retrieve invitation`,YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_TEAMS:`You have reached the maximum number of teams`,UNABLE_TO_REMOVE_LAST_TEAM:`Unable to remove last team`,YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_MEMBER:`You are not allowed to update this member`,ORGANIZATION_MEMBERSHIP_LIMIT_REACHED:`Organization membership limit reached`,YOU_ARE_NOT_ALLOWED_TO_CREATE_TEAMS_IN_THIS_ORGANIZATION:`You are not allowed to create teams in this organization`,YOU_ARE_NOT_ALLOWED_TO_DELETE_TEAMS_IN_THIS_ORGANIZATION:`You are not allowed to delete teams in this organization`,YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_TEAM:`You are not allowed to update this team`,YOU_ARE_NOT_ALLOWED_TO_DELETE_THIS_TEAM:`You are not allowed to delete this team`,INVITATION_LIMIT_REACHED:`Invitation limit reached`,TEAM_MEMBER_LIMIT_REACHED:`Team member limit reached`,USER_IS_NOT_A_MEMBER_OF_THE_TEAM:`User is not a member of the team`,YOU_CAN_NOT_ACCESS_THE_MEMBERS_OF_THIS_TEAM:`You are not allowed to list the members of this team`,YOU_DO_NOT_HAVE_AN_ACTIVE_TEAM:`You do not have an active team`,YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_TEAM_MEMBER:`You are not allowed to create a new member`,YOU_ARE_NOT_ALLOWED_TO_REMOVE_A_TEAM_MEMBER:`You are not allowed to remove a team member`,YOU_ARE_NOT_ALLOWED_TO_ACCESS_THIS_ORGANIZATION:`You are not allowed to access this organization as an owner`,YOU_ARE_NOT_A_MEMBER_OF_THIS_ORGANIZATION:`You are not a member of this organization`,MISSING_AC_INSTANCE:`Dynamic Access Control requires a pre-defined ac instance on the server auth plugin. Read server logs for more information`,YOU_MUST_BE_IN_AN_ORGANIZATION_TO_CREATE_A_ROLE:`You must be in an organization to create a role`,YOU_ARE_NOT_ALLOWED_TO_CREATE_A_ROLE:`You are not allowed to create a role`,YOU_ARE_NOT_ALLOWED_TO_UPDATE_A_ROLE:`You are not allowed to update a role`,YOU_ARE_NOT_ALLOWED_TO_DELETE_A_ROLE:`You are not allowed to delete a role`,YOU_ARE_NOT_ALLOWED_TO_READ_A_ROLE:`You are not allowed to read a role`,YOU_ARE_NOT_ALLOWED_TO_LIST_A_ROLE:`You are not allowed to list a role`,YOU_ARE_NOT_ALLOWED_TO_GET_A_ROLE:`You are not allowed to get a role`,TOO_MANY_ROLES:`This organization has too many roles`,INVALID_RESOURCE:`The provided permission includes an invalid resource`,ROLE_NAME_IS_ALREADY_TAKEN:`That role name is already taken`,CANNOT_DELETE_A_PRE_DEFINED_ROLE:`Cannot delete a pre-defined role`,ROLE_IS_ASSIGNED_TO_MEMBERS:`Cannot delete a role that is assigned to members. Please reassign the members to a different role first`,INVALID_TEAM_ID:`Team id contains a reserved character`}),cn=on({organization:[`update`,`delete`],member:[`create`,`update`,`delete`],invitation:[`create`,`cancel`],team:[`create`,`update`,`delete`],ac:[`create`,`read`,`update`,`delete`]}),ln=cn.newRole({organization:[`update`],invitation:[`create`,`cancel`],member:[`create`,`update`,`delete`],team:[`create`,`update`,`delete`],ac:[`create`,`read`,`update`,`delete`]}),un=cn.newRole({organization:[`update`,`delete`],member:[`create`,`update`,`delete`],invitation:[`create`,`cancel`],team:[`create`,`update`,`delete`],ac:[`create`,`read`,`update`,`delete`]}),dn=cn.newRole({organization:[],member:[],invitation:[],team:[],ac:[`read`]}),fn={admin:ln,owner:un,member:dn},pn=(e,t)=>{if(!e.permissions)return!1;let n=e.role.split(`,`),r=e.options.creatorRole||`owner`,i=n.includes(r),a=e.allowCreatorAllPermissions||!1;if(i&&a)return!0;for(let r of n)if(t[r]?.authorize(e.permissions)?.success)return!0;return!1},mn=e=>pn(e,e.options.roles||fn),hn=e=>{let t=j(!1),n=j(!1),r=j(!1),i=j(!1),a={admin:ln,member:dn,owner:un,...e?.roles};return{id:`organization`,version:re,$InferServerPlugin:{},getActions:(t,n,r)=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{},Team:{}},organization:{checkRolePermission:t=>mn({role:t.role,options:{ac:e?.ac,roles:a},permissions:t.permissions})}}),getAtoms:e=>{let a=z(t,`/organization/list`,e,{method:`GET`});return{$listOrg:t,$activeOrgSignal:n,$activeMemberSignal:r,$activeMemberRoleSignal:i,activeOrganization:z([n],`/organization/get-full-organization`,e,()=>({method:`GET`})),listOrganizations:a,activeMember:z([n,r],`/organization/get-active-member`,e,{method:`GET`}),activeMemberRole:z([n,i],`/organization/get-active-member-role`,e,{method:`GET`})}},pathMethods:{"/organization/get-full-organization":`GET`,"/organization/list-user-teams":`GET`},atomListeners:[{matcher(e){return e===`/organization/create`||e===`/organization/delete`||e===`/organization/update`},signal:`$listOrg`},{matcher(e){return It(e)||e.startsWith(`/organization`)},signal:`$activeOrgSignal`},{matcher(e){return e.startsWith(`/organization/set-active`)||e===`/organization/create`||e===`/organization/delete`||e===`/organization/remove-member`||e===`/organization/leave`||e===`/organization/accept-invitation`},signal:`$sessionSignal`},{matcher(e){return e.includes(`/organization/update-member-role`)||e.startsWith(`/organization/set-active`)},signal:`$activeMemberSignal`},{matcher(e){return e.includes(`/organization/update-member-role`)||e.startsWith(`/organization/set-active`)},signal:`$activeMemberRoleSignal`}],$ERROR_CODES:sn}},gn=u({OTP_NOT_ENABLED:`OTP not enabled`,OTP_NOT_CONFIGURED:`OTP is not available`,OTP_HAS_EXPIRED:`OTP has expired`,TOTP_NOT_ENABLED:`TOTP not enabled`,TOTP_ALREADY_ENABLED:`TOTP is already enabled`,TOTP_NOT_CONFIGURED:`TOTP is not available`,TWO_FACTOR_NOT_ENABLED:`Two factor isn't enabled`,BACKUP_CODES_NOT_ENABLED:`Backup codes aren't enabled`,INVALID_BACKUP_CODE:`Invalid backup code`,INVALID_CODE:`Invalid code`,TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:`Too many attempts. Please request a new code.`,ACCOUNT_TEMPORARILY_LOCKED:`Too many failed verification attempts. Your account is temporarily locked. Please try again later.`,INVALID_TWO_FACTOR_COOKIE:`Invalid two factor cookie`}),_n=e=>({id:`two-factor`,version:re,$InferServerPlugin:{},atomListeners:[{matcher:e=>e.startsWith(`/two-factor/`),signal:`$sessionSignal`}],pathMethods:{"/two-factor/disable":`POST`,"/two-factor/enable":`POST`,"/two-factor/send-otp":`POST`,"/two-factor/generate-backup-codes":`POST`,"/two-factor/get-totp-uri":`POST`,"/two-factor/verify-totp":`POST`,"/two-factor/verify-otp":`POST`,"/two-factor/verify-backup-code":`POST`},fetchPlugins:[{id:`two-factor`,name:`two-factor`,hooks:{async onSuccess(t){if(t.data?.twoFactorRedirect){if(e?.onTwoFactorRedirect){await e.onTwoFactorRedirect({twoFactorMethods:t.data.twoFactorMethods});return}e?.twoFactorPage&&typeof window<`u`&&Ke(e.twoFactorPage)&&(window.location.href=e.twoFactorPage)}}}}],$ERROR_CODES:gn}),vn=t({authBase:()=>Cn,authClient:()=>Sn}),yn=on(i),bn=Object.fromEntries(a.map(e=>[e,yn.newRole(l[e])])),xn=/\/(sign-in\/|sign-up\/|two-factor\/verify|passkey\/verify-authentication|oauth2\/(consent|continue)|wizelens\/oauth-grant)/,Sn=Kt({baseURL:new URL(`api/auth`,window.location.origin+window.location.pathname).toString(),fetchOptions:{credentials:`same-origin`,headers:{"X-WizeLens-Client":`dashboard`}},plugins:[hn({ac:yn,roles:bn}),_n({onTwoFactorRedirect:()=>n(e(`two-factor`))}),Jt(),Xt({domainVerification:{enabled:!0}}),{id:`wizelens-oauth-query`,$InferServerPlugin:{},fetchPlugins:[{id:`wizelens-oauth-query`,name:`wizelens-oauth-query`,hooks:{async onRequest(e){let t=r.get();if(!t||e.method===`GET`||!xn.test(String(e.url)))return;let n=typeof e.body==`string`?JSON.parse(e.body||`{}`):e.body??{};n.oauth_query||(e.body=JSON.stringify({...n,oauth_query:t}))}}}]}]}),Cn=()=>new URL(`api/auth`,window.location.origin+window.location.pathname).toString();export{vn as n,Cn as t};
@@ -1 +1 @@
1
- @font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.wl-tags{vertical-align:middle;flex-wrap:wrap;gap:4px;display:inline-flex}.wl-tagged{align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.wl-tagged>:first-child{min-width:0}.wl-tagged .wl-tags{flex-wrap:nowrap;flex-shrink:0}.wl-tag{--wl-tag:var(--wl-s0);white-space:nowrap;color:var(--wl-tag);background:color-mix(in srgb, var(--wl-tag) 14%, transparent);border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:650;line-height:19px;text-decoration:none;display:inline-flex}.wl-tag:hover{background:color-mix(in srgb, var(--wl-tag) 24%, transparent);text-decoration:none}.wl-tag:focus-visible{outline:2px solid var(--wl-tag);outline-offset:1px}.wl-tag-blue{--wl-tag:var(--wl-s0)}.wl-tag-green{--wl-tag:var(--wl-s7)}.wl-tag-amber{--wl-tag:var(--wl-s5)}.wl-tag-orange{--wl-tag:var(--wl-s2)}.wl-tag-red{--wl-tag:var(--wl-error)}.wl-tag-violet{--wl-tag:var(--wl-s4)}.wl-tag-slate{--wl-tag:var(--wl-muted)}.wl-tag-off{opacity:.55}.wl-tag-query{font-family:var(--wl-mono);word-break:break-word;font-size:12.5px}.wl-tag-colors{border:0;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.wl-tag-colors legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.wl-tag-colors label{cursor:pointer}.wl-tag-colors input{opacity:0;pointer-events:none;position:absolute}.wl-tag-colors input:checked+.wl-tag{box-shadow:0 0 0 2px var(--wl-tag)}.wl-tag-colors input:focus-visible+.wl-tag{outline:2px solid var(--wl-tag);outline-offset:2px}.wl-tag-preview{background:var(--wl-surface-2);border-radius:10px;gap:6px;padding:12px 14px;font-size:13px;display:grid}.wl-tag-preview ul{margin:0;padding-left:18px}.wl-tag-preview li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wl-tag-scopes{border:0;gap:6px;margin:0;padding:0;display:grid}.wl-tag-scopes legend{margin-bottom:2px;padding:0;font-size:13px;font-weight:600}.wl-tag-code{background:var(--wl-code-bg);font-family:var(--wl-mono);border-radius:10px;margin:0;padding:12px 14px;font-size:12.5px;overflow-x:auto}.wl-dialog.wl-tag-dialog{width:min(560px,100vw - 32px);padding:22px}.wl-dialog.wl-tag-dialog>h2{margin-bottom:14px}.wl-dialog.wl-tag-dialog form{padding:0}.wl-err-tagline{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.wl-rq-tags{align-items:center}.wl-trace-head>.wl-tags{margin:2px 0 10px}.wl-svc-endpoints .wl-tags{margin-left:6px}.wl-alert-state{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.wl-alert-actions{flex-wrap:wrap;gap:4px 12px}.wl-alert-actions .wl-select{height:28px}.wl-alert-channels{justify-items:start;gap:10px;margin:6px 0 12px;display:grid}.wl-alert-channel{border:1px solid var(--wl-line);border-radius:9px;width:100%;padding:10px 12px}.wl-alert-channel .wl-form-row{align-items:end}.wl-alert-channel-remove{align-self:center;margin-left:auto}.wl-apdex-targets{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px;margin-top:10px;display:grid}.wl-dash-grid{gap:var(--wl-gap,20px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wl-dash-wide{grid-column:1/-1}.wl-dash-numbers{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.wl-dash-number{gap:4px;min-width:0;display:grid}.wl-dash-number strong{font-size:28px;font-weight:650}@media (width<=1100px){.wl-dash-grid{grid-template-columns:minmax(0,1fr)}}.wl-db-page .wl-db-query{max-width:420px}.wl-db-queries .wl-table th:first-child,.wl-db-queries .wl-table td:first-child{padding-left:20px}.wl-db-queries .wl-table th:last-child,.wl-db-queries .wl-table td:last-child{padding-right:20px}.wl-db-page .wl-db-query span{display:block}.wl-db-note{color:var(--wl-muted);margin:12px 0 0;font-size:12px}.wl-insight-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.wl-insight-card{color:var(--wl-fg);border-left:1px solid var(--wl-line);grid-template-columns:52px minmax(0,1fr) 20px;align-items:start;gap:14px;padding:4px 18px;display:grid}.wl-insight-card:first-child{border-left:0;padding-left:0}.wl-insight-card:hover{text-decoration:none}.wl-insight-card:hover .wl-insight-title strong{color:var(--wl-accent)}.wl-insight-icon{border-radius:12px;place-items:center;width:52px;height:52px;display:grid}.wl-insight-icon svg{width:26px;height:26px}.wl-impact-high{background:var(--wl-error-soft);color:var(--wl-error)}.wl-impact-medium{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-impact-low{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-insight-body{flex-direction:column;gap:6px;min-width:0;display:flex}.wl-insight-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.wl-insight-title strong{font-size:15px}.wl-insight-text{color:var(--wl-muted);overflow-wrap:anywhere;font-size:13.5px;line-height:1.5}.wl-insight-go{width:20px;height:20px;color:var(--wl-fg-2);margin-top:2px}@media (width<=1100px){.wl-insight-cards{grid-template-columns:minmax(0,1fr);gap:16px}.wl-insight-card,.wl-insight-card:first-child{border-left:0;padding:0}}.wl-errors-bottom{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.wl-errors-left{flex-direction:column;gap:18px;min-width:0;display:flex}.wl-errors-left .wl-panel+.wl-panel{margin-top:0}.wl-err-full{margin:4px 0 14px}.wl-err-list .wl-table th:first-child,.wl-err-list .wl-table td:first-child{padding-left:20px}.wl-err-list .wl-table th:last-child,.wl-err-list .wl-table td:last-child{padding-right:20px}@media (width<=1200px){.wl-errors-bottom{grid-template-columns:minmax(0,1fr)}}.wl-errors-page .wl-err-text{max-width:260px}.wl-errors-page .wl-err-endpoint{max-width:180px}.wl-errors-page .wl-err-text span,.wl-errors-page .wl-err-endpoint span{display:block}.wl-err-change{align-items:center;gap:3px;font-weight:600;display:inline-flex}.wl-err-change svg{width:14px;height:14px}.wl-err-nav{gap:6px;display:flex}.wl-err-nav button{border:1px solid var(--wl-line);background:var(--wl-surface);cursor:pointer;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.wl-err-nav button:disabled{opacity:.45;cursor:default}.wl-err-title{overflow-wrap:anywhere;font-size:17px;line-height:1.35}.wl-err-occ{border-top:1px solid var(--wl-line);border-bottom:1px solid var(--wl-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 14px;padding:12px 0;display:flex}.wl-err-tabs{margin-top:18px}.wl-stack{border:1px solid var(--wl-line);background:var(--wl-code-bg);border-radius:10px;max-height:320px;padding:12px 36px 12px 0;position:relative;overflow:auto}.wl-stack-copy{position:absolute;top:10px;right:6px}.wl-stack ol{font:12px/1.7 var(--wl-mono);color:var(--wl-muted);margin:0;padding:0 0 0 46px}.wl-stack li{padding-left:6px}.wl-stack li::marker{color:var(--wl-muted)}.wl-stack ol:not(.wl-frames) li code{color:var(--wl-fg-2);white-space:pre}.wl-stack ol:not(.wl-frames) li:first-child code{color:var(--wl-accent-text)}.wl-stack p{margin:8px 0 0 12px}.wl-err-status{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.wl-stack-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.wl-seg{border:1px solid var(--wl-line);background:var(--wl-surface-2);border-radius:8px;padding:2px;display:inline-flex}.wl-seg button{color:var(--wl-muted);font:600 12px var(--wl-sans);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px}.wl-seg button.wl-active{background:var(--wl-surface);color:var(--wl-fg);box-shadow:0 1px 2px #00000014}.wl-seg button:disabled{opacity:.45;cursor:default}.wl-frames-box{max-height:460px;padding:6px 36px 6px 0}.wl-stack ol.wl-frames{font:12px/1.6 var(--wl-mono);color:var(--wl-fg-2);margin:0;padding:0;list-style:none}.wl-stack .wl-frames li{padding-left:0}.wl-frame+.wl-frame{border-top:1px solid var(--wl-line)}.wl-frame-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:6px 12px;display:flex}.wl-frame-head svg{width:13px;height:13px;color:var(--wl-muted);flex:none;align-self:center}.wl-frame-fn{color:var(--wl-accent-text);font-weight:600}.wl-frame-loc{min-width:0;color:var(--wl-fg-2);overflow-wrap:anywhere}.wl-frame-lib .wl-frame-fn,.wl-frame-lib .wl-frame-loc{color:var(--wl-muted);font-weight:400}.wl-frame-raw{color:var(--wl-muted);overflow-wrap:anywhere;padding:0 12px 8px 33px}.wl-src{border:1px solid var(--wl-line);background:var(--wl-surface);font:inherit;border-radius:8px;margin:0 12px 8px 33px;padding:6px 0;overflow-x:auto}.wl-src-line{display:flex}.wl-src-no{text-align:right;width:44px;color:var(--wl-muted);-webkit-user-select:none;user-select:none;flex:none;padding-right:10px}.wl-src-line code{white-space:pre;color:var(--wl-fg-2);padding-right:12px}.wl-src-hit{background:var(--wl-accent-soft)}.wl-src-hit code,.wl-src-hit .wl-src-no{color:var(--wl-accent-text);font-weight:600}.wl-insight-cell{flex-direction:column;gap:2px;min-width:0;max-width:560px;display:flex}.wl-insight-cell code{color:var(--wl-muted)}.wl-insight-detail{top:calc(var(--wl-topbar-h) + 16px);max-height:calc(100vh - var(--wl-topbar-h) - 32px);position:sticky;overflow-y:auto}.wl-insight-desc{color:var(--wl-fg-2);margin:0 0 6px}.wl-insight-shape{max-height:220px;margin-bottom:12px;overflow:auto}.wl-insight-fix{color:var(--wl-fg-2);margin:0;padding-left:20px}.wl-insight-fix li{margin-bottom:6px}.wl-insight-endpoints{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.wl-insight-detail .wl-btn{margin-top:4px}@media (width<=1200px){.wl-insight-detail{max-height:none;position:static}}.wl-query{flex:1;min-width:260px;position:relative}.wl-query-input{width:100%}.wl-query-input input{font-family:var(--wl-mono);font-size:14px}.wl-query-input.wl-invalid{border-color:var(--wl-red)}.wl-query-error{color:var(--wl-red);margin-top:6px;font-size:13px}.wl-query-error code{background:var(--wl-error-soft);border-radius:5px;padding:1px 5px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.wl-query-suggest{z-index:30;border:1px solid var(--wl-line-strong);background:var(--wl-surface);max-height:320px;box-shadow:var(--wl-shadow-pop);border-radius:9px;padding:4px;position:absolute;top:44px;left:0;right:0;overflow-y:auto}.wl-query-option{cursor:pointer;font-family:var(--wl-mono);border-radius:6px;justify-content:space-between;gap:12px;padding:7px 10px;font-size:13px;display:flex}.wl-query-option.wl-active{background:var(--wl-surface-2)}.wl-logs-page>.wl-panel{margin-bottom:18px}.wl-logs-page .wl-panel-flush .wl-table th:first-child,.wl-logs-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-logs-page .wl-panel-flush .wl-table th:last-child,.wl-logs-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-logs-page .wl-log-cat{max-width:160px;color:var(--wl-muted);font-size:13px}.wl-logs-page .wl-log-cat span{display:block}.wl-logs-page .wl-log-msg{word-break:break-word;min-width:260px}.wl-logs-page .wl-log-trace{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.wl-logs-page .wl-badge{text-transform:capitalize}.wl-log-detail{flex-direction:column;gap:10px;max-width:900px;font-size:13px;display:flex}.wl-log-detail .wl-kv{font-family:var(--wl-mono);font-size:12.5px}.wl-logs-page .wl-log-pattern{min-width:260px;max-width:560px}.wl-logs-page .wl-log-pattern code{font:12.5px/1.5 var(--wl-mono);word-break:break-word}.wl-log-share{background:var(--wl-surface-2);vertical-align:middle;border-radius:3px;width:72px;height:6px;display:inline-block;overflow:hidden}.wl-log-share>span{background:var(--wl-chart-bar);height:100%;display:block}.wl-log-metric-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;display:grid}.wl-log-metric{border:1px solid var(--wl-line);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;display:flex}.wl-log-metric header{align-items:flex-start;gap:12px;display:flex}.wl-log-metric-title{flex-direction:column;flex:1;min-width:0;display:flex}.wl-log-metric-total{white-space:nowrap;font-variant-numeric:tabular-nums}.wl-log-metric-total strong{font-size:18px}.wl-log-metric footer,.wl-log-metrics .wl-panel-head .wl-row-actions{flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.wl-log-metric footer svg,.wl-log-metrics .wl-panel-head svg{vertical-align:-2px;width:14px;height:14px}.wl-log-save{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.wl-log-save .wl-field{flex:1;min-width:220px}.wl-ov-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.wl-ov-top{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.wl-ov-mid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.wl-ov-note{color:var(--wl-muted);margin:14px 0 0;font-size:12px}.wl-ov-path{vertical-align:middle;max-width:260px;display:inline-block}.wl-ov-insights{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.wl-ov-insight{color:var(--wl-fg);border-left:1px solid var(--wl-line);grid-template-columns:48px minmax(0,1fr) 20px;align-items:start;gap:14px;padding:6px 18px;display:grid}.wl-ov-insight:first-child{border-left:0;padding-left:0}.wl-ov-insight:hover{text-decoration:none}.wl-ov-insight:hover strong{color:var(--wl-accent-text)}.wl-ov-insight-icon{border-radius:10px;place-items:center;width:48px;height:48px;display:grid}.wl-ov-insight-icon svg{width:24px;height:24px}.wl-ov-area-database{background:var(--wl-error-soft);color:var(--wl-red)}.wl-ov-area-http{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-ov-area-render{background:var(--wl-accent-soft);color:var(--wl-accent)}.wl-ov-insight-body{flex-direction:column;gap:6px;min-width:0;display:flex}.wl-ov-insight-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.wl-ov-insight-text{color:var(--wl-muted);overflow-wrap:anywhere;font-size:13.5px;line-height:1.45}.wl-ov-insight-go{width:18px;height:18px;color:var(--wl-muted);margin-top:2px}@media (width<=1400px){.wl-ov-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1200px){.wl-ov-top,.wl-ov-mid{grid-template-columns:minmax(0,1fr)}.wl-ov-insights{grid-template-columns:minmax(0,1fr);gap:16px}.wl-ov-insight{border-left:0;padding:0}}@media (width<=720px){.wl-ov-cards{grid-template-columns:minmax(0,1fr)}}.wl-render-setup{text-align:left;max-width:620px;color:var(--wl-fg-2)}.wl-render-setup p{margin:6px 0 10px}.wl-render-setup .wl-code{text-align:left}.wl-render-setup .wl-tabbar{margin:4px 0 12px}.wl-phases{flex-direction:column;gap:14px;display:flex}.wl-phases p{margin:0}.wl-rq-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.wl-rq-path{vertical-align:middle;max-width:min(420px,28vw);display:inline-block}.wl-rq-side{top:calc(var(--wl-topbar-h) + 16px);max-height:calc(100vh - var(--wl-topbar-h) - 32px);position:sticky;overflow-y:auto}.wl-rq-hint{text-align:center;place-items:center;min-height:220px;display:grid}.wl-rq-side h3.wl-section-title{text-transform:none;letter-spacing:0;color:var(--wl-fg)}.wl-rq-close{flex:none;width:32px;height:32px}.wl-rq-duration{color:var(--wl-fg);margin-left:auto;font-size:16px}.wl-rq-copy{min-width:0;max-width:100%;color:var(--wl-accent-text);align-items:center;display:inline-flex}.wl-rq-timing-head{justify-content:space-between;align-items:baseline;display:flex}.wl-rq-timing-head strong{font-variant-numeric:tabular-nums}.wl-rq-side .wl-bars{gap:6px}.wl-rq-side .wl-bar-row{grid-template-columns:minmax(96px,36%) minmax(0,1fr) auto;font-size:13px}.wl-rq-side .wl-bar-track{height:10px}.wl-rq-full{margin-top:18px}.wl-rq-headers{grid-template-columns:minmax(110px,40%) minmax(0,1fr);font-size:12.5px}.wl-rq-headers dd{word-break:break-all}.wl-rq-body{max-height:360px;font-size:12px;overflow:auto}.wl-rq-trace-meta{margin-bottom:10px}.wl-rq-spans{flex-direction:column;gap:2px;font-size:12px;display:flex}.wl-rq-span{grid-template-columns:minmax(0,44%) minmax(0,1fr) 58px;align-items:center;gap:8px;min-height:22px;display:grid}.wl-rq-span-name{font-family:var(--wl-mono)}.wl-rq-span-track{background:var(--wl-surface-2);border-radius:3px;height:8px;position:relative}.wl-rq-span-track i{border-radius:3px;min-width:2px;height:100%;position:absolute;top:0}.wl-rq-span-ms{text-align:right;color:var(--wl-muted);font-variant-numeric:tabular-nums}.wl-rq-k-http-server{background:var(--wl-k-server)}.wl-rq-k-http-client{background:var(--wl-k-client)}.wl-rq-k-db{background:var(--wl-k-db)}.wl-rq-k-internal{background:var(--wl-k-internal)}.wl-rq-k-browser{background:var(--wl-k-browser)}.wl-rq-k-messaging{background:var(--wl-k-messaging)}.wl-rq-k-render{background:var(--wl-k-render)}.wl-rq-k-error{background:var(--wl-red)}@media (width<=1400px){.wl-rq-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1200px){.wl-rq-side{max-height:none;position:static}}@media (width<=720px){.wl-rq-cards{grid-template-columns:minmax(0,1fr)}}.wl-rq-pick{font-weight:400}.wl-svc-detail .wl-side-head{width:100%;margin:0}.wl-svc-detail .wl-side-head h2{margin-right:auto}.wl-svc-endpoints td,.wl-svc-endpoints th{padding:8px 6px;font-size:13px}.wl-svc-edges{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.wl-svc-edges li{justify-content:space-between;gap:10px;display:flex}.wl-dep-map{padding:4px 2px;overflow-x:auto}.wl-dep-node{cursor:pointer}.wl-dep-node rect{fill:var(--wl-surface);stroke:var(--wl-line-strong)}.wl-dep-node:hover rect{stroke:var(--wl-accent)}.wl-dep-node.wl-selected rect{fill:var(--wl-accent-soft);stroke:var(--wl-accent)}.wl-dep-label{height:100%;color:var(--wl-fg);align-items:center;gap:8px;font-size:13.5px;display:flex}.wl-dep-label svg{color:var(--wl-fg-2);flex:none}.wl-dep-label .wl-dot{margin-left:auto}.wl-dep-edge path{stroke:var(--wl-line-strong);stroke-width:1.5px}.wl-dep-edge.wl-failing path{stroke:var(--wl-red)}.wl-dep-edge text{fill:var(--wl-muted);font-variant-numeric:tabular-nums;font-size:11px}.wl-dep-edge{cursor:pointer}.wl-dep-edge .wl-dep-hit{stroke:#0000;stroke-width:12px}.wl-dep-edge:hover path:first-of-type{stroke:var(--wl-accent)}.wl-svc-full{margin-top:14px}.wl-svc-page>.wl-panel{margin:0 0 18px}.wl-svc-head .wl-back{width:max-content;display:flex}.wl-svc-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:24px;display:flex}.wl-svc-title svg{color:var(--wl-fg-2);flex:none}.wl-svc-name{word-break:break-word;min-width:0}.wl-svc-status{letter-spacing:0;font-size:14px;font-weight:600}.wl-svc-head .wl-stats{margin-bottom:0}.wl-svc-page .wl-panel-flush .wl-table th:first-child,.wl-svc-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-svc-page .wl-panel-flush .wl-table th:last-child,.wl-svc-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-svc-page .wl-svc-ep-name{max-width:520px}.wl-svc-page .wl-svc-wide{max-width:320px}.wl-svc-page .wl-svc-mid{max-width:180px}.wl-svc-page .wl-svc-ep-name span,.wl-svc-page .wl-svc-wide span,.wl-svc-page .wl-svc-mid span{display:block}.wl-svc-logs .wl-log-cat{max-width:160px;color:var(--wl-muted);font-size:13px}.wl-svc-logs .wl-log-cat span{display:block}.wl-svc-logs .wl-log-msg{word-break:break-word;min-width:260px}.wl-svc-logs .wl-log-trace{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.wl-svc-logs .wl-badge{text-transform:capitalize}.wl-svc-page .wl-row-actions{align-items:center}.wl-svc-runtime .wl-metric-tile svg{width:100%;height:28px;display:block}.wl-metrics-page .wl-metric-runtime{gap:14px;margin-bottom:18px;display:grid}.wl-metrics-page .wl-metric-service{padding:14px 16px}.wl-metrics-page .wl-metric-service h2{margin:0 0 10px;font-size:14px}.wl-metric-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.wl-metric-tile{text-align:left;cursor:pointer;font:inherit;color:inherit;background:var(--wl-surface-2);border:1px solid var(--wl-line);border-radius:var(--wl-radius);gap:4px;padding:10px 12px;text-decoration:none;display:grid}.wl-metric-tile:hover{border-color:var(--wl-line-strong);text-decoration:none}.wl-metric-tile.wl-active{border-color:var(--wl-accent);background:var(--wl-accent-soft)}.wl-metric-tile span{color:var(--wl-muted);font-size:12px}.wl-metric-tile strong{font-variant-numeric:tabular-nums;font-size:18px}.wl-metrics-page .wl-metric-body{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.wl-metrics-page .wl-metric-list ul{margin:0 0 10px;padding:0;list-style:none}.wl-metrics-page .wl-metric-list li button{text-align:left;width:100%;font:inherit;color:inherit;border-radius:var(--wl-radius);cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.wl-metrics-page .wl-metric-list li button:hover{background:var(--wl-surface-2)}.wl-metrics-page .wl-metric-list li button.wl-active{background:var(--wl-selected)}.wl-metrics-page .wl-metric-name{min-width:0;display:grid}.wl-metrics-page .wl-metric-name strong{overflow-wrap:anywhere;font-family:var(--wl-mono);font-size:12.5px;font-weight:500;line-height:1.35}.wl-metrics-page .wl-metric-name em{text-overflow:ellipsis;white-space:nowrap;color:var(--wl-muted);font-size:11.5px;font-style:normal;overflow:hidden}.wl-metrics-page .wl-metric-last{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.wl-metrics-page .wl-metric-area{color:var(--wl-muted);letter-spacing:.04em;text-transform:uppercase;margin:12px 10px 4px;font-size:11px;font-weight:600}.wl-metrics-page .wl-metric-filters{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.wl-metrics-page .wl-metric-filters .wl-input{flex:160px}.wl-metrics-page .wl-metric-chart{top:calc(var(--wl-topbar-h) + 12px);position:sticky}.wl-metrics-page .wl-metric-title{font-family:var(--wl-mono);overflow-wrap:anywhere;margin:0;font-size:14px}.wl-metrics-page .wl-metric-desc{color:var(--wl-muted);margin:0 0 10px;font-size:13px}.wl-metrics-page .wl-metric-controls{flex-wrap:wrap;gap:8px;display:flex}.wl-metrics-page .wl-metric-chart .wl-kv{margin-top:14px}@media (width<=900px){.wl-metrics-page .wl-metric-body{grid-template-columns:minmax(0,1fr)}.wl-metrics-page .wl-metric-chart{position:static}}.wl-traces-top{grid-template-columns:minmax(300px,.85fr) minmax(0,2fr);align-items:start}@media (width<=1200px){.wl-traces-top{grid-template-columns:minmax(0,1fr)}}.wl-traces-top .wl-input{margin-bottom:8px}.wl-recent-traces .wl-table td,.wl-recent-traces .wl-table th{padding:9px 8px}.wl-timeline-title{flex-wrap:wrap;align-items:center;gap:10px;margin-right:auto;display:flex}.wl-timeline-title .wl-mono{font-weight:450}.wl-timeline-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.wl-timeline-meta .wl-view-all{margin-left:auto}.wl-layers{flex-direction:column;display:flex}.wl-layer-row{grid-template-columns:minmax(130px,22%) minmax(0,1fr);align-items:center;min-height:34px;display:grid}.wl-layer-name{min-width:0;color:var(--wl-fg-2);align-items:center;gap:10px;padding-right:10px;display:flex}.wl-layer-name svg{color:var(--wl-muted);flex:none}.wl-layer-track{border-left:1px solid var(--wl-chart-grid);background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(100% / 6 - 1px), var(--wl-chart-grid) calc(100% / 6 - 1px), var(--wl-chart-grid) calc(100% / 6));height:34px;position:relative}.wl-layer-axis{min-height:26px}.wl-layer-axis .wl-layer-track{background:0 0;border-left:0;height:26px}.wl-layer-axis span{color:var(--wl-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;position:absolute;top:4px;transform:translate(-50%)}.wl-layer-axis span:first-child{transform:none}.wl-layer-bar{border-radius:4px;height:16px;position:absolute;top:9px}.wl-layer-ms{color:var(--wl-fg-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px;position:absolute;top:8px}.wl-layer-browser{background:var(--wl-blue);opacity:.75}.wl-layer-network{background:#93c5fd}.wl-layer-routing{background:var(--wl-violet)}.wl-layer-handler{background:var(--wl-green)}.wl-layer-service{background:var(--wl-blue)}.wl-layer-database{background:var(--wl-red)}.wl-layer-external{background:var(--wl-orange)}.wl-layer-render{background:#38bdf8}.wl-banner-warning{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-uptime-certs{gap:4px;display:grid}.wl-uptime-name a{min-width:0;max-width:420px;color:inherit;gap:2px;display:grid}.wl-uptime-name a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wl-uptime-name a:hover strong{color:var(--wl-accent)}.wl-uptime-response{align-items:center;gap:8px;display:inline-flex}.wl-uptime-actions{letter-spacing:0;flex-wrap:wrap;gap:8px;margin-left:auto;font-size:14px;font-weight:500;display:inline-flex}.wl-uptime-error{margin:12px 0 0}.wl-uptime-status-note{margin:0 0 12px;font-size:13.5px}.wl-status-title{margin:0;font-size:20px}.wl-status-by{align-items:center;gap:8px;display:inline-flex}.wl-status-by .wl-brand-row{font-size:15px}.wl-status-by .wl-brand-row svg{width:20px;height:20px}.wl-status-main{max-width:920px;margin:0 auto}.wl-status-main>.wl-panel{margin-bottom:18px}.wl-status-summary{background:var(--wl-ok-soft);color:var(--wl-ok);border-radius:12px;margin-bottom:18px;padding:14px 18px;font-size:16px;font-weight:650}.wl-status-summary.wl-status-down{background:var(--wl-error-soft);color:var(--wl-error)}.wl-status-checks{gap:22px;margin:0;padding:0;list-style:none;display:grid}.wl-status-check{gap:8px;display:grid}.wl-status-check-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.wl-status-bars{gap:3px;height:34px;display:flex}.wl-status-bar{border-radius:3px;flex:1 1 0;min-width:3px}.wl-status-bar.wl-tone-neutral{background:var(--wl-line)}.wl-status-check-foot{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.wl-status-incidents{gap:10px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}@media (width<=640px){.wl-status-check-foot span:first-child,.wl-status-check-foot span:last-child{display:none}.wl-status-bars{gap:2px}}.wl-infra-page>.wl-panel,.wl-infra-page>.wl-grid,.wl-infra-page>.wl-banner{margin:0 0 18px}.wl-infra-page .wl-panel-flush .wl-table th:first-child,.wl-infra-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-infra-page .wl-panel-flush .wl-table th:last-child,.wl-infra-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-infra-page .wl-page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wl-infra-page .wl-panel-head .wl-tabbar{margin:0}.wl-usage{font-variant-numeric:tabular-nums;align-items:center;gap:8px;min-width:120px;display:inline-flex}.wl-usage-track{background:var(--wl-surface-3);border-radius:999px;flex:1;min-width:60px;max-width:110px;height:6px;position:relative;overflow:hidden}.wl-usage-track>span{background:var(--wl-blue);border-radius:999px;position:absolute;inset:0 auto 0 0}.wl-usage.wl-warn .wl-usage-track>span{background:var(--wl-orange)}.wl-usage.wl-bad .wl-usage-track>span{background:var(--wl-red)}.wl-usage.wl-bad .wl-usage-num{color:var(--wl-error);font-weight:650}.wl-usage-num{text-align:right;min-width:44px;font-size:13px}.wl-infra-chips{flex-wrap:wrap;gap:6px;display:inline-flex}.wl-infra-chip{border:1px solid var(--wl-line);background:var(--wl-surface-2);color:var(--wl-fg);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;text-decoration:none}.wl-infra-chip:hover{border-color:var(--wl-accent);text-decoration:none}.wl-infra-page .wl-stat-foot svg{vertical-align:-2px}.wl-span-k8s{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.wl-pb-page>.wl-panel{margin:0 0 18px}.wl-pb-foot{color:var(--wl-muted);font-size:13px}.wl-pb-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.wl-pb-card{border:1px solid var(--wl-line);background:var(--wl-surface);border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.wl-pb-card.wl-pb-ongoing{border-left:3px solid var(--wl-red)}.wl-pb-card-head{color:var(--wl-fg);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.wl-pb-card-head:hover .wl-pb-title{color:var(--wl-accent-text)}.wl-pb-card-head svg{color:var(--wl-muted);flex:none}.wl-pb-title{word-break:break-word;min-width:0;font-size:15px}.wl-pb-when{color:var(--wl-muted);white-space:nowrap;margin-left:auto;font-size:13px}.wl-pb-cause{color:var(--wl-fg-2);align-items:baseline;gap:8px;min-width:0;font-size:13.5px;text-decoration:none;display:flex}.wl-pb-cause svg{color:var(--wl-orange);flex:none;align-self:center}.wl-pb-cause strong{color:var(--wl-fg);flex:none}.wl-pb-cause span{word-break:break-word;min-width:0}.wl-pb-cause:hover span{text-decoration:underline}.wl-pb-nocause{color:var(--wl-muted);margin:0;font-size:13.5px}.wl-pb-also{border-top:1px solid var(--wl-line);flex-direction:column;gap:8px;margin-top:14px;padding-top:12px;display:flex}.wl-pb-also h3{color:var(--wl-muted);margin:0;font-size:13px;font-weight:600}.wl-pb-head .wl-back{width:max-content;display:flex}.wl-pb-head-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:22px;display:flex}.wl-pb-head-title span{word-break:break-word;min-width:0}.wl-pb-head .wl-pb-when{white-space:normal;margin:4px 0 0}.wl-pb-head .wl-stats{margin-bottom:0}.wl-pb-page .wl-panel-flush .wl-table th:first-child,.wl-pb-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-pb-page .wl-panel-flush .wl-table th:last-child,.wl-pb-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-pb-where{word-break:break-word;max-width:420px}@media (width<=640px){.wl-pb-card-head{flex-wrap:wrap}.wl-pb-when{white-space:normal;margin-left:0}}.wl-search-page>.wl-panel{margin-bottom:18px}.wl-search-bar{flex-direction:column;gap:12px;display:flex}.wl-search-page .wl-search-main{min-width:240px;max-width:520px}.wl-search-page .wl-search-main a{display:block}.wl-search-page .wl-search-wrap{word-break:break-word}.wl-search-page .wl-search-trace{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.wl-search-page .wl-badge{text-transform:capitalize}.wl-search-note{margin:0;padding:10px 20px 0}.wl-search-more{border-top:1px solid var(--wl-line);justify-content:center;padding:14px;display:flex}.wl-search-bar{padding-bottom:0}.wl-search-bar .wl-tabbar{border-bottom:0;margin-bottom:0;overflow:visible}.wl-saved-searches{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px;display:flex}.wl-saved-searches .wl-filter-chip{text-decoration:none}.wl-settings-note{margin:8px 0 12px}.wl-snippet{border-top:1px solid var(--wl-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px 0;display:grid}.wl-snippet>.wl-muted{grid-column:1/-1}.wl-snippet code{overflow-wrap:anywhere}.wl-settings-sources{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:18px;display:grid}.wl-settings-sources>.wl-panel+.wl-panel{margin-top:0}.wl-settings-mcp{flex-wrap:wrap;align-items:center;gap:6px 8px;display:inline-flex}.wl-snippet:first-child{border-top:0;padding-top:0}.wl-snippet:last-child{padding-bottom:0}.wl-chip.wl-chip-own{background:var(--wl-accent-soft);color:var(--wl-accent-text)}:root{--wl-bg:#f6f8fb;--wl-surface:#fff;--wl-surface-2:#f2f4f8;--wl-surface-3:#e9edf3;--wl-fg:#111827;--wl-fg-2:#374151;--wl-muted:#6b7280;--wl-line:#e6e9ef;--wl-line-strong:#d5dae2;--wl-accent:#2563eb;--wl-accent-soft:#eaf1ff;--wl-accent-text:#1d4ed8;--wl-ok:#16a34a;--wl-ok-soft:#e8f7ee;--wl-warn:#c2410c;--wl-warn-soft:#fff1e6;--wl-amber-text:#9a6700;--wl-amber-soft:#fff6dc;--wl-error:#e63946;--wl-error-soft:#fdecee;--wl-highlight:#fff6d6;--wl-selected:#eaf1ff;--wl-code-bg:#f6f8fb;--wl-shadow:0 1px 2px #1018280a, 0 1px 3px #1018280f;--wl-shadow-pop:0 12px 32px #10182824;--wl-chart-bar:#dbe6fd;--wl-chart-grid:#eef1f5;--wl-blades:#1f1f1f;--wl-lens:#2563eb;--wl-blue:#2563eb;--wl-green:#22c55e;--wl-amber:#f4b400;--wl-orange:#f97316;--wl-red:#e63946;--wl-slate:#64748b;--wl-charcoal:#1f1f1f;--wl-violet:#8b5cf6;--wl-h-info:var(--wl-blue);--wl-h-success:var(--wl-green);--wl-h-opportunity:var(--wl-amber);--wl-h-warning:var(--wl-orange);--wl-h-critical:var(--wl-red);--wl-h-neutral:var(--wl-slate);--wl-k-server:var(--wl-blue);--wl-k-internal:#7aa2f7;--wl-k-db:var(--wl-amber);--wl-k-client:var(--wl-slate);--wl-k-browser:#94a3b8;--wl-k-render:var(--wl-green);--wl-k-messaging:var(--wl-violet);--wl-s0:#2563eb;--wl-s1:#0d8f7a;--wl-s2:#d4590a;--wl-s3:#c2347a;--wl-s4:#7c3aed;--wl-s5:#8a6d00;--wl-s6:#0e7490;--wl-s7:#3c7d24;--wl-mono:ui-monospace, SFMono-Regular, "Cascadia Code", Menlo, Consolas, monospace;--wl-sans:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--wl-sidebar-w:224px;--wl-topbar-h:68px;--wl-radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--wl-bg:#0f1115;--wl-surface:#171a1f;--wl-surface-2:#1e2228;--wl-surface-3:#272c33;--wl-fg:#eceef1;--wl-fg-2:#c9ced6;--wl-muted:#98a1ad;--wl-line:#272b32;--wl-line-strong:#353a42;--wl-accent:#5b8def;--wl-accent-soft:#1c2a47;--wl-accent-text:#8fb1f5;--wl-ok:#4ade80;--wl-ok-soft:#12291b;--wl-warn:#fb923c;--wl-warn-soft:#3a2414;--wl-amber-text:#f4c542;--wl-amber-soft:#2f2710;--wl-error:#ff6b74;--wl-error-soft:#3a1b1f;--wl-highlight:#3a3415;--wl-selected:#1c2a47;--wl-code-bg:#12151a;--wl-shadow:0 1px 2px #0006;--wl-shadow-pop:0 12px 32px #00000080;--wl-chart-bar:#23324f;--wl-chart-grid:#22262d;--wl-blades:#f5f5f5;--wl-lens:#5b8def;--wl-s0:#5b8def;--wl-s1:#3fcfb4;--wl-s2:#ff9a52;--wl-s3:#ff6fb5;--wl-s4:#a78bfa;--wl-s5:#e0c040;--wl-s6:#38bdf8;--wl-s7:#7fd45f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--wl-bg:#0f1115;--wl-surface:#171a1f;--wl-surface-2:#1e2228;--wl-surface-3:#272c33;--wl-fg:#eceef1;--wl-fg-2:#c9ced6;--wl-muted:#98a1ad;--wl-line:#272b32;--wl-line-strong:#353a42;--wl-accent:#5b8def;--wl-accent-soft:#1c2a47;--wl-accent-text:#8fb1f5;--wl-ok:#4ade80;--wl-ok-soft:#12291b;--wl-warn:#fb923c;--wl-warn-soft:#3a2414;--wl-amber-text:#f4c542;--wl-amber-soft:#2f2710;--wl-error:#ff6b74;--wl-error-soft:#3a1b1f;--wl-highlight:#3a3415;--wl-selected:#1c2a47;--wl-code-bg:#12151a;--wl-shadow:0 1px 2px #0006;--wl-shadow-pop:0 12px 32px #00000080;--wl-chart-bar:#23324f;--wl-chart-grid:#22262d;--wl-blades:#f5f5f5;--wl-lens:#5b8def;--wl-s0:#5b8def;--wl-s1:#3fcfb4;--wl-s2:#ff9a52;--wl-s3:#ff6fb5;--wl-s4:#a78bfa;--wl-s5:#e0c040;--wl-s6:#38bdf8;--wl-s7:#7fd45f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--wl-bg);color:var(--wl-fg);font:14px/1.45 var(--wl-sans);-webkit-font-smoothing:antialiased}a{color:var(--wl-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}h1{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:750;line-height:1.15}h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:680}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--wl-muted);margin:16px 0 6px;font-size:12px;font-weight:650}:focus-visible{outline:2px solid var(--wl-accent);outline-offset:2px}.wl-mono{font-family:var(--wl-mono)}.wl-muted{color:var(--wl-muted)}.wl-small{font-size:12px}.wl-num{font-variant-numeric:tabular-nums}.wl-text-error{color:var(--wl-error)}.wl-text-ok{color:var(--wl-ok)}.wl-text-warn{color:var(--wl-warn)}.wl-spacer{flex:1}.wl-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wl-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wl-brand-blades{fill:var(--wl-blades)}.wl-brand-lens{color:var(--wl-lens)}.wl-shell{grid-template-columns:var(--wl-sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.wl-sidebar{background:var(--wl-surface);border-right:1px solid var(--wl-line);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.wl-sidebar-brand{height:var(--wl-topbar-h);color:var(--wl-fg);letter-spacing:-.02em;border-bottom:1px solid var(--wl-line);align-items:center;gap:10px;padding:0 20px;font-size:22px;font-weight:750;display:flex}.wl-sidebar-brand:hover{text-decoration:none}.wl-sidebar-brand svg{width:34px;height:34px}.wl-nav{flex-direction:column;gap:4px;padding:14px 0;display:flex;overflow-y:auto}.wl-nav a{color:var(--wl-fg-2);border-radius:8px;align-items:center;gap:14px;margin:0 12px;padding:10px 14px;font-size:15px;font-weight:500;display:flex;position:relative}.wl-nav a:hover{background:var(--wl-surface-2);text-decoration:none}.wl-nav a.wl-active{background:var(--wl-accent-soft);color:var(--wl-accent-text);font-weight:600}.wl-nav a.wl-active:before{content:"";background:var(--wl-accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-12px}.wl-nav a svg{flex:none;width:20px;height:20px}.wl-nav-count{background:var(--wl-error-soft);min-width:20px;color:var(--wl-error);text-align:center;border-radius:999px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.wl-sidebar-foot{border-top:1px solid var(--wl-line);align-items:center;gap:10px;margin-top:auto;padding:18px 20px;display:flex}.wl-sidebar-foot .wl-mark{background:var(--wl-charcoal);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:17px;font-weight:800;display:grid}.wl-sidebar-foot strong{font-size:15px;display:block}.wl-sidebar-foot span{color:var(--wl-muted);font-size:12px;display:block}.wl-main{flex-direction:column;min-width:0;display:flex}.wl-topbar{z-index:20;height:var(--wl-topbar-h);background:color-mix(in srgb, var(--wl-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--wl-line);align-items:center;gap:14px;padding:0 24px;display:flex;position:sticky;top:0}.wl-search-box{border:1px solid var(--wl-line-strong);background:var(--wl-surface);width:min(520px,100%);height:40px;color:var(--wl-muted);cursor:text;text-align:left;border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex}.wl-search-box:hover{border-color:var(--wl-muted)}.wl-search-box kbd,.wl-kbd{border:1px solid var(--wl-line-strong);font:11px var(--wl-sans);color:var(--wl-muted);background:var(--wl-surface-2);border-radius:5px;margin-left:auto;padding:1px 6px}.wl-top-btn{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-fg);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.wl-top-btn:hover{background:var(--wl-surface-2)}.wl-top-btn svg{width:17px;height:17px;color:var(--wl-muted)}.wl-icon-btn{width:40px;height:40px;color:var(--wl-fg-2);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:relative}.wl-icon-btn:hover{background:var(--wl-surface-2)}.wl-icon-btn .wl-ping{background:var(--wl-red);width:8px;height:8px;box-shadow:0 0 0 2px var(--wl-bg);border-radius:50%;position:absolute;top:8px;right:9px}.wl-env-dot{background:var(--wl-green);border-radius:50%;width:9px;height:9px}.wl-env-dot.wl-down{background:var(--wl-red)}.wl-env-dot.wl-partial{background:var(--wl-amber)}.wl-env-dot.wl-off{background:var(--wl-muted);opacity:.6}.wl-menu-static{cursor:default}.wl-menu-static:hover{background:0 0}.wl-menu-check{flex:none;margin-left:auto}.wl-chip-count{background:var(--wl-surface-2);color:var(--wl-muted);border-radius:999px;padding:0 6px;font-size:11px;font-weight:650}.wl-block{display:block}.wl-page{width:100%;padding:24px 28px 48px}.wl-page-head{margin-bottom:22px}.wl-page-head p{color:var(--wl-muted);margin:6px 0 0;font-size:15px}.wl-menu-anchor{position:relative}.wl-menu{z-index:40;background:var(--wl-surface);border:1px solid var(--wl-line);min-width:240px;max-height:70vh;box-shadow:var(--wl-shadow-pop);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.wl-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--wl-fg);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.wl-menu-item:hover,.wl-menu-item.wl-active{background:var(--wl-surface-2);text-decoration:none}.wl-menu-head{color:var(--wl-muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px;font-size:11px;font-weight:650}.wl-menu-note{color:var(--wl-muted);padding:8px 10px;font-size:12px}.wl-range-custom{gap:8px;padding:4px 10px 10px;font-size:13px;display:grid}.wl-range-custom label{color:var(--wl-fg-2);gap:4px;display:grid}.wl-range-custom input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:34px;color:var(--wl-fg);font:inherit;border-radius:8px;padding:0 8px}.wl-range-custom .wl-btn{height:34px}.wl-palette-backdrop{z-index:60;background:#0f111559;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.wl-palette{background:var(--wl-surface);border:1px solid var(--wl-line);width:min(640px,100vw - 32px);box-shadow:var(--wl-shadow-pop);border-radius:14px;overflow:hidden}.wl-palette input{border:0;border-bottom:1px solid var(--wl-line);width:100%;height:52px;color:var(--wl-fg);font:16px var(--wl-sans);background:0 0;outline:none;padding:0 18px}.wl-palette-list{max-height:50vh;padding:6px;overflow-y:auto}.wl-palette-item{cursor:pointer;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.wl-palette-item.wl-active{background:var(--wl-accent-soft)}.wl-palette-item svg{width:17px;height:17px;color:var(--wl-muted)}.wl-palette-empty{text-align:center;color:var(--wl-muted);padding:24px}@media (width<=1100px){.wl-shell{grid-template-columns:72px minmax(0,1fr)}.wl-sidebar-brand span,.wl-nav a span,.wl-sidebar-foot div,.wl-nav-count{display:none}.wl-sidebar-brand,.wl-sidebar-foot{justify-content:center;padding:0}.wl-sidebar-foot{padding:14px 0}.wl-nav a{justify-content:center;margin:0 10px;padding:10px}}@media (width<=720px){.wl-shell{grid-template-columns:minmax(0,1fr)}.wl-sidebar{z-index:30;border-right:0;border-top:1px solid var(--wl-line);flex-direction:row;height:58px;position:fixed;inset:auto 0 0}.wl-sidebar-brand,.wl-sidebar-foot{display:none}.wl-nav{flex-direction:row;align-items:center;padding:0 6px;overflow-x:auto}.wl-nav a{margin:0}.wl-nav a.wl-active:before{display:none}.wl-topbar{gap:8px;padding:0 16px}.wl-top-btn .wl-label{display:none}.wl-page{padding:18px 16px 90px}h1{font-size:24px}}.wl-mode-badge{background:var(--wl-surface-2);color:var(--wl-muted);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12.5px}@media (width<=1100px){.wl-mode-badge{display:none}}.wl-scope-chip{border:1px solid var(--wl-accent);background:var(--wl-accent-soft);max-width:200px;height:32px;color:var(--wl-accent-text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:13px;font-weight:600;display:inline-flex}.wl-scope-chip:hover{background:var(--wl-surface-2)}.wl-search-box{flex:auto;min-width:44px}.wl-search-box kbd{white-space:nowrap}@media (width>=1101px){.wl-search-box{min-width:260px}}@media (width<=1320px){.wl-search-box kbd{display:none}}@media (width<=1100px){.wl-top-btn .wl-label,.wl-search-box kbd{display:none}}@media (width<=720px){.wl-search-box{flex:0 0 40px;justify-content:center;padding:0}.wl-search-box span{display:none}.wl-top-btn{gap:4px;padding:0 10px}}.wl-nav-saved{border-top:1px solid var(--wl-line);flex:0 auto;padding-top:0}.wl-nav-saved a{padding:7px 14px;font-size:14px}.wl-nav-head{color:var(--wl-muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 26px 4px;font-size:12px;font-weight:600}@media (width<=720px){.wl-nav-saved{display:none}}.wl-grid{gap:18px;margin-bottom:18px;display:grid}.wl-grid-stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.wl-grid-2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.wl-grid-2-even{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-grid-side{grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:start}@media (width<=1200px){.wl-grid-2,.wl-grid-2-even,.wl-grid-3,.wl-grid-side{grid-template-columns:minmax(0,1fr)}}.wl-panel{background:var(--wl-surface);border:1px solid var(--wl-line);border-radius:var(--wl-radius);min-width:0;box-shadow:var(--wl-shadow);padding:18px 20px}.wl-panel-flush{padding:0;overflow:hidden}.wl-panel+.wl-panel{margin-top:18px}.wl-grid>.wl-panel+.wl-panel{margin-top:0}.wl-panel-head{align-items:center;gap:12px;min-height:32px;margin-bottom:14px;display:flex}.wl-panel-head h2{margin-right:auto}.wl-panel-flush .wl-panel-head{padding:16px 20px 0}.wl-view-all{white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:550;display:inline-flex}.wl-view-all svg{width:16px;height:16px}.wl-stat{grid-template-columns:44px minmax(0,1fr);gap:6px 12px;padding:18px 20px;display:grid}.wl-stat-icon{width:34px;height:34px;color:var(--wl-accent)}a.wl-stat-link{color:inherit;text-decoration:none}a.wl-stat-link:hover{border-color:var(--wl-line-strong);box-shadow:var(--wl-shadow-pop)}.wl-stat-icon.wl-danger{color:var(--wl-red)}.wl-stat-label{color:var(--wl-fg-2);font-size:14px}.wl-stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:720;line-height:1.2}.wl-stat-foot{grid-column:2;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.wl-stat-spark{grid-column:1/-1;height:28px;margin:2px -4px -6px}.wl-stat-spark svg{width:100%;height:28px;display:block}.wl-delta span{white-space:nowrap}.wl-delta{flex-direction:column;font-size:13px;display:flex}.wl-delta b{align-items:center;gap:3px;font-weight:650;display:inline-flex}.wl-delta b svg{width:14px;height:14px}.wl-delta .wl-good{color:var(--wl-ok)}.wl-delta .wl-bad{color:var(--wl-error)}.wl-delta .wl-flat,.wl-delta span{color:var(--wl-muted)}.wl-spark{flex:none}.wl-chart{width:100%;position:relative}.wl-chart-zoom{cursor:crosshair;-webkit-user-select:none;user-select:none}.wl-chart-band{fill:var(--wl-accent);opacity:.12}.wl-chart-legend i.wl-legend-dashed{background:0 0;border-top:2px dashed;height:0}.wl-chart svg{display:block;overflow:visible}.wl-chart-axis{fill:var(--wl-muted);font-variant-numeric:tabular-nums;font-size:12px}.wl-chart-grid{stroke:var(--wl-chart-grid)}.wl-chart-legend{color:var(--wl-fg-2);justify-content:center;gap:22px;margin-top:10px;font-size:13px;display:flex}.wl-chart-legend span{align-items:center;gap:7px;display:inline-flex}.wl-chart-legend i{border-radius:3px;width:11px;height:11px}.wl-chart-tip{z-index:5;pointer-events:none;background:var(--wl-surface);border:1px solid var(--wl-line);min-width:140px;box-shadow:var(--wl-shadow-pop);border-radius:8px;padding:8px 10px;font-size:12px;position:absolute}.wl-chart-tip div{justify-content:space-between;gap:12px;display:flex}.wl-chart-tip strong{margin-bottom:4px;display:block}.wl-chart-empty{color:var(--wl-muted);place-items:center;font-size:13px;display:grid}.wl-bars{flex-direction:column;gap:14px;display:flex}.wl-bar-row{grid-template-columns:minmax(90px,30%) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:14px;display:grid}.wl-bar-row.wl-clickable{cursor:pointer;border-radius:6px}.wl-bar-row.wl-clickable:hover .wl-truncate{color:var(--wl-accent-text);text-decoration:underline}.wl-bar-row.wl-compact{grid-template-columns:minmax(80px,34%) 44px minmax(0,1fr);gap:10px}.wl-bar-track{background:var(--wl-surface-2);border-radius:4px;height:16px;overflow:hidden}.wl-bar-track i{background:var(--wl-accent);border-radius:4px;height:100%;display:block}.wl-bar-row .wl-value{text-align:right;font-variant-numeric:tabular-nums;min-width:64px;color:var(--wl-fg-2)}.wl-table-wrap{overflow-x:auto}.wl-table{border-collapse:collapse;width:100%;font-size:14px}.wl-table th{border-bottom:1px solid var(--wl-line);color:var(--wl-fg-2);text-align:left;white-space:nowrap;padding:10px 12px;font-weight:550}.wl-table th button{cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:550;display:inline-flex}.wl-table th button svg{width:14px;height:14px}.wl-table td{border-bottom:1px solid var(--wl-line);vertical-align:middle;padding:11px 12px}.wl-table tr:last-child td{border-bottom:0}.wl-table tbody tr.wl-clickable{cursor:pointer}.wl-table tbody tr.wl-clickable:hover td{background:var(--wl-surface-2)}.wl-table tbody tr.wl-selected td{background:var(--wl-selected)}.wl-table tbody tr.wl-row-detail td{background:var(--wl-surface-2);padding-top:4px;padding-bottom:14px}.wl-table .wl-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.wl-table .wl-wrap{word-break:break-word}.wl-table .wl-nowrap{white-space:nowrap}.wl-cell-icon{align-items:center;gap:10px;display:inline-flex}.wl-cell-icon svg{width:18px;height:18px;color:var(--wl-fg-2)}.wl-badge{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:1px 9px;font-size:12.5px;font-weight:600;line-height:20px;display:inline-flex}.wl-badge-high,.wl-badge-danger{background:var(--wl-error-soft);color:var(--wl-error)}.wl-badge-medium,.wl-badge-warning{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-badge-low,.wl-badge-info{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-badge-success{background:var(--wl-ok-soft);color:var(--wl-ok)}.wl-badge-neutral{background:var(--wl-surface-2);color:var(--wl-muted)}.wl-count{background:var(--wl-accent-soft);min-width:26px;height:24px;color:var(--wl-accent-text);border-radius:6px;place-items:center;padding:0 7px;font-size:13px;font-weight:650;display:inline-grid}.wl-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.wl-dot-text{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.wl-tone-success{background:var(--wl-green)}.wl-tone-warning{background:var(--wl-amber)}.wl-tone-orange{background:var(--wl-orange)}.wl-tone-danger{background:var(--wl-red)}.wl-tone-info{background:var(--wl-blue)}.wl-tone-neutral{background:var(--wl-slate)}.wl-text-tone-danger{color:var(--wl-error)}.wl-text-tone-success{color:var(--wl-ok)}.wl-text-tone-warning{color:var(--wl-amber-text)}.wl-chip{background:var(--wl-surface-2);color:var(--wl-fg-2);border-radius:999px;align-items:center;padding:3px 11px;font-size:13px;display:inline-flex}.wl-chip-blue{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-chip-green{background:var(--wl-ok-soft);color:var(--wl-ok)}.wl-chip-red{background:var(--wl-error-soft);color:var(--wl-error)}.wl-chips{flex-wrap:wrap;gap:8px;display:flex}.wl-path-chip{border:1px solid var(--wl-line);font:12.5px var(--wl-mono);background:var(--wl-surface-2);white-space:nowrap;border-radius:6px;padding:2px 8px}.wl-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:flex}.wl-filter-chips{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.wl-filter-chip{border:1px solid var(--wl-line-strong);background:var(--wl-surface-2);max-width:420px;color:var(--wl-fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:13px;display:inline-flex}.wl-filter-chip:hover{border-color:var(--wl-accent)}.wl-select{border:1px solid var(--wl-line-strong);background-color:var(--wl-surface);background-image:linear-gradient(45deg, transparent 50%, var(--wl-muted) 50%), linear-gradient(135deg, var(--wl-muted) 50%, transparent 50%);height:40px;color:var(--wl-fg);font:inherit;appearance:none;cursor:pointer;background-position:right 17px center,right 12px center;background-repeat:no-repeat;background-size:5px 5px;border-radius:9px;min-width:140px;padding:0 34px 0 12px}.wl-select.wl-small{min-width:0;height:32px;font-size:13px}.wl-input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-muted);border-radius:9px;flex:1;align-items:center;gap:8px;min-width:200px;padding:0 12px;display:flex}.wl-input input{min-width:0;color:var(--wl-fg);font:inherit;background:0 0;border:0;outline:none;flex:1}.wl-input svg{width:17px;height:17px}.wl-btn{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-fg);font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:550;display:inline-flex}.wl-btn:hover{background:var(--wl-surface-2);text-decoration:none}.wl-btn:disabled{opacity:.55;cursor:default}.wl-btn svg{width:17px;height:17px}.wl-btn-primary-outline{border-color:var(--wl-accent);width:100%;color:var(--wl-accent)}.wl-btn-primary-outline:hover{background:var(--wl-accent-soft)}.wl-panel-more{border-top:1px solid var(--wl-line);justify-content:center;padding:14px;display:flex}.wl-pager{border-top:1px solid var(--wl-line);color:var(--wl-fg-2);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;font-size:14px;display:flex}.wl-pager .wl-pages{align-items:center;gap:6px;margin-left:auto;display:flex}.wl-pager button{border:1px solid var(--wl-line);background:var(--wl-surface);cursor:pointer;border-radius:8px;min-width:34px;height:34px;padding:0 8px}.wl-pager button.wl-active{border-color:var(--wl-accent);background:var(--wl-accent-soft);color:var(--wl-accent-text);font-weight:650}.wl-pager button:disabled{opacity:.5;cursor:default}.wl-tabbar{box-shadow:inset 0 -1px var(--wl-line);scrollbar-width:thin;gap:2px;margin-bottom:14px;display:flex;overflow:auto hidden}.wl-tabbar button{color:var(--wl-fg-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 10px;font-weight:500}.wl-tabbar button.wl-active{color:var(--wl-accent-text);border-bottom-color:var(--wl-accent);font-weight:600}.wl-tabbar button:hover{color:var(--wl-fg)}.wl-side-head{align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.wl-side-head h2{word-break:break-word;margin-right:auto}.wl-side-meta{color:var(--wl-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;display:flex}.wl-kv{grid-template-columns:minmax(96px,38%) minmax(0,1fr);gap:7px 14px;margin:0;font-size:13.5px;display:grid}.wl-kv dt{color:var(--wl-fg-2)}.wl-kv dd{word-break:break-word;min-width:0;margin:0}.wl-section-title{margin:18px 0 10px;font-size:15px;font-weight:680}.wl-copy-btn{color:var(--wl-muted);cursor:pointer;vertical-align:-2px;background:0 0;border:0;padding:0 6px 0 0;display:inline-flex}.wl-copy-btn svg{width:15px;height:15px}.wl-empty{color:var(--wl-muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:36px 16px;display:flex}.wl-empty strong{color:var(--wl-fg)}.wl-banner{border-radius:10px;margin-bottom:16px;padding:10px 14px}.wl-banner-error{background:var(--wl-error-soft);color:var(--wl-error)}.wl-banner-info{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-link-btn{color:var(--wl-accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.wl-link-btn:hover{text-decoration:underline}.wl-link-btn.wl-text-error{color:var(--wl-error)}.wl-update-later{color:var(--wl-accent-text);opacity:.8;margin-left:14px}@media (width<=640px){.wl-hide-sm{display:none}}.wl-live{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:36px;color:var(--wl-fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}.wl-live-dot{background:var(--wl-ok);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--wl-ok) 60%, transparent);border-radius:50%;animation:1.6s ease-out infinite wl-live-pulse}.wl-live.wl-paused .wl-live-dot{background:var(--wl-muted);animation:none}@keyframes wl-live-pulse{to{box-shadow:0 0 0 7px #0000}}@media (prefers-reduced-motion:reduce){.wl-live-dot{animation:none}}.wl-dpage>.wl-panel{margin:0 0 18px}.wl-dpage .wl-panel-flush .wl-table th:first-child,.wl-dpage .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-dpage .wl-panel-flush .wl-table th:last-child,.wl-dpage .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-dpage .wl-row-actions{align-items:center}.wl-dhead .wl-back{width:max-content;display:flex}.wl-dhead-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:22px;display:flex}.wl-dhead-title>svg{color:var(--wl-fg-2);flex:none}.wl-dhead-name{word-break:break-word;min-width:0}.wl-dhead-name.wl-mono{font-size:17px}.wl-dhead-badge{letter-spacing:0;font-size:14px;font-weight:600}.wl-dhead-actions{letter-spacing:0;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:500;display:inline-flex}.wl-dhead .wl-stats{margin-bottom:0}.wl-dpage .wl-cell-wide{max-width:420px}.wl-dpage .wl-cell-wide span{display:block}.wl-issue-actions{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:6px 0 12px;display:flex}.wl-issue-actions .wl-btn{height:32px;padding:0 12px;font-size:13px}.wl-dhead-actions .wl-issue-actions{margin:0;font-size:13px;font-weight:400}.wl-alert-problem{width:max-content;max-width:100%;margin-top:4px;font-size:13px;display:block}.wl-release-line{stroke:var(--wl-accent);stroke-width:1.25px;stroke-dasharray:3 3;opacity:.8}.wl-release-label{fill:var(--wl-accent-text);font-size:10px;font-weight:600}.wl-chart-tip .wl-chart-tip-release{color:var(--wl-accent-text)}.wl-btn.wl-btn-sm{letter-spacing:0;height:32px;padding:0 12px;font-size:13px;font-weight:550}.wl-btn.wl-btn-sm svg{width:16px;height:16px}.wl-svc-title .wl-dhead-actions{font-size:13px}.wl-save-view{gap:10px;width:320px;padding:12px;display:grid}.wl-share-url{align-items:center;gap:8px;min-width:0;display:flex}.wl-share-url code{flex:1;min-width:0;font-size:12px}.wl-table tr.wl-row-error td:first-child{box-shadow:inset 3px 0 0 var(--wl-error)}.wl-table tr.wl-highlight td{background:var(--wl-highlight)}.wl-req-method,.wl-req-code{margin-right:6px;font-weight:600}.wl-req-method{color:var(--wl-fg)}.wl-code-ok{color:var(--wl-ok)}.wl-code-warn{color:var(--wl-warn)}.wl-code-err{color:var(--wl-error)}.wl-svc{border-color:#0000}.wl-svc-0{color:var(--wl-s0);background:color-mix(in srgb, var(--wl-s0) 14%, transparent)}.wl-svc-1{color:var(--wl-s1);background:color-mix(in srgb, var(--wl-s1) 14%, transparent)}.wl-svc-2{color:var(--wl-s2);background:color-mix(in srgb, var(--wl-s2) 14%, transparent)}.wl-svc-3{color:var(--wl-s3);background:color-mix(in srgb, var(--wl-s3) 14%, transparent)}.wl-svc-4{color:var(--wl-s4);background:color-mix(in srgb, var(--wl-s4) 14%, transparent)}.wl-svc-5{color:var(--wl-s5);background:color-mix(in srgb, var(--wl-s5) 14%, transparent)}.wl-svc-6{color:var(--wl-s6);background:color-mix(in srgb, var(--wl-s6) 14%, transparent)}.wl-svc-7{color:var(--wl-s7);background:color-mix(in srgb, var(--wl-s7) 14%, transparent)}.wl-svc-bg-0{background:var(--wl-s0)}.wl-svc-bg-1{background:var(--wl-s1)}.wl-svc-bg-2{background:var(--wl-s2)}.wl-svc-bg-3{background:var(--wl-s3)}.wl-svc-bg-4{background:var(--wl-s4)}.wl-svc-bg-5{background:var(--wl-s5)}.wl-svc-bg-6{background:var(--wl-s6)}.wl-svc-bg-7{background:var(--wl-s7)}.wl-svc-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-left:auto}.wl-svc-dot.wl-svc-0{background:var(--wl-s0)}.wl-svc-dot.wl-svc-1{background:var(--wl-s1)}.wl-svc-dot.wl-svc-2{background:var(--wl-s2)}.wl-svc-dot.wl-svc-3{background:var(--wl-s3)}.wl-svc-dot.wl-svc-4{background:var(--wl-s4)}.wl-svc-dot.wl-svc-5{background:var(--wl-s5)}.wl-svc-dot.wl-svc-6{background:var(--wl-s6)}.wl-svc-dot.wl-svc-7{background:var(--wl-s7)}.wl-fbadge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:4px;margin-left:4px;padding:0 6px;font-size:10px;font-weight:700;line-height:17px;display:inline-block}.wl-fbadge-error{background:var(--wl-error-soft);color:var(--wl-error)}.wl-fbadge-np1-db,.wl-fbadge-np1-http,.wl-fbadge-duplicate-query,.wl-fbadge-slow-query,.wl-fbadge-db-wait{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-cat{text-align:center;letter-spacing:.04em;background:var(--wl-surface-2);width:32px;color:var(--wl-muted);border-radius:4px;flex:none;padding:0 2px;font-size:9.5px;font-weight:700;line-height:16px;display:inline-block}.wl-cat-db{color:var(--wl-amber-text);background:color-mix(in srgb, var(--wl-k-db) 22%, transparent)}.wl-cat-http-client{color:var(--wl-fg-2);background:color-mix(in srgb, var(--wl-k-client) 16%, transparent)}.wl-cat-http-server{color:var(--wl-accent-text);background:color-mix(in srgb, var(--wl-k-server) 14%, transparent)}.wl-cat-browser{color:var(--wl-fg-2);background:color-mix(in srgb, var(--wl-k-browser) 22%, transparent)}.wl-cat-messaging{color:var(--wl-violet);background:color-mix(in srgb, var(--wl-k-messaging) 16%, transparent);width:auto;padding:0 6px}.wl-status-dot{vertical-align:1px;border-radius:50%;flex:none;width:8px;height:8px;margin-right:8px;display:inline-block}.wl-status-dot.wl-error{background:var(--wl-error)}.wl-h-dot{vertical-align:0;border-radius:50%;flex:none;width:9px;height:9px;margin-right:8px;display:inline-block}.wl-h-info{background:var(--wl-h-info)}.wl-h-success{background:var(--wl-h-success)}.wl-h-opportunity{background:var(--wl-h-opportunity)}.wl-h-warning{background:var(--wl-h-warning)}.wl-h-critical{background:var(--wl-h-critical)}.wl-h-neutral{background:var(--wl-h-neutral)}.wl-pill{color:#fff;text-align:center;min-width:40px;font-size:12px;font-weight:650;font-family:var(--wl-sans);border-radius:6px;padding:1px 8px;display:inline-block}.wl-pill-ok{background:#16a34a}.wl-pill-warn{background:#ea580c}.wl-pill-err{background:var(--wl-red)}.wl-pill-none{background:var(--wl-slate)}.wl-detail>*+*{margin-top:16px}.wl-detail .wl-insights{margin-bottom:0}.wl-back{align-items:center;gap:4px;margin-bottom:8px;font-size:13px;display:inline-flex}.wl-trace-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.wl-trace-title h1{font-size:18px;font-family:var(--wl-mono);word-break:break-all;flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wl-small-chip{margin-left:8px}.wl-stats{flex-wrap:wrap;gap:8px 28px;margin:12px 0 8px;display:flex}.wl-stats div{flex-direction:column;gap:2px;display:flex}.wl-stats dt{color:var(--wl-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.wl-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:650}.wl-stats dd.wl-chips{font-size:11px}.wl-split-bar{background:var(--wl-surface-2);border-radius:5px;height:10px;margin:14px 0 0;display:flex;overflow:hidden}.wl-split-bar i{height:100%;display:block}.wl-c-server{background:var(--wl-k-server)}.wl-c-db{background:var(--wl-k-db)}.wl-c-render{background:var(--wl-k-render)}.wl-c-other{background:var(--wl-slate);opacity:.5}.wl-c-error{background:var(--wl-red)}.wl-legend{color:var(--wl-muted);flex-wrap:wrap;gap:6px 20px;margin:10px 0 4px;font-size:12px;display:flex}.wl-legend span{align-items:center;gap:6px;display:flex}.wl-legend b{color:var(--wl-fg);font-weight:650}.wl-legend i{border-radius:50%;width:9px;height:9px}.wl-insights{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.wl-insights-clean{background:var(--wl-surface);border:1px solid var(--wl-line);color:var(--wl-muted);border-radius:10px;flex-direction:row;align-items:center;gap:8px;padding:10px 14px}.wl-insight-ok{color:var(--wl-ok);font-weight:700}.wl-insight{text-align:left;border:1px solid var(--wl-line);background:var(--wl-surface);color:var(--wl-fg);font:inherit;cursor:pointer;border-radius:8px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.wl-insight:hover{border-color:var(--wl-line-strong);background:var(--wl-surface-2)}.wl-insight-info,.wl-insight-warning{border-left:3px solid var(--wl-amber)}.wl-insight-error{border-left:3px solid var(--wl-error)}.wl-insight .wl-fbadge{margin-left:0}.wl-insight-title{white-space:nowrap;font-weight:600}.wl-insight-shape{font-family:var(--wl-mono);color:var(--wl-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.wl-insight-ms{font-variant-numeric:tabular-nums;color:var(--wl-muted)}.wl-tabs{border-bottom:1px solid var(--wl-line);background:var(--wl-surface);gap:2px;padding:0 10px;display:flex;overflow-x:auto}.wl-tab{color:var(--wl-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 12px;font-weight:600;display:inline-flex}.wl-tab:hover{color:var(--wl-fg)}.wl-tab.wl-active{color:var(--wl-fg);border-bottom-color:var(--wl-blue)}.wl-tab-count{background:var(--wl-surface-2);color:var(--wl-muted);border-radius:999px;padding:0 6px;font-size:11px;font-weight:600}.wl-tab-error .wl-tab-count{background:var(--wl-error-soft);color:var(--wl-error)}.wl-tab-body{padding:0}.wl-split{grid-template-columns:1fr;min-height:200px;display:grid}.wl-split.wl-with-panel{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}.wl-split-main{min-width:0;padding:10px 12px 14px}.wl-tab-summary{color:var(--wl-muted);gap:18px;padding:4px 4px 10px;display:flex}.wl-tab-summary strong{color:var(--wl-fg)}.wl-waterfall{flex-direction:column;font-size:12px;display:flex}.wl-wf-row{cursor:pointer;border-radius:5px;grid-template-columns:minmax(220px,38%) 1fr;align-items:center;min-height:26px;display:grid}.wl-wf-row:hover{background:var(--wl-surface-2)}.wl-wf-row.wl-selected{background:var(--wl-selected)}.wl-wf-row.wl-highlight{background:var(--wl-highlight)}.wl-wf-row.wl-error .wl-wf-name{color:var(--wl-error)}.wl-wf-axis{cursor:default;border-bottom:1px solid var(--wl-line);border-radius:0;min-height:22px;margin-bottom:4px}.wl-wf-axis:hover{background:0 0}.wl-wf-label{align-items:center;gap:6px;min-width:0;padding-right:10px;display:flex}.wl-wf-caret,.wl-wf-caret-space{flex:none;width:14px}.wl-wf-caret{color:var(--wl-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.wl-wf-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--wl-mono);min-width:0;overflow:hidden}.wl-wf-track{height:26px;position:relative}.wl-wf-axis .wl-wf-track{height:22px}.wl-wf-tick{color:var(--wl-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;position:absolute;top:4px;transform:translate(-50%)}.wl-wf-tick:first-child{transform:none}.wl-wf-tick:last-child{transform:translate(-100%)}.wl-wf-grid{background:var(--wl-line);width:1px;position:absolute;top:0;bottom:0}.wl-wf-bar{opacity:.9;border-radius:3px;min-width:2px;height:10px;position:absolute;top:8px}.wl-wf-row.wl-selected .wl-wf-bar,.wl-wf-row:hover .wl-wf-bar{opacity:1}.wl-wf-row.wl-error .wl-wf-bar{background:var(--wl-error)}.wl-k-http-server{background:var(--wl-k-server)}.wl-k-internal{background:var(--wl-k-internal)}.wl-k-db{background:var(--wl-k-db)}.wl-k-messaging{background:var(--wl-k-messaging)}.wl-k-http-client{background:var(--wl-k-client)}.wl-k-browser{background:var(--wl-k-browser)}.wl-k-render{background:var(--wl-k-render)}.wl-wf-dur{color:var(--wl-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10.5px;position:absolute;top:5px}.wl-span-panel{border-left:1px solid var(--wl-line);background:var(--wl-surface);overflow-wrap:anywhere;min-width:0;max-height:78vh;padding:12px 14px 18px;position:sticky;top:52px;overflow-y:auto}.wl-sp-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.wl-sp-head h2{font-family:var(--wl-mono);word-break:break-all}.wl-sp-facts{grid-template-columns:90px 1fr;gap:4px 10px;margin:12px 0 0;display:grid}.wl-sp-facts dt{color:var(--wl-muted)}.wl-sp-facts dd{margin:0}.wl-code{background:var(--wl-code-bg);border:1px solid var(--wl-line);font:12px/1.5 var(--wl-mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px 10px}.wl-stack{max-height:260px;margin-top:6px;font-size:11px;overflow:auto}.wl-sp-event{border:1px solid var(--wl-line);border-radius:6px;margin-bottom:6px;padding:8px}.wl-sp-exception{border-color:color-mix(in srgb, var(--wl-error) 40%, transparent);background:var(--wl-error-soft)}.wl-sp-event-head{justify-content:space-between;margin-bottom:4px;display:flex}.wl-sp-logs{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.wl-attrs{border-collapse:collapse;width:100%;font-size:12px}.wl-attrs th{text-align:left;color:var(--wl-muted);font-weight:500;font-family:var(--wl-mono);vertical-align:top;word-break:break-all;width:45%;padding:3px 8px 3px 0}.wl-attrs td{font-family:var(--wl-mono);word-break:break-all;padding:3px 0}.wl-attrs td.wl-redacted{color:var(--wl-warn)}.wl-sql-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wl-sql-item{border:1px solid var(--wl-line);cursor:pointer;border-radius:8px;padding:8px 10px}.wl-sql-item:hover{border-color:var(--wl-line-strong)}.wl-sql-item.wl-selected{border-color:var(--wl-accent);background:var(--wl-selected)}.wl-sql-item.wl-highlight{background:var(--wl-highlight)}.wl-sql-item.wl-row-error{border-left:3px solid var(--wl-error)}.wl-sql-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.wl-sql-meta .wl-fbadge{margin-left:0}.wl-sql{font-size:12px}.wl-sql-params{color:var(--wl-muted);word-break:break-all;margin-top:6px}.wl-lvl{text-align:center;text-transform:uppercase;background:var(--wl-surface-2);min-width:44px;color:var(--wl-muted);border-radius:4px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;display:inline-block}.wl-lvl-info{color:var(--wl-s4);background:color-mix(in srgb, var(--wl-s4) 14%, transparent)}.wl-lvl-warn{color:var(--wl-warn);background:var(--wl-warn-soft)}.wl-lvl-error,.wl-lvl-critical{color:var(--wl-error);background:var(--wl-error-soft)}.wl-error-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wl-error-item{border:1px solid color-mix(in srgb, var(--wl-error) 35%, var(--wl-line));border-left:3px solid var(--wl-error);cursor:pointer;border-radius:8px;padding:10px 12px}.wl-error-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wl-error-msg{color:var(--wl-error);margin:6px 0;font-weight:600}@media (width<=900px){.wl-split.wl-with-panel{grid-template-columns:1fr}.wl-span-panel{border-left:0;border-top:1px solid var(--wl-line);max-height:none;position:static}.wl-wf-row{grid-template-columns:minmax(150px,45%) 1fr}.wl-insight{grid-template-columns:auto 1fr auto}.wl-insight-shape{grid-column:1/-1}}.wl-wf-bar-tools{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px;display:flex}.wl-wf-bar-tools .wl-input{flex:260px;max-width:420px}.wl-wf-self{color:var(--wl-muted);font-weight:400}.wl-sp-links{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.wl-compare{display:inline-flex;position:relative}.wl-compare-menu{width:300px}.wl-compare-input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);width:100%;height:34px;color:var(--wl-fg);font:13px var(--wl-mono);border-radius:8px;margin-bottom:4px;padding:0 10px}.wl-auth{background:var(--wl-bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.wl-auth-card{border:1px solid var(--wl-line);background:var(--wl-surface);border-radius:16px;gap:14px;width:min(400px,100%);padding:28px;display:grid;box-shadow:0 12px 40px #00000014}.wl-auth-card h1{margin:4px 0 0;font-size:22px}.wl-auth-card p{margin:0}.wl-auth-field,.wl-field{min-width:0;color:var(--wl-fg-2);gap:6px;font-size:13px;font-weight:600;display:grid}.wl-auth-field input,.wl-field input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-fg);font:inherit;border-radius:9px;padding:0 12px;font-weight:400}.wl-auth-field input:focus,.wl-field input:focus{outline:2px solid var(--wl-accent);outline-offset:1px}.wl-field small{font-weight:400}.wl-field textarea{border:1px solid var(--wl-line-strong);background:var(--wl-surface);min-height:96px;color:var(--wl-fg);font:400 12px/1.5 var(--wl-mono);resize:vertical;border-radius:9px;padding:10px 12px}.wl-field textarea:focus{outline:2px solid var(--wl-accent);outline-offset:1px}.wl-auth-foot{text-align:center;color:var(--wl-muted);font-size:13px}.wl-btn-primary{background:var(--wl-accent);border-color:var(--wl-accent);color:#fff;justify-content:center}.wl-btn-primary:hover{filter:brightness(1.08);background:var(--wl-accent)}.wl-btn-primary:disabled{opacity:.6;cursor:default}.wl-form{gap:12px;margin-bottom:14px;display:grid}.wl-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.wl-form-row>.wl-field{flex:200px}.wl-row-actions{white-space:nowrap;gap:12px;display:inline-flex}.wl-share{gap:10px;width:min(420px,86vw);padding:4px 6px 8px;display:grid}.wl-share p{margin:0 4px}.wl-share-row{align-items:center;gap:10px;padding:0 4px;display:flex}.wl-share-link{background:var(--wl-surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px;display:flex}.wl-share-link code{overflow-wrap:anywhere}.wl-share-link>span{flex-basis:100%}.wl-trace-actions{align-items:center;gap:8px;display:inline-flex}.wl-shared{background:var(--wl-bg);min-height:100vh}.wl-shared-head{border-bottom:1px solid var(--wl-line);background:var(--wl-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}@media (width<=640px){.wl-shared-head{padding:12px 16px}.wl-auth-card{padding:22px 18px}}.wl-brand-row{color:var(--wl-fg);letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:750;display:inline-flex}.wl-brand-row svg{width:30px;height:30px}.wl-consent-list{color:var(--wl-fg-2);gap:6px;margin:0;padding-left:18px;font-size:13px;display:grid}.wl-consent-scope{border:1px solid var(--wl-line);border-radius:10px;gap:10px;margin:0;padding:12px 14px;display:grid}.wl-consent-scope legend{color:var(--wl-fg-2);padding:0 4px;font-size:13px;font-weight:600}.wl-consent-projects{gap:8px;max-height:220px;padding-left:24px;display:grid;overflow-y:auto}.wl-auth-field .wl-select{width:100%}.wl-auth-check,.wl-check{color:var(--wl-fg-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.wl-auth-check input,.wl-check input{width:16px;height:16px;accent-color:var(--wl-accent);margin:0}.wl-form-row>.wl-check{min-height:40px}.wl-auth-links{flex-wrap:wrap;justify-content:center;gap:6px 16px;display:inline-flex}.wl-auth-card>.wl-btn{width:100%}.wl-auth-card>.wl-link-btn{justify-self:center;font-size:13px}.wl-banner-thin{border-radius:0;margin:0;padding:8px 24px;font-size:13px}.wl-account-line{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0;display:flex}.wl-panel-title-row{align-items:center;gap:10px;display:inline-flex}.wl-check-list{border:1px solid var(--wl-line);border-radius:10px;gap:8px;margin:0;padding:12px;display:grid}.wl-check-list legend{color:var(--wl-fg-2);padding:0 6px;font-size:13px;font-weight:600}.wl-plain-list{margin:0 0 8px;padding-left:20px}.wl-notify-box{width:16px;height:16px;accent-color:var(--wl-accent);cursor:pointer;margin:0}.wl-notify-when{align-items:end}.wl-notify-when .wl-field{flex:0 260px}.wl-plain-list li+li{margin-top:4px}.wl-totp{flex-wrap:wrap;align-items:center;gap:16px 20px;margin-bottom:14px;display:flex}.wl-totp-qr{background:#fff;border-radius:10px;flex:none;width:168px;height:168px;padding:8px}.wl-totp-qr svg{width:100%;height:100%;display:block}.wl-totp-text{flex:240px;gap:6px;min-width:0;display:grid}.wl-totp-text p{margin:0}.wl-totp-text code{overflow-wrap:anywhere}.wl-backup-codes{flex:100%;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px;margin:0;padding:0;list-style:none;display:grid}.wl-share-link+.wl-form{margin-top:14px}.wl-sso-item{gap:10px;display:grid}.wl-sso-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.wl-sso-head .wl-link-btn{margin-left:auto}.wl-sso-proof{gap:8px;display:grid}.wl-sso-proof p{margin:0}.wl-panel-danger{border-color:var(--wl-error)}.wl-panel-danger .wl-panel-head h2{color:var(--wl-error)}.wl-btn-danger{border-color:var(--wl-error);background:var(--wl-error);color:#fff}.wl-btn-danger:hover{filter:brightness(1.06);background:var(--wl-error)}.wl-btn-danger:disabled{filter:none}@media (width<=640px){.wl-banner-thin{padding:8px 16px}.wl-totp-qr{width:144px;height:144px}}.wl-banner-warn{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-banner a{color:inherit;font-weight:600;text-decoration:underline}.wl-usage{gap:8px;display:grid}.wl-usage-head{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.wl-usage-head strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px}.wl-usage-track{background:var(--wl-surface-2);border-radius:6px;height:12px;overflow:hidden}.wl-usage-track i{background:var(--wl-accent);border-radius:6px;height:100%;transition:width .3s;display:block}.wl-usage-track.wl-usage-warn i{background:var(--wl-amber)}.wl-usage-track.wl-usage-full i{background:var(--wl-error)}.wl-usage-facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0;display:grid}.wl-usage-facts div{background:var(--wl-surface-2);border-radius:10px;padding:10px 12px}.wl-usage-facts dt{color:var(--wl-muted);font-size:12px}.wl-usage-facts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:16px;font-weight:650}.wl-usage-days{align-items:flex-end;gap:3px;height:56px;margin-bottom:8px;display:flex}.wl-usage-days span{flex:1 1 0;align-items:flex-end;min-width:3px;height:100%;display:flex}.wl-usage-days i{background:var(--wl-chart-bar);border-radius:2px 2px 0 0;width:100%;display:block}.wl-usage-days span:hover i{background:var(--wl-accent)}.wl-segmented{border:1px solid var(--wl-line-strong);background:var(--wl-surface-2);border-radius:9px;padding:2px;display:inline-flex}.wl-segmented button{color:var(--wl-fg-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 10px;font-size:13px}.wl-segmented button.wl-active{background:var(--wl-surface);color:var(--wl-fg);box-shadow:var(--wl-shadow);font-weight:600}.wl-plans{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.wl-plan{border:1px solid var(--wl-line);border-radius:var(--wl-radius);background:var(--wl-surface);flex-direction:column;gap:6px;padding:16px;display:flex}.wl-plan-current{border-color:var(--wl-accent);box-shadow:0 0 0 1px var(--wl-accent)}.wl-plan h3{margin:0;font-size:15px}.wl-plan-price{letter-spacing:-.02em;font-size:24px;font-weight:700}.wl-plan p{margin:0}.wl-plan ul{color:var(--wl-fg-2);gap:6px;margin:6px 0 10px;padding:0;font-size:13px;list-style:none;display:grid}.wl-plan li{align-items:flex-start;gap:6px;display:flex}.wl-plan li svg{width:15px;height:15px;color:var(--wl-ok);flex:none;margin-top:2px}.wl-plan>.wl-btn,.wl-plan>.wl-badge{align-self:flex-start;margin-top:auto}.wl-plan-prompt{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.wl-plan-prompt>svg{width:22px;height:22px;color:var(--wl-accent);flex:none}.wl-plan-prompt>div{flex:260px}.wl-plan-prompt p{margin:2px 0 0;font-size:13px}@media (width<=640px){.wl-plans{grid-template-columns:1fr}.wl-usage-head strong{font-size:20px}}.wl-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;display:flex}.wl-page-head h1{margin:0}.wl-page-actions{flex-wrap:wrap;gap:10px;display:flex}.wl-sections{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;display:grid}.wl-sections-nav{gap:2px;display:grid;position:sticky;top:84px}.wl-sections-nav a{color:var(--wl-fg-2);border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:550;display:flex}.wl-sections-nav a:hover{background:var(--wl-surface-2);text-decoration:none}.wl-sections-nav a.wl-active{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-sections-nav svg{flex:none;width:17px;height:17px}.wl-sections-nav .wl-chip-count{margin-left:auto}.wl-sections-body{min-width:0}.wl-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;margin-bottom:18px;display:flex}.wl-section-head h2{margin:0;font-size:19px}.wl-section-head p{max-width:72ch;color:var(--wl-muted);margin:6px 0 0;font-size:14px}.wl-section-actions{flex-wrap:wrap;gap:10px;display:flex}.wl-sections-body>.wl-panel+.wl-panel,.wl-sections-body>.wl-banner+.wl-panel{margin-top:18px}.wl-sections-body>.wl-banner{margin-bottom:18px}@media (width<=900px){.wl-sections{grid-template-columns:minmax(0,1fr);gap:18px}.wl-sections-nav{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;position:static;overflow-x:auto}.wl-sections-nav a{border:1px solid var(--wl-line);background:var(--wl-surface);flex:none;padding:7px 12px}.wl-sections-nav .wl-chip-count{margin-left:0}}.wl-form-row{align-items:flex-start}.wl-form-row>.wl-btn{margin-top:25px}.wl-form-row>.wl-field-narrow{flex:0 180px}.wl-field select{width:100%;font-weight:400}.wl-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.wl-panel-form{border-color:var(--wl-accent)}.wl-panel-form .wl-form{margin-bottom:0}.wl-facts{grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:10px 20px;margin:0;display:grid}.wl-facts dt{color:var(--wl-muted);font-size:14px}.wl-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}@media (width<=640px){.wl-facts{grid-template-columns:minmax(0,1fr);gap:2px 0}.wl-facts dd{margin-bottom:8px}}.wl-dialog{border:1px solid var(--wl-line);background:var(--wl-surface);width:min(460px,100vw - 32px);color:var(--wl-fg);box-shadow:var(--wl-shadow-pop);border-radius:14px;padding:0}.wl-dialog::backdrop{background:#0f172a73}.wl-dialog form{gap:14px;padding:22px;display:grid}.wl-dialog h2{margin:0;font-size:18px}.wl-dialog-body{color:var(--wl-fg-2);font-size:14px;line-height:1.55}.wl-dialog-body p{margin:0 0 8px}.wl-dialog-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.wl-id{color:var(--wl-muted);font:12px var(--wl-mono);align-items:center;gap:4px;display:inline-flex}.wl-who{line-height:1.35;display:grid}.wl-who small{color:var(--wl-muted);font-size:12px}.wl-panel-flush .wl-table th:first-child,.wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-panel-flush .wl-table th:last-child,.wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-table .wl-cell-actions{text-align:right;white-space:nowrap}.wl-panel-banner{margin:12px 20px 0}.wl-panel-note{color:var(--wl-muted);margin:0 20px 14px;font-size:13px}.wl-form-actions-split{justify-content:space-between;align-items:center}.wl-panel-text{color:var(--wl-muted);margin:0 0 14px}.wl-form-actions-start{justify-content:flex-start}
1
+ @font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.wl-tags{vertical-align:middle;flex-wrap:wrap;gap:4px;display:inline-flex}.wl-tagged{align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.wl-tagged>:first-child{min-width:0}.wl-tagged .wl-tags{flex-wrap:nowrap;flex-shrink:0}.wl-tag{--wl-tag:var(--wl-s0);white-space:nowrap;color:var(--wl-tag);background:color-mix(in srgb, var(--wl-tag) 14%, transparent);border-radius:999px;align-items:center;padding:0 8px;font-size:11.5px;font-weight:650;line-height:19px;text-decoration:none;display:inline-flex}.wl-tag:hover{background:color-mix(in srgb, var(--wl-tag) 24%, transparent);text-decoration:none}.wl-tag:focus-visible{outline:2px solid var(--wl-tag);outline-offset:1px}.wl-tag-blue{--wl-tag:var(--wl-s0)}.wl-tag-green{--wl-tag:var(--wl-s7)}.wl-tag-amber{--wl-tag:var(--wl-s5)}.wl-tag-orange{--wl-tag:var(--wl-s2)}.wl-tag-red{--wl-tag:var(--wl-error)}.wl-tag-violet{--wl-tag:var(--wl-s4)}.wl-tag-slate{--wl-tag:var(--wl-muted)}.wl-tag-off{opacity:.55}.wl-tag-query{font-family:var(--wl-mono);word-break:break-word;font-size:12.5px}.wl-tag-colors{border:0;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.wl-tag-colors legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.wl-tag-colors label{cursor:pointer}.wl-tag-colors input{opacity:0;pointer-events:none;position:absolute}.wl-tag-colors input:checked+.wl-tag{box-shadow:0 0 0 2px var(--wl-tag)}.wl-tag-colors input:focus-visible+.wl-tag{outline:2px solid var(--wl-tag);outline-offset:2px}.wl-tag-preview{background:var(--wl-surface-2);border-radius:10px;gap:6px;padding:12px 14px;font-size:13px;display:grid}.wl-tag-preview ul{margin:0;padding-left:18px}.wl-tag-preview li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wl-tag-scopes{border:0;gap:6px;margin:0;padding:0;display:grid}.wl-tag-scopes legend{margin-bottom:2px;padding:0;font-size:13px;font-weight:600}.wl-tag-code{background:var(--wl-code-bg);font-family:var(--wl-mono);border-radius:10px;margin:0;padding:12px 14px;font-size:12.5px;overflow-x:auto}.wl-dialog.wl-tag-dialog{width:min(560px,100vw - 32px);padding:22px}.wl-dialog.wl-tag-dialog>h2{margin-bottom:14px}.wl-dialog.wl-tag-dialog form{padding:0}.wl-err-tagline{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.wl-rq-tags{align-items:center}.wl-trace-head>.wl-tags{margin:2px 0 10px}.wl-svc-endpoints .wl-tags{margin-left:6px}.wl-alert-state{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.wl-alert-actions{flex-wrap:wrap;gap:4px 12px}.wl-alert-actions .wl-select{height:28px}.wl-alert-channels{justify-items:start;gap:10px;margin:6px 0 12px;display:grid}.wl-alert-channel{border:1px solid var(--wl-line);border-radius:9px;width:100%;padding:10px 12px}.wl-alert-channel .wl-form-row{align-items:end}.wl-alert-channel-remove{align-self:center;margin-left:auto}.wl-apdex-targets{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px;margin-top:10px;display:grid}.wl-dash-grid{gap:var(--wl-gap,20px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wl-dash-wide{grid-column:1/-1}.wl-dash-numbers{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.wl-dash-number{gap:4px;min-width:0;display:grid}.wl-dash-number strong{font-size:28px;font-weight:650}@media (width<=1100px){.wl-dash-grid{grid-template-columns:minmax(0,1fr)}}.wl-db-page .wl-db-query{max-width:420px}.wl-db-queries .wl-table th:first-child,.wl-db-queries .wl-table td:first-child{padding-left:20px}.wl-db-queries .wl-table th:last-child,.wl-db-queries .wl-table td:last-child{padding-right:20px}.wl-db-page .wl-db-query span{display:block}.wl-db-note{color:var(--wl-muted);margin:12px 0 0;font-size:12px}.wl-insight-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.wl-insight-card{color:var(--wl-fg);border-left:1px solid var(--wl-line);grid-template-columns:52px minmax(0,1fr) 20px;align-items:start;gap:14px;padding:4px 18px;display:grid}.wl-insight-card:first-child{border-left:0;padding-left:0}.wl-insight-card:hover{text-decoration:none}.wl-insight-card:hover .wl-insight-title strong{color:var(--wl-accent)}.wl-insight-icon{border-radius:12px;place-items:center;width:52px;height:52px;display:grid}.wl-insight-icon svg{width:26px;height:26px}.wl-impact-high{background:var(--wl-error-soft);color:var(--wl-error)}.wl-impact-medium{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-impact-low{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-insight-body{flex-direction:column;gap:6px;min-width:0;display:flex}.wl-insight-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.wl-insight-title strong{font-size:15px}.wl-insight-text{color:var(--wl-muted);overflow-wrap:anywhere;font-size:13.5px;line-height:1.5}.wl-insight-go{width:20px;height:20px;color:var(--wl-fg-2);margin-top:2px}@media (width<=1100px){.wl-insight-cards{grid-template-columns:minmax(0,1fr);gap:16px}.wl-insight-card,.wl-insight-card:first-child{border-left:0;padding:0}}.wl-errors-bottom{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.wl-errors-left{flex-direction:column;gap:18px;min-width:0;display:flex}.wl-errors-left .wl-panel+.wl-panel{margin-top:0}.wl-err-full{margin:4px 0 14px}.wl-err-list .wl-table th:first-child,.wl-err-list .wl-table td:first-child{padding-left:20px}.wl-err-list .wl-table th:last-child,.wl-err-list .wl-table td:last-child{padding-right:20px}@media (width<=1200px){.wl-errors-bottom{grid-template-columns:minmax(0,1fr)}}.wl-errors-page .wl-err-text{max-width:260px}.wl-errors-page .wl-err-endpoint{max-width:180px}.wl-errors-page .wl-err-text span,.wl-errors-page .wl-err-endpoint span{display:block}.wl-err-change{align-items:center;gap:3px;font-weight:600;display:inline-flex}.wl-err-change svg{width:14px;height:14px}.wl-err-nav{gap:6px;display:flex}.wl-err-nav button{border:1px solid var(--wl-line);background:var(--wl-surface);cursor:pointer;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.wl-err-nav button:disabled{opacity:.45;cursor:default}.wl-err-title{overflow-wrap:anywhere;font-size:17px;line-height:1.35}.wl-err-occ{border-top:1px solid var(--wl-line);border-bottom:1px solid var(--wl-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 14px;padding:12px 0;display:flex}.wl-err-tabs{margin-top:18px}.wl-stack{border:1px solid var(--wl-line);background:var(--wl-code-bg);border-radius:10px;max-height:320px;padding:12px 36px 12px 0;position:relative;overflow:auto}.wl-stack-copy{position:absolute;top:10px;right:6px}.wl-stack ol{font:12px/1.7 var(--wl-mono);color:var(--wl-muted);margin:0;padding:0 0 0 46px}.wl-stack li{padding-left:6px}.wl-stack li::marker{color:var(--wl-muted)}.wl-stack ol:not(.wl-frames) li code{color:var(--wl-fg-2);white-space:pre}.wl-stack ol:not(.wl-frames) li:first-child code{color:var(--wl-accent-text)}.wl-stack p{margin:8px 0 0 12px}.wl-err-status{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.wl-stack-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.wl-seg{border:1px solid var(--wl-line);background:var(--wl-surface-2);border-radius:8px;padding:2px;display:inline-flex}.wl-seg button{color:var(--wl-muted);font:600 12px var(--wl-sans);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px}.wl-seg button.wl-active{background:var(--wl-surface);color:var(--wl-fg);box-shadow:0 1px 2px #00000014}.wl-seg button:disabled{opacity:.45;cursor:default}.wl-frames-box{max-height:460px;padding:6px 36px 6px 0}.wl-stack ol.wl-frames{font:12px/1.6 var(--wl-mono);color:var(--wl-fg-2);margin:0;padding:0;list-style:none}.wl-stack .wl-frames li{padding-left:0}.wl-frame+.wl-frame{border-top:1px solid var(--wl-line)}.wl-frame-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:6px 12px;display:flex}.wl-frame-head svg{width:13px;height:13px;color:var(--wl-muted);flex:none;align-self:center}.wl-frame-fn{color:var(--wl-accent-text);font-weight:600}.wl-frame-loc{min-width:0;color:var(--wl-fg-2);overflow-wrap:anywhere}.wl-frame-lib .wl-frame-fn,.wl-frame-lib .wl-frame-loc{color:var(--wl-muted);font-weight:400}.wl-frame-raw{color:var(--wl-muted);overflow-wrap:anywhere;padding:0 12px 8px 33px}.wl-src{border:1px solid var(--wl-line);background:var(--wl-surface);font:inherit;border-radius:8px;margin:0 12px 8px 33px;padding:6px 0;overflow-x:auto}.wl-src-line{display:flex}.wl-src-no{text-align:right;width:44px;color:var(--wl-muted);-webkit-user-select:none;user-select:none;flex:none;padding-right:10px}.wl-src-line code{white-space:pre;color:var(--wl-fg-2);padding-right:12px}.wl-src-hit{background:var(--wl-accent-soft)}.wl-src-hit code,.wl-src-hit .wl-src-no{color:var(--wl-accent-text);font-weight:600}.wl-insight-cell{flex-direction:column;gap:2px;min-width:0;max-width:560px;display:flex}.wl-insight-cell code{color:var(--wl-muted)}.wl-insight-detail{top:calc(var(--wl-topbar-h) + 16px);max-height:calc(100vh - var(--wl-topbar-h) - 32px);position:sticky;overflow-y:auto}.wl-insight-desc{color:var(--wl-fg-2);margin:0 0 6px}.wl-insight-shape{max-height:220px;margin-bottom:12px;overflow:auto}.wl-insight-fix{color:var(--wl-fg-2);margin:0;padding-left:20px}.wl-insight-fix li{margin-bottom:6px}.wl-insight-endpoints{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.wl-insight-detail .wl-btn{margin-top:4px}@media (width<=1200px){.wl-insight-detail{max-height:none;position:static}}.wl-query{flex:1;min-width:260px;position:relative}.wl-query-input{width:100%}.wl-query-input input{font-family:var(--wl-mono);font-size:14px}.wl-query-input.wl-invalid{border-color:var(--wl-red)}.wl-query-error{color:var(--wl-red);margin-top:6px;font-size:13px}.wl-query-error code{background:var(--wl-error-soft);border-radius:5px;padding:1px 5px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.wl-query-suggest{z-index:30;border:1px solid var(--wl-line-strong);background:var(--wl-surface);max-height:320px;box-shadow:var(--wl-shadow-pop);border-radius:9px;padding:4px;position:absolute;top:44px;left:0;right:0;overflow-y:auto}.wl-query-option{cursor:pointer;font-family:var(--wl-mono);border-radius:6px;justify-content:space-between;gap:12px;padding:7px 10px;font-size:13px;display:flex}.wl-query-option.wl-active{background:var(--wl-surface-2)}.wl-logs-page>.wl-panel{margin-bottom:18px}.wl-logs-page .wl-panel-flush .wl-table th:first-child,.wl-logs-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-logs-page .wl-panel-flush .wl-table th:last-child,.wl-logs-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-logs-page .wl-log-cat{max-width:160px;color:var(--wl-muted);font-size:13px}.wl-logs-page .wl-log-cat span{display:block}.wl-logs-page .wl-log-msg{word-break:break-word;min-width:260px}.wl-logs-page .wl-log-trace{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.wl-logs-page .wl-badge{text-transform:capitalize}.wl-log-detail{flex-direction:column;gap:10px;max-width:900px;font-size:13px;display:flex}.wl-log-detail .wl-kv{font-family:var(--wl-mono);font-size:12.5px}.wl-logs-page .wl-log-pattern{min-width:260px;max-width:560px}.wl-logs-page .wl-log-pattern code{font:12.5px/1.5 var(--wl-mono);word-break:break-word}.wl-log-share{background:var(--wl-surface-2);vertical-align:middle;border-radius:3px;width:72px;height:6px;display:inline-block;overflow:hidden}.wl-log-share>span{background:var(--wl-chart-bar);height:100%;display:block}.wl-log-metric-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;display:grid}.wl-log-metric{border:1px solid var(--wl-line);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;display:flex}.wl-log-metric header{align-items:flex-start;gap:12px;display:flex}.wl-log-metric-title{flex-direction:column;flex:1;min-width:0;display:flex}.wl-log-metric-total{white-space:nowrap;font-variant-numeric:tabular-nums}.wl-log-metric-total strong{font-size:18px}.wl-log-metric footer,.wl-log-metrics .wl-panel-head .wl-row-actions{flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.wl-log-metric footer svg,.wl-log-metrics .wl-panel-head svg{vertical-align:-2px;width:14px;height:14px}.wl-log-save{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.wl-log-save .wl-field{flex:1;min-width:220px}.wl-ov-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.wl-ov-top{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.wl-ov-mid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.wl-ov-note{color:var(--wl-muted);margin:14px 0 0;font-size:12px}.wl-ov-path{vertical-align:middle;max-width:260px;display:inline-block}.wl-ov-insights{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.wl-ov-insight{color:var(--wl-fg);border-left:1px solid var(--wl-line);grid-template-columns:48px minmax(0,1fr) 20px;align-items:start;gap:14px;padding:6px 18px;display:grid}.wl-ov-insight:first-child{border-left:0;padding-left:0}.wl-ov-insight:hover{text-decoration:none}.wl-ov-insight:hover strong{color:var(--wl-accent-text)}.wl-ov-insight-icon{border-radius:10px;place-items:center;width:48px;height:48px;display:grid}.wl-ov-insight-icon svg{width:24px;height:24px}.wl-ov-area-database{background:var(--wl-error-soft);color:var(--wl-red)}.wl-ov-area-http{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-ov-area-render{background:var(--wl-accent-soft);color:var(--wl-accent)}.wl-ov-insight-body{flex-direction:column;gap:6px;min-width:0;display:flex}.wl-ov-insight-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.wl-ov-insight-text{color:var(--wl-muted);overflow-wrap:anywhere;font-size:13.5px;line-height:1.45}.wl-ov-insight-go{width:18px;height:18px;color:var(--wl-muted);margin-top:2px}@media (width<=1400px){.wl-ov-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1200px){.wl-ov-top,.wl-ov-mid{grid-template-columns:minmax(0,1fr)}.wl-ov-insights{grid-template-columns:minmax(0,1fr);gap:16px}.wl-ov-insight{border-left:0;padding:0}}@media (width<=720px){.wl-ov-cards{grid-template-columns:minmax(0,1fr)}}.wl-render-setup{text-align:left;max-width:620px;color:var(--wl-fg-2)}.wl-render-setup p{margin:6px 0 10px}.wl-render-setup .wl-code{text-align:left}.wl-render-setup .wl-tabbar{margin:4px 0 12px}.wl-phases{flex-direction:column;gap:14px;display:flex}.wl-phases p{margin:0}.wl-rq-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.wl-rq-path{vertical-align:middle;max-width:min(420px,28vw);display:inline-block}.wl-rq-side{top:calc(var(--wl-topbar-h) + 16px);max-height:calc(100vh - var(--wl-topbar-h) - 32px);position:sticky;overflow-y:auto}.wl-rq-hint{text-align:center;place-items:center;min-height:220px;display:grid}.wl-rq-side h3.wl-section-title{text-transform:none;letter-spacing:0;color:var(--wl-fg)}.wl-rq-close{flex:none;width:32px;height:32px}.wl-rq-duration{color:var(--wl-fg);margin-left:auto;font-size:16px}.wl-rq-copy{min-width:0;max-width:100%;color:var(--wl-accent-text);align-items:center;display:inline-flex}.wl-rq-timing-head{justify-content:space-between;align-items:baseline;display:flex}.wl-rq-timing-head strong{font-variant-numeric:tabular-nums}.wl-rq-side .wl-bars{gap:6px}.wl-rq-side .wl-bar-row{grid-template-columns:minmax(96px,36%) minmax(0,1fr) auto;font-size:13px}.wl-rq-side .wl-bar-track{height:10px}.wl-rq-full{margin-top:18px}.wl-rq-headers{grid-template-columns:minmax(110px,40%) minmax(0,1fr);font-size:12.5px}.wl-rq-headers dd{word-break:break-all}.wl-rq-body{max-height:360px;font-size:12px;overflow:auto}.wl-rq-trace-meta{margin-bottom:10px}.wl-rq-spans{flex-direction:column;gap:2px;font-size:12px;display:flex}.wl-rq-span{grid-template-columns:minmax(0,44%) minmax(0,1fr) 58px;align-items:center;gap:8px;min-height:22px;display:grid}.wl-rq-span-name{font-family:var(--wl-mono)}.wl-rq-span-track{background:var(--wl-surface-2);border-radius:3px;height:8px;position:relative}.wl-rq-span-track i{border-radius:3px;min-width:2px;height:100%;position:absolute;top:0}.wl-rq-span-ms{text-align:right;color:var(--wl-muted);font-variant-numeric:tabular-nums}.wl-rq-k-http-server{background:var(--wl-k-server)}.wl-rq-k-http-client{background:var(--wl-k-client)}.wl-rq-k-db{background:var(--wl-k-db)}.wl-rq-k-internal{background:var(--wl-k-internal)}.wl-rq-k-browser{background:var(--wl-k-browser)}.wl-rq-k-messaging{background:var(--wl-k-messaging)}.wl-rq-k-render{background:var(--wl-k-render)}.wl-rq-k-error{background:var(--wl-red)}@media (width<=1400px){.wl-rq-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1200px){.wl-rq-side{max-height:none;position:static}}@media (width<=720px){.wl-rq-cards{grid-template-columns:minmax(0,1fr)}}.wl-rq-pick{font-weight:400}.wl-svc-detail .wl-side-head{width:100%;margin:0}.wl-svc-detail .wl-side-head h2{margin-right:auto}.wl-svc-endpoints td,.wl-svc-endpoints th{padding:8px 6px;font-size:13px}.wl-svc-edges{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.wl-svc-edges li{justify-content:space-between;gap:10px;display:flex}.wl-dep-map{padding:4px 2px;overflow-x:auto}.wl-dep-node{cursor:pointer}.wl-dep-node rect{fill:var(--wl-surface);stroke:var(--wl-line-strong)}.wl-dep-node:hover rect{stroke:var(--wl-accent)}.wl-dep-node.wl-selected rect{fill:var(--wl-accent-soft);stroke:var(--wl-accent)}.wl-dep-label{height:100%;color:var(--wl-fg);align-items:center;gap:8px;font-size:13.5px;display:flex}.wl-dep-label svg{color:var(--wl-fg-2);flex:none}.wl-dep-label .wl-dot{margin-left:auto}.wl-dep-edge path{stroke:var(--wl-line-strong);stroke-width:1.5px}.wl-dep-edge.wl-failing path{stroke:var(--wl-red)}.wl-dep-edge text{fill:var(--wl-muted);font-variant-numeric:tabular-nums;font-size:11px}.wl-dep-edge{cursor:pointer}.wl-dep-edge .wl-dep-hit{stroke:#0000;stroke-width:12px}.wl-dep-edge:hover path:first-of-type{stroke:var(--wl-accent)}.wl-svc-full{margin-top:14px}.wl-svc-page>.wl-panel{margin:0 0 18px}.wl-svc-head .wl-back{width:max-content;display:flex}.wl-svc-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:24px;display:flex}.wl-svc-title svg{color:var(--wl-fg-2);flex:none}.wl-svc-name{word-break:break-word;min-width:0}.wl-svc-status{letter-spacing:0;font-size:14px;font-weight:600}.wl-svc-head .wl-stats{margin-bottom:0}.wl-svc-page .wl-panel-flush .wl-table th:first-child,.wl-svc-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-svc-page .wl-panel-flush .wl-table th:last-child,.wl-svc-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-svc-page .wl-svc-ep-name{max-width:520px}.wl-svc-page .wl-svc-wide{max-width:320px}.wl-svc-page .wl-svc-mid{max-width:180px}.wl-svc-page .wl-svc-ep-name span,.wl-svc-page .wl-svc-wide span,.wl-svc-page .wl-svc-mid span{display:block}.wl-svc-logs .wl-log-cat{max-width:160px;color:var(--wl-muted);font-size:13px}.wl-svc-logs .wl-log-cat span{display:block}.wl-svc-logs .wl-log-msg{word-break:break-word;min-width:260px}.wl-svc-logs .wl-log-trace{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.wl-svc-logs .wl-badge{text-transform:capitalize}.wl-svc-page .wl-row-actions{align-items:center}.wl-svc-runtime .wl-metric-tile svg{width:100%;height:28px;display:block}.wl-metrics-page .wl-metric-runtime{gap:14px;margin-bottom:18px;display:grid}.wl-metrics-page .wl-metric-service{padding:14px 16px}.wl-metrics-page .wl-metric-service h2{margin:0 0 10px;font-size:14px}.wl-metric-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.wl-metric-tile{text-align:left;cursor:pointer;font:inherit;color:inherit;background:var(--wl-surface-2);border:1px solid var(--wl-line);border-radius:var(--wl-radius);gap:4px;padding:10px 12px;text-decoration:none;display:grid}.wl-metric-tile:hover{border-color:var(--wl-line-strong);text-decoration:none}.wl-metric-tile.wl-active{border-color:var(--wl-accent);background:var(--wl-accent-soft)}.wl-metric-tile span{color:var(--wl-muted);font-size:12px}.wl-metric-tile strong{font-variant-numeric:tabular-nums;font-size:18px}.wl-metrics-page .wl-metric-body{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.wl-metrics-page .wl-metric-list ul{margin:0 0 10px;padding:0;list-style:none}.wl-metrics-page .wl-metric-list li button{text-align:left;width:100%;font:inherit;color:inherit;border-radius:var(--wl-radius);cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.wl-metrics-page .wl-metric-list li button:hover{background:var(--wl-surface-2)}.wl-metrics-page .wl-metric-list li button.wl-active{background:var(--wl-selected)}.wl-metrics-page .wl-metric-name{min-width:0;display:grid}.wl-metrics-page .wl-metric-name strong{overflow-wrap:anywhere;font-family:var(--wl-mono);font-size:12.5px;font-weight:500;line-height:1.35}.wl-metrics-page .wl-metric-name em{text-overflow:ellipsis;white-space:nowrap;color:var(--wl-muted);font-size:11.5px;font-style:normal;overflow:hidden}.wl-metrics-page .wl-metric-last{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.wl-metrics-page .wl-metric-area{color:var(--wl-muted);letter-spacing:.04em;text-transform:uppercase;margin:12px 10px 4px;font-size:11px;font-weight:600}.wl-metrics-page .wl-metric-filters{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.wl-metrics-page .wl-metric-filters .wl-input{flex:160px}.wl-metrics-page .wl-metric-chart{top:calc(var(--wl-topbar-h) + 12px);position:sticky}.wl-metrics-page .wl-metric-title{font-family:var(--wl-mono);overflow-wrap:anywhere;margin:0;font-size:14px}.wl-metrics-page .wl-metric-desc{color:var(--wl-muted);margin:0 0 10px;font-size:13px}.wl-metrics-page .wl-metric-controls{flex-wrap:wrap;gap:8px;display:flex}.wl-metrics-page .wl-metric-chart .wl-kv{margin-top:14px}@media (width<=900px){.wl-metrics-page .wl-metric-body{grid-template-columns:minmax(0,1fr)}.wl-metrics-page .wl-metric-chart{position:static}}.wl-traces-top{grid-template-columns:minmax(300px,.85fr) minmax(0,2fr);align-items:start}@media (width<=1200px){.wl-traces-top{grid-template-columns:minmax(0,1fr)}}.wl-traces-top .wl-input{margin-bottom:8px}.wl-recent-traces .wl-table td,.wl-recent-traces .wl-table th{padding:9px 8px}.wl-timeline-title{flex-wrap:wrap;align-items:center;gap:10px;margin-right:auto;display:flex}.wl-timeline-title .wl-mono{font-weight:450}.wl-timeline-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.wl-timeline-meta .wl-view-all{margin-left:auto}.wl-layers{flex-direction:column;display:flex}.wl-layer-row{grid-template-columns:minmax(130px,22%) minmax(0,1fr);align-items:center;min-height:34px;display:grid}.wl-layer-name{min-width:0;color:var(--wl-fg-2);align-items:center;gap:10px;padding-right:10px;display:flex}.wl-layer-name svg{color:var(--wl-muted);flex:none}.wl-layer-track{border-left:1px solid var(--wl-chart-grid);background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(100% / 6 - 1px), var(--wl-chart-grid) calc(100% / 6 - 1px), var(--wl-chart-grid) calc(100% / 6));height:34px;position:relative}.wl-layer-axis{min-height:26px}.wl-layer-axis .wl-layer-track{background:0 0;border-left:0;height:26px}.wl-layer-axis span{color:var(--wl-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;position:absolute;top:4px;transform:translate(-50%)}.wl-layer-axis span:first-child{transform:none}.wl-layer-bar{border-radius:4px;height:16px;position:absolute;top:9px}.wl-layer-ms{color:var(--wl-fg-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px;position:absolute;top:8px}.wl-layer-browser{background:var(--wl-blue);opacity:.75}.wl-layer-network{background:#93c5fd}.wl-layer-routing{background:var(--wl-violet)}.wl-layer-handler{background:var(--wl-green)}.wl-layer-service{background:var(--wl-blue)}.wl-layer-database{background:var(--wl-red)}.wl-layer-external{background:var(--wl-orange)}.wl-layer-render{background:#38bdf8}.wl-banner-warning{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-uptime-certs{gap:4px;display:grid}.wl-uptime-name a{min-width:0;max-width:420px;color:inherit;gap:2px;display:grid}.wl-uptime-name a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wl-uptime-name a:hover strong{color:var(--wl-accent)}.wl-uptime-response{align-items:center;gap:8px;display:inline-flex}.wl-uptime-actions{letter-spacing:0;flex-wrap:wrap;gap:8px;margin-left:auto;font-size:14px;font-weight:500;display:inline-flex}.wl-uptime-error{margin:12px 0 0}.wl-uptime-status-note{margin:0 0 12px;font-size:13.5px}.wl-status-title{margin:0;font-size:20px}.wl-status-by{align-items:center;gap:8px;display:inline-flex}.wl-status-by .wl-brand-row{font-size:15px}.wl-status-by .wl-brand-row svg{width:20px;height:20px}.wl-status-main{max-width:920px;margin:0 auto}.wl-status-main>.wl-panel{margin-bottom:18px}.wl-status-summary{background:var(--wl-ok-soft);color:var(--wl-ok);border-radius:12px;margin-bottom:18px;padding:14px 18px;font-size:16px;font-weight:650}.wl-status-summary.wl-status-down{background:var(--wl-error-soft);color:var(--wl-error)}.wl-status-checks{gap:22px;margin:0;padding:0;list-style:none;display:grid}.wl-status-check{gap:8px;display:grid}.wl-status-check-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.wl-status-bars{gap:3px;height:34px;display:flex}.wl-status-bar{border-radius:3px;flex:1 1 0;min-width:3px}.wl-status-bar.wl-tone-neutral{background:var(--wl-line)}.wl-status-check-foot{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.wl-status-incidents{gap:10px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}@media (width<=640px){.wl-status-check-foot span:first-child,.wl-status-check-foot span:last-child{display:none}.wl-status-bars{gap:2px}}.wl-infra-page>.wl-panel,.wl-infra-page>.wl-grid,.wl-infra-page>.wl-banner{margin:0 0 18px}.wl-infra-page .wl-panel-flush .wl-table th:first-child,.wl-infra-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-infra-page .wl-panel-flush .wl-table th:last-child,.wl-infra-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-infra-page .wl-page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wl-infra-page .wl-panel-head .wl-tabbar{margin:0}.wl-usage{font-variant-numeric:tabular-nums;align-items:center;gap:8px;min-width:120px;display:inline-flex}.wl-usage-track{background:var(--wl-surface-3);border-radius:999px;flex:1;min-width:60px;max-width:110px;height:6px;position:relative;overflow:hidden}.wl-usage-track>span{background:var(--wl-blue);border-radius:999px;position:absolute;inset:0 auto 0 0}.wl-usage.wl-warn .wl-usage-track>span{background:var(--wl-orange)}.wl-usage.wl-bad .wl-usage-track>span{background:var(--wl-red)}.wl-usage.wl-bad .wl-usage-num{color:var(--wl-error);font-weight:650}.wl-usage-num{text-align:right;min-width:44px;font-size:13px}.wl-infra-chips{flex-wrap:wrap;gap:6px;display:inline-flex}.wl-infra-chip{border:1px solid var(--wl-line);background:var(--wl-surface-2);color:var(--wl-fg);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;text-decoration:none}.wl-infra-chip:hover{border-color:var(--wl-accent);text-decoration:none}.wl-infra-page .wl-stat-foot svg{vertical-align:-2px}.wl-span-k8s{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.wl-pb-page>.wl-panel{margin:0 0 18px}.wl-pb-foot{color:var(--wl-muted);font-size:13px}.wl-pb-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.wl-pb-card{border:1px solid var(--wl-line);background:var(--wl-surface);border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.wl-pb-card.wl-pb-ongoing{border-left:3px solid var(--wl-red)}.wl-pb-card-head{color:var(--wl-fg);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.wl-pb-card-head:hover .wl-pb-title{color:var(--wl-accent-text)}.wl-pb-card-head svg{color:var(--wl-muted);flex:none}.wl-pb-title{word-break:break-word;min-width:0;font-size:15px}.wl-pb-when{color:var(--wl-muted);white-space:nowrap;margin-left:auto;font-size:13px}.wl-pb-cause{color:var(--wl-fg-2);align-items:baseline;gap:8px;min-width:0;font-size:13.5px;text-decoration:none;display:flex}.wl-pb-cause svg{color:var(--wl-orange);flex:none;align-self:center}.wl-pb-cause strong{color:var(--wl-fg);flex:none}.wl-pb-cause span{word-break:break-word;min-width:0}.wl-pb-cause:hover span{text-decoration:underline}.wl-pb-nocause{color:var(--wl-muted);margin:0;font-size:13.5px}.wl-pb-also{border-top:1px solid var(--wl-line);flex-direction:column;gap:8px;margin-top:14px;padding-top:12px;display:flex}.wl-pb-also h3{color:var(--wl-muted);margin:0;font-size:13px;font-weight:600}.wl-pb-head .wl-back{width:max-content;display:flex}.wl-pb-head-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:22px;display:flex}.wl-pb-head-title span{word-break:break-word;min-width:0}.wl-pb-head .wl-pb-when{white-space:normal;margin:4px 0 0}.wl-pb-head .wl-stats{margin-bottom:0}.wl-pb-page .wl-panel-flush .wl-table th:first-child,.wl-pb-page .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-pb-page .wl-panel-flush .wl-table th:last-child,.wl-pb-page .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-pb-where{word-break:break-word;max-width:420px}@media (width<=640px){.wl-pb-card-head{flex-wrap:wrap}.wl-pb-when{white-space:normal;margin-left:0}}.wl-search-page>.wl-panel{margin-bottom:18px}.wl-search-bar{flex-direction:column;gap:12px;display:flex}.wl-search-page .wl-search-main{min-width:240px;max-width:520px}.wl-search-page .wl-search-main a{display:block}.wl-search-page .wl-search-wrap{word-break:break-word}.wl-search-page .wl-search-trace{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.wl-search-page .wl-badge{text-transform:capitalize}.wl-search-note{margin:0;padding:10px 20px 0}.wl-search-more{border-top:1px solid var(--wl-line);justify-content:center;padding:14px;display:flex}.wl-search-bar{padding-bottom:0}.wl-search-bar .wl-tabbar{border-bottom:0;margin-bottom:0;overflow:visible}.wl-saved-searches{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px;display:flex}.wl-saved-searches .wl-filter-chip{text-decoration:none}.wl-settings-note{margin:8px 0 12px}.wl-snippet{border-top:1px solid var(--wl-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px 0;display:grid}.wl-snippet>.wl-muted{grid-column:1/-1}.wl-snippet code{overflow-wrap:anywhere}.wl-settings-sources{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:18px;display:grid}.wl-settings-sources>.wl-panel+.wl-panel{margin-top:0}.wl-settings-mcp{flex-wrap:wrap;align-items:center;gap:6px 8px;display:inline-flex}.wl-snippet:first-child{border-top:0;padding-top:0}.wl-snippet:last-child{padding-bottom:0}.wl-chip.wl-chip-own{background:var(--wl-accent-soft);color:var(--wl-accent-text)}:root{--wl-bg:#f6f8fb;--wl-surface:#fff;--wl-surface-2:#f2f4f8;--wl-surface-3:#e9edf3;--wl-fg:#111827;--wl-fg-2:#374151;--wl-muted:#6b7280;--wl-line:#e6e9ef;--wl-line-strong:#d5dae2;--wl-accent:#2563eb;--wl-accent-soft:#eaf1ff;--wl-accent-text:#1d4ed8;--wl-ok:#16a34a;--wl-ok-soft:#e8f7ee;--wl-warn:#c2410c;--wl-warn-soft:#fff1e6;--wl-amber-text:#9a6700;--wl-amber-soft:#fff6dc;--wl-error:#e63946;--wl-error-soft:#fdecee;--wl-highlight:#fff6d6;--wl-selected:#eaf1ff;--wl-code-bg:#f6f8fb;--wl-shadow:0 1px 2px #1018280a, 0 1px 3px #1018280f;--wl-shadow-pop:0 12px 32px #10182824;--wl-chart-bar:#dbe6fd;--wl-chart-grid:#eef1f5;--wl-blades:#1f1f1f;--wl-lens:#2563eb;--wl-blue:#2563eb;--wl-green:#22c55e;--wl-amber:#f4b400;--wl-orange:#f97316;--wl-red:#e63946;--wl-slate:#64748b;--wl-charcoal:#1f1f1f;--wl-violet:#8b5cf6;--wl-h-info:var(--wl-blue);--wl-h-success:var(--wl-green);--wl-h-opportunity:var(--wl-amber);--wl-h-warning:var(--wl-orange);--wl-h-critical:var(--wl-red);--wl-h-neutral:var(--wl-slate);--wl-k-server:var(--wl-blue);--wl-k-internal:#7aa2f7;--wl-k-db:var(--wl-amber);--wl-k-client:var(--wl-slate);--wl-k-browser:#94a3b8;--wl-k-render:var(--wl-green);--wl-k-messaging:var(--wl-violet);--wl-s0:#2563eb;--wl-s1:#0d8f7a;--wl-s2:#d4590a;--wl-s3:#c2347a;--wl-s4:#7c3aed;--wl-s5:#8a6d00;--wl-s6:#0e7490;--wl-s7:#3c7d24;--wl-mono:ui-monospace, SFMono-Regular, "Cascadia Code", Menlo, Consolas, monospace;--wl-sans:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--wl-sidebar-w:224px;--wl-topbar-h:68px;--wl-radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--wl-bg:#0f1115;--wl-surface:#171a1f;--wl-surface-2:#1e2228;--wl-surface-3:#272c33;--wl-fg:#eceef1;--wl-fg-2:#c9ced6;--wl-muted:#98a1ad;--wl-line:#272b32;--wl-line-strong:#353a42;--wl-accent:#5b8def;--wl-accent-soft:#1c2a47;--wl-accent-text:#8fb1f5;--wl-ok:#4ade80;--wl-ok-soft:#12291b;--wl-warn:#fb923c;--wl-warn-soft:#3a2414;--wl-amber-text:#f4c542;--wl-amber-soft:#2f2710;--wl-error:#ff6b74;--wl-error-soft:#3a1b1f;--wl-highlight:#3a3415;--wl-selected:#1c2a47;--wl-code-bg:#12151a;--wl-shadow:0 1px 2px #0006;--wl-shadow-pop:0 12px 32px #00000080;--wl-chart-bar:#23324f;--wl-chart-grid:#22262d;--wl-blades:#f5f5f5;--wl-lens:#5b8def;--wl-s0:#5b8def;--wl-s1:#3fcfb4;--wl-s2:#ff9a52;--wl-s3:#ff6fb5;--wl-s4:#a78bfa;--wl-s5:#e0c040;--wl-s6:#38bdf8;--wl-s7:#7fd45f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--wl-bg:#0f1115;--wl-surface:#171a1f;--wl-surface-2:#1e2228;--wl-surface-3:#272c33;--wl-fg:#eceef1;--wl-fg-2:#c9ced6;--wl-muted:#98a1ad;--wl-line:#272b32;--wl-line-strong:#353a42;--wl-accent:#5b8def;--wl-accent-soft:#1c2a47;--wl-accent-text:#8fb1f5;--wl-ok:#4ade80;--wl-ok-soft:#12291b;--wl-warn:#fb923c;--wl-warn-soft:#3a2414;--wl-amber-text:#f4c542;--wl-amber-soft:#2f2710;--wl-error:#ff6b74;--wl-error-soft:#3a1b1f;--wl-highlight:#3a3415;--wl-selected:#1c2a47;--wl-code-bg:#12151a;--wl-shadow:0 1px 2px #0006;--wl-shadow-pop:0 12px 32px #00000080;--wl-chart-bar:#23324f;--wl-chart-grid:#22262d;--wl-blades:#f5f5f5;--wl-lens:#5b8def;--wl-s0:#5b8def;--wl-s1:#3fcfb4;--wl-s2:#ff9a52;--wl-s3:#ff6fb5;--wl-s4:#a78bfa;--wl-s5:#e0c040;--wl-s6:#38bdf8;--wl-s7:#7fd45f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--wl-bg);color:var(--wl-fg);font:14px/1.45 var(--wl-sans);-webkit-font-smoothing:antialiased}a{color:var(--wl-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit}h1{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:750;line-height:1.15}h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:680}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--wl-muted);margin:16px 0 6px;font-size:12px;font-weight:650}:focus-visible{outline:2px solid var(--wl-accent);outline-offset:2px}.wl-mono{font-family:var(--wl-mono)}.wl-muted{color:var(--wl-muted)}.wl-small{font-size:12px}.wl-num{font-variant-numeric:tabular-nums}.wl-text-error{color:var(--wl-error)}.wl-text-ok{color:var(--wl-ok)}.wl-text-warn{color:var(--wl-warn)}.wl-spacer{flex:1}.wl-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wl-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wl-brand-blades{fill:var(--wl-blades)}.wl-brand-lens{color:var(--wl-lens)}.wl-shell{grid-template-columns:var(--wl-sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.wl-sidebar{background:var(--wl-surface);border-right:1px solid var(--wl-line);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.wl-sidebar-brand{height:var(--wl-topbar-h);color:var(--wl-fg);letter-spacing:-.02em;border-bottom:1px solid var(--wl-line);align-items:center;gap:10px;padding:0 20px;font-size:22px;font-weight:750;display:flex}.wl-sidebar-brand:hover{text-decoration:none}.wl-sidebar-brand svg{width:34px;height:34px}.wl-nav{flex-direction:column;gap:4px;padding:14px 0;display:flex;overflow-y:auto}.wl-nav a{color:var(--wl-fg-2);border-radius:8px;align-items:center;gap:14px;margin:0 12px;padding:10px 14px;font-size:15px;font-weight:500;display:flex;position:relative}.wl-nav a:hover{background:var(--wl-surface-2);text-decoration:none}.wl-nav a.wl-active{background:var(--wl-accent-soft);color:var(--wl-accent-text);font-weight:600}.wl-nav a.wl-active:before{content:"";background:var(--wl-accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-12px}.wl-nav a svg{flex:none;width:20px;height:20px}.wl-nav-count{background:var(--wl-error-soft);min-width:20px;color:var(--wl-error);text-align:center;border-radius:999px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.wl-sidebar-foot{border-top:1px solid var(--wl-line);align-items:center;gap:10px;margin-top:auto;padding:18px 20px;display:flex}.wl-sidebar-foot .wl-mark{background:var(--wl-charcoal);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:17px;font-weight:800;display:grid}.wl-sidebar-foot strong{font-size:15px;display:block}.wl-sidebar-foot span{color:var(--wl-muted);font-size:12px;display:block}.wl-main{flex-direction:column;min-width:0;display:flex}.wl-topbar{z-index:20;height:var(--wl-topbar-h);background:color-mix(in srgb, var(--wl-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--wl-line);align-items:center;gap:14px;padding:0 24px;display:flex;position:sticky;top:0}.wl-search-box{border:1px solid var(--wl-line-strong);background:var(--wl-surface);width:min(520px,100%);height:40px;color:var(--wl-muted);cursor:text;text-align:left;border-radius:10px;align-items:center;gap:10px;padding:0 12px;display:flex}.wl-search-box:hover{border-color:var(--wl-muted)}.wl-search-box kbd,.wl-kbd{border:1px solid var(--wl-line-strong);font:11px var(--wl-sans);color:var(--wl-muted);background:var(--wl-surface-2);border-radius:5px;margin-left:auto;padding:1px 6px}.wl-top-btn{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-fg);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.wl-top-btn:hover{background:var(--wl-surface-2)}.wl-top-btn svg{width:17px;height:17px;color:var(--wl-muted)}.wl-icon-btn{width:40px;height:40px;color:var(--wl-fg-2);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:relative}.wl-icon-btn:hover{background:var(--wl-surface-2)}.wl-icon-btn .wl-ping{background:var(--wl-red);width:8px;height:8px;box-shadow:0 0 0 2px var(--wl-bg);border-radius:50%;position:absolute;top:8px;right:9px}.wl-env-dot{background:var(--wl-green);border-radius:50%;width:9px;height:9px}.wl-env-dot.wl-down{background:var(--wl-red)}.wl-env-dot.wl-partial{background:var(--wl-amber)}.wl-env-dot.wl-off{background:var(--wl-muted);opacity:.6}.wl-menu-static{cursor:default}.wl-menu-static:hover{background:0 0}.wl-menu-check{flex:none;margin-left:auto}.wl-chip-count{background:var(--wl-surface-2);color:var(--wl-muted);border-radius:999px;padding:0 6px;font-size:11px;font-weight:650}.wl-block{display:block}.wl-page{width:100%;padding:24px 28px 48px}.wl-page-head{margin-bottom:22px}.wl-page-head p{color:var(--wl-muted);margin:6px 0 0;font-size:15px}.wl-menu-anchor{position:relative}.wl-menu{z-index:40;background:var(--wl-surface);border:1px solid var(--wl-line);min-width:240px;max-height:70vh;box-shadow:var(--wl-shadow-pop);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.wl-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--wl-fg);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.wl-menu-item:hover,.wl-menu-item.wl-active{background:var(--wl-surface-2);text-decoration:none}.wl-menu-head{color:var(--wl-muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 10px 4px;font-size:11px;font-weight:650}.wl-menu-note{color:var(--wl-muted);padding:8px 10px;font-size:12px}.wl-range-custom{gap:8px;padding:4px 10px 10px;font-size:13px;display:grid}.wl-range-custom label{color:var(--wl-fg-2);gap:4px;display:grid}.wl-range-custom input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:34px;color:var(--wl-fg);font:inherit;border-radius:8px;padding:0 8px}.wl-range-custom .wl-btn{height:34px}.wl-palette-backdrop{z-index:60;background:#0f111559;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.wl-palette{background:var(--wl-surface);border:1px solid var(--wl-line);width:min(640px,100vw - 32px);box-shadow:var(--wl-shadow-pop);border-radius:14px;overflow:hidden}.wl-palette input{border:0;border-bottom:1px solid var(--wl-line);width:100%;height:52px;color:var(--wl-fg);font:16px var(--wl-sans);background:0 0;outline:none;padding:0 18px}.wl-palette-list{max-height:50vh;padding:6px;overflow-y:auto}.wl-palette-item{cursor:pointer;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.wl-palette-item.wl-active{background:var(--wl-accent-soft)}.wl-palette-item svg{width:17px;height:17px;color:var(--wl-muted)}.wl-palette-empty{text-align:center;color:var(--wl-muted);padding:24px}@media (width<=1100px){.wl-shell{grid-template-columns:72px minmax(0,1fr)}.wl-sidebar-brand span,.wl-nav a span,.wl-sidebar-foot div,.wl-nav-count{display:none}.wl-sidebar-brand,.wl-sidebar-foot{justify-content:center;padding:0}.wl-sidebar-foot{padding:14px 0}.wl-nav a{justify-content:center;margin:0 10px;padding:10px}}@media (width<=720px){.wl-shell{grid-template-columns:minmax(0,1fr)}.wl-sidebar{z-index:30;border-right:0;border-top:1px solid var(--wl-line);flex-direction:row;height:58px;position:fixed;inset:auto 0 0}.wl-sidebar-brand,.wl-sidebar-foot{display:none}.wl-nav{flex-direction:row;align-items:center;padding:0 6px;overflow-x:auto}.wl-nav a{margin:0}.wl-nav a.wl-active:before{display:none}.wl-topbar{gap:8px;padding:0 16px}.wl-top-btn .wl-label{display:none}.wl-page{padding:18px 16px 90px}h1{font-size:24px}}.wl-mode-badge{background:var(--wl-surface-2);color:var(--wl-muted);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12.5px}@media (width<=1100px){.wl-mode-badge{display:none}}.wl-scope-chip{border:1px solid var(--wl-accent);background:var(--wl-accent-soft);max-width:200px;height:32px;color:var(--wl-accent-text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:13px;font-weight:600;display:inline-flex}.wl-scope-chip:hover{background:var(--wl-surface-2)}.wl-search-box{flex:auto;min-width:44px}.wl-search-box kbd{white-space:nowrap}@media (width>=1101px){.wl-search-box{min-width:260px}}@media (width<=1320px){.wl-search-box kbd{display:none}}@media (width<=1100px){.wl-top-btn .wl-label,.wl-search-box kbd{display:none}}@media (width<=720px){.wl-search-box{flex:0 0 40px;justify-content:center;padding:0}.wl-search-box span{display:none}.wl-top-btn{gap:4px;padding:0 10px}}.wl-nav-saved{border-top:1px solid var(--wl-line);flex:0 auto;padding-top:0}.wl-nav-saved a{padding:7px 14px;font-size:14px}.wl-nav-head{color:var(--wl-muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 26px 4px;font-size:12px;font-weight:600}@media (width<=720px){.wl-nav-saved{display:none}}.wl-grid{gap:18px;margin-bottom:18px;display:grid}.wl-grid-stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.wl-grid-2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.wl-grid-2-even{grid-template-columns:repeat(2,minmax(0,1fr))}.wl-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.wl-grid-side{grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:start}@media (width<=1200px){.wl-grid-2,.wl-grid-2-even,.wl-grid-3,.wl-grid-side{grid-template-columns:minmax(0,1fr)}}.wl-panel{background:var(--wl-surface);border:1px solid var(--wl-line);border-radius:var(--wl-radius);min-width:0;box-shadow:var(--wl-shadow);padding:18px 20px}.wl-panel-flush{padding:0;overflow:hidden}.wl-panel+.wl-panel{margin-top:18px}.wl-grid>.wl-panel+.wl-panel{margin-top:0}.wl-panel-head{align-items:center;gap:12px;min-height:32px;margin-bottom:14px;display:flex}.wl-panel-head h2{margin-right:auto}.wl-panel-flush .wl-panel-head{padding:16px 20px 0}.wl-view-all{white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:550;display:inline-flex}.wl-view-all svg{width:16px;height:16px}.wl-stat{grid-template-columns:44px minmax(0,1fr);gap:6px 12px;padding:18px 20px;display:grid}.wl-stat-icon{width:34px;height:34px;color:var(--wl-accent)}a.wl-stat-link{color:inherit;text-decoration:none}a.wl-stat-link:hover{border-color:var(--wl-line-strong);box-shadow:var(--wl-shadow-pop)}.wl-stat-icon.wl-danger{color:var(--wl-red)}.wl-stat-label{color:var(--wl-fg-2);font-size:14px}.wl-stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:720;line-height:1.2}.wl-stat-foot{grid-column:2;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.wl-stat-spark{grid-column:1/-1;height:28px;margin:2px -4px -6px}.wl-stat-spark svg{width:100%;height:28px;display:block}.wl-delta span{white-space:nowrap}.wl-delta{flex-direction:column;font-size:13px;display:flex}.wl-delta b{align-items:center;gap:3px;font-weight:650;display:inline-flex}.wl-delta b svg{width:14px;height:14px}.wl-delta .wl-good{color:var(--wl-ok)}.wl-delta .wl-bad{color:var(--wl-error)}.wl-delta .wl-flat,.wl-delta span{color:var(--wl-muted)}.wl-spark{flex:none}.wl-chart{width:100%;position:relative}.wl-chart-zoom{cursor:crosshair;-webkit-user-select:none;user-select:none}.wl-chart-band{fill:var(--wl-accent);opacity:.12}.wl-chart-legend i.wl-legend-dashed{background:0 0;border-top:2px dashed;height:0}.wl-chart svg{display:block;overflow:visible}.wl-chart-axis{fill:var(--wl-muted);font-variant-numeric:tabular-nums;font-size:12px}.wl-chart-grid{stroke:var(--wl-chart-grid)}.wl-chart-legend{color:var(--wl-fg-2);justify-content:center;gap:22px;margin-top:10px;font-size:13px;display:flex}.wl-chart-legend span{align-items:center;gap:7px;display:inline-flex}.wl-chart-legend i{border-radius:3px;width:11px;height:11px}.wl-chart-tip{z-index:5;pointer-events:none;background:var(--wl-surface);border:1px solid var(--wl-line);min-width:140px;box-shadow:var(--wl-shadow-pop);border-radius:8px;padding:8px 10px;font-size:12px;position:absolute}.wl-chart-tip div{justify-content:space-between;gap:12px;display:flex}.wl-chart-tip strong{margin-bottom:4px;display:block}.wl-chart-empty{color:var(--wl-muted);place-items:center;font-size:13px;display:grid}.wl-bars{flex-direction:column;gap:14px;display:flex}.wl-bar-row{grid-template-columns:minmax(90px,30%) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:14px;display:grid}.wl-bar-row.wl-clickable{cursor:pointer;border-radius:6px}.wl-bar-row.wl-clickable:hover .wl-truncate{color:var(--wl-accent-text);text-decoration:underline}.wl-bar-row.wl-compact{grid-template-columns:minmax(80px,34%) 44px minmax(0,1fr);gap:10px}.wl-bar-track{background:var(--wl-surface-2);border-radius:4px;height:16px;overflow:hidden}.wl-bar-track i{background:var(--wl-accent);border-radius:4px;height:100%;display:block}.wl-bar-row .wl-value{text-align:right;font-variant-numeric:tabular-nums;min-width:64px;color:var(--wl-fg-2)}.wl-table-wrap{overflow-x:auto}.wl-table{border-collapse:collapse;width:100%;font-size:14px}.wl-table th{border-bottom:1px solid var(--wl-line);color:var(--wl-fg-2);text-align:left;white-space:nowrap;padding:10px 12px;font-weight:550}.wl-table th button{cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:550;display:inline-flex}.wl-table th button svg{width:14px;height:14px}.wl-table td{border-bottom:1px solid var(--wl-line);vertical-align:middle;padding:11px 12px}.wl-table tr:last-child td{border-bottom:0}.wl-table tbody tr.wl-clickable{cursor:pointer}.wl-table tbody tr.wl-clickable:hover td{background:var(--wl-surface-2)}.wl-table tbody tr.wl-selected td{background:var(--wl-selected)}.wl-table tbody tr.wl-row-detail td{background:var(--wl-surface-2);padding-top:4px;padding-bottom:14px}.wl-table .wl-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.wl-table .wl-wrap{word-break:break-word}.wl-table .wl-nowrap{white-space:nowrap}.wl-cell-icon{align-items:center;gap:10px;display:inline-flex}.wl-cell-icon svg{width:18px;height:18px;color:var(--wl-fg-2)}.wl-user-id{font-size:12px}.wl-badge{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:1px 9px;font-size:12.5px;font-weight:600;line-height:20px;display:inline-flex}.wl-badge-high,.wl-badge-danger{background:var(--wl-error-soft);color:var(--wl-error)}.wl-badge-medium,.wl-badge-warning{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-badge-low,.wl-badge-info{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-badge-success{background:var(--wl-ok-soft);color:var(--wl-ok)}.wl-badge-neutral{background:var(--wl-surface-2);color:var(--wl-muted)}.wl-count{background:var(--wl-accent-soft);min-width:26px;height:24px;color:var(--wl-accent-text);border-radius:6px;place-items:center;padding:0 7px;font-size:13px;font-weight:650;display:inline-grid}.wl-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.wl-dot-text{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.wl-tone-success{background:var(--wl-green)}.wl-tone-warning{background:var(--wl-amber)}.wl-tone-orange{background:var(--wl-orange)}.wl-tone-danger{background:var(--wl-red)}.wl-tone-info{background:var(--wl-blue)}.wl-tone-neutral{background:var(--wl-slate)}.wl-text-tone-danger{color:var(--wl-error)}.wl-text-tone-success{color:var(--wl-ok)}.wl-text-tone-warning{color:var(--wl-amber-text)}.wl-chip{background:var(--wl-surface-2);color:var(--wl-fg-2);border-radius:999px;align-items:center;padding:3px 11px;font-size:13px;display:inline-flex}.wl-chip-blue{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-chip-green{background:var(--wl-ok-soft);color:var(--wl-ok)}.wl-chip-red{background:var(--wl-error-soft);color:var(--wl-error)}.wl-chips{flex-wrap:wrap;gap:8px;display:flex}.wl-path-chip{border:1px solid var(--wl-line);font:12.5px var(--wl-mono);background:var(--wl-surface-2);white-space:nowrap;border-radius:6px;padding:2px 8px}.wl-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:flex}.wl-filter-chips{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.wl-filter-chip{border:1px solid var(--wl-line-strong);background:var(--wl-surface-2);max-width:420px;color:var(--wl-fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:13px;display:inline-flex}.wl-filter-chip:hover{border-color:var(--wl-accent)}.wl-select{border:1px solid var(--wl-line-strong);background-color:var(--wl-surface);background-image:linear-gradient(45deg, transparent 50%, var(--wl-muted) 50%), linear-gradient(135deg, var(--wl-muted) 50%, transparent 50%);height:40px;color:var(--wl-fg);font:inherit;appearance:none;cursor:pointer;background-position:right 17px center,right 12px center;background-repeat:no-repeat;background-size:5px 5px;border-radius:9px;min-width:140px;padding:0 34px 0 12px}.wl-select.wl-small{min-width:0;height:32px;font-size:13px}.wl-input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-muted);border-radius:9px;flex:1;align-items:center;gap:8px;min-width:200px;padding:0 12px;display:flex}.wl-input input{min-width:0;color:var(--wl-fg);font:inherit;background:0 0;border:0;outline:none;flex:1}.wl-input svg{width:17px;height:17px}.wl-btn{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-fg);font:inherit;cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:550;display:inline-flex}.wl-btn:hover{background:var(--wl-surface-2);text-decoration:none}.wl-btn:disabled{opacity:.55;cursor:default}.wl-btn svg{width:17px;height:17px}.wl-btn-primary-outline{border-color:var(--wl-accent);width:100%;color:var(--wl-accent)}.wl-btn-primary-outline:hover{background:var(--wl-accent-soft)}.wl-panel-more{border-top:1px solid var(--wl-line);justify-content:center;padding:14px;display:flex}.wl-pager{border-top:1px solid var(--wl-line);color:var(--wl-fg-2);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;font-size:14px;display:flex}.wl-pager .wl-pages{align-items:center;gap:6px;margin-left:auto;display:flex}.wl-pager button{border:1px solid var(--wl-line);background:var(--wl-surface);cursor:pointer;border-radius:8px;min-width:34px;height:34px;padding:0 8px}.wl-pager button.wl-active{border-color:var(--wl-accent);background:var(--wl-accent-soft);color:var(--wl-accent-text);font-weight:650}.wl-pager button:disabled{opacity:.5;cursor:default}.wl-tabbar{box-shadow:inset 0 -1px var(--wl-line);scrollbar-width:thin;gap:2px;margin-bottom:14px;display:flex;overflow:auto hidden}.wl-tabbar button{color:var(--wl-fg-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 10px;font-weight:500}.wl-tabbar button.wl-active{color:var(--wl-accent-text);border-bottom-color:var(--wl-accent);font-weight:600}.wl-tabbar button:hover{color:var(--wl-fg)}.wl-side-head{align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.wl-side-head h2{word-break:break-word;margin-right:auto}.wl-side-meta{color:var(--wl-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;font-size:13px;display:flex}.wl-kv{grid-template-columns:minmax(96px,38%) minmax(0,1fr);gap:7px 14px;margin:0;font-size:13.5px;display:grid}.wl-kv dt{color:var(--wl-fg-2)}.wl-kv dd{word-break:break-word;min-width:0;margin:0}.wl-section-title{margin:18px 0 10px;font-size:15px;font-weight:680}.wl-copy-btn{color:var(--wl-muted);cursor:pointer;vertical-align:-2px;background:0 0;border:0;padding:0 6px 0 0;display:inline-flex}.wl-copy-btn svg{width:15px;height:15px}.wl-empty{color:var(--wl-muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:36px 16px;display:flex}.wl-empty strong{color:var(--wl-fg)}.wl-empty-body{max-width:72ch;line-height:1.6}.wl-banner{border-radius:10px;margin-bottom:16px;padding:10px 14px}.wl-banner-error{background:var(--wl-error-soft);color:var(--wl-error)}.wl-banner-info{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-link-btn{color:var(--wl-accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.wl-link-btn:hover{text-decoration:underline}.wl-link-btn.wl-text-error{color:var(--wl-error)}.wl-update-later{color:var(--wl-accent-text);opacity:.8;margin-left:14px}@media (width<=640px){.wl-hide-sm{display:none}}.wl-live{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:36px;color:var(--wl-fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}.wl-live-dot{background:var(--wl-ok);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--wl-ok) 60%, transparent);border-radius:50%;animation:1.6s ease-out infinite wl-live-pulse}.wl-live.wl-paused .wl-live-dot{background:var(--wl-muted);animation:none}@keyframes wl-live-pulse{to{box-shadow:0 0 0 7px #0000}}@media (prefers-reduced-motion:reduce){.wl-live-dot{animation:none}}.wl-dpage>.wl-panel{margin:0 0 18px}.wl-dpage .wl-panel-flush .wl-table th:first-child,.wl-dpage .wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-dpage .wl-panel-flush .wl-table th:last-child,.wl-dpage .wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-dpage .wl-row-actions{align-items:center}.wl-dhead .wl-back{width:max-content;display:flex}.wl-dhead-title{flex-wrap:wrap;align-items:center;gap:10px;font-size:22px;display:flex}.wl-dhead-title>svg{color:var(--wl-fg-2);flex:none}.wl-dhead-name{word-break:break-word;min-width:0}.wl-dhead-name.wl-mono{font-size:17px}.wl-dhead-badge{letter-spacing:0;font-size:14px;font-weight:600}.wl-dhead-actions{letter-spacing:0;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:500;display:inline-flex}.wl-dhead .wl-stats{margin-bottom:0}.wl-dpage .wl-cell-wide{max-width:420px}.wl-dpage .wl-cell-wide span{display:block}.wl-issue-actions{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:6px 0 12px;display:flex}.wl-issue-actions .wl-btn{height:32px;padding:0 12px;font-size:13px}.wl-dhead-actions .wl-issue-actions{margin:0;font-size:13px;font-weight:400}.wl-alert-problem{width:max-content;max-width:100%;margin-top:4px;font-size:13px;display:block}.wl-release-line{stroke:var(--wl-accent);stroke-width:1.25px;stroke-dasharray:3 3;opacity:.8}.wl-release-label{fill:var(--wl-accent-text);font-size:10px;font-weight:600}.wl-chart-tip .wl-chart-tip-release{color:var(--wl-accent-text)}.wl-btn.wl-btn-sm{letter-spacing:0;height:32px;padding:0 12px;font-size:13px;font-weight:550}.wl-btn.wl-btn-sm svg{width:16px;height:16px}.wl-svc-title .wl-dhead-actions{font-size:13px}.wl-save-view{gap:10px;width:320px;padding:12px;display:grid}.wl-share-url{align-items:center;gap:8px;min-width:0;display:flex}.wl-share-url code{flex:1;min-width:0;font-size:12px}.wl-table tr.wl-row-error td:first-child{box-shadow:inset 3px 0 0 var(--wl-error)}.wl-table tr.wl-highlight td{background:var(--wl-highlight)}.wl-req-method,.wl-req-code{margin-right:6px;font-weight:600}.wl-req-method{color:var(--wl-fg)}.wl-code-ok{color:var(--wl-ok)}.wl-code-warn{color:var(--wl-warn)}.wl-code-err{color:var(--wl-error)}.wl-svc{border-color:#0000}.wl-svc-0{color:var(--wl-s0);background:color-mix(in srgb, var(--wl-s0) 14%, transparent)}.wl-svc-1{color:var(--wl-s1);background:color-mix(in srgb, var(--wl-s1) 14%, transparent)}.wl-svc-2{color:var(--wl-s2);background:color-mix(in srgb, var(--wl-s2) 14%, transparent)}.wl-svc-3{color:var(--wl-s3);background:color-mix(in srgb, var(--wl-s3) 14%, transparent)}.wl-svc-4{color:var(--wl-s4);background:color-mix(in srgb, var(--wl-s4) 14%, transparent)}.wl-svc-5{color:var(--wl-s5);background:color-mix(in srgb, var(--wl-s5) 14%, transparent)}.wl-svc-6{color:var(--wl-s6);background:color-mix(in srgb, var(--wl-s6) 14%, transparent)}.wl-svc-7{color:var(--wl-s7);background:color-mix(in srgb, var(--wl-s7) 14%, transparent)}.wl-svc-bg-0{background:var(--wl-s0)}.wl-svc-bg-1{background:var(--wl-s1)}.wl-svc-bg-2{background:var(--wl-s2)}.wl-svc-bg-3{background:var(--wl-s3)}.wl-svc-bg-4{background:var(--wl-s4)}.wl-svc-bg-5{background:var(--wl-s5)}.wl-svc-bg-6{background:var(--wl-s6)}.wl-svc-bg-7{background:var(--wl-s7)}.wl-svc-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-left:auto}.wl-svc-dot.wl-svc-0{background:var(--wl-s0)}.wl-svc-dot.wl-svc-1{background:var(--wl-s1)}.wl-svc-dot.wl-svc-2{background:var(--wl-s2)}.wl-svc-dot.wl-svc-3{background:var(--wl-s3)}.wl-svc-dot.wl-svc-4{background:var(--wl-s4)}.wl-svc-dot.wl-svc-5{background:var(--wl-s5)}.wl-svc-dot.wl-svc-6{background:var(--wl-s6)}.wl-svc-dot.wl-svc-7{background:var(--wl-s7)}.wl-fbadge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:4px;margin-left:4px;padding:0 6px;font-size:10px;font-weight:700;line-height:17px;display:inline-block}.wl-fbadge-error{background:var(--wl-error-soft);color:var(--wl-error)}.wl-fbadge-np1-db,.wl-fbadge-np1-http,.wl-fbadge-duplicate-query,.wl-fbadge-slow-query,.wl-fbadge-db-wait{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-cat{text-align:center;letter-spacing:.04em;background:var(--wl-surface-2);width:32px;color:var(--wl-muted);border-radius:4px;flex:none;padding:0 2px;font-size:9.5px;font-weight:700;line-height:16px;display:inline-block}.wl-cat-db{color:var(--wl-amber-text);background:color-mix(in srgb, var(--wl-k-db) 22%, transparent)}.wl-cat-http-client{color:var(--wl-fg-2);background:color-mix(in srgb, var(--wl-k-client) 16%, transparent)}.wl-cat-http-server{color:var(--wl-accent-text);background:color-mix(in srgb, var(--wl-k-server) 14%, transparent)}.wl-cat-browser{color:var(--wl-fg-2);background:color-mix(in srgb, var(--wl-k-browser) 22%, transparent)}.wl-cat-messaging{color:var(--wl-violet);background:color-mix(in srgb, var(--wl-k-messaging) 16%, transparent);width:auto;padding:0 6px}.wl-status-dot{vertical-align:1px;border-radius:50%;flex:none;width:8px;height:8px;margin-right:8px;display:inline-block}.wl-status-dot.wl-error{background:var(--wl-error)}.wl-h-dot{vertical-align:0;border-radius:50%;flex:none;width:9px;height:9px;margin-right:8px;display:inline-block}.wl-h-info{background:var(--wl-h-info)}.wl-h-success{background:var(--wl-h-success)}.wl-h-opportunity{background:var(--wl-h-opportunity)}.wl-h-warning{background:var(--wl-h-warning)}.wl-h-critical{background:var(--wl-h-critical)}.wl-h-neutral{background:var(--wl-h-neutral)}.wl-pill{color:#fff;text-align:center;min-width:40px;font-size:12px;font-weight:650;font-family:var(--wl-sans);border-radius:6px;padding:1px 8px;display:inline-block}.wl-pill-ok{background:#16a34a}.wl-pill-warn{background:#ea580c}.wl-pill-err{background:var(--wl-red)}.wl-pill-none{background:var(--wl-slate)}.wl-detail>*+*{margin-top:16px}.wl-detail .wl-insights{margin-bottom:0}.wl-back{align-items:center;gap:4px;margin-bottom:8px;font-size:13px;display:inline-flex}.wl-trace-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.wl-trace-title h1{font-size:18px;font-family:var(--wl-mono);word-break:break-all;flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wl-small-chip{margin-left:8px}.wl-stats{flex-wrap:wrap;gap:8px 28px;margin:12px 0 8px;display:flex}.wl-stats div{flex-direction:column;gap:2px;display:flex}.wl-stats dt{color:var(--wl-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.wl-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:650}.wl-stats dd.wl-chips{font-size:11px}.wl-split-bar{background:var(--wl-surface-2);border-radius:5px;height:10px;margin:14px 0 0;display:flex;overflow:hidden}.wl-split-bar i{height:100%;display:block}.wl-c-server{background:var(--wl-k-server)}.wl-c-db{background:var(--wl-k-db)}.wl-c-render{background:var(--wl-k-render)}.wl-c-other{background:var(--wl-slate);opacity:.5}.wl-c-error{background:var(--wl-red)}.wl-legend{color:var(--wl-muted);flex-wrap:wrap;gap:6px 20px;margin:10px 0 4px;font-size:12px;display:flex}.wl-legend span{align-items:center;gap:6px;display:flex}.wl-legend b{color:var(--wl-fg);font-weight:650}.wl-legend i{border-radius:50%;width:9px;height:9px}.wl-insights{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.wl-insights-clean{background:var(--wl-surface);border:1px solid var(--wl-line);color:var(--wl-muted);border-radius:10px;flex-direction:row;align-items:center;gap:8px;padding:10px 14px}.wl-insight-ok{color:var(--wl-ok);font-weight:700}.wl-insight{text-align:left;border:1px solid var(--wl-line);background:var(--wl-surface);color:var(--wl-fg);font:inherit;cursor:pointer;border-radius:8px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.wl-insight:hover{border-color:var(--wl-line-strong);background:var(--wl-surface-2)}.wl-insight-info,.wl-insight-warning{border-left:3px solid var(--wl-amber)}.wl-insight-error{border-left:3px solid var(--wl-error)}.wl-insight .wl-fbadge{margin-left:0}.wl-insight-title{white-space:nowrap;font-weight:600}.wl-insight-shape{font-family:var(--wl-mono);color:var(--wl-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.wl-insight-ms{font-variant-numeric:tabular-nums;color:var(--wl-muted)}.wl-tabs{border-bottom:1px solid var(--wl-line);background:var(--wl-surface);gap:2px;padding:0 10px;display:flex;overflow-x:auto}.wl-tab{color:var(--wl-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 12px;font-weight:600;display:inline-flex}.wl-tab:hover{color:var(--wl-fg)}.wl-tab.wl-active{color:var(--wl-fg);border-bottom-color:var(--wl-blue)}.wl-tab-count{background:var(--wl-surface-2);color:var(--wl-muted);border-radius:999px;padding:0 6px;font-size:11px;font-weight:600}.wl-tab-error .wl-tab-count{background:var(--wl-error-soft);color:var(--wl-error)}.wl-tab-body{padding:0}.wl-split{grid-template-columns:1fr;min-height:200px;display:grid}.wl-split.wl-with-panel{grid-template-columns:minmax(0,1fr) minmax(320px,400px)}.wl-split-main{min-width:0;padding:10px 12px 14px}.wl-tab-summary{color:var(--wl-muted);gap:18px;padding:4px 4px 10px;display:flex}.wl-tab-summary strong{color:var(--wl-fg)}.wl-waterfall{flex-direction:column;font-size:12px;display:flex}.wl-wf-row{cursor:pointer;border-radius:5px;grid-template-columns:minmax(220px,38%) 1fr;align-items:center;min-height:26px;display:grid}.wl-wf-row:hover{background:var(--wl-surface-2)}.wl-wf-row.wl-selected{background:var(--wl-selected)}.wl-wf-row.wl-highlight{background:var(--wl-highlight)}.wl-wf-row.wl-error .wl-wf-name{color:var(--wl-error)}.wl-wf-axis{cursor:default;border-bottom:1px solid var(--wl-line);border-radius:0;min-height:22px;margin-bottom:4px}.wl-wf-axis:hover{background:0 0}.wl-wf-label{align-items:center;gap:6px;min-width:0;padding-right:10px;display:flex}.wl-wf-caret,.wl-wf-caret-space{flex:none;width:14px}.wl-wf-caret{color:var(--wl-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.wl-wf-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--wl-mono);min-width:0;overflow:hidden}.wl-wf-track{height:26px;position:relative}.wl-wf-axis .wl-wf-track{height:22px}.wl-wf-tick{color:var(--wl-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;position:absolute;top:4px;transform:translate(-50%)}.wl-wf-tick:first-child{transform:none}.wl-wf-tick:last-child{transform:translate(-100%)}.wl-wf-grid{background:var(--wl-line);width:1px;position:absolute;top:0;bottom:0}.wl-wf-bar{opacity:.9;border-radius:3px;min-width:2px;height:10px;position:absolute;top:8px}.wl-wf-row.wl-selected .wl-wf-bar,.wl-wf-row:hover .wl-wf-bar{opacity:1}.wl-wf-row.wl-error .wl-wf-bar{background:var(--wl-error)}.wl-k-http-server{background:var(--wl-k-server)}.wl-k-internal{background:var(--wl-k-internal)}.wl-k-db{background:var(--wl-k-db)}.wl-k-messaging{background:var(--wl-k-messaging)}.wl-k-http-client{background:var(--wl-k-client)}.wl-k-browser{background:var(--wl-k-browser)}.wl-k-render{background:var(--wl-k-render)}.wl-wf-dur{color:var(--wl-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10.5px;position:absolute;top:5px}.wl-span-panel{border-left:1px solid var(--wl-line);background:var(--wl-surface);overflow-wrap:anywhere;min-width:0;max-height:78vh;padding:12px 14px 18px;position:sticky;top:52px;overflow-y:auto}.wl-sp-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.wl-sp-head h2{font-family:var(--wl-mono);word-break:break-all}.wl-sp-facts{grid-template-columns:90px 1fr;gap:4px 10px;margin:12px 0 0;display:grid}.wl-sp-facts dt{color:var(--wl-muted)}.wl-sp-facts dd{margin:0}.wl-code{background:var(--wl-code-bg);border:1px solid var(--wl-line);font:12px/1.5 var(--wl-mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px 10px}.wl-stack{max-height:260px;margin-top:6px;font-size:11px;overflow:auto}.wl-sp-event{border:1px solid var(--wl-line);border-radius:6px;margin-bottom:6px;padding:8px}.wl-sp-exception{border-color:color-mix(in srgb, var(--wl-error) 40%, transparent);background:var(--wl-error-soft)}.wl-sp-event-head{justify-content:space-between;margin-bottom:4px;display:flex}.wl-sp-logs{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.wl-attrs{border-collapse:collapse;width:100%;font-size:12px}.wl-attrs th{text-align:left;color:var(--wl-muted);font-weight:500;font-family:var(--wl-mono);vertical-align:top;word-break:break-all;width:45%;padding:3px 8px 3px 0}.wl-attrs td{font-family:var(--wl-mono);word-break:break-all;padding:3px 0}.wl-attrs td.wl-redacted{color:var(--wl-warn)}.wl-sql-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wl-sql-item{border:1px solid var(--wl-line);cursor:pointer;border-radius:8px;padding:8px 10px}.wl-sql-item:hover{border-color:var(--wl-line-strong)}.wl-sql-item.wl-selected{border-color:var(--wl-accent);background:var(--wl-selected)}.wl-sql-item.wl-highlight{background:var(--wl-highlight)}.wl-sql-item.wl-row-error{border-left:3px solid var(--wl-error)}.wl-sql-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.wl-sql-meta .wl-fbadge{margin-left:0}.wl-sql{font-size:12px}.wl-sql-params{color:var(--wl-muted);word-break:break-all;margin-top:6px}.wl-lvl{text-align:center;text-transform:uppercase;background:var(--wl-surface-2);min-width:44px;color:var(--wl-muted);border-radius:4px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;display:inline-block}.wl-lvl-info{color:var(--wl-s4);background:color-mix(in srgb, var(--wl-s4) 14%, transparent)}.wl-lvl-warn{color:var(--wl-warn);background:var(--wl-warn-soft)}.wl-lvl-error,.wl-lvl-critical{color:var(--wl-error);background:var(--wl-error-soft)}.wl-error-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.wl-error-item{border:1px solid color-mix(in srgb, var(--wl-error) 35%, var(--wl-line));border-left:3px solid var(--wl-error);cursor:pointer;border-radius:8px;padding:10px 12px}.wl-error-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wl-error-msg{color:var(--wl-error);margin:6px 0;font-weight:600}@media (width<=900px){.wl-split.wl-with-panel{grid-template-columns:1fr}.wl-span-panel{border-left:0;border-top:1px solid var(--wl-line);max-height:none;position:static}.wl-wf-row{grid-template-columns:minmax(150px,45%) 1fr}.wl-insight{grid-template-columns:auto 1fr auto}.wl-insight-shape{grid-column:1/-1}}.wl-wf-bar-tools{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px;display:flex}.wl-wf-bar-tools .wl-input{flex:260px;max-width:420px}.wl-wf-self{color:var(--wl-muted);font-weight:400}.wl-sp-links{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.wl-compare{display:inline-flex;position:relative}.wl-compare-menu{width:300px}.wl-compare-input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);width:100%;height:34px;color:var(--wl-fg);font:13px var(--wl-mono);border-radius:8px;margin-bottom:4px;padding:0 10px}.wl-auth{background:var(--wl-bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.wl-auth-card{border:1px solid var(--wl-line);background:var(--wl-surface);border-radius:16px;gap:14px;width:min(400px,100%);padding:28px;display:grid;box-shadow:0 12px 40px #00000014}.wl-auth-card h1{margin:4px 0 0;font-size:22px}.wl-auth-card p{margin:0}.wl-auth-field,.wl-field{min-width:0;color:var(--wl-fg-2);gap:6px;font-size:13px;font-weight:600;display:grid}.wl-auth-field input,.wl-field input{border:1px solid var(--wl-line-strong);background:var(--wl-surface);height:40px;color:var(--wl-fg);font:inherit;border-radius:9px;padding:0 12px;font-weight:400}.wl-auth-field input:focus,.wl-field input:focus{outline:2px solid var(--wl-accent);outline-offset:1px}.wl-field small{font-weight:400}.wl-field textarea{border:1px solid var(--wl-line-strong);background:var(--wl-surface);min-height:96px;color:var(--wl-fg);font:400 12px/1.5 var(--wl-mono);resize:vertical;border-radius:9px;padding:10px 12px}.wl-field textarea:focus{outline:2px solid var(--wl-accent);outline-offset:1px}.wl-auth-foot{text-align:center;color:var(--wl-muted);font-size:13px}.wl-btn-primary{background:var(--wl-accent);border-color:var(--wl-accent);color:#fff;justify-content:center}.wl-btn-primary:hover{filter:brightness(1.08);background:var(--wl-accent)}.wl-btn-primary:disabled{opacity:.6;cursor:default}.wl-form{gap:12px;margin-bottom:14px;display:grid}.wl-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.wl-form-row>.wl-field{flex:200px}.wl-row-actions{white-space:nowrap;gap:12px;display:inline-flex}.wl-share{gap:10px;width:min(420px,86vw);padding:4px 6px 8px;display:grid}.wl-share p{margin:0 4px}.wl-share-row{align-items:center;gap:10px;padding:0 4px;display:flex}.wl-share-link{background:var(--wl-surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px;display:flex}.wl-share-link code{overflow-wrap:anywhere}.wl-share-link>span{flex-basis:100%}.wl-trace-actions{align-items:center;gap:8px;display:inline-flex}.wl-shared{background:var(--wl-bg);min-height:100vh}.wl-shared-head{border-bottom:1px solid var(--wl-line);background:var(--wl-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}@media (width<=640px){.wl-shared-head{padding:12px 16px}.wl-auth-card{padding:22px 18px}}.wl-brand-row{color:var(--wl-fg);letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:750;display:inline-flex}.wl-brand-row svg{width:30px;height:30px}.wl-consent-list{color:var(--wl-fg-2);gap:6px;margin:0;padding-left:18px;font-size:13px;display:grid}.wl-consent-scope{border:1px solid var(--wl-line);border-radius:10px;gap:10px;margin:0;padding:12px 14px;display:grid}.wl-consent-scope legend{color:var(--wl-fg-2);padding:0 4px;font-size:13px;font-weight:600}.wl-consent-projects{gap:8px;max-height:220px;padding-left:24px;display:grid;overflow-y:auto}.wl-auth-field .wl-select{width:100%}.wl-auth-check,.wl-check{color:var(--wl-fg-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.wl-auth-check input,.wl-check input{width:16px;height:16px;accent-color:var(--wl-accent);margin:0}.wl-form-row>.wl-check{min-height:40px}.wl-auth-links{flex-wrap:wrap;justify-content:center;gap:6px 16px;display:inline-flex}.wl-auth-card>.wl-btn{width:100%}.wl-auth-card>.wl-link-btn{justify-self:center;font-size:13px}.wl-banner-thin{border-radius:0;margin:0;padding:8px 24px;font-size:13px}.wl-account-line{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0;display:flex}.wl-panel-title-row{align-items:center;gap:10px;display:inline-flex}.wl-check-list{border:1px solid var(--wl-line);border-radius:10px;gap:8px;margin:0;padding:12px;display:grid}.wl-check-list legend{color:var(--wl-fg-2);padding:0 6px;font-size:13px;font-weight:600}.wl-plain-list{margin:0 0 8px;padding-left:20px}.wl-notify-box{width:16px;height:16px;accent-color:var(--wl-accent);cursor:pointer;margin:0}.wl-notify-when{align-items:end}.wl-notify-when .wl-field{flex:0 260px}.wl-plain-list li+li{margin-top:4px}.wl-totp{flex-wrap:wrap;align-items:center;gap:16px 20px;margin-bottom:14px;display:flex}.wl-totp-qr{background:#fff;border-radius:10px;flex:none;width:168px;height:168px;padding:8px}.wl-totp-qr svg{width:100%;height:100%;display:block}.wl-totp-text{flex:240px;gap:6px;min-width:0;display:grid}.wl-totp-text p{margin:0}.wl-totp-text code{overflow-wrap:anywhere}.wl-backup-codes{flex:100%;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 12px;margin:0;padding:0;list-style:none;display:grid}.wl-share-link+.wl-form{margin-top:14px}.wl-sso-item{gap:10px;display:grid}.wl-sso-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.wl-sso-head .wl-link-btn{margin-left:auto}.wl-sso-proof{gap:8px;display:grid}.wl-sso-proof p{margin:0}.wl-panel-danger{border-color:var(--wl-error)}.wl-panel-danger .wl-panel-head h2{color:var(--wl-error)}.wl-btn-danger{border-color:var(--wl-error);background:var(--wl-error);color:#fff}.wl-btn-danger:hover{filter:brightness(1.06);background:var(--wl-error)}.wl-btn-danger:disabled{filter:none}@media (width<=640px){.wl-banner-thin{padding:8px 16px}.wl-totp-qr{width:144px;height:144px}}.wl-banner-warn{background:var(--wl-amber-soft);color:var(--wl-amber-text)}.wl-banner a{color:inherit;font-weight:600;text-decoration:underline}.wl-usage{gap:8px;display:grid}.wl-usage-head{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.wl-usage-head strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px}.wl-usage-track{background:var(--wl-surface-2);border-radius:6px;height:12px;overflow:hidden}.wl-usage-track i{background:var(--wl-accent);border-radius:6px;height:100%;transition:width .3s;display:block}.wl-usage-track.wl-usage-warn i{background:var(--wl-amber)}.wl-usage-track.wl-usage-full i{background:var(--wl-error)}.wl-usage-facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0;display:grid}.wl-usage-facts div{background:var(--wl-surface-2);border-radius:10px;padding:10px 12px}.wl-usage-facts dt{color:var(--wl-muted);font-size:12px}.wl-usage-facts dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:16px;font-weight:650}.wl-usage-days{align-items:flex-end;gap:3px;height:56px;margin-bottom:8px;display:flex}.wl-usage-days span{flex:1 1 0;align-items:flex-end;min-width:3px;height:100%;display:flex}.wl-usage-days i{background:var(--wl-chart-bar);border-radius:2px 2px 0 0;width:100%;display:block}.wl-usage-days span:hover i{background:var(--wl-accent)}.wl-segmented{border:1px solid var(--wl-line-strong);background:var(--wl-surface-2);border-radius:9px;padding:2px;display:inline-flex}.wl-segmented button{color:var(--wl-fg-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 10px;font-size:13px}.wl-segmented button.wl-active{background:var(--wl-surface);color:var(--wl-fg);box-shadow:var(--wl-shadow);font-weight:600}.wl-plans{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.wl-plan{border:1px solid var(--wl-line);border-radius:var(--wl-radius);background:var(--wl-surface);flex-direction:column;gap:6px;padding:16px;display:flex}.wl-plan-current{border-color:var(--wl-accent);box-shadow:0 0 0 1px var(--wl-accent)}.wl-plan h3{margin:0;font-size:15px}.wl-plan-price{letter-spacing:-.02em;font-size:24px;font-weight:700}.wl-plan p{margin:0}.wl-plan ul{color:var(--wl-fg-2);gap:6px;margin:6px 0 10px;padding:0;font-size:13px;list-style:none;display:grid}.wl-plan li{align-items:flex-start;gap:6px;display:flex}.wl-plan li svg{width:15px;height:15px;color:var(--wl-ok);flex:none;margin-top:2px}.wl-plan>.wl-btn,.wl-plan>.wl-badge{align-self:flex-start;margin-top:auto}.wl-plan-prompt{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.wl-plan-prompt>svg{width:22px;height:22px;color:var(--wl-accent);flex:none}.wl-plan-prompt>div{flex:260px}.wl-plan-prompt p{margin:2px 0 0;font-size:13px}@media (width<=640px){.wl-plans{grid-template-columns:1fr}.wl-usage-head strong{font-size:20px}}.wl-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;display:flex}.wl-page-head h1{margin:0}.wl-page-actions{flex-wrap:wrap;gap:10px;display:flex}.wl-sections{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;display:grid}.wl-sections-nav{gap:2px;display:grid;position:sticky;top:84px}.wl-sections-nav a{color:var(--wl-fg-2);border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:550;display:flex}.wl-sections-nav a:hover{background:var(--wl-surface-2);text-decoration:none}.wl-sections-nav a.wl-active{background:var(--wl-accent-soft);color:var(--wl-accent-text)}.wl-sections-nav svg{flex:none;width:17px;height:17px}.wl-sections-nav .wl-chip-count{margin-left:auto}.wl-sections-body{min-width:0}.wl-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;margin-bottom:18px;display:flex}.wl-section-head h2{margin:0;font-size:19px}.wl-section-head p{max-width:72ch;color:var(--wl-muted);margin:6px 0 0;font-size:14px}.wl-section-actions{flex-wrap:wrap;gap:10px;display:flex}.wl-sections-body>.wl-panel+.wl-panel,.wl-sections-body>.wl-banner+.wl-panel{margin-top:18px}.wl-sections-body>.wl-banner{margin-bottom:18px}@media (width<=900px){.wl-sections{grid-template-columns:minmax(0,1fr);gap:18px}.wl-sections-nav{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;position:static;overflow-x:auto}.wl-sections-nav a{border:1px solid var(--wl-line);background:var(--wl-surface);flex:none;padding:7px 12px}.wl-sections-nav .wl-chip-count{margin-left:0}}.wl-form-row{align-items:flex-start}.wl-form-row>.wl-btn{margin-top:25px}.wl-form-row>.wl-field-narrow{flex:0 180px}.wl-field select{width:100%;font-weight:400}.wl-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.wl-panel-form{border-color:var(--wl-accent)}.wl-panel-form .wl-form{margin-bottom:0}.wl-facts{grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:10px 20px;margin:0;display:grid}.wl-facts dt{color:var(--wl-muted);font-size:14px}.wl-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}@media (width<=640px){.wl-facts{grid-template-columns:minmax(0,1fr);gap:2px 0}.wl-facts dd{margin-bottom:8px}}.wl-dialog{border:1px solid var(--wl-line);background:var(--wl-surface);width:min(460px,100vw - 32px);color:var(--wl-fg);box-shadow:var(--wl-shadow-pop);border-radius:14px;padding:0}.wl-dialog::backdrop{background:#0f172a73}.wl-dialog form{gap:14px;padding:22px;display:grid}.wl-dialog h2{margin:0;font-size:18px}.wl-dialog-body{color:var(--wl-fg-2);font-size:14px;line-height:1.55}.wl-dialog-body p{margin:0 0 8px}.wl-dialog-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.wl-id{color:var(--wl-muted);font:12px var(--wl-mono);align-items:center;gap:4px;display:inline-flex}.wl-who{line-height:1.35;display:grid}.wl-who small{color:var(--wl-muted);font-size:12px}.wl-panel-flush .wl-table th:first-child,.wl-panel-flush .wl-table td:first-child{padding-left:20px}.wl-panel-flush .wl-table th:last-child,.wl-panel-flush .wl-table td:last-child{padding-right:20px}.wl-table .wl-cell-actions{text-align:right;white-space:nowrap}.wl-panel-banner{margin:12px 20px 0}.wl-panel-note{color:var(--wl-muted);margin:0 20px 14px;font-size:13px}.wl-form-actions-split{justify-content:space-between;align-items:center}.wl-panel-text{color:var(--wl-muted);margin:0 0 14px}.wl-form-actions-start{justify-content:flex-start}