@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

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

html { scroll-padding-top: 88px; }

html.modal-open { overflow: hidden; }

.glass-panel {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.glass-card {
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.12);
}

.glass-tile {
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.glass-tile:hover {
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
    transform: translateY(-1px);
}

.glass-disabled {
    background: rgba(245, 245, 245, 0.55);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(229, 231, 235, 0.9);
}

.reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 600ms ease, transform 600ms ease;
    will-change: opacity, transform;
}

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

.nav-link-active {
    color: #165DFF;
    box-shadow: inset 0 -2px 0 rgba(22, 93, 255, 0.35);
}

.toast {
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform: translate(-50%, 16px);
    opacity: 0;
    pointer-events: none;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(17, 24, 39, 0.78);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    transition: opacity 180ms ease, transform 180ms ease;
    z-index: 60;
}

.toast.show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.download-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 80;
}

.download-modal.open { display: flex; }

.download-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.download-card {
    position: relative;
    opacity: 0;
    --download-card-offset-y: -12px;
    transform: perspective(900px) translateY(calc(10px + var(--download-card-offset-y))) rotateX(14deg) rotateZ(-6deg);
    transform-origin: center;
    will-change: transform, opacity;
}

.download-modal.open .download-card {
    animation: downloadCardIn 520ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.download-modal.closing .download-card {
    animation: downloadCardOut 220ms ease forwards;
}

@keyframes downloadCardIn {
    0% { opacity: 0; transform: perspective(900px) translateY(calc(10px + var(--download-card-offset-y))) rotateX(14deg) rotateZ(-6deg); }
    60% { opacity: 1; }
    100% { opacity: 1; transform: perspective(900px) translateY(var(--download-card-offset-y)) rotateX(0) rotateZ(0); }
}

@keyframes downloadCardOut {
    0% { opacity: 1; transform: perspective(900px) translateY(var(--download-card-offset-y)) rotateX(0) rotateZ(0); }
    100% { opacity: 0; transform: perspective(900px) translateY(calc(6px + var(--download-card-offset-y))) rotateX(6deg) rotateZ(2deg); }
}

.backtop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 60;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 180ms ease, transform 180ms ease;
}

.backtop.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.faq-item {
    cursor: pointer;
    user-select: none;
}

.faq-answer {
    margin-top: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 260ms ease, opacity 220ms ease;
}

.faq-item.open .faq-answer {
    margin-top: 12px;
    max-height: 260px;
    opacity: 1;
}

.faq-chevron {
    transition: transform 220ms ease;
}

.faq-item.open .faq-chevron {
    transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
    .reveal, .reveal.reveal-in, .glass-tile:hover, .toast, .backtop, .faq-answer, .faq-chevron, .download-card {
        transition: none !important;
        transform: none !important;
    }
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #a8a8a8; }

.streaming-grid {
    background-image: linear-gradient(#e5e7eb 1px, transparent 1px),
    linear-gradient(90deg, #e5e7eb 1px, transparent 1px);
    background-size: 20px 20px;
}
