/* Toi-Shaqyr Custom Styles - Minimal conflicts with Tailwind */

:root {
    --ts-primary: #f97316;
    --ts-primary-strong: #ea580c;
    --ts-ink: #0f172a;
    --ts-muted: #6b7280;
    --ts-surface: #ffffff;
    --ts-border: #e5e7eb;
    --ts-glow: 0 30px 90px -55px rgba(15, 23, 42, 0.55);
}

/* Global look & feel */
body {
    font-family: "Manrope", "Inter", system-ui, -apple-system, sans-serif;
    color: var(--ts-ink);
    background:
            radial-gradient(circle at 12% 20%, rgba(249, 115, 22, 0.12), transparent 32%),
            radial-gradient(circle at 82% 8%, rgba(14, 165, 233, 0.14), transparent 30%),
            radial-gradient(circle at 70% 62%, rgba(244, 63, 94, 0.1), transparent 36%),
            #f8fafc;
}

a {
    text-underline-offset: 3px;
    transition: color 180ms ease, opacity 180ms ease, transform 200ms ease;
}

::selection {
    background: rgba(249, 115, 22, 0.14);
}

/* Card primitives */
.ts-card {
    background: var(--ts-surface);
    border: 1px solid var(--ts-border);
    border-radius: 18px;
    box-shadow: var(--ts-glow);
    transition: transform 180ms ease, box-shadow 220ms ease, border-color 180ms ease;
}

.ts-card:hover {
    transform: translateY(-4px);
    border-color: rgba(249, 115, 22, 0.35);
    box-shadow: 0 28px 80px -60px rgba(15, 23, 42, 0.55);
}

.ts-surface-ghost {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(12px);
}

.ts-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

.ts-badge {
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(249, 115, 22, 0.12);
    border: 1px solid rgba(249, 115, 22, 0.25);
    color: var(--ts-primary-strong);
    font-weight: 700;
    letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ts-grid {
    background-image:
            linear-gradient(to right, rgba(15, 23, 42, 0.05) 1px, transparent 1px),
            linear-gradient(to bottom, rgba(15, 23, 42, 0.05) 1px, transparent 1px);
    background-size: 28px 28px;
}

/* Custom animations */
@keyframes slideIn {
    from {
        transform: translateX(400px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* HTMX loading states */
.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator {
    display: inline-block;
}

.htmx-request.htmx-swapping {
    opacity: 0.6;
    pointer-events: none;
}

/* Smooth transitions for dynamic content */
.htmx-settling {
    transition: all 300ms ease-in;
}

/* Custom scrollbar for preview areas */
.preview-scroll::-webkit-scrollbar {
    width: 8px;
}

.preview-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.preview-scroll::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.preview-scroll::-webkit-scrollbar-thumb:hover {
    background: #555;
}
