mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-09-01 15:56:58 +00:00
240 lines
6.5 KiB
CSS
240 lines
6.5 KiB
CSS
/* ========================================
|
|
TAILWIND + DAISYUI
|
|
======================================== */
|
|
@import "tailwindcss";
|
|
|
|
/* Content sources for class detection */
|
|
@source "../../templates/**/*.html";
|
|
@source "../../public/js/**/*.js";
|
|
|
|
@plugin "@tailwindcss/typography";
|
|
|
|
/*@layer base {
|
|
.container {
|
|
max-width: 1920px;
|
|
}
|
|
}*/
|
|
|
|
@plugin "daisyui" {
|
|
themes:
|
|
light --default,
|
|
dark --prefersdark;
|
|
}
|
|
|
|
/* ========================================
|
|
BRAND COLOR OVERRIDES
|
|
======================================== */
|
|
@plugin "daisyui/theme" {
|
|
name: "light";
|
|
default: true;
|
|
--color-primary: oklch(50% 0.08 230); /* slate blue (manatee body) */
|
|
--color-secondary: oklch(78% 0.08 30); /* soft coral (nose/flippers) */
|
|
--color-accent: oklch(85% 0.06 75); /* warm sand (manatee belly) */
|
|
}
|
|
|
|
@plugin "daisyui/theme" {
|
|
name: "dark";
|
|
--color-primary: oklch(60% 0.09 230); /* lighter slate blue for dark mode */
|
|
--color-secondary: oklch(80% 0.08 30); /* soft coral */
|
|
--color-accent: oklch(80% 0.05 75); /* warm sand (slightly muted for dark) */
|
|
}
|
|
|
|
/* ========================================
|
|
ADDITIONAL CSS VARIABLES
|
|
======================================== */
|
|
:root {
|
|
--shadow-card-hover:
|
|
0 8px 25px oklch(50% 0.08 230 / 0.25), 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
[data-theme="dark"] {
|
|
--shadow-card-hover:
|
|
0 8px 25px oklch(60% 0.09 230 / 0.2), 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* ========================================
|
|
THEME-AWARE ICON SWITCHING
|
|
======================================== */
|
|
.icon-light {
|
|
display: block;
|
|
}
|
|
.icon-dark {
|
|
display: none;
|
|
}
|
|
[data-theme="dark"] .icon-light {
|
|
display: none;
|
|
}
|
|
[data-theme="dark"] .icon-dark {
|
|
display: block;
|
|
}
|
|
|
|
/* ========================================
|
|
STICKY FOOTER LAYOUT
|
|
======================================== */
|
|
@layer base {
|
|
body {
|
|
@apply min-h-screen flex flex-col;
|
|
}
|
|
|
|
main {
|
|
@apply flex-1;
|
|
}
|
|
}
|
|
|
|
/* ========================================
|
|
TYPOGRAPHY (PROSE) THEME INTEGRATION
|
|
======================================== */
|
|
@layer base {
|
|
/* Make prose inherit DaisyUI theme colors */
|
|
.prose {
|
|
--tw-prose-body: var(--color-base-content);
|
|
--tw-prose-headings: var(--color-base-content);
|
|
--tw-prose-lead: var(--color-base-content);
|
|
--tw-prose-links: var(--color-primary);
|
|
--tw-prose-bold: var(--color-base-content);
|
|
--tw-prose-counters: var(--color-base-content);
|
|
--tw-prose-bullets: var(--color-base-content);
|
|
--tw-prose-hr: var(--color-base-300);
|
|
--tw-prose-quotes: var(--color-base-content);
|
|
--tw-prose-quote-borders: var(--color-base-300);
|
|
--tw-prose-captions: var(--color-base-content);
|
|
--tw-prose-code: var(--color-base-content);
|
|
--tw-prose-pre-code: var(--color-base-content);
|
|
--tw-prose-pre-bg: var(--color-base-200);
|
|
--tw-prose-th-borders: var(--color-base-300);
|
|
--tw-prose-td-borders: var(--color-base-300);
|
|
}
|
|
}
|
|
|
|
/* ========================================
|
|
CUSTOM COMPONENTS (Not in DaisyUI)
|
|
======================================== */
|
|
@layer components {
|
|
/* ----------------------------------------
|
|
COMMAND / CODE DISPLAY
|
|
---------------------------------------- */
|
|
.cmd {
|
|
@apply flex items-center gap-2 relative w-full overflow-hidden;
|
|
@apply bg-base-200 border border-base-300 rounded-md;
|
|
@apply px-3 py-2;
|
|
}
|
|
|
|
.cmd code {
|
|
@apply font-mono text-sm truncate;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
EXPANDABLE SEARCH (nav-specific)
|
|
---------------------------------------- */
|
|
.nav-search-wrapper {
|
|
@apply relative flex items-center;
|
|
}
|
|
|
|
.nav-search-form {
|
|
@apply absolute right-full mr-2;
|
|
@apply w-0 opacity-0 overflow-hidden;
|
|
@apply transition-all duration-300;
|
|
}
|
|
|
|
.nav-search-wrapper.expanded .nav-search-form {
|
|
@apply w-62 opacity-100;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
HELM BRAND COLOR (official Helm blue #0F1689)
|
|
---------------------------------------- */
|
|
.text-helm {
|
|
@apply text-[#0F1689];
|
|
}
|
|
|
|
[data-theme="dark"] .text-helm {
|
|
@apply text-[#6B7FFF];
|
|
}
|
|
|
|
.badge-helm {
|
|
--badge-color: #0F1689;
|
|
}
|
|
|
|
[data-theme="dark"] .badge-helm {
|
|
--badge-color: #6B7FFF;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
TIER BADGE COLORS
|
|
---------------------------------------- */
|
|
.badge-owner {
|
|
@apply badge-primary;
|
|
}
|
|
|
|
.badge-deckhand {
|
|
@apply badge-ghost;
|
|
}
|
|
|
|
.badge-bosun {
|
|
@apply badge-secondary;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
CARD EXTENSIONS
|
|
---------------------------------------- */
|
|
.card-interactive {
|
|
@apply cursor-pointer transition-all duration-500;
|
|
}
|
|
|
|
.card-interactive:hover {
|
|
box-shadow: var(--shadow-card-hover);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
ACTOR-TYPEAHEAD COMPONENT STYLING
|
|
---------------------------------------- */
|
|
actor-typeahead {
|
|
/* Use DaisyUI CSS variables - they auto-switch with theme */
|
|
--color-background: var(--color-base-100);
|
|
--color-border: var(--color-base-300);
|
|
--color-shadow: var(--color-base-content);
|
|
--color-hover: var(--color-base-200);
|
|
--color-avatar-fallback: var(--color-base-300);
|
|
--radius: 0.5rem;
|
|
--padding-menu: 0.25rem;
|
|
z-index: 50;
|
|
}
|
|
|
|
actor-typeahead::part(handle) {
|
|
@apply text-base-content;
|
|
}
|
|
|
|
actor-typeahead::part(menu) {
|
|
@apply shadow-lg;
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
RECENT ACCOUNTS DROPDOWN
|
|
---------------------------------------- */
|
|
.recent-accounts-dropdown {
|
|
@apply absolute top-full left-0 right-0;
|
|
@apply bg-base-100 border border-base-300;
|
|
@apply rounded-lg shadow-lg;
|
|
@apply max-h-60 overflow-y-auto z-50;
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
.recent-accounts-header {
|
|
@apply px-3 py-2 text-xs font-semibold uppercase;
|
|
@apply text-base-content/60 border-b border-base-300;
|
|
}
|
|
|
|
.recent-accounts-item {
|
|
@apply px-3 py-2.5;
|
|
@apply cursor-pointer transition-colors duration-150;
|
|
@apply text-base-content;
|
|
}
|
|
|
|
.recent-accounts-item:hover,
|
|
.recent-accounts-item.focused {
|
|
@apply bg-base-200;
|
|
}
|
|
}
|