web-ui: wave-1 foundation — services/web-ui/src/css/app.css
This commit is contained in:
parent
3df6a4434e
commit
e256a771d5
1 changed files with 77 additions and 0 deletions
77
services/web-ui/src/css/app.css
Normal file
77
services/web-ui/src/css/app.css
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
/* app.css ─ Tailwind directives + primitive imports.
|
||||||
|
*
|
||||||
|
* Order matters:
|
||||||
|
* 1. tokens (CSS custom properties for legacy callers)
|
||||||
|
* 2. tailwind base (CSS reset)
|
||||||
|
* 3. tailwind components
|
||||||
|
* 4. our primitives (use tokens + can be overridden by utilities)
|
||||||
|
* 5. tailwind utilities (highest specificity, last word)
|
||||||
|
* 6. motion (animations + reduced-motion override)
|
||||||
|
*/
|
||||||
|
|
||||||
|
@import "./components/tokens.css";
|
||||||
|
|
||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
|
||||||
|
/* Primitives — each one ~50-200 lines, one responsibility per file */
|
||||||
|
@import "./components/sidebar.css";
|
||||||
|
@import "./components/topbar.css";
|
||||||
|
@import "./components/button.css";
|
||||||
|
@import "./components/form-controls.css";
|
||||||
|
@import "./components/field-group.css";
|
||||||
|
@import "./components/slide-panel.css";
|
||||||
|
@import "./components/card-asset.css";
|
||||||
|
@import "./components/card-operational.css";
|
||||||
|
@import "./components/list-row.css";
|
||||||
|
@import "./components/empty-state.css";
|
||||||
|
@import "./components/badge.css";
|
||||||
|
@import "./components/toast.css";
|
||||||
|
|
||||||
|
@tailwind utilities;
|
||||||
|
|
||||||
|
@import "./components/motion.css";
|
||||||
|
|
||||||
|
/* Global base — self-hosted fonts */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
src: url('/fonts/inter-400.woff2') format('woff2');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
src: url('/fonts/inter-500.woff2') format('woff2');
|
||||||
|
font-weight: 500;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
src: url('/fonts/inter-600.woff2') format('woff2');
|
||||||
|
font-weight: 600;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'JetBrains Mono';
|
||||||
|
src: url('/fonts/jetbrains-mono-400.woff2') format('woff2');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'JetBrains Mono';
|
||||||
|
src: url('/fonts/jetbrains-mono-600.woff2') format('woff2');
|
||||||
|
font-weight: 600;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-family: var(--font);
|
||||||
|
background: var(--bg-base);
|
||||||
|
color: var(--text-primary);
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue