@knpkv/herdr-usage 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/README.md +11 -2
- package/dist/app.d.ts +18 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +77 -0
- package/dist/app.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +24 -0
- package/dist/bin.js.map +1 -0
- package/dist/client/client.css +2 -0
- package/dist/client/client.css.map +7 -0
- package/dist/client/client.js +180 -0
- package/dist/client/client.js.map +7 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +88 -0
- package/dist/client.js.map +1 -0
- package/dist/host/failure.d.ts +15 -0
- package/dist/host/failure.d.ts.map +1 -0
- package/dist/host/failure.js +44 -0
- package/dist/host/failure.js.map +1 -0
- package/dist/host/limits.d.ts +59 -0
- package/dist/host/limits.d.ts.map +1 -0
- package/dist/host/limits.js +96 -0
- package/dist/host/limits.js.map +1 -0
- package/dist/host/usage.d.ts +93 -0
- package/dist/host/usage.d.ts.map +1 -0
- package/dist/host/usage.js +95 -0
- package/dist/host/usage.js.map +1 -0
- package/dist/host.d.ts +12 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +12 -0
- package/dist/host.js.map +1 -0
- package/dist/options.d.ts +24 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +28 -0
- package/dist/options.js.map +1 -0
- package/dist/selection.d.ts +8 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/selection.js +8 -0
- package/dist/selection.js.map +1 -0
- package/dist/views/usage-empty-art.d.ts +4 -0
- package/dist/views/usage-empty-art.d.ts.map +1 -0
- package/dist/views/usage-empty-art.js +8 -0
- package/dist/views/usage-empty-art.js.map +1 -0
- package/dist/views/usage-limits-chart-view.d.ts +12 -0
- package/dist/views/usage-limits-chart-view.d.ts.map +1 -0
- package/dist/views/usage-limits-chart-view.js +8 -0
- package/dist/views/usage-limits-chart-view.js.map +1 -0
- package/dist/views/usage-limits-chart.d.ts +28 -0
- package/dist/views/usage-limits-chart.d.ts.map +1 -0
- package/dist/views/usage-limits-chart.js +50 -0
- package/dist/views/usage-limits-chart.js.map +1 -0
- package/dist/views/usage-limits-page.d.ts +61 -0
- package/dist/views/usage-limits-page.d.ts.map +1 -0
- package/dist/views/usage-limits-page.js +275 -0
- package/dist/views/usage-limits-page.js.map +1 -0
- package/dist/views/usage-limits-view.d.ts +20 -0
- package/dist/views/usage-limits-view.d.ts.map +1 -0
- package/dist/views/usage-limits-view.js +36 -0
- package/dist/views/usage-limits-view.js.map +1 -0
- package/dist/views/usage-page.d.ts +53 -0
- package/dist/views/usage-page.d.ts.map +1 -0
- package/dist/views/usage-page.js +242 -0
- package/dist/views/usage-page.js.map +1 -0
- package/dist/views/usage-selection.d.ts +24 -0
- package/dist/views/usage-selection.d.ts.map +1 -0
- package/dist/views/usage-selection.js +51 -0
- package/dist/views/usage-selection.js.map +1 -0
- package/dist/views/views.css +1034 -0
- package/dist/views.d.ts +13 -0
- package/dist/views.d.ts.map +1 -0
- package/dist/views.js +13 -0
- package/dist/views.js.map +1 -0
- package/package.json +90 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 knpkv
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @knpkv/herdr-usage
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Claude and Codex usage and limits across a Relay fleet, as a hub app that also runs on its own.
|
|
4
|
+
|
|
5
|
+
- `@knpkv/herdr-usage/host`: this machine's readings. `readHostLimits` and `readHostUsage` run the configured
|
|
6
|
+
`agent-usage` command, bounded and cached, and explain in plain sentences when it can't answer. hostd serves
|
|
7
|
+
them to the hub as each peer's `/v1/connect/{limits,usage}/local`.
|
|
8
|
+
- `@knpkv/herdr-usage`: the app's server for `@knpkv/hub-app`. `GET /v1/modules/usage/limits` and
|
|
9
|
+
`GET /v1/modules/usage/usage?range=7d&timeZone=Europe/Amsterdam` answer the fleet's readings when the app is
|
|
10
|
+
attached to the hub (through `fleet.read`), and this machine's alone when it runs standalone.
|
|
11
|
+
|
|
12
|
+
The app's client and executable land when the hub's Usage pages move into this package.
|
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type AppManifestInput, ModuleHandlers, type ShellServiceUnavailable } from "@knpkv/hub-app";
|
|
2
|
+
import { ShellServices } from "@knpkv/hub-app/hub-client";
|
|
3
|
+
import type { AppServer } from "@knpkv/hub-app/node";
|
|
4
|
+
import { Layer } from "effect";
|
|
5
|
+
import { ChildProcessSpawner } from "effect/process";
|
|
6
|
+
export declare const usageManifest: (version: string) => AppManifestInput;
|
|
7
|
+
export interface UsageAppOptions {
|
|
8
|
+
/** The agent-usage command a standalone run reads this machine with, ending in `limits`; none means not configured. */
|
|
9
|
+
readonly limitsCommand: ReadonlyArray<string> | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The reads, built once per process. Standalone caches mirror hostd's: limits refresh after 30 s, usage per
|
|
13
|
+
* range and zone after five minutes.
|
|
14
|
+
*/
|
|
15
|
+
export declare const usageHandlers: (options: UsageAppOptions) => Layer.Layer<ModuleHandlers, ShellServiceUnavailable, ChildProcessSpawner.ChildProcessSpawner | ShellServices>;
|
|
16
|
+
/** The Usage app as its runner serves it; `clientDirectory` is the built client. */
|
|
17
|
+
export declare const usageApp: (version: string, options: UsageAppOptions, clientDirectory: string) => AppServer<ShellServiceUnavailable, ChildProcessSpawner.ChildProcessSpawner>;
|
|
18
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,gBAAgB,EACrB,cAAc,EAGd,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAoB,KAAK,EAAU,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGpD,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,gBAoB9C,CAAA;AAQF,MAAM,WAAW,eAAe;IAC9B,uHAAuH;IACvH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CAC1D;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,YAAa,eAAe,kHAkDnD,CAAA;AAEH,oFAAoF;AACpF,eAAO,MAAM,QAAQ,YACV,MAAM,WACN,eAAe,mBACP,MAAM,KACtB,SAAS,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,mBAAmB,CAI3E,CAAA"}
|
package/dist/app.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@knpkv/herdr-usage/app` — the Usage app's server: its manifest and its two reads, `GET /limits` and
|
|
3
|
+
* `GET /usage?range&timeZone`, under `/v1/modules/usage`.
|
|
4
|
+
*
|
|
5
|
+
* **Mental model**
|
|
6
|
+
*
|
|
7
|
+
* - Attached to the hub, both reads are the hub's fleet reads (`fleet.read`): every peer's agent-usage, as
|
|
8
|
+
* the Connect page shows it.
|
|
9
|
+
* - Standalone there is no fleet, so both read this machine through `./host` and answer the same shape with
|
|
10
|
+
* one host in it. The client can't tell the difference beyond the host count.
|
|
11
|
+
* - The hub's answer is decoded with the same schema the route encodes, so a hub that changed its wire shows
|
|
12
|
+
* up as a failed read, not a broken page.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
import { FleetLimits, FleetUsage, UsageQuery } from "@knpkv/herdr-connect";
|
|
17
|
+
import { AppId, ModuleHandlers, moduleReadRoute, ModuleRouteFailure } from "@knpkv/hub-app";
|
|
18
|
+
import { ShellServices } from "@knpkv/hub-app/hub-client";
|
|
19
|
+
import { Duration, Effect, Layer, Schema } from "effect";
|
|
20
|
+
import { ChildProcessSpawner } from "effect/process";
|
|
21
|
+
import { readHostLimits, readHostUsage, staleWhileRevalidate, usageCache } from "./host.js";
|
|
22
|
+
export const usageManifest = (version) => ({
|
|
23
|
+
contract: 1,
|
|
24
|
+
id: Schema.decodeSync(AppId)("usage"),
|
|
25
|
+
package: "@knpkv/herdr-usage",
|
|
26
|
+
version,
|
|
27
|
+
module: {
|
|
28
|
+
id: "usage",
|
|
29
|
+
label: "Usage",
|
|
30
|
+
defaultPage: "limits",
|
|
31
|
+
pages: [
|
|
32
|
+
{ id: "limits", label: "Limits" },
|
|
33
|
+
{ id: "tokens", label: "Tokens" },
|
|
34
|
+
{ id: "by-tool", label: "By tool" }
|
|
35
|
+
],
|
|
36
|
+
listeners: ["serve", "local"],
|
|
37
|
+
requires: ["read"]
|
|
38
|
+
},
|
|
39
|
+
services: ["fleet.read", "host"],
|
|
40
|
+
nav: { order: 30, primary: true, mobile: true },
|
|
41
|
+
standalone: { defaultPort: 3115 }
|
|
42
|
+
});
|
|
43
|
+
const NoQuery = Schema.fromURLSearchParams(Schema.Struct({}));
|
|
44
|
+
const UsageSearch = Schema.fromURLSearchParams(UsageQuery);
|
|
45
|
+
/** Why a read failed, in the route's public codes: the hub couldn't answer, or answered something else. */
|
|
46
|
+
const unreadable = () => new ModuleRouteFailure({ status: 503, code: "unavailable" });
|
|
47
|
+
/**
|
|
48
|
+
* The reads, built once per process. Standalone caches mirror hostd's: limits refresh after 30 s, usage per
|
|
49
|
+
* range and zone after five minutes.
|
|
50
|
+
*/
|
|
51
|
+
export const usageHandlers = (options) => Layer.effect(ModuleHandlers, Effect.gen(function* () {
|
|
52
|
+
const shell = yield* ShellServices;
|
|
53
|
+
// Attached, a hub that can't name this host fails startup; the unit restarts and asks again.
|
|
54
|
+
const { host } = yield* shell.host;
|
|
55
|
+
const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
56
|
+
const localLimits = yield* staleWhileRevalidate(readHostLimits(host, options.limitsCommand).pipe(Effect.provideService(ChildProcessSpawner.ChildProcessSpawner, spawner)), Duration.seconds(30));
|
|
57
|
+
const localUsage = yield* usageCache((query) => readHostUsage(host, options.limitsCommand, query).pipe(Effect.provideService(ChildProcessSpawner.ChildProcessSpawner, spawner)));
|
|
58
|
+
const limits = shell.fleetRead("limits", {}).pipe(Effect.flatMap((json) => Schema.decodeUnknownEffect(FleetLimits)(json)), Effect.catchTag("ShellServiceUnavailable", (unavailable) => unavailable.reason === "standalone"
|
|
59
|
+
? Effect.map(localLimits.read, (reading) => ({ hosts: [reading], failures: [], peersListed: true }))
|
|
60
|
+
: Effect.fail(unavailable)), Effect.mapError(unreadable));
|
|
61
|
+
const usage = (query) => shell.fleetRead("usage", { range: query.range, timeZone: query.timeZone }).pipe(Effect.flatMap((json) => Schema.decodeUnknownEffect(FleetUsage)(json)), Effect.catchTag("ShellServiceUnavailable", (unavailable) => unavailable.reason === "standalone"
|
|
62
|
+
? Effect.map(localUsage(query), (reading) => ({ hosts: [reading], failures: [], peersListed: true }))
|
|
63
|
+
: Effect.fail(unavailable)), Effect.mapError(unreadable));
|
|
64
|
+
return {
|
|
65
|
+
routes: [
|
|
66
|
+
moduleReadRoute("/limits", NoQuery, FleetLimits, () => limits),
|
|
67
|
+
moduleReadRoute("/usage", UsageSearch, FleetUsage, (query) => usage(query))
|
|
68
|
+
]
|
|
69
|
+
};
|
|
70
|
+
}));
|
|
71
|
+
/** The Usage app as its runner serves it; `clientDirectory` is the built client. */
|
|
72
|
+
export const usageApp = (version, options, clientDirectory) => ({
|
|
73
|
+
manifest: usageManifest(version),
|
|
74
|
+
handlers: usageHandlers(options),
|
|
75
|
+
clientDirectory
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* `herdr-usage [serve] [--port n] [--no-open]` runs the Usage app on its own; the hub runs `herdr-usage --attach`
|
|
4
|
+
* itself. `HERDR_USAGE_LIMITS_COMMAND` overrides the agent-usage command a standalone run reads with
|
|
5
|
+
* (see `./options.ts`).
|
|
6
|
+
*/
|
|
7
|
+
import { NodeRuntime, NodeServices } from "@effect/platform-node";
|
|
8
|
+
import { runApp } from "@knpkv/hub-app/node";
|
|
9
|
+
import { Effect, Result, Schema } from "effect";
|
|
10
|
+
import { createRequire } from "node:module";
|
|
11
|
+
import process from "node:process";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
|
+
import { usageApp } from "./app.js";
|
|
14
|
+
import { readUsageOptions } from "./options.js";
|
|
15
|
+
const require = createRequire(import.meta.url);
|
|
16
|
+
const { version } = Schema.decodeUnknownSync(Schema.Struct({ version: Schema.String }))(require("../package.json"));
|
|
17
|
+
const options = readUsageOptions(process.env, { execPath: process.execPath, resolve: require.resolve });
|
|
18
|
+
if (Result.isFailure(options)) {
|
|
19
|
+
NodeRuntime.runMain(Effect.fail(options.failure));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
runApp(usageApp(version, options.success, fileURLToPath(new URL("./client", import.meta.url))), NodeServices.layer);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEnH,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;AAEvG,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9B,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;AACnD,CAAC;KAAM,CAAC;IACN,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;AACrH,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@layer fleet{:where([data-app=usage]) .usage-details{--usage-gutter-start: max(var(--rly-space-40), env(safe-area-inset-left, 0px));--usage-gutter-end: max(var(--rly-space-40), env(safe-area-inset-right, 0px));container-type:inline-size;display:grid;align-content:start;gap:var(--rly-space-24);min-inline-size:0;padding-block:0 var(--rly-space-40);padding-inline:var(--usage-gutter-start) var(--usage-gutter-end);color:var(--rly-color-text-1)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool]{gap:var(--rly-space-20)}:where([data-app=usage]) .usage-details h1,:where([data-app=usage]) .usage-details h2,:where([data-app=usage]) .usage-details p,:where([data-app=usage]) .usage-details ul{margin:0}:where([data-app=usage]) .usage-by-tool-updating{gap:var(--rly-space-8);line-height:1.5;margin-block-start:-.25rem;font-size:.8125rem;font-weight:430}:where([data-app=usage]) .usage-by-tool-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem var(--rly-space-16);padding:var(--rly-space-12) var(--rly-space-16);border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-group);background:var(--rly-color-surface-1);font-weight:430}:where([data-app=usage]) .usage-by-tool-notice>div{display:grid;gap:.2rem;min-inline-size:0}:where([data-app=usage]) .usage-by-tool-notice>div>span:last-child{font-size:.875rem;line-height:1.5}:where([data-app=usage]) .usage-details .usage-by-tool-notice time{color:inherit}:where([data-app=usage]) .usage-by-tool-notice button{min-block-size:2.25rem;font-size:1rem;font-weight:430;line-height:1.5}:where([data-app=usage]) .usage-by-tool-updating svg{inline-size:.75rem;block-size:.75rem}:where([data-app=usage]) .usage-details-intro,:where([data-app=usage]) .usage-details-section,:where([data-app=usage]) .usage-details-footer{display:grid;gap:var(--rly-space-12);min-inline-size:0}:where([data-app=usage]) .usage-details h1{font-size:1.75rem;line-height:1.2;font-weight:620;letter-spacing:-.035em}:where([data-app=usage]) .usage-details h2{font-size:1.125rem;line-height:1.4;font-weight:600}:where([data-app=usage]) .usage-details p,:where([data-app=usage]) .usage-details small,:where([data-app=usage]) .usage-details time,:where([data-app=usage]) .usage-details-controls>span{color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-details-mast{display:contents}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-mast{display:grid;gap:.9rem;margin-inline:calc(-1 * var(--usage-gutter-start)) calc(-1 * var(--usage-gutter-end));padding-inline:var(--usage-gutter-start) var(--usage-gutter-end);border-block-end:1px solid var(--rly-color-border-1)}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-intro{gap:0;line-height:1.5}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-tabs{gap:var(--rly-space-8);margin-block-end:-1px;border:0;font:430 .9375rem / 1.5 var(--rly-font-ui)}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-tabs a{padding-inline:var(--rly-space-4)}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-tabs a[aria-current=page]{font-weight:620}:where([data-app=usage]) .usage-details-intro{gap:var(--rly-space-4);padding-block:var(--rly-space-24) 0}:where([data-app=usage]) .usage-details-intro>p{font-size:.9375rem}:where([data-app=usage]) .usage-details-tabs{display:flex;gap:var(--rly-space-24);border-block-end:1px solid var(--rly-color-border-1)}:where([data-app=usage]) .usage-details-tabs a{display:inline-flex;align-items:center;min-block-size:2.75rem;color:var(--rly-color-text-2);text-decoration:none;padding-block:var(--rly-space-8)}:where([data-app=usage]) .usage-details-tabs a[aria-current=page]{color:var(--rly-color-text-1);font-weight:600;background:linear-gradient(var(--rly-color-text-1),var(--rly-color-text-1)) center bottom / 100% 2px no-repeat}:where([data-app=usage]) .usage-by-tool{gap:var(--rly-space-20);font-weight:430;line-height:1.5}:where([data-app=usage]) .usage-by-tool-reading{display:grid;gap:.1rem}:where([data-app=usage]) .usage-by-tool p{font-size:.8125rem}:where([data-app=usage]) .usage-by-tool-total{font-size:1.75rem;font-weight:650;letter-spacing:-.03em}:where([data-app=usage]) .usage-by-tool table{display:block;border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-group);background:var(--rly-color-surface-1)}:where([data-app=usage]) .usage-by-tool tbody{display:block}:where([data-app=usage]) .usage-by-tool tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem var(--rly-space-16);align-items:center;padding-block:.75rem;padding-inline:.9rem}:where([data-app=usage]) .usage-by-tool tr+tr{border-block-start:1px solid var(--rly-color-border-1)}:where([data-app=usage]) .usage-by-tool th,:where([data-app=usage]) .usage-by-tool td{min-inline-size:0;padding:0;text-align:start;overflow-wrap:break-word}:where([data-app=usage]) .usage-by-tool th{font-size:.9375rem;font-weight:430}:where([data-app=usage]) .usage-by-tool td{font-variant-numeric:tabular-nums;font-weight:620}:where([data-app=usage]) .usage-by-tool td:nth-child(3){font-size:.8125rem;font-weight:400;color:var(--rly-color-text-2);text-align:end}:where([data-app=usage]) .usage-by-tool .usage-by-tool-track{grid-column:1 / -1;line-height:0}:where([data-app=usage]) .usage-by-tool progress{display:block;inline-size:100%;block-size:.375rem;border:0;border-radius:.1875rem;appearance:none;background:var(--rly-color-surface-3);color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-by-tool progress::-webkit-progress-bar{border-radius:.1875rem;background:var(--rly-color-surface-3)}:where([data-app=usage]) .usage-by-tool progress::-webkit-progress-value{border-radius:.1875rem;background:var(--rly-color-text-2)}:where([data-app=usage]) .usage-by-tool progress::-moz-progress-bar{border-radius:.1875rem;background:var(--rly-color-text-2)}:where([data-app=usage]) .usage-by-tool-heading,:where([data-app=usage]) .usage-by-tool thead{position:absolute;inline-size:1px;block-size:1px;padding:0;overflow:clip;clip-path:inset(50%)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-footer{display:none}:where([data-app=usage]) .usage-details-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rly-space-12) var(--rly-space-24)}:where([data-app=usage]) .usage-details-controls label{min-inline-size:0;max-inline-size:100%;display:flex;align-items:center;gap:var(--rly-space-8)}:where([data-app=usage]) .usage-details-controls [role=radiogroup]{gap:var(--rly-space-8)}:where([data-app=usage]) .usage-details-controls [role=radio]{min-block-size:2.75rem;border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-field);padding-inline:var(--rly-space-12);background:var(--rly-color-surface-1);font-size:.8125rem;font-weight:600}:where([data-app=usage]) .usage-details-controls [role=radio][aria-checked=true]{background:var(--rly-color-text-1);color:var(--rly-color-surface-1)}:where([data-app=usage]) .usage-details-controls select{min-inline-size:0;min-block-size:2.75rem;max-inline-size:100%;border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-field);padding-inline:var(--rly-space-12);background:var(--rly-color-surface-1);color:var(--rly-color-text-1);font:inherit;font-size:max(16px,1rem)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls{gap:var(--rly-space-8) var(--rly-space-16);padding-block-start:var(--rly-space-4);justify-content:space-between}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls label{position:relative;gap:.4rem;font-size:.875rem;font-weight:430}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls select{appearance:none;field-sizing:content;min-block-size:2.5rem;padding-inline:.7rem 1.775rem;border-radius:var(--rly-radius-control);font:620 .875rem / 1.5 var(--rly-font-ui)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls label .superapp-icon{position:absolute;inset-inline-end:.55rem;inline-size:.875rem;block-size:.875rem;pointer-events:none}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radiogroup]{gap:0;border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-control);overflow:clip;min-inline-size:0}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radio]{min-block-size:2.5rem;min-inline-size:0;border:0;border-radius:0;padding-inline:.75rem;background:transparent;font:430 .8125rem / 1.5 var(--rly-font-ui);white-space:normal}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radio]+[role=radio]{border-inline-start:1px solid var(--rly-color-border-1)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radio][aria-checked=true]{color:var(--rly-color-text-1);background:var(--rly-color-surface-2);font-weight:620}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-time-zone{position:absolute;inline-size:1px;block-size:1px;overflow:clip;clip-path:inset(50%)}:where([data-app=usage]) .usage-details .usage-tab{padding:0;max-inline-size:none;inline-size:100%;margin-inline:0}:where([data-app=usage]) .usage-details .usage-tab-panel,:where([data-app=usage]) .usage-details .usage-tab-host,:where([data-app=usage]) .usage-details-section li{border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-control);padding:var(--rly-space-16);background:var(--rly-color-surface-1)}:where([data-app=usage]) .usage-details-section ul{display:grid;gap:var(--rly-space-12);list-style:none;padding:0}:where([data-app=usage]) .usage-details-section li{display:flex;justify-content:space-between;align-items:center;gap:var(--rly-space-16)}:where([data-app=usage]) .usage-details-section li>span{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--rly-space-4);min-inline-size:0;overflow-wrap:break-word}:where([data-app=usage]) .usage-details-section li>strong{flex:none;font-variant-numeric:tabular-nums}:where([data-app=usage]) .usage-details-footer{border-block-start:1px solid var(--rly-color-border-1);padding-block-start:var(--rly-space-16);font-size:.875rem}:where([data-app=usage]) .usage-details a{color:var(--rly-color-text-1)}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-tabs a:not([aria-current=page]){color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-details-footer>a,:where([data-app=usage]) .usage-details-controls>a{display:inline-flex;align-items:center;min-block-size:2.75rem;inline-size:fit-content}:where([data-app=usage]) .usage-details a:focus-visible,:where([data-app=usage]) .usage-details select:focus-visible{outline:var(--rly-focus-ring-width) solid var(--rly-color-focus);outline-offset:var(--rly-focus-ring-offset)}:where([data-app=usage]) .usage-details a:active{opacity:.75}@media(hover:hover)and (pointer:fine){:where([data-app=usage]) .usage-details a:hover{text-decoration:underline}}@media(max-width:40rem){:where([data-app=usage]) .usage-details{--usage-gutter-start: max(var(--rly-space-16), env(safe-area-inset-left, 0px));--usage-gutter-end: max(var(--rly-space-16), env(safe-area-inset-right, 0px));gap:var(--rly-space-20)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool]{gap:var(--rly-space-16)}:where([data-app=usage]) .usage-by-tool-notice,:where([data-app=usage]) .usage-by-tool-updating{margin-block-end:var(--rly-space-4)}:where([data-app=usage]) .usage-by-tool-notice button{min-block-size:2.75rem}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-mast{gap:.9rem}:where([data-app=usage]) .usage-details-intro,:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-intro{gap:var(--rly-space-4);padding-block-start:var(--rly-space-12)}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-tabs{gap:0;margin-inline:calc(-1 * var(--usage-gutter-start)) calc(-1 * var(--usage-gutter-end));padding-inline:max(var(--rly-space-8),env(safe-area-inset-left,0px)) max(var(--rly-space-8),env(safe-area-inset-right,0px))}:where([data-app=usage]) .usage-details:is([data-usage-page=by-tool],[data-usage-page=limits]) .usage-details-tabs a{padding-inline:var(--rly-space-12)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls{padding-block-start:0;padding-block-end:var(--rly-space-4)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radiogroup]{flex:1 1 13rem;min-inline-size:min(100%,13rem)}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls select,:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radio]{min-block-size:2.75rem}:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radio]{flex:1}}@media(forced-colors:active){:where([data-app=usage]) .usage-details-controls [role=radio][aria-checked=true],:where([data-app=usage]) .usage-details[data-usage-page=by-tool] .usage-details-controls [role=radio][aria-checked=true]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}:where([data-app=usage]) .usage-details-tabs a[aria-current=page]{background:none;text-decoration:underline}}:where([data-app=usage]) .usage-details[data-usage-page=limits]{gap:2rem;padding-block-end:1rem;font-weight:430;line-height:1.5}:where([data-app=usage]) .usage-limits-summary{display:grid;gap:.4rem;max-inline-size:46em}:where([data-app=usage]) .usage-limits-summary h2{margin:0;font-size:1.9rem;font-weight:620;letter-spacing:-.03em;line-height:1.2;text-wrap:balance}:where([data-app=usage]) .usage-limits-summary p,:where([data-app=usage]) .usage-limits-card p,:where([data-app=usage]) .usage-limits-card dl{margin:0}:where([data-app=usage]) .usage-limits-summary p{color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-notices{display:grid;gap:2rem}:where([data-app=usage]) .usage-limits-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-inline-size:0}:where([data-app=usage]) .usage-limits-card{display:grid;gap:.85rem;align-content:start;padding-block:1.1rem;padding-inline:1.15rem;min-inline-size:0;border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-group);background:var(--rly-color-surface-1)}:where([data-app=usage]) .usage-limits-card-head{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline;justify-content:space-between}:where([data-app=usage]) .usage-limits-card-head h2{margin:0;font-size:1.25rem;font-weight:620;letter-spacing:-.02em;line-height:1.5}:where([data-app=usage]) .usage-limits-card-head small{font-size:.75rem;color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-figure{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:baseline}:where([data-app=usage]) .usage-limits-figure b{font-size:2.6rem;font-weight:620;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}:where([data-app=usage]) .usage-limits-figure span,:where([data-app=usage]) .usage-limits-note{color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-figure span{font-size:.875rem}:where([data-app=usage]) .usage-limits-card dl{display:grid}:where([data-app=usage]) .usage-limits-card dl>div{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;border-block-start:1px solid var(--rly-color-border-1);font-size:.875rem}:where([data-app=usage]) .usage-limits-card dt{color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-card dd{margin:0;font-weight:520;text-align:end}:where([data-app=usage]) .usage-limits-figure b[data-unknown],:where([data-app=usage]) .usage-limits-card dd[data-unknown]{color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-note{font-size:.8125rem}:where([data-app=usage]) .usage-limits-sr{position:absolute;inline-size:1px;block-size:1px;overflow:clip;clip-path:inset(50%);white-space:nowrap}:where([data-app=usage]) .usage-limits-foot{margin:0;padding-block-start:.8rem;max-inline-size:52em;border-block-start:1px solid var(--rly-color-border-1);font-size:.8125rem;color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-loading{display:grid;gap:.75rem}:where([data-app=usage]) .usage-limits-unavailable{display:grid;gap:1.5rem;min-inline-size:0}:where([data-app=usage]) .usage-limits-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem 1.5rem;min-block-size:44px}:where([data-app=usage]) .usage-limits-controls>button{font:inherit}:where([data-app=usage]) .usage-limits-retry{margin:0;font-size:.75rem;font-weight:520;line-height:1rem;color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-chart{display:grid;gap:.9rem;margin:0;padding-block:1.1rem;padding-inline:1.15rem;min-inline-size:0;border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-group);background:var(--rly-color-surface-1)}:where([data-app=usage]) .usage-limits-chart-head{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline;justify-content:space-between}:where([data-app=usage]) .usage-limits-chart-head h2{margin:0;font-size:1.1rem;font-weight:620;line-height:1.5}:where([data-app=usage]) .usage-limits-chart-head a{display:inline-flex;gap:.35rem;align-items:center;min-block-size:44px;font-size:.8125rem;text-decoration:underline;text-underline-offset:.2em}:where([data-app=usage]) .usage-limits-chart-head a svg{inline-size:14px;block-size:14px}:where([data-app=usage]) .usage-limits-bars{display:grid;gap:.5rem;align-items:end;block-size:200px}:where([data-app=usage]) .usage-limits-bar{display:grid;gap:.3rem;justify-items:center;align-content:end;block-size:100%;min-inline-size:0}:where([data-app=usage]) .usage-limits-bar-value{font-size:.75rem;font-weight:520;font-variant-numeric:tabular-nums;color:var(--rly-color-text-1)}:where([data-app=usage]) .usage-limits-bar-fill{display:block;inline-size:100%;max-inline-size:44px;border-radius:4px 4px 0 0;background:var(--rly-color-text-3)}:where([data-app=usage]) .usage-limits-bar-period{font-size:.75rem;text-align:center;color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-chart figcaption{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.8125rem;color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-limits-chart figcaption span{color:var(--rly-color-text-1)}:where([data-app=usage]) .usage-limits-chart figcaption [data-total]{font-weight:620}:where([data-app=usage]) .usage-limits-chart figcaption [data-unknown]{color:var(--rly-color-text-2)}@media(max-width:599px){:where([data-app=usage]) .usage-details[data-usage-page=limits]{gap:1.5rem;padding-block:.9rem 1.25rem}:where([data-app=usage]) .usage-details[data-usage-page=limits]>.usage-details-mast-slot{display:none}:where([data-app=usage]) .usage-limits-summary h2{font-size:1.5rem}:where([data-app=usage]) .usage-limits-cards{grid-template-columns:minmax(0,1fr)}}:where([data-app=usage]) .usage-page-heading{position:absolute;inline-size:1px;block-size:1px;margin:0;overflow:clip;clip-path:inset(50%);white-space:nowrap}:where([data-app=usage]) .usage-limits-empty{min-inline-size:0;color:var(--rly-color-text-1);padding-block:2rem 1rem;padding-inline:40px}:where([data-app=usage]) .usage-empty-mast{display:grid;gap:.9rem;padding-block:1.5rem 0;padding-inline:40px;border-block-end:1px solid var(--rly-color-border-1)}:where([data-app=usage]) .usage-empty-title,:where([data-app=usage]) .usage-empty-titles p,:where([data-app=usage]) .usage-empty-notice h2,:where([data-app=usage]) .usage-empty-notice p{margin:0}:where([data-app=usage]) .usage-empty-title{font-size:1.75rem;font-weight:620;letter-spacing:-.035em;line-height:1.2}:where([data-app=usage]) .usage-empty-titles p{color:var(--rly-color-text-2);font-size:.9375rem}:where([data-app=usage]) .usage-empty-tabs{display:flex;gap:.5rem;overflow:auto;scrollbar-width:none;margin-block-end:-1px}:where([data-app=usage]) .usage-empty-tabs a{display:flex;flex:none;align-items:center;min-block-size:44px;padding-inline:.25rem;white-space:nowrap;text-decoration:none;font-size:.9375rem;color:var(--rly-color-text-2);border-block-end:2px solid transparent}:where([data-app=usage]) .usage-empty-tabs a[aria-current=page]{font-weight:620;color:var(--rly-color-text-1);border-block-end-color:var(--rly-color-text-1)}:where([data-app=usage]) .usage-empty-notice{display:grid;justify-items:start;gap:1rem;padding-block:1.5rem;max-inline-size:34em}:where([data-app=usage]) .usage-empty-art{display:block;flex:none;inline-size:88px;block-size:88px;line-height:0}:where([data-app=usage]) .usage-empty-notice h2{font-size:1.6rem;font-weight:620;letter-spacing:-.025em;line-height:1.25;text-wrap:balance}:where([data-app=usage]) .usage-empty-notice p{color:var(--rly-color-text-2)}:where([data-app=usage]) .usage-empty-action{justify-self:start;display:inline-flex;align-items:center;gap:.4rem;min-block-size:44px;padding-inline:1rem;border:1px solid var(--rly-color-border-1);border-radius:var(--rly-radius-control);background:var(--rly-color-surface-1);font-size:.875rem;font-weight:520;color:var(--rly-color-text-1);text-decoration:none}@media(max-width:40rem){:where([data-app=usage]) .usage-limits-empty{padding-block:.9rem 6rem;padding-inline:16px}:where([data-app=usage]) .usage-empty-mast{padding-block:.75rem 0;padding-inline:16px}:where([data-app=usage]) .usage-empty-titles{display:grid;gap:.25rem}:where([data-app=usage]) .usage-empty-tabs{gap:0;margin-inline:-8px}:where([data-app=usage]) .usage-empty-tabs a{padding-inline:.75rem}}}
|
|
2
|
+
/*# sourceMappingURL=client.css.map */
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/views/views.css"],
|
|
4
|
+
"sourcesContent": ["@layer fleet {\n :where([data-app=\"usage\"]) .usage-details {\n --usage-gutter-start: max(var(--rly-space-40), env(safe-area-inset-left, 0px));\n --usage-gutter-end: max(var(--rly-space-40), env(safe-area-inset-right, 0px));\n container-type: inline-size;\n display: grid;\n align-content: start;\n gap: var(--rly-space-24);\n min-inline-size: 0;\n padding-block: 0 var(--rly-space-40);\n padding-inline: var(--usage-gutter-start) var(--usage-gutter-end);\n color: var(--rly-color-text-1);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] {\n gap: var(--rly-space-20);\n }\n\n :where([data-app=\"usage\"]) .usage-details h1,\n :where([data-app=\"usage\"]) .usage-details h2,\n :where([data-app=\"usage\"]) .usage-details p,\n :where([data-app=\"usage\"]) .usage-details ul {\n margin: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-updating {\n gap: var(--rly-space-8);\n line-height: 1.5;\n margin-block-start: -0.25rem;\n font-size: 0.8125rem;\n font-weight: 430;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-notice {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 0.6rem var(--rly-space-16);\n padding: var(--rly-space-12) var(--rly-space-16);\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-group);\n background: var(--rly-color-surface-1);\n font-weight: 430;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-notice > div {\n display: grid;\n gap: 0.2rem;\n min-inline-size: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-notice > div > span:last-child {\n font-size: 0.875rem;\n line-height: 1.5;\n }\n\n :where([data-app=\"usage\"]) .usage-details .usage-by-tool-notice time {\n color: inherit;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-notice button {\n min-block-size: 2.25rem;\n font-size: 1rem;\n font-weight: 430;\n line-height: 1.5;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-updating svg {\n inline-size: 0.75rem;\n block-size: 0.75rem;\n }\n\n :where([data-app=\"usage\"]) .usage-details-intro,\n :where([data-app=\"usage\"]) .usage-details-section,\n :where([data-app=\"usage\"]) .usage-details-footer {\n display: grid;\n gap: var(--rly-space-12);\n min-inline-size: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-details h1 {\n font-size: 1.75rem;\n line-height: 1.2;\n font-weight: 620;\n letter-spacing: -0.035em;\n }\n\n :where([data-app=\"usage\"]) .usage-details h2 {\n font-size: 1.125rem;\n line-height: 1.4;\n font-weight: 600;\n }\n\n :where([data-app=\"usage\"]) .usage-details p,\n :where([data-app=\"usage\"]) .usage-details small,\n :where([data-app=\"usage\"]) .usage-details time,\n :where([data-app=\"usage\"]) .usage-details-controls > span {\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-details-mast {\n display: contents;\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-mast {\n display: grid;\n gap: 0.9rem;\n margin-inline: calc(-1 * var(--usage-gutter-start)) calc(-1 * var(--usage-gutter-end));\n padding-inline: var(--usage-gutter-start) var(--usage-gutter-end);\n border-block-end: 1px solid var(--rly-color-border-1);\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-intro {\n gap: 0;\n line-height: 1.5;\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-tabs {\n gap: var(--rly-space-8);\n margin-block-end: -1px;\n border: 0;\n font: 430 0.9375rem / 1.5 var(--rly-font-ui);\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-tabs\n a {\n padding-inline: var(--rly-space-4);\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-tabs\n a[aria-current=\"page\"] {\n font-weight: 620;\n }\n\n :where([data-app=\"usage\"]) .usage-details-intro {\n gap: var(--rly-space-4);\n padding-block: var(--rly-space-24) 0;\n }\n\n :where([data-app=\"usage\"]) .usage-details-intro > p {\n font-size: 0.9375rem;\n }\n\n :where([data-app=\"usage\"]) .usage-details-tabs {\n display: flex;\n gap: var(--rly-space-24);\n border-block-end: 1px solid var(--rly-color-border-1);\n }\n\n :where([data-app=\"usage\"]) .usage-details-tabs a {\n display: inline-flex;\n align-items: center;\n min-block-size: 2.75rem;\n color: var(--rly-color-text-2);\n text-decoration: none;\n padding-block: var(--rly-space-8);\n }\n\n :where([data-app=\"usage\"]) .usage-details-tabs a[aria-current=\"page\"] {\n color: var(--rly-color-text-1);\n font-weight: 600;\n background: linear-gradient(var(--rly-color-text-1), var(--rly-color-text-1)) center bottom / 100% 2px no-repeat;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool {\n gap: var(--rly-space-20);\n font-weight: 430;\n line-height: 1.5;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-reading {\n display: grid;\n gap: 0.1rem;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool p {\n font-size: 0.8125rem;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-total {\n font-size: 1.75rem;\n font-weight: 650;\n letter-spacing: -0.03em;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool table {\n display: block;\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-group);\n background: var(--rly-color-surface-1);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool tbody {\n display: block;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool tr {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto auto;\n gap: 0.4rem var(--rly-space-16);\n align-items: center;\n padding-block: 0.75rem;\n padding-inline: 0.9rem;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool tr + tr {\n border-block-start: 1px solid var(--rly-color-border-1);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool th,\n :where([data-app=\"usage\"]) .usage-by-tool td {\n min-inline-size: 0;\n padding: 0;\n text-align: start;\n overflow-wrap: break-word;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool th {\n font-size: 0.9375rem;\n font-weight: 430;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool td {\n font-variant-numeric: tabular-nums;\n font-weight: 620;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool td:nth-child(3) {\n font-size: 0.8125rem;\n font-weight: 400;\n color: var(--rly-color-text-2);\n text-align: end;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool .usage-by-tool-track {\n grid-column: 1 / -1;\n line-height: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool progress {\n display: block;\n inline-size: 100%;\n block-size: 0.375rem;\n border: 0;\n border-radius: 0.1875rem;\n appearance: none;\n background: var(--rly-color-surface-3);\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool progress::-webkit-progress-bar {\n border-radius: 0.1875rem;\n background: var(--rly-color-surface-3);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool progress::-webkit-progress-value {\n border-radius: 0.1875rem;\n background: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool progress::-moz-progress-bar {\n border-radius: 0.1875rem;\n background: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-heading,\n :where([data-app=\"usage\"]) .usage-by-tool thead {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n overflow: clip;\n clip-path: inset(50%);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-footer {\n display: none;\n }\n\n :where([data-app=\"usage\"]) .usage-details-controls {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--rly-space-12) var(--rly-space-24);\n }\n\n :where([data-app=\"usage\"]) .usage-details-controls label {\n min-inline-size: 0;\n max-inline-size: 100%;\n display: flex;\n align-items: center;\n gap: var(--rly-space-8);\n }\n\n :where([data-app=\"usage\"]) .usage-details-controls [role=\"radiogroup\"] {\n gap: var(--rly-space-8);\n }\n\n :where([data-app=\"usage\"]) .usage-details-controls [role=\"radio\"] {\n min-block-size: 2.75rem;\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-field);\n padding-inline: var(--rly-space-12);\n background: var(--rly-color-surface-1);\n font-size: 0.8125rem;\n font-weight: 600;\n }\n\n :where([data-app=\"usage\"]) .usage-details-controls [role=\"radio\"][aria-checked=\"true\"] {\n background: var(--rly-color-text-1);\n color: var(--rly-color-surface-1);\n }\n\n :where([data-app=\"usage\"]) .usage-details-controls select {\n min-inline-size: 0;\n min-block-size: 2.75rem;\n max-inline-size: 100%;\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-field);\n padding-inline: var(--rly-space-12);\n background: var(--rly-color-surface-1);\n color: var(--rly-color-text-1);\n font: inherit;\n font-size: max(16px, 1rem);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls {\n gap: var(--rly-space-8) var(--rly-space-16);\n padding-block-start: var(--rly-space-4);\n justify-content: space-between;\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls label {\n position: relative;\n gap: 0.4rem;\n font-size: 0.875rem;\n font-weight: 430;\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls select {\n appearance: none;\n field-sizing: content;\n min-block-size: 2.5rem;\n padding-inline: 0.7rem 1.775rem;\n border-radius: var(--rly-radius-control);\n font: 620 0.875rem / 1.5 var(--rly-font-ui);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls label .superapp-icon {\n position: absolute;\n inset-inline-end: 0.55rem;\n inline-size: 0.875rem;\n block-size: 0.875rem;\n pointer-events: none;\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls [role=\"radiogroup\"] {\n gap: 0;\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-control);\n overflow: clip;\n min-inline-size: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls [role=\"radio\"] {\n min-block-size: 2.5rem;\n min-inline-size: 0;\n border: 0;\n border-radius: 0;\n padding-inline: 0.75rem;\n background: transparent;\n font: 430 0.8125rem / 1.5 var(--rly-font-ui);\n white-space: normal;\n }\n\n :where([data-app=\"usage\"])\n .usage-details[data-usage-page=\"by-tool\"]\n .usage-details-controls\n [role=\"radio\"]\n + [role=\"radio\"] {\n border-inline-start: 1px solid var(--rly-color-border-1);\n }\n\n :where([data-app=\"usage\"])\n .usage-details[data-usage-page=\"by-tool\"]\n .usage-details-controls\n [role=\"radio\"][aria-checked=\"true\"] {\n color: var(--rly-color-text-1);\n background: var(--rly-color-surface-2);\n font-weight: 620;\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-time-zone {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n overflow: clip;\n clip-path: inset(50%);\n }\n\n :where([data-app=\"usage\"]) .usage-details .usage-tab {\n padding: 0;\n max-inline-size: none;\n inline-size: 100%;\n margin-inline: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-details .usage-tab-panel,\n :where([data-app=\"usage\"]) .usage-details .usage-tab-host,\n :where([data-app=\"usage\"]) .usage-details-section li {\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-control);\n padding: var(--rly-space-16);\n background: var(--rly-color-surface-1);\n }\n\n :where([data-app=\"usage\"]) .usage-details-section ul {\n display: grid;\n gap: var(--rly-space-12);\n list-style: none;\n padding: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-details-section li {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--rly-space-16);\n }\n\n :where([data-app=\"usage\"]) .usage-details-section li > span {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n gap: var(--rly-space-4);\n min-inline-size: 0;\n overflow-wrap: break-word;\n }\n\n :where([data-app=\"usage\"]) .usage-details-section li > strong {\n flex: none;\n font-variant-numeric: tabular-nums;\n }\n\n :where([data-app=\"usage\"]) .usage-details-footer {\n border-block-start: 1px solid var(--rly-color-border-1);\n padding-block-start: var(--rly-space-16);\n font-size: 0.875rem;\n }\n\n :where([data-app=\"usage\"]) .usage-details a {\n color: var(--rly-color-text-1);\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-tabs\n a:not([aria-current=\"page\"]) {\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-details-footer > a,\n :where([data-app=\"usage\"]) .usage-details-controls > a {\n display: inline-flex;\n align-items: center;\n min-block-size: 2.75rem;\n inline-size: fit-content;\n }\n\n :where([data-app=\"usage\"]) .usage-details a:focus-visible,\n :where([data-app=\"usage\"]) .usage-details select:focus-visible {\n outline: var(--rly-focus-ring-width) solid var(--rly-color-focus);\n outline-offset: var(--rly-focus-ring-offset);\n }\n\n :where([data-app=\"usage\"]) .usage-details a:active {\n opacity: 0.75;\n }\n\n @media (hover: hover) and (pointer: fine) {\n :where([data-app=\"usage\"]) .usage-details a:hover {\n text-decoration: underline;\n }\n }\n\n @media (max-width: 40rem) {\n :where([data-app=\"usage\"]) .usage-details {\n --usage-gutter-start: max(var(--rly-space-16), env(safe-area-inset-left, 0px));\n --usage-gutter-end: max(var(--rly-space-16), env(safe-area-inset-right, 0px));\n gap: var(--rly-space-20);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] {\n gap: var(--rly-space-16);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-notice,\n :where([data-app=\"usage\"]) .usage-by-tool-updating {\n margin-block-end: var(--rly-space-4);\n }\n\n :where([data-app=\"usage\"]) .usage-by-tool-notice button {\n min-block-size: 2.75rem;\n }\n\n /* Rule 45 refs: the title and purpose under the breadcrumb, tabs 0.9rem below, on the canvas. */\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-mast {\n gap: 0.9rem;\n }\n\n :where([data-app=\"usage\"]) .usage-details-intro,\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-intro {\n gap: var(--rly-space-4);\n padding-block-start: var(--rly-space-12);\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-tabs {\n gap: 0;\n margin-inline: calc(-1 * var(--usage-gutter-start)) calc(-1 * var(--usage-gutter-end));\n padding-inline: max(var(--rly-space-8), env(safe-area-inset-left, 0px))\n max(var(--rly-space-8), env(safe-area-inset-right, 0px));\n }\n\n :where([data-app=\"usage\"])\n .usage-details:is([data-usage-page=\"by-tool\"], [data-usage-page=\"limits\"])\n .usage-details-tabs\n a {\n padding-inline: var(--rly-space-12);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls {\n padding-block-start: 0;\n padding-block-end: var(--rly-space-4);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls [role=\"radiogroup\"] {\n flex: 1 1 13rem;\n min-inline-size: min(100%, 13rem);\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls select,\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls [role=\"radio\"] {\n min-block-size: 2.75rem;\n }\n\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"by-tool\"] .usage-details-controls [role=\"radio\"] {\n flex: 1;\n }\n }\n\n @media (forced-colors: active) {\n :where([data-app=\"usage\"]) .usage-details-controls [role=\"radio\"][aria-checked=\"true\"],\n :where([data-app=\"usage\"])\n .usage-details[data-usage-page=\"by-tool\"]\n .usage-details-controls\n [role=\"radio\"][aria-checked=\"true\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n border-color: Highlight;\n }\n\n :where([data-app=\"usage\"]) .usage-details-tabs a[aria-current=\"page\"] {\n background: none;\n text-decoration: underline;\n }\n }\n\n /* Limits (06 Usage reference): the verdict, one card per tool, the token chart and the footnote. */\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"limits\"] {\n gap: 2rem;\n padding-block-end: 1rem;\n font-weight: 430;\n line-height: 1.5;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-summary {\n display: grid;\n gap: 0.4rem;\n max-inline-size: 46em;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-summary h2 {\n margin: 0;\n font-size: 1.9rem;\n font-weight: 620;\n letter-spacing: -0.03em;\n line-height: 1.2;\n text-wrap: balance;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-summary p,\n :where([data-app=\"usage\"]) .usage-limits-card p,\n :where([data-app=\"usage\"]) .usage-limits-card dl {\n margin: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-summary p {\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-notices {\n display: grid;\n gap: 2rem;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-cards {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 1rem;\n min-inline-size: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card {\n display: grid;\n gap: 0.85rem;\n align-content: start;\n padding-block: 1.1rem;\n padding-inline: 1.15rem;\n min-inline-size: 0;\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-group);\n background: var(--rly-color-surface-1);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card-head {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem 1rem;\n align-items: baseline;\n justify-content: space-between;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card-head h2 {\n margin: 0;\n font-size: 1.25rem;\n font-weight: 620;\n letter-spacing: -0.02em;\n line-height: 1.5;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card-head small {\n font-size: 0.75rem;\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-figure {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem 0.75rem;\n align-items: baseline;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-figure b {\n font-size: 2.6rem;\n font-weight: 620;\n letter-spacing: -0.04em;\n line-height: 1;\n font-variant-numeric: tabular-nums;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-figure span,\n :where([data-app=\"usage\"]) .usage-limits-note {\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-figure span {\n font-size: 0.875rem;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card dl {\n display: grid;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card dl > div {\n display: flex;\n justify-content: space-between;\n gap: 1rem;\n padding-block: 0.5rem;\n border-block-start: 1px solid var(--rly-color-border-1);\n font-size: 0.875rem;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card dt {\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-card dd {\n margin: 0;\n font-weight: 520;\n text-align: end;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-figure b[data-unknown],\n :where([data-app=\"usage\"]) .usage-limits-card dd[data-unknown] {\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-note {\n font-size: 0.8125rem;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-sr {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n overflow: clip;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-foot {\n margin: 0;\n padding-block-start: 0.8rem;\n max-inline-size: 52em;\n border-block-start: 1px solid var(--rly-color-border-1);\n font-size: 0.8125rem;\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-loading {\n display: grid;\n gap: 0.75rem;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-unavailable {\n display: grid;\n gap: 1.5rem;\n min-inline-size: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-controls {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: 0.5rem 1.5rem;\n min-block-size: 44px;\n }\n\n /* The reference's Retry takes the page's type (its page stylesheet sets button { font: inherit }). */\n :where([data-app=\"usage\"]) .usage-limits-controls > button {\n font: inherit;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-retry {\n margin: 0;\n font-size: 0.75rem;\n font-weight: 520;\n line-height: 1rem;\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart {\n display: grid;\n gap: 0.9rem;\n margin: 0;\n padding-block: 1.1rem;\n padding-inline: 1.15rem;\n min-inline-size: 0;\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-group);\n background: var(--rly-color-surface-1);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart-head {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem 1rem;\n align-items: baseline;\n justify-content: space-between;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart-head h2 {\n margin: 0;\n font-size: 1.1rem;\n font-weight: 620;\n line-height: 1.5;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart-head a {\n display: inline-flex;\n gap: 0.35rem;\n align-items: center;\n min-block-size: 44px;\n font-size: 0.8125rem;\n text-decoration: underline;\n text-underline-offset: 0.2em;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart-head a svg {\n inline-size: 14px;\n block-size: 14px;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-bars {\n display: grid;\n gap: 0.5rem;\n align-items: end;\n block-size: 200px;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-bar {\n display: grid;\n gap: 0.3rem;\n justify-items: center;\n align-content: end;\n block-size: 100%;\n min-inline-size: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-bar-value {\n font-size: 0.75rem;\n font-weight: 520;\n font-variant-numeric: tabular-nums;\n color: var(--rly-color-text-1);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-bar-fill {\n display: block;\n inline-size: 100%;\n max-inline-size: 44px;\n border-radius: 4px 4px 0 0;\n background: var(--rly-color-text-3);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-bar-period {\n font-size: 0.75rem;\n text-align: center;\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart figcaption {\n display: flex;\n flex-wrap: wrap;\n gap: 0.4rem 1.25rem;\n font-size: 0.8125rem;\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart figcaption span {\n color: var(--rly-color-text-1);\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart figcaption [data-total] {\n font-weight: 620;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-chart figcaption [data-unknown] {\n color: var(--rly-color-text-2);\n }\n\n @media (max-width: 599px) {\n /* The reference page ends 6rem under the footnote on phone; the shell's bottom-bar inset supplies the rest. */\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"limits\"] {\n gap: 1.5rem;\n padding-block: 0.9rem 1.25rem;\n }\n\n /* The phone page starts 0.9rem under the grouped header, without the slot's grid gap. */\n :where([data-app=\"usage\"]) .usage-details[data-usage-page=\"limits\"] > .usage-details-mast-slot {\n display: none;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-summary h2 {\n font-size: 1.5rem;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-cards {\n grid-template-columns: minmax(0, 1fr);\n }\n }\n\n /* Usage's empty-reading page, moved from the hub with its details. */\n\n /* Read by screen readers at every width; the header shows the same title as text the design draws. */\n :where([data-app=\"usage\"]) .usage-page-heading {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n margin: 0;\n overflow: clip;\n clip-path: inset(50%);\n white-space: nowrap;\n }\n\n :where([data-app=\"usage\"]) .usage-limits-empty {\n min-inline-size: 0;\n color: var(--rly-color-text-1);\n padding-block: 2rem 1rem;\n padding-inline: 40px;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-mast {\n display: grid;\n gap: 0.9rem;\n padding-block: 1.5rem 0;\n padding-inline: 40px;\n border-block-end: 1px solid var(--rly-color-border-1);\n }\n\n :where([data-app=\"usage\"]) .usage-empty-title,\n :where([data-app=\"usage\"]) .usage-empty-titles p,\n :where([data-app=\"usage\"]) .usage-empty-notice h2,\n :where([data-app=\"usage\"]) .usage-empty-notice p {\n margin: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-title {\n font-size: 1.75rem;\n font-weight: 620;\n letter-spacing: -0.035em;\n line-height: 1.2;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-titles p {\n color: var(--rly-color-text-2);\n font-size: 0.9375rem;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-tabs {\n display: flex;\n gap: 0.5rem;\n overflow: auto;\n scrollbar-width: none;\n margin-block-end: -1px;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-tabs a {\n display: flex;\n flex: none;\n align-items: center;\n min-block-size: 44px;\n padding-inline: 0.25rem;\n white-space: nowrap;\n text-decoration: none;\n font-size: 0.9375rem;\n color: var(--rly-color-text-2);\n border-block-end: 2px solid transparent;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-tabs a[aria-current=\"page\"] {\n font-weight: 620;\n color: var(--rly-color-text-1);\n border-block-end-color: var(--rly-color-text-1);\n }\n\n :where([data-app=\"usage\"]) .usage-empty-notice {\n display: grid;\n justify-items: start;\n gap: 1rem;\n padding-block: 1.5rem;\n max-inline-size: 34em;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-art {\n display: block;\n flex: none;\n inline-size: 88px;\n block-size: 88px;\n line-height: 0;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-notice h2 {\n font-size: 1.6rem;\n font-weight: 620;\n letter-spacing: -0.025em;\n line-height: 1.25;\n text-wrap: balance;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-notice p {\n color: var(--rly-color-text-2);\n }\n\n :where([data-app=\"usage\"]) .usage-empty-action {\n justify-self: start;\n display: inline-flex;\n align-items: center;\n gap: 0.4rem;\n min-block-size: 44px;\n padding-inline: 1rem;\n border: 1px solid var(--rly-color-border-1);\n border-radius: var(--rly-radius-control);\n background: var(--rly-color-surface-1);\n font-size: 0.875rem;\n font-weight: 520;\n color: var(--rly-color-text-1);\n text-decoration: none;\n }\n\n @media (max-width: 40rem) {\n :where([data-app=\"usage\"]) .usage-limits-empty {\n padding-block: 0.9rem 6rem;\n padding-inline: 16px;\n }\n\n /* Phone module heading (design rule 45 refs): title and purpose over the tabs, under the breadcrumb. */\n :where([data-app=\"usage\"]) .usage-empty-mast {\n padding-block: 0.75rem 0;\n padding-inline: 16px;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-titles {\n display: grid;\n gap: 0.25rem;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-tabs {\n gap: 0;\n margin-inline: -8px;\n }\n\n :where([data-app=\"usage\"]) .usage-empty-tabs a {\n padding-inline: 0.75rem;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|