lifedebugger's picture
Deploy files from GitHub repository with LFS
e249c2c
Raw
History Blame Contribute Delete
6.3 kB
@tailwind base;
@tailwind components;
@tailwind utilities;
html, body, #root {
height: 100%;
background-color: #050505;
color: #ffffff;
font-family: 'Manrope', 'IBM Plex Sans', system-ui, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
margin: 0;
min-height: 100vh;
background:
radial-gradient(1200px 700px at 12% -10%, rgba(138, 43, 226, 0.12), transparent 55%),
radial-gradient(1000px 600px at 100% 0%, rgba(0, 87, 255, 0.10), transparent 55%),
radial-gradient(900px 900px at 50% 120%, rgba(0, 240, 255, 0.08), transparent 55%),
#050505;
}
/* Subtle grain */
body::before {
content: "";
position: fixed; inset: 0;
pointer-events: none;
z-index: 1;
opacity: 0.035;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/></svg>");
animation: grainShift 8s steps(6) infinite;
}
::selection {
background: rgba(0, 240, 255, 0.35);
color: #fff;
}
/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a0a0a; }
::-webkit-scrollbar-thumb { background: #27272a; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #3f3f46; }
.tag-eyebrow {
font-family: 'JetBrains Mono', monospace;
text-transform: uppercase;
letter-spacing: 0.2em;
font-size: 11px;
color: #A1A1AA;
}
.chip {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 4px 10px;
border-radius: 999px;
border: 1px solid #27272A;
background: rgba(255,255,255,0.02);
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #A1A1AA;
}
.chip.on { color: #00F0FF; border-color: rgba(0,240,255,0.4); box-shadow: 0 0 24px rgba(0,240,255,0.15); }
.chip.ok { color: #39FF14; border-color: rgba(57,255,20,0.4); }
.chip.err { color: #FF3B30; border-color: rgba(255,59,48,0.4); }
.mesh-text-gradient {
background: linear-gradient(45deg, #8A2BE2 0%, #0057FF 35%, #00F0FF 65%, #39FF14 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.glass {
background: rgba(10,10,10,0.65);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
border: 1px solid rgba(255,255,255,0.06);
}
.btn-cyan {
background: linear-gradient(45deg, #0057FF 0%, #00F0FF 100%);
color: #050505;
font-weight: 700;
padding: 12px 22px;
border-radius: 6px;
transition: transform .15s ease, box-shadow .2s ease, filter .15s ease;
letter-spacing: 0.02em;
box-shadow: 0 8px 22px -8px rgba(0,240,255,0.5);
border: none;
cursor: pointer;
}
.btn-cyan:hover { transform: translateY(-1px); box-shadow: 0 12px 30px -6px rgba(0,240,255,0.6); filter: brightness(1.05); }
.btn-cyan:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.btn-ghost {
background: transparent;
color: #fff;
border: 1px solid #27272A;
padding: 12px 22px;
border-radius: 6px;
cursor: pointer;
transition: border-color .2s, color .2s, background .2s;
font-weight: 600;
}
.btn-ghost:hover { border-color: #00F0FF; color: #00F0FF; background: rgba(0,240,255,0.05); }
.btn-danger {
background: rgba(255, 59, 48, 0.12);
color: #FF3B30;
border: 1px solid rgba(255, 59, 48, 0.4);
padding: 8px 14px;
border-radius: 6px;
cursor: pointer;
transition: background .2s;
font-size: 12px;
font-weight: 600;
}
.btn-danger:hover { background: rgba(255, 59, 48, 0.2); }
.corner-brackets::before,
.corner-brackets::after,
.corner-brackets > .cb1,
.corner-brackets > .cb2 {
content: "";
position: absolute;
width: 32px; height: 32px;
border-color: #00F0FF;
border-style: solid;
filter: drop-shadow(0 0 6px rgba(0,240,255,0.6));
pointer-events: none;
}
.corner-brackets::before { top: 10px; left: 10px; border-width: 2px 0 0 2px; }
.corner-brackets::after { top: 10px; right: 10px; border-width: 2px 2px 0 0; }
.corner-brackets > .cb1 { bottom: 10px; left: 10px; border-width: 0 0 2px 2px; }
.corner-brackets > .cb2 { bottom: 10px; right: 10px; border-width: 0 2px 2px 0; }
.laser-line {
position: absolute;
left: 0; right: 0;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #8A2BE2 20%, #0057FF 40%, #00F0FF 60%, #39FF14 80%, transparent 100%);
box-shadow: 0 0 24px rgba(0, 240, 255, 0.9), 0 0 60px rgba(138, 43, 226, 0.5);
animation: scanY 3.2s ease-in-out infinite;
z-index: 10;
}
.data-cell { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.02em; }
.table-tech th {
font-family: 'JetBrains Mono', monospace;
text-transform: uppercase;
font-size: 10px;
letter-spacing: 0.2em;
color: #A1A1AA;
border-bottom: 1px solid #27272A;
padding: 12px 14px;
text-align: left;
font-weight: 500;
}
.table-tech td {
padding: 14px;
border-bottom: 1px solid rgba(39,39,42,0.6);
font-size: 13.5px;
}
input[type="text"], input[type="email"], input[type="date"], select, textarea {
background: #0a0a0a;
border: 1px solid #27272A;
color: #fff;
padding: 12px 14px;
border-radius: 6px;
font-size: 14px;
width: 100%;
transition: border-color .2s, box-shadow .2s;
font-family: inherit;
}
input:focus, select:focus, textarea:focus {
outline: none;
border-color: #00F0FF;
box-shadow: 0 0 0 3px rgba(0, 240, 255, 0.15);
}
label {
display: block;
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.2em;
color: #A1A1AA;
margin-bottom: 6px;
}
.grid-lines {
background-image:
linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
background-size: 40px 40px;
}
.status-dot {
width: 8px; height: 8px; border-radius: 50%;
background: #39FF14;
box-shadow: 0 0 8px #39FF14;
animation: pulseSoft 2s ease-in-out infinite;
}
.status-dot.off { background: #52525B; box-shadow: none; animation: none; }
.status-dot.warn { background: #FFCC00; box-shadow: 0 0 8px #FFCC00; }
.status-dot.err { background: #FF3B30; box-shadow: 0 0 8px #FF3B30; }