:root {
    --brand-ink: #070F1A;
    --brand-navy: #0F2645;
    --brand-signal: #1D6FE8;
    --brand-sky: #4FA8FF;
    --brand-mist: #C8DEFF;
    --brand-ice: #EBF3FF;
    --brand-offwhite: #F5F8FF;
}

* {
    font-family: 'Inter', system-ui, sans-serif;
}

code, pre, .font-mono {
    font-family: 'JetBrains Mono', 'SF Mono', 'Monaco', monospace;
}

.gradient-bg {
    background: linear-gradient(135deg, var(--brand-offwhite) 0%, var(--brand-ice) 100%);
}

.gradient-text {
    background: linear-gradient(90deg, var(--brand-signal), var(--brand-sky));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nav-blur {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.9);
}

.shadow-soft {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.shadow-hover:hover {
    box-shadow: 0 20px 60px rgba(29, 111, 232, 0.15);
    transform: translateY(-5px);
    transition: all 0.3s ease;
}

.transition-all {
    transition: all 0.3s ease;
}

.code-block {
    font-family: 'JetBrains Mono', 'SF Mono', 'Monaco', monospace;
    background: linear-gradient(90deg, var(--brand-navy), var(--brand-ink));
}

.badge {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.7; }
    100% { opacity: 1; }
}

/* Prevent horizontal overflow on mobile */
html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}
body {
    overflow-x: hidden;
    min-width: 0;
}

/* Code blocks: ensure they scroll, not overflow the page */
pre {
    max-width: 100%;
}


/* Form styles */
input:focus, textarea:focus {
    outline: none;
    box-shadow: 0 0 0 2px var(--brand-signal);
}

/* Custom utilities */
.text-balance {
    text-wrap: balance;
}
