Spaces:
Running
Running
Download src/styles.css from Yu-and-Ai/the-return-path: direct link, hf CLI and curl.
- Browser
- Download file 31.6 kB
-
https://huggingface.co/spaces/Yu-and-Ai/the-return-path/resolve/main/src/styles.css
- Command line
-
hf download hf://spaces/Yu-and-Ai/the-return-path/src/styles.css
-
curl -L -o styles.css https://huggingface.co/spaces/Yu-and-Ai/the-return-path/resolve/main/src/styles.css
31.6 kB
| /* | |
| * The Return Path — Cage & Key | |
| * A self-contained visual system for an editorial feedback laboratory. | |
| */ | |
| @layer reset, tokens, base, layout, components, states, accessibility; | |
| @layer reset { | |
| *, | |
| *::before, | |
| *::after { | |
| box-sizing: border-box; | |
| } | |
| html { | |
| color-scheme: dark; | |
| font-synthesis: none; | |
| text-size-adjust: 100%; | |
| } | |
| body, | |
| h1, | |
| h2, | |
| h3, | |
| p, | |
| ol, | |
| ul, | |
| dl, | |
| dd, | |
| figure, | |
| blockquote { | |
| margin: 0; | |
| } | |
| ol, | |
| ul { | |
| padding: 0; | |
| } | |
| button, | |
| input, | |
| select, | |
| textarea { | |
| color: inherit; | |
| font: inherit; | |
| } | |
| button, | |
| label, | |
| select, | |
| input[type="range"] { | |
| -webkit-tap-highlight-color: transparent; | |
| } | |
| img, | |
| svg { | |
| display: block; | |
| max-width: 100%; | |
| } | |
| } | |
| @layer tokens { | |
| :root { | |
| --ink-0: #070908; | |
| --ink-1: #0c0f0d; | |
| --ink-2: #111512; | |
| --ink-3: #171c18; | |
| --ink-4: #202620; | |
| --line: #303830; | |
| --line-soft: rgb(210 220 198 / 12%); | |
| --paper: #f1f1e7; | |
| --paper-soft: #c9ccbd; | |
| --paper-muted: #92998b; | |
| --key: #c8ff62; | |
| --key-soft: #a0ca55; | |
| --key-fade: rgb(200 255 98 / 12%); | |
| --cage: #ff785a; | |
| --cage-soft: #d65f49; | |
| --cage-fade: rgb(255 120 90 / 12%); | |
| --signal: #78bfff; | |
| --signal-soft: #6399c8; | |
| --signal-fade: rgb(120 191 255 / 12%); | |
| --gold: #e4bb66; | |
| --shadow: 0 24px 80px rgb(0 0 0 / 34%); | |
| --shadow-soft: 0 12px 32px rgb(0 0 0 / 22%); | |
| --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; | |
| --serif: Iowan Old Style, Baskerville, "Times New Roman", Times, serif; | |
| --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace; | |
| --radius-xs: 0.3rem; | |
| --radius-sm: 0.55rem; | |
| --radius-md: 0.85rem; | |
| --radius-lg: 1.2rem; | |
| --content: 90rem; | |
| --gutter: clamp(1rem, 3vw, 3rem); | |
| --ease-out: cubic-bezier(0.16, 1, 0.3, 1); | |
| } | |
| } | |
| @layer base { | |
| html { | |
| min-width: 20rem; | |
| min-height: 100%; | |
| background: var(--ink-0); | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| min-width: 20rem; | |
| min-height: 100vh; | |
| color: var(--paper); | |
| background: | |
| radial-gradient(circle at 78% -10%, rgb(200 255 98 / 8%), transparent 31rem), | |
| radial-gradient(circle at -10% 28%, rgb(120 191 255 / 6%), transparent 27rem), | |
| linear-gradient(180deg, var(--ink-1) 0%, var(--ink-0) 72%); | |
| font-family: var(--sans); | |
| font-size: 1rem; | |
| line-height: 1.55; | |
| text-rendering: optimizeLegibility; | |
| } | |
| body::before { | |
| position: fixed; | |
| z-index: -1; | |
| inset: 0; | |
| background-image: | |
| linear-gradient(var(--line-soft) 1px, transparent 1px), | |
| linear-gradient(90deg, var(--line-soft) 1px, transparent 1px); | |
| background-size: 4rem 4rem; | |
| content: ""; | |
| mask-image: linear-gradient(to bottom, black, transparent 82%); | |
| pointer-events: none; | |
| } | |
| ::selection { | |
| color: var(--ink-0); | |
| background: var(--key); | |
| } | |
| a { | |
| color: var(--key); | |
| text-decoration-color: rgb(200 255 98 / 45%); | |
| text-underline-offset: 0.22em; | |
| } | |
| a:hover { | |
| text-decoration-color: currentColor; | |
| } | |
| button { | |
| border: 0; | |
| } | |
| } | |
| @layer layout { | |
| #root, | |
| #app { | |
| min-height: 100vh; | |
| } | |
| .app-shell { | |
| position: relative; | |
| isolation: isolate; | |
| width: min(100%, var(--content)); | |
| min-height: 100vh; | |
| margin-inline: auto; | |
| padding: 1.15rem var(--gutter) 2.5rem; | |
| } | |
| .app-shell::before { | |
| position: absolute; | |
| z-index: -1; | |
| top: 0; | |
| bottom: 0; | |
| left: var(--gutter); | |
| width: 1px; | |
| background: linear-gradient(var(--key), var(--line) 7rem, transparent 88%); | |
| content: ""; | |
| opacity: 0.42; | |
| } | |
| .masthead { | |
| display: grid; | |
| grid-template-columns: minmax(0, 1.4fr) minmax(17rem, 0.6fr); | |
| gap: clamp(1.5rem, 5vw, 5rem); | |
| align-items: end; | |
| padding: clamp(3.25rem, 8vw, 7.25rem) 0 clamp(2rem, 4vw, 3.4rem) clamp(0.85rem, 2vw, 1.5rem); | |
| border-bottom: 1px solid var(--line); | |
| } | |
| .masthead-copy { | |
| min-width: 0; | |
| } | |
| .main-grid { | |
| display: grid; | |
| grid-template-columns: repeat(12, minmax(0, 1fr)); | |
| gap: clamp(0.8rem, 1.5vw, 1.25rem); | |
| margin-top: clamp(1.2rem, 3vw, 2.2rem); | |
| } | |
| .main-grid > .panel { | |
| grid-column: span 6; | |
| } | |
| .main-grid > .panel--wide, | |
| .main-grid > .span-8 { | |
| grid-column: span 8; | |
| } | |
| .main-grid > .panel--narrow, | |
| .main-grid > .span-4 { | |
| grid-column: span 4; | |
| } | |
| .main-grid > .panel--full, | |
| .main-grid > .span-full { | |
| grid-column: 1 / -1; | |
| } | |
| .control-grid { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: 1rem; | |
| } | |
| .candidate-grid { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: 0.75rem; | |
| } | |
| .lane-grid { | |
| display: grid; | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| gap: 0.75rem; | |
| } | |
| .metric-grid { | |
| display: grid; | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| gap: 0.65rem; | |
| } | |
| } | |
| @layer components { | |
| .eyebrow { | |
| display: flex; | |
| gap: 0.7rem; | |
| align-items: center; | |
| margin-bottom: clamp(1rem, 2vw, 1.75rem); | |
| color: var(--key); | |
| font-family: var(--mono); | |
| font-size: 0.68rem; | |
| font-weight: 700; | |
| letter-spacing: 0.17em; | |
| line-height: 1.3; | |
| text-transform: uppercase; | |
| } | |
| .eyebrow::before { | |
| width: 1.55rem; | |
| height: 1px; | |
| background: currentColor; | |
| content: ""; | |
| } | |
| .title { | |
| max-width: 12ch; | |
| color: var(--paper); | |
| font-family: var(--serif); | |
| font-size: clamp(3.15rem, 8vw, 7.4rem); | |
| font-weight: 400; | |
| letter-spacing: -0.058em; | |
| line-height: 0.84; | |
| text-wrap: balance; | |
| } | |
| .title::after { | |
| color: var(--key); | |
| content: "."; | |
| } | |
| .subtitle { | |
| max-width: 36rem; | |
| margin-top: 1.35rem; | |
| color: var(--paper-soft); | |
| font-family: var(--serif); | |
| font-size: clamp(1.1rem, 1.8vw, 1.42rem); | |
| font-style: italic; | |
| line-height: 1.45; | |
| } | |
| .boundary-note { | |
| position: relative; | |
| padding: 2.15rem 1.1rem 1.1rem; | |
| border: 1px solid var(--line); | |
| border-left-color: var(--signal); | |
| border-radius: var(--radius-sm); | |
| color: var(--paper-soft); | |
| background: linear-gradient(135deg, var(--signal-fade), transparent 62%); | |
| font-size: 0.83rem; | |
| line-height: 1.6; | |
| } | |
| .boundary-note::before { | |
| position: absolute; | |
| top: 0.75rem; | |
| left: 1.1rem; | |
| color: var(--signal); | |
| content: "OBSERVATION BOUNDARY"; | |
| font-family: var(--mono); | |
| font-size: 0.58rem; | |
| font-weight: 700; | |
| letter-spacing: 0.14em; | |
| } | |
| .boundary-note code { | |
| overflow-wrap: anywhere; | |
| word-break: break-word; | |
| } | |
| .stage-nav { | |
| display: grid; | |
| grid-template-columns: repeat(6, minmax(0, 1fr)); | |
| padding: 0.75rem 0; | |
| border-bottom: 1px solid var(--line); | |
| overflow-x: auto; | |
| scrollbar-color: var(--line) transparent; | |
| } | |
| .stage-button { | |
| position: relative; | |
| display: flex; | |
| min-width: 8rem; | |
| min-height: 3.4rem; | |
| gap: 0.7rem; | |
| align-items: center; | |
| justify-content: flex-start; | |
| padding: 0.65rem 0.85rem; | |
| border-right: 1px solid var(--line-soft); | |
| border-radius: var(--radius-xs); | |
| color: var(--paper-muted); | |
| background: transparent; | |
| cursor: pointer; | |
| font-family: var(--mono); | |
| font-size: 0.68rem; | |
| font-weight: 700; | |
| letter-spacing: 0.08em; | |
| line-height: 1.25; | |
| text-align: left; | |
| text-transform: uppercase; | |
| transition: | |
| color 180ms ease, | |
| background-color 180ms ease, | |
| transform 180ms var(--ease-out); | |
| } | |
| .stage-button:last-child { | |
| border-right-color: transparent; | |
| } | |
| .stage-button::before { | |
| display: grid; | |
| flex: 0 0 auto; | |
| width: 1.75rem; | |
| height: 1.75rem; | |
| place-items: center; | |
| border: 1px solid var(--line); | |
| border-radius: 50%; | |
| color: var(--paper-muted); | |
| content: attr(data-stage); | |
| font-size: 0.61rem; | |
| transition: inherit; | |
| } | |
| .stage-button:hover { | |
| color: var(--paper); | |
| background: rgb(255 255 255 / 3%); | |
| } | |
| .stage-button.is-active, | |
| .stage-button[aria-selected="true"], | |
| .stage-button[aria-current="step"] { | |
| color: var(--key); | |
| background: var(--key-fade); | |
| } | |
| .stage-button.is-active::before, | |
| .stage-button[aria-selected="true"]::before, | |
| .stage-button[aria-current="step"]::before { | |
| border-color: var(--key); | |
| color: var(--ink-0); | |
| background: var(--key); | |
| box-shadow: 0 0 1.5rem rgb(200 255 98 / 18%); | |
| } | |
| .panel { | |
| position: relative; | |
| min-width: 0; | |
| padding: clamp(1rem, 2vw, 1.5rem); | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius-md); | |
| background: | |
| linear-gradient(145deg, rgb(255 255 255 / 2.6%), transparent 40%), | |
| var(--ink-2); | |
| box-shadow: var(--shadow-soft); | |
| overflow: hidden; | |
| animation: panel-in 560ms var(--ease-out) both; | |
| } | |
| .panel:nth-child(2) { | |
| animation-delay: 70ms; | |
| } | |
| .panel:nth-child(3) { | |
| animation-delay: 140ms; | |
| } | |
| .panel:nth-child(4) { | |
| animation-delay: 210ms; | |
| } | |
| .panel::after { | |
| position: absolute; | |
| top: -2.5rem; | |
| right: -2.5rem; | |
| width: 7rem; | |
| height: 7rem; | |
| border: 1px solid rgb(200 255 98 / 8%); | |
| border-radius: 50%; | |
| content: ""; | |
| pointer-events: none; | |
| } | |
| .panel-header { | |
| position: relative; | |
| z-index: 1; | |
| display: flex; | |
| gap: 1rem; | |
| align-items: flex-start; | |
| justify-content: space-between; | |
| margin: calc(clamp(1rem, 2vw, 1.5rem) * -1); | |
| margin-bottom: 1.15rem; | |
| padding: 0.85rem clamp(1rem, 2vw, 1.5rem); | |
| border-bottom: 1px solid var(--line); | |
| background: rgb(0 0 0 / 14%); | |
| } | |
| .panel-title { | |
| color: var(--paper); | |
| font-family: var(--serif); | |
| font-size: 1.12rem; | |
| font-weight: 500; | |
| letter-spacing: -0.01em; | |
| line-height: 1.25; | |
| } | |
| .panel-copy, | |
| .helper-text { | |
| max-width: 65ch; | |
| color: var(--paper-muted); | |
| font-size: 0.77rem; | |
| line-height: 1.5; | |
| } | |
| .panel-index { | |
| color: var(--paper-muted); | |
| font-family: var(--mono); | |
| font-size: 0.64rem; | |
| letter-spacing: 0.1em; | |
| } | |
| .field { | |
| display: grid; | |
| min-width: 0; | |
| gap: 0.45rem; | |
| color: var(--paper-soft); | |
| font-family: var(--mono); | |
| font-size: 0.65rem; | |
| font-weight: 700; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .field--full { | |
| grid-column: 1 / -1; | |
| } | |
| .field select, | |
| .field input:not([type="range"]):not([type="radio"]):not([type="checkbox"]), | |
| .field textarea { | |
| width: 100%; | |
| min-height: 2.75rem; | |
| padding: 0.65rem 0.75rem; | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius-xs); | |
| color: var(--paper); | |
| background: var(--ink-0); | |
| font-family: var(--sans); | |
| font-size: 0.85rem; | |
| font-weight: 450; | |
| letter-spacing: 0; | |
| line-height: 1.35; | |
| text-transform: none; | |
| } | |
| .field select { | |
| padding-right: 2rem; | |
| cursor: pointer; | |
| } | |
| .field textarea { | |
| min-height: 6.5rem; | |
| resize: vertical; | |
| } | |
| .field output { | |
| justify-self: end; | |
| color: var(--key); | |
| font-family: var(--mono); | |
| font-size: 0.7rem; | |
| } | |
| .field input[type="range"] { | |
| width: 100%; | |
| height: 1.4rem; | |
| margin: 0; | |
| appearance: none; | |
| background: transparent; | |
| cursor: pointer; | |
| } | |
| .field input[type="range"]::-webkit-slider-runnable-track { | |
| height: 0.25rem; | |
| border-radius: 999px; | |
| background: linear-gradient(90deg, var(--key), var(--line)); | |
| } | |
| .field input[type="range"]::-moz-range-track { | |
| height: 0.25rem; | |
| border-radius: 999px; | |
| background: linear-gradient(90deg, var(--key), var(--line)); | |
| } | |
| .field input[type="range"]::-webkit-slider-thumb { | |
| width: 1rem; | |
| height: 1rem; | |
| margin-top: -0.375rem; | |
| border: 2px solid var(--ink-0); | |
| border-radius: 50%; | |
| appearance: none; | |
| background: var(--key); | |
| box-shadow: 0 0 0 1px var(--key), 0 0 1rem rgb(200 255 98 / 35%); | |
| } | |
| .field input[type="range"]::-moz-range-thumb { | |
| width: 0.8rem; | |
| height: 0.8rem; | |
| border: 2px solid var(--ink-0); | |
| border-radius: 50%; | |
| background: var(--key); | |
| box-shadow: 0 0 0 1px var(--key), 0 0 1rem rgb(200 255 98 / 35%); | |
| } | |
| .segmented { | |
| display: inline-grid; | |
| grid-auto-columns: 1fr; | |
| grid-auto-flow: column; | |
| width: 100%; | |
| padding: 0.2rem; | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius-sm); | |
| background: var(--ink-0); | |
| } | |
| .segmented button, | |
| .segmented label { | |
| display: grid; | |
| min-height: 2.35rem; | |
| place-items: center; | |
| padding: 0.45rem 0.65rem; | |
| border-radius: 0.36rem; | |
| color: var(--paper-muted); | |
| background: transparent; | |
| cursor: pointer; | |
| font-family: var(--mono); | |
| font-size: 0.62rem; | |
| font-weight: 700; | |
| letter-spacing: 0.06em; | |
| line-height: 1.2; | |
| text-align: center; | |
| text-transform: uppercase; | |
| transition: 160ms ease; | |
| } | |
| .segmented button:hover, | |
| .segmented label:hover { | |
| color: var(--paper); | |
| } | |
| .segmented button.is-active, | |
| .segmented button[aria-pressed="true"], | |
| .segmented label:has(input:checked) { | |
| color: var(--ink-0); | |
| background: var(--paper); | |
| } | |
| .segmented input { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| opacity: 0; | |
| } | |
| .candidate-card { | |
| position: relative; | |
| display: grid; | |
| min-height: 10.5rem; | |
| gap: 0.7rem; | |
| align-content: start; | |
| padding: 1rem; | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius-sm); | |
| color: var(--paper-soft); | |
| background: var(--ink-1); | |
| text-align: left; | |
| transition: | |
| border-color 180ms ease, | |
| background-color 180ms ease, | |
| transform 180ms var(--ease-out); | |
| } | |
| button.candidate-card, | |
| label.candidate-card { | |
| width: 100%; | |
| cursor: pointer; | |
| } | |
| .candidate-card:hover { | |
| border-color: #4a5549; | |
| background: var(--ink-3); | |
| transform: translateY(-2px); | |
| } | |
| .candidate-card.is-selected, | |
| .candidate-card[aria-pressed="true"], | |
| .candidate-card:has(input:checked) { | |
| border-color: var(--key-soft); | |
| background: var(--key-fade); | |
| box-shadow: inset 0 0 0 1px rgb(200 255 98 / 12%); | |
| } | |
| .candidate-card input[type="radio"], | |
| .candidate-card input[type="checkbox"] { | |
| position: absolute; | |
| top: 0.9rem; | |
| right: 0.9rem; | |
| width: 1rem; | |
| height: 1rem; | |
| accent-color: var(--key); | |
| } | |
| .candidate-kicker { | |
| color: var(--paper-muted); | |
| font-family: var(--mono); | |
| font-size: 0.59rem; | |
| font-weight: 700; | |
| letter-spacing: 0.12em; | |
| text-transform: uppercase; | |
| } | |
| .candidate-content { | |
| color: var(--paper); | |
| font-family: var(--serif); | |
| font-size: 0.98rem; | |
| line-height: 1.45; | |
| } | |
| .lane-title { | |
| color: var(--paper); | |
| font-family: var(--serif); | |
| font-size: clamp(1.35rem, 2.2vw, 1.85rem); | |
| font-weight: 500; | |
| letter-spacing: -0.025em; | |
| line-height: 1.05; | |
| } | |
| .benchmark-lane-card { | |
| min-height: 24rem; | |
| } | |
| .metric-list { | |
| display: grid; | |
| gap: 0.35rem; | |
| padding-left: 1.1rem; | |
| color: var(--paper-soft); | |
| font-size: 0.75rem; | |
| } | |
| .benchmark-actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.65rem; | |
| align-items: center; | |
| justify-content: space-between; | |
| margin-top: 1rem; | |
| } | |
| .table-scroll { | |
| max-width: 100%; | |
| border: 1px solid var(--line-soft); | |
| border-radius: var(--radius-sm); | |
| overflow-x: auto; | |
| } | |
| .benchmark-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| color: var(--paper-soft); | |
| font-size: 0.72rem; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .benchmark-table th, | |
| .benchmark-table td { | |
| padding: 0.65rem 0.75rem; | |
| border-bottom: 1px solid var(--line-soft); | |
| text-align: left; | |
| } | |
| .benchmark-table thead th { | |
| color: var(--paper-muted); | |
| background: rgb(0 0 0 / 16%); | |
| font-family: var(--mono); | |
| font-size: 0.58rem; | |
| letter-spacing: 0.07em; | |
| text-transform: uppercase; | |
| } | |
| .benchmark-table tbody th { | |
| color: var(--paper); | |
| font-weight: 600; | |
| } | |
| .benchmark-table tr:last-child th, | |
| .benchmark-table tr:last-child td { | |
| border-bottom: 0; | |
| } | |
| .candidate-meta { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.35rem; | |
| margin-top: auto; | |
| } | |
| .annotation-list { | |
| display: grid; | |
| gap: 0; | |
| list-style: none; | |
| } | |
| .annotation-list > li, | |
| .annotation-item { | |
| position: relative; | |
| display: grid; | |
| grid-template-columns: 0.7rem minmax(0, 1fr) auto; | |
| gap: 0.65rem; | |
| align-items: baseline; | |
| padding: 0.72rem 0; | |
| border-bottom: 1px solid var(--line-soft); | |
| color: var(--paper-soft); | |
| font-size: 0.78rem; | |
| } | |
| .annotation-list > li::before, | |
| .annotation-marker { | |
| width: 0.48rem; | |
| height: 0.48rem; | |
| border: 1px solid var(--key); | |
| border-radius: 50%; | |
| content: ""; | |
| box-shadow: 0 0 0 0.2rem var(--key-fade); | |
| } | |
| .annotation-list > li:last-child, | |
| .annotation-item:last-child { | |
| border-bottom: 0; | |
| } | |
| .annotation-source { | |
| color: var(--paper-muted); | |
| font-family: var(--mono); | |
| font-size: 0.58rem; | |
| letter-spacing: 0.05em; | |
| white-space: nowrap; | |
| } | |
| .loss-stack { | |
| display: grid; | |
| gap: 0.5rem; | |
| } | |
| .loss-item { | |
| position: relative; | |
| display: grid; | |
| grid-template-columns: minmax(7rem, 0.7fr) minmax(0, 1.3fr) auto; | |
| gap: 0.75rem; | |
| align-items: center; | |
| min-height: 3.25rem; | |
| padding: 0.65rem 0.75rem; | |
| border: 1px solid var(--line-soft); | |
| border-radius: var(--radius-xs); | |
| color: var(--paper-soft); | |
| background: rgb(0 0 0 / 14%); | |
| font-size: 0.72rem; | |
| } | |
| .loss-item::before { | |
| position: absolute; | |
| top: 0; | |
| bottom: 0; | |
| left: 0; | |
| width: 2px; | |
| border-radius: inherit; | |
| background: var(--cage); | |
| content: ""; | |
| opacity: 0.8; | |
| } | |
| .loss-label { | |
| color: var(--paper); | |
| font-weight: 650; | |
| } | |
| .loss-value { | |
| color: var(--cage); | |
| font-family: var(--mono); | |
| font-size: 0.66rem; | |
| font-weight: 700; | |
| } | |
| .metric-card { | |
| min-width: 0; | |
| padding: 0.8rem; | |
| border: 1px solid var(--line-soft); | |
| border-radius: var(--radius-sm); | |
| background: rgb(0 0 0 / 16%); | |
| } | |
| .metric-label { | |
| display: block; | |
| margin-bottom: 0.45rem; | |
| color: var(--paper-muted); | |
| font-family: var(--mono); | |
| font-size: 0.57rem; | |
| font-weight: 700; | |
| letter-spacing: 0.08em; | |
| line-height: 1.35; | |
| text-transform: uppercase; | |
| } | |
| .metric-value { | |
| display: block; | |
| color: var(--paper); | |
| font-family: var(--serif); | |
| font-size: clamp(1.45rem, 2.7vw, 2.15rem); | |
| font-variant-numeric: tabular-nums; | |
| letter-spacing: -0.035em; | |
| line-height: 1; | |
| } | |
| .metric-delta { | |
| display: block; | |
| margin-top: 0.45rem; | |
| color: var(--key-soft); | |
| font-family: var(--mono); | |
| font-size: 0.58rem; | |
| font-variant-numeric: tabular-nums; | |
| } | |
| .metric-delta.is-negative { | |
| color: var(--cage); | |
| } | |
| .bar { | |
| position: relative; | |
| width: 100%; | |
| height: 0.35rem; | |
| border-radius: 999px; | |
| background: var(--ink-4); | |
| overflow: hidden; | |
| } | |
| .bar > span, | |
| .bar-fill { | |
| display: block; | |
| width: var(--value, 0%); | |
| height: 100%; | |
| border-radius: inherit; | |
| background: var(--key); | |
| box-shadow: 0 0 0.8rem rgb(200 255 98 / 35%); | |
| transform-origin: left; | |
| animation: bar-grow 680ms var(--ease-out) both; | |
| } | |
| .bar.is-loss > span, | |
| .bar.is-loss .bar-fill { | |
| background: var(--cage); | |
| box-shadow: 0 0 0.8rem rgb(255 120 90 / 28%); | |
| } | |
| .bar.is-signal > span, | |
| .bar.is-signal .bar-fill { | |
| background: var(--signal); | |
| box-shadow: 0 0 0.8rem rgb(120 191 255 / 28%); | |
| } | |
| .chart { | |
| position: relative; | |
| min-height: 17rem; | |
| padding: 0.75rem; | |
| border: 1px solid var(--line-soft); | |
| border-radius: var(--radius-sm); | |
| background: | |
| linear-gradient(var(--line-soft) 1px, transparent 1px), | |
| linear-gradient(90deg, var(--line-soft) 1px, transparent 1px), | |
| var(--ink-1); | |
| background-size: 2.5rem 2.5rem; | |
| overflow: hidden; | |
| } | |
| .chart::after { | |
| position: absolute; | |
| inset: 0; | |
| border-radius: inherit; | |
| background: linear-gradient(90deg, transparent, rgb(200 255 98 / 3%), transparent); | |
| content: ""; | |
| pointer-events: none; | |
| } | |
| .chart svg { | |
| width: 100%; | |
| height: 100%; | |
| min-height: 15rem; | |
| overflow: visible; | |
| } | |
| .chart text { | |
| fill: var(--paper-muted); | |
| font-family: var(--mono); | |
| font-size: 0.62rem; | |
| } | |
| .chart .grid-line, | |
| .chart .axis-line { | |
| stroke: var(--line); | |
| vector-effect: non-scaling-stroke; | |
| } | |
| .chart .proxy-line, | |
| .chart .key-line { | |
| fill: none; | |
| stroke: var(--key); | |
| stroke-linecap: round; | |
| stroke-linejoin: round; | |
| stroke-width: 2.5; | |
| vector-effect: non-scaling-stroke; | |
| } | |
| .chart .holdout-line, | |
| .chart .signal-line { | |
| fill: none; | |
| stroke: var(--signal); | |
| stroke-dasharray: 5 5; | |
| stroke-linecap: round; | |
| stroke-linejoin: round; | |
| stroke-width: 2; | |
| vector-effect: non-scaling-stroke; | |
| } | |
| .chart .loss-line { | |
| fill: none; | |
| stroke: var(--cage); | |
| stroke-linecap: round; | |
| stroke-linejoin: round; | |
| stroke-width: 2; | |
| vector-effect: non-scaling-stroke; | |
| } | |
| .legend { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.55rem 1rem; | |
| align-items: center; | |
| margin-top: 0.75rem; | |
| color: var(--paper-muted); | |
| font-family: var(--mono); | |
| font-size: 0.59rem; | |
| letter-spacing: 0.04em; | |
| } | |
| .legend-item { | |
| display: inline-flex; | |
| gap: 0.4rem; | |
| align-items: center; | |
| } | |
| .legend-swatch { | |
| width: 1.15rem; | |
| height: 2px; | |
| background: var(--key); | |
| } | |
| .legend-swatch.is-signal { | |
| background: var(--signal); | |
| } | |
| .legend-swatch.is-loss { | |
| background: var(--cage); | |
| } | |
| .receipt { | |
| position: relative; | |
| padding: clamp(1rem, 2vw, 1.5rem); | |
| border: 1px solid var(--key-soft); | |
| border-radius: var(--radius-sm); | |
| background: | |
| linear-gradient(135deg, var(--key-fade), transparent 45%), | |
| var(--ink-1); | |
| box-shadow: inset 0 0 2.5rem rgb(200 255 98 / 3%); | |
| } | |
| .receipt::before, | |
| .receipt::after { | |
| position: absolute; | |
| left: 0; | |
| width: 100%; | |
| height: 4px; | |
| background: repeating-linear-gradient(90deg, var(--ink-0) 0 5px, transparent 5px 10px); | |
| content: ""; | |
| } | |
| .receipt::before { | |
| top: -2px; | |
| } | |
| .receipt::after { | |
| bottom: -2px; | |
| } | |
| .receipt-grid { | |
| display: grid; | |
| grid-template-columns: minmax(8rem, 0.7fr) minmax(0, 1.3fr); | |
| gap: 0; | |
| } | |
| .receipt-row { | |
| display: contents; | |
| } | |
| .receipt-key, | |
| .receipt-value { | |
| padding: 0.58rem 0; | |
| border-bottom: 1px dashed var(--line); | |
| font-size: 0.7rem; | |
| } | |
| .receipt-key { | |
| color: var(--paper-muted); | |
| font-family: var(--mono); | |
| letter-spacing: 0.06em; | |
| text-transform: uppercase; | |
| } | |
| .receipt-value { | |
| min-width: 0; | |
| color: var(--paper); | |
| overflow-wrap: anywhere; | |
| } | |
| .code-block { | |
| max-width: 100%; | |
| margin: 0; | |
| padding: 1rem; | |
| border: 1px solid var(--line); | |
| border-radius: var(--radius-sm); | |
| color: var(--key-soft); | |
| background: var(--ink-0); | |
| font-family: var(--mono); | |
| font-size: clamp(0.68rem, 1.4vw, 0.78rem); | |
| line-height: 1.65; | |
| white-space: pre-wrap; | |
| overflow: auto; | |
| overflow-wrap: anywhere; | |
| tab-size: 2; | |
| } | |
| .badge, | |
| .pill { | |
| display: inline-flex; | |
| max-width: 100%; | |
| min-height: 1.4rem; | |
| gap: 0.3rem; | |
| align-items: center; | |
| padding: 0.2rem 0.48rem; | |
| border: 1px solid var(--line); | |
| border-radius: 999px; | |
| color: var(--paper-muted); | |
| background: rgb(0 0 0 / 18%); | |
| font-family: var(--mono); | |
| font-size: 0.54rem; | |
| font-weight: 700; | |
| letter-spacing: 0.06em; | |
| line-height: 1.15; | |
| text-transform: uppercase; | |
| } | |
| .badge.is-key, | |
| .pill.is-key { | |
| border-color: rgb(200 255 98 / 40%); | |
| color: var(--key); | |
| background: var(--key-fade); | |
| } | |
| .badge.is-loss, | |
| .pill.is-loss { | |
| border-color: rgb(255 120 90 / 40%); | |
| color: var(--cage); | |
| background: var(--cage-fade); | |
| } | |
| .badge.is-signal, | |
| .pill.is-signal { | |
| border-color: rgb(120 191 255 / 40%); | |
| color: var(--signal); | |
| background: var(--signal-fade); | |
| } | |
| .button-group { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.6rem; | |
| align-items: center; | |
| } | |
| .primary-button, | |
| .secondary-button { | |
| display: inline-flex; | |
| min-height: 2.7rem; | |
| gap: 0.45rem; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 0.65rem 0.9rem; | |
| border: 1px solid var(--key); | |
| border-radius: var(--radius-xs); | |
| color: var(--ink-0); | |
| background: var(--key); | |
| cursor: pointer; | |
| font-family: var(--mono); | |
| font-size: 0.63rem; | |
| font-weight: 800; | |
| letter-spacing: 0.07em; | |
| line-height: 1.2; | |
| text-transform: uppercase; | |
| transition: | |
| transform 180ms var(--ease-out), | |
| box-shadow 180ms ease, | |
| background-color 180ms ease; | |
| } | |
| .primary-button:hover { | |
| background: #d7ff8d; | |
| box-shadow: 0 0 1.5rem rgb(200 255 98 / 16%); | |
| transform: translateY(-1px); | |
| } | |
| .secondary-button { | |
| border-color: var(--line); | |
| color: var(--paper-soft); | |
| background: transparent; | |
| } | |
| .secondary-button:hover { | |
| border-color: var(--paper-muted); | |
| color: var(--paper); | |
| background: rgb(255 255 255 / 4%); | |
| } | |
| .footer { | |
| display: grid; | |
| grid-template-columns: 1fr auto; | |
| gap: 1rem; | |
| align-items: end; | |
| margin-top: clamp(2.5rem, 6vw, 5rem); | |
| padding: 1.4rem 0 0 clamp(0.85rem, 2vw, 1.5rem); | |
| border-top: 1px solid var(--line); | |
| color: var(--paper-muted); | |
| font-family: var(--mono); | |
| font-size: 0.62rem; | |
| line-height: 1.55; | |
| } | |
| .empty-state { | |
| display: grid; | |
| min-height: 12rem; | |
| place-items: center; | |
| padding: 2rem; | |
| border: 1px dashed var(--line); | |
| border-radius: var(--radius-sm); | |
| color: var(--paper-muted); | |
| font-family: var(--serif); | |
| font-style: italic; | |
| text-align: center; | |
| } | |
| .skip-link { | |
| position: fixed; | |
| z-index: 100; | |
| top: 0.75rem; | |
| left: 0.75rem; | |
| padding: 0.65rem 0.85rem; | |
| border: 2px solid var(--ink-0); | |
| border-radius: var(--radius-xs); | |
| color: var(--ink-0); | |
| background: var(--key); | |
| box-shadow: 0 0 0 2px var(--key); | |
| font-family: var(--mono); | |
| font-size: 0.7rem; | |
| font-weight: 800; | |
| letter-spacing: 0.04em; | |
| text-transform: uppercase; | |
| transform: translateY(calc(-100% - 1rem)); | |
| transition: transform 160ms var(--ease-out); | |
| } | |
| .skip-link:focus { | |
| transform: translateY(0); | |
| } | |
| } | |
| @layer states { | |
| [hidden] { | |
| display: none ; | |
| } | |
| button:disabled, | |
| input:disabled, | |
| select:disabled, | |
| textarea:disabled { | |
| cursor: not-allowed; | |
| filter: saturate(0.25); | |
| opacity: 0.52; | |
| } | |
| .is-loading { | |
| cursor: progress; | |
| } | |
| .is-loading::before { | |
| display: inline-block; | |
| width: 0.75rem; | |
| height: 0.75rem; | |
| border: 1px solid currentColor; | |
| border-right-color: transparent; | |
| border-radius: 50%; | |
| content: ""; | |
| animation: spin 750ms linear infinite; | |
| } | |
| @keyframes panel-in { | |
| from { | |
| opacity: 0; | |
| transform: translateY(0.75rem); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes bar-grow { | |
| from { | |
| transform: scaleX(0); | |
| } | |
| to { | |
| transform: scaleX(1); | |
| } | |
| } | |
| @keyframes spin { | |
| to { | |
| transform: rotate(1turn); | |
| } | |
| } | |
| } | |
| @layer accessibility { | |
| :where(a, button, input, select, textarea, [tabindex]):focus-visible { | |
| outline: 3px solid var(--signal); | |
| outline-offset: 3px; | |
| } | |
| .candidate-card:has(input:focus-visible), | |
| .segmented label:has(input:focus-visible) { | |
| outline: 3px solid var(--signal); | |
| outline-offset: 3px; | |
| } | |
| .sr-only { | |
| position: absolute ; | |
| width: 1px ; | |
| height: 1px ; | |
| padding: 0 ; | |
| border: 0 ; | |
| margin: -1px ; | |
| clip: rect(0, 0, 0, 0) ; | |
| clip-path: inset(50%) ; | |
| white-space: nowrap ; | |
| overflow: hidden ; | |
| } | |
| @media (prefers-reduced-motion: reduce) { | |
| html { | |
| scroll-behavior: auto; | |
| } | |
| *, | |
| *::before, | |
| *::after { | |
| scroll-behavior: auto ; | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| } | |
| } | |
| @media (prefers-contrast: more) { | |
| :root { | |
| --line: #697267; | |
| --line-soft: rgb(241 241 231 / 30%); | |
| --paper-soft: #e1e3d8; | |
| --paper-muted: #bac0b3; | |
| } | |
| .panel, | |
| .candidate-card, | |
| .metric-card, | |
| .boundary-note, | |
| .chart { | |
| border-width: 2px; | |
| } | |
| } | |
| @media (forced-colors: active) { | |
| :root { | |
| --key: LinkText; | |
| --cage: Mark; | |
| --signal: Highlight; | |
| } | |
| body::before, | |
| .app-shell::before, | |
| .panel::after, | |
| .receipt::before, | |
| .receipt::after { | |
| display: none; | |
| } | |
| .stage-button.is-active, | |
| .stage-button[aria-selected="true"], | |
| .stage-button[aria-current="step"], | |
| .candidate-card.is-selected, | |
| .candidate-card[aria-pressed="true"] { | |
| border: 2px solid Highlight; | |
| } | |
| .primary-button { | |
| border: 2px solid ButtonText; | |
| } | |
| } | |
| } | |
| @media (max-width: 68rem) { | |
| .masthead { | |
| grid-template-columns: minmax(0, 1.25fr) minmax(15rem, 0.75fr); | |
| } | |
| .main-grid > .panel, | |
| .main-grid > .panel--wide, | |
| .main-grid > .panel--narrow, | |
| .main-grid > .span-8, | |
| .main-grid > .span-4 { | |
| grid-column: span 6; | |
| } | |
| .main-grid > .panel--full, | |
| .main-grid > .span-full { | |
| grid-column: 1 / -1; | |
| } | |
| .metric-grid { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .lane-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .benchmark-lane-card { | |
| min-height: 0; | |
| } | |
| } | |
| @media (max-width: 48rem) { | |
| .app-shell { | |
| padding-top: 0.75rem; | |
| } | |
| .masthead { | |
| grid-template-columns: 1fr; | |
| gap: 1.6rem; | |
| align-items: start; | |
| padding-top: 3.25rem; | |
| } | |
| .title { | |
| max-width: 10ch; | |
| font-size: clamp(3.2rem, 15vw, 5.75rem); | |
| } | |
| .boundary-note { | |
| max-width: 35rem; | |
| } | |
| .stage-nav { | |
| grid-template-columns: repeat(6, minmax(0, 1fr)); | |
| overflow-x: visible; | |
| } | |
| .stage-button { | |
| grid-column: span 2; | |
| min-width: 0; | |
| min-height: 4.3rem; | |
| flex-direction: column; | |
| gap: 0.45rem; | |
| align-items: flex-start; | |
| justify-content: center; | |
| padding-inline: 0.65rem; | |
| font-size: 0.58rem; | |
| letter-spacing: 0.035em; | |
| } | |
| .stage-button::before { | |
| width: 1.55rem; | |
| height: 1.55rem; | |
| } | |
| .main-grid > .panel, | |
| .main-grid > .panel--wide, | |
| .main-grid > .panel--narrow, | |
| .main-grid > .span-8, | |
| .main-grid > .span-4, | |
| .main-grid > .panel--full, | |
| .main-grid > .span-full { | |
| grid-column: 1 / -1; | |
| } | |
| .control-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .candidate-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .candidate-card { | |
| min-height: 8rem; | |
| } | |
| .footer { | |
| grid-template-columns: 1fr; | |
| align-items: start; | |
| } | |
| } | |
| @media (max-width: 34rem) { | |
| .app-shell { | |
| --gutter: 0.8rem; | |
| } | |
| .masthead { | |
| padding-left: 0.6rem; | |
| } | |
| .title { | |
| font-size: clamp(2.95rem, 17vw, 4.7rem); | |
| } | |
| .subtitle { | |
| font-size: 1.03rem; | |
| } | |
| .panel { | |
| padding: 0.9rem; | |
| border-radius: var(--radius-sm); | |
| } | |
| .panel-header { | |
| margin: -0.9rem -0.9rem 1rem; | |
| padding: 0.8rem 0.9rem; | |
| } | |
| .metric-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .loss-item { | |
| grid-template-columns: 1fr auto; | |
| } | |
| .loss-item .bar { | |
| grid-column: 1 / -1; | |
| grid-row: 2; | |
| } | |
| .receipt-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .receipt-row { | |
| display: grid; | |
| padding: 0.55rem 0; | |
| border-bottom: 1px dashed var(--line); | |
| } | |
| .receipt-key, | |
| .receipt-value { | |
| padding: 0; | |
| border: 0; | |
| } | |
| .segmented { | |
| grid-auto-flow: row; | |
| grid-auto-rows: 1fr; | |
| } | |
| } | |