Files
redl-gamepanel/server-code/data/resources/[rp]/rp_loading/html/tokens.css
T
redlandClaude Fable 5 80c1d75d2f Part 1 final build: Los Santos RP written on camera by the agent
rp_core (sessions, scrypt auth, self-written MySQL-wire driver rp_db),
county-records NUI: residency-file auth, identity-record character
intake, survey-grid spawn, procedural night-city loading screen.
Secrets replaced with .example files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 19:27:48 +00:00

118 lines
2.9 KiB
CSS

/* ---------------------------------------------------------------------------
Los Santos RP - design tokens.
The interface is styled as a municipal record being opened on you: strict
grid, hairline rules, monospaced serials, and one accent taken from the only
light source the city has at night - sodium street lamps.
Shared verbatim by rp_loading and rp_ui so the four screens read as one
product.
--------------------------------------------------------------------------- */
@font-face {
font-family: 'Archivo';
src: url('fonts/archivo.woff2') format('woff2-variations');
font-weight: 100 900;
font-display: block;
}
@font-face {
font-family: 'Plex Mono';
src: url('fonts/plex-400.woff2') format('woff2');
font-weight: 400;
font-display: block;
}
@font-face {
font-family: 'Plex Mono';
src: url('fonts/plex-500.woff2') format('woff2');
font-weight: 500;
font-display: block;
}
:root {
/* asphalt at night - cold, never pure black */
--ink-900: #08090b;
--ink-800: #0d0f13;
--ink-700: #14171d;
--ink-600: #1d212a;
--ink-500: #272c37;
/* document stock */
--paper: #e8e4dc;
--paper-dim: #a9a69f;
--muted: #6e747f;
/* the accent: sodium vapour, the colour of the city from the air */
--sodium: #ff9f45;
--sodium-soft: rgba(255, 159, 69, 0.14);
--sodium-line: rgba(255, 159, 69, 0.42);
--sodium-deep: #c4711f;
/* semantic only, never decorative */
--stamp: #c4462f;
--good: #7f9f5a;
--line: rgba(232, 228, 220, 0.13);
--line-soft: rgba(232, 228, 220, 0.07);
--rail: clamp(400px, 31vw, 520px);
--gut-x: clamp(32px, 3.4vw, 56px);
--gut-y: clamp(28px, 3vw, 48px);
--ease: cubic-bezier(0.22, 0.61, 0.36, 1);
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
height: 100%;
overflow: hidden;
background: var(--ink-900);
color: var(--paper);
font-family: 'Archivo', system-ui, sans-serif;
font-weight: 400;
font-size: 15px;
line-height: 1.55;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
/* Typographic roles --------------------------------------------------------- */
.eyebrow {
font-family: 'Plex Mono', monospace;
font-size: 10.5px;
font-weight: 500;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--muted);
}
.data {
font-family: 'Plex Mono', monospace;
font-size: 12px;
letter-spacing: 0.04em;
color: var(--paper-dim);
font-variant-numeric: tabular-nums;
}
.rule {
height: 1px;
background: var(--line);
border: 0;
}
/* Focus is always visible and always the accent. */
:focus-visible {
outline: 2px solid var(--sodium);
outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
}