File size: 3,328 Bytes
201b13c | 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 | @tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
:root {
color-scheme: dark;
--font-display: "Avenir Next Condensed", "Avenir Next", "Trebuchet MS", sans-serif;
--font-body: "Avenir Next", "Segoe UI", sans-serif;
--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}
* {
box-sizing: border-box;
}
html {
min-height: 100%;
scroll-behavior: smooth;
}
body {
min-height: 100vh;
background:
radial-gradient(circle at top left, rgba(56, 189, 248, 0.14), transparent 24%),
radial-gradient(circle at 82% 18%, rgba(245, 158, 11, 0.11), transparent 24%),
linear-gradient(180deg, #07111d 0%, #050a12 42%, #02060d 100%);
color: #e2e8f0;
font-family: var(--font-body);
}
body::before {
content: "";
position: fixed;
inset: 0;
background-image:
linear-gradient(rgba(148, 163, 184, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(148, 163, 184, 0.05) 1px, transparent 1px);
background-size: 120px 120px;
opacity: 0.18;
pointer-events: none;
}
#root {
min-height: 100vh;
position: relative;
z-index: 1;
}
}
@layer components {
.surface-card {
@apply relative overflow-hidden rounded-[32px] border border-white/10 bg-slate-950/70 shadow-[0_24px_90px_rgba(2,6,23,0.5)] backdrop-blur-xl;
}
.surface-card::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(140deg, rgba(255, 255, 255, 0.06), transparent 35%, transparent 65%, rgba(56, 189, 248, 0.05));
pointer-events: none;
}
.eyebrow {
@apply text-[0.72rem] font-medium uppercase tracking-[0.34em] text-cyan-100/70;
}
.hero-title {
font-family: var(--font-display);
@apply text-4xl font-semibold leading-tight tracking-tight text-slate-50 md:text-5xl;
}
.section-title {
font-family: var(--font-display);
@apply text-2xl font-semibold tracking-tight text-slate-50;
}
.body-copy {
@apply text-sm leading-8 text-slate-300 md:text-base;
}
.primary-btn {
@apply inline-flex items-center justify-center rounded-full border border-cyan-300/30 bg-cyan-400/10 px-5 py-3 text-sm font-medium text-cyan-50 transition hover:border-cyan-200/40 hover:bg-cyan-400/20 disabled:cursor-not-allowed disabled:opacity-60;
}
.secondary-btn {
@apply inline-flex items-center justify-center rounded-full border border-white/10 bg-white/5 px-5 py-3 text-sm font-medium text-slate-100 transition hover:border-white/20 hover:bg-white/10 disabled:cursor-not-allowed disabled:opacity-60;
}
.chip {
@apply inline-flex items-center rounded-full border border-white/10 bg-white/5 px-3 py-2 text-xs uppercase tracking-[0.22em] text-slate-200;
}
.chip-success {
@apply inline-flex items-center rounded-full border border-emerald-300/25 bg-emerald-400/10 px-3 py-2 text-xs uppercase tracking-[0.22em] text-emerald-100;
}
.chip-warning {
@apply inline-flex items-center rounded-full border border-amber-300/25 bg-amber-400/10 px-3 py-2 text-xs uppercase tracking-[0.22em] text-amber-100;
}
.font-display {
font-family: var(--font-display);
}
.glow-divider {
height: 1px;
background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.35), transparent);
}
}
|