[x-cloak] {
    display: none !important;
}

.glass-effect {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.4);
}

.dark .glass-effect {
    background: rgba(15, 23, 42, 0.7);
    border: 2px solid rgba(255, 255, 255, 0.1);
}

.lined-paper {
    background-color: #fefce8;
    background-image: repeating-linear-gradient(transparent, transparent 23px, #e5e7eb 24px);
    line-height: 24px;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.dark ::-webkit-scrollbar-thumb {
    background: #475569;
}

.dark ::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* Scroll Animations */
@media (prefers-reduced-motion: no-preference) {
    .animate-on-scroll {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        will-change: opacity, transform;
    }

    .animate-on-scroll.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

    .delay-100 {
        transition-delay: 100ms;
    }

    .delay-200 {
        transition-delay: 200ms;
    }

    .delay-300 {
        transition-delay: 300ms;
    }

    .delay-400 {
        transition-delay: 400ms;
    }

    .delay-500 {
        transition-delay: 500ms;
    }
}

/* Micro-Interactions */
.interaction-card {
    transition: all 0.5s ease;
}

.interaction-card.is-active,
.interaction-card:hover {
    border-color: #f97316;
    /* Brand orange-500 equivalent */
    box-shadow: 0 10px 25px -5px rgba(249, 115, 22, 0.3);
    transform: scale(1.02);
}

.dark .interaction-card.is-active,
.dark .interaction-card:hover {
    border-color: #f97316;
    box-shadow: 0 10px 25px -5px rgba(249, 115, 22, 0.2);
}

@keyframes icon-pop {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2) rotate(5deg);
    }

    100% {
        transform: scale(1);
    }
}

.interaction-card.is-active .icon-target,
.interaction-card:hover .icon-target {
    animation: icon-pop 0.6s ease-out forwards;
    color: #f97316;
}

/* Method Card Specifics */
.method-card {
    transition: all 0.4s ease;
    border-color: #e2e8f0;
    /* slate-200 default */
}

.dark .method-card {
    border-color: #334155;
    /* slate-700 defualt */
}

/* Active State for Method - Strong Orange */
.method-card.is-active,
.method-card:hover {
    border-color: #f97316;
    box-shadow: 0 10px 30px -5px rgba(249, 115, 22, 0.4);
    transform: translateY(-5px);
}

.number-target {
    transition: all 0.4s ease;
}

.method-card.is-active .number-target,
.method-card:hover .number-target {
    background-color: #f97316;
    color: white;
    border-color: #f97316;
    transform: scale(1.2);
    box-shadow: 0 0 15px rgba(249, 115, 22, 0.6);
}