/* Farm onboarding showcase guide */

.farm-guide-root {
    position: fixed;
    inset: 0;
    z-index: 20050;
    display: none;
    pointer-events: none;
}

.farm-guide-root--show {
    display: block;
}

.farm-guide-dim {
    position: fixed;
    z-index: 20050;
    background: rgba(4, 8, 18, 0.78);
    pointer-events: auto;
    box-sizing: border-box;
}

/* Transparent hole — clicks pass through to UI below */
.farm-guide-hole {
    position: fixed;
    z-index: 20050;
    pointer-events: none;
    box-sizing: border-box;
    border-radius: 14px;
}

.farm-guide-ring {
    position: fixed;
    z-index: 20051;
    pointer-events: none;
    box-sizing: border-box;
    border-radius: 14px;
    border: 2.5px solid rgba(251, 191, 36, 0.95);
    box-shadow:
        0 0 0 3px rgba(251, 191, 36, 0.22),
        0 0 22px rgba(251, 191, 36, 0.35),
        inset 0 0 0 1px rgba(255, 255, 255, 0.15);
    animation: farm-guide-ring-pulse 1.6s ease-in-out infinite;
}

@keyframes farm-guide-ring-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.2), 0 0 18px rgba(251, 191, 36, 0.3); }
    50% { box-shadow: 0 0 0 6px rgba(251, 191, 36, 0.32), 0 0 28px rgba(251, 191, 36, 0.45); }
}

.farm-guide-pointer {
    position: fixed;
    z-index: 20053;
    width: 72px;
    height: 72px;
    object-fit: contain;
    pointer-events: none;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.45));
    animation: farm-guide-pointer-bob 1.1s ease-in-out infinite;
    transform-origin: 70% 80%;
}

@keyframes farm-guide-pointer-bob {
    0%, 100% { transform: translate(0, 0) rotate(-8deg); }
    50% { transform: translate(-6px, -10px) rotate(-14deg); }
}

.farm-guide-card {
    position: fixed;
    z-index: 20054;
    pointer-events: auto;
    box-sizing: border-box;
    max-width: min(340px, calc(100vw - 24px));
    padding: 14px 16px 12px;
    border-radius: 16px;
    background:
        linear-gradient(160deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
    border: 1.5px solid rgba(251, 191, 36, 0.35);
    box-shadow:
        0 12px 36px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    color: #f8fafc;
}

.farm-guide-card__progress {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fbbf24;
    margin-bottom: 6px;
}

.farm-guide-card__title {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 6px;
    color: #fffbeb;
}

.farm-guide-card__body {
    font-size: 0.86rem;
    line-height: 1.5;
    color: #e2e8f0;
    margin-bottom: 12px;
}

.farm-guide-card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.farm-guide-btn {
    appearance: none;
    border: none;
    cursor: pointer;
    font-weight: 800;
    font-size: 0.82rem;
    border-radius: 10px;
    padding: 8px 14px;
    transition: transform 0.12s ease, filter 0.12s ease;
}

.farm-guide-btn:active {
    transform: translateY(1px);
}

.farm-guide-btn--ghost {
    background: rgba(255, 255, 255, 0.06);
    color: #cbd5e1;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.farm-guide-btn--primary {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #1c1917;
    box-shadow: 0 2px 0 rgba(146, 64, 14, 0.4);
}

.farm-guide-target {
    outline: none;
}

@media (max-width: 420px) {
    .farm-guide-pointer {
        width: 56px;
        height: 56px;
    }
    .farm-guide-card {
        padding: 12px 12px 10px;
    }
    .farm-guide-card__title {
        font-size: 0.98rem;
    }
    .farm-guide-card__body {
        font-size: 0.8rem;
    }
}
