lightloom / frontend /css /tokens.css
Efradeca's picture
chore: deploy private lightloom build
bd75e4a verified
Raw
History Blame Contribute Delete
2.05 kB
/* Lightloom design tokens — "an intimate 1900s projection room" (docs/04 §1).
Warm darkness, amber projector glow; never tech dark-mode. */
:root {
/* Palette */
--bg: #0a0a0c; /* projection room dark */
--ink: #f5efe6; /* ivory text */
--amber: #e8a33d; /* projector amber */
--rec: #e0442e; /* REC red */
--night: #1b2a3a; /* night blue */
--line: #2a2a30; /* hairline */
--ink-dim: rgba(245, 239, 230, 0.62);
--ink-faint: rgba(245, 239, 230, 0.34);
--amber-soft: rgba(232, 163, 61, 0.16);
/* Radii */
--r-panel: 14px;
--r-pill: 999px;
/* Shadows — warm halo, never blue-tech */
--halo: 0 0 28px rgba(232, 163, 61, 0.18), 0 8px 40px rgba(0, 0, 0, 0.55);
--halo-soft: 0 0 18px rgba(232, 163, 61, 0.1);
--panel-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
/* Typography (OFL, self-hosted in assets/fonts/) with graceful fallbacks */
--font-display: "Fraunces", Georgia, "Times New Roman", serif;
--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
--tracking-title: 0.14em;
/* Cinema geometry */
--aspect-film: 2.39 / 1; /* desktop letterbox */
--aspect-film-mobile: 16 / 9;
/* Motion */
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--reveal-ms: 700ms;
--transition-ms: 700ms;
--grain-opacity: 0.016; /* light film grain — the WebGL stage adds its own; avoid doubling into "fog" */
--vignette: 0.08;
}
/* Self-hosted OFL fonts. Drop the .woff2 files in assets/fonts/; until then the
serif/sans fallbacks above keep the layout intact (R3: no font CDN at runtime). */
@font-face {
font-family: "Fraunces";
src: url("/assets/fonts/Fraunces-Variable.woff2") format("woff2");
font-weight: 100 900;
font-display: swap;
}
@font-face {
font-family: "Inter";
src: url("/assets/fonts/Inter-Variable.woff2") format("woff2");
font-weight: 100 900;
font-display: swap;
}
@media (prefers-reduced-motion: reduce) {
:root {
--reveal-ms: 240ms;
--transition-ms: 240ms;
--grain-opacity: 0.03;
}
}