@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800;900&display=swap');

*, ::before, ::after {
    box-sizing: border-box;
}

html, body { 
    max-width: 100vw;
    overflow-x: hidden;
    background: linear-gradient(135deg, #e2d2b4 0%, #f5e6c8 50%, #d8c39d 100%);
    color: #4a3b2c; 
    font-family: 'Plus Jakarta Sans', sans-serif;
    min-height: 100vh;
    position: relative;
    /* BLOKIR SELEKSI TEKS */
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

/* KHUSUS INPUT TETAP BISA DIKETIK & DIPILIH */
input, textarea {
    -webkit-user-select: auto !important;
    -moz-user-select: auto !important;
    -ms-user-select: auto !important;
    user-select: auto !important;
}

/* DILARANG DOWNLOAD ATAU DRAG GAMBAR */
img, .no-download {
    -webkit-user-drag: none !important;
    -khtml-user-drag: none !important;
    -moz-user-drag: none !important;
    -o-user-drag: none !important;
    user-drag: none !important;
    pointer-events: none !important;
}

/* GLASSMORPHISM CARDS & MODALS */
.glass-card {
    background: rgba(255, 253, 245, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(255, 255, 255, 0.75);
    box-shadow: 0 8px 20px -5px rgba(92, 74, 56, 0.12);
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.glass-header {
    background: rgba(255, 253, 245, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 4px 15px -5px rgba(92, 74, 56, 0.12);
}

.glass-card:hover {
    transform: translateY(-2px);
}

/* LIQUID GLASS BUTTONS */
.glass-btn {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.85);
    transition: transform 0.15s ease;
}

.glass-btn:active {
    transform: scale(0.92);
}

/* KATEGORI & LEVEL AKTIF */
.active-kat { 
    background: linear-gradient(135deg, #ff9800 0%, #e65100 100%) !important; 
    color: #ffffff !important; 
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 4px 14px rgba(230, 81, 0, 0.35) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-clip: padding-box;
}

.active-lvl {
    background: linear-gradient(135deg, #7cb342 0%, #33691e 100%) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 4px 14px rgba(51, 105, 30, 0.35) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-clip: padding-box;
}

/* EFEK MUSIM GUGUR */
#leaf-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
    overflow: hidden;
}

.leaf {
    position: absolute;
    top: -10%;
    user-select: none;
    pointer-events: none;
    animation: fall linear infinite;
    will-change: transform;
}

@keyframes fall {
    0% { transform: translateY(0vh) rotate(0deg) translateX(0px); opacity: 1; }
    50% { transform: translateY(50vh) rotate(180deg) translateX(40px); }
    100% { transform: translateY(105vh) rotate(360deg) translateX(-20px); opacity: 0.2; }
}

.modal-animate {
    animation: modalPop 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes modalPop {
    0% { opacity: 0; transform: scale(0.9) translateY(10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: rgba(0,0,0,0.05); }
::-webkit-scrollbar-thumb { background: rgba(140, 120, 92, 0.4); border-radius: 10px; }
