/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&family=JetBrains+Mono:wght@400;500&family=Anta&display=swap');

/* Grid Background */
.bg-grid {
    background-size: 60px 60px;
    background-image: 
        linear-gradient(to right, #151515 1px, transparent 1px),
        linear-gradient(to bottom, #151515 1px, transparent 1px);
    position: fixed;
    inset: 0;
    z-index: -1;
    opacity: 0.5;
    pointer-events: none;
}

/* Manifesto Overlay */
#manifesto-overlay {
    transform: translateY(100%);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
#manifesto-overlay.active {
    transform: translateY(0);
}

/* Navigation Background on Scroll */
#main-nav.scrolled {
    background: #050505;
}

/* Join Form Modal */
#join-modal {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
#join-modal.active {
    opacity: 1;
    pointer-events: auto;
}

/* Term Tooltips */
.term {
    border-bottom: 1px dashed #00F0FF;
    cursor: help;
    position: relative;
}
.term:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #111;
    border: 1px solid #222;
    color: #ccc;
    font-size: 0.75rem;
    padding: 0.75rem 1rem;
    width: 280px;
    text-align: left;
    margin-bottom: 8px;
    z-index: 100;
    line-height: 1.5;
}
