[data-component="go-usage"] { --model-width: 16.5rem; --request-width: 5.25rem; --allowance-width: 6.75rem; --column-gap: 1.5rem; --bar-origin: left; container-type: inline-size; margin: 0; padding: 3rem var(--padding) 2.5rem; font-variant-numeric: tabular-nums; scroll-margin-top: 6rem; -webkit-font-smoothing: antialiased; &:dir(rtl) { --bar-origin: right; } [data-slot="heading"] { padding-bottom: 1.5rem; h2 { color: var(--color-text-strong); font-size: 1rem; font-weight: 600; } } s { display: block; color: var(--color-text-weak); font-size: 0.6875rem; font-weight: 400; } [data-slot="columns"], [data-slot="model-row"] { display: grid; grid-template-columns: var(--model-width) minmax(0, 1fr) var(--allowance-width); align-items: center; column-gap: var(--column-gap); } [data-slot="columns"] { padding-bottom: 0.875rem; border-bottom: 1px solid var(--color-border-weak); font-size: 0.6875rem; color: var(--color-text); overflow-wrap: anywhere; } [data-slot="requests-heading"], [data-slot="allowance-heading"] { text-align: end; } [data-slot="rows"] { padding-top: 0.375rem; } [data-slot="model-row"] { min-height: 2.5rem; font-size: 0.8125rem; } [data-slot="model"] { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.375rem 0.5rem; min-width: 0; line-height: 1.5; color: var(--color-text); font-weight: 400; } [data-slot="badge"] { color: var(--color-text-strong); font-size: 0.625rem; line-height: 1.3; border: 1px solid var(--color-border); padding: 0.0625rem 0.25rem; } [data-slot="region"] { display: inline-flex; align-self: center; padding: 0.25rem; color: var(--color-text); text-decoration: none; &:hover { color: var(--color-text-strong); } } [data-slot="usage-value"] { display: grid; grid-template-columns: minmax(0, 1fr) var(--request-width); align-items: center; gap: var(--column-gap); align-self: stretch; } [data-slot="track"] { display: flex; align-items: center; align-self: stretch; position: relative; isolation: isolate; } [data-slot="gridline"] { position: absolute; inset-block: 0; inset-inline-start: var(--position); border-inline-start: 1px dotted var(--color-border-weak); z-index: -1; } [data-slot="bar"] { width: var(--width); height: 0.375rem; background: var(--color-go-2); transform-origin: var(--bar-origin); } &[data-visible] [data-slot="bar"] { animation: go-usage-reveal 700ms cubic-bezier(0.22, 1, 0.36, 1) both; animation-delay: var(--delay); } [data-slot="requests"] { text-align: end; font-weight: 600; color: var(--color-text-strong); } [data-slot="allowance"] { text-align: end; color: var(--color-text); &[data-high] { color: var(--color-text-strong); } } [data-slot="currency"] { color: var(--color-text-weak); } [data-slot="axis"] { padding-inline-start: calc(var(--model-width) + var(--column-gap)); padding-inline-end: calc(var(--request-width) + var(--allowance-width) + 2 * var(--column-gap)); height: 2.5rem; } [data-slot="ticks"] { position: relative; height: 100%; font-size: 0.625rem; color: var(--color-text-weak); span { position: absolute; inset-inline-start: var(--position); top: 0.75rem; transform: translateX(-50%); &:dir(rtl) { transform: translateX(50%); } } } [data-slot="expand"] { display: flex; justify-content: center; align-items: center; gap: 0.5rem; min-height: 2.75rem; padding: 0.75rem 0; background: none; border: none; color: var(--color-text); font-family: inherit; font-size: 0.75rem; cursor: pointer; &:hover { color: var(--color-text-strong); } &[aria-expanded="true"] svg { transform: rotate(180deg); } } :is(button, a):focus-visible { outline: 1px solid var(--color-text-strong); outline-offset: 4px; } figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid var(--color-border-weak); font-size: 0.75rem; color: var(--color-text); a { color: inherit; white-space: nowrap; } } @container (max-width: 48rem) { [data-slot="columns"], [data-slot="model-row"], [data-slot="axis"] { --model-width: 13rem; --request-width: 4rem; --allowance-width: 6rem; --column-gap: 1rem; } } @container (max-width: 38rem) { [data-slot="columns"], [data-slot="model-row"] { --request-width: 5rem; --allowance-width: 4.5rem; --column-gap: 0.75rem; grid-template-columns: minmax(0, 1fr) var(--request-width) var(--allowance-width); } [data-slot="columns"] { font-size: 0.625rem; } [data-slot="model-row"] { min-height: 4rem; padding-block: 0.375rem; row-gap: 0.25rem; font-size: 1rem; } [data-slot="model"] { grid-column: 1 / -1; } [data-slot="usage-value"] { display: contents; } [data-slot="track"] { grid-column: 1; grid-row: 2; align-self: center; height: 4px; } [data-slot="bar"] { height: 4px; } [data-slot="requests"] { grid-column: 2; grid-row: 2; } [data-slot="allowance"] { grid-column: 3; grid-row: 2; } [data-slot="gridline"], [data-slot="axis"] { display: none; } [data-slot="expand"] { font-size: 0.8125rem; } figcaption { margin-top: 1rem; } } @media (prefers-reduced-motion: reduce) { &[data-visible] [data-slot="bar"] { animation: none; } } } @keyframes go-usage-reveal { from { transform: scaleX(0); } to { transform: scaleX(1); } }