/* lucUI v2.0.0 | MIT License | luca.ecosystem / luca.designss */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@900&family=Raleway:wght@400;500;600&family=Montserrat:ital,wght@1,300;1,400&display=swap');

/* Source: lucCORE/luc-variables.css */
/* ============================================================
   lucUI — Design System Variables
   ============================================================ */

:root {
    /* Brand Colors */
    --luca-navy: #1d2d44;        /* Backgrounds */
    --studio-gold: #ae9d5d;      /* Secondary */
    --designer-azure: #00bbff;   /* luca.designss accent */
    --luca-tangerine: #ff8c00;   /* luca.softss accent */
    --bold-viridian: #00ff00;    /* lucAI & luca.toolss accent */

    /* Brand RGB Channels — use with rgba(var(--token-rgb), alpha) */
    --luca-navy-rgb: 29, 45, 68;
    --studio-gold-rgb: 174, 157, 93;
    --designer-azure-rgb: 0, 187, 255;
    --luca-tangerine-rgb: 255, 140, 0;
    --bold-viridian-rgb: 0, 255, 0;

    /* Semantic Color Layer */
    --luc-canvas: #081321;
    --luc-canvas-deep: #050b13;
    --luc-surface: rgba(15, 28, 47, 0.72);
    --luc-surface-strong: rgba(10, 20, 35, 0.90);
    --luc-ink: #f7f4ec;
    --luc-ink-muted: rgba(247, 244, 236, 0.68);
    --luc-accent: var(--designer-azure);
    --luc-accent-rgb: var(--designer-azure-rgb);
    --luc-accent-contrast: var(--luca-navy);
    --luc-focus-ring: rgba(var(--designer-azure-rgb), 0.48);
    --luc-selection: rgba(var(--designer-azure-rgb), 0.26);

    /* Extended Color Palette */
    --card-bg: #243b55;
    --text-light: #E0E6ED;
    --text-muted: rgba(224, 230, 237, 0.7);
    --border-color: rgba(174, 157, 93, 0.2);

    /* Brand Fonts */
    --font-display: 'Playfair Display', serif;
    --font-body: 'Raleway', sans-serif;
    --font-italic: 'Montserrat', sans-serif;

    /* Font Weights */
    --weight-display: 900;       /* Black */
    --weight-body: 500;          /* Medium */
    --weight-italic: 300;        /* Light Italic */

    /* Typography Scale - Expanded */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --text-7xl: 4.5rem;
    --text-8xl: 6rem;
    --text-9xl: 8rem;

    /* Border Radius */
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --radius-2xl: 44px;
    --radius-full: 9999px;

    /* Spacing Scale */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.25);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.30), 0 1px 4px rgba(0,0,0,0.20);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.35), 0 3px 10px rgba(0,0,0,0.22), 0 1px 3px rgba(0,0,0,0.15);
    --shadow-xl: 0 20px 60px rgba(0,0,0,0.45), 0 8px 24px rgba(0,0,0,0.28), 0 2px 6px rgba(0,0,0,0.18);
    --shadow-glow: 0 0 48px rgba(var(--luc-accent-rgb), 0.16);
    --shadow-float: 0 32px 90px rgba(0,0,0,0.42), 0 12px 34px rgba(0,0,0,0.24);

    /* Glass Effects */
    --glass-bg: rgba(255,255,255,0.055);
    --glass-hover: rgba(255,255,255,0.09);
    --glass-nav: rgba(8,18,32,0.50);
    --glass-modal: rgba(12,22,38,0.72);
    --glass-edge: rgba(255,255,255,0.10);
    --glass-shine: rgba(255,255,255,0.06);

    /* Reactive lighting — updated by lucUI.js when available */
    --luc-pointer-x: 50%;
    --luc-pointer-y: 20%;
    --luc-spot-x: 50%;
    --luc-spot-y: 50%;
    --luc-spot-opacity: 0;

    /* Animation Easing */
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-snappy: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);

    /* Transitions */
    --transition-fast: 0.2s;
    --transition-base: 0.3s;
    --transition-slow: 0.4s;

    /* Layout */
    --luc-content-width: 1400px;
    --luc-reading-width: 72ch;

    /* Z-Index Scale */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
}

/* Source: lucCORE/luc-reset.css */
/* ============================================================
   lucUI — CSS Reset
   ============================================================ */

/* Modern CSS Reset */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    line-height: 1.6;
    min-height: 100vh;
    text-rendering: optimizeLegibility;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}

input, button, textarea, select {
    font: inherit;
    color: inherit;
}

button {
    cursor: pointer;
    background: none;
    border: none;
}

a {
    text-decoration: none;
    color: inherit;
}

ul, ol {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Consistent, accessible focus treatment */
:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 4px;
}

::selection {
    color: var(--luc-ink);
    background: var(--luc-selection);
}

/* Remove default tap highlight on mobile */
* {
    -webkit-tap-highlight-color: transparent;
}

/* Source: lucCORE/luc-typography.css */
/* ============================================================
   lucUI — Typography System v2.0
   Editorial display, precise body copy, expressive accents
   ============================================================ */

/* Brand Fonts Import */


/* Fluid Typography - Responsive Scaling */
html {
    font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography Base */
body {
    font-family: var(--font-body);
    font-weight: var(--weight-body);
    color: var(--text-light);
    line-height: 1.6;
    letter-spacing: -0.006em;
}

/* Display Typography (Playfair Display Black) - Fluid Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    color: var(--studio-gold);
    line-height: 1.08;
    margin-bottom: 1rem;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.luc-card-title,
.luc-modal-title,
.luc-hero-title,
.luc-feature-title,
.luc-pricing-title,
.luc-testimonial-title,
.luc-alert-title,
.luc-toast-title,
.luc-timeline-title,
.luc-notification-center-title,
.luc-user-card-name {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.5rem, 5vw + 1rem, 6rem); }
h2 { font-size: clamp(2rem, 4vw + 1rem, 4.5rem); }
h3 { font-size: clamp(1.5rem, 3vw + 1rem, 3rem); }
h4 { font-size: clamp(1.25rem, 2vw + 1rem, 2.25rem); }
h5 { font-size: clamp(1.125rem, 1.5vw + 1rem, 1.5rem); }
h6 { font-size: clamp(1rem, 1vw + 1rem, 1.25rem); }

/* Body Typography (Raleway Medium) */
p {
    font-size: var(--text-base);
    color: var(--text-muted);
    margin-bottom: 1rem;
    text-wrap: pretty;
}

/* Italic Typography (Montserrat Light Italic) */
.luc-italic {
    font-family: var(--font-italic);
    font-weight: var(--weight-italic);
    font-style: italic;
}

/* Branded accent voice (Montserrat Light Italic) */
.luc-accent-text,
.luc-eyebrow,
blockquote,
figcaption {
    font-family: var(--font-italic);
    font-weight: var(--weight-italic);
    font-style: italic;
}

.luc-display {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    letter-spacing: -0.045em;
    line-height: 0.96;
    text-wrap: balance;
}

.luc-text-balance { text-wrap: balance; }
.luc-text-pretty { text-wrap: pretty; }
.luc-measure { max-width: var(--luc-reading-width); }

/* Text Utilities - Expanded */
.luc-text-xs { font-size: var(--text-xs); }
.luc-text-sm { font-size: var(--text-sm); }
.luc-text-base { font-size: var(--text-base); }
.luc-text-lg { font-size: var(--text-lg); }
.luc-text-xl { font-size: var(--text-xl); }
.luc-text-2xl { font-size: var(--text-2xl); }
.luc-text-3xl { font-size: var(--text-3xl); }
.luc-text-4xl { font-size: var(--text-4xl); }
.luc-text-5xl { font-size: var(--text-5xl); }
.luc-text-6xl { font-size: var(--text-6xl); }
.luc-text-7xl { font-size: var(--text-7xl); }
.luc-text-8xl { font-size: var(--text-8xl); }
.luc-text-9xl { font-size: var(--text-9xl); }

/* Fluid Text Utilities */
.luc-text-fluid-xs { font-size: clamp(0.7rem, 0.8vw + 0.6rem, 0.875rem); }
.luc-text-fluid-sm { font-size: clamp(0.8rem, 1vw + 0.7rem, 1rem); }
.luc-text-fluid-base { font-size: clamp(1rem, 1.2vw + 0.8rem, 1.125rem); }
.luc-text-fluid-lg { font-size: clamp(1.125rem, 1.5vw + 0.9rem, 1.5rem); }
.luc-text-fluid-xl { font-size: clamp(1.25rem, 2vw + 1rem, 2rem); }
.luc-text-fluid-2xl { font-size: clamp(1.5rem, 3vw + 1rem, 2.5rem); }
.luc-text-fluid-3xl { font-size: clamp(2rem, 4vw + 1rem, 3.5rem); }
.luc-text-fluid-4xl { font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem); }
.luc-text-fluid-5xl { font-size: clamp(3rem, 6vw + 1rem, 6rem); }

/* Text Colors */
.luc-text-navy { color: var(--luca-navy); }
.luc-text-gold { color: var(--studio-gold); }
.luc-text-azure { color: var(--designer-azure); }
.luc-text-tangerine { color: var(--luca-tangerine); }
.luc-text-viridian { color: var(--bold-viridian); }
.luc-text-muted { color: var(--text-muted); }

/* Font Weights */
.luc-font-display { font-family: var(--font-display); font-weight: var(--weight-display); }
.luc-font-body { font-family: var(--font-body); font-weight: var(--weight-body); }
.luc-font-italic { font-family: var(--font-italic); font-weight: var(--weight-italic); font-style: italic; }

/* Text Alignment */
.luc-text-left { text-align: left; }
.luc-text-center { text-align: center; }
.luc-text-right { text-align: right; }
.luc-text-justify { text-align: justify; }

/* Text Transform */
.luc-uppercase { text-transform: uppercase; letter-spacing: 0.1em; }
.luc-lowercase { text-transform: lowercase; }
.luc-capitalize { text-transform: capitalize; }

/* Line Height - Expanded */
.luc-leading-none { line-height: 1; }
.luc-leading-tight { line-height: 1.2; }
.luc-leading-snug { line-height: 1.375; }
.luc-leading-normal { line-height: 1.6; }
.luc-leading-relaxed { line-height: 1.75; }
.luc-leading-loose { line-height: 2; }

/* Letter Spacing - Expanded */
.luc-tracking-tighter { letter-spacing: -0.05em; }
.luc-tracking-tight { letter-spacing: -0.025em; }
.luc-tracking-normal { letter-spacing: 0; }
.luc-tracking-wide { letter-spacing: 0.025em; }
.luc-tracking-wider { letter-spacing: 0.05em; }
.luc-tracking-widest { letter-spacing: 0.1em; }

/* Text Decoration */
.luc-underline { text-decoration: underline; }
.luc-line-through { text-decoration: line-through; }
.luc-no-underline { text-decoration: none; }

/* Text Overflow */
.luc-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.luc-line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.luc-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.luc-line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Responsive Typography */
@media (max-width: 768px) {
    h1 { font-size: var(--text-4xl); }
    h2 { font-size: var(--text-3xl); }
    h3 { font-size: var(--text-2xl); }

    .luc-text-5xl { font-size: var(--text-4xl); }
    .luc-text-4xl { font-size: var(--text-3xl); }
    .luc-text-3xl { font-size: var(--text-2xl); }
}

@media (max-width: 480px) {
    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }
    h3 { font-size: var(--text-xl); }

    .luc-text-5xl { font-size: var(--text-3xl); }
    .luc-text-4xl { font-size: var(--text-2xl); }
    .luc-text-3xl { font-size: var(--text-xl); }
    .luc-text-2xl { font-size: var(--text-lg); }
}

/* Source: lucCORE/luc-base.css */
/* ============================================================
   lucUI — Base Styles
   ============================================================ */

/* Body Background - Matching luca.ecosystem gradient */
body {
    background-color: var(--luc-canvas);
    background-image:
        radial-gradient(900px circle at var(--luc-pointer-x) var(--luc-pointer-y), rgba(var(--designer-azure-rgb), 0.11), transparent 42%),
        radial-gradient(ellipse 90% 55% at 50% -8%, rgba(var(--studio-gold-rgb), 0.13), transparent 58%),
        linear-gradient(145deg, var(--luc-canvas-deep) 0%, var(--luca-navy) 56%, #0b1a2b 100%);
    background-attachment: fixed;
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--text-light);
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px),
        radial-gradient(circle at 18% 22%, rgba(var(--studio-gold-rgb), 0.10), transparent 22%),
        radial-gradient(circle at 82% 4%, rgba(var(--designer-azure-rgb), 0.10), transparent 24%);
    background-size: 72px 72px, 72px 72px, auto, auto;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 82%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 82%);
    animation: luc-aurora-shift 18s ease-in-out infinite alternate;
    z-index: -1;
}

@keyframes luc-aurora-shift {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    100% { transform: translate3d(3%, -2%, 0) scale(1.04); }
}

@media (prefers-reduced-motion: reduce) {
    body::before { animation: none; }
}

/* Container */
.luc-container {
    width: min(92%, var(--luc-content-width));
    max-width: var(--luc-content-width);
    margin: 0 auto;
    padding: 0 var(--space-4);
}

/* Section */
.luc-section {
    padding: var(--space-16) 0;
}

/* Grid System */
.luc-grid {
    display: grid;
    gap: var(--space-6);
}

.luc-grid-cols-1 { grid-template-columns: repeat(1, 1fr); }
.luc-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.luc-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.luc-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.luc-grid-cols-auto { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

/* Flexbox Utilities */
.luc-flex { display: flex; }
.luc-flex-col { flex-direction: column; }
.luc-flex-row { flex-direction: row; }
.luc-items-center { align-items: center; }
.luc-items-start { align-items: flex-start; }
.luc-items-end { align-items: flex-end; }
.luc-justify-center { justify-content: center; }
.luc-justify-between { justify-content: space-between; }
.luc-justify-start { justify-content: flex-start; }
.luc-justify-end { justify-content: flex-end; }
.luc-gap-2 { gap: var(--space-2); }
.luc-gap-4 { gap: var(--space-4); }
.luc-gap-6 { gap: var(--space-6); }
.luc-gap-8 { gap: var(--space-8); }

/* Responsive Utilities */
@media (max-width: 1024px) {
    .luc-grid-cols-4,
    .luc-grid-cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .luc-container {
        width: 95%;
    }
}

@media (max-width: 768px) {
    .luc-grid-cols-2,
    .luc-grid-cols-3,
    .luc-grid-cols-4 {
        grid-template-columns: 1fr;
    }

    .luc-container {
        padding: 0 var(--space-3);
        width: 100%;
    }

    .luc-section {
        padding: var(--space-12) 0;
    }

    .luc-grid {
        gap: var(--space-4);
    }
}

@media (max-width: 480px) {
    .luc-container {
        padding: 0 var(--space-2);
    }

    .luc-section {
        padding: var(--space-8) 0;
    }

    .luc-grid {
        gap: var(--space-3);
    }
}

@media (max-width: 768px) {
    body::before {
        animation: none;
        background-size: 96px 96px, 96px 96px, auto, auto;
    }
}

/* Source: lucCORE/luc-themes.css */
/* ============================================================
   lucUI — Theme System
   Light mode & theme overrides via data-theme attribute
   Usage: <html data-theme="light"> or <body data-theme="light">
   ============================================================ */

/* ── Light Theme ────────────────────────────────────────── */
[data-theme="light"] {
    color-scheme: light;
    --luc-canvas: #f4f7fb;
    --luc-canvas-deep: #e8f0f8;
    --luc-surface: rgba(255,255,255,0.72);
    --luc-surface-strong: rgba(255,255,255,0.94);
    --luc-ink: #111827;
    --luc-ink-muted: rgba(17,24,39,0.68);
    --luc-accent: var(--designer-azure);
    --luc-accent-rgb: var(--designer-azure-rgb);
    --luc-focus-ring: rgba(var(--designer-azure-rgb), 0.60);

    /* Text */
    --text-light: #111827;
    --text-muted: rgba(17, 24, 39, 0.68);

    /* Glass / Surface */
    --glass-bg: rgba(255,255,255,0.70);
    --glass-hover: rgba(255,255,255,0.82);
    --glass-nav: rgba(255,255,255,0.80);
    --glass-modal: rgba(255,255,255,0.94);
    --glass-edge: rgba(0,0,0,0.08);
    --glass-shine: rgba(255,255,255,0.90);

    /* Cards */
    --card-bg: rgba(255,255,255,0.72);

    /* Borders */
    --border-color: rgba(0,0,0,0.08);

    /* Shadows (softer on light) */
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.10);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.12), 0 1px 4px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.15), 0 3px 10px rgba(0,0,0,0.09);
    --shadow-xl: 0 20px 60px rgba(0,0,0,0.18), 0 8px 24px rgba(0,0,0,0.10);
}

/* Light theme body background */
[data-theme="light"] body {
    background-color: var(--luc-canvas);
    background-image:
        radial-gradient(700px circle at var(--luc-pointer-x) var(--luc-pointer-y), rgba(var(--designer-azure-rgb), 0.10), transparent 44%),
        linear-gradient(135deg, #ffffff 0%, #f6fbff 45%, #eaf3fb 100%);
    color: var(--text-light);
}

/* Light theme headings */
[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3,
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] h6 {
    color: var(--luca-navy);
}

/* Light theme card titles */
[data-theme="light"] .luc-card-title {
    color: #006b91;
}

/* Light theme inputs */
[data-theme="light"] .luc-input,
[data-theme="light"] .luc-textarea,
[data-theme="light"] .luc-select {
    color: var(--text-light);
    background: rgba(255,255,255,0.65);
    border-color: rgba(0,0,0,0.12);
}

[data-theme="light"] .luc-input::placeholder,
[data-theme="light"] .luc-textarea::placeholder {
    color: rgba(26, 37, 53, 0.40);
}

[data-theme="light"] .luc-input:focus,
[data-theme="light"] .luc-textarea:focus,
[data-theme="light"] .luc-select:focus {
    border-color: var(--studio-gold);
    box-shadow: 0 0 0 3px rgba(154,138,74,0.18), var(--shadow-md);
    background: rgba(255,255,255,0.80);
}

/* Light theme select arrow */
[data-theme="light"] .luc-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239a8a4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* Light theme navbar */
[data-theme="light"] .luc-navbar {
    background: rgba(255,255,255,0.88);
    border-bottom-color: rgba(174,157,93,0.22);
}

[data-theme="light"] .luc-navbar.scrolled {
    background: rgba(255,255,255,0.80);
}

/* Light theme navbar links */
[data-theme="light"] .luc-navbar-link {
    color: rgba(29, 45, 68, 0.95);
    background: rgba(0,187,255,0.08);
    border-color: rgba(0,187,255,0.20);
}

[data-theme="light"] .luc-navbar-link:hover {
    color: var(--luca-navy);
    background: rgba(0,187,255,0.18);
    border-color: rgba(0,187,255,0.55);
}

[data-theme="light"] .luc-navbar-link.active,
[data-theme="light"] .luc-navbar-link[aria-current="page"] {
    background: rgba(0,187,255,0.18);
    border-color: rgba(0,187,255,0.65);
    color: #0c2446;
}

/* Light theme dropdown */
[data-theme="light"] .luc-dropdown-menu {
    background: rgba(255,255,255,0.92);
    border-color: rgba(0,0,0,0.10);
}

[data-theme="light"] .luc-dropdown-item {
    color: var(--text-light);
}

[data-theme="light"] .luc-dropdown-item:hover {
    background: rgba(154,138,74,0.08);
    color: var(--luca-navy);
}

/* Light theme modal */
[data-theme="light"] .luc-modal {
    background: rgba(245,247,250,0.95);
    border-color: rgba(0,0,0,0.10);
}

[data-theme="light"] .luc-modal-title {
    color: var(--luca-navy);
}

[data-theme="light"] .luc-btn-primary {
    background: linear-gradient(155deg, #cbb96e, var(--studio-gold) 48%, #95864f);
    border-color: rgba(var(--studio-gold-rgb), 0.70);
    color: var(--luca-navy);
}

[data-theme="light"] .luc-btn-primary:hover {
    background: linear-gradient(155deg, #d8ca91, #b7a666 48%, #928149);
}

/* Light theme toast */
[data-theme="light"] .luc-toast {
    background: rgba(255,255,255,0.92);
    border-color: rgba(0,0,0,0.10);
}

[data-theme="light"] .luc-toast-title {
    color: var(--text-light);
}

/* Opaque shells remain legible in light and sunrise atmospheres. */
[data-theme="light"] .luc-dropdown-menu,
[data-theme="sunrise"] .luc-dropdown-menu,
[data-theme="light"] .luc-navbar-user-dropdown,
[data-theme="sunrise"] .luc-navbar-user-dropdown,
[data-theme="light"] .luc-navbar-mega-content,
[data-theme="sunrise"] .luc-navbar-mega-content,
[data-theme="light"] .luc-navbar-links,
[data-theme="sunrise"] .luc-navbar-links,
[data-theme="light"] .luc-toast,
[data-theme="sunrise"] .luc-toast {
    background: var(--luc-surface-strong);
    border-color: var(--glass-edge);
}

[data-theme="light"] .luc-tooltip::after,
[data-theme="sunrise"] .luc-tooltip::after {
    background: var(--luc-surface-strong);
    border-color: var(--glass-edge);
    color: var(--text-light);
}

[data-theme="sunrise"] .luc-modal-title {
    color: var(--luca-navy);
}

/* ── Dark Theme ───────────────────────────────────────── */
[data-theme="dark"] {
    color-scheme: dark;

    /* Brand primitives stay fixed; semantic tokens carry themes. */
    --luc-canvas: #08111f;
    --luc-canvas-deep: #040a12;
    --luc-surface: rgba(10, 18, 32, 0.80);
    --luc-surface-strong: rgba(8, 12, 20, 0.96);
    --luc-ink: #f8fafc;
    --luc-ink-muted: rgba(248,250,252,0.76);
    --luc-focus-ring: rgba(var(--designer-azure-rgb), 0.60);

    --text-light: #f8fafc;
    --text-muted: rgba(248, 250, 252, 0.78);

    --glass-bg: rgba(10, 14, 26, 0.88);
    --glass-hover: rgba(14, 20, 36, 0.96);
    --glass-nav: rgba(8, 14, 24, 0.92);
    --glass-modal: rgba(8, 12, 20, 0.96);
    --glass-edge: rgba(232,205,130,0.24);
    --glass-shine: rgba(255, 255, 255, 0.10);

    --card-bg: rgba(12, 18, 34, 0.88);
    --border-color: rgba(232,205,130,0.20);

    --shadow-sm: 0 1px 3px rgba(0,0,0,0.24);
    --shadow-md: 0 6px 22px rgba(0,0,0,0.34), 0 2px 8px rgba(0,0,0,0.22);
    --shadow-lg: 0 12px 42px rgba(0,0,0,0.40), 0 5px 16px rgba(0,0,0,0.25);
    --shadow-xl: 0 24px 72px rgba(0,0,0,0.50), 0 10px 28px rgba(0,0,0,0.30), 0 2px 8px rgba(0,0,0,0.20);
}

[data-theme="dark"] .luc-navbar-link:hover {
    background: rgba(232,205,130,0.16);
    border-color: rgba(232,205,130,0.40);
    color: #fff;
}

[data-theme="dark"] .luc-navbar-link.active,
[data-theme="dark"] .luc-navbar-link[aria-current="page"] {
    background: rgba(232,205,130,0.20);
    border-color: rgba(232,205,130,0.55);
    color: #fff;
}

/* Dark theme card titles */
[data-theme="dark"] .luc-card-title {
    color: var(--studio-gold);
}

[data-theme="dark"] .luc-btn-primary {
    background: linear-gradient(155deg, #cbb96e, var(--studio-gold) 48%, #8e7e42);
    border-color: var(--studio-gold);
    color: var(--luca-navy);
}

[data-theme="dark"] .luc-btn-primary:hover {
    background: linear-gradient(155deg, #d8ca91, #b7a666 48%, #928149);
}

/* ── Midnight Theme ───────────────────────────────────────── */
[data-theme="midnight"] {
    color-scheme: dark;
    --luc-canvas: #000000;
    --luc-canvas-deep: #000000;
    --luc-surface: rgba(10,10,10,0.76);
    --luc-surface-strong: rgba(5,5,5,0.95);
    --luc-ink: #f8fafc;
    --luc-ink-muted: rgba(248,250,252,0.72);
    --luc-accent: var(--bold-viridian);
    --luc-accent-rgb: var(--bold-viridian-rgb);
    --luc-focus-ring: rgba(var(--bold-viridian-rgb), 0.62);

    --text-light: #f8fafc;
    --text-muted: rgba(248, 250, 252, 0.72);

    --glass-bg: rgba(10, 10, 10, 0.72);
    --glass-hover: rgba(18, 18, 18, 0.86);
    --glass-nav: rgba(0, 0, 0, 0.78);
    --glass-modal: rgba(8, 8, 8, 0.92);
    --glass-edge: rgba(0, 255, 0, 0.22);
    --glass-shine: rgba(255, 255, 255, 0.08);

    --card-bg: rgba(16, 16, 16, 0.72);
    --border-color: rgba(0, 255, 0, 0.18);
}

[data-theme="midnight"] body {
    background: radial-gradient(ellipse 120% 60% at 50% 0%, #111111 0%, #000000 100%);
    color: var(--text-light);
}

[data-theme="midnight"] h1,
[data-theme="midnight"] h2,
[data-theme="midnight"] h3,
[data-theme="midnight"] h4,
[data-theme="midnight"] h5,
[data-theme="midnight"] h6 {
    color: var(--bold-viridian);
}

/* Midnight theme card titles - white for readability */
[data-theme="midnight"] .luc-card-title {
    color: #ffffff;
}

/* ── Sunrise Theme ───────────────────────────────────────── */
[data-theme="sunrise"] {
    color-scheme: light;
    --luc-canvas: #fff7ed;
    --luc-canvas-deep: #ffe9c8;
    --luc-surface: rgba(255,247,237,0.74);
    --luc-surface-strong: rgba(255,250,242,0.94);
    --luc-ink: #2b1f12;
    --luc-ink-muted: rgba(43,31,18,0.68);
    --luc-accent: var(--luca-tangerine);
    --luc-accent-rgb: var(--luca-tangerine-rgb);
    --luc-focus-ring: rgba(var(--luca-tangerine-rgb), 0.60);

    --text-light: #2b1f12;
    --text-muted: rgba(43, 31, 18, 0.68);

    --glass-bg: rgba(255, 247, 237, 0.72);
    --glass-hover: rgba(255, 250, 242, 0.86);
    --glass-nav: rgba(255, 247, 237, 0.82);
    --glass-modal: rgba(255, 250, 242, 0.94);
    --glass-edge: rgba(255, 140, 0, 0.2);
    --glass-shine: rgba(255, 255, 255, 0.9);

    --card-bg: rgba(255, 249, 240, 0.74);
    --border-color: rgba(255, 140, 0, 0.18);
}

[data-theme="sunrise"] body {
    background: linear-gradient(135deg, #fff7ed 0%, #ffe9c8 45%, #ffd7a8 100%);
    color: var(--text-light);
}

[data-theme="sunrise"] h1,
[data-theme="sunrise"] h2,
[data-theme="sunrise"] h3,
[data-theme="sunrise"] h4,
[data-theme="sunrise"] h5,
[data-theme="sunrise"] h6 {
    color: #7a3b00;
}

/* Sunrise theme card titles */
[data-theme="sunrise"] .luc-card-title {
    color: #7a3b00;
}

/* Light surface corrections for components with deliberately opaque shells. */
[data-theme="light"] .luc-card-transparency,
[data-theme="sunrise"] .luc-card-transparency,
[data-theme="light"] .luc-prism,
[data-theme="sunrise"] .luc-prism {
    background: linear-gradient(145deg, rgba(255,255,255,0.86), rgba(255,255,255,0.58));
    border-color: rgba(29,45,68,0.10);
}

[data-theme="light"] .luc-command,
[data-theme="sunrise"] .luc-command,
[data-theme="light"] .luc-code-window,
[data-theme="sunrise"] .luc-code-window {
    background: var(--luc-surface-strong);
}

[data-theme="light"] .luc-code-body,
[data-theme="sunrise"] .luc-code-body {
    color: var(--luc-ink);
}

[data-theme="light"] .luc-theme-dock,
[data-theme="sunrise"] .luc-theme-dock {
    background: rgba(255,255,255,0.72);
}

[data-theme="light"] .luc-stage,
[data-theme="sunrise"] .luc-stage {
    background:
        radial-gradient(circle at 78% 22%, rgba(var(--luc-accent-rgb), 0.12), transparent 28%),
        radial-gradient(circle at 16% 82%, rgba(var(--studio-gold-rgb), 0.12), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,0.92), rgba(255,255,255,0.58));
    border-color: rgba(29,45,68,0.10);
}

[data-theme="light"] .luc-code-title,
[data-theme="sunrise"] .luc-code-title,
[data-theme="light"] .luc-code-comment,
[data-theme="sunrise"] .luc-code-comment {
    color: var(--text-muted);
}

/* Source: lucCOMPONENTS/luc-buttons.css */
/* ============================================================
   lucUI — Button Components v2.0
   Tactile controls with restrained brand lighting
   ============================================================ */

/* Base Button Styles - Enhanced */
.luc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.8rem 2rem;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: transform var(--transition-base) var(--ease-spring), box-shadow var(--transition-base) var(--ease-smooth), background var(--transition-base) var(--ease-smooth), border-color var(--transition-base) var(--ease-smooth);
    position: relative;
    overflow: hidden;
    text-transform: none;
    letter-spacing: 0.01em;
    font-family: var(--font-body);
    white-space: nowrap;
}

.luc-btn:hover {
    transform: translateY(-2px) scale(1.01);
}

/* Focus Styles */
.luc-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0,187,255,0.55), var(--shadow-md);
    border-radius: var(--radius-full);
}

/* Transparency Button */
.luc-btn-transparency {
    border: 1px solid rgba(174, 157, 93, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.03);
    color: var(--studio-gold);
}

.luc-btn-transparency::before {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.2), transparent);
    transform: skewX(-25deg);
    transition: all 0.6s ease;
}

.luc-btn-transparency:hover::before {
    left: 150%;
}

.luc-btn-transparency:hover {
    background: rgba(174, 157, 93, 0.1);
    box-shadow: 0 10px 30px rgba(174, 157, 93, 0.2);
    transform: translateY(-2px);
}

/* Primary Button (Gold) */
.luc-btn-primary {
    background: linear-gradient(155deg, #cbb96e 0%, #AE9D5D 45%, #8e7e42 100%);
    border: 1px solid rgba(255,255,255,0.15);
    color: var(--luca-navy);
    box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(0,0,0,0.15);
}

.luc-btn-primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.14) 0%, transparent 55%);
    border-radius: inherit;
    pointer-events: none;
}

.luc-btn-primary:hover {
    background: linear-gradient(155deg, #d8ca91 0%, #b7a666 45%, #928149 100%);
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg), 0 0 28px rgba(var(--studio-gold-rgb), 0.28), inset 0 1px 0 rgba(255,255,255,0.28);
}

.luc-btn-primary:active {
    transform: translateY(2px);
    box-shadow: var(--shadow-sm), inset 0 3px 8px rgba(0,0,0,0.30);
    filter: brightness(0.92);
}

/* Azure Button (luca.designss) */
.luc-btn-azure {
    background: linear-gradient(155deg, #22d6ff 0%, #00BBFF 45%, #0099cc 100%);
    border: 1px solid rgba(255,255,255,0.15);
    color: var(--luca-navy);
    box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(0,0,0,0.15);
}

.luc-btn-azure:hover {
    background: linear-gradient(155deg, #53dfff 0%, #00BBFF 48%, #008fbd 100%);
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg), 0 0 28px rgba(var(--designer-azure-rgb), 0.34), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* Tangerine Button (luca.softss) */
.luc-btn-tangerine {
    background: linear-gradient(155deg, #ffaa33 0%, #ff8c00 45%, #cc7000 100%);
    border: 1px solid rgba(255,255,255,0.15);
    color: var(--luca-navy);
    box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(0,0,0,0.15);
}

.luc-btn-tangerine:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg), 0 0 28px rgba(255,140,0,0.35), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* Viridian Button (lucAI & luca.toolss) */
.luc-btn-viridian {
    background: linear-gradient(155deg, #33ff33 0%, #00ff00 45%, #00cc00 100%);
    border: 1px solid rgba(255,255,255,0.15);
    color: #1d2d44;
    box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.28), inset 0 -1px 0 rgba(0,0,0,0.15);
}

.luc-btn-viridian:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg), 0 0 28px rgba(0,255,0,0.35), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* Button Sizes */
.luc-btn-sm {
    padding: 0.5rem 1.5rem;
    font-size: 0.8rem;
}

.luc-btn-lg {
    padding: 1rem 2.5rem;
    font-size: 1rem;
}

/* Button States - Enhanced */
.luc-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Loading State */
.luc-btn.loading {
    pointer-events: none;
    position: relative;
}

.luc-btn.loading::before {
    content: '';
    position: absolute;
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: luc-spin 0.8s linear infinite;
}

.luc-btn.loading .luc-btn-text {
    opacity: 0.7;
}

/* Icon Button */
.luc-btn-icon {
    padding: 0.8rem;
    width: 2.8rem;
    height: 2.8rem;
}

.luc-btn-icon-sm {
    padding: 0.5rem;
    width: 2rem;
    height: 2rem;
}

.luc-btn-icon-lg {
    padding: 1rem;
    width: 3.5rem;
    height: 3.5rem;
}

/* Button Group */
.luc-btn-group {
    display: inline-flex;
    gap: 0.5rem;
}

.luc-btn-group .luc-btn {
    border-radius: var(--radius-md);
}

.luc-btn-group .luc-btn:first-child {
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.luc-btn-group .luc-btn:last-child {
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.luc-btn-group .luc-btn:not(:first-child):not(:last-child) {
    border-radius: 0;
}

.luc-btn-group.vertical {
    flex-direction: column;
}

.luc-btn-group.vertical .luc-btn:first-child {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.luc-btn-group.vertical .luc-btn:last-child {
    border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.luc-btn-group.vertical .luc-btn:not(:first-child):not(:last-child) {
    border-radius: 0;
}

/* Full Width Button */
.luc-btn-full {
    width: 100%;
}

/* Outline Button Variants */
.luc-btn-outline {
    background: transparent;
    border: 2px solid var(--studio-gold);
    color: var(--studio-gold);
}

.luc-btn-outline:hover {
    background: var(--studio-gold);
    color: var(--luca-navy);
}

.luc-btn-outline-azure {
    background: transparent;
    border: 2px solid var(--designer-azure);
    color: var(--designer-azure);
}

.luc-btn-outline-azure:hover {
    background: var(--designer-azure);
    color: var(--luca-navy);
}

.luc-btn-outline-tangerine {
    background: transparent;
    border: 2px solid var(--luca-tangerine);
    color: var(--luca-tangerine);
}

.luc-btn-outline-tangerine:hover {
    background: var(--luca-tangerine);
    color: var(--luca-navy);
}

.luc-btn-outline-viridian {
    background: transparent;
    border: 2px solid var(--bold-viridian);
    color: var(--bold-viridian);
}

.luc-btn-outline-viridian:hover {
    background: var(--bold-viridian);
    color: #1d2d44;
}

/* Ghost Button */
.luc-btn-ghost {
    background: transparent;
    border: 1px solid transparent;
    color: var(--text-light);
}

.luc-btn-ghost:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.2);
}

.luc-btn-ghost:active {
    background: rgba(255,255,255,0.15);
}

/* Responsive Buttons */
@media (max-width: 768px) {
    .luc-btn {
        padding: 0.7rem 1.5rem;
        font-size: 0.85rem;
    }

    .luc-btn-lg {
        padding: 0.9rem 2rem;
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .luc-btn {
        padding: 0.6rem 1.2rem;
        font-size: 0.8rem;
        width: 100%;
    }

    .luc-btn-sm {
        padding: 0.4rem 1rem;
        font-size: 0.75rem;
    }
}

/* Source: lucCOMPONENTS/luc-cards.css */
/* ============================================================
   lucUI — Card Components v2.0
   Dimensional glass surfaces and editorial content panels
   ============================================================ */

/* Base Card Styles - Enhanced */
.luc-card {
    background: var(--glass-bg);
    backdrop-filter: blur(24px) saturate(180%) brightness(1.05) contrast(1.02);
    -webkit-backdrop-filter: blur(24px) saturate(180%) brightness(1.05) contrast(1.02);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md),
                inset 0 1px 0 var(--glass-shine),
                inset 0 -1px 0 rgba(0,0,0,0.05);
    padding: var(--space-6);
    transition: transform var(--transition-base) var(--ease-spring),
                box-shadow var(--transition-base) var(--ease-snappy),
                border-color var(--transition-base) var(--ease-snappy);
    position: relative;
    overflow: hidden;
}

/* Specular Edge */
.luc-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        rgba(255,255,255,0.55) 0%,
        rgba(255,255,255,0.20) 40%,
        rgba(255,255,255,0.05) 70%,
        transparent 100%);
    z-index: 2;
    pointer-events: none;
}

.luc-card:hover {
    background: var(--glass-hover);
    border-color: rgba(174,157,93,0.30);
    transform: translateY(-3px);
    box-shadow: var(--shadow-xl), inset 0 1px 0 rgba(255,255,255,0.10);
}

/* Transparency Card (Enhanced) */
.luc-card-transparency {
    background: linear-gradient(145deg, rgba(36, 59, 85, 0.85) 0%, rgba(29, 45, 68, 0.65) 60%, rgba(17, 30, 46, 0.7) 100%);
    border: 1px solid rgba(174, 157, 93, 0.08);
    border-radius: 32px;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(30px) saturate(160%);
    -webkit-backdrop-filter: blur(30px) saturate(160%);
}

/* Beveled Transparency Edge */
.luc-card-transparency::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.05), transparent);
    pointer-events: none;
    z-index: 1;
}

.luc-card-transparency > * {
    position: relative;
    z-index: 2;
}

.luc-card-transparency:hover {
    transform: translateY(-10px);
    box-shadow: 0 50px 120px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.luc-card-transparency:active {
    transform: translateY(-2px) scale(0.985);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

/* Glow Spot Effect */
.luc-glow-spot {
    position: absolute;
    top: -100px;
    left: -100px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(174, 157, 93, 0.12), transparent 70%);
    z-index: 0;
    pointer-events: none;
    mix-blend-mode: screen;
}

.luc-glow-spot.center {
    top: -200px;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 400px;
}

/* Card Variants */
.luc-card-sm {
    padding: var(--space-4);
    border-radius: var(--radius-md);
}

.luc-card-lg {
    padding: var(--space-8);
    border-radius: var(--radius-xl);
}

/* Card Content */
.luc-card-header {
    margin-bottom: var(--space-4);
}

.luc-card-title {
    font-size: var(--text-2xl);
    color: #fff;
    margin-bottom: var(--space-2);
}

.luc-card-subtitle {
    font-size: var(--text-sm);
    color: var(--text-muted);
    font-family: var(--font-italic);
    font-style: italic;
}

.luc-card-body {
    margin-bottom: var(--space-4);
}

.luc-card-footer {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-color);
}

/* Horizontal Card */
.luc-card-horizontal {
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.luc-card-horizontal .luc-card-image {
    flex: 0 0 40%;
    min-width: 200px;
}

.luc-card-horizontal .luc-card-content {
    flex: 1;
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
}

.luc-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.luc-card-image-top {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.luc-card-image-bottom {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
}

/* Media Card */
.luc-card-media {
    position: relative;
    overflow: hidden;
}

.luc-card-media .luc-card-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform var(--transition-slow) var(--ease-smooth);
}

.luc-card-media:hover .luc-card-image {
    transform: scale(1.05);
}

.luc-card-media .luc-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space-6);
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
}

.luc-card-media .luc-card-title {
    color: #fff;
    margin-bottom: var(--space-2);
}

.luc-card-media .luc-card-subtitle {
    color: rgba(255,255,255,0.8);
}

/* Overlay Card */
.luc-card-overlay {
    position: relative;
    min-height: 300px;
}

.luc-card-overlay .luc-card-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.luc-card-overlay .luc-card-overlay-content {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--space-6);
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 50%, transparent 100%);
}

.luc-card-overlay .luc-card-title {
    color: #fff;
}

.luc-card-overlay .luc-card-subtitle {
    color: rgba(255,255,255,0.85);
}

/* Clickable Card */
.luc-card-clickable {
    cursor: pointer;
}

.luc-card-clickable:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: var(--shadow-xl), inset 0 1px 0 rgba(255,255,255,0.10);
}

.luc-card-clickable:active {
    transform: translateY(-2px) scale(0.98);
}

/* Responsive Cards */
@media (max-width: 768px) {
    .luc-card {
        padding: var(--space-5);
    }

    .luc-card-lg {
        padding: var(--space-6);
    }

    .luc-card-title {
        font-size: var(--text-xl);
    }
}

@media (max-width: 480px) {
    .luc-card {
        padding: var(--space-4);
    }

    .luc-card-sm {
        padding: var(--space-3);
    }

    .luc-card-lg {
        padding: var(--space-5);
    }

    .luc-card-title {
        font-size: var(--text-lg);
    }
}

/* Source: lucCOMPONENTS/luc-navbar.css */
/* ============================================================
   lucUI — Navbar Component v2.0
   Enhanced with mega menu, search, and user menu
   ============================================================ */

/* Base Navbar - Enhanced */
.luc-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--glass-nav);
    backdrop-filter: blur(34px) saturate(240%) brightness(1.2) contrast(1.05);
    -webkit-backdrop-filter: blur(34px) saturate(240%) brightness(1.2) contrast(1.05);
    border-bottom: 1px solid rgba(174, 157, 93, 0.22);
    box-shadow: var(--shadow-xl),
                inset 1px 0 0 rgba(255,255,255,0.10),
                inset 0 1px 0 rgba(255,255,255,0.12);
    z-index: var(--z-fixed);
    min-height: 82px;
    height: auto;
    padding: 0 var(--space-6);
    display: flex;
    align-items: center;
    transition: height var(--transition-base) var(--ease-snappy),
                background var(--transition-base) var(--ease-snappy),
                box-shadow var(--transition-base) var(--ease-snappy);
}

.luc-navbar.scrolled {
    height: 56px;
    background: var(--glass-nav);
    box-shadow: var(--shadow-lg);
}

/* Navbar Container */
.luc-navbar-container {
    width: min(95%, 1440px);
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
    flex-wrap: wrap;
    padding: var(--space-3) 0;
}

/* Brand Logo */
.luc-navbar-brand {
    height: auto;
    width: auto;
    filter: drop-shadow(0 2px 10px rgba(174, 157, 93, 0.28));
    transition: filter var(--transition-base) var(--ease-smooth),
                opacity var(--transition-base) var(--ease-smooth);
}

.luc-navbar-brand:hover {
    filter: drop-shadow(0 4px 10px rgba(174, 157, 93, 0.35));
    opacity: 0.9;
}

/* Navbar Links */
.luc-navbar-links {
    display: flex;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.luc-navbar-link {
    color: var(--text-light);
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: none;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.8rem 1.1rem;
    min-height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
    transition: all var(--transition-base) var(--ease-snappy);
    font-family: var(--font-body);
}

.luc-navbar-link:hover {
    background: rgba(174,157,93,0.10);
    border-color: rgba(174,157,93,0.38);
    color: var(--text-light);
    box-shadow: 0 0 16px rgba(174,157,93,0.28), inset 0 1px 0 rgba(255,255,255,0.10);
    transform: translateY(-1px);
}

.luc-navbar-link:active {
    transform: translateY(1px);
    background: rgba(174,157,93,0.08);
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.15);
}

/* Active / current page link */
.luc-navbar-link.active,
.luc-navbar-link[aria-current="page"] {
    background: rgba(174,157,93,0.14);
    border-color: rgba(174,157,93,0.40);
    color: var(--studio-gold);
    box-shadow: 0 0 12px rgba(174,157,93,0.20), inset 0 1px 0 rgba(255,255,255,0.10);
}

.luc-navbar-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0,187,255,0.55), var(--shadow-md);
    border-radius: var(--radius-full);
}

/* Navbar Accent */
.luc-navbar-accent {
    color: var(--studio-gold);
    font-size: 0.7rem;
    font-family: var(--font-italic);
    font-style: italic;
    font-weight: var(--weight-italic);
    opacity: 0.8;
}

/* Mobile Menu Toggle */
.luc-navbar-toggle {
    display: none;
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
    padding: 0.5rem;
    cursor: pointer;
    transition: all var(--transition-base) var(--ease-snappy);
}

.luc-navbar-toggle:hover {
    background: rgba(174,157,93,0.18);
    border-color: rgba(174,157,93,0.45);
}

/* Navbar Search */
.luc-navbar-search {
    position: relative;
    margin: 0 var(--space-4);
}

.luc-navbar-search-input {
    width: 200px;
    padding: 0.5rem 1rem 0.5rem 2.5rem;
    font-size: 0.875rem;
    font-family: var(--font-body);
    color: var(--text-light);
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius-full);
    transition: all var(--transition-base) var(--ease-snappy);
}

.luc-navbar-search-input:focus {
    outline: none;
    border-color: var(--studio-gold);
    background: rgba(255,255,255,0.12);
    width: 250px;
}

.luc-navbar-search-input:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

.luc-navbar-search-input::placeholder {
    color: var(--text-muted);
}

.luc-navbar-search-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
}

/* Navbar User Menu */
.luc-navbar-user {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-left: var(--space-4);
}

.luc-navbar-user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--studio-gold), var(--designer-azure));
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--luca-navy);
    cursor: pointer;
    transition: all var(--transition-base) var(--ease-snappy);
    border: 2px solid rgba(255,255,255,0.2);
}

.luc-navbar-user-avatar:hover {
    transform: scale(1.05);
    border-color: var(--studio-gold);
}

.luc-navbar-user-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: var(--space-2);
    background: var(--luc-surface-strong, rgba(8,16,28,0.95));
    backdrop-filter: blur(32px) saturate(200%);
    -webkit-backdrop-filter: blur(32px) saturate(200%);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    min-width: 200px;
    padding: var(--space-2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all var(--transition-base) var(--ease-snappy);
}

.luc-navbar-user-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.luc-navbar-user-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0.5rem 1rem;
    color: var(--text-light);
    text-decoration: none;
    border-radius: var(--radius-sm);
    transition: all var(--transition-base) var(--ease-snappy);
    font-size: 0.875rem;
}

.luc-navbar-user-item:hover {
    background: rgba(174,157,93,0.12);
    color: var(--studio-gold);
}

.luc-navbar-user-divider {
    height: 1px;
    background: var(--border-color);
    margin: var(--space-2) 0;
}

/* Mega Menu */
.luc-navbar-mega {
    position: relative;
}

.luc-navbar-mega-trigger {
    position: relative;
}

.luc-navbar-mega-content {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: var(--space-2);
    background: var(--luc-surface-strong, rgba(8,16,28,0.95));
    backdrop-filter: blur(32px) saturate(200%);
    -webkit-backdrop-filter: blur(32px) saturate(200%);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    min-width: 600px;
    padding: var(--space-6);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all var(--transition-base) var(--ease-snappy);
    z-index: var(--z-dropdown);
}

.luc-navbar-mega-content.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.luc-navbar-mega-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
}

.luc-navbar-mega-column h4 {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--studio-gold);
    margin-bottom: var(--space-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.luc-navbar-mega-item {
    display: block;
    padding: var(--space-2) 0;
    color: var(--text-light);
    text-decoration: none;
    transition: all var(--transition-base) var(--ease-snappy);
    font-size: 0.875rem;
}

.luc-navbar-mega-item:hover {
    color: var(--studio-gold);
    transform: translateX(4px);
}

.luc-navbar-mega-item-icon {
    margin-right: var(--space-2);
    opacity: 0.7;
}

/* Responsive */
@media (max-width: 900px) {
    .luc-navbar-links {
        background: var(--luc-surface-strong, rgba(8,16,28,0.88));
        backdrop-filter: blur(32px) saturate(200%);
        -webkit-backdrop-filter: blur(32px) saturate(200%);
        border-bottom: 1px solid var(--glass-edge);
        border-radius: 0 0 var(--radius-sm) var(--radius-sm);
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        padding: var(--space-4);
        gap: var(--space-3);
        transform: translateY(-10px);
        opacity: 0;
        visibility: hidden;
        transition: all var(--transition-base) var(--ease-snappy);
    }

    .luc-navbar-links.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    .luc-navbar-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Source: lucCOMPONENTS/luc-forms.css */
/* ============================================================
   lucUI — Form Components v2.0
   Enhanced with floating labels and input groups
   ============================================================ */

/* Base Form Styles - Enhanced */
.luc-form-group {
    margin-bottom: var(--space-4);
    position: relative;
}

.luc-label {
    display: block;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-light);
    margin-bottom: var(--space-2);
    font-family: var(--font-body);
}

.luc-input,
.luc-textarea,
.luc-select {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: var(--text-base);
    font-family: var(--font-body);
    color: var(--text-light);
    background: var(--glass-bg);
    backdrop-filter: blur(20px) saturate(170%);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-shine);
    transition: all var(--transition-base) var(--ease-snappy);
}

.luc-input:focus,
.luc-textarea:focus,
.luc-select:focus {
    outline: none;
    border-color: var(--studio-gold);
    box-shadow: 0 0 0 3px rgba(174,157,93,0.2), var(--shadow-md);
    background: var(--glass-hover);
    transform: translateY(-1px);
}

.luc-input:focus-visible,
.luc-textarea:focus-visible,
.luc-select:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

.luc-input::placeholder,
.luc-textarea::placeholder {
    color: var(--text-muted);
}

.luc-textarea {
    min-height: 120px;
    resize: vertical;
}

.luc-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23AE9D5D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
}

/* Checkbox */
.luc-checkbox-group {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 44px;
}

.luc-checkbox {
    width: 1.25rem;
    height: 1.25rem;
    appearance: none;
    background: var(--glass-bg);
    backdrop-filter: blur(20px) saturate(170%);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-base) var(--ease-snappy);
    position: relative;
}

.luc-checkbox:checked {
    background: var(--studio-gold);
    border-color: var(--studio-gold);
}

.luc-checkbox:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--luca-navy);
    font-size: 0.875rem;
    font-weight: bold;
}

.luc-checkbox:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
    box-shadow: none;
}

/* Radio Button */
.luc-radio-group {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 44px;
}

.luc-radio {
    width: 1.25rem;
    height: 1.25rem;
    appearance: none;
    background: var(--glass-bg);
    backdrop-filter: blur(20px) saturate(170%);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    border: 1px solid var(--glass-edge);
    border-radius: 50%;
    cursor: pointer;
    transition: all var(--transition-base) var(--ease-snappy);
    position: relative;
}

.luc-radio:checked {
    background: var(--studio-gold);
    border-color: var(--studio-gold);
}

.luc-radio:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.5rem;
    height: 0.5rem;
    background: var(--luca-navy);
    border-radius: 50%;
}

.luc-radio:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
    box-shadow: none;
}

/* Form States */
.luc-input:disabled,
.luc-textarea:disabled,
.luc-select:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.luc-input.error,
.luc-textarea.error,
.luc-select.error {
    border-color: #ff5f56;
}

.luc-input.success,
.luc-textarea.success,
.luc-select.success {
    border-color: #27c93f;
}

/* Helper Text */
.luc-helper-text {
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin-top: var(--space-1);
}

.luc-helper-text.error {
    color: #ff5f56;
}

.luc-helper-text.success {
    color: #27c93f;
}

/* Floating Label */
.luc-form-group-floating {
    position: relative;
}

.luc-form-group-floating .luc-input,
.luc-form-group-floating .luc-textarea,
.luc-form-group-floating .luc-select {
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}

.luc-form-group-floating .luc-label {
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-size: var(--text-base);
    color: var(--text-muted);
    transition: all var(--transition-base) var(--ease-snappy);
    pointer-events: none;
    margin-bottom: 0;
}

.luc-form-group-floating .luc-input:focus + .luc-label,
.luc-form-group-floating .luc-input:not(:placeholder-shown) + .luc-label,
.luc-form-group-floating .luc-textarea:focus + .luc-label,
.luc-form-group-floating .luc-textarea:not(:placeholder-shown) + .luc-label,
.luc-form-group-floating .luc-select:focus + .luc-label,
.luc-form-group-floating .luc-select:not(:placeholder-shown) + .luc-label {
    top: 0.5rem;
    left: 0.75rem;
    font-size: var(--text-xs);
    color: var(--studio-gold);
}

/* Input Group */
.luc-input-group {
    display: flex;
    align-items: stretch;
    gap: 0;
}

.luc-input-group .luc-input,
.luc-input-group .luc-btn {
    border-radius: 0;
}

.luc-input-group .luc-input:first-child,
.luc-input-group .luc-btn:first-child {
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.luc-input-group .luc-input:last-child,
.luc-input-group .luc-btn:last-child {
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.luc-input-group .luc-input:not(:first-child):not(:last-child),
.luc-input-group .luc-btn:not(:first-child):not(:last-child) {
    border-radius: 0;
}

.luc-input-group-prepend,
.luc-input-group-append {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    background: var(--glass-bg);
    backdrop-filter: blur(20px) saturate(170%);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    border: 1px solid var(--glass-edge);
    color: var(--text-muted);
    font-size: var(--text-sm);
    white-space: nowrap;
}

.luc-input-group-prepend {
    border-right: none;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.luc-input-group-append {
    border-left: none;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.luc-input-group .luc-input:first-child {
    border-radius: 0;
}

.luc-input-group .luc-input:last-child {
    border-radius: 0;
}

.luc-input-group .luc-input {
    flex: 1;
}

.luc-input-group-vertical {
    flex-direction: column;
}

.luc-input-group-vertical .luc-input-group-prepend {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    border-right: 1px solid var(--glass-edge);
    border-bottom: none;
}

.luc-input-group-vertical .luc-input-group-append {
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    border-left: 1px solid var(--glass-edge);
    border-top: none;
}

/* Responsive Forms */
@media (max-width: 768px) {
    .luc-input,
    .luc-textarea,
    .luc-select {
        font-size: 1rem; /* Prevent iOS zoom */
    }

    .luc-form-group {
        margin-bottom: var(--space-3);
    }
}

@media (max-width: 480px) {
    .luc-input,
    .luc-textarea,
    .luc-select {
        padding: 0.7rem 1rem;
    }

    .luc-textarea {
        min-height: 100px;
    }
}

/* Source: lucCOMPONENTS/luc-modals.css */
/* ============================================================
   lucUI — Modal Components
   ============================================================ */

/* Modal Backdrop */
.luc-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.70);
    backdrop-filter: blur(40px) saturate(180%);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    z-index: var(--z-modal-backdrop);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-base) var(--ease-smooth),
                visibility var(--transition-base) var(--ease-smooth);
}

.luc-modal-backdrop.active {
    opacity: 1;
    visibility: visible;
}

/* Modal */
.luc-modal {
    background: var(--glass-modal);
    backdrop-filter: blur(48px) saturate(200%) brightness(1.08);
    -webkit-backdrop-filter: blur(48px) saturate(200%) brightness(1.08);
    border: 1px solid var(--glass-edge);
    border-radius: 28px;
    box-shadow: var(--shadow-xl), inset 0 1px 0 rgba(255,255,255,0.10);
    position: relative;
    overflow: hidden;
    max-width: 600px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.95) translateY(20px);
    transition: transform var(--transition-base) var(--ease-spring);
}

.luc-modal-backdrop.active .luc-modal {
    transform: scale(1) translateY(0);
}

/* Specular Edge */
.luc-modal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.40) 30%, rgba(255,255,255,0.20) 70%, transparent);
    pointer-events: none;
    z-index: 1;
}

/* Modal Header */
.luc-modal-header {
    padding: var(--space-6);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 2;
}

.luc-modal-title {
    font-size: var(--text-2xl);
    color: var(--text-light);
    margin: 0;
}

/* Modal Close Button */
.luc-modal-close {
    background: var(--glass-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--glass-edge);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-base) var(--ease-snappy);
    color: var(--text-light);
}

.luc-modal-close:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

.luc-modal-close:hover {
    background: rgba(174,157,93,0.18);
    border-color: rgba(174,157,93,0.45);
    transform: rotate(90deg);
    box-shadow: var(--shadow-md);
}

.luc-modal-close:active {
    transform: rotate(90deg);
    filter: brightness(0.90);
}

/* Modal Body */
.luc-modal-body {
    padding: var(--space-6);
    position: relative;
    z-index: 2;
}

/* Modal Footer */
.luc-modal-footer {
    padding: var(--space-6);
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: flex-end;
    gap: var(--space-3);
    position: relative;
    z-index: 2;
}

/* Modal Sizes */
.luc-modal-sm {
    max-width: 400px;
}

.luc-modal-lg {
    max-width: 800px;
}

.luc-modal-xl {
    max-width: 1200px;
}

/* Modal Animation Variants */
.luc-modal-backdrop.fade .luc-modal {
    transform: scale(0.95) translateY(20px);
}

.luc-modal-backdrop.slide .luc-modal {
    transform: translateY(-100%);
}

.luc-modal-backdrop.slide.active .luc-modal {
    transform: translateY(0);
}

/* Responsive Modals */
@media (max-width: 768px) {
    .luc-modal {
        margin: var(--space-4);
        max-width: calc(100% - var(--space-8));
    }

    .luc-modal-lg,
    .luc-modal-xl {
        max-width: calc(100% - var(--space-8));
    }

    .luc-modal-header,
    .luc-modal-body,
    .luc-modal-footer {
        padding: var(--space-4);
    }
}

@media (max-width: 480px) {
    .luc-modal {
        margin: var(--space-3);
        max-width: calc(100% - var(--space-6));
    }

    .luc-modal-header,
    .luc-modal-body,
    .luc-modal-footer {
        padding: var(--space-3);
    }

    .luc-modal-footer {
        flex-direction: column;
        gap: var(--space-2);
    }

    .luc-modal-footer .luc-btn {
        width: 100%;
    }
}

/* Source: lucCOMPONENTS/luc-alerts.css */
/* ============================================================
   lucUI — Alert Components
   ============================================================ */

/* Base Alert */
.luc-alert {
    background: var(--glass-bg);
    backdrop-filter: blur(20px) saturate(170%);
    -webkit-backdrop-filter: blur(20px) saturate(170%);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-shine);
    position: relative;
    overflow: hidden;
}

/* Specular Edge */
.luc-alert::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        rgba(255,255,255,0.55) 0%,
        rgba(255,255,255,0.20) 40%,
        rgba(255,255,255,0.05) 70%,
        transparent 100%);
    pointer-events: none;
    z-index: 1;
}

.luc-alert > * {
    position: relative;
    z-index: 2;
}

/* Alert Icon */
.luc-alert-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Alert Content */
.luc-alert-content {
    flex: 1;
}

.luc-alert-title {
    font-size: var(--text-base);
    color: var(--text-light);
    margin-bottom: var(--space-1);
}

.luc-alert-message {
    font-size: var(--text-sm);
    color: var(--text-muted);
    margin: 0;
}

/* Alert Close Button */
.luc-alert-close {
    flex-shrink: 0;
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-base) var(--ease-snappy);
    color: var(--text-muted);
}

.luc-alert-close:hover {
    background: rgba(255,255,255,0.12);
    color: var(--text-light);
}

.luc-alert-close:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

/* Alert Variants */

/* Info (Azure) */
.luc-alert-info {
    border-color: rgba(0,187,255,0.3);
    background: rgba(0,187,255,0.05);
}

.luc-alert-info .luc-alert-icon {
    color: var(--designer-azure);
}

.luc-alert-info .luc-alert-title {
    color: var(--designer-azure);
}

/* Success (Viridian) */
.luc-alert-success {
    border-color: rgba(0,255,0,0.3);
    background: rgba(0,255,0,0.05);
}

.luc-alert-success .luc-alert-icon {
    color: var(--bold-viridian);
}

.luc-alert-success .luc-alert-title {
    color: var(--bold-viridian);
}

/* Warning (Tangerine) */
.luc-alert-warning {
    border-color: rgba(255,140,0,0.3);
    background: rgba(255,140,0,0.05);
}

.luc-alert-warning .luc-alert-icon {
    color: var(--luca-tangerine);
}

.luc-alert-warning .luc-alert-title {
    color: var(--luca-tangerine);
}

/* Error (Red) */
.luc-alert-error {
    border-color: rgba(255,95,86,0.3);
    background: rgba(255,95,86,0.05);
}

.luc-alert-error .luc-alert-icon {
    color: #ff5f56;
}

.luc-alert-error .luc-alert-title {
    color: #ff5f56;
}

/* Gold (Studio Gold) */
.luc-alert-gold {
    border-color: rgba(174,157,93,0.3);
    background: rgba(174,157,93,0.05);
}

.luc-alert-gold .luc-alert-icon {
    color: var(--studio-gold);
}

.luc-alert-gold .luc-alert-title {
    color: var(--studio-gold);
}

/* Alert Sizes */
.luc-alert-sm {
    padding: var(--space-3);
}

.luc-alert-sm .luc-alert-icon {
    width: 20px;
    height: 20px;
}

.luc-alert-lg {
    padding: var(--space-5);
}

.luc-alert-lg .luc-alert-icon {
    width: 28px;
    height: 28px;
}

/* Dismissible Alert */
.luc-alert-dismissible {
    padding-right: var(--space-12);
}

/* Responsive Alerts */
@media (max-width: 768px) {
    .luc-alert {
        padding: var(--space-4);
    }

    .luc-alert-lg {
        padding: var(--space-4);
    }

    .luc-alert-content {
        gap: var(--space-2);
    }
}

@media (max-width: 480px) {
    .luc-alert {
        padding: var(--space-3);
    }

    .luc-alert-sm {
        padding: var(--space-2);
    }

    .luc-alert-icon {
        width: 20px;
        height: 20px;
    }
}

/* Source: lucCOMPONENTS/luc-badges.css */
/* ============================================================
   lucUI — Badge Components
   ============================================================ */

/* Base Badge */
.luc-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: var(--radius-full);
    background: var(--glass-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--glass-edge);
    color: var(--text-light);
    transition: all var(--transition-base) var(--ease-snappy);
}

/* Badge Variants */

/* Gold Badge */
.luc-badge-gold {
    background: rgba(174,157,93,0.12);
    border-color: rgba(174,157,93,0.30);
    color: var(--studio-gold);
}

.luc-badge-gold:hover {
    background: rgba(174,157,93,0.18);
    border-color: rgba(174,157,93,0.50);
    transform: translateY(-1px);
}

/* Azure Badge (luca.designss) */
.luc-badge-azure {
    background: rgba(0,187,255,0.12);
    border-color: rgba(0,187,255,0.30);
    color: var(--designer-azure);
}

.luc-badge-azure:hover {
    background: rgba(0,187,255,0.18);
    border-color: rgba(0,187,255,0.50);
    transform: translateY(-1px);
}

/* Tangerine Badge (luca.softss) */
.luc-badge-tangerine {
    background: rgba(255,140,0,0.12);
    border-color: rgba(255,140,0,0.30);
    color: var(--luca-tangerine);
}

.luc-badge-tangerine:hover {
    background: rgba(255,140,0,0.18);
    border-color: rgba(255,140,0,0.50);
    transform: translateY(-1px);
}

/* Viridian Badge (lucAI & luca.toolss) */
.luc-badge-viridian {
    background: rgba(0,255,0,0.12);
    border-color: rgba(0,255,0,0.30);
    color: var(--bold-viridian);
}

.luc-badge-viridian:hover {
    background: rgba(0,255,0,0.18);
    border-color: rgba(0,255,0,0.50);
    transform: translateY(-1px);
}

/* Navy Badge */
.luc-badge-navy {
    background: rgba(29,45,68,0.8);
    border-color: rgba(29,45,68,1);
    color: #fff;
}

.luc-badge-navy:hover {
    background: rgba(29,45,68,1);
    transform: translateY(-1px);
}

/* Badge Sizes */
.luc-badge-sm {
    padding: 0.125rem 0.5rem;
    font-size: 0.625rem;
}

.luc-badge-lg {
    padding: 0.375rem 1rem;
    font-size: var(--text-sm);
}

/* Badge with Dot */
.luc-badge-dot {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.luc-badge-dot::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

/* Pill Badge */
.luc-badge-pill {
    border-radius: var(--radius-full);
}

/* Square Badge */
.luc-badge-square {
    border-radius: var(--radius-sm);
}

/* Badge States */
.luc-badge-outline {
    background: transparent;
    border: 1px solid currentColor;
}

.luc-badge-solid {
    background: currentColor;
    color: var(--luca-navy);
    border: none;
}

.luc-badge-solid.luc-badge-gold {
    background: var(--studio-gold);
}

.luc-badge-solid.luc-badge-azure {
    background: var(--designer-azure);
}

.luc-badge-solid.luc-badge-tangerine {
    background: var(--luca-tangerine);
}

.luc-badge-solid.luc-badge-viridian {
    background: var(--bold-viridian);
}

.luc-badge-solid.luc-badge-navy {
    background: var(--luca-navy);
    color: #fff;
}

/* Responsive Badges */
@media (max-width: 768px) {
    .luc-badge {
        font-size: 0.7rem;
        padding: 0.2rem 0.6rem;
    }

    .luc-badge-lg {
        font-size: 0.75rem;
        padding: 0.3rem 0.8rem;
    }
}

@media (max-width: 480px) {
    .luc-badge {
        font-size: 0.65rem;
        padding: 0.15rem 0.5rem;
    }

    .luc-badge-sm {
        font-size: 0.6rem;
        padding: 0.1rem 0.4rem;
    }
}

/* Source: lucCOMPONENTS/luc-tooltips.css */
/* ============================================================
   lucUI — Tooltip Component
   ============================================================ */

/* Tooltip Wrapper */
.luc-tooltip {
    position: relative;
    display: inline-flex;
}

/* Tooltip Bubble */
.luc-tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: var(--luc-surface-strong, rgba(8,18,32,0.92));
    backdrop-filter: blur(16px) saturate(180%);
    -webkit-backdrop-filter: blur(16px) saturate(180%);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.08);
    color: var(--text-light);
    font-size: var(--text-xs);
    font-family: var(--font-body);
    font-weight: 500;
    white-space: nowrap;
    padding: 0.35rem 0.75rem;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-fast) var(--ease-smooth),
                transform var(--transition-fast) var(--ease-snappy),
                visibility var(--transition-fast) var(--ease-smooth);
    z-index: var(--z-tooltip);
}

/* Tooltip Arrow */
.luc-tooltip::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    border: 5px solid transparent;
    border-top-color: var(--glass-edge);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-fast) var(--ease-smooth),
                transform var(--transition-fast) var(--ease-snappy),
                visibility var(--transition-fast) var(--ease-smooth);
    z-index: var(--z-tooltip);
}

/* Show on hover / focus */
.luc-tooltip:hover::after,
.luc-tooltip:focus-within::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.luc-tooltip:hover::before,
.luc-tooltip:focus-within::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* Tooltip Positions */

/* Bottom */
.luc-tooltip-bottom::after {
    bottom: auto;
    top: calc(100% + 8px);
    transform: translateX(-50%) translateY(-4px);
}

.luc-tooltip-bottom::before {
    bottom: auto;
    top: calc(100% + 2px);
    transform: translateX(-50%) translateY(-4px);
    border-top-color: transparent;
    border-bottom-color: var(--glass-edge);
}

.luc-tooltip-bottom:hover::after,
.luc-tooltip-bottom:focus-within::after {
    transform: translateX(-50%) translateY(0);
}

.luc-tooltip-bottom:hover::before,
.luc-tooltip-bottom:focus-within::before {
    transform: translateX(-50%) translateY(0);
}

/* Left */
.luc-tooltip-left::after {
    bottom: auto;
    top: 50%;
    left: auto;
    right: calc(100% + 8px);
    transform: translateY(-50%) translateX(4px);
}

.luc-tooltip-left::before {
    bottom: auto;
    top: 50%;
    left: auto;
    right: calc(100% + 2px);
    transform: translateY(-50%) translateX(4px);
    border-top-color: transparent;
    border-left-color: var(--glass-edge);
}

.luc-tooltip-left:hover::after,
.luc-tooltip-left:focus-within::after {
    transform: translateY(-50%) translateX(0);
}

.luc-tooltip-left:hover::before,
.luc-tooltip-left:focus-within::before {
    transform: translateY(-50%) translateX(0);
}

/* Right */
.luc-tooltip-right::after {
    bottom: auto;
    top: 50%;
    left: calc(100% + 8px);
    transform: translateY(-50%) translateX(-4px);
}

.luc-tooltip-right::before {
    bottom: auto;
    top: 50%;
    left: calc(100% + 2px);
    transform: translateY(-50%) translateX(-4px);
    border-top-color: transparent;
    border-right-color: var(--glass-edge);
}

.luc-tooltip-right:hover::after,
.luc-tooltip-right:focus-within::after {
    transform: translateY(-50%) translateX(0);
}

.luc-tooltip-right:hover::before,
.luc-tooltip-right:focus-within::before {
    transform: translateY(-50%) translateX(0);
}

/* Tooltip Color Variants */
.luc-tooltip-gold::after {
    border-color: rgba(174,157,93,0.35);
    background: rgba(174,157,93,0.15);
    color: var(--studio-gold);
}

.luc-tooltip-azure::after {
    border-color: rgba(0,187,255,0.35);
    background: rgba(0,187,255,0.12);
    color: var(--designer-azure);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .luc-tooltip::after,
    .luc-tooltip::before {
        transition: none;
    }
}

/* Source: lucCOMPONENTS/luc-dropdowns.css */
/* ============================================================
   lucUI — Dropdown Component
   ============================================================ */

/* Dropdown Wrapper */
.luc-dropdown {
    position: relative;
    display: inline-block;
}

/* Dropdown Toggle */
.luc-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
    user-select: none;
}

/* Dropdown Arrow Icon */
.luc-dropdown-toggle::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    transition: transform var(--transition-fast) var(--ease-snappy);
    flex-shrink: 0;
}

.luc-dropdown.open .luc-dropdown-toggle::after,
.luc-dropdown.active .luc-dropdown-toggle::after {
    transform: rotate(180deg);
}

/* Dropdown Menu */
.luc-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 200px;
    background: var(--luc-surface-strong, rgba(8,18,32,0.90));
    backdrop-filter: blur(32px) saturate(200%) brightness(1.1);
    -webkit-backdrop-filter: blur(32px) saturate(200%) brightness(1.1);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-xl), inset 0 1px 0 rgba(255,255,255,0.08);
    padding: var(--space-2);
    z-index: var(--z-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px) scale(0.98);
    transform-origin: top left;
    transition: opacity var(--transition-fast) var(--ease-smooth),
                transform var(--transition-fast) var(--ease-spring),
                visibility var(--transition-fast) var(--ease-smooth);
    overflow: hidden;
}

/* Specular edge */
.luc-dropdown-menu::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        rgba(255,255,255,0.45) 0%,
        rgba(255,255,255,0.15) 50%,
        transparent 100%);
    pointer-events: none;
}

.luc-dropdown.open .luc-dropdown-menu,
.luc-dropdown.active .luc-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* Right aligned */
.luc-dropdown-menu-right {
    left: auto;
    right: 0;
    transform-origin: top right;
}

/* Dropdown Item */
.luc-dropdown-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0.5rem 0.75rem;
    font-size: var(--text-sm);
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--text-light);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background var(--transition-fast) var(--ease-snappy),
                color var(--transition-fast) var(--ease-snappy);
    text-decoration: none;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
}

.luc-dropdown-item:hover {
    background: rgba(174,157,93,0.10);
    color: var(--text-light);
}

.luc-dropdown-item:active {
    background: rgba(174,157,93,0.18);
}

.luc-dropdown-item:focus-visible {
    outline: none;
    background: rgba(0,187,255,0.12);
    box-shadow: inset 0 0 0 2px rgba(0,187,255,0.4);
}

/* Dropdown Item Icon */
.luc-dropdown-item-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0.7;
}

/* Dropdown Divider — reuses luc-divider visual style */
.luc-dropdown-divider {
    height: 1px;
    background: var(--glass-edge);
    margin: var(--space-2) 0;
    border: none;
}

/* Dropdown Section Header — reuses luc-text-xs uppercase label style */
.luc-dropdown-header {
    padding: 0.35rem 0.75rem;
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--studio-gold);
    opacity: 0.75;
    font-family: var(--font-body);
}

/* Danger item */
.luc-dropdown-item-danger {
    color: #ff5f56;
}

.luc-dropdown-item-danger:hover {
    background: rgba(255,95,86,0.10);
    color: #ff5f56;
}

/* Responsive */
@media (max-width: 480px) {
    .luc-dropdown-menu {
        min-width: 160px;
    }
}

/* Source: lucCOMPONENTS/luc-tabs.css */
/* ============================================================
   lucUI — Tabs Component
   ============================================================ */

/* Tab Container */
.luc-tabs {
    width: 100%;
}

/* Tab List */
.luc-tab-list {
    display: flex;
    gap: var(--space-1);
    border-bottom: 1px solid var(--glass-edge);
    padding-bottom: 0;
    margin-bottom: var(--space-6);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.luc-tab-list::-webkit-scrollbar {
    display: none;
}

/* Tab Button */
.luc-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 1.1rem;
    font-size: var(--text-sm);
    font-weight: 600;
    font-family: var(--font-body);
    color: var(--text-muted);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    border: 1px solid transparent;
    border-bottom: none;
    cursor: pointer;
    transition: color var(--transition-fast) var(--ease-snappy),
                background var(--transition-fast) var(--ease-snappy),
                border-color var(--transition-fast) var(--ease-snappy);
    background: transparent;
    white-space: nowrap;
    position: relative;
    bottom: -1px;
}

.luc-tab:hover {
    color: var(--text-light);
    background: rgba(255,255,255,0.04);
}

.luc-tab:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(0,187,255,0.45);
    border-radius: var(--radius-sm);
}

/* Active Tab */
.luc-tab.active,
.luc-tab[aria-selected="true"] {
    color: var(--studio-gold);
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-color: var(--glass-edge);
    border-bottom-color: transparent;
}

.luc-tab.active::after,
.luc-tab[aria-selected="true"]::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--studio-gold), rgba(174,157,93,0.4));
    border-radius: 2px 2px 0 0;
}

/* Tab Panel */
.luc-tab-panel {
    display: none;
}

.luc-tab-panel.active,
.luc-tab-panel[aria-hidden="false"] {
    display: block;
    animation: luc-tab-fadein 0.25s var(--ease-smooth);
}

@keyframes luc-tab-fadein {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Pill Tab Variant */
.luc-tab-list-pill {
    border-bottom: none;
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-full);
    padding: var(--space-1);
    display: inline-flex;
    gap: 0;
    margin-bottom: var(--space-6);
}

.luc-tab-list-pill .luc-tab {
    border-radius: var(--radius-full);
    border: none;
    bottom: 0;
    padding: 0.45rem 1.1rem;
}

.luc-tab-list-pill .luc-tab.active,
.luc-tab-list-pill .luc-tab[aria-selected="true"] {
    background: rgba(174,157,93,0.15);
    border: 1px solid rgba(174,157,93,0.30);
    border-radius: var(--radius-full);
}

.luc-tab-list-pill .luc-tab.active::after,
.luc-tab-list-pill .luc-tab[aria-selected="true"]::after {
    display: none;
}

/* Underline Tab Variant */
.luc-tab-list-underline {
    border-bottom: 1px solid var(--glass-edge);
    gap: var(--space-4);
    padding-left: 0;
}

.luc-tab-list-underline .luc-tab {
    border: none;
    border-radius: 0;
    padding: 0.6rem 0;
    background: transparent;
}

.luc-tab-list-underline .luc-tab.active,
.luc-tab-list-underline .luc-tab[aria-selected="true"] {
    background: transparent;
    border: none;
    backdrop-filter: none;
}

/* Responsive */
@media (max-width: 480px) {
    .luc-tab {
        padding: 0.5rem 0.75rem;
        font-size: var(--text-xs);
    }

    .luc-tab-list-pill {
        width: 100%;
        justify-content: center;
    }
}

/* Source: lucCOMPONENTS/luc-toasts.css */
/* ============================================================
   lucUI — Toast / Snackbar Notifications
   ============================================================ */

/* Toast Container */
.luc-toast-container {
    position: fixed;
    z-index: var(--z-tooltip);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    pointer-events: none;
    max-width: 380px;
    width: calc(100% - var(--space-8));
}

/* Positions */
.luc-toast-container-top-right {
    top: var(--space-6);
    right: var(--space-4);
    align-items: flex-end;
}

.luc-toast-container-top-left {
    top: var(--space-6);
    left: var(--space-4);
    align-items: flex-start;
}

.luc-toast-container-bottom-right {
    bottom: var(--space-6);
    right: var(--space-4);
    align-items: flex-end;
}

.luc-toast-container-bottom-left {
    bottom: var(--space-6);
    left: var(--space-4);
    align-items: flex-start;
}

.luc-toast-container-top-center {
    top: var(--space-6);
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
}

.luc-toast-container-bottom-center {
    bottom: var(--space-6);
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
}

/* Toast */
.luc-toast {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4);
    background: var(--luc-surface-strong, rgba(8,18,32,0.92));
    backdrop-filter: blur(32px) saturate(200%) brightness(1.08);
    -webkit-backdrop-filter: blur(32px) saturate(200%) brightness(1.08);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-xl), inset 0 1px 0 rgba(255,255,255,0.08);
    pointer-events: all;
    position: relative;
    overflow: hidden;
    max-width: 380px;
    width: 100%;
    animation: luc-toast-in 0.35s var(--ease-spring) forwards;
}

.luc-toast.removing {
    animation: luc-toast-out 0.25s var(--ease-snappy) forwards;
}

/* Specular Edge */
.luc-toast::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        rgba(255,255,255,0.45) 0%,
        rgba(255,255,255,0.15) 50%,
        transparent 100%);
    pointer-events: none;
}

/* Progress bar */
.luc-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    background: var(--studio-gold);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    animation: luc-toast-progress linear forwards;
}

@keyframes luc-toast-progress {
    from { width: 100%; }
    to   { width: 0%; }
}

/* Toast Animations */
@keyframes luc-toast-in {
    from {
        opacity: 0;
        transform: translateX(20px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

@keyframes luc-toast-out {
    from {
        opacity: 1;
        transform: scale(1);
        max-height: 200px;
        margin-bottom: 0;
    }
    to {
        opacity: 0;
        transform: scale(0.95);
        max-height: 0;
        margin-bottom: calc(-1 * var(--space-3));
    }
}

/* Toast Icon */
.luc-toast-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    margin-top: 1px;
}

/* Toast Content */
.luc-toast-content {
    flex: 1;
    min-width: 0;
}

.luc-toast-title {
    font-size: var(--text-sm);
    color: var(--text-light);
    margin-bottom: 2px;
}

.luc-toast-message {
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: 1.5;
    margin: 0;
}

/* Toast Close Button — shares pattern with .luc-alert-close and .luc-modal-close */
.luc-toast-close {
    flex-shrink: 0;
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background var(--transition-fast) var(--ease-snappy),
                color var(--transition-fast) var(--ease-snappy);
    color: var(--text-muted);
    font-size: 0.75rem;
}

.luc-toast-close:hover {
    background: var(--glass-hover);
    color: var(--text-light);
}

.luc-toast-close:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

/* Toast Variants */
.luc-toast-info {
    border-color: rgba(0,187,255,0.25);
}

.luc-toast-info .luc-toast-icon { color: var(--designer-azure); }
.luc-toast-info .luc-toast-progress { background: var(--designer-azure); }

.luc-toast-success {
    border-color: rgba(0,255,0,0.20);
}

.luc-toast-success .luc-toast-icon { color: var(--bold-viridian); }
.luc-toast-success .luc-toast-progress { background: var(--bold-viridian); }

.luc-toast-warning {
    border-color: rgba(255,140,0,0.25);
}

.luc-toast-warning .luc-toast-icon { color: var(--luca-tangerine); }
.luc-toast-warning .luc-toast-progress { background: var(--luca-tangerine); }

.luc-toast-error {
    border-color: rgba(255,95,86,0.25);
}

.luc-toast-error .luc-toast-icon { color: #ff5f56; }
.luc-toast-error .luc-toast-progress { background: #ff5f56; }

.luc-toast-gold {
    border-color: rgba(174,157,93,0.25);
}

.luc-toast-gold .luc-toast-icon { color: var(--studio-gold); }
.luc-toast-gold .luc-toast-progress { background: var(--studio-gold); }

/* Responsive */
@media (max-width: 480px) {
    .luc-toast-container {
        width: calc(100% - var(--space-6));
        max-width: 100%;
    }

    .luc-toast-container-top-right,
    .luc-toast-container-top-center {
        top: var(--space-4);
        right: var(--space-3);
        left: var(--space-3);
        transform: none;
    }

    .luc-toast-container-bottom-right,
    .luc-toast-container-bottom-center {
        bottom: var(--space-4);
        right: var(--space-3);
        left: var(--space-3);
        transform: none;
    }

    .luc-toast-container-top-left,
    .luc-toast-container-bottom-left {
        left: var(--space-3);
        right: var(--space-3);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .luc-toast {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .luc-toast.removing {
        animation: none;
        opacity: 0;
    }

    .luc-toast-progress {
        animation: none;
        width: 100%;
    }
}

/* Source: lucCOMPONENTS/luc-breadcrumbs.css */
/* ============================================================
   lucUI — Breadcrumb Component
   ============================================================ */

/* Breadcrumb Wrapper */
.luc-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    font-size: var(--text-sm);
    font-family: var(--font-body);
    font-weight: 500;
}

/* Breadcrumb List */
.luc-breadcrumb-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

/* Breadcrumb Item */
.luc-breadcrumb-item {
    display: inline-flex;
    align-items: center;
}

/* Separator */
.luc-breadcrumb-item + .luc-breadcrumb-item::before {
    content: '/';
    color: var(--text-muted);
    opacity: 0.5;
    padding: 0 var(--space-2);
    font-size: var(--text-xs);
    pointer-events: none;
    user-select: none;
}

/* Breadcrumb Link */
.luc-breadcrumb-link {
    color: var(--text-muted);
    text-decoration: none;
    padding: 0.2rem 0.3rem;
    border-radius: var(--radius-sm);
    transition: color var(--transition-fast) var(--ease-snappy),
                background var(--transition-fast) var(--ease-snappy);
}

.luc-breadcrumb-link:hover {
    color: var(--studio-gold);
    background: rgba(174,157,93,0.08);
}

.luc-breadcrumb-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0,187,255,0.45);
    color: var(--designer-azure);
}

/* Active / Current Item */
.luc-breadcrumb-item.active .luc-breadcrumb-link,
.luc-breadcrumb-link[aria-current="page"] {
    color: var(--text-light);
    font-weight: 600;
    cursor: default;
    pointer-events: none;
}

.luc-breadcrumb-link[aria-current="page"]:hover {
    background: transparent;
}

/* Glass Variant */
.luc-breadcrumb-glass {
    background: var(--glass-bg);
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-full);
    padding: var(--space-2) var(--space-4);
    box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-shine);
    display: inline-flex;
}

/* Custom Separator Variants */
.luc-breadcrumb-chevron .luc-breadcrumb-item + .luc-breadcrumb-item::before {
    content: '›';
    font-size: var(--text-base);
    opacity: 0.45;
}

.luc-breadcrumb-dot .luc-breadcrumb-item + .luc-breadcrumb-item::before {
    content: '·';
    font-size: var(--text-lg);
    line-height: 1;
    opacity: 0.45;
}

/* Responsive */
@media (max-width: 480px) {
    .luc-breadcrumb {
        font-size: var(--text-xs);
    }

    /* Collapse middle items on very small screens */
    .luc-breadcrumb-item:not(:first-child):not(:last-child):not(:nth-last-child(2)) {
        display: none;
    }

    /* Show ellipsis after first item when items are hidden */
    .luc-breadcrumb-item:first-child + .luc-breadcrumb-item:not(:last-child)::before {
        content: '…';
    }
}

/* Source: lucCOMPONENTS/luc-progress.css */
/* ============================================================
   lucUI — Progress Bar Component
   ============================================================ */

/* Progress Track */
.luc-progress {
    width: 100%;
    height: 8px;
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-full);
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.25);
}

/* Progress Fill */
.luc-progress-bar {
    height: 100%;
    border-radius: var(--radius-full);
    background: linear-gradient(90deg, #cbb96e 0%, var(--studio-gold) 60%, #d4c47a 100%);
    box-shadow: 0 0 10px rgba(174,157,93,0.35);
    transition: width 0.6s var(--ease-snappy), filter 0.3s ease;
    position: relative;
    overflow: hidden;
}

.luc-progress:hover .luc-progress-bar {
    filter: brightness(1.08);
}

/* Shimmer on fill */
.luc-progress-bar::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.30), transparent);
    animation: luc-progress-shimmer 1.8s var(--ease-smooth) infinite;
}

@keyframes luc-progress-shimmer {
    0% { left: -80%; }
    100% { left: 160%; }
}

/* Color Variants */
.luc-progress-azure .luc-progress-bar {
    background: linear-gradient(90deg, #22d6ff 0%, var(--designer-azure) 60%, #4de0ff 100%);
    box-shadow: 0 0 10px rgba(0,187,255,0.30);
}

.luc-progress-tangerine .luc-progress-bar {
    background: linear-gradient(90deg, #ffaa33 0%, var(--luca-tangerine) 60%, #ffbb55 100%);
    box-shadow: 0 0 10px rgba(255,140,0,0.30);
}

.luc-progress-viridian .luc-progress-bar {
    background: linear-gradient(90deg, #33ff33 0%, var(--bold-viridian) 60%, #55ff55 100%);
    box-shadow: 0 0 10px rgba(0,255,0,0.25);
}

.luc-progress-error .luc-progress-bar {
    background: linear-gradient(90deg, #ff7f79 0%, #ff5f56 60%, #ff8f89 100%);
    box-shadow: 0 0 10px rgba(255,95,86,0.30);
}

/* Sizes */
.luc-progress-sm {
    height: 4px;
}

.luc-progress-lg {
    height: 14px;
}

.luc-progress-xl {
    height: 20px;
}

/* Striped Variant */
.luc-progress-striped .luc-progress-bar {
    background-image: linear-gradient(
        45deg,
        rgba(255,255,255,0.12) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255,255,255,0.12) 50%,
        rgba(255,255,255,0.12) 75%,
        transparent 75%,
        transparent
    );
    background-size: 20px 20px;
}

/* Animated Striped */
.luc-progress-striped.luc-progress-animated .luc-progress-bar {
    animation: luc-progress-stripes 1s linear infinite;
}

@keyframes luc-progress-stripes {
    from { background-position: 20px 0; }
    to   { background-position: 0 0; }
}

/* Indeterminate (no known value) */
.luc-progress-indeterminate .luc-progress-bar {
    width: 40% !important;
    animation: luc-progress-indeterminate 1.4s var(--ease-snappy) infinite;
}

@keyframes luc-progress-indeterminate {
    0%   { transform: translateX(-120%); }
    100% { transform: translateX(350%); }
}

/* Label */
.luc-progress-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-2);
    font-size: var(--text-sm);
    font-family: var(--font-body);
}

.luc-progress-label-text {
    font-weight: 500;
    color: var(--text-light);
}

.luc-progress-label-value {
    font-weight: 600;
    color: var(--studio-gold);
    font-size: var(--text-xs);
    font-family: var(--font-display);
}

/* Progress Group (stacked labels + bar) */
.luc-progress-group {
    width: 100%;
}

.luc-progress-group + .luc-progress-group {
    margin-top: var(--space-4);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .luc-progress-bar::after,
    .luc-progress-striped.luc-progress-animated .luc-progress-bar,
    .luc-progress-indeterminate .luc-progress-bar {
        animation: none;
    }

    .luc-progress-bar {
        transition: none;
    }
}

/* Source: lucCOMPONENTS/luc-skeleton.css */
/* ============================================================
   lucUI — Skeleton Loader Component
   ============================================================ */

/* Base Skeleton */
.luc-skeleton {
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0.05) 25%,
        rgba(255,255,255,0.10) 50%,
        rgba(255,255,255,0.05) 75%
    );
    background-size: 200% 100%;
    border-radius: var(--radius-sm);
    animation: luc-skeleton-shimmer 1.6s var(--ease-smooth) infinite;
    display: block;
    position: relative;
    overflow: hidden;
}

@keyframes luc-skeleton-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Common Skeleton Shapes */

/* Text Line */
.luc-skeleton-text {
    height: 1em;
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-2);
}

/* Short text (e.g. last line of a paragraph) */
.luc-skeleton-text-short {
    width: 65%;
}

/* Heading */
.luc-skeleton-heading {
    height: 1.5em;
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-3);
}

/* Avatar / circle */
.luc-skeleton-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
}

.luc-skeleton-avatar-sm {
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.luc-skeleton-avatar-lg {
    width: 72px;
    height: 72px;
    border-radius: 50%;
}

/* Thumbnail / image block */
.luc-skeleton-image {
    width: 100%;
    height: 200px;
    border-radius: var(--radius-md);
}

.luc-skeleton-image-sm {
    height: 120px;
}

.luc-skeleton-image-lg {
    height: 320px;
}

/* Button placeholder */
.luc-skeleton-button {
    height: 40px;
    width: 120px;
    border-radius: var(--radius-full);
}

.luc-skeleton-button-sm {
    height: 32px;
    width: 90px;
    border-radius: var(--radius-full);
}

.luc-skeleton-button-lg {
    height: 52px;
    width: 160px;
    border-radius: var(--radius-full);
}

/* Badge placeholder */
.luc-skeleton-badge {
    height: 24px;
    width: 64px;
    border-radius: var(--radius-full);
    display: inline-block;
}

/* Card Skeleton — shares glass surface with .luc-card */
.luc-skeleton-card {
    background: var(--glass-bg);
    backdrop-filter: blur(24px) saturate(180%) brightness(1.05);
    -webkit-backdrop-filter: blur(24px) saturate(180%) brightness(1.05);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: var(--shadow-md), inset 0 1px 0 var(--glass-shine);
}

/* Paragraph block helper */
.luc-skeleton-paragraph {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.luc-skeleton-paragraph .luc-skeleton-text:last-child {
    width: 60%;
}

/* Inlined (horizontal) skeleton row */
.luc-skeleton-row {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

/* Pulse variant (softer, no sweep) */
.luc-skeleton-pulse {
    animation: luc-skeleton-pulse 1.8s ease-in-out infinite;
    background: rgba(255,255,255,0.06);
}

@keyframes luc-skeleton-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.4; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .luc-skeleton {
        animation: none;
        background: rgba(255,255,255,0.07);
    }

    .luc-skeleton-pulse {
        animation: none;
    }
}

/* Source: lucCOMPONENTS/luc-accordion.css */
/* ============================================================
   lucUI — Accordion Component (CSS-only via details/summary)
   ============================================================ */

/* Accordion Wrapper */
.luc-accordion {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

/* Accordion Item — shares glass surface with .luc-card */
.luc-accordion-item {
    background: var(--glass-bg);
    backdrop-filter: blur(24px) saturate(180%) brightness(1.05);
    -webkit-backdrop-filter: blur(24px) saturate(180%) brightness(1.05);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-shine);
    overflow: hidden;
    transition: border-color var(--transition-base) var(--ease-snappy),
                box-shadow var(--transition-base) var(--ease-snappy);
}

.luc-accordion-item[open] {
    border-color: rgba(174,157,93,0.28);
    box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.08);
}

/* Legacy div/button accordion API remains visually compatible. */
.luc-accordion-item.active {
    border-color: rgba(174,157,93,0.28);
    box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,0.08);
}

.luc-accordion-item.active .luc-accordion-header,
.luc-accordion-item.active .luc-accordion-trigger {
    color: var(--studio-gold);
}

.luc-accordion-body[hidden],
.luc-accordion-content[hidden] {
    display: none;
}

/* Accordion Summary / Trigger */
.luc-accordion-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-4) var(--space-5);
    font-size: var(--text-base);
    font-weight: 600;
    font-family: var(--font-body);
    color: var(--text-light);
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: color var(--transition-fast) var(--ease-snappy),
                background var(--transition-fast) var(--ease-snappy);
    position: relative;
}

/* Remove default disclosure triangle */
.luc-accordion-trigger::-webkit-details-marker {
    display: none;
}

.luc-accordion-trigger::marker {
    display: none;
}

.luc-accordion-trigger:hover {
    color: #fff;
    background: rgba(255,255,255,0.03);
}

.luc-accordion-trigger:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(0,187,255,0.45);
}

.luc-accordion-item[open] .luc-accordion-trigger {
    color: var(--studio-gold);
    border-bottom: 1px solid var(--glass-edge);
}

/* Chevron Icon */
.luc-accordion-trigger::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    flex-shrink: 0;
    transition: transform var(--transition-base) var(--ease-snappy);
    opacity: 0.7;
}

.luc-accordion-item[open] .luc-accordion-trigger::after {
    transform: rotate(-135deg) translateY(-2px);
}

/* Accordion Body */
.luc-accordion-body {
    padding: var(--space-5);
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.7;
    animation: luc-accordion-open 0.25s var(--ease-snappy);
}

@keyframes luc-accordion-open {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Flush Variant (no gaps, connected items) */
.luc-accordion-flush {
    gap: 0;
}

.luc-accordion-flush .luc-accordion-item {
    border-radius: 0;
    border-bottom: none;
}

.luc-accordion-flush .luc-accordion-item:first-child {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.luc-accordion-flush .luc-accordion-item:last-child {
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    border-bottom: 1px solid var(--glass-edge);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .luc-accordion-body {
        animation: none;
    }

    .luc-accordion-trigger::after {
        transition: none;
    }
}

/* Responsive */
@media (max-width: 480px) {
    .luc-accordion-trigger {
        padding: var(--space-3) var(--space-4);
        font-size: var(--text-sm);
    }

    .luc-accordion-body {
        padding: var(--space-4);
    }
}

/* Source: lucCOMPONENTS/luc-carousel.css */
/* ============================================================
   lucUI — Carousel Component
   ============================================================ */

.luc-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius-lg);
    border: 1px solid var(--glass-edge);
    background: var(--glass-bg);
}

.luc-carousel-inner {
    display: flex;
    transition: transform var(--transition-slow) var(--ease-spring);
    width: 100%;
    height: 100%;
}

.luc-carousel-item {
    min-width: 100%;
    position: relative;
    box-sizing: border-box;
}

.luc-carousel-caption {
    position: absolute;
    bottom: 2rem;
    left: 10%;
    right: 10%;
    padding: var(--space-4);
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--radius-md);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    text-align: center;
}

.luc-carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: var(--text-light);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast) ease;
    z-index: 10;
}

.luc-carousel-control:hover {
    background: var(--glass-hover);
    color: var(--studio-gold);
    border-color: var(--studio-gold);
}

.luc-carousel-control:focus-visible,
.luc-carousel-indicator:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

.luc-carousel-prev {
    left: 1rem;
}

.luc-carousel-next {
    right: 1rem;
}

.luc-carousel-indicators {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--space-2);
    z-index: 10;
}

.luc-carousel-indicator {
    width: 44px;
    height: 28px;
    padding: 0;
    border: 0;
    position: relative;
    background: transparent;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: all var(--transition-fast) ease;
}

.luc-carousel-indicator.active {
    width: 44px;
}

.luc-carousel-indicator::after {
    content: '';
    position: absolute;
    inset: 11px 0;
    height: 6px;
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.3);
}

.luc-carousel-indicator.active::after {
    background: var(--studio-gold);
}

/* Source: lucCOMPONENTS/luc-pagination.css */
/* ============================================================
   lucUI — Pagination Component
   ============================================================ */

.luc-pagination {
    display: flex;
    gap: var(--space-2);
    list-style: none;
    padding: 0;
    justify-content: center;
}

.luc-page-item {
    display: inline-block;
}

.luc-page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 var(--space-3);
    border-radius: var(--radius-md);
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    color: var(--text-light);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition-fast) ease;
}

.luc-page-link:hover {
    background: var(--glass-hover);
    border-color: var(--studio-gold);
    color: var(--studio-gold);
    transform: translateY(-1px);
}

.luc-page-link:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

.luc-page-item.active .luc-page-link {
    background: linear-gradient(135deg, var(--studio-gold), var(--luca-tangerine));
    border-color: transparent;
    color: var(--luca-navy);
    box-shadow: 0 4px 12px rgba(174, 157, 93, 0.3);
}

.luc-page-item.disabled .luc-page-link {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
}

/* Source: lucCOMPONENTS/luc-datatables.css */
/* ============================================================
   lucUI — Data Tables Component
   ============================================================ */

.luc-table-container {
    width: 100%;
    overflow-x: auto;
    border-radius: var(--radius-lg);
    border: 1px solid var(--glass-edge);
    background: var(--glass-bg);
    box-shadow: var(--shadow-md);
}

.luc-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    color: var(--text-light);
}

.luc-table th,
.luc-table td {
    padding: var(--space-4);
    border-bottom: 1px solid var(--glass-edge);
}

.luc-table th {
    font-weight: 600;
    text-transform: uppercase;
    font-size: var(--text-xs);
    letter-spacing: 0.05em;
    background: rgba(255, 255, 255, 0.03);
    color: var(--studio-gold);
}

.luc-table tbody tr:last-child td {
    border-bottom: none;
}

.luc-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.02);
}

.luc-table-striped tbody tr:nth-child(odd) {
    background: rgba(255, 255, 255, 0.015);
}

/* Source: lucCOMPONENTS/luc-avatar.css */
/* ============================================================
   lucUI — Avatar Component
   ============================================================ */

.luc-avatar {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    box-shadow: var(--shadow-sm);
    overflow: visible;
}

.luc-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.luc-avatar-sm {
    width: 44px;
    height: 44px;
    font-size: var(--text-xs);
}

.luc-avatar-md {
    width: 48px;
    height: 48px;
    font-size: var(--text-base);
}

.luc-avatar-lg {
    width: 64px;
    height: 64px;
    font-size: var(--text-xl);
}

.luc-avatar-status {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 12px;
    height: 12px;
    border-radius: var(--radius-full);
    border: 2px solid var(--luca-navy);
}

.luc-avatar-status.online { background-color: var(--bold-viridian); }
.luc-avatar-status.offline { background-color: #64748b; }
.luc-avatar-status.away { background-color: var(--luca-tangerine); }
.luc-avatar-status.busy { background-color: #ef4444; }

/* Source: lucCOMPONENTS/luc-chips.css */
/* ============================================================
   lucUI — Chips / Tags Component
   ============================================================ */

.luc-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    color: var(--text-light);
    font-size: var(--text-sm);
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-fast) ease;
}

.luc-chip:hover {
    background: var(--glass-hover);
    border-color: var(--studio-gold);
    color: var(--studio-gold);
}

.luc-chip-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: inherit;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    opacity: 0.6;
    transition: opacity var(--transition-fast) ease;
}

.luc-chip-close:hover {
    opacity: 1;
}

.luc-chip-primary {
    background: rgba(174, 157, 93, 0.15);
    border-color: rgba(174, 157, 93, 0.3);
    color: var(--studio-gold);
}

/* Source: lucCOMPONENTS/luc-divider.css */
/* ============================================================
   lucUI — Divider Component
   ============================================================ */

.luc-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: var(--space-6) 0;
    color: var(--text-muted);
}

.luc-divider::before,
.luc-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--glass-edge);
}

.luc-divider:not(:empty)::before {
    margin-right: var(--space-4);
}

.luc-divider:not(:empty)::after {
    margin-left: var(--space-4);
}

.luc-divider-text {
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Source: lucCOMPONENTS/luc-loader.css */
/* ============================================================
   lucUI — Loader / Spinner Component
   ============================================================ */

.luc-loader-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--glass-edge);
    border-top: 3px solid var(--studio-gold);
    border-radius: var(--radius-full);
    animation: luc-spin 1s linear infinite;
    display: inline-block;
}

.luc-loader-glass {
    display: inline-flex;
    justify-content: space-around;
    align-items: center;
    width: 60px;
    height: 40px;
}

.luc-loader-bar {
    width: 6px;
    height: 100%;
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-sm);
    animation: luc-loader-bounce 1.2s ease-in-out infinite;
}

.luc-loader-bar:nth-child(2) {
    animation-delay: -1.0s;
}
.luc-loader-bar:nth-child(3) {
    animation-delay: -0.8s;
}

@keyframes luc-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes luc-loader-bounce {
    0%, 100% {
        transform: scaleY(0.3);
    }
    50% {
        transform: scaleY(1);
        background: var(--studio-gold);
        box-shadow: 0 0 10px rgba(174, 157, 93, 0.5);
    }
}

/* Source: lucCOMPONENTS/luc-gallery.css */
/* ============================================================
   lucUI — Image Gallery / Lightbox Component
   ============================================================ */

.luc-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-4);
}

.luc-gallery-item {
    position: relative;
    border-radius: var(--radius-md);
    border: 1px solid var(--glass-edge);
    overflow: hidden;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-base) var(--ease-spring);
}

.luc-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-base) ease;
}

.luc-gallery-item:hover img {
    transform: scale(1.08);
}

.luc-gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(8, 18, 32, 0.4);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity var(--transition-fast) ease;
}

.luc-gallery-item:hover .luc-gallery-overlay {
    opacity: 1;
}

.luc-gallery-caption {
    color: #fff;
    font-weight: 600;
    transform: translateY(10px);
    transition: transform var(--transition-base) var(--ease-spring);
}

.luc-gallery-item:hover .luc-gallery-caption {
    transform: translateY(0);
}

/* Source: lucCOMPONENTS/luc-testimonials.css */
/* ============================================================
   lucUI — Testimonial Card Component
   ============================================================ */

.luc-testimonial-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    box-shadow: var(--shadow-md);
    position: relative;
    overflow: hidden;
}

.luc-testimonial-quote {
    font-size: var(--text-lg);
    line-height: 1.6;
    color: var(--text-light);
    margin-bottom: var(--space-4);
    position: relative;
    z-index: 2;
}

.luc-testimonial-author {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.luc-testimonial-author-img {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    border: 1px solid var(--glass-edge);
}

.luc-testimonial-author-name {
    font-weight: 600;
    color: var(--studio-gold);
    font-size: var(--text-sm);
}

.luc-testimonial-author-title {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* Source: lucCOMPONENTS/luc-pricing.css */
/* ============================================================
   lucUI — Pricing Table Component
   ============================================================ */

.luc-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-6);
}

.luc-pricing-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-xl);
    padding: var(--space-8);
    text-align: center;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base) var(--ease-spring);
    display: flex;
    flex-direction: column;
}

.luc-pricing-card:hover {
    transform: translateY(-5px);
    border-color: var(--studio-gold);
    box-shadow: var(--shadow-lg), 0 0 20px rgba(174, 157, 93, 0.15);
}

.luc-pricing-card.featured {
    background: linear-gradient(145deg, rgba(255,255,255,0.08) 0%, rgba(174,157,93,0.05) 100%);
    border: 2px solid var(--studio-gold);
    transform: scale(1.05);
}

.luc-pricing-card.featured:hover {
    transform: scale(1.05) translateY(-5px);
}

.luc-pricing-title {
    font-size: var(--text-xl);
    color: var(--text-light);
    margin-bottom: var(--space-2);
}

.luc-pricing-price {
    font-size: var(--text-5xl);
    font-weight: 800;
    color: var(--studio-gold);
    margin: var(--space-4) 0;
}

.luc-pricing-price span {
    font-size: var(--text-base);
    color: var(--text-muted);
    font-weight: normal;
}

.luc-pricing-features {
    list-style: none;
    padding: 0;
    margin: var(--space-6) 0;
    text-align: left;
    flex-grow: 1;
}

.luc-pricing-feature {
    padding: var(--space-2) 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    color: var(--text-light);
    font-size: var(--text-sm);
}

.luc-pricing-feature:last-child {
    border-bottom: none;
}

/* Source: lucCOMPONENTS/luc-features.css */
/* ============================================================
   lucUI — Feature Grid Component
   ============================================================ */

.luc-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-6);
}

.luc-feature-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    box-shadow: var(--shadow-md);
    transition: all var(--transition-base) ease;
}

.luc-feature-card:hover {
    background: var(--glass-hover);
    border-color: var(--studio-gold);
    transform: translateY(-2px);
}

.luc-feature-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    background: rgba(174, 157, 93, 0.15);
    border: 1px solid rgba(174, 157, 93, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--studio-gold);
    font-size: var(--text-xl);
    margin-bottom: var(--space-4);
}

.luc-feature-title {
    font-size: var(--text-lg);
    color: var(--text-light);
    margin-bottom: var(--space-2);
}

.luc-feature-description {
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.5;
}

/* Source: lucCOMPONENTS/luc-hero.css */
/* ============================================================
   lucUI — Hero Section Component
   ============================================================ */

.luc-hero {
    position: relative;
    padding: var(--space-16) var(--space-6);
    text-align: center;
    border-radius: var(--radius-xl);
    border: 1px solid var(--glass-edge);
    background: var(--glass-bg);
    overflow: hidden;
    margin-bottom: var(--space-8);
}

.luc-hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}

.luc-hero-title {
    font-family: var(--font-display);
    font-size: var(--text-5xl);
    font-weight: var(--weight-display);
    color: var(--text-light);
    margin-bottom: var(--space-4);
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.luc-hero-subtitle {
    font-size: var(--text-xl);
    color: var(--text-muted);
    margin-bottom: var(--space-6);
    line-height: 1.6;
}

.luc-hero-actions {
    display: flex;
    justify-content: center;
    gap: var(--space-4);
    flex-wrap: wrap;
}

/* Source: lucCOMPONENTS/luc-signature.css */
/* ============================================================
   lucUI — Signature System v2.0
   Reactive prism surfaces, editorial stages, bento layouts,
   metrics, code panels, marquees, and command palette
   ============================================================ */

/* Editorial stage */
.luc-stage {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: min(860px, 92vh);
    padding: clamp(5rem, 11vw, 9rem) clamp(1.25rem, 5vw, 5rem);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-2xl);
    background:
        radial-gradient(circle at 78% 22%, rgba(var(--designer-azure-rgb), 0.14), transparent 28%),
        radial-gradient(circle at 16% 82%, rgba(var(--studio-gold-rgb), 0.13), transparent 30%),
        linear-gradient(145deg, rgba(8, 19, 33, 0.92), rgba(17, 34, 55, 0.68));
    box-shadow: var(--shadow-float), inset 0 1px 0 rgba(255,255,255,0.10);
}

.luc-stage::before,
.luc-stage::after {
    content: '';
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

.luc-stage::before {
    width: min(52vw, 720px);
    aspect-ratio: 1;
    top: -24%;
    right: -10%;
    border: 1px solid rgba(var(--designer-azure-rgb), 0.22);
    border-radius: 42% 58% 64% 36% / 47% 38% 62% 53%;
    background: rgba(var(--designer-azure-rgb), 0.035);
    box-shadow: inset 0 0 100px rgba(var(--designer-azure-rgb), 0.08), 0 0 100px rgba(var(--designer-azure-rgb), 0.08);
    transform: rotate(-14deg);
    animation: luc-stage-drift 16s ease-in-out infinite alternate;
}

.luc-stage::after {
    inset: 0;
    opacity: 0.28;
    background-image: radial-gradient(rgba(255,255,255,0.26) 0.7px, transparent 0.7px);
    background-size: 18px 18px;
    mask-image: linear-gradient(115deg, transparent 8%, #000 48%, transparent 88%);
    -webkit-mask-image: linear-gradient(115deg, transparent 8%, #000 48%, transparent 88%);
}

.luc-stage-content {
    position: relative;
    z-index: 1;
    width: min(100%, var(--luc-content-width));
    margin-inline: auto;
}

@keyframes luc-stage-drift {
    to { transform: rotate(2deg) translate3d(-5%, 7%, 0); }
}

/* Small editorial label */
.luc-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-height: 2rem;
    padding: 0.42rem 0.85rem;
    border: 1px solid rgba(var(--studio-gold-rgb), 0.28);
    border-radius: var(--radius-full);
    background: rgba(var(--studio-gold-rgb), 0.07);
    color: var(--studio-gold);
    font-family: var(--font-italic);
    font-size: var(--text-xs);
    font-style: italic;
    font-weight: var(--weight-italic);
    letter-spacing: 0.08em;
}

.luc-kicker::before {
    content: '';
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 16px currentColor;
}

.luc-gradient-text {
    color: transparent;
    background: linear-gradient(112deg, var(--luc-ink) 12%, var(--studio-gold) 50%, var(--designer-azure) 92%);
    -webkit-background-clip: text;
    background-clip: text;
}

/* Reactive glass surface. JS updates the --luc-spot-* variables. */
.luc-prism {
    --luc-spot-opacity: 0;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.11);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.018)),
        var(--luc-surface);
    backdrop-filter: blur(30px) saturate(175%);
    -webkit-backdrop-filter: blur(30px) saturate(175%);
    box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,0.12);
}

.luc-prism::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: calc(0.32 + var(--luc-spot-opacity));
    background:
        radial-gradient(420px circle at var(--luc-spot-x) var(--luc-spot-y), rgba(var(--luc-accent-rgb), 0.24), transparent 46%),
        linear-gradient(110deg, rgba(255,255,255,0.18), transparent 18% 78%, rgba(var(--studio-gold-rgb), 0.08));
    transition: opacity var(--transition-base) var(--ease-smooth);
}

.luc-prism::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.035), inset 0 -70px 100px rgba(0,0,0,0.10);
}

.luc-prism > * { position: relative; z-index: 1; }
.luc-prism[data-luc-spotlight]:hover { --luc-spot-opacity: 1; }

/* Responsive bento composition */
.luc-bento {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: minmax(88px, auto);
    gap: clamp(0.8rem, 1.8vw, 1.5rem);
}

.luc-bento-item {
    grid-column: span 4;
    min-height: 280px;
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border-radius: var(--radius-xl);
}

.luc-bento-wide { grid-column: span 8; }
.luc-bento-half { grid-column: span 6; }
.luc-bento-full { grid-column: 1 / -1; }
.luc-bento-tall { grid-row: span 2; }

/* Metrics */
.luc-metric {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.luc-metric-value {
    font-family: var(--font-display);
    font-size: clamp(2.3rem, 5vw, 4.8rem);
    font-weight: var(--weight-display);
    line-height: 0.95;
    letter-spacing: -0.05em;
    color: var(--studio-gold);
}

.luc-metric-label {
    color: var(--text-muted);
    font-family: var(--font-italic);
    font-size: var(--text-sm);
    font-style: italic;
    font-weight: var(--weight-italic);
}

/* Code window */
.luc-code-window {
    overflow: hidden;
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    background: rgba(3, 9, 17, 0.74);
    box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,0.06);
}

.luc-code-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    min-height: 3rem;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    background: rgba(255,255,255,0.035);
}

.luc-code-dots { display: flex; gap: 0.42rem; }
.luc-code-dots span { width: 0.58rem; height: 0.58rem; border-radius: 50%; background: rgba(255,255,255,0.20); }
.luc-code-dots span:nth-child(1) { background: var(--luca-tangerine); }
.luc-code-dots span:nth-child(2) { background: var(--studio-gold); }
.luc-code-dots span:nth-child(3) { background: var(--bold-viridian); }

.luc-code-title {
    color: var(--text-muted);
    font-size: var(--text-xs);
    letter-spacing: 0.06em;
}

.luc-code-body {
    margin: 0;
    padding: clamp(1.1rem, 3vw, 1.8rem);
    overflow: auto;
    color: #dce8f3;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: clamp(0.76rem, 1.5vw, 0.92rem);
    line-height: 1.75;
    tab-size: 2;
}

.luc-code-keyword { color: var(--designer-azure); }
.luc-code-string { color: #d8ca91; }
.luc-code-comment { color: rgba(224,230,237,0.45); font-style: italic; }

.luc-copy-button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(255,255,255,0.11);
    border-radius: var(--radius-full);
    background: rgba(255,255,255,0.05);
    color: var(--text-muted);
    font-size: var(--text-xs);
    transition: color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);
}

.luc-copy-button:hover,
.luc-copy-button[data-luc-copied="true"] {
    color: var(--designer-azure);
    border-color: rgba(var(--designer-azure-rgb), 0.38);
    background: rgba(var(--designer-azure-rgb), 0.08);
}

/* Infinite brand rail */
.luc-marquee {
    display: flex;
    overflow: hidden;
    user-select: none;
    mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

.luc-marquee-track {
    display: flex;
    flex: none;
    align-items: center;
    min-width: max-content;
    animation: luc-marquee 28s linear infinite;
}

.luc-marquee-item {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding-inline: 2rem;
    color: var(--text-muted);
    font-family: var(--font-italic);
    font-style: italic;
    font-weight: var(--weight-italic);
    white-space: nowrap;
}

.luc-marquee-item::before { content: '✦'; color: var(--studio-gold); font-style: normal; }
@keyframes luc-marquee { to { transform: translateX(-50%); } }

/* Command palette */
.luc-command-backdrop {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    display: grid;
    place-items: start center;
    padding: min(18vh, 9rem) var(--space-4) var(--space-4);
    background: rgba(2, 7, 13, 0.68);
    backdrop-filter: blur(18px) saturate(130%);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition-fast) var(--ease-smooth), visibility var(--transition-fast) var(--ease-smooth);
}

.luc-command-backdrop.active { opacity: 1; visibility: visible; }

.luc-command {
    width: min(680px, 100%);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: var(--radius-xl);
    background: rgba(8, 18, 32, 0.94);
    box-shadow: var(--shadow-float), 0 0 80px rgba(var(--designer-azure-rgb), 0.10);
    transform: translateY(-12px) scale(0.98);
    transition: transform var(--transition-base) var(--ease-spring);
}

.luc-command-backdrop.active .luc-command { transform: translateY(0) scale(1); }

.luc-command-search {
    width: 100%;
    min-height: 4rem;
    padding: 1rem 1.25rem;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    outline: 0;
    background: transparent;
    color: var(--text-light);
    font-family: var(--font-body);
    font-size: var(--text-lg);
}

.luc-command-search::placeholder { color: var(--text-muted); }
.luc-command-search:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: -2px;
}
.luc-command-list { max-height: min(52vh, 430px); padding: 0.6rem; overflow-y: auto; }

.luc-command-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    width: 100%;
    padding: 0.85rem 0.9rem;
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    color: var(--text-muted);
    text-align: left;
    transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
}

.luc-command-item:hover,
.luc-command-item.active,
.luc-command-item[aria-selected="true"] {
    color: var(--text-light);
    border-color: rgba(var(--designer-azure-rgb), 0.18);
    background: rgba(var(--designer-azure-rgb), 0.075);
}

.luc-command-empty { padding: 2rem; color: var(--text-muted); text-align: center; }

.luc-kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.7rem;
    min-height: 1.55rem;
    padding: 0.15rem 0.42rem;
    border: 1px solid rgba(255,255,255,0.14);
    border-bottom-color: rgba(255,255,255,0.24);
    border-radius: 0.42rem;
    background: rgba(255,255,255,0.055);
    color: var(--text-muted);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.68rem;
    line-height: 1;
    box-shadow: 0 2px 0 rgba(0,0,0,0.18);
}

/* Theme dock */
.luc-theme-dock {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.32rem;
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-full);
    background: rgba(7, 16, 29, 0.66);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.luc-theme-option {
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 50%;
    background: var(--luc-theme-swatch, var(--studio-gold));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.26);
    transition: transform var(--transition-fast) var(--ease-spring), box-shadow var(--transition-fast);
}

.luc-theme-option:hover { transform: scale(1.08); }
.luc-theme-option[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--luc-canvas), 0 0 0 5px var(--designer-azure); }
.luc-theme-option:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

/* Page reading progress */
.luc-scroll-progress {
    --luc-scroll-progress: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: calc(var(--z-tooltip) + 1);
    height: 2px;
    pointer-events: none;
    transform: scaleX(var(--luc-scroll-progress));
    transform-origin: left center;
    background: linear-gradient(90deg, var(--studio-gold), var(--designer-azure));
    box-shadow: 0 0 14px rgba(var(--designer-azure-rgb), 0.48);
}

@media (max-width: 900px) {
    .luc-bento-item,
    .luc-bento-wide,
    .luc-bento-half { grid-column: span 6; }
    .luc-bento-full { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .luc-stage { min-height: auto; padding: 5.5rem 1.1rem 4rem; border-radius: var(--radius-xl); }
    .luc-bento { grid-template-columns: 1fr; }
    .luc-bento-item,
    .luc-bento-wide,
    .luc-bento-half,
    .luc-bento-full { grid-column: 1; min-height: 230px; }
    .luc-command-backdrop { padding-top: 4.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .luc-stage::before,
    .luc-marquee-track { animation: none; }
}

@media (forced-colors: active) {
    .luc-gradient-text { color: CanvasText; background: none; }
    .luc-prism,
    .luc-stage,
    .luc-command,
    .luc-theme-dock { border: 1px solid CanvasText; }
}

/* Source: lucCOMPONENTS/luc-footer.css */
/* ============================================================
   lucUI — Footer Component
   ============================================================ */

.luc-footer {
    background: var(--glass-bg);
    border-top: 1px solid var(--glass-edge);
    padding: var(--space-12) var(--space-6);
    margin-top: var(--space-16);
}

.luc-footer-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-8);
}

.luc-footer-col h4 {
    color: var(--studio-gold);
    margin-bottom: var(--space-4);
    font-size: var(--text-base);
}

.luc-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.luc-footer-links li {
    margin-bottom: var(--space-2);
}

.luc-footer-links a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color var(--transition-fast) ease;
    font-size: var(--text-sm);
}

.luc-footer-links a:hover {
    color: var(--studio-gold);
}

.luc-footer-bottom {
    max-width: 1200px;
    margin: var(--space-8) auto 0 auto;
    padding-top: var(--space-6);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-xs);
}

/* Source: lucCOMPONENTS/luc-sidebar.css */
/* ============================================================
   lucUI — Sidebar Component
   ============================================================ */

.luc-sidebar {
    width: 260px;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background: var(--glass-bg);
    border-right: 1px solid var(--glass-edge);
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
    z-index: var(--z-sticky);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition: transform var(--transition-base) ease;
}

.luc-sidebar.collapsed {
    transform: translateX(-100%);
}

.luc-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-8);
}

.luc-sidebar-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.luc-sidebar-link {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-md);
    color: var(--text-light);
    text-decoration: none;
    transition: all var(--transition-fast) ease;
}

.luc-sidebar-link:hover,
.luc-sidebar-link.active {
    background: var(--glass-hover);
    color: var(--studio-gold);
    border-left: 3px solid var(--studio-gold);
}

.luc-sidebar-link:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

/* Source: lucCOMPONENTS/luc-search.css */
/* ============================================================
   lucUI — Search Input with Autocomplete Component
   ============================================================ */

.luc-search-container {
    position: relative;
    width: 100%;
}

.luc-search-input {
    width: 100%;
    padding: var(--space-3) var(--space-10) var(--space-3) var(--space-4);
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-full);
    color: var(--text-light);
    outline: none;
    transition: all var(--transition-fast) ease;
}

.luc-search-input:focus {
    background: var(--glass-hover);
    border-color: var(--studio-gold);
    box-shadow: 0 0 10px rgba(174, 157, 93, 0.15);
}

.luc-search-input:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 3px;
}

.luc-search-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
}

.luc-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    margin-top: var(--space-2);
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-dropdown);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    overflow: hidden;
    display: none;
}

.luc-search-results.active {
    display: block;
}

.luc-search-item {
    padding: var(--space-3) var(--space-4);
    color: var(--text-light);
    cursor: pointer;
    transition: background var(--transition-fast) ease;
}

.luc-search-item:hover {
    background: var(--glass-hover);
    color: var(--studio-gold);
}

/* Source: lucCOMPONENTS/luc-datepicker.css */
/* ============================================================
   lucUI — Date Picker Component
   ============================================================ */

.luc-datepicker {
    position: relative;
    width: 100%;
}

.luc-datepicker-calendar {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: var(--space-2);
    width: 300px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-dropdown);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: var(--space-4);
    display: none;
}

.luc-datepicker-calendar.active {
    display: block;
}

.luc-calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-4);
}

.luc-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: var(--space-1);
    text-align: center;
}

.luc-calendar-day-name {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-weight: 600;
}

.luc-calendar-day {
    padding: var(--space-2) 0;
    font-size: var(--text-sm);
    color: var(--text-light);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-fast) ease;
}

.luc-calendar-day:hover {
    background: var(--glass-hover);
    color: var(--studio-gold);
}

.luc-calendar-day.selected {
    background: var(--studio-gold);
    color: var(--luca-navy);
}

/* Source: lucCOMPONENTS/luc-fileupload.css */
/* ============================================================
   lucUI — File Upload Drag-Drop Component
   ============================================================ */

.luc-upload-zone {
    border: 2px dashed var(--glass-edge);
    background: var(--glass-bg);
    border-radius: var(--radius-lg);
    padding: var(--space-8) var(--space-6);
    text-align: center;
    cursor: pointer;
    transition: all var(--transition-base) ease;
}

.luc-upload-zone:hover,
.luc-upload-zone.dragover {
    border-color: var(--studio-gold);
    background: var(--glass-hover);
}

.luc-upload-zone:focus-within {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 4px;
}

.luc-upload-icon {
    font-size: 2.5rem;
    color: var(--studio-gold);
    margin-bottom: var(--space-4);
}

.luc-upload-text {
    color: var(--text-light);
    margin-bottom: var(--space-2);
}

.luc-upload-subtext {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

/* Source: lucCOMPONENTS/luc-rangeslider.css */
/* ============================================================
   lucUI — Range Slider Component
   ============================================================ */

.luc-range-container {
    width: 100%;
    position: relative;
    padding: var(--space-4) 0;
}

.luc-range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    border-radius: var(--radius-full);
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    outline: none;
}

.luc-range-slider:focus-visible {
    outline: 2px solid var(--luc-focus-ring, var(--designer-azure));
    outline-offset: 4px;
}

.luc-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: var(--radius-full);
    background: var(--studio-gold);
    border: 2px solid #fff;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-fast) ease;
}

.luc-range-slider::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.luc-range-slider::-moz-range-track {
    height: 6px;
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-full);
    background: var(--glass-bg);
}

.luc-range-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    border-radius: var(--radius-full);
    background: var(--studio-gold);
    cursor: pointer;
    box-shadow: var(--shadow-sm);
}

/* Source: lucCOMPONENTS/luc-toggle.css */
/* ============================================================
   lucUI — Toggle Switch Component
   ============================================================ */

.luc-toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    min-height: 44px;
}

.luc-toggle-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.luc-toggle-input:focus-visible + .luc-toggle-track {
    outline: 2px solid var(--designer-azure);
    outline-offset: 4px;
}

.luc-toggle-track {
    width: 48px;
    height: 24px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-full);
    position: relative;
    transition: all var(--transition-base) ease;
}

.luc-toggle-thumb {
    width: 18px;
    height: 18px;
    background: var(--text-light);
    border-radius: var(--radius-full);
    position: absolute;
    top: 2px;
    left: 2px;
    transition: all var(--transition-base) var(--ease-spring);
    box-shadow: var(--shadow-sm);
}

.luc-toggle-input:checked + .luc-toggle-track {
    background: linear-gradient(135deg, var(--studio-gold), var(--luca-tangerine));
    border-color: transparent;
}

.luc-toggle-input:checked + .luc-toggle-track .luc-toggle-thumb {
    left: 26px;
    background: #fff;
}

/* Source: lucCOMPONENTS/luc-stepper.css */
/* ============================================================
   lucUI — Stepper / Multi-step Component
   ============================================================ */

.luc-stepper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin-bottom: var(--space-8);
}

.luc-stepper::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--glass-edge);
    z-index: 1;
    transform: translateY(-50%);
}

.luc-step {
    position: relative;
    z-index: 2;
    background: var(--luca-navy);
    padding: 0 var(--space-2);
}

.luc-step-circle {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    background: var(--glass-bg);
    border: 2px solid var(--glass-edge);
    color: var(--text-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    margin: 0 auto var(--space-2) auto;
    transition: all var(--transition-base) ease;
}

.luc-step.active .luc-step-circle {
    background: var(--studio-gold);
    border-color: var(--studio-gold);
    color: var(--luca-navy);
    box-shadow: 0 0 12px rgba(174, 157, 93, 0.4);
}

.luc-step.completed .luc-step-circle {
    background: var(--bold-viridian);
    border-color: var(--bold-viridian);
    color: var(--luca-navy);
}

.luc-step-label {
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-align: center;
    display: block;
}

.luc-step.active .luc-step-label {
    color: var(--text-light);
    font-weight: 600;
}

/* Source: lucCOMPONENTS/luc-timeline.css */
/* ============================================================
   lucUI — Timeline Component
   ============================================================ */

.luc-timeline {
    position: relative;
    padding-left: var(--space-8);
    margin: var(--space-6) 0;
}

.luc-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 11px;
    width: 2px;
    background: var(--glass-edge);
}

.luc-timeline-item {
    position: relative;
    margin-bottom: var(--space-6);
}

.luc-timeline-item:last-child {
    margin-bottom: 0;
}

.luc-timeline-badge {
    position: absolute;
    left: -29px;
    top: 4px;
    width: 12px;
    height: 12px;
    border-radius: var(--radius-full);
    background: var(--glass-bg);
    border: 2px solid var(--studio-gold);
    box-shadow: 0 0 0 4px var(--luca-navy);
}

.luc-timeline-title {
    font-size: var(--text-base);
    color: var(--text-light);
    margin-bottom: var(--space-1);
}

.luc-timeline-time {
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin-bottom: var(--space-2);
}

.luc-timeline-body {
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.5;
}

/* Source: lucCOMPONENTS/luc-notifications.css */
/* ============================================================
   lucUI — Notification Center Component
   ============================================================ */

.luc-notification-center {
    position: fixed;
    top: 80px;
    right: 20px;
    width: 360px;
    background: var(--glass-modal);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    z-index: var(--z-fixed);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    overflow: hidden;
    display: none;
    flex-direction: column;
}

.luc-notification-center.active {
    display: flex;
}

.luc-notification-center-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-4);
    border-bottom: 1px solid var(--glass-edge);
    background: rgba(255, 255, 255, 0.02);
}

.luc-notification-center-title {
    font-size: var(--text-base);
    color: var(--studio-gold);
}

.luc-notification-center-list {
    max-height: 400px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.luc-notification-item {
    display: flex;
    gap: var(--space-3);
    padding: var(--space-4);
    border-bottom: 1px solid var(--glass-edge);
    transition: background var(--transition-fast) ease;
    cursor: pointer;
}

.luc-notification-item:hover {
    background: rgba(255, 255, 255, 0.02);
}

.luc-notification-item.unread {
    background: rgba(174, 157, 93, 0.03);
}

.luc-notification-item-dot {
    width: 8px;
    height: 8px;
    background: var(--studio-gold);
    border-radius: var(--radius-full);
    margin-top: 5px;
    flex-shrink: 0;
}

.luc-notification-item-content {
    flex-grow: 1;
}

.luc-notification-item-text {
    font-size: var(--text-sm);
    color: var(--text-light);
    line-height: 1.4;
    margin-bottom: var(--space-1);
}

.luc-notification-item-time {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* Source: lucCOMPONENTS/luc-usercard.css */
/* ============================================================
   lucUI — User Profile Card Component
   ============================================================ */

.luc-user-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-xl);
    padding: var(--space-6);
    box-shadow: var(--shadow-md);
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all var(--transition-base) ease;
}

.luc-user-card:hover {
    transform: translateY(-2px);
    border-color: var(--studio-gold);
}

.luc-user-card-banner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(135deg, var(--studio-gold), var(--luca-tangerine));
    opacity: 0.3;
    z-index: 1;
}

.luc-user-card-avatar {
    position: relative;
    z-index: 2;
    margin-top: 20px;
    margin-bottom: var(--space-4);
    border: 3px solid var(--luca-navy);
}

.luc-user-card-name {
    font-size: var(--text-lg);
    color: var(--text-light);
    margin-bottom: var(--space-1);
}

.luc-user-card-role {
    font-size: var(--text-sm);
    color: var(--studio-gold);
    margin-bottom: var(--space-4);
}

.luc-user-card-bio {
    font-size: var(--text-sm);
    color: var(--text-muted);
    line-height: 1.5;
    margin-bottom: var(--space-6);
}

.luc-user-card-stats {
    display: flex;
    justify-content: space-around;
    border-top: 1px solid var(--glass-edge);
    padding-top: var(--space-4);
}

.luc-user-card-stat-val {
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--text-light);
}

.luc-user-card-stat-lbl {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

/* Source: lucCOMPONENTS/luc-cookieconsent.css */
/* ============================================================
   lucUI — Cookie Consent Banner Component
   ============================================================ */

.luc-cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: 600px;
    margin: 0 auto;
    background: var(--glass-modal);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    padding: var(--space-4) var(--space-6);
    z-index: var(--z-fixed);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-6);
    animation: luc-cookie-slide-up 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.luc-cookie-text {
    font-size: var(--text-sm);
    color: var(--text-light);
    line-height: 1.5;
}

.luc-cookie-actions {
    display: flex;
    gap: var(--space-3);
    flex-shrink: 0;
}

@keyframes luc-cookie-slide-up {
    from {
        transform: translateY(100px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (max-width: 768px) {
    .luc-cookie-banner {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
    .luc-cookie-actions {
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .luc-cookie-banner { animation: none; }
}

/* Source: lucUTILITIES/luc-glass.css */
/* ============================================================
   lucUI — Glass Morphism Utilities v2.0
   Enhanced with multi-layer blur, dynamic lighting, and depth
   ============================================================ */

/* Base Glass Utility - Enhanced */
.luc-glass {
    background: var(--glass-bg);
    backdrop-filter: blur(24px) saturate(180%) brightness(1.05) contrast(1.02);
    -webkit-backdrop-filter: blur(24px) saturate(180%) brightness(1.05) contrast(1.02);
    border: 1px solid var(--glass-edge);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md),
                inset 0 1px 0 var(--glass-shine),
                inset 0 -1px 0 rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
}

/* Browsers without backdrop-filter still receive a legible surface. */
@supports not ((backdrop-filter: blur(1px))) {
    .luc-glass,
    .luc-card,
    .luc-prism,
    .luc-navbar,
    .luc-modal,
    .luc-dropdown-menu,
    .luc-toast,
    .luc-datepicker-calendar,
    .luc-gallery-overlay,
    .luc-notification-center,
    .luc-search-results,
    .luc-sidebar,
    .luc-tooltip::after {
        background: var(--luc-surface-strong, rgba(8,18,32,0.96));
    }
}

/* Enhanced Specular Edge - Multi-stop gradients */
.luc-glass::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,255,255,0.65) 15%,
        rgba(255,255,255,0.85) 30%,
        rgba(255,255,255,0.45) 50%,
        rgba(255,255,255,0.25) 70%,
        rgba(255,255,255,0.10) 85%,
        transparent 100%);
    pointer-events: none;
    z-index: 2;
}

/* Bottom Specular Edge */
.luc-glass::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255,255,255,0.15) 20%,
        rgba(255,255,255,0.25) 40%,
        rgba(255,255,255,0.10) 60%,
        transparent 100%);
    pointer-events: none;
    z-index: 2;
}

/* Glass Variants */

/* Light Glass */
.luc-glass-light {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
    border: 1px solid rgba(255,255,255,0.15);
}

/* Dark Glass */
.luc-glass-dark {
    background: rgba(8,18,32,0.6);
    backdrop-filter: blur(32px) saturate(200%);
    -webkit-backdrop-filter: blur(32px) saturate(200%);
    border: 1px solid rgba(255,255,255,0.08);
}

/* Navy Glass */
.luc-glass-navy {
    background: rgba(29,45,68,0.5);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(174,157,93,0.12);
}

/* Gold Glass */
.luc-glass-gold {
    background: rgba(174,157,93,0.08);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(174,157,93,0.2);
}

/* Glass Transparency (Enhanced) */
.luc-glass-transparency {
    background: linear-gradient(145deg, rgba(36, 59, 85, 0.55) 0%, rgba(29, 45, 68, 0.35) 100%);
    border: 1px solid rgba(174, 157, 93, 0.12);
    border-radius: 32px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(30px) saturate(160%);
    -webkit-backdrop-filter: blur(30px) saturate(160%);
}

/* Glass Blur Intensity */
.luc-blur-sm {
    backdrop-filter: blur(8px) saturate(140%);
    -webkit-backdrop-filter: blur(8px) saturate(140%);
}

.luc-blur-md {
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
}

.luc-blur-lg {
    backdrop-filter: blur(32px) saturate(180%);
    -webkit-backdrop-filter: blur(32px) saturate(180%);
}

.luc-blur-xl {
    backdrop-filter: blur(48px) saturate(200%);
    -webkit-backdrop-filter: blur(48px) saturate(200%);
}

/* Glass Border Radius */
.luc-glass-rounded-sm {
    border-radius: var(--radius-sm);
}

.luc-glass-rounded-md {
    border-radius: var(--radius-md);
}

.luc-glass-rounded-lg {
    border-radius: var(--radius-lg);
}

.luc-glass-rounded-xl {
    border-radius: var(--radius-xl);
}

.luc-glass-rounded-full {
    border-radius: var(--radius-full);
}

/* Glass Hover Effects */
.luc-glass-hover:hover {
    background: var(--glass-hover);
    border-color: rgba(174,157,93,0.30);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,0.10);
}

/* Glass Shine Effect */
.luc-glass-shine {
    position: relative;
    overflow: hidden;
}

.luc-glass-shine::after {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.2), transparent);
    transform: skewX(-25deg);
    transition: all 0.6s ease;
}

.luc-glass-shine:hover::after {
    left: 150%;
}

/* Glass Noise Texture - Enhanced */
.luc-glass-noise {
    position: relative;
}

.luc-glass-noise::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.06'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 1;
    mix-blend-mode: overlay;
    opacity: 0.4;
}

/* Dynamic Lighting Effects */
.luc-glight {
    position: relative;
    overflow: hidden;
}

.luc-glight::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle at 30% 30%,
        rgba(174, 157, 93, 0.08) 0%,
        transparent 50%),
        radial-gradient(circle at 70% 70%,
        rgba(0, 187, 255, 0.05) 0%,
        transparent 40%);
    pointer-events: none;
    z-index: 0;
    mix-blend-mode: screen;
    animation: lightMove 8s ease-in-out infinite;
}

@keyframes lightMove {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    50% {
        transform: translate(5%, 5%) scale(1.1);
    }
}

/* Aurora Effect */
.luc-aurora {
    position: relative;
    overflow: hidden;
}

.luc-aurora::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
        rgba(174, 157, 93, 0.1) 0%,
        rgba(0, 187, 255, 0.08) 25%,
        rgba(255, 140, 0, 0.06) 50%,
        rgba(0, 255, 0, 0.08) 75%,
        rgba(174, 157, 93, 0.1) 100%);
    background-size: 400% 400%;
    pointer-events: none;
    z-index: 0;
    mix-blend-mode: overlay;
    animation: auroraShift 12s ease-in-out infinite;
}

@keyframes auroraShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

/* Inner Glow Effect */
.luc-glow-inner {
    position: relative;
}

.luc-glow-inner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center,
        rgba(174, 157, 93, 0.12) 0%,
        transparent 70%);
    pointer-events: none;
    z-index: 0;
    mix-blend-mode: screen;
}

/* Glass Depth Layers */
.luc-glass-depth {
    background:
        linear-gradient(145deg, rgba(36, 59, 85, 0.4) 0%, rgba(29, 45, 68, 0.6) 100%),
        var(--glass-bg);
    backdrop-filter: blur(32px) saturate(190%) brightness(1.08) contrast(1.03);
    -webkit-backdrop-filter: blur(32px) saturate(190%) brightness(1.08) contrast(1.03);
    border: 1px solid var(--glass-edge);
    box-shadow:
        var(--shadow-lg),
        inset 0 2px 0 rgba(255,255,255,0.12),
        inset 0 -2px 0 rgba(0,0,0,0.08),
        0 0 40px rgba(174, 157, 93, 0.08);
}

/* Source: lucUTILITIES/luc-animations.css */
/* ============================================================
   lucUI — Animation Utilities v2.0
   Enhanced with scroll-triggered reveals and physics-based animations
   ============================================================ */

/* Scroll Reveal Animation - Enhanced */
.luc-reveal {
    opacity: 0;
    transform: translateY(40px) scale(0.97);
    transition: opacity 0.6s var(--ease-snappy), transform 0.6s var(--ease-spring), filter 0.6s var(--ease-smooth);
    will-change: opacity, transform;
}

.luc-reveal.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Reveal Variants - Enhanced */
.luc-reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s var(--ease-snappy), transform 0.6s var(--ease-spring);
    will-change: opacity, transform;
}

.luc-reveal-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.luc-reveal-down {
    opacity: 0;
    transform: translateY(-40px);
    transition: opacity 0.6s var(--ease-snappy), transform 0.6s var(--ease-spring);
    will-change: opacity, transform;
}

.luc-reveal-down.visible {
    opacity: 1;
    transform: translateY(0);
}

.luc-reveal-left {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.6s var(--ease-snappy), transform 0.6s var(--ease-spring);
    will-change: opacity, transform;
}

.luc-reveal-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.luc-reveal-right {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.6s var(--ease-snappy), transform 0.6s var(--ease-spring);
    will-change: opacity, transform;
}

.luc-reveal-right.visible {
    opacity: 1;
    transform: translateX(0);
}

.luc-reveal-scale {
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.6s var(--ease-snappy), transform 0.6s var(--ease-spring);
    will-change: opacity, transform;
}

.luc-reveal-scale.visible {
    opacity: 1;
    transform: scale(1);
}

.luc-reveal-rotate {
    opacity: 0;
    transform: rotate(-10deg) scale(0.9);
    transition: opacity 0.6s var(--ease-snappy), transform 0.6s var(--ease-spring);
    will-change: opacity, transform;
}

.luc-reveal-rotate.visible {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

.luc-reveal-blur {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(20px);
    transition: opacity 0.6s var(--ease-snappy), filter 0.6s var(--ease-smooth), transform 0.6s var(--ease-spring);
    will-change: opacity, filter, transform;
}

.luc-reveal-blur.visible {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

/* Fade Animation */
.luc-fade-in {
    opacity: 0;
    transition: opacity var(--transition-base) var(--ease-smooth);
}

.luc-fade-in.visible {
    opacity: 1;
}

.luc-fade-out {
    opacity: 1;
    transition: opacity var(--transition-base) var(--ease-smooth);
}

.luc-fade-out.visible {
    opacity: 0;
}

/* Slide Animation */
.luc-slide-up {
    transform: translateY(100%);
    transition: transform var(--transition-slow) var(--ease-spring);
}

.luc-slide-up.visible {
    transform: translateY(0);
}

.luc-slide-down {
    transform: translateY(-100%);
    transition: transform var(--transition-slow) var(--ease-spring);
}

.luc-slide-down.visible {
    transform: translateY(0);
}

/* Global motion helpers */
.luc-animated {
    animation: luc-float 6s ease-in-out infinite;
}

@keyframes luc-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.luc-tilt-on-hover {
    transition: transform var(--transition-base) var(--ease-spring), box-shadow var(--transition-base) var(--ease-smooth);
}

.luc-tilt-on-hover:hover {
    transform: perspective(900px) rotateX(2deg) rotateY(-2deg) translateY(-4px);
}

/* Hover Animations - Enhanced */
.luc-hover-lift {
    transition: transform var(--transition-base) var(--ease-spring), box-shadow var(--transition-base) var(--ease-smooth);
}

.luc-hover-lift:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.luc-hover-scale {
    transition: transform var(--transition-base) var(--ease-spring);
}

.luc-hover-scale:hover {
    transform: scale(1.05);
}

.luc-hover-glow {
    transition: box-shadow var(--transition-base) var(--ease-smooth);
}

.luc-hover-glow:hover {
    box-shadow: 0 0 30px rgba(174,157,93,0.3);
}

.luc-hover-shine {
    position: relative;
    overflow: hidden;
}

.luc-hover-shine::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transform: skewX(-25deg);
    transition: left 0.6s ease;
}

.luc-hover-shine:hover::after {
    left: 150%;
}

.luc-hover-tilt {
    transition: transform var(--transition-base) var(--ease-spring);
    transform-style: preserve-3d;
}

.luc-hover-tilt:hover {
    transform: perspective(1000px) rotateX(5deg) rotateY(5deg);
}

/* Pulse Animation */
@keyframes luc-pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.luc-pulse {
    animation: luc-pulse 2s ease-in-out infinite;
}

/* Spin Animation */
@keyframes luc-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.luc-spin {
    animation: luc-spin 1s linear infinite;
}

/* Bounce Animation */
@keyframes luc-bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.luc-bounce {
    animation: luc-bounce 1s ease-in-out infinite;
}

/* Shake Animation */
@keyframes luc-shake {
    0%, 100% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(-5px);
    }
    75% {
        transform: translateX(5px);
    }
}

.luc-shake {
    animation: luc-shake 0.5s ease-in-out;
}

/* Animation Delays */
.luc-delay-100 { animation-delay: 100ms; }
.luc-delay-200 { animation-delay: 200ms; }
.luc-delay-300 { animation-delay: 300ms; }
.luc-delay-400 { animation-delay: 400ms; }
.luc-delay-500 { animation-delay: 500ms; }

/* Animation Durations */
.luc-duration-fast { animation-duration: 0.2s; }
.luc-duration-base { animation-duration: 0.3s; }
.luc-duration-slow { animation-duration: 0.4s; }
.luc-duration-slower { animation-duration: 0.6s; }

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Source: lucUTILITIES/luc-spacing.css */
/* ============================================================
   lucUI — Spacing Utilities
   ============================================================ */

/* Margin Utilities */
.luc-m-0 { margin: 0; }
.luc-m-1 { margin: var(--space-1); }
.luc-m-2 { margin: var(--space-2); }
.luc-m-3 { margin: var(--space-3); }
.luc-m-4 { margin: var(--space-4); }
.luc-m-5 { margin: var(--space-5); }
.luc-m-6 { margin: var(--space-6); }
.luc-m-8 { margin: var(--space-8); }
.luc-m-10 { margin: var(--space-10); }
.luc-m-12 { margin: var(--space-12); }
.luc-m-16 { margin: var(--space-16); }

.luc-mx-auto { margin-left: auto; margin-right: auto; }

.luc-mt-0 { margin-top: 0; }
.luc-mt-1 { margin-top: var(--space-1); }
.luc-mt-2 { margin-top: var(--space-2); }
.luc-mt-3 { margin-top: var(--space-3); }
.luc-mt-4 { margin-top: var(--space-4); }
.luc-mt-5 { margin-top: var(--space-5); }
.luc-mt-6 { margin-top: var(--space-6); }
.luc-mt-8 { margin-top: var(--space-8); }
.luc-mt-10 { margin-top: var(--space-10); }
.luc-mt-12 { margin-top: var(--space-12); }
.luc-mt-16 { margin-top: var(--space-16); }

.luc-mr-0 { margin-right: 0; }
.luc-mr-1 { margin-right: var(--space-1); }
.luc-mr-2 { margin-right: var(--space-2); }
.luc-mr-3 { margin-right: var(--space-3); }
.luc-mr-4 { margin-right: var(--space-4); }
.luc-mr-5 { margin-right: var(--space-5); }
.luc-mr-6 { margin-right: var(--space-6); }
.luc-mr-8 { margin-right: var(--space-8); }
.luc-mr-10 { margin-right: var(--space-10); }
.luc-mr-12 { margin-right: var(--space-12); }
.luc-mr-16 { margin-right: var(--space-16); }

.luc-mb-0 { margin-bottom: 0; }
.luc-mb-1 { margin-bottom: var(--space-1); }
.luc-mb-2 { margin-bottom: var(--space-2); }
.luc-mb-3 { margin-bottom: var(--space-3); }
.luc-mb-4 { margin-bottom: var(--space-4); }
.luc-mb-5 { margin-bottom: var(--space-5); }
.luc-mb-6 { margin-bottom: var(--space-6); }
.luc-mb-8 { margin-bottom: var(--space-8); }
.luc-mb-10 { margin-bottom: var(--space-10); }
.luc-mb-12 { margin-bottom: var(--space-12); }
.luc-mb-16 { margin-bottom: var(--space-16); }

.luc-ml-0 { margin-left: 0; }
.luc-ml-1 { margin-left: var(--space-1); }
.luc-ml-2 { margin-left: var(--space-2); }
.luc-ml-3 { margin-left: var(--space-3); }
.luc-ml-4 { margin-left: var(--space-4); }
.luc-ml-5 { margin-left: var(--space-5); }
.luc-ml-6 { margin-left: var(--space-6); }
.luc-ml-8 { margin-left: var(--space-8); }
.luc-ml-10 { margin-left: var(--space-10); }
.luc-ml-12 { margin-left: var(--space-12); }
.luc-ml-16 { margin-left: var(--space-16); }

/* Padding Utilities */
.luc-p-0 { padding: 0; }
.luc-p-1 { padding: var(--space-1); }
.luc-p-2 { padding: var(--space-2); }
.luc-p-3 { padding: var(--space-3); }
.luc-p-4 { padding: var(--space-4); }
.luc-p-5 { padding: var(--space-5); }
.luc-p-6 { padding: var(--space-6); }
.luc-p-8 { padding: var(--space-8); }
.luc-p-10 { padding: var(--space-10); }
.luc-p-12 { padding: var(--space-12); }
.luc-p-16 { padding: var(--space-16); }

.luc-pt-0 { padding-top: 0; }
.luc-pt-1 { padding-top: var(--space-1); }
.luc-pt-2 { padding-top: var(--space-2); }
.luc-pt-3 { padding-top: var(--space-3); }
.luc-pt-4 { padding-top: var(--space-4); }
.luc-pt-5 { padding-top: var(--space-5); }
.luc-pt-6 { padding-top: var(--space-6); }
.luc-pt-8 { padding-top: var(--space-8); }
.luc-pt-10 { padding-top: var(--space-10); }
.luc-pt-12 { padding-top: var(--space-12); }
.luc-pt-16 { padding-top: var(--space-16); }

.luc-pr-0 { padding-right: 0; }
.luc-pr-1 { padding-right: var(--space-1); }
.luc-pr-2 { padding-right: var(--space-2); }
.luc-pr-3 { padding-right: var(--space-3); }
.luc-pr-4 { padding-right: var(--space-4); }
.luc-pr-5 { padding-right: var(--space-5); }
.luc-pr-6 { padding-right: var(--space-6); }
.luc-pr-8 { padding-right: var(--space-8); }
.luc-pr-10 { padding-right: var(--space-10); }
.luc-pr-12 { padding-right: var(--space-12); }
.luc-pr-16 { padding-right: var(--space-16); }

.luc-pb-0 { padding-bottom: 0; }
.luc-pb-1 { padding-bottom: var(--space-1); }
.luc-pb-2 { padding-bottom: var(--space-2); }
.luc-pb-3 { padding-bottom: var(--space-3); }
.luc-pb-4 { padding-bottom: var(--space-4); }
.luc-pb-5 { padding-bottom: var(--space-5); }
.luc-pb-6 { padding-bottom: var(--space-6); }
.luc-pb-8 { padding-bottom: var(--space-8); }
.luc-pb-10 { padding-bottom: var(--space-10); }
.luc-pb-12 { padding-bottom: var(--space-12); }
.luc-pb-16 { padding-bottom: var(--space-16); }

.luc-pl-0 { padding-left: 0; }
.luc-pl-1 { padding-left: var(--space-1); }
.luc-pl-2 { padding-left: var(--space-2); }
.luc-pl-3 { padding-left: var(--space-3); }
.luc-pl-4 { padding-left: var(--space-4); }
.luc-pl-5 { padding-left: var(--space-5); }
.luc-pl-6 { padding-left: var(--space-6); }
.luc-pl-8 { padding-left: var(--space-8); }
.luc-pl-10 { padding-left: var(--space-10); }
.luc-pl-12 { padding-left: var(--space-12); }
.luc-pl-16 { padding-left: var(--space-16); }

/* Gap Utilities */
.luc-gap-0 { gap: 0; }
.luc-gap-1 { gap: var(--space-1); }
.luc-gap-2 { gap: var(--space-2); }
.luc-gap-3 { gap: var(--space-3); }
.luc-gap-4 { gap: var(--space-4); }
.luc-gap-5 { gap: var(--space-5); }
.luc-gap-6 { gap: var(--space-6); }
.luc-gap-8 { gap: var(--space-8); }
.luc-gap-10 { gap: var(--space-10); }
.luc-gap-12 { gap: var(--space-12); }
.luc-gap-16 { gap: var(--space-16); }

/* Source: lucUTILITIES/luc-layout.css */
/* ============================================================
   lucUI — Layout Utilities
   ============================================================ */

/* Display Utilities */
.luc-block { display: block; }
.luc-inline-block { display: inline-block; }
.luc-inline { display: inline; }
.luc-flex { display: flex; }
.luc-inline-flex { display: inline-flex; }
.luc-grid { display: grid; }
.luc-hidden { display: none; }

/* Flexbox Utilities */
.luc-flex-row { flex-direction: row; }
.luc-flex-row-reverse { flex-direction: row-reverse; }
.luc-flex-col { flex-direction: column; }
.luc-flex-col-reverse { flex-direction: column-reverse; }

.luc-flex-wrap { flex-wrap: wrap; }
.luc-flex-nowrap { flex-wrap: nowrap; }

.luc-items-start { align-items: flex-start; }
.luc-items-end { align-items: flex-end; }
.luc-items-center { align-items: center; }
.luc-items-baseline { align-items: baseline; }
.luc-items-stretch { align-items: stretch; }

.luc-justify-start { justify-content: flex-start; }
.luc-justify-end { justify-content: flex-end; }
.luc-justify-center { justify-content: center; }
.luc-justify-between { justify-content: space-between; }
.luc-justify-around { justify-content: space-around; }
.luc-justify-evenly { justify-content: space-evenly; }

.luc-flex-1 { flex: 1; }
.luc-flex-auto { flex: auto; }
.luc-flex-initial { flex: initial; }
.luc-flex-none { flex: none; }

.luc-grow-0 { flex-grow: 0; }
.luc-grow { flex-grow: 1; }

.luc-shrink-0 { flex-shrink: 0; }
.luc-shrink { flex-shrink: 1; }

/* Grid Utilities */
.luc-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.luc-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.luc-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.luc-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.luc-grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.luc-grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.luc-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.luc-grid-cols-auto { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

.luc-grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)); }
.luc-grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.luc-grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.luc-grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)); }
.luc-grid-rows-6 { grid-template-rows: repeat(6, minmax(0, 1fr)); }

.luc-col-span-1 { grid-column: span 1 / span 1; }
.luc-col-span-2 { grid-column: span 2 / span 2; }
.luc-col-span-3 { grid-column: span 3 / span 3; }
.luc-col-span-4 { grid-column: span 4 / span 4; }
.luc-col-span-5 { grid-column: span 5 / span 5; }
.luc-col-span-6 { grid-column: span 6 / span 6; }
.luc-col-span-12 { grid-column: span 12 / span 12; }
.luc-col-span-full { grid-column: 1 / -1; }

.luc-row-span-1 { grid-row: span 1 / span 1; }
.luc-row-span-2 { grid-row: span 2 / span 2; }
.luc-row-span-3 { grid-row: span 3 / span 3; }
.luc-row-span-4 { grid-row: span 4 / span 4; }
.luc-row-span-6 { grid-row: span 6 / span 6; }
.luc-row-span-full { grid-row: 1 / -1; }

/* Position Utilities */
.luc-static { position: static; }
.luc-relative { position: relative; }
.luc-absolute { position: absolute; }
.luc-fixed { position: fixed; }
.luc-sticky { position: sticky; }

.luc-inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.luc-inset-auto { top: auto; right: auto; bottom: auto; left: auto; }

.luc-top-0 { top: 0; }
.luc-top-auto { top: auto; }

.luc-right-0 { right: 0; }
.luc-right-auto { right: auto; }

.luc-bottom-0 { bottom: 0; }
.luc-bottom-auto { bottom: auto; }

.luc-left-0 { left: 0; }
.luc-left-auto { left: auto; }

/* Sizing Utilities */
.luc-w-full { width: 100%; }
.luc-w-auto { width: auto; }
.luc-w-screen { width: 100vw; }

.luc-h-full { height: 100%; }
.luc-h-auto { height: auto; }
.luc-h-screen { height: 100vh; }

.luc-min-w-0 { min-width: 0; }
.luc-min-w-full { min-width: 100%; }

.luc-min-h-0 { min-height: 0; }
.luc-min-h-full { min-height: 100%; }
.luc-min-h-screen { min-height: 100vh; }

.luc-max-w-none { max-width: none; }
.luc-max-w-xs { max-width: 20rem; }
.luc-max-w-sm { max-width: 24rem; }
.luc-max-w-md { max-width: 28rem; }
.luc-max-w-lg { max-width: 32rem; }
.luc-max-w-xl { max-width: 36rem; }
.luc-max-w-2xl { max-width: 42rem; }
.luc-max-w-full { max-width: 100%; }

.luc-max-h-none { max-height: none; }
.luc-max-h-full { max-height: 100%; }
.luc-max-h-screen { max-height: 100vh; }

/* Overflow Utilities */
.luc-overflow-auto { overflow: auto; }
.luc-overflow-hidden { overflow: hidden; }
.luc-overflow-visible { overflow: visible; }
.luc-overflow-scroll { overflow: scroll; }

.luc-overflow-x-auto { overflow-x: auto; }
.luc-overflow-x-hidden { overflow-x: hidden; }
.luc-overflow-x-scroll { overflow-x: scroll; }

.luc-overflow-y-auto { overflow-y: auto; }
.luc-overflow-y-hidden { overflow-y: hidden; }
.luc-overflow-y-scroll { overflow-y: scroll; }

/* Responsive Utilities */
@media (max-width: 1024px) {
    .luc-grid-cols-4,
    .luc-grid-cols-5,
    .luc-grid-cols-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .luc-grid-cols-2,
    .luc-grid-cols-3,
    .luc-grid-cols-4,
    .luc-grid-cols-5,
    .luc-grid-cols-6 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .luc-grid-cols-auto {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

/* Source: lucUTILITIES/luc-utilities.css */
/* ============================================================
   lucUI — General Utilities
   Dividers, text truncation, visibility, aspect ratio,
   print styles, and other quality-of-life helpers
   ============================================================ */

/* ── Dividers ───────────────────────────────────────────── */

.luc-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(174,157,93,0.20) 20%,
        rgba(255,255,255,0.08) 50%,
        rgba(174,157,93,0.20) 80%,
        transparent 100%);
    border: none;
    margin: var(--space-6) 0;
    display: block;
}

.luc-divider-vertical {
    width: 1px;
    height: 100%;
    min-height: 1em;
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(255,255,255,0.08) 50%,
        transparent 100%);
    border: none;
    margin: 0 var(--space-4);
    display: inline-block;
    align-self: stretch;
}

/* Gold divider */
.luc-divider-gold {
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(174,157,93,0.50) 20%,
        rgba(174,157,93,0.80) 50%,
        rgba(174,157,93,0.50) 80%,
        transparent 100%);
}

/* Divider with label */
.luc-divider-label {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin: var(--space-6) 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-family: var(--font-body);
}

.luc-divider-label::before,
.luc-divider-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--glass-edge), transparent);
}

/* ── Text Overflow ──────────────────────────────────────── */

.luc-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.luc-line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.luc-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.luc-line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.luc-line-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Accessibility ──────────────────────────────────────── */

/* Screen-reader only — visually hidden but accessible */
.luc-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Show again on focus (for skip links) */
.luc-sr-only-focusable:focus,
.luc-sr-only-focusable:focus-within {
    position: static;
    width: auto;
    height: auto;
    padding: inherit;
    margin: inherit;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

/* ── Aspect Ratio ───────────────────────────────────────── */

.luc-aspect-square  { aspect-ratio: 1 / 1; }
.luc-aspect-video   { aspect-ratio: 16 / 9; }
.luc-aspect-photo   { aspect-ratio: 4 / 3; }
.luc-aspect-portrait { aspect-ratio: 3 / 4; }
.luc-aspect-wide    { aspect-ratio: 21 / 9; }
.luc-aspect-golden  { aspect-ratio: 1.618 / 1; }

/* Fill parent while preserving ratio */
.luc-aspect-square > *,
.luc-aspect-video > *,
.luc-aspect-photo > *,
.luc-aspect-portrait > *,
.luc-aspect-wide > *,
.luc-aspect-golden > * {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── Cursor ─────────────────────────────────────────────── */

.luc-cursor-pointer  { cursor: pointer; }
.luc-cursor-default  { cursor: default; }
.luc-cursor-not-allowed { cursor: not-allowed; }
.luc-cursor-grab     { cursor: grab; }
.luc-cursor-grabbing { cursor: grabbing; }

/* ── Pointer Events ─────────────────────────────────────── */

.luc-pointer-events-none { pointer-events: none; }
.luc-pointer-events-auto { pointer-events: auto; }

/* ── User Select ────────────────────────────────────────── */

.luc-select-none { user-select: none; }
.luc-select-text { user-select: text; }
.luc-select-all  { user-select: all; }

/* ── Object Fit ─────────────────────────────────────────── */

.luc-object-cover   { object-fit: cover; }
.luc-object-contain { object-fit: contain; }
.luc-object-fill    { object-fit: fill; }

/* ── Opacity ────────────────────────────────────────────── */

.luc-opacity-0   { opacity: 0; }
.luc-opacity-25  { opacity: 0.25; }
.luc-opacity-50  { opacity: 0.5; }
.luc-opacity-75  { opacity: 0.75; }
.luc-opacity-100 { opacity: 1; }

/* ── Print Styles ───────────────────────────────────────── */

@media print {
    /* Strip glass effects for clean printing */
    .luc-navbar,
    .luc-modal-backdrop,
    .luc-toast-container {
        display: none !important;
    }

    body {
        background: #fff !important;
        color: #111 !important;
    }

    .luc-card,
    .luc-card-transparency,
    .luc-glass,
    .luc-glass-dark,
    .luc-glass-navy {
        background: #fff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border: 1px solid #ddd !important;
        box-shadow: none !important;
    }

    h1, h2, h3, h4, h5, h6 {
        color: #111 !important;
    }

    p, .luc-text-muted {
        color: #333 !important;
    }

    .luc-btn {
        border: 1px solid #333 !important;
        background: #fff !important;
        color: #111 !important;
        box-shadow: none !important;
    }

    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.75em;
        color: #555;
    }

    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }
}
