create-electron-foundation
Version:
An interactive CLI to bootstrap a modern, type-safe, and scalable Electron application.
194 lines (165 loc) • 4.03 kB
CSS
@import 'tailwindcss';
@layer components {
.app-layout {
@apply flex flex-col
justify-start items-center
min-w-screen min-h-screen
bg-gradient-to-br from-indigo-400 to-purple-600;
}
.header {
@apply flex
w-full
justify-end
rounded-b-lg
bg-white
h-[40px];
}
.page {
@apply flex flex-col
items-center justify-center
w-full max-w-[800px] h-full;
}
.container {
@apply flex flex-col
items-center justify-center
w-full
rounded-lg
max-w-[90%];
}
.scrollable {
@apply overflow-y-auto;
}
.glass {
@apply relative border border-white/80 rounded-[2rem] p-5;
background: rgba(255, 255, 255, 0.15);
-webkit-backdrop-filter: blur(2px) saturate(180%);
backdrop-filter: blur(2px) saturate(180%);
box-shadow:
0 8px 32px rgba(31, 38, 135, 0.2),
inset 0 4px 20px rgba(255, 255, 255, 0.3);
}
.glass::after {
content: '';
@apply pointer-events-none absolute inset-0 -z-10 rounded-[2rem] opacity-60;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(1px);
box-shadow:
inset -10px -8px 0px -11px rgb(255 255 255),
inset 0px -9px 0px -8px rgb(255 255 255);
filter: blur(1px) drop-shadow(10px 4px 6px black) brightness(115%);
}
.hero {
@apply flex w-full max-w-[90%] flex-col items-center justify-center;
}
.reminders {
@apply flex
flex-col
items-start justify-start
w-full max-w-[90%]
text-white
gap-4;
}
.card-header {
@apply flex items-center gap-4;
}
.icon {
@apply relative flex h-10 w-10 items-center justify-center rounded-xl text-2xl;
}
.icon::after {
@apply rounded-xl;
}
.card-title {
@apply m-0 text-2xl font-semibold text-white;
}
.card-subtitle {
@apply m-0 mt-1 text-lg text-white;
}
.card-content {
@apply text-white;
}
.item {
@apply flex flex-col w-full items-center justify-center gap-1 border-b-2 border-gray-200 p-2 last:border-b-0;
}
.env-vars {
@apply flex flex-col
items-center justify-center
rounded-lg
text-[#9333ea]
bg-white
p-4;
}
.input {
@apply w-full px-3 py-3 border border-gray-300 rounded-lg bg-white text-gray-700 text-base transition-colors duration-200 ease-in-out;
}
.input:focus {
@apply outline-none border-purple-600 ring-4 ring-purple-600/10;
}
/* Base button with CSS custom properties */
.btn {
--btn-padding: 6px 3px;
--btn-border: 2px solid rgb(255 255 255 / 0.8);
--btn-radius: 0.5rem;
--btn-bg: transparent;
--btn-hover-bg: rgb(255 255 255 / 0.1);
--btn-transition: all 300ms ease-in-out;
--btn-color: white;
padding: var(--btn-padding);
border: var(--btn-border);
border-radius: var(--btn-radius);
background: var(--btn-bg);
color: var(--btn-color);
transition: var(--btn-transition);
}
.btn:hover {
/* background: var(--btn-hover-bg);
border-color: white; */
transform: translateY(-2px);
cursor: pointer;
}
/* Gradient button - just override the background */
.btn-gradient {
--btn-bg: linear-gradient(
to bottom right,
rgb(129 140 248),
rgb(147 51 234)
);
}
/* Header menu button - override background and radius */
.btn-gradient-header-menu {
--btn-bg: linear-gradient(
to bottom right,
rgb(129 140 248),
rgb(147 51 234)
);
--btn-radius: 0 0 0.5rem 0.5rem;
}
.btn-gradient-header-menu:hover {
transform: translateY(2px);
}
/* Active state for current route */
.btn-gradient-header-menu.active {
--btn-bg: white;
--btn-color: #9333ea;
--btn-border: 2px solid #e5e7eb;
}
}
@layer typography {
h1 {
@apply text-center
text-white
text-[2rem]
font-bold
m-0 p-0;
}
h2 {
@apply text-2xl
font-bold
text-center
m-0 p-0;
}
p {
@apply text-sm
p-0
m-0;
}
}