@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); } }