Spaces:
Sleeping
Sleeping
File size: 5,756 Bytes
d725335 88aeaf5 d725335 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | @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);
}
}
|