@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Vazirmatn:wght@400;500;700;800;900&display=swap');

:root {
    --c-black: #060c10;
    --c-deep: #0b1820;
    --c-surface: #11242b;
    --c-line: rgba(140, 210, 180, .1);
    --c-lime: #d4ed6e;
    --c-mint: #7ee6c0;
    --c-blue: #56ccf2;
    --c-muted: #7a9e95;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
    background: var(--c-black);
    color: #d6eee0;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    overflow-x: hidden;
    min-height: 100vh;
}

.page {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ── Topbar ─────────────────────────────── */
.topbar {
    position: relative;
    z-index: 10;
    height: 60px;
    border-bottom: 1px solid var(--c-line);
    display: flex;
    align-items: center;
}
.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #d6eee0;
    text-decoration: none;
    font-weight: 800;
    font-size: 1.05rem;
}
.brand img {
    background: var(--c-lime);
    border-radius: 50%;
    padding: 2px;
}
.brand:hover { color: var(--c-lime); }
.topbar-label {
    font-family: 'DM Mono', monospace;
    font-size: .68rem;
    color: var(--c-muted);
    letter-spacing: .06em;
}
.btn-enter {
    background: var(--c-lime);
    color: var(--c-black);
    border: none;
    font-weight: 700;
    font-size: .78rem;
    padding: 6px 16px;
    border-radius: 4px;
    text-decoration: none;
}
.btn-enter:hover {
    background: #e2f59a;
    color: var(--c-black);
}

/* ── Terrain background ─────────────────── */
.terrain {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.terrain-layer {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
}
.terrain-layer--1 {
    width: 600px; height: 600px;
    top: -15%; right: -10%;
    background: radial-gradient(circle, rgba(86, 204, 242, .08) 0%, transparent 70%);
}
.terrain-layer--2 {
    width: 500px; height: 500px;
    bottom: -10%; left: -5%;
    background: radial-gradient(circle, rgba(126, 230, 192, .06) 0%, transparent 70%);
}
.terrain-layer--3 {
    width: 350px; height: 350px;
    top: 35%; left: 30%;
    background: radial-gradient(circle, rgba(212, 237, 110, .04) 0%, transparent 70%);
}
.globe-grid {
    position: absolute;
    width: 280%;
    height: 280%;
    top: -60%;
    right: -90%;
}
.terrain-scan {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--c-lime), transparent);
    opacity: .15;
    animation: scanDown 7s ease-in-out infinite;
}
@keyframes scanDown {
    0%, 100% { top: -2%; opacity: 0; }
    10% { opacity: .15; }
    90% { opacity: .15; }
    98% { top: 102%; opacity: 0; }
}

/* ── Hero ───────────────────────────────── */
.hero {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    align-items: center;
    padding: 80px 0 120px;
}
.hero-content { max-width: 600px; }
.coord-tag {
    display: inline-block;
    font-family: 'DM Mono', monospace;
    font-size: .68rem;
    color: var(--c-lime);
    border: 1px solid rgba(212, 237, 110, .25);
    padding: 4px 10px;
    border-radius: 2px;
    margin-bottom: 28px;
    letter-spacing: .08em;
    direction: ltr;
}
h1 {
    font-size: clamp(2.5rem, 5.5vw, 4.2rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -.06em;
    margin: 0 0 20px;
}
h1 span, .hl { color: var(--c-lime); }
.hero p {
    color: var(--c-muted);
    font-size: .95rem;
    line-height: 2;
    max-width: 400px;
}

/* ── Data cards ─────────────────────────── */
.data-cards {
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.data-card {
    background: rgba(17, 36, 43, .7);
    backdrop-filter: blur(16px);
    border: 1px solid var(--c-line);
    border-radius: 6px;
    padding: 14px 18px;
    width: 220px;
    transition: border-color .2s, transform .2s;
}
.data-card:hover {
    border-color: var(--c-lime);
    transform: translateX(-4px);
}
.data-card-icon {
    font-size: 1.1rem;
    color: var(--c-lime);
    margin-bottom: 6px;
    line-height: 1;
}
.data-card-title {
    font-size: .82rem;
    font-weight: 700;
    margin-bottom: 3px;
}
.data-card-meta {
    font-family: 'DM Mono', monospace;
    font-size: .58rem;
    color: var(--c-muted);
    letter-spacing: .04em;
}

/* ── Bottom strip ───────────────────────── */
.bottom-strip {
    position: relative;
    z-index: 1;
    border-top: 1px solid var(--c-line);
    height: 46px;
    font-family: 'DM Mono', monospace;
    font-size: .65rem;
    color: var(--c-muted);
    display: flex;
    align-items: center;
}
.bottom-strip-dot {
    width: 5px; height: 5px;
    background: var(--c-lime);
    border-radius: 50%;
    opacity: .6;
}

/* ── Responsive ─────────────────────────── */
@media (max-width: 991px) {
    .data-cards {
        position: relative;
        top: auto; left: auto; transform: none;
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: 40px;
    }
    .data-card { width: auto; flex: 1; min-width: 160px; }
}
@media (max-width: 575px) {
    .data-cards { flex-direction: column; }
    .data-card { width: 100%; }
    .topbar-label { display: none; }
    .hero { padding: 50px 0 80px; }
}
