html, body {
    margin: 0;
    padding: 0;
    background-color: #050505;
    color: #f0f0f0;
    font-family: 'Inter', sans-serif;
    cursor: default;
}

.font-mono {
    font-family: 'JetBrains Mono', monospace;
}

/* Ensure native mouse pointer is always visible and interactive */
a, button, [role="button"], input[type="range"] {
    cursor: pointer;
}

/* Hide custom cursor follower only on touchscreens */
@media (pointer: coarse) {
    #cursor-dot, #cursor-ring {
        display: none !important;
    }
}

/* Metallic Silver Gradient Text */
.metallic-text {
    background: linear-gradient(180deg, #ffffff 0%, #d4d4d8 55%, #71717a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Fast & Snappy Cursor Ring (Only transition size & color, NEVER left/top) */
#cursor-ring {
    will-change: left, top, width, height;
    transition: width 0.15s ease-out, height 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out;
}

#cursor-ring.cursor-expanded {
    width: 60px;
    height: 60px;
    background-color: rgba(255, 255, 255, 0.92);
    border-color: #ffffff;
    mix-blend-mode: difference;
}

#cursor-ring.cursor-expanded #cursor-label {
    opacity: 1;
}

/* Tech Pills & Infinite Marquee */
.tech-pill {
    padding: 0.65rem 1.4rem;
    border-radius: 9999px;
    background: #0e0e0e;
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.78rem;
    font-weight: 500;
    color: #d4d4d8;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.tech-pill:hover {
    background: #ffffff;
    color: #050505;
    border-color: #ffffff;
}

.mask-edges {
    mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

@keyframes scrollLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes scrollRight {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

.marquee-left {
    animation: scrollLeft 28s linear infinite;
}

.marquee-right {
    animation: scrollRight 28s linear infinite;
}

/* Accordion High-Contrast Invert */
.accordion-item {
    background-color: #050505;
    color: #f0f0f0;
    transition: background-color 0.35s ease, color 0.35s ease;
}

.accordion-item:hover {
    background-color: #111111;
}

.accordion-item.active {
    background-color: #e4e4e7;
    color: #050505;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.accordion-item.active .accordion-icon {
    transform: rotate(90deg);
}

/* Scroll Fade-Up Reveal */
.fade-up {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* 3D Tilt Card Smoothness */
.tilt-card, #hero-portrait {
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform 0.2s ease-out;
}

/* Custom Minimal Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #050505; }
::-webkit-scrollbar-thumb { background: #27272a; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #ffffff; }