@tailwind base;
@tailwind components;
@tailwind utilities;

/* ========================================================
   SOSIS GAME - ULTRA HIGH-END ANIMATED EMERALD & OBSIDIAN THEME
   ======================================================== */

:root {
    --mc-dark-bg: #040705;
    --mc-card-bg: #0a110c;
    --mc-card-hover: #101c14;
    --mc-border: #15291b;
    --mc-border-light: #20412b;
    --mc-green: #22c55e;
    --mc-green-glow: #4ade80;
    --mc-green-dark: #15803d;
    --mc-emerald: #10b981;
    --mc-gold: #eab308;
    --mc-diamond: #06b6d4;
    --mc-purple: #a855f7;
    --mc-red: #ef4444;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--mc-dark-bg);
    color: #e2e8f0;
    font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
    position: relative;
    min-height: 100vh;
}

/* ========================================================
   ANIMATED BACKGROUND SYSTEM (CANVAS + MESH ORBS + GRID)
   ======================================================== */

#animatedBgContainer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    background: radial-gradient(circle at 50% 0%, #08170c 0%, #040705 70%);
}

#mcAnimatedCanvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.85;
}

/* Ambient Glowing Orbs */
.ambient-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    pointer-events: none;
    opacity: 0.35;
    z-index: 0;
    will-change: transform, opacity;
}

.orb-1 {
    top: -10%;
    right: 15%;
    width: 450px;
    height: 450px;
    background: radial-gradient(circle, #22c55e 0%, #15803d 50%, transparent 80%);
    animation: orbFloat1 18s ease-in-out infinite alternate;
}

.orb-2 {
    bottom: 10%;
    left: 5%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, #10b981 0%, #064e3b 50%, transparent 80%);
    animation: orbFloat2 24s ease-in-out infinite alternate;
}

.orb-3 {
    top: 45%;
    left: 40%;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, #06b6d4 0%, #047857 50%, transparent 80%);
    opacity: 0.2;
    animation: orbFloat3 20s ease-in-out infinite alternate;
}

@keyframes orbFloat1 {
    0% { transform: translate(0, 0) scale(1); opacity: 0.3; }
    50% { transform: translate(-40px, 60px) scale(1.15); opacity: 0.45; }
    100% { transform: translate(50px, 30px) scale(0.95); opacity: 0.35; }
}

@keyframes orbFloat2 {
    0% { transform: translate(0, 0) scale(1); opacity: 0.25; }
    50% { transform: translate(50px, -70px) scale(1.2); opacity: 0.4; }
    100% { transform: translate(-30px, 40px) scale(1); opacity: 0.3; }
}

@keyframes orbFloat3 {
    0% { transform: translate(0, 0) scale(0.9); opacity: 0.15; }
    50% { transform: translate(-60px, -40px) scale(1.1); opacity: 0.3; }
    100% { transform: translate(40px, 50px) scale(1); opacity: 0.2; }
}

/* Subtle Cyberpunk Voxel Grid */
.cyber-grid-overlay {
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(to right, rgba(34, 197, 94, 0.04) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(34, 197, 94, 0.04) 1px, transparent 1px);
    background-size: 50px 50px;
    mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.8) 0%, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.8) 0%, transparent 80%);
    z-index: 1;
}

/* Content Container above background */
.site-content-layer {
    position: relative;
    z-index: 10;
}

/* Custom Minecraft Typography */
.mc-font {
    font-family: 'Press Start 2P', 'Chakra Petch', 'Vazirmatn', monospace;
    letter-spacing: -0.5px;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #040705;
}
::-webkit-scrollbar-thumb {
    background: #15291b;
    border-radius: 4px;
    border: 1px solid #22c55e44;
}
::-webkit-scrollbar-thumb:hover {
    background: #22c55e;
}

/* Colors & Backgrounds */
.bg-mc-dark { background-color: var(--mc-dark-bg); }
.bg-mc-card { background-color: var(--mc-card-bg); }
.border-mc-border { border-color: var(--mc-border); }
.border-mc-light { border-color: var(--mc-border-light); }

/* Navigation links */
.nav-link {
    color: #a7f3d0;
    position: relative;
    transition: all 0.25s ease;
}
.nav-link:hover, .nav-link.active {
    color: #ffffff;
    background-color: rgba(34, 197, 94, 0.15);
}
.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 20%;
    right: 20%;
    height: 3px;
    background: linear-gradient(90deg, #22c55e, #10b981);
    border-radius: 2px;
    box-shadow: 0 0 10px #22c55e;
}

/* Minecraft Pixel Green Buttons */
.btn-mc-green, .btn-mc-amber {
    background: linear-gradient(180deg, #22c55e 0%, #16a34a 50%, #15803d 100%);
    color: #041407;
    border: 2px solid #86efac;
    border-bottom: 4px solid #14532d;
    box-shadow: 0 4px 15px rgba(34, 197, 94, 0.35);
    transition: all 0.15s ease;
    cursor: pointer;
    font-weight: 900;
}
.btn-mc-green:hover, .btn-mc-amber:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(34, 197, 94, 0.55);
    background: linear-gradient(180deg, #4ade80 0%, #22c55e 50%, #16a34a 100%);
}
.btn-mc-green:active, .btn-mc-amber:active {
    transform: translateY(2px);
    border-bottom: 2px solid #14532d;
}

.btn-mc-emerald {
    background: linear-gradient(180deg, #10b981 0%, #059669 100%);
    color: #fff;
    border: 2px solid #34d399;
    border-bottom: 4px solid #047857;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.35);
    transition: all 0.15s ease;
    cursor: pointer;
    font-weight: 800;
}
.btn-mc-emerald:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.55);
}

.btn-mc-dark {
    background: #0a110c;
    border: 1px solid var(--mc-border);
    border-bottom: 3px solid #050a06;
    color: #86efac;
    transition: all 0.15s ease;
    cursor: pointer;
}
.btn-mc-dark:hover {
    background: #142217;
    border-color: #22c55e;
    color: #fff;
    box-shadow: 0 0 12px rgba(34, 197, 94, 0.2);
}

/* Rank & Product Cards */
.rank-card {
    position: relative;
    background: linear-gradient(145deg, #0a120d 0%, #050906 100%);
    border: 1px solid #15291b;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    backdrop-filter: blur(12px);
}
.rank-card:hover {
    transform: translateY(-6px);
    border-color: var(--rank-color, #22c55e);
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.9), 0 0 25px rgba(34, 197, 94, 0.2);
}

.rank-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--rank-color, #22c55e);
    box-shadow: 0 0 15px var(--rank-color, #22c55e);
}

/* Nairo-Inspired Category Grid Card */
.nairo-cat-card {
    background: linear-gradient(145deg, #0a130e 0%, #040805 100%);
    border: 1px solid #162a1c;
    border-radius: 18px;
    padding: 16px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    backdrop-filter: blur(10px);
}
.nairo-cat-card:hover {
    transform: translateY(-5px);
    border-color: #22c55e;
    box-shadow: 0 12px 30px -10px rgba(34, 197, 94, 0.3), inset 0 1px 1px rgba(74, 222, 128, 0.2);
}
.nairo-cat-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.15) 0%, transparent 70%);
    pointer-events: none;
}

/* Stat Chip */
.stat-chip {
    background: #060a07;
    border: 1px solid #16261a;
    border-radius: 10px;
    padding: 6px 10px;
    font-size: 11px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Feature Badge */
.hero-feature-card {
    background: linear-gradient(135deg, #0a140e 0%, #040705 100%);
    border: 1px solid #193320;
    border-radius: 24px;
    padding: 24px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    backdrop-filter: blur(12px);
}
.hero-feature-card:hover {
    border-color: #22c55e;
    box-shadow: 0 15px 40px -10px rgba(34, 197, 94, 0.25);
}

/* Blog / Guide Card */
.nairo-blog-card {
    background: linear-gradient(145deg, #0a120d 0%, #050906 100%);
    border: 1px solid #15291b;
    border-radius: 18px;
    overflow: hidden;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}
.nairo-blog-card:hover {
    transform: translateY(-4px);
    border-color: #22c55e;
    box-shadow: 0 12px 30px -10px rgba(34, 197, 94, 0.2);
}

/* Keyframe animations */
@keyframes marquee {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

.animate-marquee {
    display: inline-block;
    animation: marquee 25s linear infinite;
}
.marquee-wrapper:hover .animate-marquee {
    animation-play-state: paused;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-slide-up {
    animation: slideUp 0.3s ease-out forwards;
}

/* Drag & Drop Upload Zone */
.dropzone-box {
    border: 2px dashed #20412b;
    border-radius: 16px;
    background: #070d08;
    transition: all 0.25s ease;
}
.dropzone-box.dragover, .dropzone-box:hover {
    border-color: #22c55e;
    background: #0f1c12;
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.2);
}

.container {
    max-width: 1280px;
}
