266 lines
5.5 KiB
CSS
Executable File
266 lines
5.5 KiB
CSS
Executable File
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
:root {
|
|
/* ACVE core variables */
|
|
--acve-brand: #98143f;
|
|
--acve-brand-strong: #7c1033;
|
|
--acve-brand-soft: #f7e8eb;
|
|
--acve-ink: #2f2931;
|
|
--acve-muted: #655e66;
|
|
--acve-line: #d8cec2;
|
|
--acve-panel: #fffaf3;
|
|
--acve-panel-strong: #fffdf9;
|
|
--acve-shell-bg: linear-gradient(180deg, #faf4ea 0%, #f4ebde 100%);
|
|
--acve-body-bg: radial-gradient(circle at top right, #fff8ef 0%, #f8efe3 52%, #f2e7d9 100%);
|
|
--acve-heading-font: "Palatino Linotype", "Book Antiqua", "Times New Roman", serif;
|
|
--acve-body-font: "Segoe UI", "Trebuchet MS", "Verdana", sans-serif;
|
|
--acve-space-1: 4px;
|
|
--acve-space-2: 8px;
|
|
--acve-space-3: 12px;
|
|
--acve-space-4: 16px;
|
|
--acve-space-5: 24px;
|
|
--acve-space-6: 32px;
|
|
--acve-space-7: 48px;
|
|
|
|
/* SHADCN mapping */
|
|
--background: 36 45% 95%;
|
|
--foreground: 330 10% 18%;
|
|
--primary: 341 77% 34%;
|
|
--primary-foreground: 0 0% 100%;
|
|
--card: 34 55% 98%;
|
|
--card-foreground: 330 10% 18%;
|
|
--border: 32 26% 80%;
|
|
--input: 32 26% 80%;
|
|
--ring: 341 77% 34%;
|
|
--secondary: 28 37% 90%;
|
|
--secondary-foreground: 330 10% 20%;
|
|
--muted: 30 28% 90%;
|
|
--muted-foreground: 329 8% 41%;
|
|
--accent: 345 53% 94%;
|
|
--accent-foreground: 339 51% 24%;
|
|
--destructive: 0 84.2% 60.2%;
|
|
--destructive-foreground: 210 40% 98%;
|
|
--popover: 34 55% 98%;
|
|
--popover-foreground: 330 10% 18%;
|
|
--radius: 0.95rem;
|
|
}
|
|
|
|
.dark {
|
|
--acve-brand: #bf4069;
|
|
--acve-brand-strong: #c95a7f;
|
|
--acve-brand-soft: #3c1f2d;
|
|
--acve-ink: #ede6e0;
|
|
--acve-muted: #b5aeb6;
|
|
--acve-line: #353847;
|
|
--acve-panel: #171c27;
|
|
--acve-panel-strong: #1b2130;
|
|
--acve-shell-bg: linear-gradient(180deg, #121621 0%, #0f1420 100%);
|
|
--acve-body-bg: radial-gradient(circle at top right, #1f2433 0%, #151a26 54%, #0f131e 100%);
|
|
|
|
--background: 222 30% 11%;
|
|
--foreground: 30 25% 92%;
|
|
--primary: 338 53% 51%;
|
|
--primary-foreground: 0 0% 100%;
|
|
--card: 224 26% 15%;
|
|
--card-foreground: 30 25% 92%;
|
|
--border: 225 17% 27%;
|
|
--input: 225 17% 27%;
|
|
--ring: 338 53% 51%;
|
|
--secondary: 224 20% 20%;
|
|
--secondary-foreground: 30 25% 92%;
|
|
--muted: 224 20% 19%;
|
|
--muted-foreground: 225 14% 71%;
|
|
--accent: 336 27% 24%;
|
|
--accent-foreground: 30 25% 92%;
|
|
--destructive: 0 63% 38%;
|
|
--destructive-foreground: 0 0% 100%;
|
|
--popover: 224 26% 15%;
|
|
--popover-foreground: 30 25% 92%;
|
|
}
|
|
|
|
@layer base {
|
|
* {
|
|
@apply border-border;
|
|
}
|
|
}
|
|
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
min-height: 100%;
|
|
background: var(--acve-body-bg);
|
|
color: hsl(var(--foreground));
|
|
font-family: var(--acve-body-font);
|
|
font-size: 16px;
|
|
line-height: 1.45;
|
|
text-rendering: geometricPrecision;
|
|
transition:
|
|
background-color 0.2s ease,
|
|
color 0.2s ease;
|
|
}
|
|
|
|
a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
a,
|
|
button,
|
|
input,
|
|
select,
|
|
textarea,
|
|
[role="button"] {
|
|
outline-color: transparent;
|
|
}
|
|
|
|
a:focus-visible,
|
|
button:focus-visible,
|
|
input:focus-visible,
|
|
select:focus-visible,
|
|
textarea:focus-visible,
|
|
[role="button"]:focus-visible {
|
|
outline: 2px solid hsl(var(--ring));
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4 {
|
|
font-family: var(--acve-heading-font);
|
|
}
|
|
|
|
::selection {
|
|
background: #f1d9e1;
|
|
color: #3f1020;
|
|
}
|
|
|
|
.dark ::selection {
|
|
background: #5d2e41;
|
|
color: #fff6fa;
|
|
}
|
|
|
|
.acve-shell {
|
|
background: var(--acve-shell-bg);
|
|
}
|
|
|
|
.acve-panel {
|
|
border: 1px solid var(--acve-line);
|
|
background: var(--acve-panel);
|
|
border-radius: 16px;
|
|
}
|
|
|
|
.acve-heading {
|
|
color: var(--acve-brand);
|
|
font-family: var(--acve-heading-font);
|
|
letter-spacing: 0.01em;
|
|
line-height: 1.1;
|
|
}
|
|
|
|
.acve-pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
border: 1px solid var(--acve-line);
|
|
border-radius: 9999px;
|
|
background: var(--acve-panel-strong);
|
|
color: var(--acve-muted);
|
|
padding: 8px 14px;
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.acve-button-primary {
|
|
background: var(--acve-brand);
|
|
color: #ffffff;
|
|
border-radius: 12px;
|
|
border: 1px solid var(--acve-brand);
|
|
min-height: 44px;
|
|
}
|
|
|
|
.acve-button-secondary {
|
|
border: 1px solid var(--acve-brand);
|
|
color: var(--acve-brand);
|
|
background: var(--acve-panel-strong);
|
|
border-radius: 12px;
|
|
min-height: 44px;
|
|
}
|
|
|
|
.acve-page {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--acve-space-5);
|
|
}
|
|
|
|
.acve-section-tight {
|
|
padding: var(--acve-space-4);
|
|
}
|
|
|
|
.acve-section-base {
|
|
padding: var(--acve-space-5);
|
|
}
|
|
|
|
.acve-scrollbar-none {
|
|
-ms-overflow-style: none;
|
|
scrollbar-width: none;
|
|
}
|
|
|
|
.acve-scrollbar-none::-webkit-scrollbar {
|
|
display: none;
|
|
width: 0;
|
|
height: 0;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.acve-page {
|
|
gap: var(--acve-space-6);
|
|
}
|
|
}
|
|
|
|
/* Dark-mode compatibility layer for legacy light-only utility classes */
|
|
.dark .bg-white,
|
|
.dark .bg-white\/70,
|
|
.dark .bg-white\/80,
|
|
.dark .bg-white\/90,
|
|
.dark .bg-\[\#faf8f8\],
|
|
.dark .bg-\[\#f6f6f8\] {
|
|
background-color: hsl(var(--card)) !important;
|
|
}
|
|
|
|
.dark .bg-slate-50,
|
|
.dark .bg-slate-50\/40,
|
|
.dark .bg-slate-50\/50,
|
|
.dark .bg-slate-50\/80,
|
|
.dark .bg-slate-100,
|
|
.dark .bg-slate-200 {
|
|
background-color: hsl(var(--muted)) !important;
|
|
}
|
|
|
|
.dark .border-slate-100,
|
|
.dark .border-slate-200,
|
|
.dark .border-slate-300,
|
|
.dark .border-slate-400,
|
|
.dark .border-gray-200 {
|
|
border-color: hsl(var(--border)) !important;
|
|
}
|
|
|
|
.dark .text-black,
|
|
.dark .text-slate-900,
|
|
.dark .text-slate-800,
|
|
.dark .text-slate-700 {
|
|
color: hsl(var(--foreground)) !important;
|
|
}
|
|
|
|
.dark .text-slate-600,
|
|
.dark .text-slate-500,
|
|
.dark .text-slate-400 {
|
|
color: hsl(var(--muted-foreground)) !important;
|
|
}
|
|
|
|
.dark [class*="text-[#1"],
|
|
.dark [class*="text-[#2"],
|
|
.dark [class*="text-[#3"],
|
|
.dark [class*="text-[#0"] {
|
|
color: hsl(var(--foreground)) !important;
|
|
}
|