body { 
    font-family: 'Inter', sans-serif; 
}

.font-mono { 
    font-family: 'Fira Code', monospace; 
}

/* Premium Glass Panels (lighter blur for mobile performance) */
.glass-panel {
    background: rgba(10, 10, 10, 0.7);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(37, 72, 165, 0.2);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-panel:hover {
    border-color: rgba(37, 72, 165, 0.8);
    box-shadow: 0 15px 50px -10px rgba(37, 72, 165, 0.3);
    transform: translateY(-4px);
}

/* Cyber grid background */
.cyber-grid {
    background-image:
        linear-gradient(to right, rgba(37, 72, 165, 0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(37, 72, 165, 0.05) 1px, transparent 1px);
    background-size: 50px 50px;
}

.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(to right, #ffffff, #6d8dec);
}

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

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

.skill-chip {
    background: rgba(10,10,10,0.65);
    border: 1px solid rgba(37,72,165,0.25);
    padding: 14px 18px;
    border-radius: 16px;
    color: #dbe7ff;
    font-family: 'Fira Code', monospace;
    font-weight: 800;
    letter-spacing: 0.02em;
    transition: all .35s cubic-bezier(.4,0,.2,1);
    transform: translateY(12px);
    opacity: 0;
}

.skill-chip.in {
    transform: translateY(0);
    opacity: 1;
}

.skill-chip:hover {
    border-color: rgba(37,72,165,0.85);
    box-shadow: 0 0 30px rgba(37,72,165,0.25);
    transform: translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
    * { scroll-behavior: auto !important; }
    .skill-chip { transition: none; }
}