:root {
    --background: 210 11% 4%;
    --foreground: 210 11% 93%;
    --primary: 165 100% 42%;
    --secondary: 217 91% 60%;
    --accent-warning: 10 84% 62%;
    --accent-success: 130 56% 72%;
    --dark-800: 220 13% 11%;
    --dark-700: 220 13% 18%;
    --dark-600: 217 19% 27%;
    --dark-400: 217 12% 63%;
    --dark-300: 217 12% 84%;
}

body {
    font-family: 'Cairo', sans-serif;
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    direction: rtl;
}

.bg-dark-900 { background-color: hsl(var(--background)); }
.bg-dark-800 { background-color: hsl(var(--dark-800)); }
.bg-dark-700 { background-color: hsl(var(--dark-700)); }
.bg-dark-600 { background-color: hsl(var(--dark-600)); }
.text-dark-100 { color: hsl(var(--foreground)); }
.text-dark-400 { color: hsl(var(--dark-400)); }
.text-dark-300 { color: hsl(var(--dark-300)); }
.text-accent-primary { color: hsl(var(--primary)); }
.text-accent-secondary { color: hsl(var(--secondary)); }
.text-accent-warning { color: hsl(var(--accent-warning)); }
.text-accent-success { color: hsl(var(--accent-success)); }
.border-dark-600 { border-color: hsl(var(--dark-600)); }
.border-accent-primary { border-color: hsl(var(--primary)); }

.btn-primary {
    background-color: hsl(var(--primary));
    color: hsl(var(--background));
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: none;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.2s;
}

.btn-primary:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.btn-secondary {
    background-color: hsl(var(--dark-700));
    color: hsl(var(--foreground));
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid hsl(var(--dark-600));
    cursor: pointer;
    transition: all 0.2s;
}

.btn-secondary:hover {
    background-color: hsl(var(--dark-600));
}

.btn-warning {
    background-color: hsl(var(--accent-warning)) !important;
    color: white !important;
}

.btn-warning:hover {
    opacity: 0.9;
}

.card {
    background-color: hsl(var(--dark-800));
    border: 1px solid hsl(var(--dark-600));
    border-radius: 0.75rem;
    padding: 1.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.tool-btn {
    padding: 1rem;
    border: 1px solid hsl(var(--dark-600));
    border-radius: 0.5rem;
    background-color: hsl(var(--dark-800));
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.tool-btn:hover {
    border-color: hsl(var(--primary));
    background-color: hsl(var(--dark-700));
    transform: translateY(-2px);
}

.tool-btn.active {
    border-color: hsl(var(--primary));
    background-color: hsl(var(--dark-700));
    box-shadow: 0 0 0 2px hsla(var(--primary), 0.3);
}

textarea, input {
    background-color: hsl(var(--background));
    border: 1px solid hsl(var(--dark-600));
    border-radius: 0.5rem;
    padding: 0.75rem;
    color: hsl(var(--foreground));
    width: 100%;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    line-height: 1.5;
    resize: vertical;
}

textarea:focus, input:focus {
    outline: none;
    border-color: hsl(var(--primary));
    box-shadow: 0 0 0 2px hsla(var(--primary), 0.2);
}

.result-display {
    background-color: hsl(var(--background));
    border: 1px solid hsl(var(--dark-600));
    border-radius: 0.5rem;
    padding: 1rem;
    min-height: 16rem;
    max-height: 24rem;
    overflow-y: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

.success-result {
    color: hsl(var(--accent-success));
}

.error-result {
    color: hsl(var(--accent-warning));
}

.config-section {
    background-color: hsl(var(--dark-700));
    border-radius: 0.5rem;
    padding: 1rem;
    margin: 0.5rem 0;
    border-right: 4px solid;
}

.config-basic { border-right-color: hsl(var(--primary)); }
.config-trojan { border-right-color: hsl(var(--secondary)); }
.config-encrypted { border-right-color: hsl(var(--accent-warning)); }
.config-structure { border-right-color: #9333ea; }

.config-item {
    margin: 0.5rem 0;
    padding: 0.25rem 0;
}

.config-label {
    font-weight: 600;
    color: hsl(var(--dark-300));
}

.config-value {
    font-weight: 700;
    margin-right: 0.5rem;
}

.animate-pulse-glow {
    animation: pulse-glow 2s infinite;
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 5px hsla(var(--primary), 0.3); }
    50% { box-shadow: 0 0 20px hsla(var(--primary), 0.6); }
}

.loading {
    opacity: 0.7;
    pointer-events: none;
}

/* Success/Error indicators */
.status-success { color: hsl(var(--accent-success)); }
.status-error { color: hsl(var(--accent-warning)); }
.status-waiting { color: hsl(var(--dark-400)); }

/* Responsive improvements */
@media (max-width: 768px) {
    .grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .lg\\:grid-cols-2 {
        grid-template-columns: 1fr;
    }
    
    .card {
        padding: 1rem;
    }
    
    .tool-btn {
        padding: 0.75rem;
    }
}
