@kenz1117/dsh-ui-usage-billing 1.1.14 → 1.1.15
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.
- package/lib/client.js +1 -1
- package/lib/index.js +18 -8
- package/lib/types/aggregate.d.ts +5 -1
- package/lib/types/client/pricing.d.ts +9 -0
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
window.__ModuleLoader__.load({id:`@kenz1117/dsh-ui-usage-billing`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("react-dom"),a=e("@deepseek-ai/dsh-client-ui-primitives"),o=e("react/jsx-runtime"),s=e("@deepseek-ai/dsh-client-runtime/client");function c(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=c(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function l(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=c(e))&&(r&&(r+=` `),r+=t);return r}let u={mode:`combined`,targets:[]},d=`dsh.ui-usage-billing.float`;function f(){try{let e=localStorage.getItem(d);if(e===null)return{...u,targets:[...u.targets]};let t=JSON.parse(e);return{mode:t.mode===`subscription`?`subscription`:`combined`,targets:Array.isArray(t.targets)?t.targets.filter(e=>typeof e==`string`):[]}}catch{return{...u,targets:[...u.targets]}}}function p(e){try{localStorage.setItem(d,JSON.stringify(e))}catch{}}let m={metric:`money`},h=`dsh.ui-usage-billing.card`;function g(){try{let e=localStorage.getItem(h);return e===null?{...m}:{metric:JSON.parse(e).metric===`tokens`?`tokens`:`money`}}catch{return{...m}}}function _(e){try{localStorage.setItem(h,JSON.stringify(e))}catch{}}let v={hideUnidentified:!0},y=`dsh.ui-usage-billing.sites`;function b(){try{let e=localStorage.getItem(y);return e===null?{...v}:{hideUnidentified:JSON.parse(e).hideUnidentified!==!1}}catch{return{...v}}}function x(e){try{localStorage.setItem(y,JSON.stringify(e))}catch{}}let S=`dsh.ui-usage-billing.prices`;function C(){try{let e=localStorage.getItem(S);if(e===null)return[];let t=JSON.parse(e);if(t===null)return[];let n=[],r=(e,t)=>{if(typeof t!=`object`||!t)return;let r=t,i=Number(r.input),a=Number(r.cacheHit),o=Number(r.output);[i,a,o].every(e=>Number.isFinite(e)&&e>=0)&&n.push({key:e,...typeof r.origin==`string`&&r.origin!==``?{origin:r.origin}:{},input:i,cacheHit:a,output:o,...r.currency===`USD`?{currency:`USD`}:{}})};if(Array.isArray(t))for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;typeof t.key==`string`&&t.key!==``&&r(t.key,e)}else if(typeof t==`object`)for(let[e,n]of Object.entries(t))r(e,n);return n}catch{return[]}}function w(e){try{localStorage.setItem(S,JSON.stringify(e))}catch{}}let T=`@kenz1117/dsh-ui-usage-billing/UsageBilling.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(T)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@kenz1117/dsh-ui-usage-billing`,e.dataset.pluginCss=T,e.textContent=`.BAyRca_railButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:36px;height:36px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:border-color .16s,color .16s;display:flex}.BAyRca_railButton:hover,.BAyRca_railButton:focus-visible{border-color:var(--dsw-static-blue-500);color:var(--dsw-static-blue-500);outline:none}.BAyRca_railButton svg{stroke-width:2px;width:18px;height:18px}.BAyRca_trigger{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:100%;min-width:0;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:10px;padding:9px 12px;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a}.BAyRca_trigger:hover,.BAyRca_trigger:focus-visible{border-color:var(--dsw-static-blue-500);box-shadow:0 6px 18px -8px color-mix(in srgb, var(--dsw-static-blue-500) 45%, transparent);outline:none;transform:translateY(-1px)}.BAyRca_triggerIcon{border:1px solid var(--dsw-alias-border-l1);width:32px;height:32px;color:var(--dsw-alias-label-secondary);opacity:.8;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.BAyRca_triggerIcon svg{stroke-width:2px;width:16px;height:16px}.BAyRca_triggerMain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.BAyRca_triggerPrimary{align-items:baseline;gap:5px;min-width:0;display:inline-flex}.BAyRca_triggerLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;line-height:15px;overflow:hidden}.BAyRca_triggerYen{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;line-height:16px}.BAyRca_triggerMetric{color:var(--dsw-alias-label-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:20px;font-weight:700;line-height:24px;overflow:hidden}.BAyRca_triggerSub{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:14px;overflow:hidden}.BAyRca_triggerSpark{flex:none;align-items:flex-end;gap:2px;height:20px;display:flex}.BAyRca_triggerSparkBar,.BAyRca_triggerSparkHot{background:var(--dsw-static-blue-500);opacity:.6;border-radius:1px 1px 0 0;width:3px}.BAyRca_triggerSparkHot{opacity:1}.BAyRca_triggerWrap{flex:180px;min-width:96px;max-width:100%;display:block;position:relative;container:BAyRca_billing-trigger/inline-size}@container BAyRca_billing-trigger (width<=200px){.BAyRca_trigger{gap:6px;padding:8px 10px}.BAyRca_triggerSpark{display:none}}@container BAyRca_billing-trigger (width<=170px){.BAyRca_triggerSub,.BAyRca_triggerLabel{display:none}}@container BAyRca_billing-trigger (width<=110px){.BAyRca_triggerIcon,.BAyRca_triggerSpark,.BAyRca_triggerSub,.BAyRca_triggerLabel{display:none}.BAyRca_trigger{justify-content:center;padding:8px 6px}}.BAyRca_triggerPop{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 80%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 72%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);box-shadow:0 12px 32px #00000029, inset 0 1px 0 color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent);opacity:0;visibility:hidden;pointer-events:none;z-index:2000;border-radius:14px;flex-direction:column;gap:5px;padding:10px 12px;transition:opacity .16s,transform .16s,visibility 0s linear .16s;display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translateY(calc(4px - 100%))}.BAyRca_triggerPop,.BAyRca_triggerPop *{box-sizing:border-box}.BAyRca_triggerPop:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--dsw-static-amber-500) 30%, var(--dsw-alias-label-primary) 50%, var(--dsw-static-amber-500) 70%, transparent 100%);opacity:.9;pointer-events:none;background-size:200% 100%;height:1.5px;animation:4s ease-in-out infinite BAyRca_subscriptionGoldFlow;position:absolute;top:0;left:0;right:0}.BAyRca_triggerPopShown{opacity:1;visibility:visible;transition:opacity .16s,transform .16s,visibility linear;transform:translateY(-100%)}.BAyRca_popHead{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.BAyRca_popTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:700;line-height:18px}.BAyRca_metricGrid{grid-template-columns:repeat(3,1fr);gap:10px 8px;display:grid}.BAyRca_metricCell{flex-direction:column;gap:2px;min-width:0;display:flex}.BAyRca_metricLabel{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}.BAyRca_metricValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700;line-height:16px}.BAyRca_metricValuePrimary{color:var(--dsw-static-amber-500)}.BAyRca_metricValueSuccess{color:var(--dsw-static-green-500)}.BAyRca_popModel{border-top:1px solid var(--dsw-alias-border-l1);flex-direction:column;gap:6px;padding-top:10px;display:flex}.BAyRca_popModelLabel{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}.BAyRca_popModelRow{align-items:center;gap:8px;min-width:0;display:flex}.BAyRca_popDot{border-radius:999px;flex:none;width:6px;height:6px}.BAyRca_popDotDirect{background:var(--dsw-static-green-500)}.BAyRca_popDotSub{background:var(--dsw-static-amber-500)}.BAyRca_popDotNeutral{background:var(--dsw-alias-label-tertiary)}.BAyRca_popTagPrimary,.BAyRca_popTagSub{white-space:nowrap;border-radius:5px;flex:none;align-items:center;height:18px;padding:0 6px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_popTagPrimary{background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent);color:var(--dsw-static-blue-500)}.BAyRca_popTagSub{background:color-mix(in srgb, var(--dsw-static-amber-500) 18%, transparent);color:var(--dsw-static-amber-500)}.BAyRca_popModelName{color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;line-height:16px;overflow:hidden}.BAyRca_popModelStatus{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:11px;font-weight:600;line-height:16px}.BAyRca_popModelStatusLow{color:var(--dsw-static-red-500)}.BAyRca_dashboardModal{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:16px;width:min(760px,100vw - 48px);max-height:min(760px,88vh);animation:.18s ease-out BAyRca_dashboardIn;box-shadow:0 12px 32px -12px #0000002e,0 2px 8px #0000000f}@keyframes BAyRca_dashboardIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}div[role=presentation]:has(>.dsh-billing-modal)>div[aria-hidden=true]:first-child{backdrop-filter:blur(8px)saturate(1.25)}.BAyRca_dashboard{flex-direction:column;width:100%;max-height:min(760px,88vh);display:flex}.BAyRca_dashboardHead{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.BAyRca_dashboardTitle{color:var(--dsw-alias-label-primary);margin:0;font-size:14px;font-weight:600;line-height:20px}.BAyRca_dashboardSubtitle{color:var(--dsw-alias-label-caption);margin:2px 0 0;font-size:11px;line-height:16px}.BAyRca_closeButton{border:1px solid var(--dsw-alias-border-l1);width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;transition:background-color .14s,color .14s;display:inline-flex}.BAyRca_closeButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.BAyRca_closeButton svg{stroke-width:2px;width:16px;height:16px}.BAyRca_dashboardBody{flex-direction:column;gap:14px;padding:16px 24px 24px;display:flex;overflow-y:auto}.BAyRca_modalFooter{border-top:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-size:11px;line-height:16px;display:flex}.BAyRca_tabNav{border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:4px;padding:0 24px;display:flex}.BAyRca_tabButton{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:500;line-height:20px;transition:background-color .16s,color .16s}.BAyRca_tabButton:hover,.BAyRca_tabButton:focus-visible{color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-bg-layer-3) 62%, transparent);outline:none}.BAyRca_tabButtonActive,.BAyRca_tabButtonActive:hover,.BAyRca_tabButtonActive:focus-visible{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);font-weight:600}.BAyRca_tabPanel{flex-direction:column;gap:14px;animation:.14s ease-out BAyRca_tabPanelIn;display:flex}@keyframes BAyRca_tabPanelIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.BAyRca_reconcileNotice{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 78%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 62%, transparent);color:var(--dsw-alias-label-secondary);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12px;line-height:1.55;display:flex}.BAyRca_reconcileIcon{color:var(--dsw-alias-label-tertiary);flex:none;margin-top:1px;display:inline-flex}.BAyRca_reconcileText{flex:1}.BAyRca_reconcileDismiss{color:var(--dsw-alias-label-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:none;padding:2px 8px;font-size:12px;line-height:1.4;transition:color .15s,background-color .15s}.BAyRca_reconcileDismiss:hover{color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent)}.BAyRca_hero{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:18px;padding:24px;display:flex;position:relative;overflow:hidden}.BAyRca_heroTop{justify-content:space-between;align-items:center;gap:24px;display:flex}.BAyRca_heroMain{flex-direction:column;gap:2px;min-width:0;display:flex}.BAyRca_heroLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11px;line-height:16px}.BAyRca_heroReadout{align-items:baseline;gap:4px;display:flex}.BAyRca_heroCurrency{letter-spacing:-.01em;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:28px}.BAyRca_heroValue{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--dsw-alias-label-primary);font-size:40px;font-weight:700;line-height:48px}.BAyRca_heroMeta{color:var(--dsw-alias-label-caption);white-space:nowrap;margin-top:2px;font-size:11px;line-height:15px}.BAyRca_heroGauge{flex:none;width:96px;height:96px;position:relative}.BAyRca_heroGaugeSvg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.BAyRca_heroGaugeTrack{fill:none;stroke:var(--dsw-alias-bg-module-platform);stroke-width:7px}.BAyRca_heroGaugeArc{fill:none;stroke:var(--dsw-static-blue-500);stroke-width:7px;stroke-linecap:round;transition:stroke-dasharray .26s}.BAyRca_heroGaugeArcOver{stroke:var(--dsw-static-red-500)}.BAyRca_heroGaugeCenter{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.BAyRca_heroGaugePct{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);font-size:14px;font-weight:700;line-height:18px}.BAyRca_heroGaugePctOver{color:var(--dsw-static-red-500)}.BAyRca_heroGaugeLabel{color:var(--dsw-alias-label-tertiary);font-size:9px;line-height:12px}.BAyRca_heroBudget{border-top:1px solid var(--dsw-alias-border-l1);align-items:center;gap:14px;padding-top:14px;display:flex}.BAyRca_heroBudgetLabel{color:var(--dsw-alias-label-secondary);white-space:nowrap;flex:none;font-size:11px;line-height:16px}.BAyRca_heroBudgetTrack{background:var(--dsw-alias-border-l1);border-radius:999px;flex:1;min-width:0;height:6px;overflow:hidden}.BAyRca_heroBudgetFill{background:var(--dsw-static-blue-500);border-radius:999px;height:100%;transition:width .22s}.BAyRca_heroBudgetFillOver{background:var(--dsw-static-red-500)}.BAyRca_heroBudgetValue{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11px;line-height:16px}.BAyRca_heroSide{border-top:1px solid var(--dsw-alias-border-l1);align-items:stretch;padding-top:14px;display:flex}.BAyRca_heroSideItem{border-left:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:1;gap:2px;min-width:0;padding-left:14px;display:flex}.BAyRca_heroSideItem:first-child{border-left:none;padding-left:0}.BAyRca_heroSideLabel{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:10px;font-weight:500;line-height:13px}.BAyRca_heroSideValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:6px;font-size:15px;font-weight:600;line-height:20px;display:inline-flex}.BAyRca_heroSideSpacer{flex:1;display:block}.BAyRca_delta{align-items:center;gap:2px;margin-left:4px;font-size:11px;font-weight:600;line-height:17px;display:inline-flex}.BAyRca_deltaUp{color:var(--dsw-static-green-500);background:color-mix(in srgb, var(--dsw-static-green-500) 12%, transparent)}.BAyRca_deltaDown{color:var(--dsw-static-red-500);background:color-mix(in srgb, var(--dsw-static-red-500) 12%, transparent)}.BAyRca_unpricedHint{border:1px solid color-mix(in srgb, var(--dsw-static-amber-500) 30%, transparent);background:color-mix(in srgb, var(--dsw-static-amber-500) 8%, transparent);color:var(--dsw-static-amber-500);border-radius:8px;align-items:center;padding:8px 12px;font-size:11.5px;font-weight:500;line-height:17px;display:flex}.BAyRca_kpiGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.BAyRca_kpiTile{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;transition:border-color .16s;display:flex;position:relative;overflow:hidden}.BAyRca_kpiTile:hover{border-color:var(--dsw-alias-border-l2)}.BAyRca_kpiLabel{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:500;line-height:13px}.BAyRca_kpiValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:32px}.BAyRca_kpiGreen{color:var(--dsw-static-green-500)}.BAyRca_kpiDetail{color:var(--dsw-alias-label-caption);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;line-height:14px;overflow:hidden}.BAyRca_panel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:10px;padding:16px 18px;transition:border-color .16s;display:flex}.BAyRca_panelHead{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.BAyRca_panelTitle{letter-spacing:-.005em;color:var(--dsw-alias-label-primary);margin:0;font-size:14px;font-weight:600;line-height:20px}.BAyRca_panelHint{color:var(--dsw-alias-label-caption);white-space:nowrap;font-size:11px;line-height:16px}.BAyRca_rangeToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.BAyRca_rangeButton{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:11px;line-height:16px;transition:background-color .14s,color .14s}.BAyRca_rangeButtonActive{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font-weight:600}.BAyRca_exportBar{justify-content:flex-end;align-items:center;gap:8px;display:flex}.BAyRca_exportLabel{color:var(--dsw-alias-label-caption);font-size:11px;line-height:16px}.BAyRca_exportButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:11.5px;line-height:16px;transition:border-color .16s,color .16s,background-color .16s}.BAyRca_exportButton:hover,.BAyRca_exportButton:focus-visible{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);outline:none}.BAyRca_shareTrack{background:var(--dsw-alias-bg-module-platform);border-radius:999px;height:10px;display:flex;overflow:hidden}.BAyRca_shareSeg{height:100%;transition:width .2s}.BAyRca_shareSegPeak{background:var(--dsw-static-blue-500)}.BAyRca_shareSegOff{background:color-mix(in srgb, var(--dsw-static-blue-500) 25%, var(--dsw-alias-bg-module-platform))}.BAyRca_shareSegUser{background:var(--dsw-static-blue-500)}.BAyRca_shareSegAssistant{background:var(--dsw-static-green-500)}.BAyRca_shareSegTool{background:var(--dsw-static-amber-500)}.BAyRca_shareLegend{align-items:center;gap:16px;display:flex}.BAyRca_shareItem{color:var(--dsw-alias-label-secondary);align-items:baseline;gap:6px;font-size:12px;line-height:17px;display:inline-flex}.BAyRca_bucketCost{align-items:baseline;gap:3px;display:inline-flex}.BAyRca_bucketOfficial{color:var(--dsw-static-blue-500);font-weight:600}.BAyRca_bucketSep{color:var(--dsw-alias-label-dimmed)}.BAyRca_bucketThird{color:var(--dsw-alias-label-secondary)}.BAyRca_shareDot{border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.BAyRca_shareValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:600}.BAyRca_budgetInput{width:64px;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:none;padding:0;font-size:12px;line-height:16px}.BAyRca_budgetInput:focus-visible{outline:none}.BAyRca_switch{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);cursor:pointer;border-radius:999px;flex:none;width:30px;height:17px;padding:0;transition:background-color .16s,border-color .16s;position:relative}.BAyRca_switchOn{border-color:var(--dsw-alias-border-l1);background:var(--dsw-alias-label-primary)}.BAyRca_switchKnob{background:var(--dsw-static-neutral-bluish-00);border-radius:50%;width:11px;height:11px;transition:transform .16s;position:absolute;top:2px;left:2px}.BAyRca_switchOn .BAyRca_switchKnob{transform:translate(13px)}.BAyRca_budgetFillWarn{background:var(--dsw-static-amber-500)}.BAyRca_budgetFillOver{background:var(--dsw-static-red-500);animation:1.6s ease-in-out infinite BAyRca_budgetOverPulse}@keyframes BAyRca_budgetOverPulse{50%{opacity:.55}}.BAyRca_chartWrap{width:100%;position:relative}.BAyRca_chartSvg{width:100%;height:auto;display:block}.BAyRca_chartEmpty{height:140px;color:var(--dsw-alias-label-caption);justify-content:center;align-items:center;font-size:13px;display:flex}.BAyRca_emptyRow{text-align:center;color:var(--dsw-alias-label-caption);padding:28px 0;font-size:13px}.BAyRca_chartGrid{stroke:var(--dsw-alias-border-l1);stroke-width:1px}.BAyRca_chartAxisLabel{fill:var(--dsw-alias-label-tertiary);font-size:10px}.BAyRca_chartBar{fill:var(--dsw-static-blue-500);opacity:.7}.BAyRca_chartBar:hover{opacity:1}.BAyRca_chartStack{stroke:var(--dsw-alias-bg-layer-1);stroke-width:.75px}.BAyRca_chartStack:hover{opacity:.9}.BAyRca_chartLine{stroke:var(--dsw-static-blue-500);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.BAyRca_chartCrosshair{stroke:var(--dsw-alias-label-dimmed);stroke-width:1px;stroke-dasharray:3 3}.BAyRca_chartTooltip{pointer-events:none;z-index:2;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);box-shadow:none;white-space:nowrap;border-radius:8px;padding:8px 10px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.BAyRca_chartTooltipDate{color:var(--dsw-alias-label-primary);margin-bottom:3px;font-size:11px;font-weight:600}.BAyRca_chartTooltipRow{color:var(--dsw-alias-label-secondary);align-items:center;gap:5px;font-size:11px;line-height:17px;display:flex}.BAyRca_chartTooltipRow strong{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:600}.BAyRca_chartBarPlaceholder{fill:color-mix(in srgb, var(--dsw-alias-label-secondary) 30%, transparent)}.BAyRca_chartLegendLine{background:var(--dsw-static-blue-500);border-radius:2px;width:10px;height:3px;display:inline-block}.BAyRca_chartLegendBar{background:var(--dsw-static-blue-500);opacity:.5;border-radius:2px;width:7px;height:7px;display:inline-block}.BAyRca_chartTooltipSwatch{border-radius:3px;flex:none;width:8px;height:8px;display:inline-block}.BAyRca_chartLegend{color:var(--dsw-alias-label-tertiary);justify-content:flex-end;gap:14px;margin-top:2px;font-size:11px;display:flex}.BAyRca_chartLegend span{align-items:center;gap:5px;display:inline-flex}.BAyRca_tableScroll{border:1px solid var(--dsw-alias-border-l1);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px;overflow:auto}.BAyRca_ubAlert{border:1px solid color-mix(in srgb, var(--dsw-static-blue-500) 30%, transparent);background:color-mix(in srgb, var(--dsw-static-blue-500) 8%, transparent);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12px;line-height:17px;display:flex}.BAyRca_ubAlertLeft{align-items:center;gap:8px;display:inline-flex}.BAyRca_ubRate{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:600}.BAyRca_ubAlertNote{color:var(--dsw-alias-label-secondary);margin:0}.BAyRca_ubTag,.BAyRca_ubTagSuccess,.BAyRca_ubTagNeutral,.BAyRca_ubTagAlert,.BAyRca_ubTagPromo{white-space:nowrap;border-radius:999px;align-items:center;height:18px;padding:0 7px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_ubTagSuccess{background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent);color:var(--dsw-static-green-500)}.BAyRca_ubTagNeutral{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-secondary)}.BAyRca_ubTagAlert{background:color-mix(in srgb, var(--dsw-static-amber-500) 16%, transparent);color:var(--dsw-static-amber-500)}.BAyRca_ubTagPromo{background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent);color:var(--dsw-static-red-500);cursor:help}.BAyRca_ubExtraRow td{opacity:.72;padding-top:2px;padding-bottom:2px;font-size:12px}.BAyRca_ubExtraName{color:var(--dsw-alias-label-secondary);margin-left:26px}.BAyRca_ubExtraNote{color:var(--dsw-alias-label-tertiary);margin-left:8px;font-size:10px}.BAyRca_ubCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.BAyRca_ubCardHead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.BAyRca_ubCardTitle{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:600;line-height:18px}.BAyRca_ubCardSub{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.BAyRca_ubTablewrap{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;overflow:auto}.BAyRca_ubTable{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12.5px}.BAyRca_ubTable th,.BAyRca_ubTable td{border-bottom:1px solid var(--dsw-alias-border-l1);text-align:left;padding:9px 12px}.BAyRca_ubTable tbody tr:last-child td{border-bottom:0}.BAyRca_ubTable thead th{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.BAyRca_ubModel{align-items:center;gap:8px;display:inline-flex}.BAyRca_vendorLogo{object-fit:contain;border-radius:4px;flex:none;width:18px;height:18px}.BAyRca_vendorLetter{color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.BAyRca_ubModelName{color:var(--dsw-alias-label-primary);align-items:center;gap:6px;font-weight:500;display:inline-flex}.BAyRca_ubPricepair{flex-wrap:wrap;gap:6px;display:inline-flex}.BAyRca_ubChipPeak,.BAyRca_ubChipOff{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:5px;height:20px;padding:0 8px;font-size:11px;line-height:16px;display:inline-flex}.BAyRca_ubChipLabel{font-size:10px;font-weight:600}.BAyRca_ubChipPeak{background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent);color:var(--dsw-static-blue-500)}.BAyRca_ubChipOff{background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent);color:var(--dsw-static-green-500)}.BAyRca_ubNotes{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.BAyRca_ubNotesItem{align-items:baseline;gap:10px;display:flex}.BAyRca_ubNotesTerm{color:var(--dsw-alias-label-primary);flex:0 0 72px;font-size:12px;font-weight:500}.BAyRca_ubNotesDesc{min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-size:12px;line-height:17px}.BAyRca_ubCardControlGroup{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.BAyRca_ubTagError{white-space:nowrap;background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent);height:18px;color:var(--dsw-static-red-500);border-radius:999px;align-items:center;padding:0 7px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_modelTable{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px;font-size:12.5px}.BAyRca_modelTable th:first-child{width:26%}.BAyRca_modelTable th,.BAyRca_modelTable td,.BAyRca_pricingTable th,.BAyRca_pricingTable td{border-bottom:1px solid var(--dsw-alias-border-l1);text-align:left;white-space:nowrap;padding:9px 12px}.BAyRca_modelTable tbody tr:last-child td,.BAyRca_pricingTable tbody tr:last-child td{border-bottom:0}.BAyRca_modelTable thead th,.BAyRca_pricingTable thead th{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.05em;background:0 0;font-size:11px;font-weight:600}.BAyRca_modelTable tbody tr,.BAyRca_pricingTable tbody tr{transition:background-color .12s}.BAyRca_modelTable tbody tr:hover,.BAyRca_pricingTable tbody tr:hover{background:0 0}.BAyRca_sessionGroupRow{cursor:pointer}.BAyRca_sessionGroupRow .BAyRca_modelName:before{content:"›";color:var(--dsw-alias-label-tertiary);margin-right:6px;display:inline-block}.BAyRca_sessionGroupRow[aria-expanded=true] .BAyRca_modelName:before{transform:rotate(90deg)}.BAyRca_sessionChildRow td:first-child{padding-left:30px}.BAyRca_numCol{text-align:right;font-variant-numeric:tabular-nums}.BAyRca_na{color:var(--dsw-alias-label-dimmed)}.BAyRca_modelCell{align-items:center;gap:8px;display:inline-flex}.BAyRca_modelDot{border-radius:50%;flex:none;width:9px;height:9px}.BAyRca_modelName{color:var(--dsw-alias-label-primary);font-weight:500;line-height:16px;display:block}.BAyRca_modelProvider{color:var(--dsw-alias-label-caption);font-size:10.5px;line-height:14px;display:block}.BAyRca_pricingToggle:hover .BAyRca_panelTitle,.BAyRca_pricingToggle:focus-visible .BAyRca_panelTitle{color:var(--dsw-alias-label-primary)}.BAyRca_siteRow{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.BAyRca_siteRowName{align-items:center;gap:8px;min-width:0;display:inline-flex}.BAyRca_siteKindTag{white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:600;line-height:16px;display:inline-flex}.BAyRca_siteKindSite{color:var(--dsw-static-blue-500);background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent)}.BAyRca_siteKindDirect{color:var(--dsw-static-green-500);background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent)}.BAyRca_siteKindUnknown{color:var(--dsw-static-red-500);background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent)}.BAyRca_siteRowTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;line-height:18px;overflow:hidden}.BAyRca_siteRowMeta{flex:none;align-items:center;gap:10px;display:inline-flex}.BAyRca_siteRowCost{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700;line-height:18px}.BAyRca_siteRowCalls{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:11.5px;line-height:17px}.BAyRca_siteRowCallsLow{color:var(--dsw-static-red-500)}.BAyRca_flatTag{color:var(--dsw-alias-label-caption);font-size:10.5px;line-height:14px}.BAyRca_healthDot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.BAyRca_healthOk{background:var(--dsw-static-green-500)}.BAyRca_healthBad{background:var(--dsw-static-red-500)}.BAyRca_healthIdle{background:var(--dsw-static-neutral-bluish-400)}.BAyRca_dashboardRight{align-items:center;gap:8px;min-width:0;display:flex}.BAyRca_healthBadge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;line-height:16px;display:inline-flex}.BAyRca_healthBadgeOk{color:var(--dsw-static-green-500);background:var(--dsw-alias-bg-layer-2)}.BAyRca_healthBadgeBad{color:var(--dsw-static-red-500);background:var(--dsw-alias-bg-layer-2)}.BAyRca_planTag{color:var(--dsw-static-green-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}.BAyRca_uncataloguedTag{vertical-align:1px;color:var(--dsw-static-amber-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:600;line-height:16px;display:inline-block}.BAyRca_estimatedTag{vertical-align:1px;color:var(--dsw-static-blue-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:600;line-height:16px;display:inline-block}.BAyRca_feeBar{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;font-size:11px;line-height:16px;display:inline-flex}.BAyRca_feeCount{color:var(--dsw-alias-label-primary);font-weight:600}.BAyRca_feeSuffix{color:var(--dsw-alias-label-tertiary)}.BAyRca_feeItem{color:var(--dsw-alias-label-secondary);white-space:nowrap}.BAyRca_feeNum{color:var(--dsw-alias-label-primary)}.BAyRca_feeSep{color:var(--dsw-alias-label-tertiary)}.BAyRca_feeChipPrimary,.BAyRca_feeChipOff,.BAyRca_feeChipAlert,.BAyRca_feeChipError{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;height:20px;padding:0 8px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_feeChipPrimary{background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent);color:var(--dsw-static-blue-500)}.BAyRca_feeChipOff{background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent);color:var(--dsw-static-green-500)}.BAyRca_feeChipAlert{background:color-mix(in srgb, var(--dsw-static-amber-500) 16%, transparent);color:var(--dsw-static-amber-500)}.BAyRca_feeChipError{background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent);color:var(--dsw-static-red-500)}.BAyRca_balanceCell{align-items:center;gap:6px;display:inline-flex;position:relative}.BAyRca_balanceDaysBadge{border:1px solid var(--dsw-alias-label-caption);background:color-mix(in srgb, var(--dsw-alias-label-caption) 10%, transparent);min-width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0 6px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.BAyRca_balanceDaysBadge:hover{border-color:var(--dsw-alias-label-secondary);background:color-mix(in srgb, var(--dsw-alias-label-caption) 18%, transparent)}.BAyRca_balanceDaysBadgeLow{color:var(--dsw-static-red-500);border-color:var(--dsw-static-red-500);background:color-mix(in srgb, var(--dsw-static-red-500) 10%, transparent)}.BAyRca_balanceDetailPop{z-index:20;background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-label-caption);white-space:nowrap;border-radius:8px;flex-direction:column;gap:6px;min-width:180px;padding:8px 10px;display:inline-flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #0000002e}.BAyRca_balanceDetailHead{justify-content:space-between;align-items:center;gap:12px;display:flex}.BAyRca_balanceDetailTitle{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:600}.BAyRca_balanceDetailClose{cursor:pointer;color:var(--dsw-alias-label-caption);background:0 0;border:none;font-size:14px;line-height:1}.BAyRca_balanceDetailClose:hover{color:var(--dsw-alias-label-primary)}.BAyRca_balanceDetailGrid{flex-direction:column;gap:4px;display:inline-flex}.BAyRca_balanceDetailRow{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;font-size:11px;line-height:15px;display:flex}.BAyRca_balanceDetailLabel{color:var(--dsw-alias-label-caption)}.BAyRca_balanceDetailValue{color:var(--dsw-alias-label-primary);font-weight:500}.BAyRca_currencyToggle{background:var(--dsw-alias-bg-layer-3);border:none;border-radius:8px;align-items:center;gap:2px;margin-right:8px;padding:2px;display:inline-flex}.BAyRca_currencyButton{color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;line-height:1}.BAyRca_currencyButtonActive{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary)}.BAyRca_subscriptionGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px;display:grid}.BAyRca_subscriptionCard{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 75%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 62%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000001a}.BAyRca_subscriptionCard:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--dsw-static-amber-500) 30%, var(--dsw-alias-label-primary) 50%, var(--dsw-static-amber-500) 70%, transparent 100%);opacity:.9;pointer-events:none;background-size:200% 100%;height:1.5px;animation:3.6s ease-in-out infinite BAyRca_subscriptionGoldFlow;position:absolute;top:0;left:0;right:0}@keyframes BAyRca_subscriptionGoldFlow{0%{background-position:200% 0}to{background-position:-200% 0}}.BAyRca_subscriptionCard:hover{border-color:color-mix(in srgb, var(--dsw-static-amber-500) 55%, var(--dsw-alias-border-l1));box-shadow:0 10px 30px #00000029}.BAyRca_subscriptionHead{flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.BAyRca_subscriptionName{font-size:13px;font-weight:700}.BAyRca_subscriptionPlan{color:var(--dsw-alias-label-secondary);font-size:11px}.BAyRca_subscriptionPlan[data-kind=code],.BAyRca_subscriptionPlan[data-kind=token]{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-3);border-radius:999px;padding:1px 8px;font-weight:500}.BAyRca_subscriptionTier{color:var(--dsw-alias-label-secondary);margin-left:6px}.BAyRca_subscriptionAuto{color:var(--dsw-static-blue-500);background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, var(--dsw-alias-bg-layer-2));border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.BAyRca_subscriptionStatus{color:var(--dsw-alias-label-secondary);margin-bottom:6px;font-size:11px}.BAyRca_subscriptionWindow{align-items:center;gap:10px;margin-top:8px;font-size:11px;display:flex}.BAyRca_subscriptionWindowLabel{color:var(--dsw-alias-label-secondary);flex:0 0 44px}.BAyRca_subscriptionTrack{background:var(--dsw-alias-bg-layer-3);border-radius:3px;flex:1;height:6px;overflow:hidden}.BAyRca_subscriptionFill{background:var(--dsw-static-blue-500);border-radius:3px;height:100%;transition:width .2s;display:block}.BAyRca_subscriptionFillWarn{background:var(--dsw-static-amber-500)}.BAyRca_subscriptionFillOver{background:var(--dsw-static-red-500)}.BAyRca_subscriptionMeta{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.BAyRca_subscriptionPct{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:52px}.BAyRca_subscriptionExhausted{color:var(--dsw-static-red-500);min-width:52px;font-weight:600}.BAyRca_subscriptionReset{color:var(--dsw-alias-label-caption);white-space:nowrap;flex:none;font-size:10px}.BAyRca_providerGroupList{flex-direction:column;gap:10px;display:flex}.BAyRca_providerGroup{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:12px;padding:12px 14px}.BAyRca_providerGroupHead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.BAyRca_providerGroupTitle{align-items:center;gap:7px;min-width:0;display:inline-flex}.BAyRca_providerGroupName{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600;line-height:18px}.BAyRca_providerGroupMeta{flex:none;align-items:center;gap:10px;display:inline-flex}.BAyRca_providerGroupBadge{color:var(--dsw-static-green-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}.BAyRca_providerGroupBalance{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:6px;font-size:12px;line-height:17px;display:inline-flex}.BAyRca_providerGroupBalanceLabel{color:var(--dsw-alias-label-caption);font-size:11px;line-height:17px}.BAyRca_rounds{margin-top:10px}.BAyRca_roundsBars{align-items:flex-end;gap:3px;height:124px;padding:16px 2px 0;display:flex;overflow-x:auto}.BAyRca_roundsBarCol{border-radius:5px 5px 0 0;flex-direction:column;flex:1 0 28px;justify-content:flex-end;align-items:stretch;height:100%;display:flex;position:relative}.BAyRca_roundsBarColPeak{background:color-mix(in srgb, var(--dsw-static-amber-500) 16%, transparent)}.BAyRca_roundsBarColOff{background:var(--dsw-alias-bg-module-platform)}.BAyRca_roundsBarLabel{text-align:center;color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;line-height:1.2;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(-100%)}.BAyRca_roundsBarWrap{flex:1;align-items:flex-end;min-height:0;display:flex}.BAyRca_roundsBar{background:var(--dsw-static-blue-500);border-radius:2px 2px 0 0;width:100%;min-height:2px;position:relative}.BAyRca_roundsBarFlagged{background:var(--dsw-static-red-500);border-radius:2px 2px 0 0;width:100%;min-height:2px;position:relative}.BAyRca_roundsFlagMark{background:var(--dsw-static-red-500);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;right:-3px}.BAyRca_roundsAxis{color:var(--dsw-alias-label-secondary);justify-content:space-between;margin-top:6px;font-size:10px;display:flex}.BAyRca_roundsEmpty{color:var(--dsw-alias-label-secondary);margin-top:10px;font-size:12px}.BAyRca_heatmap{margin-top:10px}.BAyRca_heatmapGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.BAyRca_heatmapCellEmpty{background:var(--dsw-alias-bg-layer-1);height:30px;color:var(--dsw-alias-label-dimmed);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:center;align-items:center;font-size:11px;display:flex}.BAyRca_heatmapCell{font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;height:30px;padding:0;font-size:11px;display:flex}.BAyRca_heatmapCell[data-level="0"],.BAyRca_heatmapCell[data-level="1"],.BAyRca_heatmapCell[data-level="2"]{color:var(--dsw-alias-label-primary)}.BAyRca_heatmapCell[data-level="3"],.BAyRca_heatmapCell[data-level="4"]{color:var(--dsw-static-neutral-bluish-00)}.BAyRca_heatmapFooter{color:var(--dsw-alias-label-secondary);align-items:center;gap:8px;margin-top:10px;font-size:10px;display:flex}.BAyRca_heatmapLegend{gap:3px;display:inline-flex}.BAyRca_heatmapLegend i{border-radius:4px;width:14px;height:14px;display:block}.BAyRca_heatmapHover{font-variant-numeric:tabular-nums;margin-left:auto}.BAyRca_heatmapRangeSwitch{gap:4px;margin-left:auto;display:inline-flex}.BAyRca_heatmapRangeButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:11px;line-height:1.4}.BAyRca_heatmapRangeButtonActive{color:var(--dsw-alias-text-primary);border-color:currentColor;font-weight:600}.BAyRca_heatmapYear{flex-direction:column;gap:6px;display:flex}.BAyRca_heatmapYearBody{align-items:flex-start;gap:6px;display:flex}.BAyRca_heatmapYearWeekdays{color:var(--dsw-alias-text-tertiary);flex:none;grid-template-rows:repeat(7,11px);gap:3px;padding-top:12px;font-size:9px;line-height:11px;display:grid}.BAyRca_heatmapYearWeekday{white-space:nowrap;text-align:right;height:11px}.BAyRca_heatmapYearMonths{min-width:max-content;color:var(--dsw-alias-text-tertiary);grid-template-columns:repeat(52,11px);gap:3px;font-size:9px;line-height:12px;display:grid;overflow:visible}.BAyRca_heatmapYearMonth{white-space:nowrap;overflow:visible}.BAyRca_heatmapYearScroll{padding-bottom:2px;overflow-x:auto}.BAyRca_heatmapYearGrid{grid-template-rows:repeat(7,11px);grid-auto-flow:column;gap:3px;min-width:max-content;display:grid}.BAyRca_heatmapYearCell{cursor:pointer;border:0;border-radius:2px;width:11px;height:11px;padding:0}.BAyRca_triggerPopSubscription{width:auto;left:0;right:0}.BAyRca_floatSub{flex-direction:column;gap:6px;min-width:0;display:flex}.BAyRca_floatSubHead{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.BAyRca_floatSubName{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:700}.BAyRca_floatSubPlan{color:var(--dsw-alias-label-secondary);font-size:10px}.BAyRca_floatSub .BAyRca_subscriptionWindow{flex-wrap:wrap;gap:4px 10px}.BAyRca_floatSub .BAyRca_subscriptionWindowLabel{flex:none}.BAyRca_floatSub .BAyRca_subscriptionMeta{min-width:0;max-width:100%}.BAyRca_floatSub .BAyRca_subscriptionPct{min-width:0}.BAyRca_floatSub .BAyRca_subscriptionReset{white-space:normal;overflow-wrap:anywhere}.BAyRca_triggerPopEmpty{color:var(--dsw-alias-label-tertiary);padding:2px 0;font-size:11px;line-height:1.5}.BAyRca_triggerPopSwitcher{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.BAyRca_triggerPopSwitchCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:10px}.BAyRca_floatModeBtn{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 75%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 60%, transparent);color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;border-radius:10px;flex:1;padding:7px 10px;font-size:12px}.BAyRca_floatModeBtnOn{border-color:var(--dsw-static-blue-500);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-static-blue-500) 16%, transparent)}.BAyRca_floatTarget{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.BAyRca_floatTargetLabel{color:var(--dsw-alias-label-secondary)}.BAyRca_staleNotice{color:var(--dsw-static-amber-500);background:color-mix(in srgb, var(--dsw-static-amber-500) 12%, transparent);border:1px solid color-mix(in srgb, var(--dsw-static-amber-500) 30%, transparent);border-radius:10px;align-items:center;gap:6px;margin:0 0 10px;padding:8px 10px;font-size:11px;display:flex}.BAyRca_plgHead{align-items:flex-start;gap:12px;display:flex}.BAyRca_plgIcon{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:40px;height:40px;color:var(--dsw-alias-label-secondary);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.BAyRca_plgTitle{flex-direction:column;gap:4px;min-width:0;display:flex}.BAyRca_plgNameRow{align-items:center;gap:8px;display:flex}.BAyRca_plgName{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:600;line-height:18px}.BAyRca_plgTag{height:18px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-3);white-space:nowrap;border-radius:5px;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.BAyRca_plgDesc{color:var(--dsw-alias-label-secondary);margin:0;font-size:11px;line-height:16px}.BAyRca_plgGrid{border-top:1px solid var(--dsw-alias-border-l1);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.BAyRca_plgItem{flex-direction:column;gap:2px;min-width:0;display:flex}.BAyRca_plgLabel{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}.BAyRca_plgVal{color:var(--dsw-alias-label-primary);word-break:break-all;font-size:12px;line-height:17px}.BAyRca_plgLink{color:var(--dsw-static-blue-500);word-break:break-all;font-size:12px;line-height:17px;text-decoration:none}.BAyRca_plgLink:hover{text-decoration:underline}.BAyRca_tokenPanel{flex-direction:column;gap:14px;display:flex}.BAyRca_tokenModelBar{background:var(--dsw-alias-bg-layer-2);border-radius:999px;height:8px;overflow:hidden}.BAyRca_tokenModelParts{height:100%;display:flex}.BAyRca_tokenModelPartIn{background:var(--dsw-static-blue-500)}.BAyRca_tokenModelPartOut{background:var(--dsw-static-amber-500)}.BAyRca_tokenModelShareRow{align-items:center;gap:6px;display:inline-flex}@media (width<=640px){.BAyRca_kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.BAyRca_hero{gap:14px}.BAyRca_heroTop{flex-direction:column;align-items:flex-start;gap:12px}.BAyRca_heroGauge{width:72px;height:72px}.BAyRca_heroSide{gap:12px}.BAyRca_heroSideSpacer{display:none}}.BAyRca_peakCard{z-index:2000;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 82%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.2);border-radius:12px;flex-direction:column;gap:8px;min-width:280px;max-width:380px;padding:16px;animation:.2s BAyRca_peakAlertIn;display:flex;position:fixed;box-shadow:0 4px 16px #00000014}.BAyRca_peakCardCorner{bottom:18px;right:18px}.BAyRca_peakCardCenter{top:20%;left:50%;transform:translate(-50%)}.BAyRca_peakCardPeak{color:var(--dsw-static-blue-500)}.BAyRca_peakCardOff{color:var(--dsw-static-green-500)}.BAyRca_peakHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.BAyRca_peakTag{white-space:nowrap;border-radius:6px;align-items:center;gap:6px;height:20px;padding:0 8px;font-size:11px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_peakTagPrimary{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-static-blue-500)}.BAyRca_peakTagSuccess{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-static-green-500)}.BAyRca_peakDot{border-radius:999px;flex:none;width:6px;height:6px}.BAyRca_peakDotPrimary{background:var(--dsw-static-blue-500)}.BAyRca_peakDotSuccess{background:var(--dsw-static-green-500)}.BAyRca_peakClose{width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background-color .14s,color .14s;display:inline-flex}.BAyRca_peakClose:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.BAyRca_peakCount{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:34px}.BAyRca_peakCountPrimary{color:var(--dsw-static-blue-500)}.BAyRca_peakCountSuccess{color:var(--dsw-static-green-500)}.BAyRca_peakDesc{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}@keyframes BAyRca_peakAlertIn{0%{opacity:0}to{opacity:1}}.BAyRca_setCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.BAyRca_setCardHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.BAyRca_setCardMeta{flex-direction:column;gap:4px;min-width:0;display:flex}.BAyRca_setCardTitle{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:600;line-height:18px}.BAyRca_setCardDesc{color:var(--dsw-alias-label-secondary);margin:0;font-size:11px;line-height:16px}.BAyRca_ctlCol{flex-direction:column;gap:10px;padding-top:2px;display:flex}.BAyRca_ctlRow{align-items:center;gap:12px;min-height:28px;display:flex}.BAyRca_ctlRowStretch{display:flex}.BAyRca_ctlLabel{color:var(--dsw-alias-label-secondary);flex:0 0 96px;font-size:11px;line-height:16px}.BAyRca_ctlGroup{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.BAyRca_userPriceRow{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:minmax(96px,1.1fr) minmax(120px,1.5fr) repeat(3,minmax(64px,84px)) auto auto;align-items:end;gap:8px 10px;padding:8px 0;display:grid}@media (width<=720px){.BAyRca_userPriceRow{grid-template-columns:repeat(3,minmax(0,1fr))}}.BAyRca_userPriceRow .BAyRca_userPriceInput,.BAyRca_userPriceRow .BAyRca_userPriceInputNum{box-sizing:border-box;width:100%;min-width:0;max-width:none}.BAyRca_userPriceOffPeak{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;width:100%;padding:2px 0 6px;display:flex}.BAyRca_userPriceField{flex-direction:column;gap:4px;min-width:0;display:flex}.BAyRca_userPriceField .BAyRca_ctlLabel{flex:none;font-size:11px}.BAyRca_userPriceInput,.BAyRca_userPriceInputNum{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:96px;max-width:160px;color:var(--dsw-alias-label-primary);border-radius:6px;padding:4px 8px;font-size:12px;line-height:16px}.BAyRca_userPriceInputNum{min-width:72px;max-width:88px}.BAyRca_userPriceRemove{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-static-red-400);cursor:pointer;background:0 0;border-radius:6px;align-self:center;padding:4px 8px;font-size:11px;line-height:16px}.BAyRca_userPriceRemove:hover{border-color:var(--dsw-static-red-400)}.BAyRca_rdo{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;line-height:16px;display:inline-flex}.BAyRca_rdo input{opacity:0;pointer-events:none;position:absolute}.BAyRca_rdoDot{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:50%;flex:none;width:14px;height:14px;position:relative}.BAyRca_rdo input:checked+.BAyRca_rdoDot{border-color:var(--dsw-static-blue-500)}.BAyRca_rdo input:checked+.BAyRca_rdoDot:after{content:"";background:var(--dsw-static-blue-500);border-radius:50%;position:absolute;inset:3px}.BAyRca_inp{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.BAyRca_affix{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.BAyRca_prog{background:var(--dsw-alias-bg-module-platform);border-radius:999px;flex:1;min-width:0;height:6px;overflow:hidden}.BAyRca_progFill{background:var(--dsw-static-blue-500);border-radius:999px;height:100%;transition:width .2s}.BAyRca_btn{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;line-height:16px;transition:border-color .16s,color .16s,background-color .16s;display:inline-flex}.BAyRca_btn:hover{border-color:var(--dsw-static-blue-500);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-static-blue-500) 12%, var(--dsw-alias-bg-layer-1))}`,document.head.appendChild(e)}var E={peakHead:`BAyRca_peakHead`,userPriceOffPeak:`BAyRca_userPriceOffPeak`,floatModeBtnOn:`BAyRca_floatModeBtnOn`,triggerPopShown:`BAyRca_triggerPopShown`,providerGroupBalanceLabel:`BAyRca_providerGroupBalanceLabel`,prog:`BAyRca_prog`,btn:`BAyRca_btn`,triggerMetric:`BAyRca_triggerMetric`,triggerYen:`BAyRca_triggerYen`,heatmapFooter:`BAyRca_heatmapFooter`,popModelStatus:`BAyRca_popModelStatus`,tabNav:`BAyRca_tabNav`,heroGaugeArcOver:`BAyRca_heroGaugeArcOver`,heroBudgetLabel:`BAyRca_heroBudgetLabel`,plgNameRow:`BAyRca_plgNameRow`,siteKindUnknown:`BAyRca_siteKindUnknown`,panelHead:`BAyRca_panelHead`,feeSuffix:`BAyRca_feeSuffix`,heatmapYearGrid:`BAyRca_heatmapYearGrid`,triggerIcon:`BAyRca_triggerIcon`,heroMain:`BAyRca_heroMain`,tabButtonActive:`BAyRca_tabButtonActive`,heroGaugePctOver:`BAyRca_heroGaugePctOver`,bucketCost:`BAyRca_bucketCost`,pricingToggle:`BAyRca_pricingToggle`,balanceDetailLabel:`BAyRca_balanceDetailLabel`,feeChipError:`BAyRca_feeChipError`,closeButton:`BAyRca_closeButton`,peakCardPeak:`BAyRca_peakCardPeak`,plgDesc:`BAyRca_plgDesc`,healthDot:`BAyRca_healthDot`,heatmapYearBody:`BAyRca_heatmapYearBody`,flatTag:`BAyRca_flatTag`,currencyButton:`BAyRca_currencyButton`,chartLine:`BAyRca_chartLine`,triggerPopSwitcher:`BAyRca_triggerPopSwitcher`,dashboardRight:`BAyRca_dashboardRight`,floatTargetLabel:`BAyRca_floatTargetLabel`,panelTitle:`BAyRca_panelTitle`,ubExtraName:`BAyRca_ubExtraName`,ctlCol:`BAyRca_ctlCol`,panel:`BAyRca_panel`,bucketSep:`BAyRca_bucketSep`,subscriptionTrack:`BAyRca_subscriptionTrack`,providerGroupBadge:`BAyRca_providerGroupBadge`,modelName:`BAyRca_modelName`,providerGroupList:`BAyRca_providerGroupList`,hero:`BAyRca_hero`,roundsBarLabel:`BAyRca_roundsBarLabel`,heatmapRangeButton:`BAyRca_heatmapRangeButton`,rangeToggle:`BAyRca_rangeToggle`,plgTag:`BAyRca_plgTag`,feeBar:`BAyRca_feeBar`,chartBar:`BAyRca_chartBar`,tableScroll:`BAyRca_tableScroll`,heroBudget:`BAyRca_heroBudget`,affix:`BAyRca_affix`,modelTable:`BAyRca_modelTable`,heroBudgetTrack:`BAyRca_heroBudgetTrack`,ubExtraNote:`BAyRca_ubExtraNote`,na:`BAyRca_na`,popHead:`BAyRca_popHead`,roundsFlagMark:`BAyRca_roundsFlagMark`,peakCountSuccess:`BAyRca_peakCountSuccess`,ctlRowStretch:`BAyRca_ctlRowStretch`,heroGaugeArc:`BAyRca_heroGaugeArc`,uncataloguedTag:`BAyRca_uncataloguedTag`,peakDotSuccess:`BAyRca_peakDotSuccess`,plgLink:`BAyRca_plgLink`,shareTrack:`BAyRca_shareTrack`,triggerPrimary:`BAyRca_triggerPrimary`,chartWrap:`BAyRca_chartWrap`,unpricedHint:`BAyRca_unpricedHint`,chartLegendBar:`BAyRca_chartLegendBar`,ubTable:`BAyRca_ubTable`,subscriptionFillOver:`BAyRca_subscriptionFillOver`,peakTagSuccess:`BAyRca_peakTagSuccess`,reconcileNotice:`BAyRca_reconcileNotice`,providerGroup:`BAyRca_providerGroup`,ubPricepair:`BAyRca_ubPricepair`,subscriptionWindow:`BAyRca_subscriptionWindow`,roundsAxis:`BAyRca_roundsAxis`,budgetInput:`BAyRca_budgetInput`,heatmapYearWeekday:`BAyRca_heatmapYearWeekday`,shareSeg:`BAyRca_shareSeg`,setCardHead:`BAyRca_setCardHead`,switchOn:`BAyRca_switchOn`,tabButton:`BAyRca_tabButton`,ubAlertLeft:`BAyRca_ubAlertLeft`,subscriptionCard:`BAyRca_subscriptionCard`,budgetFillOver:`BAyRca_budgetFillOver`,dashboardTitle:`BAyRca_dashboardTitle`,roundsBarCol:`BAyRca_roundsBarCol`,peakCardOff:`BAyRca_peakCardOff`,subscriptionPlan:`BAyRca_subscriptionPlan`,triggerLabel:`BAyRca_triggerLabel`,estimatedTag:`BAyRca_estimatedTag`,feeChipOff:`BAyRca_feeChipOff`,shareItem:`BAyRca_shareItem`,metricValueSuccess:`BAyRca_metricValueSuccess`,railButton:`BAyRca_railButton`,heroSideItem:`BAyRca_heroSideItem`,reconcileIcon:`BAyRca_reconcileIcon`,providerGroupHead:`BAyRca_providerGroupHead`,metricValuePrimary:`BAyRca_metricValuePrimary`,kpiGrid:`BAyRca_kpiGrid`,metricCell:`BAyRca_metricCell`,heroGauge:`BAyRca_heroGauge`,sessionGroupRow:`BAyRca_sessionGroupRow`,heatmapYearWeekdays:`BAyRca_heatmapYearWeekdays`,triggerSparkBar:`BAyRca_triggerSparkBar`,plgHead:`BAyRca_plgHead`,tokenPanel:`BAyRca_tokenPanel`,dashboardHead:`BAyRca_dashboardHead`,healthBadgeOk:`BAyRca_healthBadgeOk`,tokenModelPartIn:`BAyRca_tokenModelPartIn`,chartLegendLine:`BAyRca_chartLegendLine`,peakCardCorner:`BAyRca_peakCardCorner`,ubTagAlert:`BAyRca_ubTagAlert`,balanceDetailTitle:`BAyRca_balanceDetailTitle`,rangeButton:`BAyRca_rangeButton`,subscriptionHead:`BAyRca_subscriptionHead`,heroValue:`BAyRca_heroValue`,vendorLogo:`BAyRca_vendorLogo`,triggerPopEmpty:`BAyRca_triggerPopEmpty`,chartStack:`BAyRca_chartStack`,ubTablewrap:`BAyRca_ubTablewrap`,healthIdle:`BAyRca_healthIdle`,heroBudgetFill:`BAyRca_heroBudgetFill`,subscriptionTier:`BAyRca_subscriptionTier`,healthBadge:`BAyRca_healthBadge`,floatTarget:`BAyRca_floatTarget`,ubTagPromo:`BAyRca_ubTagPromo`,balanceDetailHead:`BAyRca_balanceDetailHead`,heroReadout:`BAyRca_heroReadout`,subscriptionAuto:`BAyRca_subscriptionAuto`,metricGrid:`BAyRca_metricGrid`,subscriptionMeta:`BAyRca_subscriptionMeta`,heatmapYearScroll:`BAyRca_heatmapYearScroll`,ubAlertNote:`BAyRca_ubAlertNote`,chartTooltipRow:`BAyRca_chartTooltipRow`,tokenModelBar:`BAyRca_tokenModelBar`,modelProvider:`BAyRca_modelProvider`,kpiLabel:`BAyRca_kpiLabel`,deltaDown:`BAyRca_deltaDown`,ubCard:`BAyRca_ubCard`,tokenModelParts:`BAyRca_tokenModelParts`,ubNotesTerm:`BAyRca_ubNotesTerm`,ubNotesDesc:`BAyRca_ubNotesDesc`,heroCurrency:`BAyRca_heroCurrency`,chartSvg:`BAyRca_chartSvg`,balanceDetailValue:`BAyRca_balanceDetailValue`,ubCardTitle:`BAyRca_ubCardTitle`,subscriptionReset:`BAyRca_subscriptionReset`,floatSubPlan:`BAyRca_floatSubPlan`,chartCrosshair:`BAyRca_chartCrosshair`,rounds:`BAyRca_rounds`,chartTooltipDate:`BAyRca_chartTooltipDate`,chartLegend:`BAyRca_chartLegend`,heatmapCellEmpty:`BAyRca_heatmapCellEmpty`,peakDesc:`BAyRca_peakDesc`,subscriptionFillWarn:`BAyRca_subscriptionFillWarn`,popModel:`BAyRca_popModel`,popModelLabel:`BAyRca_popModelLabel`,kpiValue:`BAyRca_kpiValue`,heroTop:`BAyRca_heroTop`,sessionChildRow:`BAyRca_sessionChildRow`,ubTagError:`BAyRca_ubTagError`,roundsEmpty:`BAyRca_roundsEmpty`,userPriceInput:`BAyRca_userPriceInput`,progFill:`BAyRca_progFill`,peakTag:`BAyRca_peakTag`,floatModeBtn:`BAyRca_floatModeBtn`,numCol:`BAyRca_numCol`,floatSub:`BAyRca_floatSub`,balanceDaysBadgeLow:`BAyRca_balanceDaysBadgeLow`,plgLabel:`BAyRca_plgLabel`,kpiTile:`BAyRca_kpiTile`,exportLabel:`BAyRca_exportLabel`,heatmapCell:`BAyRca_heatmapCell`,peakCardCenter:`BAyRca_peakCardCenter`,ctlGroup:`BAyRca_ctlGroup`,providerGroupMeta:`BAyRca_providerGroupMeta`,ctlRow:`BAyRca_ctlRow`,feeChipAlert:`BAyRca_feeChipAlert`,roundsBars:`BAyRca_roundsBars`,chartBarPlaceholder:`BAyRca_chartBarPlaceholder`,chartTooltipSwatch:`BAyRca_chartTooltipSwatch`,heroSideLabel:`BAyRca_heroSideLabel`,heatmapYear:`BAyRca_heatmapYear`,budgetFillWarn:`BAyRca_budgetFillWarn`,setCard:`BAyRca_setCard`,peakDotPrimary:`BAyRca_peakDotPrimary`,heatmapHover:`BAyRca_heatmapHover`,peakDot:`BAyRca_peakDot`,metricLabel:`BAyRca_metricLabel`,heroLabel:`BAyRca_heroLabel`,chartGrid:`BAyRca_chartGrid`,modelCell:`BAyRca_modelCell`,siteKindTag:`BAyRca_siteKindTag`,heroGaugePct:`BAyRca_heroGaugePct`,switch:`BAyRca_switch`,popTagSub:`BAyRca_popTagSub`,rdoDot:`BAyRca_rdoDot`,kpiGreen:`BAyRca_kpiGreen`,providerGroupTitle:`BAyRca_providerGroupTitle`,ubTagSuccess:`BAyRca_ubTagSuccess`,heatmapGrid:`BAyRca_heatmapGrid`,triggerSpark:`BAyRca_triggerSpark`,ubTagNeutral:`BAyRca_ubTagNeutral`,plgVal:`BAyRca_plgVal`,shareSegOff:`BAyRca_shareSegOff`,ubCardSub:`BAyRca_ubCardSub`,popDotDirect:`BAyRca_popDotDirect`,currencyToggle:`BAyRca_currencyToggle`,tabPanelIn:`BAyRca_tabPanelIn`,balanceDaysBadge:`BAyRca_balanceDaysBadge`,setCardTitle:`BAyRca_setCardTitle`,heroGaugeLabel:`BAyRca_heroGaugeLabel`,userPriceRemove:`BAyRca_userPriceRemove`,healthBadgeBad:`BAyRca_healthBadgeBad`,shareDot:`BAyRca_shareDot`,dashboardModal:`BAyRca_dashboardModal`,roundsBarColOff:`BAyRca_roundsBarColOff`,popModelName:`BAyRca_popModelName`,ubExtraRow:`BAyRca_ubExtraRow`,ubNotesItem:`BAyRca_ubNotesItem`,roundsBarFlagged:`BAyRca_roundsBarFlagged`,ubChipLabel:`BAyRca_ubChipLabel`,switchKnob:`BAyRca_switchKnob`,ubChipOff:`BAyRca_ubChipOff`,heroGaugeSvg:`BAyRca_heroGaugeSvg`,providerGroupBalance:`BAyRca_providerGroupBalance`,floatSubName:`BAyRca_floatSubName`,bucketThird:`BAyRca_bucketThird`,feeItem:`BAyRca_feeItem`,feeNum:`BAyRca_feeNum`,plgGrid:`BAyRca_plgGrid`,currencyButtonActive:`BAyRca_currencyButtonActive`,peakCard:`BAyRca_peakCard`,shareSegPeak:`BAyRca_shareSegPeak`,shareLegend:`BAyRca_shareLegend`,triggerSparkHot:`BAyRca_triggerSparkHot`,providerGroupName:`BAyRca_providerGroupName`,plgTitle:`BAyRca_plgTitle`,siteKindDirect:`BAyRca_siteKindDirect`,subscriptionStatus:`BAyRca_subscriptionStatus`,shareSegAssistant:`BAyRca_shareSegAssistant`,peakClose:`BAyRca_peakClose`,siteRowCalls:`BAyRca_siteRowCalls`,heatmapYearMonths:`BAyRca_heatmapYearMonths`,staleNotice:`BAyRca_staleNotice`,subscriptionName:`BAyRca_subscriptionName`,heroMeta:`BAyRca_heroMeta`,peakCountPrimary:`BAyRca_peakCountPrimary`,userPriceInputNum:`BAyRca_userPriceInputNum`,siteRow:`BAyRca_siteRow`,triggerWrap:`BAyRca_triggerWrap`,rangeButtonActive:`BAyRca_rangeButtonActive`,ubAlert:`BAyRca_ubAlert`,ubCardHead:`BAyRca_ubCardHead`,feeCount:`BAyRca_feeCount`,ubChipPeak:`BAyRca_ubChipPeak`,subscriptionGoldFlow:`BAyRca_subscriptionGoldFlow`,delta:`BAyRca_delta`,subscriptionWindowLabel:`BAyRca_subscriptionWindowLabel`,userPriceField:`BAyRca_userPriceField`,deltaUp:`BAyRca_deltaUp`,siteKindSite:`BAyRca_siteKindSite`,ubCardControlGroup:`BAyRca_ubCardControlGroup`,trigger:`BAyRca_trigger`,plgIcon:`BAyRca_plgIcon`,siteRowCallsLow:`BAyRca_siteRowCallsLow`,heatmapLegend:`BAyRca_heatmapLegend`,popModelStatusLow:`BAyRca_popModelStatusLow`,kpiDetail:`BAyRca_kpiDetail`,bucketOfficial:`BAyRca_bucketOfficial`,heatmapRangeButtonActive:`BAyRca_heatmapRangeButtonActive`,ctlLabel:`BAyRca_ctlLabel`,heroGaugeCenter:`BAyRca_heroGaugeCenter`,exportButton:`BAyRca_exportButton`,shareValue:`BAyRca_shareValue`,siteRowTitle:`BAyRca_siteRowTitle`,roundsBarColPeak:`BAyRca_roundsBarColPeak`,tabPanel:`BAyRca_tabPanel`,subscriptionExhausted:`BAyRca_subscriptionExhausted`,peakAlertIn:`BAyRca_peakAlertIn`,triggerPopSubscription:`BAyRca_triggerPopSubscription`,popDot:`BAyRca_popDot`,heroGaugeTrack:`BAyRca_heroGaugeTrack`,panelHint:`BAyRca_panelHint`,balanceDetailRow:`BAyRca_balanceDetailRow`,triggerSub:`BAyRca_triggerSub`,chartTooltip:`BAyRca_chartTooltip`,healthOk:`BAyRca_healthOk`,subscriptionGrid:`BAyRca_subscriptionGrid`,metricValue:`BAyRca_metricValue`,modelDot:`BAyRca_modelDot`,dashboard:`BAyRca_dashboard`,emptyRow:`BAyRca_emptyRow`,balanceDetailClose:`BAyRca_balanceDetailClose`,reconcileDismiss:`BAyRca_reconcileDismiss`,"billing-trigger":`BAyRca_billing-trigger`,popDotSub:`BAyRca_popDotSub`,dashboardBody:`BAyRca_dashboardBody`,modalFooter:`BAyRca_modalFooter`,heatmapRangeSwitch:`BAyRca_heatmapRangeSwitch`,peakTagPrimary:`BAyRca_peakTagPrimary`,setCardMeta:`BAyRca_setCardMeta`,tokenModelPartOut:`BAyRca_tokenModelPartOut`,planTag:`BAyRca_planTag`,ubModelName:`BAyRca_ubModelName`,ubModel:`BAyRca_ubModel`,exportBar:`BAyRca_exportBar`,healthBad:`BAyRca_healthBad`,floatSubHead:`BAyRca_floatSubHead`,vendorLetter:`BAyRca_vendorLetter`,feeSep:`BAyRca_feeSep`,inp:`BAyRca_inp`,popTagPrimary:`BAyRca_popTagPrimary`,roundsBarWrap:`BAyRca_roundsBarWrap`,userPriceRow:`BAyRca_userPriceRow`,rdo:`BAyRca_rdo`,shareSegTool:`BAyRca_shareSegTool`,reconcileText:`BAyRca_reconcileText`,subscriptionPct:`BAyRca_subscriptionPct`,roundsBar:`BAyRca_roundsBar`,heatmapYearMonth:`BAyRca_heatmapYearMonth`,triggerPopSwitchCount:`BAyRca_triggerPopSwitchCount`,siteRowName:`BAyRca_siteRowName`,balanceCell:`BAyRca_balanceCell`,subscriptionFill:`BAyRca_subscriptionFill`,setCardDesc:`BAyRca_setCardDesc`,ubTag:`BAyRca_ubTag`,feeChipPrimary:`BAyRca_feeChipPrimary`,siteRowCost:`BAyRca_siteRowCost`,popDotNeutral:`BAyRca_popDotNeutral`,heroSide:`BAyRca_heroSide`,popModelRow:`BAyRca_popModelRow`,dashboardIn:`BAyRca_dashboardIn`,heroBudgetFillOver:`BAyRca_heroBudgetFillOver`,budgetOverPulse:`BAyRca_budgetOverPulse`,heroSideSpacer:`BAyRca_heroSideSpacer`,ubRate:`BAyRca_ubRate`,pricingTable:`BAyRca_pricingTable`,triggerPop:`BAyRca_triggerPop`,ubNotes:`BAyRca_ubNotes`,balanceDetailGrid:`BAyRca_balanceDetailGrid`,shareSegUser:`BAyRca_shareSegUser`,heatmap:`BAyRca_heatmap`,balanceDetailPop:`BAyRca_balanceDetailPop`,dashboardSubtitle:`BAyRca_dashboardSubtitle`,heroSideValue:`BAyRca_heroSideValue`,chartAxisLabel:`BAyRca_chartAxisLabel`,siteRowMeta:`BAyRca_siteRowMeta`,plgItem:`BAyRca_plgItem`,popTitle:`BAyRca_popTitle`,heatmapYearCell:`BAyRca_heatmapYearCell`,chartEmpty:`BAyRca_chartEmpty`,tokenModelShareRow:`BAyRca_tokenModelShareRow`,peakCount:`BAyRca_peakCount`,heroBudgetValue:`BAyRca_heroBudgetValue`,triggerMain:`BAyRca_triggerMain`,plgName:`BAyRca_plgName`};let D={"opencode-go":{type:`code`,subscription:{amount:10,currency:`USD`,period:`month`},tier:{amount:10,currency:`USD`,periodDays:7,label:`周额度 $30`}},opencode:{type:`code`,subscription:{amount:10,currency:`USD`,period:`month`},tier:{amount:10,currency:`USD`,periodDays:7,label:`周额度 $30`}},"kimi-coding":{type:`code`},"zai-coding-cn":{type:`code`},"zai-coding":{type:`code`},"qwen-token-plan":{type:`code`},"qwen-token-plan-cn":{type:`code`},"xiaomi-token-plan-ams":{type:`code`},"xiaomi-token-plan-cn":{type:`code`},"xiaomi-token-plan-sgp":{type:`code`},"volcengine-token-plan":{type:`code`},"ark-token-plan":{type:`code`},"doubao-token-plan":{type:`code`},minimax:{type:`code`},"minimax-cn":{type:`code`},"minimax-token-plan":{type:`code`},"minimax-token-plan-cn":{type:`code`},"hunyuan-token-plan":{type:`code`},"tencent-token-plan":{type:`code`},"hy-token-plan":{type:`code`},"xinghuo-token-plan":{type:`code`},"xfyun-coding":{type:`code`},"spark-coding":{type:`code`},"huawei-token-plan":{type:`code`},"pangu-token-plan":{type:`code`},"huawei-maas-token-plan":{type:`code`},"volcengine-agent-plan":{type:`code`},"ark-agent-plan":{type:`code`},"baidu-token-plan":{type:`code`},"ernie-token-plan":{type:`code`},"wenxin-token-plan":{type:`code`}},ee={glm:`zai-coding-cn`,bigmodel:`zai-coding-cn`,zhipu:`zai-coding-cn`,zhipuai:`zai-coding-cn`,zai:`zai-coding`,ark:`volcengine-token-plan`,volcengine:`volcengine-token-plan`,doubao:`doubao-token-plan`,moonshot:`kimi-coding`,kimi:`kimi-coding`,xiaomi:`xiaomi-token-plan-cn`,opencode:`opencode-go`};function te(e){return e===``?e:ee[e]??e}function ne(e){let t=D[te(e)];return t?.type===`code`?t.tier:void 0}let O=[{key:`deepseek-v4-flash`,input:.14,cacheHit:.0028,output:.28},{key:`deepseek-v4-pro`,input:.435,cacheHit:.003625,output:.87},{key:`gpt-5.6-sol`,input:5,cacheHit:.5,output:30},{key:`gpt-5.6-terra`,input:2,cacheHit:.2,output:12},{key:`gpt-5.6-luna`,input:.2,cacheHit:.02,output:1.2},{key:`glm-5.2`,input:1.4,cacheHit:.26,output:4.4},{key:`qwen3.8-max`,input:2,cacheHit:.21,output:6},{key:`kimi-k3`,input:2.82,cacheHit:.28,output:14.08},{key:`grok-4.6`,input:2,cacheHit:.5,output:6},{key:`gemini-2.5-pro`,input:1.25,cacheHit:.125,output:10}],k,re,A,ie,j;function ae(e){j=e.length>0?e:void 0}function M(){return j}function N(e){return z(e)}function oe(e,t){if(j===void 0)return;let n=N(e),r=L(n);if(t!==void 0){for(let e of j)if(e.origin!==void 0&&e.origin!==``&&(N(e.key)===n||L(e.key)===r)&&e.origin===t)return{input:e.input,cacheHit:e.cacheHit,output:e.output,...e.currency===void 0?{}:{currency:e.currency}}}for(let e of j)if((e.origin===void 0||e.origin===``)&&(N(e.key)===n||L(e.key)===r))return{input:e.input,cacheHit:e.cacheHit,output:e.output,...e.currency===void 0?{}:{currency:e.currency}}}function P(e){k=typeof e.rate==`number`&&Number.isFinite(e.rate)&&e.rate>0?e.rate:void 0,re=e.prices,A=e.extraModels}function se(e){ie=e}function ce(){return k??6.79}function le(){return{rate:ce(),live:k!==void 0}}function ue(e){return e>=9&&e<12||e>=14&&e<18}function de(e){return e==null||!Number.isFinite(e)?`peak`:fe(e)?`offPeak`:ue((new Date(e).getUTCHours()+8)%24)?`peak`:`offPeak`}function fe(e){let t=new Date(e+288e5).getUTCDay();return t===0||t===6}let pe=[540,720,840,1080];function me(e){return((e+288e5)%864e5+864e5)%864e5}function he(e){let t=de(e),n=me(e);for(let r=0;r<7;r++){let i=r*864e5-n;for(let n of pe){let r=i+n*6e4;if(!(r<=0)&&de(e+r)!==t)return{tier:t,nextSwitchInMs:r}}}let r=pe[0]??0;return{tier:t,nextSwitchInMs:864e5-n+r*6e4}}function ge(e,t){let{nextSwitchInMs:n}=he(e);if(n>t)return null;let r=e+n;return{entering:de(r),atMs:r}}function F(e){let t=Math.max(1,Math.ceil(e/6e4)),n=Math.floor(t/60),r=t%60;return n>0?`${n}h${String(r).padStart(2,`0`)}m`:`${r}m`}let _e=`09:00-12:00 / 14:00-18:00`,ve=`Standard / Flex`,ye=[{key:`flash`,name:`DeepSeek V4 Flash`,provider:`DeepSeek`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:2,cacheHit:.04,output:8,offPeak:{input:1,cacheHit:.02,output:4}},peakHours:_e},{key:`flash-vision-exp`,name:`DeepSeek V4 Flash Vision (Exp)`,provider:`DeepSeek`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:2,cacheHit:.04,output:8,offPeak:{input:1,cacheHit:.02,output:4}},peakHours:_e},{key:`pro`,name:`DeepSeek V4 Pro`,provider:`DeepSeek`,colorVar:`dsw-static-deepseek-500`,price:{currency:`CNY`,input:2,cacheHit:.04,output:8,offPeak:{input:1,cacheHit:.02,output:4}},peakHours:_e},{key:`glm`,name:`GLM-5.2`,provider:`智谱 AI`,colorVar:`dsw-static-blue-600`,price:{currency:`CNY`,input:8,cacheHit:2,output:28}},{key:`glm-5.3`,name:`GLM-5.3`,provider:`智谱 AI`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:8,cacheHit:2,output:28}},{key:`glm-5.3-flash`,name:`GLM-5.3-Flash`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:.8,cacheHit:.23,output:2.8},promo:{factor:.5,endsAtMs:Date.UTC(2026,8,8,16,0,0),note:`限时 5 折`}},{key:`glm-4.6`,name:`GLM-4.6`,provider:`智谱 AI`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16}},{key:`glm-4.5-air`,name:`GLM-4.5-Air`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:.8,cacheHit:.16,output:2}},{key:`glm-4.7`,name:`GLM-4.7`,provider:`智谱 AI`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:4,cacheHit:1,output:16},estimated:!0},{key:`glm-5-turbo`,name:`GLM-5-Turbo`,provider:`智谱 AI`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:5,cacheHit:1.2,output:22}},{key:`glm-5.1`,name:`GLM-5.1`,provider:`智谱 AI`,colorVar:`dsw-static-blue-600`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:24}},{key:`glm-5v-turbo`,name:`GLM-5V-Turbo`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:5,cacheHit:1.2,output:22}},{key:`qwen-3.8-max`,name:`Qwen3.8 Max`,provider:`阿里通义`,colorVar:`dsw-static-blue-600`,price:{currency:`CNY`,input:12,cacheHit:1.5,output:36},extraRows:[{label:`显式缓存创建`,input:15},{label:`显式缓存命中`,input:1},{label:`Batch File`,input:6,output:18,note:`长期半价`},{label:`Batch Chat`,input:12,output:36,note:`与标准价一致`}]},{key:`qwen-3.8-flash`,name:`Qwen3.8 Flash`,provider:`阿里通义`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:1,cacheHit:.1,output:3},extraRows:[{label:`显式缓存创建`,input:1.25},{label:`显式缓存命中`,input:.1},{label:`Batch File`,input:.5,output:1.5,note:`长期半价`},{label:`Batch Chat`,input:1,output:3,note:`与标准价一致`}]},{key:`qwen-max`,name:`Qwen3.7-Max`,provider:`阿里通义`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:12,cacheHit:1.2,output:36},promo:{factor:.5,note:`限时 5 折`},extraRows:[{label:`显式缓存创建`,input:15},{label:`显式缓存命中`,input:1.2},{label:`Batch File`,input:6,output:18,note:`长期半价`},{label:`Batch Chat`,input:12,output:36,note:`与标准价一致`}]},{key:`qwen-plus`,name:`Qwen3.5-Plus`,provider:`阿里通义`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:.8,cacheHit:.08,output:4.8},extraRows:[{label:`显式缓存创建`,input:1},{label:`显式缓存命中`,input:.08},{label:`Batch File`,input:.4,output:2.4,note:`长期半价`},{label:`Batch Chat`,input:.8,output:4.8,note:`与标准价一致`}]},{key:`qwen-flash`,name:`Qwen3.5-Flash`,provider:`阿里通义`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:.2,cacheHit:.02,output:2},extraRows:[{label:`显式缓存创建`,input:.25},{label:`显式缓存命中`,input:.02}]},{key:`doubao`,name:`Doubao Seed-2.0 Pro`,provider:`字节豆包`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:3.2,cacheHit:.64,output:16}},{key:`doubao-mini`,name:`Doubao Seed-2.0 Mini`,provider:`字节豆包`,colorVar:`dsw-static-red-300`,price:{currency:`CNY`,input:.2,cacheHit:.02,output:2}},{key:`doubao-1.6`,name:`Doubao Seed-1.6`,provider:`字节豆包`,colorVar:`dsw-static-red-400`,price:{currency:`CNY`,input:.8,cacheHit:0,output:8}},{key:`doubao-seed-evolving`,name:`Doubao-Seed-Evolving`,provider:`字节豆包`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:30}},{key:`doubao-seed-2.1-pro`,name:`Doubao Seed-2.1 Pro`,provider:`字节豆包`,colorVar:`dsw-static-red-400`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:30}},{key:`doubao-seed-2.1-turbo`,name:`Doubao Seed-2.1 Turbo`,provider:`字节豆包`,colorVar:`dsw-static-red-300`,price:{currency:`CNY`,input:3,cacheHit:.6,output:15}},{key:`kimi`,name:`Kimi K2.7 Code`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-700`,price:{currency:`CNY`,input:6.5,cacheHit:1.3,output:27}},{key:`kimi-k2.7-hs`,name:`Kimi K2.7 Code HighSpeed`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-600`,price:{currency:`CNY`,input:13,cacheHit:2.6,output:54}},{key:`kimi-k2.6`,name:`Kimi K2.6`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:6.5,cacheHit:1.1,output:27}},{key:`kimi-k3`,name:`Kimi K3`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:20,cacheHit:2,output:100}},{key:`mimo-v2.5`,name:`MiMo V2.5`,provider:`小米`,colorVar:`dsw-static-green-400`,price:{currency:`CNY`,input:1,cacheHit:.02,output:2}},{key:`mimo-v2.5-pro`,name:`MiMo V2.5 Pro`,provider:`小米`,colorVar:`dsw-static-green-400`,price:{currency:`CNY`,input:3,cacheHit:.025,output:6}},{key:`minimax`,name:`MiniMax-M3`,provider:`MiniMax`,colorVar:`dsw-static-amber-500`,price:{currency:`CNY`,input:2.1,cacheHit:.42,output:8.4}},{key:`minimax-m2.7`,name:`MiniMax-M2.7`,provider:`MiniMax`,colorVar:`dsw-static-amber-400`,price:{currency:`CNY`,input:2.1,cacheHit:.42,output:8.4}},{key:`minimax-m2.7-highspeed`,name:`MiniMax-M2.7-highspeed`,provider:`MiniMax`,colorVar:`dsw-static-amber-500`,price:{currency:`CNY`,input:4.2,cacheHit:.42,output:16.8}},{key:`ernie`,name:`ERNIE-5.1`,provider:`百度文心`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:4,cacheHit:.4,output:18}},{key:`hunyuan`,name:`混元 Hy3`,provider:`腾讯混元`,colorVar:`dsw-static-amber-400`,price:{currency:`CNY`,input:1,cacheHit:.25,output:4}},{key:`hunyuan-t1`,name:`混元 T1`,provider:`腾讯混元`,colorVar:`dsw-static-amber-300`,price:{currency:`CNY`,input:1,cacheHit:.1,output:4}},{key:`yi`,name:`Yi-Lightning`,provider:`零一万物`,colorVar:`dsw-static-green-500`,price:{currency:`CNY`,input:.99,cacheHit:.1,output:.99}},{key:`step`,name:`Step 3.7 Flash`,provider:`阶跃星辰`,colorVar:`dsw-static-neutral-bluish-400`,price:{currency:`CNY`,input:1.35,cacheHit:.27,output:8.1}},{key:`spark`,name:`Spark 4.0 Ultra`,provider:`科大讯飞`,colorVar:`dsw-static-green-400`,price:{currency:`CNY`,input:5,cacheHit:.5,output:10},estimated:!0},{key:`sensenova`,name:`SenseNova 6.5`,provider:`商汤`,colorVar:`dsw-static-red-400`,price:{currency:`CNY`,input:4.5,cacheHit:.45,output:9},estimated:!0},{key:`baichuan`,name:`Baichuan M3-Plus`,provider:`百川智能`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:5,cacheHit:.5,output:9}},{key:`gpt-5.6-sol`,name:`GPT-5.6 Sol`,provider:`OpenAI`,colorVar:`dsw-static-green-500`,price:{currency:`USD`,input:5,cacheHit:.5,output:30}},{key:`gpt-5.6-terra`,name:`GPT-5.6 Terra`,provider:`OpenAI`,colorVar:`dsw-static-green-400`,price:{currency:`USD`,input:2,cacheHit:.2,output:12}},{key:`gpt-5.6-luna`,name:`GPT-5.6 Luna`,provider:`OpenAI`,colorVar:`dsw-static-green-500`,price:{currency:`USD`,input:.2,cacheHit:.02,output:1.2}},{key:`gemini-pro`,name:`Gemini 3.1 Pro`,provider:`Google`,colorVar:`dsw-static-blue-600`,price:{currency:`USD`,input:2,cacheHit:.2,output:12,offPeak:{input:1,cacheHit:.1,output:6}},peakHours:ve,tierSemantics:`latency`},{key:`gemini-flash`,name:`Gemini 3.6 Flash`,provider:`Google`,colorVar:`dsw-static-blue-400`,price:{currency:`USD`,input:1.5,cacheHit:.15,output:7.5,offPeak:{input:.75,cacheHit:.075,output:3.75}},peakHours:ve,tierSemantics:`latency`},{key:`grok`,name:`Grok 4.6`,provider:`xAI`,colorVar:`dsw-static-neutral-bluish-700`,price:{currency:`USD`,input:2,cacheHit:.5,output:6}},{key:`grok-4.3`,name:`Grok 4.3`,provider:`xAI`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`USD`,input:1.25,cacheHit:.2,output:2.5}},{key:`llama`,name:`Llama 4 Maverick`,provider:`Meta`,colorVar:`dsw-static-red-500`,price:{currency:`USD`,input:.2,cacheHit:.05,output:.6}},{key:`llama-scout`,name:`Llama 4 Scout`,provider:`Meta`,colorVar:`dsw-static-red-400`,price:{currency:`USD`,input:.1,cacheHit:.025,output:.3}},{key:`claude-opus-4-6`,name:`Claude Opus 4.6`,provider:`Anthropic`,colorVar:`dsw-static-red-500`,price:{currency:`USD`,input:5,cacheHit:.5,output:25}},{key:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,provider:`Anthropic`,colorVar:`dsw-static-red-400`,price:{currency:`USD`,input:3,cacheHit:.3,output:15}},{key:`claude-haiku-4-5`,name:`Claude Haiku 4.5`,provider:`Anthropic`,colorVar:`dsw-static-red-300`,price:{currency:`USD`,input:1,cacheHit:.1,output:5}},{key:`claude-opus-5`,name:`Claude Opus 5`,provider:`Anthropic`,colorVar:`dsw-static-red-500`,price:{currency:`USD`,input:5,cacheHit:.5,output:25}},{key:`claude-sonnet-5`,name:`Claude Sonnet 5`,provider:`Anthropic`,colorVar:`dsw-static-red-400`,price:{currency:`USD`,input:2,cacheHit:.2,output:10}},{key:`mistral-large-2512`,name:`Mistral Large 3`,provider:`Mistral AI`,colorVar:`dsw-static-violet-500`,price:{currency:`USD`,input:.5,cacheHit:.05,output:1.5}},{key:`mistral-small-2603`,name:`Mistral Small 4`,provider:`Mistral AI`,colorVar:`dsw-static-violet-400`,price:{currency:`USD`,input:.15,cacheHit:.015,output:.6}},{key:`ministral-8b-latest`,name:`Ministral 8B`,provider:`Mistral AI`,colorVar:`dsw-static-violet-300`,price:{currency:`USD`,input:.1,cacheHit:.01,output:.1}},{key:`command-a-03-2025`,name:`Command A`,provider:`Cohere`,colorVar:`dsw-static-cyan-500`,price:{currency:`USD`,input:2.5,cacheHit:.25,output:10}},{key:`command-r-08-2024`,name:`Command R`,provider:`Cohere`,colorVar:`dsw-static-cyan-400`,price:{currency:`USD`,input:.15,cacheHit:.015,output:.6}},{key:`longcat-2.0`,name:`LongCat 2.0`,provider:`美团`,colorVar:`dsw-static-amber-500`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16},estimated:!0},{key:`minicpm-v-4.5`,name:`MiniCPM-V 4.5`,provider:`面壁智能`,colorVar:`dsw-static-green-500`,price:{currency:`CNY`,input:1,cacheHit:.2,output:4},estimated:!0},{key:`ernie-4.5`,name:`ERNIE-4.5 300B`,provider:`百度文心`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:2,cacheHit:.4,output:8},estimated:!0},{key:`dots-3-note-preview`,name:`Dots3-Note Preview`,provider:`小红书`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:2,cacheHit:.4,output:8},estimated:!0},{key:`qwen3.6-max`,name:`Qwen3.6 Max`,provider:`阿里通义`,colorVar:`dsw-static-orange-500`,price:{currency:`CNY`,input:9,cacheHit:.9,output:54},extraRows:[{label:`显式缓存创建`,input:11.25},{label:`显式缓存命中`,input:.9}]},{key:`qwen3-coder-plus`,name:`Qwen3-Coder Plus`,provider:`阿里通义`,colorVar:`dsw-static-orange-400`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16},extraRows:[{label:`显式缓存创建`,input:5},{label:`显式缓存命中`,input:.4}]},{key:`qwen3-coder`,name:`Qwen3-Coder 480B`,provider:`阿里通义`,colorVar:`dsw-static-orange-300`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16},estimated:!0},{key:`glm-4.5-x`,name:`GLM-4.5-X`,provider:`智谱 AI`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:4,cacheHit:1,output:16},estimated:!0},{key:`glm-5.2-fast`,name:`GLM-5.2 Fast`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:24},estimated:!0},{key:`kimi-k3-fast`,name:`Kimi K3 Fast`,provider:`月之暗面`,colorVar:`dsw-static-cyan-400`,price:{currency:`CNY`,input:20,cacheHit:2,output:100},estimated:!0},{key:`kimi-k2.7-code-fast`,name:`Kimi K2.7 Code Fast`,provider:`月之暗面`,colorVar:`dsw-static-cyan-400`,price:{currency:`CNY`,input:6.5,cacheHit:1.3,output:27},estimated:!0},{key:`kimi-k2.6-fast`,name:`Kimi K2.6 Fast`,provider:`月之暗面`,colorVar:`dsw-static-cyan-300`,price:{currency:`CNY`,input:6.5,cacheHit:1.1,output:27},estimated:!0},{key:`kimi-k2.6-turbo`,name:`Kimi K2.6 Turbo`,provider:`月之暗面`,colorVar:`dsw-static-cyan-300`,price:{currency:`CNY`,input:6.5,cacheHit:1.1,output:27},estimated:!0},{key:`kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,provider:`月之暗面`,colorVar:`dsw-static-cyan-300`,price:{currency:`CNY`,input:8,cacheHit:1,output:58}},{key:`doubao-seed-2.0-code`,name:`Doubao Seed-2.0 Code`,provider:`字节豆包`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:3.2,cacheHit:.64,output:16}},{key:`doubao-seed-2.0-lite`,name:`Doubao Seed-2.0 Lite`,provider:`字节豆包`,colorVar:`dsw-static-red-300`,price:{currency:`CNY`,input:.6,cacheHit:.12,output:3.6}},{key:`other`,name:`其他模型`,provider:`Custom`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:0,cacheHit:0,cacheMiss:0,output:0}}],I={"deepseek-v4-flash":`flash`,"deepseek-v4-flash-vision-exp":`flash-vision-exp`,"deepseek-v4.1-flash":`flash`,"deepseek-v4.1-flash-expires-on-0910":`flash`,"deepseek-v4-pro":`pro`,"glm-5.2":`glm`,"glm-4.5-air":`glm-4.5-air`,"glm-4.5air":`glm-4.5-air`,"glm-4.7":`glm-4.7`,"glm-5-turbo":`glm-5-turbo`,"glm-5.1":`glm-5.1`,"glm-5.3-flash":`glm-5.3-flash`,"glm-5v-turbo":`glm-5v-turbo`,"glm-5v.1":`glm-5v-turbo`,"claude-opus-4-6":`claude-opus-4-6`,"claude-opus-4.6":`claude-opus-4-6`,"claude-sonnet-4-6":`claude-sonnet-4-6`,"claude-sonnet-4.6":`claude-sonnet-4-6`,"claude-haiku-4-5":`claude-haiku-4-5`,"claude-haiku-4.5":`claude-haiku-4-5`,"claude-opus-5":`claude-opus-5`,"claude-sonnet-5":`claude-sonnet-5`,"mistral-large-2512":`mistral-large-2512`,"mistral-large-3":`mistral-large-2512`,"mistral-small-2603":`mistral-small-2603`,"mistral-small-4":`mistral-small-2603`,"ministral-8b-latest":`ministral-8b-latest`,"ministral-8b":`ministral-8b-latest`,"command-a-03-2025":`command-a-03-2025`,"command-a":`command-a-03-2025`,"command-r-08-2024":`command-r-08-2024`,"command-r":`command-r-08-2024`,"longcat-2.0":`longcat-2.0`,"longcat-2":`longcat-2.0`,"minicpm-v-4.5":`minicpm-v-4.5`,"minicpm-v-4.5-thinking":`minicpm-v-4.5`,"ernie-4.5":`ernie-4.5`,"ernie-4.5-300b":`ernie-4.5`,"dots-3-note-preview":`dots-3-note-preview`,"dots-3-note":`dots-3-note-preview`,"dots3-note-preview":`dots-3-note-preview`,"rednote-dots3":`dots-3-note-preview`,"doubao-seed-evolving":`doubao-seed-evolving`,"doubao-seed-evolve":`doubao-seed-evolving`,"doubao-seed-2.1-pro":`doubao-seed-2.1-pro`,"doubao-seed-2.1-pro-290000":`doubao-seed-2.1-pro`,"doubao-seed-2.1-turbo":`doubao-seed-2.1-turbo`,"doubao-seed-2-1-turbo":`doubao-seed-2.1-turbo`,"qwen3.8-max":`qwen-3.8-max`,"qwen3.8-flash":`qwen-3.8-flash`,"qwen3.7-max":`qwen-max`,"qwen3.6-max":`qwen3.6-max`,"qwen3.6-max-preview":`qwen3.6-max`,"qwen3-coder-plus":`qwen3-coder-plus`,"qwen3-coder":`qwen3-coder`,"qwen3-coder-480b":`qwen3-coder`,"glm-4.5-x":`glm-4.5-x`,"glm-4.5x":`glm-4.5-x`,"glm-5.2-fast":`glm-5.2-fast`,"glm-5.2f":`glm-5.2-fast`,"kimi-k3-fast":`kimi-k3-fast`,"kimi-k3f":`kimi-k3-fast`,"kimi-k2.7-code-fast":`kimi-k2.7-code-fast`,"kimi-k2.7-code-f":`kimi-k2.7-code-fast`,"kimi-k2.6-fast":`kimi-k2.6-fast`,"kimi-k2.6-turbo":`kimi-k2.6-turbo`,"kimi-k2-thinking-turbo":`kimi-k2-thinking-turbo`,"doubao-seed-2.0-code":`doubao-seed-2.0-code`,"doubao-seed-2-0-code":`doubao-seed-2.0-code`,"doubao-seed-2.0-lite":`doubao-seed-2.0-lite`,"doubao-seed-2-0-lite":`doubao-seed-2.0-lite`,"qwen-max":`qwen-max`,"hunyuan-t1":`hunyuan-t1`,"step-3.7-flash":`step`,"seed-2.0-mini":`doubao-mini`,k3:`kimi-k3`,"kimi-k3":`kimi-k3`,"minimax-m1":`minimax`,"minimax-m2":`minimax`,"minimax-m3":`minimax`,"minimax-m2.7":`minimax-m2.7`,"minimax-m2.7-highspeed":`minimax-m2.7-highspeed`,"minimax-m2.7-high-speed":`minimax-m2.7-highspeed`,"minimax-m2-7":`minimax-m2.7`,"minimax-m2-7-highspeed":`minimax-m2.7-highspeed`,"minimax-m2-7-high-speed":`minimax-m2.7-highspeed`};function L(e){return String(e).toLowerCase().replace(/\([^)]*\)/g,``).replace(/[^a-z0-9]+/g,``)}let R=(()=>{let e=new Map,t=(t,n)=>{let r=L(t);r!==``&&!e.has(r)&&e.set(r,n)};for(let e of ye)t(e.key,e.key);for(let[e,n]of Object.entries(I))t(e,n);for(let e of O)t(e.key,e.key);return e})();function z(e){let t=I[e]??e;if(t===e){let t=L(e);if(t!==``){let e=R.get(t);if(e!==void 0)return e;let n=(A??[]).find(e=>L(e.key)===t);if(n!==void 0)return n.key}}return t}function be(e){let t=z(e),n=re?.[t];if(n!==void 0)return n;let r=O.find(e=>e.key.toLowerCase()===t.toLowerCase());if(r!==void 0)return{input:r.input,cacheHit:r.cacheHit,output:r.output}}function xe(e){let t=z(e),n=ye.find(e=>e.key===t),r=A?.find(e=>e.key===t),i=n??(r===void 0?(()=>{let e=ye.at(-1);if(e!==void 0)return e;throw Error(`MODEL_CATALOG must not be empty`)})():B(r)),a=oe(t);if(a!==void 0)return{...i,userPriced:!0,price:{currency:a.currency??`CNY`,input:a.input,cacheHit:a.cacheHit,output:a.output}};let o=be(t);return o===void 0?i:{...i,price:{currency:`USD`,input:o.input,cacheHit:o.cacheHit,output:o.output}}}function B(e){return{key:e.key,name:e.name,provider:e.provider,colorVar:`dsw-static-neutral-400`,price:{currency:`USD`,input:e.price.input,cacheHit:e.price.cacheHit,output:e.price.output}}}function Se(e,t){let n=e.endsAtMs!==void 0&&t>=e.endsAtMs;return Number.isFinite(t)&&!n&&e.factor>0&&e.factor<1}function V(e,t){let{promo:n}=e;if(n===void 0||!Se(n,t))return e;let r=e=>({input:e.input*n.factor,cacheHit:e.cacheHit*n.factor,...e.cacheMiss===void 0?{}:{cacheMiss:e.cacheMiss*n.factor},output:e.output*n.factor});return{...e,price:{...r(e.price),currency:e.price.currency,...e.price.offPeak===void 0?{}:{offPeak:r(e.price.offPeak)}}}}function Ce(e=Date.now()){let t=[...ye.map(t=>V(t,e))],n=new Set(t.map(e=>e.key.toLowerCase())),r=new Set(t.map(e=>L(e.key)));for(let e of ie??[]){let i=e.id.toLowerCase();if((()=>{let t=z(e.id);return ye.find(e=>e.key===t)})()!==void 0)continue;let a=L(e.id);if(n.has(i)||a!==``&&r.has(a))continue;let o=(A??[]).find(e=>L(e.key)===a),s;if(o!==void 0)s=B(o),e.name!==void 0&&e.name!==``&&(s={...s,name:e.name});else{let t=be(i);s=t===void 0?{key:z(e.id),name:e.name??e.id,provider:e.provider,colorVar:`dsw-static-neutral-400`,price:{currency:`USD`,input:0,cacheHit:0,output:0},uncatalogued:!0}:{key:i,name:e.name??e.id,provider:e.provider,colorVar:`dsw-static-neutral-400`,price:{currency:`USD`,input:t.input,cacheHit:t.cacheHit,output:t.output}}}n.add(s.key.toLowerCase()),a!==``&&r.add(a),t.push(s)}return t.map(e=>{let t=oe(e.key);return t===void 0?e:{...e,userPriced:!0,price:{currency:t.currency??`CNY`,input:t.input,cacheHit:t.cacheHit,output:t.output}}})}function we(e){let t=getComputedStyle(document.documentElement).getPropertyValue(`--${e}`).trim();return t===``?`#8b95a3`:t}function H(e,t,n){let r=t.cacheMiss>0?t.cacheMiss:Math.max(0,t.input-t.cacheHit),i=Math.min(t.cacheHit,t.input),a=(r*(e.cacheMiss??e.input)+i*e.cacheHit+t.output*e.output)/1e6;return n===`USD`?a*ce():a}function Te(e,t,n=.5,r=Date.now()){let i=V(e,r),a=H(i.price,t,i.price.currency),o=i.price.offPeak===void 0?a:H(i.price.offPeak,t,i.price.currency);return a*n+o*(1-n)}function Ee(e){let t=ce();return t>0?e/t:e}function U(e,t=`cny`){let n=Number(e);if(!Number.isFinite(n))return t===`cny`?`¥0`:`$0`;let r=t===`cny`?`¥`:`$`;return n<=0?`${r}0`:n>=1e3?`${r}${n.toFixed(0)}`:n>=10?`${r}${n.toFixed(1)}`:n>=.1?`${r}${n.toFixed(2)}`:`${r}${n.toFixed(3)}`}function De(e,t=`CNY`){return e===0?`免费`:t===`USD`?e>=10?`$${e.toFixed(1)}`:`$${e.toFixed(2)}`:e>=10?`¥${e.toFixed(1)}`:`¥${e.toFixed(2)}`}function Oe(e,t,n,r){return r<=0||!Number.isFinite(r)||t===(n===`usd`?`USD`:`CNY`)?e:n===`usd`?e/r:e*r}function W(e){return e>=1e9?`${(e/1e9).toFixed(2)}B`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(e)}function ke(e){let t=Number(e);return Number.isFinite(t)?`${t.toFixed(1)}%`:`0.0%`}let G={top:18,right:40,bottom:26,left:46};function K(e){let[,t,n]=e.split(`-`);return`${Number(t)}/${Number(n)}`}function Ae(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}function q(e,t){let n=[];for(let r=0;r<e;r+=t)n.push(r);return e>0&&n[n.length-1]!==e-1&&n.push(e-1),n}let je={key:`__total__`,name:`总计`,color:``};function Me({data:e,models:t=[],currency:n=`cny`,metric:i=`cost`}){let[a,s]=(0,r.useState)(null),c=e=>U(n===`usd`?Ee(e):e,n),l=e=>i===`tokens`?Ae(e):c(e),u=e=>i===`tokens`?e.tokens??0:e.cost,d=(0,r.useMemo)(()=>{let n=e.length;if(n===0)return null;let r=680-G.left-G.right,a=220-G.top-G.bottom,o=e=>n===1?G.left+r/2:G.left+r*e/(n-1),s=Math.max(...i===`tokens`?e.map(e=>e.tokens??0):e.map(e=>Math.max(e.cost,Object.values(e.byModel??{}).reduce((e,t)=>e+t,0))),1e-4),c=e=>G.top+a-e/s*a,l=Math.max(...e.map(e=>e.calls),1),d=e=>G.top+a-e/l*a,f=r/n,p=Math.min(18,f*.6);return{n,plotW:r,plotH:a,inner:o,yCost:c,yCalls:d,barW:p,bars:e.flatMap((e,n)=>{let r=o(n)-p/2;if(t.length===0||i===`tokens`)return[{date:e.date,model:je,x:r,base:0,value:u(e),topRounded:!0}];let a=null;for(let n of t)(e.byModel?.[n.key]??0)>0&&(a=n.key);let s=0;return t.map(t=>{let n=e.byModel?.[t.key]??0,i={date:e.date,model:t,x:r,base:s,value:n,topRounded:t.key===a};return s+=n,i})}),costTicks:[0,.25,.5,.75,1].map(e=>s*e).reverse(),callsTicks:[0,.25,.5,.75,1].map(e=>l*e).reverse(),linePath:e.map((e,t)=>{let n=d(e.calls);return`${t===0?`M`:`L`}${o(t)} ${n}`}).join(` `)}},[e,t,i]);if(d===null)return(0,o.jsx)(`div`,{className:E.chartEmpty,children:`暂无趋势数据`});let{n:f,plotW:p,plotH:m,inner:h,yCost:g,yCalls:_,barW:v,bars:y,costTicks:b,callsTicks:x,linePath:S}=d,C=a===null?void 0:e[a],w=q(f,Math.max(1,Math.ceil(f/8)));return(0,o.jsxs)(`div`,{className:E.chartWrap,children:[(0,o.jsxs)(`svg`,{viewBox:`0 0 680 220`,className:E.chartSvg,role:`img`,"aria-label":`Daily cost by model and total calls`,onMouseLeave:()=>{s(null)},onMouseMove:e=>{let t=e.currentTarget.getBoundingClientRect(),n=((e.clientX-t.left)/t.width*680-G.left)/p,r=Math.round(n*(f-1));s(Math.min(Math.max(r,0),f-1))},children:[b.map((e,t)=>{let n=g(e);return(0,o.jsxs)(`g`,{children:[(0,o.jsx)(`line`,{x1:G.left,x2:680-G.right,y1:n,y2:n,className:E.chartGrid}),(0,o.jsx)(`text`,{x:G.left-8,y:n+3,textAnchor:`end`,className:E.chartAxisLabel,children:l(e)})]},`cost-${t}`)}),y.map(t=>{if(t.value>0)return(0,o.jsx)(`rect`,{x:t.x,y:g(t.base+t.value),width:v,height:g(t.base)-g(t.base+t.value),rx:t.topRounded?2:0,className:t.model.color===``?E.chartBar:E.chartStack,style:t.model.color===``?void 0:{fill:t.model.color}},`${t.date}-${t.model.key}`);let n=e.find(e=>e.date===t.date);return n!==void 0&&n.calls>0&&t.base===0?(0,o.jsx)(`rect`,{x:t.x,y:g(0)-1,width:v,height:1,rx:0,className:E.chartBarPlaceholder},`${t.date}-${t.model.key}-placeholder`):null}),(0,o.jsx)(`path`,{d:S,fill:`none`,className:E.chartLine}),x.map((e,t)=>{let n=_(e);return(0,o.jsx)(`text`,{x:680-G.right+8,y:n+3,textAnchor:`start`,className:E.chartAxisLabel,children:Ae(e)},`calls-${t}`)}),w.map(t=>{let n=e[t];return n===void 0?null:(0,o.jsx)(`text`,{x:h(t),y:214,textAnchor:`middle`,className:E.chartAxisLabel,children:K(n.date)},n.date)}),a!==null&&(0,o.jsx)(`line`,{x1:h(a),x2:h(a),y1:G.top,y2:G.top+m,className:E.chartCrosshair})]}),C!==void 0&&a!==null&&(0,o.jsxs)(`div`,{className:E.chartTooltip,style:{left:`${h(a)/680*100}%`,top:`${g(C.cost)/220*100}%`},children:[(0,o.jsx)(`div`,{className:E.chartTooltipDate,children:C.date}),i!==`tokens`&&t.filter(e=>(C.byModel?.[e.key]??0)>0).map(e=>(0,o.jsxs)(`div`,{className:E.chartTooltipRow,children:[(0,o.jsx)(`span`,{className:E.chartTooltipSwatch,style:{background:e.color}}),e.name,` `,(0,o.jsx)(`strong`,{children:c(C.byModel?.[e.key]??0)})]},e.key)),(0,o.jsxs)(`div`,{className:E.chartTooltipRow,children:[(0,o.jsx)(`span`,{className:E.chartLegendBar}),`总计 `,(0,o.jsx)(`strong`,{children:i===`tokens`?Ae(C.tokens??0):c(C.cost)})]}),(0,o.jsxs)(`div`,{className:E.chartTooltipRow,children:[(0,o.jsx)(`span`,{className:E.chartLegendLine}),`调用 `,(0,o.jsx)(`strong`,{children:C.calls.toLocaleString()})]})]}),t.length>0&&i!==`tokens`&&(0,o.jsxs)(`div`,{className:E.chartLegend,children:[t.map(e=>(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartTooltipSwatch,style:{background:e.color}}),e.name]},e.key)),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartLegendLine}),`调用`]})]})]})}let J={top:14,right:42,bottom:22,left:46};function Ne(e){let t=Object.keys(e).sort(),n=[];for(let r of t.slice(-48)){let t=e[r];t!==void 0&&n.push({key:r,ttftMs:t.ttftAvg,...t.tpsAvg===void 0?{}:{tps:t.tpsAvg}})}return n}function Pe(e){return e.slice(5,13).replace(`T`,` `)}function Fe(e){return e<1e4?`${Math.round(e)} ms`:e<6e4?`${(e/1e3).toFixed(1)} s`:`${(e/6e4).toFixed(1)} min`}function Ie(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1)}function Le({perf:e,models:t,t:n}){let i=e=>t.find(t=>t.key===e)?.color??`#8b95a3`,a=(0,r.useMemo)(()=>e===void 0?[]:Object.entries(e.byModel).map(([e,n])=>({key:e,name:t.find(t=>t.key===e)?.name??e,color:i(e),samples:n.samples,ttftAvg:n.ttftAvg,ttftP50:n.ttftP50,ttftP90:n.ttftP90,...n.ttftMax===void 0?{}:{ttftMax:n.ttftMax},...n.ttftSpikes===void 0?{}:{ttftSpikes:n.ttftSpikes},...n.tpsAvg===void 0?{}:{tpsAvg:n.tpsAvg},latencyAvg:n.latencyAvg,estimatedSamples:n.estimatedSamples})).sort((e,t)=>t.samples-e.samples||t.ttftP90-e.ttftP90),[e,t]),s=(0,r.useMemo)(()=>{let t=e===void 0?[]:Ne(e.byHour);if(t.length===0)return null;let n=t.length,r=680-J.left-J.right,i=180-J.top-J.bottom,a=e=>n===1?J.left+r/2:J.left+r*e/(n-1),o=Math.max(...t.map(e=>e.ttftMs),1),s=Math.max(...t.map(e=>e.tps??0),1),c=e=>J.top+i-e/o*i,l=e=>J.top+i-e/s*i,u=t.map((e,t)=>`${t===0?`M`:`L`}${a(t)} ${c(e.ttftMs)}`).join(` `),d=t.some(e=>e.tps!==void 0)?t.map((e,t)=>`${t===0?`M`:`L`}${a(t)} ${l(e.tps??0)}`).join(` `):``,f=Math.max(1,Math.ceil(n/8)),p=[];for(let e=0;e<n;e+=f)p.push(e);return n>0&&p[p.length-1]!==n-1&&p.push(n-1),{points:t,n,inner:a,yTtft:c,ttftPath:u,tpsPath:d,indices:p,ttftTicks:[0,.5,1].map(e=>o*e).reverse(),maxTps:s}},[e]);return e===void 0||a.length===0?(0,o.jsx)(`div`,{className:E.chartEmpty,"data-testid":`billing-perf-empty`,children:n(`perfEmpty`)}):(0,o.jsxs)(`div`,{"data-testid":`billing-perf-panel`,children:[(0,o.jsx)(`div`,{className:E.tableScroll,"data-testid":`billing-perf-table`,children:(0,o.jsxs)(`table`,{className:E.modelTable,children:[(0,o.jsx)(`thead`,{children:(0,o.jsxs)(`tr`,{children:[(0,o.jsx)(`th`,{children:n(`model`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfSamples`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfTtft`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfP50`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfP90`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfMax`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfTps`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfLatency`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfEstimated`)})]})}),(0,o.jsx)(`tbody`,{children:a.map(e=>(0,o.jsxs)(`tr`,{children:[(0,o.jsx)(`td`,{children:(0,o.jsxs)(`span`,{className:E.modelCell,children:[(0,o.jsx)(`span`,{className:E.modelDot,style:{background:e.color}}),(0,o.jsx)(`span`,{className:E.modelName,children:e.name})]})}),(0,o.jsx)(`td`,{className:E.numCol,children:e.samples.toLocaleString()}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.ttftAvg)}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.ttftP50)}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.ttftP90)}),(0,o.jsx)(`td`,{className:E.numCol,children:e.ttftMax===void 0?(0,o.jsx)(`span`,{className:E.na,children:`—`}):(0,o.jsxs)(`span`,{children:[Fe(e.ttftMax),e.ttftSpikes!==void 0&&e.ttftSpikes>0?` (${e.ttftSpikes}↑)`:``]})}),(0,o.jsx)(`td`,{className:E.numCol,children:e.tpsAvg===void 0?(0,o.jsx)(`span`,{className:E.na,children:`—`}):Ie(e.tpsAvg)}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.latencyAvg)}),(0,o.jsx)(`td`,{className:E.numCol,children:e.estimatedSamples>0?e.estimatedSamples:(0,o.jsx)(`span`,{className:E.na,children:`—`})})]},e.key))})]})}),s!==null&&(0,o.jsxs)(`div`,{className:E.chartWrap,"data-testid":`billing-perf-hour`,children:[(0,o.jsxs)(`svg`,{viewBox:`0 0 680 180`,className:E.chartSvg,role:`img`,"aria-label":`Hourly TTFT and generation speed by model`,children:[s.ttftTicks.map((e,t)=>{let n=s.yTtft(e);return(0,o.jsxs)(`g`,{children:[(0,o.jsx)(`line`,{x1:J.left,x2:680-J.right,y1:n,y2:n,className:E.chartGrid}),(0,o.jsx)(`text`,{x:J.left-8,y:n+3,textAnchor:`end`,className:E.chartAxisLabel,children:e.toFixed(0)})]},`ttft-${t}`)}),(0,o.jsx)(`path`,{d:s.ttftPath,fill:`none`,className:E.chartLine}),s.tpsPath!==``&&(0,o.jsx)(`path`,{d:s.tpsPath,fill:`none`,className:E.chartLine,style:{stroke:`var(--dsw-static-amber-500)`,strokeDasharray:`4 4`}}),s.indices.map(e=>{let t=s.points[e];return t===void 0?null:(0,o.jsx)(`text`,{x:s.inner(e),y:174,textAnchor:`middle`,className:E.chartAxisLabel,children:Pe(t.key)},t.key)}),(0,o.jsxs)(`text`,{x:680-J.right+8,y:J.top+4,textAnchor:`start`,className:E.chartAxisLabel,children:[n(`perfTpsUnit`),` `,s.maxTps.toFixed(0)]})]}),(0,o.jsxs)(`div`,{className:E.chartLegend,children:[(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartLegendLine}),n(`perfTtft`),` (ms)`]}),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartLegendLine,style:{background:`var(--dsw-static-amber-500)`}}),n(`perfTps`),` (`,n(`perfTpsUnit`),`)`]})]})]})]})}let Re=`@kenz1117/dsh-ui-usage-billing`,Y=`kenz1117`;function ze({t:e,version:t}){return(0,o.jsxs)(`section`,{className:E.setCard,"data-testid":`billing-plugin-info`,children:[(0,o.jsxs)(`div`,{className:E.plgHead,children:[(0,o.jsx)(`span`,{className:E.plgIcon,"aria-hidden":`true`,children:(0,o.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,o.jsx)(`path`,{d:`M10 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a2 2 0 0 0 4 0V4a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a2 2 0 0 0 4 0 1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-1a2 2 0 0 0 0 4h1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-1a2 2 0 0 0-4 0v1a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2a2 2 0 0 0-4 0v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1a2 2 0 0 0-4 0 1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h1a2 2 0 0 0 0-4H3a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h1a2 2 0 0 0 4 0z`})})}),(0,o.jsxs)(`div`,{className:E.plgTitle,children:[(0,o.jsxs)(`div`,{className:E.plgNameRow,children:[(0,o.jsx)(`h3`,{className:E.plgName,children:Re}),(0,o.jsx)(`span`,{className:E.plgTag,children:t===void 0?`—`:`v${t}`})]}),(0,o.jsx)(`p`,{className:E.plgDesc,children:`Usage billing dashboard for DeepSeek Harness`})]})]}),(0,o.jsxs)(`div`,{className:E.plgGrid,children:[(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginAuthor`)}),(0,o.jsxs)(`a`,{className:E.plgLink,href:`https://github.com/${Y}`,target:`_blank`,rel:`noreferrer`,children:[`KenZ`,` (`,Y,`)`]})]}),(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginRepository`)}),(0,o.jsx)(`a`,{className:E.plgLink,href:`https://github.com/kenz1117/dsh-ui-usage-billing`,target:`_blank`,rel:`noreferrer`,children:`GitHub`})]}),(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginNpm`)}),(0,o.jsx)(`a`,{className:E.plgLink,href:`https://www.npmjs.com/package/@kenz1117/dsh-ui-usage-billing`,target:`_blank`,rel:`noreferrer`,children:Re})]}),(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginLicense`)}),(0,o.jsx)(`span`,{className:E.plgVal,children:`MIT`})]})]})]})}function Be(e=Date.now()){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`}function Ve(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}let X={top:14,right:18,bottom:22,left:46},Z=`var(--dsw-static-blue-500)`,He=`#14b8a6`,Ue=`var(--dsw-static-amber-500)`;function We(e){return[`date,missInput,cacheHit,output,reasoning,total`,...e.map(e=>`${e.date},${e.miss},${e.hit},${e.output},${e.reasoning},${e.miss+e.hit+e.output}`)].join(`
|
|
1
|
+
window.__ModuleLoader__.load({id:`@kenz1117/dsh-ui-usage-billing`,factory:e=>{var t={exports:{}},n=t.exports;Object.defineProperty(n,Symbol.toStringTag,{value:`Module`});let r=e("react"),i=e("react-dom"),a=e("@deepseek-ai/dsh-client-ui-primitives"),o=e("react/jsx-runtime"),s=e("@deepseek-ai/dsh-client-runtime/client");function c(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=c(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function l(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=c(e))&&(r&&(r+=` `),r+=t);return r}let u={mode:`combined`,targets:[]},d=`dsh.ui-usage-billing.float`;function f(){try{let e=localStorage.getItem(d);if(e===null)return{...u,targets:[...u.targets]};let t=JSON.parse(e);return{mode:t.mode===`subscription`?`subscription`:`combined`,targets:Array.isArray(t.targets)?t.targets.filter(e=>typeof e==`string`):[]}}catch{return{...u,targets:[...u.targets]}}}function p(e){try{localStorage.setItem(d,JSON.stringify(e))}catch{}}let m={metric:`money`},h=`dsh.ui-usage-billing.card`;function g(){try{let e=localStorage.getItem(h);return e===null?{...m}:{metric:JSON.parse(e).metric===`tokens`?`tokens`:`money`}}catch{return{...m}}}function _(e){try{localStorage.setItem(h,JSON.stringify(e))}catch{}}let v={hideUnidentified:!0},y=`dsh.ui-usage-billing.sites`;function b(){try{let e=localStorage.getItem(y);return e===null?{...v}:{hideUnidentified:JSON.parse(e).hideUnidentified!==!1}}catch{return{...v}}}function x(e){try{localStorage.setItem(y,JSON.stringify(e))}catch{}}let S=`dsh.ui-usage-billing.prices`;function C(){try{let e=localStorage.getItem(S);if(e===null)return[];let t=JSON.parse(e);if(t===null)return[];let n=[],r=(e,t)=>{if(typeof t!=`object`||!t)return;let r=t,i=Number(r.input),a=Number(r.cacheHit),o=Number(r.output);[i,a,o].every(e=>Number.isFinite(e)&&e>=0)&&n.push({key:e,...typeof r.origin==`string`&&r.origin!==``?{origin:r.origin}:{},input:i,cacheHit:a,output:o,...r.currency===`USD`?{currency:`USD`}:{}})};if(Array.isArray(t))for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;typeof t.key==`string`&&t.key!==``&&r(t.key,e)}else if(typeof t==`object`)for(let[e,n]of Object.entries(t))r(e,n);return n}catch{return[]}}function w(e){try{localStorage.setItem(S,JSON.stringify(e))}catch{}}let T=`@kenz1117/dsh-ui-usage-billing/UsageBilling.module.css`;if(typeof document<`u`&&document.querySelector(`style[data-plugin-css=`+JSON.stringify(T)+`]`)===null){let e=document.createElement(`style`);e.dataset.plugin=`@kenz1117/dsh-ui-usage-billing`,e.dataset.pluginCss=T,e.textContent=`.BAyRca_railButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:36px;height:36px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:border-color .16s,color .16s;display:flex}.BAyRca_railButton:hover,.BAyRca_railButton:focus-visible{border-color:var(--dsw-static-blue-500);color:var(--dsw-static-blue-500);outline:none}.BAyRca_railButton svg{stroke-width:2px;width:18px;height:18px}.BAyRca_trigger{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:100%;min-width:0;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:10px;padding:9px 12px;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a}.BAyRca_trigger:hover,.BAyRca_trigger:focus-visible{border-color:var(--dsw-static-blue-500);box-shadow:0 6px 18px -8px color-mix(in srgb, var(--dsw-static-blue-500) 45%, transparent);outline:none;transform:translateY(-1px)}.BAyRca_triggerIcon{border:1px solid var(--dsw-alias-border-l1);width:32px;height:32px;color:var(--dsw-alias-label-secondary);opacity:.8;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.BAyRca_triggerIcon svg{stroke-width:2px;width:16px;height:16px}.BAyRca_triggerMain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.BAyRca_triggerPrimary{align-items:baseline;gap:5px;min-width:0;display:inline-flex}.BAyRca_triggerLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;line-height:15px;overflow:hidden}.BAyRca_triggerYen{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;line-height:16px}.BAyRca_triggerMetric{color:var(--dsw-alias-label-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:20px;font-weight:700;line-height:24px;overflow:hidden}.BAyRca_triggerSub{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:14px;overflow:hidden}.BAyRca_triggerSpark{flex:none;align-items:flex-end;gap:2px;height:20px;display:flex}.BAyRca_triggerSparkBar,.BAyRca_triggerSparkHot{background:var(--dsw-static-blue-500);opacity:.6;border-radius:1px 1px 0 0;width:3px}.BAyRca_triggerSparkHot{opacity:1}.BAyRca_triggerWrap{flex:180px;min-width:96px;max-width:100%;display:block;position:relative;container:BAyRca_billing-trigger/inline-size}@container BAyRca_billing-trigger (width<=200px){.BAyRca_trigger{gap:6px;padding:8px 10px}.BAyRca_triggerSpark{display:none}}@container BAyRca_billing-trigger (width<=170px){.BAyRca_triggerSub,.BAyRca_triggerLabel{display:none}}@container BAyRca_billing-trigger (width<=110px){.BAyRca_triggerIcon,.BAyRca_triggerSpark,.BAyRca_triggerSub,.BAyRca_triggerLabel{display:none}.BAyRca_trigger{justify-content:center;padding:8px 6px}}.BAyRca_triggerPop{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 80%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 72%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.3);box-shadow:0 12px 32px #00000029, inset 0 1px 0 color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent);opacity:0;visibility:hidden;pointer-events:none;z-index:2000;border-radius:14px;flex-direction:column;gap:5px;padding:10px 12px;transition:opacity .16s,transform .16s,visibility 0s linear .16s;display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translateY(calc(4px - 100%))}.BAyRca_triggerPop,.BAyRca_triggerPop *{box-sizing:border-box}.BAyRca_triggerPop:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--dsw-static-amber-500) 30%, var(--dsw-alias-label-primary) 50%, var(--dsw-static-amber-500) 70%, transparent 100%);opacity:.9;pointer-events:none;background-size:200% 100%;height:1.5px;animation:4s ease-in-out infinite BAyRca_subscriptionGoldFlow;position:absolute;top:0;left:0;right:0}.BAyRca_triggerPopShown{opacity:1;visibility:visible;transition:opacity .16s,transform .16s,visibility linear;transform:translateY(-100%)}.BAyRca_popHead{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.BAyRca_popTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:700;line-height:18px}.BAyRca_metricGrid{grid-template-columns:repeat(3,1fr);gap:10px 8px;display:grid}.BAyRca_metricCell{flex-direction:column;gap:2px;min-width:0;display:flex}.BAyRca_metricLabel{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}.BAyRca_metricValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700;line-height:16px}.BAyRca_metricValuePrimary{color:var(--dsw-static-amber-500)}.BAyRca_metricValueSuccess{color:var(--dsw-static-green-500)}.BAyRca_popModel{border-top:1px solid var(--dsw-alias-border-l1);flex-direction:column;gap:6px;padding-top:10px;display:flex}.BAyRca_popModelLabel{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}.BAyRca_popModelRow{align-items:center;gap:8px;min-width:0;display:flex}.BAyRca_popDot{border-radius:999px;flex:none;width:6px;height:6px}.BAyRca_popDotDirect{background:var(--dsw-static-green-500)}.BAyRca_popDotSub{background:var(--dsw-static-amber-500)}.BAyRca_popDotNeutral{background:var(--dsw-alias-label-tertiary)}.BAyRca_popTagPrimary,.BAyRca_popTagSub{white-space:nowrap;border-radius:5px;flex:none;align-items:center;height:18px;padding:0 6px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_popTagPrimary{background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent);color:var(--dsw-static-blue-500)}.BAyRca_popTagSub{background:color-mix(in srgb, var(--dsw-static-amber-500) 18%, transparent);color:var(--dsw-static-amber-500)}.BAyRca_popModelName{color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;line-height:16px;overflow:hidden}.BAyRca_popModelStatus{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:11px;font-weight:600;line-height:16px}.BAyRca_popModelStatusLow{color:var(--dsw-static-red-500)}.BAyRca_dashboardModal{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:16px;width:min(760px,100vw - 48px);max-height:min(760px,88vh);animation:.18s ease-out BAyRca_dashboardIn;box-shadow:0 12px 32px -12px #0000002e,0 2px 8px #0000000f}@keyframes BAyRca_dashboardIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}div[role=presentation]:has(>.dsh-billing-modal)>div[aria-hidden=true]:first-child{backdrop-filter:blur(8px)saturate(1.25)}.BAyRca_dashboard{flex-direction:column;width:100%;max-height:min(760px,88vh);display:flex}.BAyRca_dashboardHead{border-bottom:1px solid var(--dsw-alias-border-l1);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.BAyRca_dashboardTitle{color:var(--dsw-alias-label-primary);margin:0;font-size:14px;font-weight:600;line-height:20px}.BAyRca_dashboardSubtitle{color:var(--dsw-alias-label-caption);margin:2px 0 0;font-size:11px;line-height:16px}.BAyRca_closeButton{border:1px solid var(--dsw-alias-border-l1);width:32px;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;transition:background-color .14s,color .14s;display:inline-flex}.BAyRca_closeButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.BAyRca_closeButton svg{stroke-width:2px;width:16px;height:16px}.BAyRca_dashboardBody{flex-direction:column;gap:14px;padding:16px 24px 24px;display:flex;overflow-y:auto}.BAyRca_modalFooter{border-top:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-size:11px;line-height:16px;display:flex}.BAyRca_tabNav{border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:4px;padding:0 24px;display:flex}.BAyRca_tabButton{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:500;line-height:20px;transition:background-color .16s,color .16s}.BAyRca_tabButton:hover,.BAyRca_tabButton:focus-visible{color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-bg-layer-3) 62%, transparent);outline:none}.BAyRca_tabButtonActive,.BAyRca_tabButtonActive:hover,.BAyRca_tabButtonActive:focus-visible{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);font-weight:600}.BAyRca_tabPanel{flex-direction:column;gap:14px;animation:.14s ease-out BAyRca_tabPanelIn;display:flex}@keyframes BAyRca_tabPanelIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.BAyRca_reconcileNotice{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 78%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 62%, transparent);color:var(--dsw-alias-label-secondary);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12px;line-height:1.55;display:flex}.BAyRca_reconcileIcon{color:var(--dsw-alias-label-tertiary);flex:none;margin-top:1px;display:inline-flex}.BAyRca_reconcileText{flex:1}.BAyRca_reconcileDismiss{color:var(--dsw-alias-label-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:none;padding:2px 8px;font-size:12px;line-height:1.4;transition:color .15s,background-color .15s}.BAyRca_reconcileDismiss:hover{color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-alias-label-primary) 8%, transparent)}.BAyRca_hero{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:18px;padding:24px;display:flex;position:relative;overflow:hidden}.BAyRca_heroTop{justify-content:space-between;align-items:center;gap:24px;display:flex}.BAyRca_heroMain{flex-direction:column;gap:2px;min-width:0;display:flex}.BAyRca_heroLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:11px;line-height:16px}.BAyRca_heroReadout{align-items:baseline;gap:4px;display:flex}.BAyRca_heroCurrency{letter-spacing:-.01em;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:28px}.BAyRca_heroValue{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--dsw-alias-label-primary);font-size:40px;font-weight:700;line-height:48px}.BAyRca_heroMeta{color:var(--dsw-alias-label-caption);white-space:nowrap;margin-top:2px;font-size:11px;line-height:15px}.BAyRca_heroGauge{flex:none;width:96px;height:96px;position:relative}.BAyRca_heroGaugeSvg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.BAyRca_heroGaugeTrack{fill:none;stroke:var(--dsw-alias-bg-module-platform);stroke-width:7px}.BAyRca_heroGaugeArc{fill:none;stroke:var(--dsw-static-blue-500);stroke-width:7px;stroke-linecap:round;transition:stroke-dasharray .26s}.BAyRca_heroGaugeArcOver{stroke:var(--dsw-static-red-500)}.BAyRca_heroGaugeCenter{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.BAyRca_heroGaugePct{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);font-size:14px;font-weight:700;line-height:18px}.BAyRca_heroGaugePctOver{color:var(--dsw-static-red-500)}.BAyRca_heroGaugeLabel{color:var(--dsw-alias-label-tertiary);font-size:9px;line-height:12px}.BAyRca_heroBudget{border-top:1px solid var(--dsw-alias-border-l1);align-items:center;gap:14px;padding-top:14px;display:flex}.BAyRca_heroBudgetLabel{color:var(--dsw-alias-label-secondary);white-space:nowrap;flex:none;font-size:11px;line-height:16px}.BAyRca_heroBudgetTrack{background:var(--dsw-alias-border-l1);border-radius:999px;flex:1;min-width:0;height:6px;overflow:hidden}.BAyRca_heroBudgetFill{background:var(--dsw-static-blue-500);border-radius:999px;height:100%;transition:width .22s}.BAyRca_heroBudgetFillOver{background:var(--dsw-static-red-500)}.BAyRca_heroBudgetValue{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11px;line-height:16px}.BAyRca_heroSide{border-top:1px solid var(--dsw-alias-border-l1);align-items:stretch;padding-top:14px;display:flex}.BAyRca_heroSideItem{border-left:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:1;gap:2px;min-width:0;padding-left:14px;display:flex}.BAyRca_heroSideItem:first-child{border-left:none;padding-left:0}.BAyRca_heroSideLabel{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:10px;font-weight:500;line-height:13px}.BAyRca_heroSideValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:6px;font-size:15px;font-weight:600;line-height:20px;display:inline-flex}.BAyRca_heroSideSpacer{flex:1;display:block}.BAyRca_delta{align-items:center;gap:2px;margin-left:4px;font-size:11px;font-weight:600;line-height:17px;display:inline-flex}.BAyRca_deltaUp{color:var(--dsw-static-green-500);background:color-mix(in srgb, var(--dsw-static-green-500) 12%, transparent)}.BAyRca_deltaDown{color:var(--dsw-static-red-500);background:color-mix(in srgb, var(--dsw-static-red-500) 12%, transparent)}.BAyRca_unpricedHint{border:1px solid color-mix(in srgb, var(--dsw-static-amber-500) 30%, transparent);background:color-mix(in srgb, var(--dsw-static-amber-500) 8%, transparent);color:var(--dsw-static-amber-500);border-radius:8px;align-items:center;padding:8px 12px;font-size:11.5px;font-weight:500;line-height:17px;display:flex}.BAyRca_kpiGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.BAyRca_kpiTile{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;transition:border-color .16s;display:flex;position:relative;overflow:hidden}.BAyRca_kpiTile:hover{border-color:var(--dsw-alias-border-l2)}.BAyRca_kpiLabel{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:500;line-height:13px}.BAyRca_kpiValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:32px}.BAyRca_kpiGreen{color:var(--dsw-static-green-500)}.BAyRca_kpiDetail{color:var(--dsw-alias-label-caption);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;line-height:14px;overflow:hidden}.BAyRca_panel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:10px;padding:16px 18px;transition:border-color .16s;display:flex}.BAyRca_panelHead{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.BAyRca_panelTitle{letter-spacing:-.005em;color:var(--dsw-alias-label-primary);margin:0;font-size:14px;font-weight:600;line-height:20px}.BAyRca_panelHint{color:var(--dsw-alias-label-caption);white-space:nowrap;font-size:11px;line-height:16px}.BAyRca_rangeToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.BAyRca_rangeButton{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:11px;line-height:16px;transition:background-color .14s,color .14s}.BAyRca_rangeButtonActive{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font-weight:600}.BAyRca_exportBar{justify-content:flex-end;align-items:center;gap:8px;display:flex}.BAyRca_exportLabel{color:var(--dsw-alias-label-caption);font-size:11px;line-height:16px}.BAyRca_exportButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:11.5px;line-height:16px;transition:border-color .16s,color .16s,background-color .16s}.BAyRca_exportButton:hover,.BAyRca_exportButton:focus-visible{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);outline:none}.BAyRca_shareTrack{background:var(--dsw-alias-bg-module-platform);border-radius:999px;height:10px;display:flex;overflow:hidden}.BAyRca_shareSeg{height:100%;transition:width .2s}.BAyRca_shareSegPeak{background:var(--dsw-static-blue-500)}.BAyRca_shareSegOff{background:color-mix(in srgb, var(--dsw-static-blue-500) 25%, var(--dsw-alias-bg-module-platform))}.BAyRca_shareSegUser{background:var(--dsw-static-blue-500)}.BAyRca_shareSegAssistant{background:var(--dsw-static-green-500)}.BAyRca_shareSegTool{background:var(--dsw-static-amber-500)}.BAyRca_shareLegend{align-items:center;gap:16px;display:flex}.BAyRca_shareItem{color:var(--dsw-alias-label-secondary);align-items:baseline;gap:6px;font-size:12px;line-height:17px;display:inline-flex}.BAyRca_bucketCost{align-items:baseline;gap:3px;display:inline-flex}.BAyRca_bucketOfficial{color:var(--dsw-static-blue-500);font-weight:600}.BAyRca_bucketSep{color:var(--dsw-alias-label-dimmed)}.BAyRca_bucketThird{color:var(--dsw-alias-label-secondary)}.BAyRca_shareDot{border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.BAyRca_shareValue{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:600}.BAyRca_budgetInput{width:64px;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:none;padding:0;font-size:12px;line-height:16px}.BAyRca_budgetInput:focus-visible{outline:none}.BAyRca_switch{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);cursor:pointer;border-radius:999px;flex:none;width:30px;height:17px;padding:0;transition:background-color .16s,border-color .16s;position:relative}.BAyRca_switchOn{border-color:var(--dsw-alias-border-l1);background:var(--dsw-alias-label-primary)}.BAyRca_switchKnob{background:var(--dsw-static-neutral-bluish-00);border-radius:50%;width:11px;height:11px;transition:transform .16s;position:absolute;top:2px;left:2px}.BAyRca_switchOn .BAyRca_switchKnob{transform:translate(13px)}.BAyRca_budgetFillWarn{background:var(--dsw-static-amber-500)}.BAyRca_budgetFillOver{background:var(--dsw-static-red-500);animation:1.6s ease-in-out infinite BAyRca_budgetOverPulse}@keyframes BAyRca_budgetOverPulse{50%{opacity:.55}}.BAyRca_chartWrap{width:100%;position:relative}.BAyRca_chartSvg{width:100%;height:auto;display:block}.BAyRca_chartEmpty{height:140px;color:var(--dsw-alias-label-caption);justify-content:center;align-items:center;font-size:13px;display:flex}.BAyRca_emptyRow{text-align:center;color:var(--dsw-alias-label-caption);padding:28px 0;font-size:13px}.BAyRca_chartGrid{stroke:var(--dsw-alias-border-l1);stroke-width:1px}.BAyRca_chartAxisLabel{fill:var(--dsw-alias-label-tertiary);font-size:10px}.BAyRca_chartBar{fill:var(--dsw-static-blue-500);opacity:.7}.BAyRca_chartBar:hover{opacity:1}.BAyRca_chartStack{stroke:var(--dsw-alias-bg-layer-1);stroke-width:.75px}.BAyRca_chartStack:hover{opacity:.9}.BAyRca_chartLine{stroke:var(--dsw-static-blue-500);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.BAyRca_chartCrosshair{stroke:var(--dsw-alias-label-dimmed);stroke-width:1px;stroke-dasharray:3 3}.BAyRca_chartTooltip{pointer-events:none;z-index:2;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);box-shadow:none;white-space:nowrap;border-radius:8px;padding:8px 10px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.BAyRca_chartTooltipDate{color:var(--dsw-alias-label-primary);margin-bottom:3px;font-size:11px;font-weight:600}.BAyRca_chartTooltipRow{color:var(--dsw-alias-label-secondary);align-items:center;gap:5px;font-size:11px;line-height:17px;display:flex}.BAyRca_chartTooltipRow strong{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:600}.BAyRca_chartBarPlaceholder{fill:color-mix(in srgb, var(--dsw-alias-label-secondary) 30%, transparent)}.BAyRca_chartLegendLine{background:var(--dsw-static-blue-500);border-radius:2px;width:10px;height:3px;display:inline-block}.BAyRca_chartLegendBar{background:var(--dsw-static-blue-500);opacity:.5;border-radius:2px;width:7px;height:7px;display:inline-block}.BAyRca_chartTooltipSwatch{border-radius:3px;flex:none;width:8px;height:8px;display:inline-block}.BAyRca_chartLegend{color:var(--dsw-alias-label-tertiary);justify-content:flex-end;gap:14px;margin-top:2px;font-size:11px;display:flex}.BAyRca_chartLegend span{align-items:center;gap:5px;display:inline-flex}.BAyRca_tableScroll{border:1px solid var(--dsw-alias-border-l1);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px;overflow:auto}.BAyRca_ubAlert{border:1px solid color-mix(in srgb, var(--dsw-static-blue-500) 30%, transparent);background:color-mix(in srgb, var(--dsw-static-blue-500) 8%, transparent);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12px;line-height:17px;display:flex}.BAyRca_ubAlertLeft{align-items:center;gap:8px;display:inline-flex}.BAyRca_ubRate{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:600}.BAyRca_ubAlertNote{color:var(--dsw-alias-label-secondary);margin:0}.BAyRca_ubTag,.BAyRca_ubTagSuccess,.BAyRca_ubTagNeutral,.BAyRca_ubTagAlert,.BAyRca_ubTagPromo{white-space:nowrap;border-radius:999px;align-items:center;height:18px;padding:0 7px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_ubTagSuccess{background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent);color:var(--dsw-static-green-500)}.BAyRca_ubTagNeutral{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-secondary)}.BAyRca_ubTagAlert{background:color-mix(in srgb, var(--dsw-static-amber-500) 16%, transparent);color:var(--dsw-static-amber-500)}.BAyRca_ubTagPromo{background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent);color:var(--dsw-static-red-500);cursor:help}.BAyRca_ubExtraRow td{opacity:.72;padding-top:2px;padding-bottom:2px;font-size:12px}.BAyRca_ubExtraName{color:var(--dsw-alias-label-secondary);margin-left:26px}.BAyRca_ubExtraNote{color:var(--dsw-alias-label-tertiary);margin-left:8px;font-size:10px}.BAyRca_ubCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.BAyRca_ubCardHead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.BAyRca_ubCardTitle{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:600;line-height:18px}.BAyRca_ubCardSub{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.BAyRca_ubTablewrap{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;overflow:auto}.BAyRca_ubTable{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12.5px}.BAyRca_ubTable th,.BAyRca_ubTable td{border-bottom:1px solid var(--dsw-alias-border-l1);text-align:left;padding:9px 12px}.BAyRca_ubTable tbody tr:last-child td{border-bottom:0}.BAyRca_ubTable thead th{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.BAyRca_ubModel{align-items:center;gap:8px;display:inline-flex}.BAyRca_vendorLogo{object-fit:contain;border-radius:4px;flex:none;width:18px;height:18px}.BAyRca_vendorLetter{color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.BAyRca_ubModelName{color:var(--dsw-alias-label-primary);align-items:center;gap:6px;font-weight:500;display:inline-flex}.BAyRca_ubPricepair{flex-wrap:wrap;gap:6px;display:inline-flex}.BAyRca_ubChipPeak,.BAyRca_ubChipOff{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:5px;height:20px;padding:0 8px;font-size:11px;line-height:16px;display:inline-flex}.BAyRca_ubChipLabel{font-size:10px;font-weight:600}.BAyRca_ubChipPeak{background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent);color:var(--dsw-static-blue-500)}.BAyRca_ubChipOff{background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent);color:var(--dsw-static-green-500)}.BAyRca_ubNotes{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.BAyRca_ubNotesItem{align-items:baseline;gap:10px;display:flex}.BAyRca_ubNotesTerm{color:var(--dsw-alias-label-primary);flex:0 0 72px;font-size:12px;font-weight:500}.BAyRca_ubNotesDesc{min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-size:12px;line-height:17px}.BAyRca_ubCardControlGroup{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.BAyRca_ubTagError{white-space:nowrap;background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent);height:18px;color:var(--dsw-static-red-500);border-radius:999px;align-items:center;padding:0 7px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_modelTable{border-collapse:collapse;table-layout:fixed;width:100%;min-width:640px;font-size:12.5px}.BAyRca_modelTable th:first-child{width:26%}.BAyRca_modelTable th,.BAyRca_modelTable td,.BAyRca_pricingTable th,.BAyRca_pricingTable td{border-bottom:1px solid var(--dsw-alias-border-l1);text-align:left;white-space:nowrap;padding:9px 12px}.BAyRca_modelTable tbody tr:last-child td,.BAyRca_pricingTable tbody tr:last-child td{border-bottom:0}.BAyRca_modelTable thead th,.BAyRca_pricingTable thead th{color:var(--dsw-alias-label-tertiary);text-transform:uppercase;letter-spacing:.05em;background:0 0;font-size:11px;font-weight:600}.BAyRca_modelTable tbody tr,.BAyRca_pricingTable tbody tr{transition:background-color .12s}.BAyRca_modelTable tbody tr:hover,.BAyRca_pricingTable tbody tr:hover{background:0 0}.BAyRca_sessionGroupRow{cursor:pointer}.BAyRca_sessionGroupRow .BAyRca_modelName:before{content:"›";color:var(--dsw-alias-label-tertiary);margin-right:6px;display:inline-block}.BAyRca_sessionGroupRow[aria-expanded=true] .BAyRca_modelName:before{transform:rotate(90deg)}.BAyRca_sessionChildRow td:first-child{padding-left:30px}.BAyRca_numCol{text-align:right;font-variant-numeric:tabular-nums}.BAyRca_na{color:var(--dsw-alias-label-dimmed)}.BAyRca_modelCell{align-items:center;gap:8px;display:inline-flex}.BAyRca_modelDot{border-radius:50%;flex:none;width:9px;height:9px}.BAyRca_modelName{color:var(--dsw-alias-label-primary);font-weight:500;line-height:16px;display:block}.BAyRca_modelProvider{color:var(--dsw-alias-label-caption);font-size:10.5px;line-height:14px;display:block}.BAyRca_pricingToggle:hover .BAyRca_panelTitle,.BAyRca_pricingToggle:focus-visible .BAyRca_panelTitle{color:var(--dsw-alias-label-primary)}.BAyRca_siteRow{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.BAyRca_siteRowName{align-items:center;gap:8px;min-width:0;display:inline-flex}.BAyRca_siteKindTag{white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:600;line-height:16px;display:inline-flex}.BAyRca_siteKindSite{color:var(--dsw-static-blue-500);background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent)}.BAyRca_siteKindDirect{color:var(--dsw-static-green-500);background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent)}.BAyRca_siteKindUnknown{color:var(--dsw-static-red-500);background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent)}.BAyRca_siteRowTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;line-height:18px;overflow:hidden}.BAyRca_siteRowMeta{flex:none;align-items:center;gap:10px;display:inline-flex}.BAyRca_siteRowCost{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700;line-height:18px}.BAyRca_siteRowCalls{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:11.5px;line-height:17px}.BAyRca_siteRowCallsLow{color:var(--dsw-static-red-500)}.BAyRca_flatTag{color:var(--dsw-alias-label-caption);font-size:10.5px;line-height:14px}.BAyRca_healthDot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.BAyRca_healthOk{background:var(--dsw-static-green-500)}.BAyRca_healthBad{background:var(--dsw-static-red-500)}.BAyRca_healthIdle{background:var(--dsw-static-neutral-bluish-400)}.BAyRca_dashboardRight{align-items:center;gap:8px;min-width:0;display:flex}.BAyRca_healthBadge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;line-height:16px;display:inline-flex}.BAyRca_healthBadgeOk{color:var(--dsw-static-green-500);background:var(--dsw-alias-bg-layer-2)}.BAyRca_healthBadgeBad{color:var(--dsw-static-red-500);background:var(--dsw-alias-bg-layer-2)}.BAyRca_planTag{color:var(--dsw-static-green-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}.BAyRca_uncataloguedTag{vertical-align:1px;color:var(--dsw-static-amber-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:600;line-height:16px;display:inline-block}.BAyRca_estimatedTag{vertical-align:1px;color:var(--dsw-static-blue-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:600;line-height:16px;display:inline-block}.BAyRca_feeBar{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;font-size:11px;line-height:16px;display:inline-flex}.BAyRca_feeCount{color:var(--dsw-alias-label-primary);font-weight:600}.BAyRca_feeSuffix{color:var(--dsw-alias-label-tertiary)}.BAyRca_feeItem{color:var(--dsw-alias-label-secondary);white-space:nowrap}.BAyRca_feeNum{color:var(--dsw-alias-label-primary)}.BAyRca_feeSep{color:var(--dsw-alias-label-tertiary)}.BAyRca_feeChipPrimary,.BAyRca_feeChipOff,.BAyRca_feeChipAlert,.BAyRca_feeChipError{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;height:20px;padding:0 8px;font-size:10px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_feeChipPrimary{background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, transparent);color:var(--dsw-static-blue-500)}.BAyRca_feeChipOff{background:color-mix(in srgb, var(--dsw-static-green-500) 14%, transparent);color:var(--dsw-static-green-500)}.BAyRca_feeChipAlert{background:color-mix(in srgb, var(--dsw-static-amber-500) 16%, transparent);color:var(--dsw-static-amber-500)}.BAyRca_feeChipError{background:color-mix(in srgb, var(--dsw-static-red-500) 14%, transparent);color:var(--dsw-static-red-500)}.BAyRca_balanceCell{align-items:center;gap:6px;display:inline-flex;position:relative}.BAyRca_balanceDaysBadge{border:1px solid var(--dsw-alias-label-caption);background:color-mix(in srgb, var(--dsw-alias-label-caption) 10%, transparent);min-width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0 6px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.BAyRca_balanceDaysBadge:hover{border-color:var(--dsw-alias-label-secondary);background:color-mix(in srgb, var(--dsw-alias-label-caption) 18%, transparent)}.BAyRca_balanceDaysBadgeLow{color:var(--dsw-static-red-500);border-color:var(--dsw-static-red-500);background:color-mix(in srgb, var(--dsw-static-red-500) 10%, transparent)}.BAyRca_balanceDetailPop{z-index:20;background:var(--dsw-alias-bg-layer-3);border:1px solid var(--dsw-alias-label-caption);white-space:nowrap;border-radius:8px;flex-direction:column;gap:6px;min-width:180px;padding:8px 10px;display:inline-flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #0000002e}.BAyRca_balanceDetailHead{justify-content:space-between;align-items:center;gap:12px;display:flex}.BAyRca_balanceDetailTitle{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:600}.BAyRca_balanceDetailClose{cursor:pointer;color:var(--dsw-alias-label-caption);background:0 0;border:none;font-size:14px;line-height:1}.BAyRca_balanceDetailClose:hover{color:var(--dsw-alias-label-primary)}.BAyRca_balanceDetailGrid{flex-direction:column;gap:4px;display:inline-flex}.BAyRca_balanceDetailRow{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;font-size:11px;line-height:15px;display:flex}.BAyRca_balanceDetailLabel{color:var(--dsw-alias-label-caption)}.BAyRca_balanceDetailValue{color:var(--dsw-alias-label-primary);font-weight:500}.BAyRca_currencyToggle{background:var(--dsw-alias-bg-layer-3);border:none;border-radius:8px;align-items:center;gap:2px;margin-right:8px;padding:2px;display:inline-flex}.BAyRca_currencyButton{color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;line-height:1}.BAyRca_currencyButtonActive{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary)}.BAyRca_subscriptionGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:10px;display:grid}.BAyRca_subscriptionCard{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 75%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 62%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000001a}.BAyRca_subscriptionCard:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--dsw-static-amber-500) 30%, var(--dsw-alias-label-primary) 50%, var(--dsw-static-amber-500) 70%, transparent 100%);opacity:.9;pointer-events:none;background-size:200% 100%;height:1.5px;animation:3.6s ease-in-out infinite BAyRca_subscriptionGoldFlow;position:absolute;top:0;left:0;right:0}@keyframes BAyRca_subscriptionGoldFlow{0%{background-position:200% 0}to{background-position:-200% 0}}.BAyRca_subscriptionCard:hover{border-color:color-mix(in srgb, var(--dsw-static-amber-500) 55%, var(--dsw-alias-border-l1));box-shadow:0 10px 30px #00000029}.BAyRca_subscriptionHead{flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.BAyRca_subscriptionName{font-size:13px;font-weight:700}.BAyRca_subscriptionPlan{color:var(--dsw-alias-label-secondary);font-size:11px}.BAyRca_subscriptionPlan[data-kind=code],.BAyRca_subscriptionPlan[data-kind=token]{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-3);border-radius:999px;padding:1px 8px;font-weight:500}.BAyRca_subscriptionTier{color:var(--dsw-alias-label-secondary);margin-left:6px}.BAyRca_subscriptionAuto{color:var(--dsw-static-blue-500);background:color-mix(in srgb, var(--dsw-static-blue-500) 14%, var(--dsw-alias-bg-layer-2));border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.BAyRca_subscriptionStatus{color:var(--dsw-alias-label-secondary);margin-bottom:6px;font-size:11px}.BAyRca_subscriptionWindow{align-items:center;gap:10px;margin-top:8px;font-size:11px;display:flex}.BAyRca_subscriptionWindowLabel{color:var(--dsw-alias-label-secondary);flex:0 0 44px}.BAyRca_subscriptionTrack{background:var(--dsw-alias-bg-layer-3);border-radius:3px;flex:1;height:6px;overflow:hidden}.BAyRca_subscriptionFill{background:var(--dsw-static-blue-500);border-radius:3px;height:100%;transition:width .2s;display:block}.BAyRca_subscriptionFillWarn{background:var(--dsw-static-amber-500)}.BAyRca_subscriptionFillOver{background:var(--dsw-static-red-500)}.BAyRca_subscriptionMeta{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.BAyRca_subscriptionPct{text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:52px}.BAyRca_subscriptionExhausted{color:var(--dsw-static-red-500);min-width:52px;font-weight:600}.BAyRca_subscriptionReset{color:var(--dsw-alias-label-caption);white-space:nowrap;flex:none;font-size:10px}.BAyRca_providerGroupList{flex-direction:column;gap:10px;display:flex}.BAyRca_providerGroup{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:12px;padding:12px 14px}.BAyRca_providerGroupHead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.BAyRca_providerGroupTitle{align-items:center;gap:7px;min-width:0;display:inline-flex}.BAyRca_providerGroupName{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:600;line-height:18px}.BAyRca_providerGroupMeta{flex:none;align-items:center;gap:10px;display:inline-flex}.BAyRca_providerGroupBadge{color:var(--dsw-static-green-500);background:var(--dsw-alias-bg-layer-2);border-radius:999px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px;display:inline-flex}.BAyRca_providerGroupBalance{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:6px;font-size:12px;line-height:17px;display:inline-flex}.BAyRca_providerGroupBalanceLabel{color:var(--dsw-alias-label-caption);font-size:11px;line-height:17px}.BAyRca_rounds{margin-top:10px}.BAyRca_roundsBars{align-items:flex-end;gap:3px;height:124px;padding:16px 2px 0;display:flex;overflow-x:auto}.BAyRca_roundsBarCol{border-radius:5px 5px 0 0;flex-direction:column;flex:1 0 28px;justify-content:flex-end;align-items:stretch;height:100%;display:flex;position:relative}.BAyRca_roundsBarColPeak{background:color-mix(in srgb, var(--dsw-static-amber-500) 16%, transparent)}.BAyRca_roundsBarColOff{background:var(--dsw-alias-bg-module-platform)}.BAyRca_roundsBarLabel{text-align:center;color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;line-height:1.2;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(-100%)}.BAyRca_roundsBarWrap{flex:1;align-items:flex-end;min-height:0;display:flex}.BAyRca_roundsBar{background:var(--dsw-static-blue-500);border-radius:2px 2px 0 0;width:100%;min-height:2px;position:relative}.BAyRca_roundsBarFlagged{background:var(--dsw-static-red-500);border-radius:2px 2px 0 0;width:100%;min-height:2px;position:relative}.BAyRca_roundsFlagMark{background:var(--dsw-static-red-500);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;right:-3px}.BAyRca_roundsAxis{color:var(--dsw-alias-label-secondary);justify-content:space-between;margin-top:6px;font-size:10px;display:flex}.BAyRca_roundsEmpty{color:var(--dsw-alias-label-secondary);margin-top:10px;font-size:12px}.BAyRca_heatmap{margin-top:10px}.BAyRca_heatmapGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.BAyRca_heatmapCellEmpty{background:var(--dsw-alias-bg-layer-1);height:30px;color:var(--dsw-alias-label-dimmed);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:center;align-items:center;font-size:11px;display:flex}.BAyRca_heatmapCell{font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;height:30px;padding:0;font-size:11px;display:flex}.BAyRca_heatmapCell[data-level="0"],.BAyRca_heatmapCell[data-level="1"],.BAyRca_heatmapCell[data-level="2"]{color:var(--dsw-alias-label-primary)}.BAyRca_heatmapCell[data-level="3"],.BAyRca_heatmapCell[data-level="4"]{color:var(--dsw-static-neutral-bluish-00)}.BAyRca_heatmapFooter{color:var(--dsw-alias-label-secondary);align-items:center;gap:8px;margin-top:10px;font-size:10px;display:flex}.BAyRca_heatmapLegend{gap:3px;display:inline-flex}.BAyRca_heatmapLegend i{border-radius:4px;width:14px;height:14px;display:block}.BAyRca_heatmapHover{font-variant-numeric:tabular-nums;margin-left:auto}.BAyRca_heatmapRangeSwitch{gap:4px;margin-left:auto;display:inline-flex}.BAyRca_heatmapRangeButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:11px;line-height:1.4}.BAyRca_heatmapRangeButtonActive{color:var(--dsw-alias-text-primary);border-color:currentColor;font-weight:600}.BAyRca_heatmapYear{flex-direction:column;gap:6px;display:flex}.BAyRca_heatmapYearBody{align-items:flex-start;gap:6px;display:flex}.BAyRca_heatmapYearWeekdays{color:var(--dsw-alias-text-tertiary);flex:none;grid-template-rows:repeat(7,11px);gap:3px;padding-top:12px;font-size:9px;line-height:11px;display:grid}.BAyRca_heatmapYearWeekday{white-space:nowrap;text-align:right;height:11px}.BAyRca_heatmapYearMonths{min-width:max-content;color:var(--dsw-alias-text-tertiary);grid-template-columns:repeat(52,11px);gap:3px;font-size:9px;line-height:12px;display:grid;overflow:visible}.BAyRca_heatmapYearMonth{white-space:nowrap;overflow:visible}.BAyRca_heatmapYearScroll{padding-bottom:2px;overflow-x:auto}.BAyRca_heatmapYearGrid{grid-template-rows:repeat(7,11px);grid-auto-flow:column;gap:3px;min-width:max-content;display:grid}.BAyRca_heatmapYearCell{cursor:pointer;border:0;border-radius:2px;width:11px;height:11px;padding:0}.BAyRca_triggerPopSubscription{width:auto;left:0;right:0}.BAyRca_floatSub{flex-direction:column;gap:6px;min-width:0;display:flex}.BAyRca_floatSubHead{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.BAyRca_floatSubName{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:700}.BAyRca_floatSubPlan{color:var(--dsw-alias-label-secondary);font-size:10px}.BAyRca_floatSub .BAyRca_subscriptionWindow{flex-wrap:wrap;gap:4px 10px}.BAyRca_floatSub .BAyRca_subscriptionWindowLabel{flex:none}.BAyRca_floatSub .BAyRca_subscriptionMeta{min-width:0;max-width:100%}.BAyRca_floatSub .BAyRca_subscriptionPct{min-width:0}.BAyRca_floatSub .BAyRca_subscriptionReset{white-space:normal;overflow-wrap:anywhere}.BAyRca_triggerPopEmpty{color:var(--dsw-alias-label-tertiary);padding:2px 0;font-size:11px;line-height:1.5}.BAyRca_triggerPopSwitcher{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.BAyRca_triggerPopSwitchCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:10px}.BAyRca_floatModeBtn{border:1px solid color-mix(in srgb, var(--dsw-alias-border-l1) 75%, transparent);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 60%, transparent);color:var(--dsw-alias-label-secondary);white-space:nowrap;cursor:pointer;border-radius:10px;flex:1;padding:7px 10px;font-size:12px}.BAyRca_floatModeBtnOn{border-color:var(--dsw-static-blue-500);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-static-blue-500) 16%, transparent)}.BAyRca_floatTarget{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.BAyRca_floatTargetLabel{color:var(--dsw-alias-label-secondary)}.BAyRca_staleNotice{color:var(--dsw-static-amber-500);background:color-mix(in srgb, var(--dsw-static-amber-500) 12%, transparent);border:1px solid color-mix(in srgb, var(--dsw-static-amber-500) 30%, transparent);border-radius:10px;align-items:center;gap:6px;margin:0 0 10px;padding:8px 10px;font-size:11px;display:flex}.BAyRca_plgHead{align-items:flex-start;gap:12px;display:flex}.BAyRca_plgIcon{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:40px;height:40px;color:var(--dsw-alias-label-secondary);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.BAyRca_plgTitle{flex-direction:column;gap:4px;min-width:0;display:flex}.BAyRca_plgNameRow{align-items:center;gap:8px;display:flex}.BAyRca_plgName{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:600;line-height:18px}.BAyRca_plgTag{height:18px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-3);white-space:nowrap;border-radius:5px;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.BAyRca_plgDesc{color:var(--dsw-alias-label-secondary);margin:0;font-size:11px;line-height:16px}.BAyRca_plgGrid{border-top:1px solid var(--dsw-alias-border-l1);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.BAyRca_plgItem{flex-direction:column;gap:2px;min-width:0;display:flex}.BAyRca_plgLabel{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}.BAyRca_plgVal{color:var(--dsw-alias-label-primary);word-break:break-all;font-size:12px;line-height:17px}.BAyRca_plgLink{color:var(--dsw-static-blue-500);word-break:break-all;font-size:12px;line-height:17px;text-decoration:none}.BAyRca_plgLink:hover{text-decoration:underline}.BAyRca_tokenPanel{flex-direction:column;gap:14px;display:flex}.BAyRca_tokenModelBar{background:var(--dsw-alias-bg-layer-2);border-radius:999px;height:8px;overflow:hidden}.BAyRca_tokenModelParts{height:100%;display:flex}.BAyRca_tokenModelPartIn{background:var(--dsw-static-blue-500)}.BAyRca_tokenModelPartOut{background:var(--dsw-static-amber-500)}.BAyRca_tokenModelShareRow{align-items:center;gap:6px;display:inline-flex}@media (width<=640px){.BAyRca_kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.BAyRca_hero{gap:14px}.BAyRca_heroTop{flex-direction:column;align-items:flex-start;gap:12px}.BAyRca_heroGauge{width:72px;height:72px}.BAyRca_heroSide{gap:12px}.BAyRca_heroSideSpacer{display:none}}.BAyRca_peakCard{z-index:2000;border:1px solid var(--dsw-alias-border-l1);background:color-mix(in srgb, var(--dsw-alias-bg-layer-2) 82%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.2);border-radius:12px;flex-direction:column;gap:8px;min-width:280px;max-width:380px;padding:16px;animation:.2s BAyRca_peakAlertIn;display:flex;position:fixed;box-shadow:0 4px 16px #00000014}.BAyRca_peakCardCorner{bottom:18px;right:18px}.BAyRca_peakCardCenter{top:20%;left:50%;transform:translate(-50%)}.BAyRca_peakCardPeak{color:var(--dsw-static-blue-500)}.BAyRca_peakCardOff{color:var(--dsw-static-green-500)}.BAyRca_peakHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.BAyRca_peakTag{white-space:nowrap;border-radius:6px;align-items:center;gap:6px;height:20px;padding:0 8px;font-size:11px;font-weight:600;line-height:14px;display:inline-flex}.BAyRca_peakTagPrimary{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-static-blue-500)}.BAyRca_peakTagSuccess{background:var(--dsw-alias-bg-layer-3);color:var(--dsw-static-green-500)}.BAyRca_peakDot{border-radius:999px;flex:none;width:6px;height:6px}.BAyRca_peakDotPrimary{background:var(--dsw-static-blue-500)}.BAyRca_peakDotSuccess{background:var(--dsw-static-green-500)}.BAyRca_peakClose{width:24px;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background-color .14s,color .14s;display:inline-flex}.BAyRca_peakClose:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-2)}.BAyRca_peakCount{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:34px}.BAyRca_peakCountPrimary{color:var(--dsw-static-blue-500)}.BAyRca_peakCountSuccess{color:var(--dsw-static-green-500)}.BAyRca_peakDesc{color:var(--dsw-alias-label-secondary);margin:0;font-size:12px;line-height:18px}@keyframes BAyRca_peakAlertIn{0%{opacity:0}to{opacity:1}}.BAyRca_setCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.BAyRca_setCardHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.BAyRca_setCardMeta{flex-direction:column;gap:4px;min-width:0;display:flex}.BAyRca_setCardTitle{color:var(--dsw-alias-label-primary);margin:0;font-size:13px;font-weight:600;line-height:18px}.BAyRca_setCardDesc{color:var(--dsw-alias-label-secondary);margin:0;font-size:11px;line-height:16px}.BAyRca_ctlCol{flex-direction:column;gap:10px;padding-top:2px;display:flex}.BAyRca_ctlRow{align-items:center;gap:12px;min-height:28px;display:flex}.BAyRca_ctlRowStretch{display:flex}.BAyRca_ctlLabel{color:var(--dsw-alias-label-secondary);flex:0 0 96px;font-size:11px;line-height:16px}.BAyRca_ctlGroup{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.BAyRca_userPriceRow{border-bottom:1px solid var(--dsw-alias-border-l1);grid-template-columns:minmax(96px,1.1fr) minmax(120px,1.5fr) repeat(3,minmax(64px,84px)) auto auto;align-items:end;gap:8px 10px;padding:8px 0;display:grid}@media (width<=720px){.BAyRca_userPriceRow{grid-template-columns:repeat(3,minmax(0,1fr))}}.BAyRca_userPriceRow .BAyRca_userPriceInput,.BAyRca_userPriceRow .BAyRca_userPriceInputNum{box-sizing:border-box;width:100%;min-width:0;max-width:none}.BAyRca_userPriceOffPeak{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;width:100%;padding:2px 0 6px;display:flex}.BAyRca_userPriceField{flex-direction:column;gap:4px;min-width:0;display:flex}.BAyRca_userPriceField .BAyRca_ctlLabel{flex:none;font-size:11px}.BAyRca_userPriceInput,.BAyRca_userPriceInputNum{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:96px;max-width:160px;color:var(--dsw-alias-label-primary);border-radius:6px;padding:4px 8px;font-size:12px;line-height:16px}.BAyRca_userPriceInputNum{min-width:72px;max-width:88px}.BAyRca_userPriceRemove{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-static-red-400);cursor:pointer;background:0 0;border-radius:6px;align-self:center;padding:4px 8px;font-size:11px;line-height:16px}.BAyRca_userPriceRemove:hover{border-color:var(--dsw-static-red-400)}.BAyRca_rdo{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;line-height:16px;display:inline-flex}.BAyRca_rdo input{opacity:0;pointer-events:none;position:absolute}.BAyRca_rdoDot{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:50%;flex:none;width:14px;height:14px;position:relative}.BAyRca_rdo input:checked+.BAyRca_rdoDot{border-color:var(--dsw-static-blue-500)}.BAyRca_rdo input:checked+.BAyRca_rdoDot:after{content:"";background:var(--dsw-static-blue-500);border-radius:50%;position:absolute;inset:3px}.BAyRca_inp{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.BAyRca_affix{color:var(--dsw-alias-label-tertiary);font-size:11px;line-height:16px}.BAyRca_prog{background:var(--dsw-alias-bg-module-platform);border-radius:999px;flex:1;min-width:0;height:6px;overflow:hidden}.BAyRca_progFill{background:var(--dsw-static-blue-500);border-radius:999px;height:100%;transition:width .2s}.BAyRca_btn{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;line-height:16px;transition:border-color .16s,color .16s,background-color .16s;display:inline-flex}.BAyRca_btn:hover{border-color:var(--dsw-static-blue-500);color:var(--dsw-alias-label-primary);background:color-mix(in srgb, var(--dsw-static-blue-500) 12%, var(--dsw-alias-bg-layer-1))}`,document.head.appendChild(e)}var E={feeChipAlert:`BAyRca_feeChipAlert`,rdoDot:`BAyRca_rdoDot`,inp:`BAyRca_inp`,tabPanelIn:`BAyRca_tabPanelIn`,panel:`BAyRca_panel`,dashboardTitle:`BAyRca_dashboardTitle`,modelName:`BAyRca_modelName`,balanceDetailValue:`BAyRca_balanceDetailValue`,peakCardCorner:`BAyRca_peakCardCorner`,subscriptionGoldFlow:`BAyRca_subscriptionGoldFlow`,tokenModelParts:`BAyRca_tokenModelParts`,peakDot:`BAyRca_peakDot`,ubTablewrap:`BAyRca_ubTablewrap`,peakDesc:`BAyRca_peakDesc`,triggerWrap:`BAyRca_triggerWrap`,ctlGroup:`BAyRca_ctlGroup`,metricValuePrimary:`BAyRca_metricValuePrimary`,ubTag:`BAyRca_ubTag`,heatmapRangeButton:`BAyRca_heatmapRangeButton`,ubCardControlGroup:`BAyRca_ubCardControlGroup`,peakCardPeak:`BAyRca_peakCardPeak`,triggerSub:`BAyRca_triggerSub`,switchOn:`BAyRca_switchOn`,peakHead:`BAyRca_peakHead`,userPriceInput:`BAyRca_userPriceInput`,rangeButton:`BAyRca_rangeButton`,balanceDetailClose:`BAyRca_balanceDetailClose`,popDotDirect:`BAyRca_popDotDirect`,kpiDetail:`BAyRca_kpiDetail`,ubPricepair:`BAyRca_ubPricepair`,ubNotesDesc:`BAyRca_ubNotesDesc`,feeItem:`BAyRca_feeItem`,userPriceField:`BAyRca_userPriceField`,dashboardSubtitle:`BAyRca_dashboardSubtitle`,siteKindTag:`BAyRca_siteKindTag`,userPriceRemove:`BAyRca_userPriceRemove`,vendorLogo:`BAyRca_vendorLogo`,siteRowCost:`BAyRca_siteRowCost`,popModelRow:`BAyRca_popModelRow`,plgLink:`BAyRca_plgLink`,ubTagAlert:`BAyRca_ubTagAlert`,heroTop:`BAyRca_heroTop`,rangeButtonActive:`BAyRca_rangeButtonActive`,exportBar:`BAyRca_exportBar`,kpiValue:`BAyRca_kpiValue`,popHead:`BAyRca_popHead`,providerGroupTitle:`BAyRca_providerGroupTitle`,heroGaugeTrack:`BAyRca_heroGaugeTrack`,floatModeBtn:`BAyRca_floatModeBtn`,setCardDesc:`BAyRca_setCardDesc`,popModelStatusLow:`BAyRca_popModelStatusLow`,triggerMetric:`BAyRca_triggerMetric`,dashboardHead:`BAyRca_dashboardHead`,heroBudget:`BAyRca_heroBudget`,ctlRow:`BAyRca_ctlRow`,heroCurrency:`BAyRca_heroCurrency`,subscriptionAuto:`BAyRca_subscriptionAuto`,chartLegendLine:`BAyRca_chartLegendLine`,trigger:`BAyRca_trigger`,shareItem:`BAyRca_shareItem`,subscriptionHead:`BAyRca_subscriptionHead`,panelHead:`BAyRca_panelHead`,feeChipError:`BAyRca_feeChipError`,providerGroupName:`BAyRca_providerGroupName`,tokenModelPartIn:`BAyRca_tokenModelPartIn`,metricValue:`BAyRca_metricValue`,progFill:`BAyRca_progFill`,ubTagPromo:`BAyRca_ubTagPromo`,heroBudgetLabel:`BAyRca_heroBudgetLabel`,ubAlertLeft:`BAyRca_ubAlertLeft`,chartTooltipRow:`BAyRca_chartTooltipRow`,siteRowCalls:`BAyRca_siteRowCalls`,heatmapLegend:`BAyRca_heatmapLegend`,heatmapYearMonths:`BAyRca_heatmapYearMonths`,kpiGreen:`BAyRca_kpiGreen`,bucketCost:`BAyRca_bucketCost`,chartLine:`BAyRca_chartLine`,triggerPrimary:`BAyRca_triggerPrimary`,ubTagError:`BAyRca_ubTagError`,floatTarget:`BAyRca_floatTarget`,popDotSub:`BAyRca_popDotSub`,setCardHead:`BAyRca_setCardHead`,balanceDetailHead:`BAyRca_balanceDetailHead`,tabButton:`BAyRca_tabButton`,shareTrack:`BAyRca_shareTrack`,triggerSparkBar:`BAyRca_triggerSparkBar`,heroGaugePct:`BAyRca_heroGaugePct`,feeChipPrimary:`BAyRca_feeChipPrimary`,budgetOverPulse:`BAyRca_budgetOverPulse`,balanceDetailTitle:`BAyRca_balanceDetailTitle`,providerGroupList:`BAyRca_providerGroupList`,budgetFillWarn:`BAyRca_budgetFillWarn`,heatmapYearScroll:`BAyRca_heatmapYearScroll`,triggerPopSwitchCount:`BAyRca_triggerPopSwitchCount`,feeCount:`BAyRca_feeCount`,tokenModelShareRow:`BAyRca_tokenModelShareRow`,currencyButtonActive:`BAyRca_currencyButtonActive`,providerGroupBalance:`BAyRca_providerGroupBalance`,ubExtraRow:`BAyRca_ubExtraRow`,metricLabel:`BAyRca_metricLabel`,ubTagNeutral:`BAyRca_ubTagNeutral`,ubExtraName:`BAyRca_ubExtraName`,ctlCol:`BAyRca_ctlCol`,ctlRowStretch:`BAyRca_ctlRowStretch`,chartLegendBar:`BAyRca_chartLegendBar`,exportLabel:`BAyRca_exportLabel`,roundsBarColOff:`BAyRca_roundsBarColOff`,modelCell:`BAyRca_modelCell`,peakTagPrimary:`BAyRca_peakTagPrimary`,subscriptionName:`BAyRca_subscriptionName`,reconcileNotice:`BAyRca_reconcileNotice`,sessionGroupRow:`BAyRca_sessionGroupRow`,siteRowCallsLow:`BAyRca_siteRowCallsLow`,peakTag:`BAyRca_peakTag`,numCol:`BAyRca_numCol`,pricingTable:`BAyRca_pricingTable`,peakCardOff:`BAyRca_peakCardOff`,heroMain:`BAyRca_heroMain`,popTagPrimary:`BAyRca_popTagPrimary`,budgetInput:`BAyRca_budgetInput`,plgGrid:`BAyRca_plgGrid`,heroBudgetTrack:`BAyRca_heroBudgetTrack`,reconcileDismiss:`BAyRca_reconcileDismiss`,subscriptionWindow:`BAyRca_subscriptionWindow`,roundsEmpty:`BAyRca_roundsEmpty`,triggerMain:`BAyRca_triggerMain`,popModelLabel:`BAyRca_popModelLabel`,tabNav:`BAyRca_tabNav`,popDot:`BAyRca_popDot`,heroGaugeSvg:`BAyRca_heroGaugeSvg`,modalFooter:`BAyRca_modalFooter`,currencyToggle:`BAyRca_currencyToggle`,setCardTitle:`BAyRca_setCardTitle`,providerGroupHead:`BAyRca_providerGroupHead`,ubCardHead:`BAyRca_ubCardHead`,chartLegend:`BAyRca_chartLegend`,chartSvg:`BAyRca_chartSvg`,metricCell:`BAyRca_metricCell`,tokenModelBar:`BAyRca_tokenModelBar`,chartStack:`BAyRca_chartStack`,subscriptionWindowLabel:`BAyRca_subscriptionWindowLabel`,chartAxisLabel:`BAyRca_chartAxisLabel`,roundsBars:`BAyRca_roundsBars`,deltaDown:`BAyRca_deltaDown`,heatmapFooter:`BAyRca_heatmapFooter`,heroBudgetFillOver:`BAyRca_heroBudgetFillOver`,reconcileText:`BAyRca_reconcileText`,providerGroupBadge:`BAyRca_providerGroupBadge`,subscriptionExhausted:`BAyRca_subscriptionExhausted`,shareSegPeak:`BAyRca_shareSegPeak`,subscriptionPlan:`BAyRca_subscriptionPlan`,plgLabel:`BAyRca_plgLabel`,feeNum:`BAyRca_feeNum`,healthBadgeOk:`BAyRca_healthBadgeOk`,subscriptionFillOver:`BAyRca_subscriptionFillOver`,popModel:`BAyRca_popModel`,peakClose:`BAyRca_peakClose`,balanceDetailPop:`BAyRca_balanceDetailPop`,budgetFillOver:`BAyRca_budgetFillOver`,siteRowName:`BAyRca_siteRowName`,planTag:`BAyRca_planTag`,peakCount:`BAyRca_peakCount`,heroGauge:`BAyRca_heroGauge`,subscriptionFill:`BAyRca_subscriptionFill`,setCardMeta:`BAyRca_setCardMeta`,healthDot:`BAyRca_healthDot`,healthBad:`BAyRca_healthBad`,"billing-trigger":`BAyRca_billing-trigger`,peakCardCenter:`BAyRca_peakCardCenter`,triggerLabel:`BAyRca_triggerLabel`,heroLabel:`BAyRca_heroLabel`,heroMeta:`BAyRca_heroMeta`,heroGaugeCenter:`BAyRca_heroGaugeCenter`,triggerPopShown:`BAyRca_triggerPopShown`,peakAlertIn:`BAyRca_peakAlertIn`,uncataloguedTag:`BAyRca_uncataloguedTag`,metricGrid:`BAyRca_metricGrid`,delta:`BAyRca_delta`,panelTitle:`BAyRca_panelTitle`,heroSideItem:`BAyRca_heroSideItem`,shareLegend:`BAyRca_shareLegend`,feeSuffix:`BAyRca_feeSuffix`,feeChipOff:`BAyRca_feeChipOff`,subscriptionGrid:`BAyRca_subscriptionGrid`,heatmapYearWeekday:`BAyRca_heatmapYearWeekday`,closeButton:`BAyRca_closeButton`,currencyButton:`BAyRca_currencyButton`,heatmapGrid:`BAyRca_heatmapGrid`,ubNotes:`BAyRca_ubNotes`,prog:`BAyRca_prog`,ubModelName:`BAyRca_ubModelName`,providerGroupMeta:`BAyRca_providerGroupMeta`,ubRate:`BAyRca_ubRate`,chartCrosshair:`BAyRca_chartCrosshair`,roundsBarWrap:`BAyRca_roundsBarWrap`,heroSideValue:`BAyRca_heroSideValue`,subscriptionTrack:`BAyRca_subscriptionTrack`,plgDesc:`BAyRca_plgDesc`,siteRowTitle:`BAyRca_siteRowTitle`,tokenModelPartOut:`BAyRca_tokenModelPartOut`,subscriptionFillWarn:`BAyRca_subscriptionFillWarn`,plgItem:`BAyRca_plgItem`,ubTagSuccess:`BAyRca_ubTagSuccess`,popDotNeutral:`BAyRca_popDotNeutral`,dashboardIn:`BAyRca_dashboardIn`,tabPanel:`BAyRca_tabPanel`,siteRow:`BAyRca_siteRow`,subscriptionPct:`BAyRca_subscriptionPct`,plgTitle:`BAyRca_plgTitle`,providerGroupBalanceLabel:`BAyRca_providerGroupBalanceLabel`,heatmapYearGrid:`BAyRca_heatmapYearGrid`,panelHint:`BAyRca_panelHint`,heroValue:`BAyRca_heroValue`,siteRowMeta:`BAyRca_siteRowMeta`,popModelName:`BAyRca_popModelName`,switch:`BAyRca_switch`,heatmapYearMonth:`BAyRca_heatmapYearMonth`,plgHead:`BAyRca_plgHead`,tableScroll:`BAyRca_tableScroll`,kpiGrid:`BAyRca_kpiGrid`,balanceDetailLabel:`BAyRca_balanceDetailLabel`,popModelStatus:`BAyRca_popModelStatus`,ubCard:`BAyRca_ubCard`,dashboard:`BAyRca_dashboard`,dashboardBody:`BAyRca_dashboardBody`,tabButtonActive:`BAyRca_tabButtonActive`,heroSideSpacer:`BAyRca_heroSideSpacer`,shareSegAssistant:`BAyRca_shareSegAssistant`,ctlLabel:`BAyRca_ctlLabel`,triggerYen:`BAyRca_triggerYen`,modelProvider:`BAyRca_modelProvider`,providerGroup:`BAyRca_providerGroup`,balanceDetailGrid:`BAyRca_balanceDetailGrid`,siteKindSite:`BAyRca_siteKindSite`,heroGaugePctOver:`BAyRca_heroGaugePctOver`,flatTag:`BAyRca_flatTag`,roundsBarCol:`BAyRca_roundsBarCol`,siteKindDirect:`BAyRca_siteKindDirect`,triggerPopSwitcher:`BAyRca_triggerPopSwitcher`,siteKindUnknown:`BAyRca_siteKindUnknown`,heroGaugeArcOver:`BAyRca_heroGaugeArcOver`,heatmapRangeButtonActive:`BAyRca_heatmapRangeButtonActive`,peakTagSuccess:`BAyRca_peakTagSuccess`,triggerPop:`BAyRca_triggerPop`,popTagSub:`BAyRca_popTagSub`,chartBar:`BAyRca_chartBar`,ubCardTitle:`BAyRca_ubCardTitle`,feeSep:`BAyRca_feeSep`,roundsBarColPeak:`BAyRca_roundsBarColPeak`,subscriptionCard:`BAyRca_subscriptionCard`,healthBadge:`BAyRca_healthBadge`,ubNotesTerm:`BAyRca_ubNotesTerm`,floatSubHead:`BAyRca_floatSubHead`,triggerPopEmpty:`BAyRca_triggerPopEmpty`,heroGaugeLabel:`BAyRca_heroGaugeLabel`,switchKnob:`BAyRca_switchKnob`,modelDot:`BAyRca_modelDot`,healthOk:`BAyRca_healthOk`,tokenPanel:`BAyRca_tokenPanel`,peakCountSuccess:`BAyRca_peakCountSuccess`,deltaUp:`BAyRca_deltaUp`,emptyRow:`BAyRca_emptyRow`,shareSegOff:`BAyRca_shareSegOff`,bucketOfficial:`BAyRca_bucketOfficial`,popTitle:`BAyRca_popTitle`,chartTooltip:`BAyRca_chartTooltip`,vendorLetter:`BAyRca_vendorLetter`,bucketSep:`BAyRca_bucketSep`,subscriptionTier:`BAyRca_subscriptionTier`,floatSub:`BAyRca_floatSub`,staleNotice:`BAyRca_staleNotice`,shareSeg:`BAyRca_shareSeg`,peakDotSuccess:`BAyRca_peakDotSuccess`,heroGaugeArc:`BAyRca_heroGaugeArc`,heatmapCellEmpty:`BAyRca_heatmapCellEmpty`,userPriceInputNum:`BAyRca_userPriceInputNum`,feeBar:`BAyRca_feeBar`,chartTooltipDate:`BAyRca_chartTooltipDate`,rdo:`BAyRca_rdo`,pricingToggle:`BAyRca_pricingToggle`,ubCardSub:`BAyRca_ubCardSub`,ubChipPeak:`BAyRca_ubChipPeak`,heroBudgetValue:`BAyRca_heroBudgetValue`,ubExtraNote:`BAyRca_ubExtraNote`,roundsBarLabel:`BAyRca_roundsBarLabel`,heatmapYearWeekdays:`BAyRca_heatmapYearWeekdays`,balanceCell:`BAyRca_balanceCell`,ubChipLabel:`BAyRca_ubChipLabel`,na:`BAyRca_na`,heatmap:`BAyRca_heatmap`,metricValueSuccess:`BAyRca_metricValueSuccess`,chartWrap:`BAyRca_chartWrap`,reconcileIcon:`BAyRca_reconcileIcon`,ubTable:`BAyRca_ubTable`,shareValue:`BAyRca_shareValue`,ubAlertNote:`BAyRca_ubAlertNote`,subscriptionMeta:`BAyRca_subscriptionMeta`,heroSideLabel:`BAyRca_heroSideLabel`,balanceDaysBadgeLow:`BAyRca_balanceDaysBadgeLow`,heatmapRangeSwitch:`BAyRca_heatmapRangeSwitch`,heatmapYear:`BAyRca_heatmapYear`,triggerPopSubscription:`BAyRca_triggerPopSubscription`,ubModel:`BAyRca_ubModel`,healthIdle:`BAyRca_healthIdle`,plgTag:`BAyRca_plgTag`,floatTargetLabel:`BAyRca_floatTargetLabel`,exportButton:`BAyRca_exportButton`,plgVal:`BAyRca_plgVal`,heatmapHover:`BAyRca_heatmapHover`,shareSegTool:`BAyRca_shareSegTool`,triggerIcon:`BAyRca_triggerIcon`,heroSide:`BAyRca_heroSide`,dashboardRight:`BAyRca_dashboardRight`,balanceDetailRow:`BAyRca_balanceDetailRow`,triggerSpark:`BAyRca_triggerSpark`,heatmapCell:`BAyRca_heatmapCell`,modelTable:`BAyRca_modelTable`,heatmapYearBody:`BAyRca_heatmapYearBody`,chartTooltipSwatch:`BAyRca_chartTooltipSwatch`,ubAlert:`BAyRca_ubAlert`,peakCard:`BAyRca_peakCard`,userPriceOffPeak:`BAyRca_userPriceOffPeak`,shareSegUser:`BAyRca_shareSegUser`,floatModeBtnOn:`BAyRca_floatModeBtnOn`,affix:`BAyRca_affix`,ubNotesItem:`BAyRca_ubNotesItem`,shareDot:`BAyRca_shareDot`,plgNameRow:`BAyRca_plgNameRow`,triggerSparkHot:`BAyRca_triggerSparkHot`,peakDotPrimary:`BAyRca_peakDotPrimary`,setCard:`BAyRca_setCard`,chartBarPlaceholder:`BAyRca_chartBarPlaceholder`,chartGrid:`BAyRca_chartGrid`,subscriptionStatus:`BAyRca_subscriptionStatus`,kpiLabel:`BAyRca_kpiLabel`,estimatedTag:`BAyRca_estimatedTag`,btn:`BAyRca_btn`,hero:`BAyRca_hero`,subscriptionReset:`BAyRca_subscriptionReset`,heroReadout:`BAyRca_heroReadout`,balanceDaysBadge:`BAyRca_balanceDaysBadge`,heroBudgetFill:`BAyRca_heroBudgetFill`,chartEmpty:`BAyRca_chartEmpty`,userPriceRow:`BAyRca_userPriceRow`,heatmapYearCell:`BAyRca_heatmapYearCell`,ubChipOff:`BAyRca_ubChipOff`,roundsFlagMark:`BAyRca_roundsFlagMark`,sessionChildRow:`BAyRca_sessionChildRow`,floatSubName:`BAyRca_floatSubName`,rangeToggle:`BAyRca_rangeToggle`,floatSubPlan:`BAyRca_floatSubPlan`,bucketThird:`BAyRca_bucketThird`,roundsAxis:`BAyRca_roundsAxis`,unpricedHint:`BAyRca_unpricedHint`,dashboardModal:`BAyRca_dashboardModal`,healthBadgeBad:`BAyRca_healthBadgeBad`,rounds:`BAyRca_rounds`,plgIcon:`BAyRca_plgIcon`,roundsBar:`BAyRca_roundsBar`,plgName:`BAyRca_plgName`,railButton:`BAyRca_railButton`,kpiTile:`BAyRca_kpiTile`,peakCountPrimary:`BAyRca_peakCountPrimary`,roundsBarFlagged:`BAyRca_roundsBarFlagged`};let D={"opencode-go":{type:`code`,subscription:{amount:10,currency:`USD`,period:`month`},tier:{amount:10,currency:`USD`,periodDays:7,label:`周额度 $30`}},opencode:{type:`code`,subscription:{amount:10,currency:`USD`,period:`month`},tier:{amount:10,currency:`USD`,periodDays:7,label:`周额度 $30`}},"kimi-coding":{type:`code`},"zai-coding-cn":{type:`code`},"zai-coding":{type:`code`},"qwen-token-plan":{type:`code`},"qwen-token-plan-cn":{type:`code`},"xiaomi-token-plan-ams":{type:`code`},"xiaomi-token-plan-cn":{type:`code`},"xiaomi-token-plan-sgp":{type:`code`},"volcengine-token-plan":{type:`code`},"ark-token-plan":{type:`code`},"doubao-token-plan":{type:`code`},minimax:{type:`code`},"minimax-cn":{type:`code`},"minimax-token-plan":{type:`code`},"minimax-token-plan-cn":{type:`code`},"hunyuan-token-plan":{type:`code`},"tencent-token-plan":{type:`code`},"hy-token-plan":{type:`code`},"xinghuo-token-plan":{type:`code`},"xfyun-coding":{type:`code`},"spark-coding":{type:`code`},"huawei-token-plan":{type:`code`},"pangu-token-plan":{type:`code`},"huawei-maas-token-plan":{type:`code`},"volcengine-agent-plan":{type:`code`},"ark-agent-plan":{type:`code`},"baidu-token-plan":{type:`code`},"ernie-token-plan":{type:`code`},"wenxin-token-plan":{type:`code`}},ee={glm:`zai-coding-cn`,bigmodel:`zai-coding-cn`,zhipu:`zai-coding-cn`,zhipuai:`zai-coding-cn`,zai:`zai-coding`,ark:`volcengine-token-plan`,volcengine:`volcengine-token-plan`,doubao:`doubao-token-plan`,moonshot:`kimi-coding`,kimi:`kimi-coding`,xiaomi:`xiaomi-token-plan-cn`,opencode:`opencode-go`};function te(e){return e===``?e:ee[e]??e}function ne(e){let t=D[te(e)];return t?.type===`code`?t.tier:void 0}let O=[{key:`deepseek-v4-flash`,input:.14,cacheHit:.0028,output:.28},{key:`deepseek-v4-pro`,input:.435,cacheHit:.003625,output:.87},{key:`gpt-5.6-sol`,input:5,cacheHit:.5,output:30},{key:`gpt-5.6-terra`,input:2,cacheHit:.2,output:12},{key:`gpt-5.6-luna`,input:.2,cacheHit:.02,output:1.2},{key:`glm-5.2`,input:1.4,cacheHit:.26,output:4.4},{key:`qwen3.8-max`,input:2,cacheHit:.21,output:6},{key:`kimi-k3`,input:2.82,cacheHit:.28,output:14.08},{key:`grok-4.6`,input:2,cacheHit:.5,output:6},{key:`gemini-2.5-pro`,input:1.25,cacheHit:.125,output:10}],k,re,A,ie,j;function ae(e){j=e.length>0?e:void 0}function M(){return j}function N(e){return z(e)}function oe(e,t){if(j===void 0)return;let n=N(e),r=L(n);if(t!==void 0){for(let e of j)if(e.origin!==void 0&&e.origin!==``&&(N(e.key)===n||L(e.key)===r)&&e.origin===t)return{input:e.input,cacheHit:e.cacheHit,output:e.output,...e.currency===void 0?{}:{currency:e.currency}}}for(let e of j)if((e.origin===void 0||e.origin===``)&&(N(e.key)===n||L(e.key)===r))return{input:e.input,cacheHit:e.cacheHit,output:e.output,...e.currency===void 0?{}:{currency:e.currency}}}function P(e){k=typeof e.rate==`number`&&Number.isFinite(e.rate)&&e.rate>0?e.rate:void 0,re=e.prices,A=e.extraModels}function se(e){ie=e}function ce(){return k??6.79}function le(){return{rate:ce(),live:k!==void 0}}function ue(e){return e>=9&&e<12||e>=14&&e<18}function de(e){return e==null||!Number.isFinite(e)?`peak`:fe(e)?`offPeak`:ue((new Date(e).getUTCHours()+8)%24)?`peak`:`offPeak`}function fe(e){let t=new Date(e+288e5).getUTCDay();return t===0||t===6}let pe=[540,720,840,1080];function me(e){return((e+288e5)%864e5+864e5)%864e5}function he(e){let t=de(e),n=me(e);for(let r=0;r<7;r++){let i=r*864e5-n;for(let n of pe){let r=i+n*6e4;if(!(r<=0)&&de(e+r)!==t)return{tier:t,nextSwitchInMs:r}}}let r=pe[0]??0;return{tier:t,nextSwitchInMs:864e5-n+r*6e4}}function ge(e,t){let{nextSwitchInMs:n}=he(e);if(n>t)return null;let r=e+n;return{entering:de(r),atMs:r}}function F(e){let t=Math.max(1,Math.ceil(e/6e4)),n=Math.floor(t/60),r=t%60;return n>0?`${n}h${String(r).padStart(2,`0`)}m`:`${r}m`}let _e=`09:00-12:00 / 14:00-18:00`,ve=`Standard / Flex`,ye=[{key:`flash`,name:`DeepSeek V4 Flash`,provider:`DeepSeek`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:2,cacheHit:.04,output:8,offPeak:{input:1,cacheHit:.02,output:4}},peakHours:_e},{key:`flash-vision-exp`,name:`DeepSeek V4 Flash Vision (Exp)`,provider:`DeepSeek`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:2,cacheHit:.04,output:8,offPeak:{input:1,cacheHit:.02,output:4}},peakHours:_e},{key:`pro`,name:`DeepSeek V4 Pro`,provider:`DeepSeek`,colorVar:`dsw-static-deepseek-500`,price:{currency:`CNY`,input:2,cacheHit:.04,output:8,offPeak:{input:1,cacheHit:.02,output:4}},peakHours:_e},{key:`glm`,name:`GLM-5.2`,provider:`智谱 AI`,colorVar:`dsw-static-blue-600`,price:{currency:`CNY`,input:8,cacheHit:2,output:28}},{key:`glm-5.3`,name:`GLM-5.3`,provider:`智谱 AI`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:8,cacheHit:2,output:28}},{key:`glm-5.3-flash`,name:`GLM-5.3-Flash`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:.8,cacheHit:.23,output:2.8},promo:{factor:.5,endsAtMs:Date.UTC(2026,8,8,16,0,0),note:`限时 5 折`}},{key:`glm-4.6`,name:`GLM-4.6`,provider:`智谱 AI`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16}},{key:`glm-4.5-air`,name:`GLM-4.5-Air`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:.8,cacheHit:.16,output:2}},{key:`glm-4.7`,name:`GLM-4.7`,provider:`智谱 AI`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:4,cacheHit:1,output:16},estimated:!0},{key:`glm-5-turbo`,name:`GLM-5-Turbo`,provider:`智谱 AI`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:5,cacheHit:1.2,output:22}},{key:`glm-5.1`,name:`GLM-5.1`,provider:`智谱 AI`,colorVar:`dsw-static-blue-600`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:24}},{key:`glm-5v-turbo`,name:`GLM-5V-Turbo`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:5,cacheHit:1.2,output:22}},{key:`qwen-3.8-max`,name:`Qwen3.8 Max`,provider:`阿里通义`,colorVar:`dsw-static-blue-600`,price:{currency:`CNY`,input:12,cacheHit:1.5,output:36},extraRows:[{label:`显式缓存创建`,input:15},{label:`显式缓存命中`,input:1},{label:`Batch File`,input:6,output:18,note:`长期半价`},{label:`Batch Chat`,input:12,output:36,note:`与标准价一致`}]},{key:`qwen-3.8-flash`,name:`Qwen3.8 Flash`,provider:`阿里通义`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:1,cacheHit:.1,output:3},extraRows:[{label:`显式缓存创建`,input:1.25},{label:`显式缓存命中`,input:.1},{label:`Batch File`,input:.5,output:1.5,note:`长期半价`},{label:`Batch Chat`,input:1,output:3,note:`与标准价一致`}]},{key:`qwen-max`,name:`Qwen3.7-Max`,provider:`阿里通义`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:12,cacheHit:1.2,output:36},promo:{factor:.5,note:`限时 5 折`},extraRows:[{label:`显式缓存创建`,input:15},{label:`显式缓存命中`,input:1.2},{label:`Batch File`,input:6,output:18,note:`长期半价`},{label:`Batch Chat`,input:12,output:36,note:`与标准价一致`}]},{key:`qwen-plus`,name:`Qwen3.5-Plus`,provider:`阿里通义`,colorVar:`dsw-static-blue-500`,price:{currency:`CNY`,input:.8,cacheHit:.08,output:4.8},extraRows:[{label:`显式缓存创建`,input:1},{label:`显式缓存命中`,input:.08},{label:`Batch File`,input:.4,output:2.4,note:`长期半价`},{label:`Batch Chat`,input:.8,output:4.8,note:`与标准价一致`}]},{key:`qwen-flash`,name:`Qwen3.5-Flash`,provider:`阿里通义`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:.2,cacheHit:.02,output:2},extraRows:[{label:`显式缓存创建`,input:.25},{label:`显式缓存命中`,input:.02}]},{key:`doubao`,name:`Doubao Seed-2.0 Pro`,provider:`字节豆包`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:3.2,cacheHit:.64,output:16}},{key:`doubao-mini`,name:`Doubao Seed-2.0 Mini`,provider:`字节豆包`,colorVar:`dsw-static-red-300`,price:{currency:`CNY`,input:.2,cacheHit:.02,output:2}},{key:`doubao-1.6`,name:`Doubao Seed-1.6`,provider:`字节豆包`,colorVar:`dsw-static-red-400`,price:{currency:`CNY`,input:.8,cacheHit:0,output:8}},{key:`doubao-seed-evolving`,name:`Doubao-Seed-Evolving`,provider:`字节豆包`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:30}},{key:`doubao-seed-2.1-pro`,name:`Doubao Seed-2.1 Pro`,provider:`字节豆包`,colorVar:`dsw-static-red-400`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:30}},{key:`doubao-seed-2.1-turbo`,name:`Doubao Seed-2.1 Turbo`,provider:`字节豆包`,colorVar:`dsw-static-red-300`,price:{currency:`CNY`,input:3,cacheHit:.6,output:15}},{key:`kimi`,name:`Kimi K2.7 Code`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-700`,price:{currency:`CNY`,input:6.5,cacheHit:1.3,output:27}},{key:`kimi-k2.7-hs`,name:`Kimi K2.7 Code HighSpeed`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-600`,price:{currency:`CNY`,input:13,cacheHit:2.6,output:54}},{key:`kimi-k2.6`,name:`Kimi K2.6`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:6.5,cacheHit:1.1,output:27}},{key:`kimi-k3`,name:`Kimi K3`,provider:`月之暗面`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:20,cacheHit:2,output:100}},{key:`mimo-v2.5`,name:`MiMo V2.5`,provider:`小米`,colorVar:`dsw-static-green-400`,price:{currency:`CNY`,input:1,cacheHit:.02,output:2}},{key:`mimo-v2.5-pro`,name:`MiMo V2.5 Pro`,provider:`小米`,colorVar:`dsw-static-green-400`,price:{currency:`CNY`,input:3,cacheHit:.025,output:6}},{key:`minimax`,name:`MiniMax-M3`,provider:`MiniMax`,colorVar:`dsw-static-amber-500`,price:{currency:`CNY`,input:2.1,cacheHit:.42,output:8.4}},{key:`minimax-m2.7`,name:`MiniMax-M2.7`,provider:`MiniMax`,colorVar:`dsw-static-amber-400`,price:{currency:`CNY`,input:2.1,cacheHit:.42,output:8.4}},{key:`minimax-m2.7-highspeed`,name:`MiniMax-M2.7-highspeed`,provider:`MiniMax`,colorVar:`dsw-static-amber-500`,price:{currency:`CNY`,input:4.2,cacheHit:.42,output:16.8}},{key:`ernie`,name:`ERNIE-5.1`,provider:`百度文心`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:4,cacheHit:.4,output:18}},{key:`hunyuan`,name:`混元 Hy3`,provider:`腾讯混元`,colorVar:`dsw-static-amber-400`,price:{currency:`CNY`,input:1,cacheHit:.25,output:4}},{key:`hunyuan-t1`,name:`混元 T1`,provider:`腾讯混元`,colorVar:`dsw-static-amber-300`,price:{currency:`CNY`,input:1,cacheHit:.1,output:4}},{key:`yi`,name:`Yi-Lightning`,provider:`零一万物`,colorVar:`dsw-static-green-500`,price:{currency:`CNY`,input:.99,cacheHit:.1,output:.99}},{key:`step`,name:`Step 3.7 Flash`,provider:`阶跃星辰`,colorVar:`dsw-static-neutral-bluish-400`,price:{currency:`CNY`,input:1.35,cacheHit:.27,output:8.1}},{key:`spark`,name:`Spark 4.0 Ultra`,provider:`科大讯飞`,colorVar:`dsw-static-green-400`,price:{currency:`CNY`,input:5,cacheHit:.5,output:10},estimated:!0},{key:`sensenova`,name:`SenseNova 6.5`,provider:`商汤`,colorVar:`dsw-static-red-400`,price:{currency:`CNY`,input:4.5,cacheHit:.45,output:9},estimated:!0},{key:`baichuan`,name:`Baichuan M3-Plus`,provider:`百川智能`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:5,cacheHit:.5,output:9}},{key:`gpt-5.6-sol`,name:`GPT-5.6 Sol`,provider:`OpenAI`,colorVar:`dsw-static-green-500`,price:{currency:`USD`,input:5,cacheHit:.5,output:30}},{key:`gpt-5.6-terra`,name:`GPT-5.6 Terra`,provider:`OpenAI`,colorVar:`dsw-static-green-400`,price:{currency:`USD`,input:2,cacheHit:.2,output:12}},{key:`gpt-5.6-luna`,name:`GPT-5.6 Luna`,provider:`OpenAI`,colorVar:`dsw-static-green-500`,price:{currency:`USD`,input:.2,cacheHit:.02,output:1.2}},{key:`gemini-pro`,name:`Gemini 3.1 Pro`,provider:`Google`,colorVar:`dsw-static-blue-600`,price:{currency:`USD`,input:2,cacheHit:.2,output:12,offPeak:{input:1,cacheHit:.1,output:6}},peakHours:ve,tierSemantics:`latency`},{key:`gemini-flash`,name:`Gemini 3.6 Flash`,provider:`Google`,colorVar:`dsw-static-blue-400`,price:{currency:`USD`,input:1.5,cacheHit:.15,output:7.5,offPeak:{input:.75,cacheHit:.075,output:3.75}},peakHours:ve,tierSemantics:`latency`},{key:`grok`,name:`Grok 4.6`,provider:`xAI`,colorVar:`dsw-static-neutral-bluish-700`,price:{currency:`USD`,input:2,cacheHit:.5,output:6}},{key:`grok-4.3`,name:`Grok 4.3`,provider:`xAI`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`USD`,input:1.25,cacheHit:.2,output:2.5}},{key:`llama`,name:`Llama 4 Maverick`,provider:`Meta`,colorVar:`dsw-static-red-500`,price:{currency:`USD`,input:.2,cacheHit:.05,output:.6}},{key:`llama-scout`,name:`Llama 4 Scout`,provider:`Meta`,colorVar:`dsw-static-red-400`,price:{currency:`USD`,input:.1,cacheHit:.025,output:.3}},{key:`claude-opus-4-6`,name:`Claude Opus 4.6`,provider:`Anthropic`,colorVar:`dsw-static-red-500`,price:{currency:`USD`,input:5,cacheHit:.5,output:25}},{key:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,provider:`Anthropic`,colorVar:`dsw-static-red-400`,price:{currency:`USD`,input:3,cacheHit:.3,output:15}},{key:`claude-haiku-4-5`,name:`Claude Haiku 4.5`,provider:`Anthropic`,colorVar:`dsw-static-red-300`,price:{currency:`USD`,input:1,cacheHit:.1,output:5}},{key:`claude-opus-5`,name:`Claude Opus 5`,provider:`Anthropic`,colorVar:`dsw-static-red-500`,price:{currency:`USD`,input:5,cacheHit:.5,output:25}},{key:`claude-sonnet-5`,name:`Claude Sonnet 5`,provider:`Anthropic`,colorVar:`dsw-static-red-400`,price:{currency:`USD`,input:2,cacheHit:.2,output:10}},{key:`mistral-large-2512`,name:`Mistral Large 3`,provider:`Mistral AI`,colorVar:`dsw-static-violet-500`,price:{currency:`USD`,input:.5,cacheHit:.05,output:1.5}},{key:`mistral-small-2603`,name:`Mistral Small 4`,provider:`Mistral AI`,colorVar:`dsw-static-violet-400`,price:{currency:`USD`,input:.15,cacheHit:.015,output:.6}},{key:`ministral-8b-latest`,name:`Ministral 8B`,provider:`Mistral AI`,colorVar:`dsw-static-violet-300`,price:{currency:`USD`,input:.1,cacheHit:.01,output:.1}},{key:`command-a-03-2025`,name:`Command A`,provider:`Cohere`,colorVar:`dsw-static-cyan-500`,price:{currency:`USD`,input:2.5,cacheHit:.25,output:10}},{key:`command-r-08-2024`,name:`Command R`,provider:`Cohere`,colorVar:`dsw-static-cyan-400`,price:{currency:`USD`,input:.15,cacheHit:.015,output:.6}},{key:`longcat-2.0`,name:`LongCat 2.0`,provider:`美团`,colorVar:`dsw-static-amber-500`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16},estimated:!0},{key:`minicpm-v-4.5`,name:`MiniCPM-V 4.5`,provider:`面壁智能`,colorVar:`dsw-static-green-500`,price:{currency:`CNY`,input:1,cacheHit:.2,output:4},estimated:!0},{key:`ernie-4.5`,name:`ERNIE-4.5 300B`,provider:`百度文心`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:2,cacheHit:.4,output:8},estimated:!0},{key:`dots-3-note-preview`,name:`Dots3-Note Preview`,provider:`小红书`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:2,cacheHit:.4,output:8},estimated:!0},{key:`qwen3.6-max`,name:`Qwen3.6 Max`,provider:`阿里通义`,colorVar:`dsw-static-orange-500`,price:{currency:`CNY`,input:9,cacheHit:.9,output:54},extraRows:[{label:`显式缓存创建`,input:11.25},{label:`显式缓存命中`,input:.9}]},{key:`qwen3-coder-plus`,name:`Qwen3-Coder Plus`,provider:`阿里通义`,colorVar:`dsw-static-orange-400`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16},extraRows:[{label:`显式缓存创建`,input:5},{label:`显式缓存命中`,input:.4}]},{key:`qwen3-coder`,name:`Qwen3-Coder 480B`,provider:`阿里通义`,colorVar:`dsw-static-orange-300`,price:{currency:`CNY`,input:4,cacheHit:.8,output:16},estimated:!0},{key:`glm-4.5-x`,name:`GLM-4.5-X`,provider:`智谱 AI`,colorVar:`dsw-static-blue-400`,price:{currency:`CNY`,input:4,cacheHit:1,output:16},estimated:!0},{key:`glm-5.2-fast`,name:`GLM-5.2 Fast`,provider:`智谱 AI`,colorVar:`dsw-static-blue-300`,price:{currency:`CNY`,input:6,cacheHit:1.2,output:24},estimated:!0},{key:`kimi-k3-fast`,name:`Kimi K3 Fast`,provider:`月之暗面`,colorVar:`dsw-static-cyan-400`,price:{currency:`CNY`,input:20,cacheHit:2,output:100},estimated:!0},{key:`kimi-k2.7-code-fast`,name:`Kimi K2.7 Code Fast`,provider:`月之暗面`,colorVar:`dsw-static-cyan-400`,price:{currency:`CNY`,input:6.5,cacheHit:1.3,output:27},estimated:!0},{key:`kimi-k2.6-fast`,name:`Kimi K2.6 Fast`,provider:`月之暗面`,colorVar:`dsw-static-cyan-300`,price:{currency:`CNY`,input:6.5,cacheHit:1.1,output:27},estimated:!0},{key:`kimi-k2.6-turbo`,name:`Kimi K2.6 Turbo`,provider:`月之暗面`,colorVar:`dsw-static-cyan-300`,price:{currency:`CNY`,input:6.5,cacheHit:1.1,output:27},estimated:!0},{key:`kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,provider:`月之暗面`,colorVar:`dsw-static-cyan-300`,price:{currency:`CNY`,input:8,cacheHit:1,output:58}},{key:`doubao-seed-2.0-code`,name:`Doubao Seed-2.0 Code`,provider:`字节豆包`,colorVar:`dsw-static-red-500`,price:{currency:`CNY`,input:3.2,cacheHit:.64,output:16}},{key:`doubao-seed-2.0-lite`,name:`Doubao Seed-2.0 Lite`,provider:`字节豆包`,colorVar:`dsw-static-red-300`,price:{currency:`CNY`,input:.6,cacheHit:.12,output:3.6}},{key:`other`,name:`其他模型`,provider:`Custom`,colorVar:`dsw-static-neutral-bluish-500`,price:{currency:`CNY`,input:0,cacheHit:0,cacheMiss:0,output:0}}],I={"deepseek-v4-flash":`flash`,"deepseek-v4-flash-vision-exp":`flash-vision-exp`,"deepseek-v4.1-flash":`flash`,"deepseek-v4.1-flash-expires-on-0910":`flash`,"deepseek-flash":`flash`,"deepseek-v4-pro":`pro`,"glm-5.2":`glm`,"glm-4.5-air":`glm-4.5-air`,"glm-4.5air":`glm-4.5-air`,"glm-4.7":`glm-4.7`,"glm-5-turbo":`glm-5-turbo`,"glm-5.1":`glm-5.1`,"glm-5.3-flash":`glm-5.3-flash`,"glm-5v-turbo":`glm-5v-turbo`,"glm-5v.1":`glm-5v-turbo`,"claude-opus-4-6":`claude-opus-4-6`,"claude-opus-4.6":`claude-opus-4-6`,"claude-sonnet-4-6":`claude-sonnet-4-6`,"claude-sonnet-4.6":`claude-sonnet-4-6`,"claude-haiku-4-5":`claude-haiku-4-5`,"claude-haiku-4.5":`claude-haiku-4-5`,"claude-opus-5":`claude-opus-5`,"claude-sonnet-5":`claude-sonnet-5`,"mistral-large-2512":`mistral-large-2512`,"mistral-large-3":`mistral-large-2512`,"mistral-small-2603":`mistral-small-2603`,"mistral-small-4":`mistral-small-2603`,"ministral-8b-latest":`ministral-8b-latest`,"ministral-8b":`ministral-8b-latest`,"command-a-03-2025":`command-a-03-2025`,"command-a":`command-a-03-2025`,"command-r-08-2024":`command-r-08-2024`,"command-r":`command-r-08-2024`,"longcat-2.0":`longcat-2.0`,"longcat-2":`longcat-2.0`,"minicpm-v-4.5":`minicpm-v-4.5`,"minicpm-v-4.5-thinking":`minicpm-v-4.5`,"ernie-4.5":`ernie-4.5`,"ernie-4.5-300b":`ernie-4.5`,"dots-3-note-preview":`dots-3-note-preview`,"dots-3-note":`dots-3-note-preview`,"dots3-note-preview":`dots-3-note-preview`,"rednote-dots3":`dots-3-note-preview`,"doubao-seed-evolving":`doubao-seed-evolving`,"doubao-seed-evolve":`doubao-seed-evolving`,"doubao-seed-2.1-pro":`doubao-seed-2.1-pro`,"doubao-seed-2.1-pro-290000":`doubao-seed-2.1-pro`,"doubao-seed-2.1-turbo":`doubao-seed-2.1-turbo`,"doubao-seed-2-1-turbo":`doubao-seed-2.1-turbo`,"qwen3.8-max":`qwen-3.8-max`,"qwen3.8-flash":`qwen-3.8-flash`,"qwen3.7-max":`qwen-max`,"qwen3.6-max":`qwen3.6-max`,"qwen3.6-max-preview":`qwen3.6-max`,"qwen3-coder-plus":`qwen3-coder-plus`,"qwen3-coder":`qwen3-coder`,"qwen3-coder-480b":`qwen3-coder`,"glm-4.5-x":`glm-4.5-x`,"glm-4.5x":`glm-4.5-x`,"glm-5.2-fast":`glm-5.2-fast`,"glm-5.2f":`glm-5.2-fast`,"kimi-k3-fast":`kimi-k3-fast`,"kimi-k3f":`kimi-k3-fast`,"kimi-k2.7-code-fast":`kimi-k2.7-code-fast`,"kimi-k2.7-code-f":`kimi-k2.7-code-fast`,"kimi-k2.6-fast":`kimi-k2.6-fast`,"kimi-k2.6-turbo":`kimi-k2.6-turbo`,"kimi-k2-thinking-turbo":`kimi-k2-thinking-turbo`,"doubao-seed-2.0-code":`doubao-seed-2.0-code`,"doubao-seed-2-0-code":`doubao-seed-2.0-code`,"doubao-seed-2.0-lite":`doubao-seed-2.0-lite`,"doubao-seed-2-0-lite":`doubao-seed-2.0-lite`,"qwen-max":`qwen-max`,"hunyuan-t1":`hunyuan-t1`,"step-3.7-flash":`step`,"seed-2.0-mini":`doubao-mini`,k3:`kimi-k3`,"kimi-k3":`kimi-k3`,"minimax-m1":`minimax`,"minimax-m2":`minimax`,"minimax-m3":`minimax`,"minimax-m2.7":`minimax-m2.7`,"minimax-m2.7-highspeed":`minimax-m2.7-highspeed`,"minimax-m2.7-high-speed":`minimax-m2.7-highspeed`,"minimax-m2-7":`minimax-m2.7`,"minimax-m2-7-highspeed":`minimax-m2.7-highspeed`,"minimax-m2-7-high-speed":`minimax-m2.7-highspeed`};function L(e){return String(e).toLowerCase().replace(/\([^)]*\)/g,``).replace(/[^a-z0-9]+/g,``)}let R=(()=>{let e=new Map,t=(t,n)=>{let r=L(t);r!==``&&!e.has(r)&&e.set(r,n)};for(let e of ye)t(e.key,e.key);for(let[e,n]of Object.entries(I))t(e,n);for(let e of O)t(e.key,e.key);return e})();function z(e){let t=I[e]??e;if(t===e){let t=L(e);if(t!==``){let e=R.get(t);if(e!==void 0)return e;let n=(A??[]).find(e=>L(e.key)===t);if(n!==void 0)return n.key}}return t}function be(e){let t=z(e),n=re?.[t];if(n!==void 0)return n;let r=O.find(e=>e.key.toLowerCase()===t.toLowerCase());if(r!==void 0)return{input:r.input,cacheHit:r.cacheHit,output:r.output}}function xe(e){let t=z(e),n=ye.find(e=>e.key===t),r=A?.find(e=>e.key===t),i=n??(r===void 0?(()=>{let e=ye.at(-1);if(e!==void 0)return e;throw Error(`MODEL_CATALOG must not be empty`)})():B(r)),a=oe(t);if(a!==void 0)return{...i,userPriced:!0,price:{currency:a.currency??`CNY`,input:a.input,cacheHit:a.cacheHit,output:a.output}};let o=be(t);return o===void 0?i:{...i,price:{currency:`USD`,input:o.input,cacheHit:o.cacheHit,output:o.output}}}function B(e){return{key:e.key,name:e.name,provider:e.provider,colorVar:`dsw-static-neutral-400`,price:{currency:`USD`,input:e.price.input,cacheHit:e.price.cacheHit,output:e.price.output}}}function Se(e,t){let n=e.endsAtMs!==void 0&&t>=e.endsAtMs;return Number.isFinite(t)&&!n&&e.factor>0&&e.factor<1}function V(e,t){let{promo:n}=e;if(n===void 0||!Se(n,t))return e;let r=e=>({input:e.input*n.factor,cacheHit:e.cacheHit*n.factor,...e.cacheMiss===void 0?{}:{cacheMiss:e.cacheMiss*n.factor},output:e.output*n.factor});return{...e,price:{...r(e.price),currency:e.price.currency,...e.price.offPeak===void 0?{}:{offPeak:r(e.price.offPeak)}}}}function Ce(e=Date.now()){let t=[...ye.map(t=>V(t,e))],n=new Set(t.map(e=>e.key.toLowerCase())),r=new Set(t.map(e=>L(e.key)));for(let e of ie??[]){let i=e.id.toLowerCase();if((()=>{let t=z(e.id);return ye.find(e=>e.key===t)})()!==void 0)continue;let a=L(e.id);if(n.has(i)||a!==``&&r.has(a))continue;let o=(A??[]).find(e=>L(e.key)===a),s;if(o!==void 0)s=B(o),e.name!==void 0&&e.name!==``&&(s={...s,name:e.name});else{let t=be(i);s=t===void 0?{key:z(e.id),name:e.name??e.id,provider:e.provider,colorVar:`dsw-static-neutral-400`,price:{currency:`USD`,input:0,cacheHit:0,output:0},uncatalogued:!0}:{key:i,name:e.name??e.id,provider:e.provider,colorVar:`dsw-static-neutral-400`,price:{currency:`USD`,input:t.input,cacheHit:t.cacheHit,output:t.output}}}n.add(s.key.toLowerCase()),a!==``&&r.add(a),t.push(s)}return t.map(e=>{let t=oe(e.key);return t===void 0?e:{...e,userPriced:!0,price:{currency:t.currency??`CNY`,input:t.input,cacheHit:t.cacheHit,output:t.output}}})}function we(e){let t=getComputedStyle(document.documentElement).getPropertyValue(`--${e}`).trim();return t===``?`#8b95a3`:t}function H(e,t,n){let r=t.cacheMiss>0?t.cacheMiss:Math.max(0,t.input-t.cacheHit),i=Math.min(t.cacheHit,t.input),a=(r*(e.cacheMiss??e.input)+i*e.cacheHit+t.output*e.output)/1e6;return n===`USD`?a*ce():a}function Te(e,t,n=.5,r=Date.now()){let i=V(e,r),a=H(i.price,t,i.price.currency),o=i.price.offPeak===void 0?a:H(i.price.offPeak,t,i.price.currency);return a*n+o*(1-n)}function Ee(e){let t=ce();return t>0?e/t:e}function U(e,t=`cny`){let n=Number(e);if(!Number.isFinite(n))return t===`cny`?`¥0`:`$0`;let r=t===`cny`?`¥`:`$`;return n<=0?`${r}0`:n>=1e3?`${r}${n.toFixed(0)}`:n>=10?`${r}${n.toFixed(1)}`:n>=.1?`${r}${n.toFixed(2)}`:`${r}${n.toFixed(3)}`}function De(e,t=`CNY`){return e===0?`免费`:t===`USD`?e>=10?`$${e.toFixed(1)}`:`$${e.toFixed(2)}`:e>=10?`¥${e.toFixed(1)}`:`¥${e.toFixed(2)}`}function Oe(e,t,n,r){return r<=0||!Number.isFinite(r)||t===(n===`usd`?`USD`:`CNY`)?e:n===`usd`?e/r:e*r}function W(e){return e>=1e9?`${(e/1e9).toFixed(2)}B`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(e)}function ke(e){let t=Number(e);return Number.isFinite(t)?`${t.toFixed(1)}%`:`0.0%`}let G={top:18,right:40,bottom:26,left:46};function K(e){let[,t,n]=e.split(`-`);return`${Number(t)}/${Number(n)}`}function Ae(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}function q(e,t){let n=[];for(let r=0;r<e;r+=t)n.push(r);return e>0&&n[n.length-1]!==e-1&&n.push(e-1),n}let je={key:`__total__`,name:`总计`,color:``};function Me({data:e,models:t=[],currency:n=`cny`,metric:i=`cost`}){let[a,s]=(0,r.useState)(null),c=e=>U(n===`usd`?Ee(e):e,n),l=e=>i===`tokens`?Ae(e):c(e),u=e=>i===`tokens`?e.tokens??0:e.cost,d=(0,r.useMemo)(()=>{let n=e.length;if(n===0)return null;let r=680-G.left-G.right,a=220-G.top-G.bottom,o=e=>n===1?G.left+r/2:G.left+r*e/(n-1),s=Math.max(...i===`tokens`?e.map(e=>e.tokens??0):e.map(e=>Math.max(e.cost,Object.values(e.byModel??{}).reduce((e,t)=>e+t,0))),1e-4),c=e=>G.top+a-e/s*a,l=Math.max(...e.map(e=>e.calls),1),d=e=>G.top+a-e/l*a,f=r/n,p=Math.min(18,f*.6);return{n,plotW:r,plotH:a,inner:o,yCost:c,yCalls:d,barW:p,bars:e.flatMap((e,n)=>{let r=o(n)-p/2;if(t.length===0||i===`tokens`)return[{date:e.date,model:je,x:r,base:0,value:u(e),topRounded:!0}];let a=null;for(let n of t)(e.byModel?.[n.key]??0)>0&&(a=n.key);let s=0;return t.map(t=>{let n=e.byModel?.[t.key]??0,i={date:e.date,model:t,x:r,base:s,value:n,topRounded:t.key===a};return s+=n,i})}),costTicks:[0,.25,.5,.75,1].map(e=>s*e).reverse(),callsTicks:[0,.25,.5,.75,1].map(e=>l*e).reverse(),linePath:e.map((e,t)=>{let n=d(e.calls);return`${t===0?`M`:`L`}${o(t)} ${n}`}).join(` `)}},[e,t,i]);if(d===null)return(0,o.jsx)(`div`,{className:E.chartEmpty,children:`暂无趋势数据`});let{n:f,plotW:p,plotH:m,inner:h,yCost:g,yCalls:_,barW:v,bars:y,costTicks:b,callsTicks:x,linePath:S}=d,C=a===null?void 0:e[a],w=q(f,Math.max(1,Math.ceil(f/8)));return(0,o.jsxs)(`div`,{className:E.chartWrap,children:[(0,o.jsxs)(`svg`,{viewBox:`0 0 680 220`,className:E.chartSvg,role:`img`,"aria-label":`Daily cost by model and total calls`,onMouseLeave:()=>{s(null)},onMouseMove:e=>{let t=e.currentTarget.getBoundingClientRect(),n=((e.clientX-t.left)/t.width*680-G.left)/p,r=Math.round(n*(f-1));s(Math.min(Math.max(r,0),f-1))},children:[b.map((e,t)=>{let n=g(e);return(0,o.jsxs)(`g`,{children:[(0,o.jsx)(`line`,{x1:G.left,x2:680-G.right,y1:n,y2:n,className:E.chartGrid}),(0,o.jsx)(`text`,{x:G.left-8,y:n+3,textAnchor:`end`,className:E.chartAxisLabel,children:l(e)})]},`cost-${t}`)}),y.map(t=>{if(t.value>0)return(0,o.jsx)(`rect`,{x:t.x,y:g(t.base+t.value),width:v,height:g(t.base)-g(t.base+t.value),rx:t.topRounded?2:0,className:t.model.color===``?E.chartBar:E.chartStack,style:t.model.color===``?void 0:{fill:t.model.color}},`${t.date}-${t.model.key}`);let n=e.find(e=>e.date===t.date);return n!==void 0&&n.calls>0&&t.base===0?(0,o.jsx)(`rect`,{x:t.x,y:g(0)-1,width:v,height:1,rx:0,className:E.chartBarPlaceholder},`${t.date}-${t.model.key}-placeholder`):null}),(0,o.jsx)(`path`,{d:S,fill:`none`,className:E.chartLine}),x.map((e,t)=>{let n=_(e);return(0,o.jsx)(`text`,{x:680-G.right+8,y:n+3,textAnchor:`start`,className:E.chartAxisLabel,children:Ae(e)},`calls-${t}`)}),w.map(t=>{let n=e[t];return n===void 0?null:(0,o.jsx)(`text`,{x:h(t),y:214,textAnchor:`middle`,className:E.chartAxisLabel,children:K(n.date)},n.date)}),a!==null&&(0,o.jsx)(`line`,{x1:h(a),x2:h(a),y1:G.top,y2:G.top+m,className:E.chartCrosshair})]}),C!==void 0&&a!==null&&(0,o.jsxs)(`div`,{className:E.chartTooltip,style:{left:`${h(a)/680*100}%`,top:`${g(C.cost)/220*100}%`},children:[(0,o.jsx)(`div`,{className:E.chartTooltipDate,children:C.date}),i!==`tokens`&&t.filter(e=>(C.byModel?.[e.key]??0)>0).map(e=>(0,o.jsxs)(`div`,{className:E.chartTooltipRow,children:[(0,o.jsx)(`span`,{className:E.chartTooltipSwatch,style:{background:e.color}}),e.name,` `,(0,o.jsx)(`strong`,{children:c(C.byModel?.[e.key]??0)})]},e.key)),(0,o.jsxs)(`div`,{className:E.chartTooltipRow,children:[(0,o.jsx)(`span`,{className:E.chartLegendBar}),`总计 `,(0,o.jsx)(`strong`,{children:i===`tokens`?Ae(C.tokens??0):c(C.cost)})]}),(0,o.jsxs)(`div`,{className:E.chartTooltipRow,children:[(0,o.jsx)(`span`,{className:E.chartLegendLine}),`调用 `,(0,o.jsx)(`strong`,{children:C.calls.toLocaleString()})]})]}),t.length>0&&i!==`tokens`&&(0,o.jsxs)(`div`,{className:E.chartLegend,children:[t.map(e=>(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartTooltipSwatch,style:{background:e.color}}),e.name]},e.key)),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartLegendLine}),`调用`]})]})]})}let J={top:14,right:42,bottom:22,left:46};function Ne(e){let t=Object.keys(e).sort(),n=[];for(let r of t.slice(-48)){let t=e[r];t!==void 0&&n.push({key:r,ttftMs:t.ttftAvg,...t.tpsAvg===void 0?{}:{tps:t.tpsAvg}})}return n}function Pe(e){return e.slice(5,13).replace(`T`,` `)}function Fe(e){return e<1e4?`${Math.round(e)} ms`:e<6e4?`${(e/1e3).toFixed(1)} s`:`${(e/6e4).toFixed(1)} min`}function Ie(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1)}function Le({perf:e,models:t,t:n}){let i=e=>t.find(t=>t.key===e)?.color??`#8b95a3`,a=(0,r.useMemo)(()=>e===void 0?[]:Object.entries(e.byModel).map(([e,n])=>({key:e,name:t.find(t=>t.key===e)?.name??e,color:i(e),samples:n.samples,ttftAvg:n.ttftAvg,ttftP50:n.ttftP50,ttftP90:n.ttftP90,...n.ttftMax===void 0?{}:{ttftMax:n.ttftMax},...n.ttftSpikes===void 0?{}:{ttftSpikes:n.ttftSpikes},...n.tpsAvg===void 0?{}:{tpsAvg:n.tpsAvg},latencyAvg:n.latencyAvg,estimatedSamples:n.estimatedSamples})).sort((e,t)=>t.samples-e.samples||t.ttftP90-e.ttftP90),[e,t]),s=(0,r.useMemo)(()=>{let t=e===void 0?[]:Ne(e.byHour);if(t.length===0)return null;let n=t.length,r=680-J.left-J.right,i=180-J.top-J.bottom,a=e=>n===1?J.left+r/2:J.left+r*e/(n-1),o=Math.max(...t.map(e=>e.ttftMs),1),s=Math.max(...t.map(e=>e.tps??0),1),c=e=>J.top+i-e/o*i,l=e=>J.top+i-e/s*i,u=t.map((e,t)=>`${t===0?`M`:`L`}${a(t)} ${c(e.ttftMs)}`).join(` `),d=t.some(e=>e.tps!==void 0)?t.map((e,t)=>`${t===0?`M`:`L`}${a(t)} ${l(e.tps??0)}`).join(` `):``,f=Math.max(1,Math.ceil(n/8)),p=[];for(let e=0;e<n;e+=f)p.push(e);return n>0&&p[p.length-1]!==n-1&&p.push(n-1),{points:t,n,inner:a,yTtft:c,ttftPath:u,tpsPath:d,indices:p,ttftTicks:[0,.5,1].map(e=>o*e).reverse(),maxTps:s}},[e]);return e===void 0||a.length===0?(0,o.jsx)(`div`,{className:E.chartEmpty,"data-testid":`billing-perf-empty`,children:n(`perfEmpty`)}):(0,o.jsxs)(`div`,{"data-testid":`billing-perf-panel`,children:[(0,o.jsx)(`div`,{className:E.tableScroll,"data-testid":`billing-perf-table`,children:(0,o.jsxs)(`table`,{className:E.modelTable,children:[(0,o.jsx)(`thead`,{children:(0,o.jsxs)(`tr`,{children:[(0,o.jsx)(`th`,{children:n(`model`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfSamples`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfTtft`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfP50`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfP90`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfMax`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfTps`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfLatency`)}),(0,o.jsx)(`th`,{className:E.numCol,children:n(`perfEstimated`)})]})}),(0,o.jsx)(`tbody`,{children:a.map(e=>(0,o.jsxs)(`tr`,{children:[(0,o.jsx)(`td`,{children:(0,o.jsxs)(`span`,{className:E.modelCell,children:[(0,o.jsx)(`span`,{className:E.modelDot,style:{background:e.color}}),(0,o.jsx)(`span`,{className:E.modelName,children:e.name})]})}),(0,o.jsx)(`td`,{className:E.numCol,children:e.samples.toLocaleString()}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.ttftAvg)}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.ttftP50)}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.ttftP90)}),(0,o.jsx)(`td`,{className:E.numCol,children:e.ttftMax===void 0?(0,o.jsx)(`span`,{className:E.na,children:`—`}):(0,o.jsxs)(`span`,{children:[Fe(e.ttftMax),e.ttftSpikes!==void 0&&e.ttftSpikes>0?` (${e.ttftSpikes}↑)`:``]})}),(0,o.jsx)(`td`,{className:E.numCol,children:e.tpsAvg===void 0?(0,o.jsx)(`span`,{className:E.na,children:`—`}):Ie(e.tpsAvg)}),(0,o.jsx)(`td`,{className:E.numCol,children:Fe(e.latencyAvg)}),(0,o.jsx)(`td`,{className:E.numCol,children:e.estimatedSamples>0?e.estimatedSamples:(0,o.jsx)(`span`,{className:E.na,children:`—`})})]},e.key))})]})}),s!==null&&(0,o.jsxs)(`div`,{className:E.chartWrap,"data-testid":`billing-perf-hour`,children:[(0,o.jsxs)(`svg`,{viewBox:`0 0 680 180`,className:E.chartSvg,role:`img`,"aria-label":`Hourly TTFT and generation speed by model`,children:[s.ttftTicks.map((e,t)=>{let n=s.yTtft(e);return(0,o.jsxs)(`g`,{children:[(0,o.jsx)(`line`,{x1:J.left,x2:680-J.right,y1:n,y2:n,className:E.chartGrid}),(0,o.jsx)(`text`,{x:J.left-8,y:n+3,textAnchor:`end`,className:E.chartAxisLabel,children:e.toFixed(0)})]},`ttft-${t}`)}),(0,o.jsx)(`path`,{d:s.ttftPath,fill:`none`,className:E.chartLine}),s.tpsPath!==``&&(0,o.jsx)(`path`,{d:s.tpsPath,fill:`none`,className:E.chartLine,style:{stroke:`var(--dsw-static-amber-500)`,strokeDasharray:`4 4`}}),s.indices.map(e=>{let t=s.points[e];return t===void 0?null:(0,o.jsx)(`text`,{x:s.inner(e),y:174,textAnchor:`middle`,className:E.chartAxisLabel,children:Pe(t.key)},t.key)}),(0,o.jsxs)(`text`,{x:680-J.right+8,y:J.top+4,textAnchor:`start`,className:E.chartAxisLabel,children:[n(`perfTpsUnit`),` `,s.maxTps.toFixed(0)]})]}),(0,o.jsxs)(`div`,{className:E.chartLegend,children:[(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartLegendLine}),n(`perfTtft`),` (ms)`]}),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartLegendLine,style:{background:`var(--dsw-static-amber-500)`}}),n(`perfTps`),` (`,n(`perfTpsUnit`),`)`]})]})]})]})}let Re=`@kenz1117/dsh-ui-usage-billing`,Y=`kenz1117`;function ze({t:e,version:t}){return(0,o.jsxs)(`section`,{className:E.setCard,"data-testid":`billing-plugin-info`,children:[(0,o.jsxs)(`div`,{className:E.plgHead,children:[(0,o.jsx)(`span`,{className:E.plgIcon,"aria-hidden":`true`,children:(0,o.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,o.jsx)(`path`,{d:`M10 3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a2 2 0 0 0 4 0V4a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a2 2 0 0 0 4 0 1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-1a2 2 0 0 0 0 4h1a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-1a2 2 0 0 0-4 0v1a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2a2 2 0 0 0-4 0v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1a2 2 0 0 0-4 0 1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h1a2 2 0 0 0 0-4H3a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h1a2 2 0 0 0 4 0z`})})}),(0,o.jsxs)(`div`,{className:E.plgTitle,children:[(0,o.jsxs)(`div`,{className:E.plgNameRow,children:[(0,o.jsx)(`h3`,{className:E.plgName,children:Re}),(0,o.jsx)(`span`,{className:E.plgTag,children:t===void 0?`—`:`v${t}`})]}),(0,o.jsx)(`p`,{className:E.plgDesc,children:`Usage billing dashboard for DeepSeek Harness`})]})]}),(0,o.jsxs)(`div`,{className:E.plgGrid,children:[(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginAuthor`)}),(0,o.jsxs)(`a`,{className:E.plgLink,href:`https://github.com/${Y}`,target:`_blank`,rel:`noreferrer`,children:[`KenZ`,` (`,Y,`)`]})]}),(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginRepository`)}),(0,o.jsx)(`a`,{className:E.plgLink,href:`https://github.com/kenz1117/dsh-ui-usage-billing`,target:`_blank`,rel:`noreferrer`,children:`GitHub`})]}),(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginNpm`)}),(0,o.jsx)(`a`,{className:E.plgLink,href:`https://www.npmjs.com/package/@kenz1117/dsh-ui-usage-billing`,target:`_blank`,rel:`noreferrer`,children:Re})]}),(0,o.jsxs)(`div`,{className:E.plgItem,children:[(0,o.jsx)(`span`,{className:E.plgLabel,children:e(`pluginLicense`)}),(0,o.jsx)(`span`,{className:E.plgVal,children:`MIT`})]})]})]})}function Be(e=Date.now()){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`}function Ve(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}let X={top:14,right:18,bottom:22,left:46},Z=`var(--dsw-static-blue-500)`,He=`#14b8a6`,Ue=`var(--dsw-static-amber-500)`;function We(e){return[`date,missInput,cacheHit,output,reasoning,total`,...e.map(e=>`${e.date},${e.miss},${e.hit},${e.output},${e.reasoning},${e.miss+e.hit+e.output}`)].join(`
|
|
2
2
|
`)}function Ge(e){let{stats:t,trendDays:n,onTrendDays:i,t:a}=e,s=e.money;e.models;let{byDay:c,byModel:u,total:d}=t,[f,p]=(0,r.useState)(null),[m,h]=(0,r.useState)(`structure`),[g,_]=(0,r.useState)(null);t.byDayModels;let v=(0,r.useMemo)(()=>{let e=t.byRole;if(e===void 0)return[];let n=e.user+e.assistant+e.tool;return n<=0?[]:[{label:a(`roleUser`),value:e.user,seg:E.shareSegUser},{label:a(`roleAssistant`),value:e.assistant,seg:E.shareSegAssistant},{label:a(`roleTool`),value:e.tool,seg:E.shareSegTool}].map(e=>({...e,pct:e.value/n*100}))},[t.byRole,a]),y=(0,r.useMemo)(()=>{let e=[];for(let t=n-1;t>=0;--t){let n=new Date;n.setDate(n.getDate()-t);let r=Be(n.getTime()),i=c[r];e.push({date:r,miss:i?.cacheMiss??0,hit:i?.cacheHit??0,output:i?.output??0,reasoning:i?.reasoning??0})}return e},[c,n]),b=(0,r.useMemo)(()=>{let e=0;return Object.entries(u).filter(([,e])=>e.calls>0).map(([t,n])=>{let r=n.input+n.output;e+=r;let i=n.cacheHit+n.cacheMiss;return{key:t,name:xe(t).name,input:n.input,output:n.output,reasoning:n.reasoning??0,calls:n.calls,cacheHit:n.cacheHit,cacheMiss:n.cacheMiss,cacheHitRate:i>0?n.cacheHit/i*100:0,total:r,share:0}}).sort((e,t)=>t.total-e.total).map(t=>({...t,share:e>0?t.total/e:0}))},[u]),x=(0,r.useMemo)(()=>{let e=d.cacheHit??0,t=d.cacheMiss??0,n=d.input??0,r=d.output??0,i=d.reasoning??0,a=e+t,o=a>0?e/a*100:0,s=r>0?i/r*100:0,c=r>0?n/r:0,l;for(let e of y){let t=e.miss+e.hit+e.output;(l===void 0||t>l.miss+l.hit+l.output)&&(l=e)}return{cacheHitRate:o,reasoningPct:s,io:c,peak:l,hit:e,miss:t,input:n,output:r,reasoning:i}},[d,y]),S=(0,r.useMemo)(()=>{let e=Object.entries(t.byTool??{}),n=e.slice(0,8),r=e.slice(8).reduce((e,[,t])=>e+t,0),i=e.reduce((e,[,t])=>e+t,0);return{top:n,rest:r>0?[[`…`,r]]:[],totalCalls:i}},[t.byTool]),C=(0,r.useMemo)(()=>{let e=y.length;if(e===0)return null;let t=680-X.left-X.right,n=200-X.top-X.bottom,r=Math.max(...y.map(e=>e.miss+e.hit+e.output),1),i=e=>X.top+n-e/r*n,a=t/e,o=Math.min(20,a*.6),s=n=>e===1?X.left+t/2:X.left+t*n/(e-1),c=Math.max(1,Math.ceil(e/8)),l=[];for(let t=0;t<e;t+=c)l.push(t);return e>0&&l[l.length-1]!==e-1&&l.push(e-1),{n:e,plotW:t,plotH:n,max:r,y:i,barW:o,inner:s,indices:l}},[y]);return(0,o.jsxs)(`div`,{className:E.tokenPanel,"data-testid":`billing-token-panel`,children:[(0,o.jsxs)(`div`,{className:E.exportBar,role:`group`,"aria-label":a(`tokenExport`),children:[(0,o.jsx)(`span`,{className:E.exportLabel,children:a(`export`)}),(0,o.jsx)(`button`,{type:`button`,className:E.exportButton,"data-testid":`billing-token-export-csv`,onClick:()=>{let e=new Blob([We(y)],{type:`text/csv`}),t=document.createElement(`a`);t.href=URL.createObjectURL(e),t.download=`token-daily-${Be()}.csv`,t.click(),setTimeout(()=>URL.revokeObjectURL(t.href),0)},children:a(`tokenExportCsv`)}),(0,o.jsx)(`button`,{type:`button`,className:E.exportButton,"data-testid":`billing-token-export-json`,onClick:()=>{let e=new Blob([JSON.stringify({days:y,models:b,total:d},null,2)],{type:`application/json`}),t=document.createElement(`a`);t.href=URL.createObjectURL(e),t.download=`token-${Be()}.json`,t.click(),setTimeout(()=>URL.revokeObjectURL(t.href),0)},children:a(`exportJson`)})]}),(0,o.jsxs)(`div`,{className:E.kpiGrid,"data-testid":`billing-token-kpis`,children:[(0,o.jsxs)(`div`,{className:E.kpiTile,children:[(0,o.jsx)(`span`,{className:E.kpiLabel,children:a(`tokenCacheHitRate`)}),(0,o.jsxs)(`span`,{className:E.kpiValue,children:[x.cacheHitRate.toFixed(1),`%`]}),(0,o.jsxs)(`span`,{className:E.kpiDetail,children:[W(x.hit),` / `,W(x.hit+x.miss),(d.cacheWrite??0)>0?` · ${a(`tokenCacheWrite`)} ${W(d.cacheWrite??0)}`:``]})]}),(0,o.jsxs)(`div`,{className:E.kpiTile,children:[(0,o.jsx)(`span`,{className:E.kpiLabel,children:a(`tokenReasoningShare`)}),(0,o.jsxs)(`span`,{className:E.kpiValue,children:[x.reasoningPct.toFixed(1),`%`]}),(0,o.jsx)(`span`,{className:E.kpiDetail,children:W(x.reasoning)})]}),(0,o.jsxs)(`div`,{className:E.kpiTile,children:[(0,o.jsx)(`span`,{className:E.kpiLabel,children:a(`tokenIo`)}),(0,o.jsx)(`span`,{className:E.kpiValue,children:x.io.toFixed(2)}),(0,o.jsxs)(`span`,{className:E.kpiDetail,children:[W(x.input),` / `,W(x.output)]})]}),(0,o.jsxs)(`div`,{className:E.kpiTile,children:[(0,o.jsx)(`span`,{className:E.kpiLabel,children:a(`tokenPeak`)}),(0,o.jsx)(`span`,{className:E.kpiValue,children:x.peak===void 0?`—`:Ve(x.peak.miss+x.peak.hit+x.peak.output)}),(0,o.jsx)(`span`,{className:E.kpiDetail,children:x.peak?.date??`—`})]})]}),(0,o.jsxs)(`section`,{className:E.panel,"data-testid":`billing-token-daily`,children:[(0,o.jsxs)(`div`,{className:E.panelHead,children:[(0,o.jsx)(`h3`,{className:E.panelTitle,children:a(`tokenDaily`)}),(0,o.jsx)(`span`,{className:E.rangeToggle,role:`group`,"aria-label":a(`tokenDaily`),children:[7,30].map(e=>(0,o.jsx)(`button`,{type:`button`,className:l(E.rangeButton,n===e&&E.rangeButtonActive),"aria-pressed":n===e,onClick:()=>{i(e)},"data-testid":`billing-token-${e}d`,children:a(e===7?`trend7d`:`trend30d`)},e))})]}),C===null?(0,o.jsx)(`div`,{className:E.chartEmpty,children:a(`trendEmpty`)}):(0,o.jsxs)(`div`,{className:E.chartWrap,children:[(0,o.jsxs)(`svg`,{viewBox:`0 0 680 200`,className:E.chartSvg,role:`img`,"aria-label":a(`tokenDaily`),children:[[0,.5,1].map(e=>{let t=C.max*e,n=C.y(t);return(0,o.jsxs)(`g`,{children:[(0,o.jsx)(`line`,{x1:X.left,x2:680-X.right,y1:n,y2:n,className:E.chartGrid}),(0,o.jsx)(`text`,{x:X.left-8,y:n+3,textAnchor:`end`,className:E.chartAxisLabel,children:Ve(t)})]},e)}),y.map((e,t)=>{let n=C.inner(t)-C.barW/2,r=C.y(0),i=C.y(e.miss),a=C.y(e.miss+e.hit),s=C.y(e.miss+e.hit+e.output);return(0,o.jsxs)(`g`,{children:[(0,o.jsx)(`rect`,{x:n,y:i,width:C.barW,height:r-i,fill:Z}),(0,o.jsx)(`rect`,{x:n,y:a,width:C.barW,height:i-a,fill:He}),(0,o.jsx)(`rect`,{x:n,y:s,width:C.barW,height:a-s,fill:Ue})]},e.date)}),C.indices.map(e=>{let t=y[e];return t===void 0?null:(0,o.jsx)(`text`,{x:C.inner(e),y:194,textAnchor:`middle`,className:E.chartAxisLabel,children:t.date.slice(5)},t.date)})]}),(0,o.jsxs)(`div`,{className:E.chartLegend,children:[(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartTooltipSwatch,style:{background:Z}}),a(`tokenMiss`)]}),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartTooltipSwatch,style:{background:He}}),a(`tokenHit`)]}),(0,o.jsxs)(`span`,{children:[(0,o.jsx)(`span`,{className:E.chartTooltipSwatch,style:{background:Ue}}),a(`tokenOutput`)]})]})]})]}),(0,o.jsxs)(`section`,{className:E.panel,"data-testid":`billing-token-models`,children:[(0,o.jsx)(`div`,{className:E.panelHead,children:(0,o.jsx)(`h3`,{className:E.panelTitle,children:a(`tokenByModel`)})}),b.length===0?(0,o.jsx)(`div`,{className:E.emptyRow,children:a(`noData`)}):(0,o.jsx)(`div`,{className:E.tableScroll,children:(0,o.jsxs)(`table`,{className:E.modelTable,"data-testid":`billing-token-model-table`,children:[(0,o.jsx)(`thead`,{children:(0,o.jsxs)(`tr`,{children:[(0,o.jsx)(`th`,{children:a(`model`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`inputTokens`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`outputTokens`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`tokenReasoningShort`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`cacheHitRate`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`tokenTotal`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`tokenShare`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`calls`)})]})}),(0,o.jsx)(`tbody`,{children:b.map(e=>(0,o.jsxs)(`tr`,{"data-testid":`billing-token-model`,children:[(0,o.jsx)(`td`,{children:(0,o.jsx)(`span`,{className:E.modelName,children:e.name})}),(0,o.jsx)(`td`,{className:E.numCol,children:W(e.input)}),(0,o.jsx)(`td`,{className:E.numCol,children:W(e.output)}),(0,o.jsx)(`td`,{className:E.numCol,children:e.reasoning>0?W(e.reasoning):(0,o.jsx)(`span`,{className:E.na,children:`—`})}),(0,o.jsxs)(`td`,{className:E.numCol,children:[e.cacheHitRate.toFixed(1),`%`]}),(0,o.jsx)(`td`,{className:E.numCol,children:W(e.total)}),(0,o.jsx)(`td`,{className:E.numCol,children:(0,o.jsxs)(`span`,{className:E.tokenModelShareRow,children:[(0,o.jsx)(`span`,{className:E.tokenModelBar,children:(0,o.jsxs)(`span`,{className:E.tokenModelParts,style:{width:`${(e.share*100).toFixed(2)}%`},children:[(0,o.jsx)(`span`,{className:E.tokenModelPartIn,style:{width:`${e.total>0?e.input/e.total*100:0}%`}}),(0,o.jsx)(`span`,{className:E.tokenModelPartOut,style:{width:`${e.total>0?e.output/e.total*100:0}%`}})]})}),(e.share*100).toFixed(1),`%`]})}),(0,o.jsx)(`td`,{className:E.numCol,children:e.calls.toLocaleString()})]},e.key))})]})})]}),S.totalCalls>0&&(0,o.jsxs)(`section`,{className:E.panel,"data-testid":`billing-token-tools`,children:[(0,o.jsx)(`div`,{className:E.panelHead,children:(0,o.jsx)(`h3`,{className:E.panelTitle,children:a(`toolRank`)})}),(0,o.jsx)(`div`,{className:E.tableScroll,children:(0,o.jsxs)(`table`,{className:E.modelTable,"data-testid":`billing-tool-table`,children:[(0,o.jsx)(`thead`,{children:(0,o.jsxs)(`tr`,{children:[(0,o.jsx)(`th`,{children:a(`toolName`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`calls`)}),(0,o.jsx)(`th`,{className:E.numCol,children:a(`tokenShare`)})]})}),(0,o.jsx)(`tbody`,{children:[...S.top,...S.rest].map(([e,t])=>(0,o.jsxs)(`tr`,{"data-testid":`billing-tool-row`,children:[(0,o.jsx)(`td`,{children:(0,o.jsx)(`span`,{className:E.modelName,children:e})}),(0,o.jsx)(`td`,{className:E.numCol,children:t.toLocaleString()}),(0,o.jsxs)(`td`,{className:E.numCol,children:[(t/S.totalCalls*100).toFixed(1),`%`]})]},e))})]})})]}),v.length>0&&(0,o.jsxs)(`section`,{className:E.panel,"data-testid":`billing-panel-roles`,children:[(0,o.jsxs)(`div`,{className:E.panelHead,children:[(0,o.jsx)(`h3`,{className:E.panelTitle,children:a(`roleCost`)}),(0,o.jsx)(`span`,{className:E.panelHint,children:a(`roleHint`)})]}),(0,o.jsx)(`div`,{className:E.shareTrack,"data-testid":`billing-role-track`,children:v.map(e=>(0,o.jsx)(`div`,{className:l(E.shareSeg,e.seg),style:{width:`${e.pct}%`}},e.label))}),(0,o.jsx)(`div`,{className:E.shareLegend,children:v.map(e=>(0,o.jsxs)(`span`,{className:E.shareItem,children:[(0,o.jsx)(`span`,{className:l(E.shareDot,e.seg)}),e.label,(0,o.jsxs)(`span`,{className:E.shareValue,children:[s(e.value),` · `,e.pct.toFixed(1),`%`]})]},e.label))})]})]})}function Ke(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}`}function qe(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}function Je(e){let t=Math.round(e/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m${String(t%60).padStart(2,`0`)}s`}function Ye({rounds:e,flags:t,currency:n,t:i}){let a=(0,r.useMemo)(()=>e.slice(-40),[e]),s=(0,r.useMemo)(()=>new Set(t.map(e=>`${e.sessionId}:${e.turn}`)),[t]),c=(0,r.useMemo)(()=>Math.max(1e-4,...a.map(e=>e.cost)),[a]);if(a.length===0)return(0,o.jsxs)(`div`,{className:E.roundsEmpty,children:[i(`model`),` —`]});let u=e=>U(n===`usd`?Ee(e):e,n);return(0,o.jsxs)(`div`,{className:E.rounds,children:[(0,o.jsx)(`div`,{className:E.roundsBars,role:`img`,"aria-label":`cost per turn`,children:a.map(e=>{let t=s.has(`${e.sessionId}:${e.turn}`),n=Math.max(1,e.cost/c*100),r=de(e.startedAt)===`peak`;return(0,o.jsxs)(`div`,{className:l(E.roundsBarCol,r?E.roundsBarColPeak:E.roundsBarColOff),children:[(0,o.jsx)(`span`,{className:E.roundsBarLabel,style:{bottom:`${n}%`},children:u(e.cost)}),(0,o.jsx)(`div`,{className:E.roundsBarWrap,children:(0,o.jsx)(`div`,{className:t?E.roundsBarFlagged:E.roundsBar,style:{height:`${n}%`},"data-testid":`round-bar`,title:`${i(`model`)} ${e.model} · ${u(e.cost)} · ${qe(e.startedAt)}${e.endedAt===void 0?``:` → ${Ke(e.endedAt)} (${Je(e.endedAt-e.startedAt)})`}`,children:t&&(0,o.jsx)(`span`,{className:E.roundsFlagMark,"aria-hidden":`true`})})})]},`${e.sessionId}:${e.turn}`)})}),(0,o.jsxs)(`div`,{className:E.roundsAxis,children:[(0,o.jsxs)(`span`,{children:[i(`costAbbr`),` `,u(c)]}),(0,o.jsxs)(`span`,{children:[a.length,` 轮`]})]})]})}let Xe=[`var(--dsw-alias-bg-layer-2)`,`color-mix(in srgb, var(--dsw-static-green-500) 22%, var(--dsw-alias-bg-layer-2))`,`color-mix(in srgb, var(--dsw-static-green-500) 45%, var(--dsw-alias-bg-layer-2))`,`color-mix(in srgb, var(--dsw-static-green-500) 70%, var(--dsw-alias-bg-layer-2))`,`var(--dsw-static-green-500)`],Ze=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Qe(e){let t=e=>String(e).padStart(2,`0`);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`}function $e(e,t){let n=new Map;for(let t of e)n.set(t.date,t.value);let r=0;for(let e of n.values())e>r&&(r=e);let i=t.getFullYear(),a=t.getMonth(),o=t.getDate(),s=new Date(i,a+1,0).getDate(),c=new Date(i,a,1).getDay(),l=c+s,u=Math.ceil(l/7),d=[];for(let e=0;e<u;e+=1){let t=[];for(let l=0;l<7;l+=1){let u=e*7+l-c+1;if(u<1){let e=new Date(i,a,u);t.push({date:Qe(e),dayNum:e.getDate(),value:0,level:0,placeholder:!0});continue}if(u>s){let e=new Date(i,a+1,u-s);t.push({date:Qe(e),dayNum:e.getDate(),value:0,level:0,placeholder:!0});continue}let d=Qe(new Date(i,a,u)),f=n.get(d)??0,p=0;if(f>0&&r>0){let e=Math.ceil(f/r*4);p=Math.min(4,Math.max(1,e))}let m=u>o;t.push({date:d,dayNum:u,value:m?0:f,level:m?0:p,placeholder:m})}d.push(t)}return d}function et(e,t){let n=new Map;for(let t of e)n.set(t.date,t.value);let r=0;for(let e of n.values())e>r&&(r=e);let i=Qe(t),a=new Date(t);a.setHours(0,0,0,0),a.setDate(a.getDate()-a.getDay());let o=new Date(a);o.setDate(a.getDate()-357);let s=[];for(let e=0;e<52;e+=1){let t=[];for(let a=0;a<7;a+=1){let s=new Date(o);s.setDate(o.getDate()+e*7+a);let c=Qe(s),l=c>i,u=l?0:n.get(c)??0,d=0;if(!l&&u>0&&r>0){let e=Math.ceil(u/r*4);d=Math.min(4,Math.max(1,e))}t.push({date:c,dayNum:s.getDate(),value:u,level:d,placeholder:l})}s.push(t)}return s}function tt({days:e,currency:t,now:n,t:i,range:a=`month`}){let[s,c]=(0,r.useState)(null),l=e=>U(t===`usd`?Ee(e):e,t),u=(0,r.useMemo)(()=>$e(e,n??new Date),[e,n]);if(a===`year`){let t=et(e,n??new Date),r=[],a=-1;return t.forEach((e,t)=>{let n=Number(e[0]?.date.slice(5,7)??0);n!==a&&(r.push({index:t,label:Ze[n-1]??``}),a=n)}),(0,o.jsxs)(`div`,{className:E.heatmapYear,"data-testid":`heatmap-year`,children:[(0,o.jsxs)(`div`,{className:E.heatmapYearBody,children:[(0,o.jsx)(`div`,{className:E.heatmapYearWeekdays,"aria-hidden":`true`,children:[{label:`Mon`,row:1},{label:`Wed`,row:3},{label:`Fri`,row:5}].map(e=>(0,o.jsx)(`span`,{className:E.heatmapYearWeekday,style:{gridRow:e.row},children:e.label},e.label))}),(0,o.jsxs)(`div`,{className:E.heatmapYearScroll,children:[(0,o.jsx)(`div`,{className:E.heatmapYearMonths,"aria-hidden":`true`,"data-testid":`heatmap-year-months`,children:r.map(e=>(0,o.jsx)(`span`,{className:E.heatmapYearMonth,style:{gridColumn:e.index+1},children:e.label},e.index))}),(0,o.jsx)(`div`,{className:E.heatmapYearGrid,role:`img`,"aria-label":`yearly cost heatmap`,"data-testid":`heatmap-year-grid`,children:t.flat().map(e=>(0,o.jsx)(`button`,{type:`button`,className:E.heatmapYearCell,"data-testid":`heatmap-year-cell`,"data-level":e.level,style:{background:Xe[e.level]},title:`${e.date} · ${l(e.value)}`,"aria-label":`${e.date}: ${l(e.value)}`},e.date))})]})]}),(0,o.jsxs)(`div`,{className:E.heatmapFooter,children:[(0,o.jsx)(`span`,{className:E.heatmapLegendText,children:i(`heatmapLess`)}),(0,o.jsx)(`span`,{className:E.heatmapLegend,children:Xe.map((e,t)=>(0,o.jsx)(`i`,{style:{background:e}},t))}),(0,o.jsx)(`span`,{className:E.heatmapLegendText,children:i(`heatmapMore`)})]})]})}return(0,o.jsxs)(`div`,{className:E.heatmap,children:[(0,o.jsx)(`div`,{className:E.heatmapGrid,role:`img`,"aria-label":`daily cost heatmap`,children:u.map(e=>e.map(e=>e.placeholder?(0,o.jsx)(`div`,{className:E.heatmapCellEmpty,children:e.dayNum},e.date):(0,o.jsx)(`button`,{type:`button`,className:E.heatmapCell,"data-testid":`heatmap-cell`,"data-level":e.level,style:{background:Xe[e.level]},title:`${e.date} · ${l(e.value)}`,"aria-label":`${e.date}: ${l(e.value)}`,onMouseEnter:()=>{c(e)},onMouseLeave:()=>{c(null)},onFocus:()=>{c(e)},onBlur:()=>{c(null)},children:e.dayNum},e.date)))}),(0,o.jsxs)(`div`,{className:E.heatmapFooter,children:[(0,o.jsx)(`span`,{className:E.heatmapLegendText,children:i(`heatmapLess`)}),(0,o.jsx)(`span`,{className:E.heatmapLegend,children:Xe.map((e,t)=>(0,o.jsx)(`i`,{style:{background:e}},t))}),(0,o.jsx)(`span`,{className:E.heatmapLegendText,children:i(`heatmapMore`)}),s!==null&&(0,o.jsxs)(`span`,{className:E.heatmapHover,"data-testid":`heatmap-hover`,children:[s.date,` · `,l(s.value)]})]})]})}let nt={window:6,threshold:2,reasonFactor:1.8,reasonHitDropPp:15};function rt(e){if(e.length===0)return null;let t=0;for(let n of e)t+=n;return t/e.length}function it(e){let t=e.cacheHit+e.cacheMiss;return t<=0?null:e.cacheHit/t*100}function at(e,t){let n=t?.window??nt.window,r=t?.threshold??nt.threshold,i=t?.reasonFactor??nt.reasonFactor,a=t?.reasonHitDropPp??nt.reasonHitDropPp,o=[];if(n<=0||r<=0)return o;let s=[],c=[],l=[],u=[];for(let t of e){if(t.cost<=0)continue;let e=t.output,d=t.input,f=it(t),p=rt(s),m=[];if(p!==null&&p>0&&t.cost>p*r){let n=rt(c),r=rt(l),s=rt(u);n!==null&&n>0&&e>n*i&&m.push(`output-growth`),r!==null&&r>0&&d>r*i&&m.push(`context-bloat`),s!==null&&f!==null&&f<s-a&&m.push(`cache-hit-drop`),o.push({sessionId:t.sessionId,turn:t.turn,cost:t.cost,reasons:m})}for(s.push(t.cost),c.push(e),l.push(d),f!==null&&u.push(f);s.length>n;)s.shift();for(;c.length>n;)c.shift();for(;l.length>n;)l.shift();for(;u.length>n;)u.shift()}return o}function ot(e){return/[",\r\n]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e}function st(e){return/^[=+\-@\t\r]/.test(e)?`'${e}`:e}function ct(e){return e.toFixed(2)}function lt(e){return[`date,calls,input,output,cache_hit,cache_miss,cost_cny`,...Object.keys(e).sort().map(t=>{let n=e[t];return n===void 0?``:[t,n.calls,n.input,n.output,n.cacheHit,n.cacheMiss,ct(n.cost)].join(`,`)})].join(`
|
|
3
3
|
`)}function ut(e){return[`site,kind,calls,cost_cny`,...Object.entries(e).map(([e,t])=>{let n=e.startsWith(`site:`)?e.slice(5):e.startsWith(`direct:`)?e.slice(7):`unknown`,r=e.startsWith(`site:`)?`site`:e.startsWith(`direct:`)?`direct`:`unknown`;return[ot(st(n)),r,t.calls,ct(t.cost)].join(`,`)})].join(`
|
|
4
4
|
`)}function dt(e){return e===void 0?``:e.split(/[\\/]/).filter(Boolean).pop()??e}function ft(e){return[`session_id,title,project,calls,cost_cny,last_active`,...e.map(e=>[ot(st(e.id)),ot(st(e.title??``)),ot(st(dt(e.cwd))),e.calls,ct(e.cost),e.lastActive>0?new Date(e.lastActive).toISOString():``].join(`,`))].join(`
|
package/lib/index.js
CHANGED
|
@@ -227,15 +227,24 @@ const WEEKEND_OFFPEAK_START_MS = Date.parse("2026-08-22T16:00:00Z");
|
|
|
227
227
|
* 1/0.02/4(峰 = 谷 × 2)。目录条目写现行(新)价;分界前的历史事件由
|
|
228
228
|
* {@link computeCostAt} 按 {@link FLASH_REPRICED_OFFPEAK} 回算旧价,与
|
|
229
229
|
* {@link PEAK_ERA_START_MS} 同一「按事件时刻分段适用规则」口径。
|
|
230
|
+
* pro 例外:V4 Pro 的路由计费分界是 {@link PRO_OFFLINE_MS}(官方把原定
|
|
231
|
+
* 09-10 的路由时点推迟到 09-14 12:00),不在本分界切换。
|
|
230
232
|
*/
|
|
231
233
|
const FLASH_REPRICE_MS = Date.parse("2026-09-10T04:00:00Z");
|
|
232
234
|
/**
|
|
235
|
+
* V4 Pro 下线路由分界(UTC 2026-09-14T04:00:00Z,即北京时间 2026-09-14
|
|
236
|
+
* 12:00):官方价目页注释明确,此后至 V4.1 Pro 上线前,`deepseek-v4-pro`
|
|
237
|
+
* 的请求全部路由至 V4.1 Flash 并按其单价计费——此前的请求仍按 V4 Pro
|
|
238
|
+
* 峰谷刊例计费(官方原定 09-10 路由,后推迟到 09-14)。
|
|
239
|
+
*/
|
|
240
|
+
const PRO_OFFLINE_MS = Date.parse("2026-09-14T04:00:00Z");
|
|
241
|
+
/**
|
|
233
242
|
* flash 系调价前的官方谷档价(CNY / 1M tokens):{@link FLASH_REPRICE_MS}
|
|
234
243
|
* 之前的 flash / flash-vision-exp 事件按此回算(峰档 = 谷档 × 2)。pro 的
|
|
235
|
-
* 同表条目是 V4 Pro 峰谷时代刊例(谷 4.5/0.15/13.5
|
|
236
|
-
* {@link
|
|
237
|
-
*
|
|
238
|
-
*
|
|
244
|
+
* 同表条目是 V4 Pro 峰谷时代刊例(谷 4.5/0.15/13.5):官方自
|
|
245
|
+
* {@link PRO_OFFLINE_MS} 起(原定 09-10,后推迟)把 V4 Pro 请求全部路由至
|
|
246
|
+
* V4.1 Flash 并按其单价计费(V4.1 Pro 上线前),故分界前回算 V4 Pro 刊例、
|
|
247
|
+
* 分界后走目录的 Flash 价。用户价 = 实付价,与 legacy 口径相同地跳过本表。
|
|
239
248
|
*/
|
|
240
249
|
const FLASH_PRE_REPRICE_BAND = {
|
|
241
250
|
input: 1.5,
|
|
@@ -1407,6 +1416,7 @@ const MODEL_KEY_ALIASES = {
|
|
|
1407
1416
|
"deepseek-v4-flash-vision-exp": "flash-vision-exp",
|
|
1408
1417
|
"deepseek-v4.1-flash": "flash",
|
|
1409
1418
|
"deepseek-v4.1-flash-expires-on-0910": "flash",
|
|
1419
|
+
"deepseek-flash": "flash",
|
|
1410
1420
|
"deepseek-v4-pro": "pro",
|
|
1411
1421
|
"glm-5.2": "glm",
|
|
1412
1422
|
"glm-4.5-air": "glm-4.5-air",
|
|
@@ -1691,7 +1701,7 @@ function computeCostAt(entry, buckets, timeMs, peakShare = DEFAULT_PEAK_SHARE) {
|
|
|
1691
1701
|
const priced = applyPromo(entry, timeMs);
|
|
1692
1702
|
const legacy = timeMs < PEAK_ERA_START_MS && entry.userPriced !== true ? LEGACY_DEEPSEEK_BANDS[entry.key] : void 0;
|
|
1693
1703
|
if (legacy !== void 0) return priceBandCost(legacy, buckets, "CNY");
|
|
1694
|
-
const repriced = timeMs < FLASH_REPRICE_MS && entry.userPriced !== true ? FLASH_REPRICED_OFFPEAK[entry.key] : void 0;
|
|
1704
|
+
const repriced = timeMs < (entry.key === "pro" ? PRO_OFFLINE_MS : FLASH_REPRICE_MS) && entry.userPriced !== true ? FLASH_REPRICED_OFFPEAK[entry.key] : void 0;
|
|
1695
1705
|
if (repriced !== void 0) return priceBandCost((timeMs < WEEKEND_OFFPEAK_START_MS ? tariffV1At(timeMs) : tierAt(timeMs)) === "peak" ? {
|
|
1696
1706
|
input: repriced.input * 2,
|
|
1697
1707
|
cacheHit: repriced.cacheHit * 2,
|
|
@@ -2370,7 +2380,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
2370
2380
|
id,
|
|
2371
2381
|
...cwd === void 0 ? {} : { cwd },
|
|
2372
2382
|
...stamp === null ? {} : { stamp },
|
|
2373
|
-
foldVersion:
|
|
2383
|
+
foldVersion: 10,
|
|
2374
2384
|
fold: serializeFold(fold)
|
|
2375
2385
|
};
|
|
2376
2386
|
const row = ledger.get(id);
|
|
@@ -2460,7 +2470,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
2460
2470
|
try {
|
|
2461
2471
|
const cwd = meta.cwd;
|
|
2462
2472
|
const ledgerRow = ledger.get(id);
|
|
2463
|
-
if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) ===
|
|
2473
|
+
if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) === 10) {
|
|
2464
2474
|
const fold = deserializeFold(ledgerRow.fold);
|
|
2465
2475
|
folds.push({
|
|
2466
2476
|
id,
|
|
@@ -2543,7 +2553,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
2543
2553
|
for (const entry of ledger.values()) {
|
|
2544
2554
|
if (included.has(entry.id)) continue;
|
|
2545
2555
|
try {
|
|
2546
|
-
const stale = (entry.foldVersion ?? 1) <
|
|
2556
|
+
const stale = (entry.foldVersion ?? 1) < 10;
|
|
2547
2557
|
folds.push({
|
|
2548
2558
|
id: entry.id,
|
|
2549
2559
|
...entry.cwd === void 0 ? {} : { cwd: entry.cwd },
|
package/lib/types/aggregate.d.ts
CHANGED
|
@@ -434,8 +434,12 @@ export interface UsageLedgerDocument {
|
|
|
434
434
|
* 9:V4.1 Flash 内测端点 id(expires-on-0910)收录进别名表——此前该 id 落目录兜底
|
|
435
435
|
* 条目(Custom),费用按 0 计且把「主力消耗模型余额」挤成「未配置」(issue #40
|
|
436
436
|
* 反馈);bump 让存量账单的内测用量按 flash 时间线重折归并。
|
|
437
|
+
* 10:官方把 V4 Pro 路由时点从 09-10 12:00 推迟到 09-14 12:00(价目页注释 (2)),
|
|
438
|
+
* pro 的回算分界改用 PRO_OFFLINE_MS——09-10 ~ 09-14 之间 V4 Pro 请求仍按 V4 Pro
|
|
439
|
+
* 刊例计费(v8 行按 Flash 价折算,低估);bump 全量重折。同时收录官方新规范名
|
|
440
|
+
* deepseek-flash → flash。
|
|
437
441
|
*/
|
|
438
|
-
export declare const FOLD_VERSION =
|
|
442
|
+
export declare const FOLD_VERSION = 10;
|
|
439
443
|
/**
|
|
440
444
|
* 一次性账本迁移:id 唯一,apply 在加载边界对原始文档执行,已应用过的跳过。
|
|
441
445
|
* 未来账本/schema 字段变更(重命名、拆桶、语义调整)时,在此追加一条迁移并
|
|
@@ -117,8 +117,17 @@ export declare const WEEKEND_OFFPEAK_START_MS: number;
|
|
|
117
117
|
* 1/0.02/4(峰 = 谷 × 2)。目录条目写现行(新)价;分界前的历史事件由
|
|
118
118
|
* {@link computeCostAt} 按 {@link FLASH_REPRICED_OFFPEAK} 回算旧价,与
|
|
119
119
|
* {@link PEAK_ERA_START_MS} 同一「按事件时刻分段适用规则」口径。
|
|
120
|
+
* pro 例外:V4 Pro 的路由计费分界是 {@link PRO_OFFLINE_MS}(官方把原定
|
|
121
|
+
* 09-10 的路由时点推迟到 09-14 12:00),不在本分界切换。
|
|
120
122
|
*/
|
|
121
123
|
export declare const FLASH_REPRICE_MS: number;
|
|
124
|
+
/**
|
|
125
|
+
* V4 Pro 下线路由分界(UTC 2026-09-14T04:00:00Z,即北京时间 2026-09-14
|
|
126
|
+
* 12:00):官方价目页注释明确,此后至 V4.1 Pro 上线前,`deepseek-v4-pro`
|
|
127
|
+
* 的请求全部路由至 V4.1 Flash 并按其单价计费——此前的请求仍按 V4 Pro
|
|
128
|
+
* 峰谷刊例计费(官方原定 09-10 路由,后推迟到 09-14)。
|
|
129
|
+
*/
|
|
130
|
+
export declare const PRO_OFFLINE_MS: number;
|
|
122
131
|
/** 计费时段档位:高峰 / 空闲(官方 DeepSeek 刊例价:高峰 = 空闲 × 2)。 */
|
|
123
132
|
export type PriceTierId = 'peak' | 'offPeak';
|
|
124
133
|
/** 成本显示币种:人民币(国内模型直价)/ 美元(国外模型直价或换算显示)。 */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenz1117/dsh-ui-usage-billing",
|
|
3
3
|
"description": "Usage billing dashboard for DeepSeek Harness: sidebar cost metrics plus a full dashboard modal, priced from a current multi-provider catalog with real usage aggregated from session logs.",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.15",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|