fastapi-svelte-template/frontend/src/app.css

161 lines
2.9 KiB
CSS

/* This file imports all styles defined in other files. */
@import "./fonts.css";
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Global defaults */
@layer base {
body {
@apply bg-background;
@apply text-primary;
@apply flex flex-col gap-4 justify-between;
@apply min-h-screen;
}
h1, h2, h3, h4, h5, h6 {
@apply font-bold text-primary;
}
h1 {
@apply text-5xl;
}
h2 {
@apply text-4xl;
}
h3 {
@apply text-3xl;
}
h4 {
@apply text-2xl;
}
h5 {
@apply text-xl;
}
h6 {
@apply text-lg;
}
a {
@apply underline text-primary-300;
}
a:visited {
@apply underline text-primary-400;
}
}
@layer components {
button {
@apply p-2;
@apply rounded-md;
@apply bg-accent;
@apply text-primary-400 font-semibold;
@apply drop-shadow-md;
@apply transition-all ease-in-out;
}
button:hover {
@apply bg-accent-600;
@apply drop-shadow-lg;
@apply text-primary font-bold;
}
button:active {
@apply bg-accent-700;
@apply drop-shadow-none;
@apply text-primary-600;
}
button:focus {
@apply ring-2 ring-accent-600;
}
button:disabled {
@apply opacity-25;
@apply bg-neutral-100;
}
a.button {
@apply p-2;
@apply rounded-md;
@apply bg-accent;
@apply text-primary-400 font-semibold;
@apply no-underline;
@apply drop-shadow-md;
@apply transition-all ease-in-out;
}
a.button:hover {
@apply bg-accent-600;
@apply drop-shadow-lg;
@apply text-primary font-bold;
}
a.button:active {
@apply bg-accent-700;
@apply drop-shadow-none;
@apply text-primary-600;
}
a.button:focus {
@apply ring-2 ring-accent-600;
}
a.button:disabled {
@apply opacity-25;
@apply bg-neutral-100;
}
table {
@apply border-collapse;
}
th:first-of-type {
@apply rounded-tl-md;
}
th:last-of-type {
@apply rounded-tr-md;
}
tr:last-of-type td:first-of-type {
@apply rounded-bl-md;
}
tr:last-of-type td:last-of-type {
@apply rounded-br-md;
}
tr {
@apply hover:bg-secondary-300/50;
@apply border-y border-primary/50;
@apply bg-secondary-100/10;
}
tr:first-of-type, tr:last-of-type {
@apply border-y-0;
}
th {
@apply bg-primary font-semibold text-secondary-100;
}
caption, th, td {
@apply p-1;
}
@media screen(sm) {
caption, th, td {
@apply p-2 text-start;
}
}
fieldset {
@apply border border-primary/50;
@apply rounded-lg;
@apply p-4;
}
legend {
@apply text-primary/50 font-light;
}
input {
@apply text-primary font-semibold;
@apply border border-secondary;
@apply bg-secondary/20;
@apply rounded-md;
@apply p-1;
}
input::placeholder {
@apply text-secondary/50 font-light;
}
input:focus {
@apply outline-none border-none ring-2 ring-secondary;
}
label {
@apply text-sm text-secondary font-light;
}
}