Javier
frontend
88aeaf5
Raw
History Blame Contribute Delete
5.76 kB
@import "tailwindcss";
@import "tw-animate-css";
@source inline("lg:col-span-4 lg:col-span-5 lg:col-span-6 lg:col-span-7 lg:col-span-8 lg:col-span-12");
@custom-variant dark (&:is(.dark *));
/* ───────────────────────────────────────────────────────────────
Tiny Trigger — "Dark Ops Console" design system
Neutral cool-black surfaces · one electric live-signal accent ·
distinctive type (Clash Display / Hanken Grotesk / JetBrains Mono)
─────────────────────────────────────────────────────────────── */
:root {
--radius: 0.625rem;
/* surfaces — cool near-black, layered by elevation */
--background: oklch(0.145 0.006 264);
--foreground: oklch(0.93 0.004 264);
--card: oklch(0.185 0.007 264);
--card-foreground: oklch(0.93 0.004 264);
--popover: oklch(0.205 0.008 264);
--popover-foreground: oklch(0.93 0.004 264);
/* the single confident accent — electric "live signal" chartreuse */
--primary: oklch(0.885 0.19 122);
--primary-foreground: oklch(0.18 0.03 130);
--secondary: oklch(0.235 0.008 264);
--secondary-foreground: oklch(0.93 0.004 264);
--muted: oklch(0.235 0.008 264);
--muted-foreground: oklch(0.64 0.012 264);
--accent: oklch(0.235 0.008 264);
--accent-foreground: oklch(0.93 0.004 264);
/* semantic */
--destructive: oklch(0.637 0.21 25.3);
--destructive-foreground: oklch(0.97 0.01 20);
--warning: oklch(0.79 0.15 78);
--warning-foreground: oklch(0.2 0.03 78);
--info: oklch(0.78 0.12 222);
--info-foreground: oklch(0.18 0.03 240);
--border: oklch(1 0 0 / 8%);
--input: oklch(1 0 0 / 12%);
--ring: oklch(0.885 0.19 122 / 55%);
/* fonts */
--font-display: "Clash Display", ui-sans-serif, system-ui, sans-serif;
--font-sans: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
--font-mono: "JetBrains Mono", ui-monospace, monospace;
}
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-warning: var(--warning);
--color-warning-foreground: var(--warning-foreground);
--color-info: var(--info);
--color-info-foreground: var(--info-foreground);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--font-display: var(--font-display);
--font-sans: var(--font-sans);
--font-mono: var(--font-mono);
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--radius-xl: calc(var(--radius) + 4px);
}
@layer base {
* {
border-color: var(--color-border);
}
html {
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
body {
margin: 0;
min-height: 100vh;
background-color: var(--color-background);
color: var(--color-foreground);
font-family: var(--font-sans);
font-feature-settings: "ss01", "cv01", "tnum";
/* atmospheric depth: dual radial glows + faint engineering grid */
background-image:
radial-gradient(
90rem 60rem at 82% -10%,
oklch(0.885 0.19 122 / 0.07),
transparent 60%
),
radial-gradient(
70rem 50rem at -10% 110%,
oklch(0.78 0.12 222 / 0.06),
transparent 55%
),
linear-gradient(
to right,
oklch(1 0 0 / 0.018) 1px,
transparent 1px
),
linear-gradient(
to bottom,
oklch(1 0 0 / 0.018) 1px,
transparent 1px
);
background-size: 100% 100%, 100% 100%, 56px 56px, 56px 56px;
background-attachment: fixed;
}
::selection {
background: oklch(0.885 0.19 122 / 0.28);
}
/* refined dark scrollbars */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb {
background: oklch(1 0 0 / 0.1);
border-radius: 999px;
border: 2px solid transparent;
background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background: oklch(1 0 0 / 0.18); background-clip: content-box; }
}
@layer utilities {
.font-display { font-family: var(--font-display); }
.text-balance { text-wrap: balance; }
/* the live-signal pulse used for "fired / active" states */
.signal-dot {
box-shadow: 0 0 0 0 var(--color-primary);
animation: signal-pulse 1.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes signal-pulse {
0% { box-shadow: 0 0 0 0 oklch(0.885 0.19 122 / 0.5); }
70% { box-shadow: 0 0 0 8px oklch(0.885 0.19 122 / 0); }
100% { box-shadow: 0 0 0 0 oklch(0.885 0.19 122 / 0); }
}
/* staggered entrance for panels */
.reveal {
opacity: 0;
animation: reveal-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes reveal-up {
from { opacity: 0; transform: translateY(12px); }
to { opacity: 1; transform: translateY(0); }
}
.hairline {
background-image: linear-gradient(to right, transparent, var(--color-border), transparent);
}
}