307 lines
9.7 KiB
CSS
307 lines
9.7 KiB
CSS
@import "tailwindcss";
|
|
@layer theme, base, components, utilities, daisyui, daisyui.l1, daisyui.l1.l2, daisyui.l1.l2.l3;
|
|
@source not "../tailwind/daisyui{,*}.mjs";
|
|
|
|
@theme {
|
|
--font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
}
|
|
|
|
@plugin "../tailwind/daisyui.mjs";
|
|
|
|
[data-theme="halloween"] {
|
|
color-scheme: dark;
|
|
/* Deep dark backgrounds for premium dark mode */
|
|
--color-base-100: oklch(20% 0.035 278);
|
|
--color-base-200: oklch(12% 0.025 278);
|
|
--color-base-300: oklch(8% 0.02 278);
|
|
--color-base-content: oklch(93% 0.008 265);
|
|
|
|
/* Violet primary matching --primary: #a78bfa / #7c3aed */
|
|
--color-primary: oklch(65% 0.2 293);
|
|
--color-primary-content: oklch(100% 0 0);
|
|
|
|
--color-secondary: oklch(60% 0.2 277);
|
|
--color-secondary-content: oklch(96% 0.015 277);
|
|
|
|
--color-accent: oklch(68% 0.18 293);
|
|
--color-accent-content: oklch(100% 0 0);
|
|
|
|
/* Neutral with subtle violet tint */
|
|
--color-neutral: oklch(22% 0.03 278);
|
|
--color-neutral-content: oklch(88% 0.015 270);
|
|
|
|
--color-info: oklch(72% 0.16 237);
|
|
--color-info-content: oklch(100% 0 0);
|
|
|
|
--color-success: oklch(72% 0.18 155);
|
|
--color-success-content: oklch(100% 0 0);
|
|
|
|
--color-warning: oklch(82% 0.16 75);
|
|
--color-warning-content: oklch(95% 0.04 85);
|
|
|
|
--color-error: oklch(70% 0.2 25);
|
|
--color-error-content: oklch(100% 0 0);
|
|
|
|
--radius-selector: 0.5rem;
|
|
--radius-field: 0.375rem;
|
|
--radius-box: 0.75rem;
|
|
--size-selector: 0.25rem;
|
|
--size-field: 0.25rem;
|
|
--border: 1px;
|
|
--depth: 1;
|
|
--noise: 0;
|
|
}
|
|
|
|
[data-theme="halloween"] .card {
|
|
border: 1px solid oklch(28% 0.04 280);
|
|
box-shadow: 0 4px 16px oklch(0% 0 0 / 0.4), 0 0 0 1px oklch(30% 0.04 285 / 0.2), 0 0 30px oklch(65% 0.2 293 / 0.04);
|
|
}
|
|
|
|
/* Mobile responsiveness: override DaisyUI defaults for small screens */
|
|
@media (max-width: 1023px) {
|
|
.label {
|
|
display: flex !important;
|
|
white-space: normal !important;
|
|
flex-wrap: wrap !important;
|
|
gap: 0.25rem;
|
|
max-width: 100% !important;
|
|
overflow-wrap: break-word;
|
|
}
|
|
|
|
.card, .card-body {
|
|
min-width: 0 !important;
|
|
max-width: 100% !important;
|
|
}
|
|
}
|
|
|
|
/* ═══════════════════════════════════════════════════════
|
|
HALLOWEEN THEME — Visual Polish (via Tailwind pipeline)
|
|
═══════════════════════════════════════════════════════ */
|
|
|
|
/* ── CodeMirror Dark Override ── */
|
|
[data-theme="halloween"] .cm-editor,
|
|
[data-theme="halloween"] .cm-editor .cm-scroller {
|
|
background-color: #0f0f14 !important;
|
|
color: #e5e7eb !important;
|
|
border-radius: 12px;
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor {
|
|
border: 1px solid rgba(167, 139, 250, 0.15) !important;
|
|
border-radius: 12px !important;
|
|
overflow: hidden;
|
|
box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor .cm-gutters {
|
|
background-color: #1a1a20 !important;
|
|
color: rgba(167, 139, 250, 0.4) !important;
|
|
border-right: 1px solid rgba(167, 139, 250, 0.1) !important;
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor .cm-activeLineGutter {
|
|
background-color: rgba(167, 139, 250, 0.08) !important;
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor .cm-activeLine {
|
|
background-color: rgba(167, 139, 250, 0.04) !important;
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor .cm-cursor,
|
|
[data-theme="halloween"] .cm-editor .cm-dropCursor {
|
|
border-left-color: #a78bfa !important;
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor .cm-content {
|
|
caret-color: #a78bfa;
|
|
font-family: 'JetBrains Mono', 'Fira Code', monospace;
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor .cm-selectionBackground {
|
|
background: rgba(167, 139, 250, 0.2) !important;
|
|
}
|
|
|
|
[data-theme="halloween"] .cm-editor ::selection {
|
|
background: rgba(167, 139, 250, 0.2) !important;
|
|
}
|
|
|
|
/* Syntax highlighting tokens */
|
|
[data-theme="halloween"] .cm-editor .cm-meta { color: #a78bfa; }
|
|
[data-theme="halloween"] .cm-editor .cm-keyword { color: #c4b5fd; }
|
|
[data-theme="halloween"] .cm-editor .cm-atom { color: #f472b6; }
|
|
[data-theme="halloween"] .cm-editor .cm-number { color: #34d399; }
|
|
[data-theme="halloween"] .cm-editor .cm-string { color: #fbbf24; }
|
|
[data-theme="halloween"] .cm-editor .cm-def { color: #93c5fd; }
|
|
[data-theme="halloween"] .cm-editor .cm-comment { color: #6b7280; }
|
|
[data-theme="halloween"] .cm-editor .cm-tag { color: #a78bfa; }
|
|
[data-theme="halloween"] .cm-editor .cm-attribute { color: #93c5fd; }
|
|
[data-theme="halloween"] .cm-editor .cm-property { color: #c4b5fd; }
|
|
|
|
/* ── Headings: Tight typography ── */
|
|
[data-theme="halloween"] h1,
|
|
[data-theme="halloween"] h2,
|
|
[data-theme="halloween"] h3,
|
|
[data-theme="halloween"] h4 {
|
|
letter-spacing: -0.5px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
[data-theme="halloween"] h1 {
|
|
font-size: 1.75rem;
|
|
letter-spacing: -1px;
|
|
font-weight: 800;
|
|
}
|
|
|
|
/* ── Links: Violet accent ── */
|
|
[data-theme="halloween"] a:not(.btn):not(.no-accent):not(.menu a) {
|
|
color: #a78bfa;
|
|
transition: color 0.2s ease;
|
|
}
|
|
|
|
[data-theme="halloween"] a:not(.btn):not(.no-accent):not(.menu a):hover {
|
|
color: #c4b5fd;
|
|
}
|
|
|
|
/* ── Collapse: Violet borders ── */
|
|
[data-theme="halloween"] .collapse {
|
|
background: rgba(255, 255, 255, 0.03);
|
|
border: 1px solid rgba(167, 139, 250, 0.12);
|
|
border-radius: 12px;
|
|
}
|
|
|
|
[data-theme="halloween"] .collapse:focus-within {
|
|
border-color: rgba(167, 139, 250, 0.25);
|
|
}
|
|
|
|
/* ── Code blocks: Dark violet ── */
|
|
[data-theme="halloween"] code:not(.cm-content code) {
|
|
background: rgba(167, 139, 250, 0.08);
|
|
color: #c4b5fd;
|
|
padding: 0.15em 0.4em;
|
|
border-radius: 4px;
|
|
font-size: 0.85em;
|
|
}
|
|
|
|
[data-theme="halloween"] pre {
|
|
background: #0f0f14 !important;
|
|
border: 1px solid rgba(167, 139, 250, 0.12);
|
|
border-radius: 12px;
|
|
padding: 1rem;
|
|
}
|
|
|
|
/* ── Base badge refinement ── */
|
|
[data-theme="halloween"] .badge {
|
|
backdrop-filter: blur(6px);
|
|
-webkit-backdrop-filter: blur(6px);
|
|
transition: all 0.2s ease;
|
|
font-weight: 600;
|
|
letter-spacing: 0.02em;
|
|
}
|
|
|
|
/* ── Status badge styles ── */
|
|
[data-theme="halloween"] .badge-success {
|
|
background: rgba(34, 197, 94, 0.15);
|
|
border: 1px solid rgba(34, 197, 94, 0.35);
|
|
color: #4ade80;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
[data-theme="halloween"] .badge-error {
|
|
background: rgba(239, 68, 68, 0.15);
|
|
border: 1px solid rgba(239, 68, 68, 0.35);
|
|
color: #f87171;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
[data-theme="halloween"] .badge-warning {
|
|
background: rgba(234, 179, 8, 0.15);
|
|
border: 1px solid rgba(234, 179, 8, 0.35);
|
|
color: #fbbf24;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
[data-theme="halloween"] .badge-info {
|
|
background: rgba(56, 189, 248, 0.15);
|
|
border: 1px solid rgba(56, 189, 248, 0.30);
|
|
color: #7dd3fc;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
[data-theme="halloween"] .badge-primary {
|
|
background: rgba(167, 139, 250, 0.15);
|
|
border: 1px solid rgba(167, 139, 250, 0.30);
|
|
color: #c4b5fd;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
[data-theme="halloween"] .badge-accent {
|
|
background: rgba(192, 132, 252, 0.15);
|
|
border: 1px solid rgba(192, 132, 252, 0.30);
|
|
color: #d8b4fe;
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
}
|
|
|
|
[data-theme="halloween"] .badge-ghost {
|
|
background: rgba(229, 231, 235, 0.06);
|
|
border: 1px solid rgba(229, 231, 235, 0.12);
|
|
color: rgba(229, 231, 235, 0.7);
|
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
}
|
|
|
|
/* ── Badge-outline dark contrast: background tints ── */
|
|
[data-theme="halloween"] .badge-outline.badge-info { background: rgba(56, 189, 248, 0.10); }
|
|
[data-theme="halloween"] .badge-outline.badge-success { background: rgba(34, 197, 94, 0.10); }
|
|
[data-theme="halloween"] .badge-outline.badge-error { background: rgba(239, 68, 68, 0.10); }
|
|
[data-theme="halloween"] .badge-outline.badge-warning { background: rgba(234, 179, 8, 0.10); }
|
|
[data-theme="halloween"] .badge-outline.badge-primary { background: rgba(167, 139, 250, 0.10); }
|
|
[data-theme="halloween"] .badge-outline.badge-accent { background: rgba(192, 132, 252, 0.10); }
|
|
[data-theme="halloween"] .badge-outline:not([class*="badge-info"]):not([class*="badge-success"]):not([class*="badge-error"]):not([class*="badge-warning"]):not([class*="badge-primary"]):not([class*="badge-accent"]) { background: rgba(229, 231, 235, 0.06); }
|
|
|
|
/* ── Alert dark-theme text contrast ── */
|
|
[data-theme="halloween"] .alert-warning { color: oklch(90% 0.1 85); }
|
|
[data-theme="halloween"] .alert-warning svg { color: oklch(82% 0.16 75); }
|
|
[data-theme="halloween"] .alert-info { color: oklch(90% 0.05 237); }
|
|
[data-theme="halloween"] .alert-info svg { color: oklch(72% 0.16 237); }
|
|
|
|
/* ── Menu hover: Violet glow ── */
|
|
[data-theme="halloween"] .menu li > a:hover,
|
|
[data-theme="halloween"] .menu li > button:hover {
|
|
background: rgba(167, 139, 250, 0.08);
|
|
}
|
|
|
|
[data-theme="halloween"] .menu li > .active,
|
|
[data-theme="halloween"] .menu li > a.active {
|
|
background: rgba(167, 139, 250, 0.12);
|
|
color: #a78bfa;
|
|
}
|
|
|
|
/* ── Select dark options ── */
|
|
[data-theme="halloween"] select option {
|
|
background: #1a1a20;
|
|
color: #e5e7eb;
|
|
}
|
|
|
|
/* ── Tooltip: Glass ── */
|
|
[data-theme="halloween"] .tooltip::before {
|
|
background: rgba(26, 26, 32, 0.95);
|
|
border: 1px solid rgba(167, 139, 250, 0.15);
|
|
color: #e5e7eb;
|
|
backdrop-filter: blur(10px);
|
|
}
|
|
|
|
/* ── Progress: Violet ── */
|
|
[data-theme="halloween"] progress::-webkit-progress-value {
|
|
background: linear-gradient(90deg, #7c3aed, #a78bfa);
|
|
border-radius: 4px;
|
|
}
|
|
|
|
[data-theme="halloween"] progress::-webkit-progress-bar {
|
|
background: rgba(255, 255, 255, 0.06);
|
|
border-radius: 4px;
|
|
}
|
|
|
|
/* ── Footer: Subtle ── */
|
|
[data-theme="halloween"] footer {
|
|
color: rgba(229, 231, 235, 0.4);
|
|
border-top: 1px solid rgba(167, 139, 250, 0.08);
|
|
} |